-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1단계 - 페이먼츠 모듈] 초코(강다빈) 미션 제출합니다. #21
Merged
Merged
Changes from all commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
3cc2ccd
docs : 기능 구현 목록 작성
0jenn0 17e417a
docs: 기능 구현 목록에 구현 목록 추가
0jenn0 e533b22
chore: prettier 설정
0jenn0 5251817
chore: emotion 라이브버리 peerDependency 설정
0jenn0 405ee16
feat: 사각형 버튼 컴포넌트 구현
0jenn0 b96d34c
feat: 모달 닫기 버튼 컴포넌트 구현
0jenn0 a0323dc
feat: 모달 컴포넌트 구현
0jenn0 f987e87
feat: useModal 커스텀 훅 구현
0jenn0 2d8fafc
feat: useModal 사용
0jenn0 6846ded
docs: 구현 완료 사항 체크
0jenn0 c79dcc4
style: Button,Modal 컴포넌트 css 수정
0jenn0 dadfef9
feat: Modal 컴포넌트 스토리북 구현
0jenn0 0b73cfe
chore: 빌드 및 배포 세팅
0jenn0 8926ef8
chore: 라이브러리명 변경 및 리드미 작성
0jenn0 13a9d0c
Refactor: Modal 라이브러리 재설치
0jenn0 d3fe47c
docs: 구현 목록 완료 사항 체크
0jenn0 565d1a8
feat: 카드 소유자 이름 유효성 검사 커스텀 훅 구현
0jenn0 a18eb77
feat: 카드 발급사 유효성 검사 커스텀 훅 구현
0jenn0 4acc610
feat: 카드 번호 유효성 검사 커스텀 훅 구현
0jenn0 9f486ec
feat: 카드 CVC 유효성 검사 커스텀 훅 구현
0jenn0 09b6a6b
feat: 카드 유효기간 유효성 검사 커스텀 훅 구현
0jenn0 ce7cb80
feat: 카드 비밀번호 유효성 검사 커스텀 훅 구현
0jenn0 3714097
feat: 유효성 커스텀 훅 에러 메시지 상수화
0jenn0 496a5c0
feat: 유효성 검사 커스텀훅 사용
0jenn0 53a56ad
feat: 구현 목록 완료 사항 체크
0jenn0 be42793
docs: 라이브러리명 변경 및 리드미 작성
0jenn0 4de19d5
feat: payments hook 라이브러리 설치 및 사용
0jenn0 1ccae80
chore: 스토리북 배포
0jenn0 fcda754
docs : README.md 업데이트
00kang 7c6fa5b
docs: Modal 라이브러리 리드미 수정
0jenn0 4c65fad
Merge branch 'step1' of https://github.com/0jenn0/react-modules into …
00kang 35548c7
style : 줄바꿈 수정, switch case로 묶기
00kang f06671a
refactor: closeButton의 children 타입 더 정확하게 명시
00kang 8ba1345
refactor : 모달의 뒷배경 이름 ModalDim으로 변경
00kang 9d6604f
refactor : 불필요한 함수 래퍼 삭제
00kang c8c004c
refactor : React.FC를 사용하지 않고 함수형 컴포넌트로 수정
00kang 32567bd
refactor : 에러 메시지 NO_INPUT 문구 수정
00kang 716ed65
refactor : 주석 삭제 및 카드이름 문자열배열로 수정
00kang a81f788
refactor : prop, return 문서 순서 수정
00kang e1a0aa0
refacotr : useModal 훅의 리턴값에서 모달컴포넌트 제거
00kang dcedb7c
refactor : choco-modal-component로 재배포 및 App.tsx에서 사용
00kang e849ac6
refactor : choco-payments-validation-hooks로 재배포 및 App.tsx에서 사용
00kang e6a1ffe
refactor : 모달 children 컨텐츠의 스타일 적용
00kang 9ef92fb
fix : 카드사 선택 버튼 경우의 수에 맞게 수정
00kang 7fc6e50
refactor : 수정된 모달 컴포넌트에 맞게 스토리북 수정
00kang 56c2b84
fix : useCardHolder 커스텀 훅 유효성 검사 수정
00kang d0428ea
feat : useCardHolder 커스텀 훅 테스트 코드 구현
00kang c113984
feat : useCardIssuer 커스텀 훅 테스트 코드 구현
00kang 6561ade
feat : useCardNumber 커스텀 훅 테스트 코드 구현
00kang 1a522ce
feat : useCVC 커스텀 훅 테스트 코드 구현
00kang ed644d5
feat : useExpiryDate 커스텀 훅 테스트 코드 구현
00kang 9476785
feat : usePassword 커스텀 훅 테스트 코드 구현
00kang 394f548
feat : choco-payments-validation-hooks 라이브러리 버전 업데이트
00kang 71aca54
docs : 라이브러리 README.md 수정
00kang 050ae77
feat : choco-payments-validation-hooks 라이브러리 업데이트
00kang 960d328
feat : choco-modal-component 라이브러리 업데이트
00kang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,52 @@ | ||
# react-modules | ||
|
||
### Modal component | ||
|
||
- [x] 모달 props | ||
- [x] 모달 위치 | ||
- [x] 모달 타이틀 | ||
- [x] 모달 내용 | ||
- [x] 모달 닫는 방식 | ||
- [x] prop 이름 : closeButtonPosition : 'top' | 'bottom' | ||
- [x] 모달 event | ||
- [x] 열기 | ||
- [x] 닫기 - deem 눌러도 닫혀야된다. | ||
- [ ] 확인 - optional | ||
- [x] npm으로 배포하기 | ||
- [x] 설치 후 import해서 사용하기 | ||
|
||
### Payment custom hook | ||
|
||
- 유효성 검사 결과와 에러 정보를 반환한다. | ||
|
||
- [x] useCardNumber | ||
- [x] 숫자여야한다. | ||
- [x] 16자리여야한다. | ||
- [x] useCardHolder | ||
- [x] 영어 대문자+공백만 입력가능하다. | ||
- [x] 공백 포함 15자까지만 가능하다. | ||
- [x] useExpiryDate | ||
- [x] 월은 1~12만 입력 가능하다. (월도 두자리로 입력해달라는 description 추가 ) | ||
- [x] 년도 2자리 숫자만 입력 가능하다. | ||
- [x] 년,월 조합을 봤을 때 오늘보다 과거이면 에러를 낸다. | ||
- [x] useCVC | ||
- [x] 3자리 숫자만 입력 가능하다. | ||
- [x] useCardType | ||
- [x] 선택한 값이 있는지 검증한다. | ||
- [x] usePassword | ||
- [x] 2자리 숫자만 입력 가능하다. | ||
- [x] npm으로 배포하기 | ||
- [x] 설치 후 import해서 사용하기 | ||
|
||
### Storybook | ||
|
||
- [x] 모달 위치에 대한 테스트 시나리오 | ||
- [x] 모달 내용에 대한 테스트 시나리오 | ||
- [x] 모달 이벤트 핸들러에 대한 테스트 시나리오 | ||
|
||
### RTL | ||
|
||
- [ ] 페이먼트 유효성 검사 커스텀 훅의 동작을 검증 | ||
- [ ] 다양한 입력 값에 대한 커스텀 훅의 결과 | ||
- [ ] 유효성 통과하는 경우 | ||
- [ ] 유효성 통과하지 않는 경우 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"printWidth": 100, | ||
"tabWidth": 2, | ||
"trailingComma": "es5", | ||
"semi": true, | ||
"singleQuote": false, | ||
"bracketSpacing": true, | ||
"arrowParens": "always", | ||
"endOfLine": "auto" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,63 @@ | ||
# Button Module | ||
# choco-modal-component | ||
|
||
## Install | ||
|
||
이 라이브러리를 사용하기 위해서는 다음 패키지를 설치해야 합니다: | ||
|
||
```bash | ||
npm install choco-modal-component | ||
``` | ||
|
||
## Usage | ||
|
||
React 컴포넌트에서 모달 라이브러리를 사용하려면 다음 단계를 따르세요 | ||
|
||
```jsx | ||
import { useModal, Modal } from "choco-modal-component"; | ||
|
||
function App() { | ||
const { isOpen, openModal, closeModal } = useModal(); | ||
|
||
return ( | ||
<> | ||
<button onClick={openModal}>Open Modal</button> | ||
|
||
<Modal | ||
modalPosition="bottom" | ||
title="모달의 제목" | ||
closeButtonPosition="top" | ||
isOpen={isOpen} | ||
onClose={closeModal} | ||
> | ||
{/* 모달 내용 */} | ||
</Modal> | ||
</> | ||
); | ||
} | ||
|
||
export default App; | ||
``` | ||
|
||
## API | ||
|
||
### ModalComponent | ||
|
||
`ModalComponent`는 다음 props를 받습니다: | ||
|
||
| props | description | | ||
| ---------------------------- | --------------------------------------------------------------- | | ||
| `modalPosition` (필수) | 모달의 위치입니다. 가능한 값은 `"center"`와 `"bottom"`입니다. | | ||
| `title` (필수) | 모달의 제목입니다. | | ||
| `children` (필수) | 모달의 내용입니다. | | ||
| `closeButtonPosition` (필수) | 닫기 버튼의 위치입니다. 가능한 값은 `"top"`과 `"bottom"`입니다. | | ||
|
||
### useModal | ||
|
||
`useModal` 훅은 다음 속성을 가진 객체를 반환합니다: | ||
|
||
| props | description | | ||
| ---------------- | --------------------------------------------------------- | | ||
| `isOpen` | 모달이 현재 열려 있는지 여부를 나타내는 boolean 값입니다. | | ||
| `openModal` | 모달을 열기 위한 함수입니다. | | ||
| `closeModal` | 모달을 닫기 위한 함수입니다. | | ||
| `ModalComponent` | 지정된 props로 모달을 렌더링하는 컴포넌트입니다. | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
declare module "*.png" { | ||
const value: string; | ||
export default value; | ||
} |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return > prop 순으로 문서를 구성하신 이유가 있나요? input > output의 개념이라면 prop > return 이 더 자연스럽지 않을까 하는 생각이 들어서요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
input ouput 개념으로 생각해보니 이렇게 문서를 구성하는 게 더 자연스러울 것 같네요. 이건 생각하지 못한 부분이라 짚어주셔서 감사합니다.
추가로 라이브러리 문서화에서 꼭 챙겨야 할 포인트 혹은 고려할 점이 있을까요??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
문서화는 지금 정도만 해도 충분하다고 생각합니다! 보통 널리 쓰이는 라이브러리들은 이 라이브러리가 어떤 목표를 가지고 만들어졌고, 어떤 것을 중점적으로 다루고 있는지 정도도 추가해주는 것 같습니다! '가볍다'던지 '쓰기 쉽다'던지 컨셉 느낌으로요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 라이브러리의 목적을 나타내면 사용자에게 더 좋은 경험을 제공할 수 있겠군요! 추가해보도록 하겠습니다~