styled-base-modal v1.0.5
Modal Module
페이먼츠 커스텀 훅
- package 이름 : styled-base-modal
- Writer : 헤일리
Installation
npm install styled-base-modalStoryBook
Main Modal Props
children: 모달안에 들어갈 자식 요소
isOpen: 모달이 현재 열렸는지 닫혔는지를 알려주는 state
position:center|bottom; * optional: 미지정시 default로centercenter :
size:small|medium|large; * optional: 미지정시 default로medium
maxWidth : 80%bottom : default width : 100%
onClose: 모달을 닫는 메서드 함수
Children Components
(1) Title : 모달의 제목
children: 제목으로 넣고 싶은 컨텐츠
<Modal.Title> 제목</Modal.Title>(2) CloseIcon : 모달 상단 우측의 x 버튼
안에 아이콘을 넣으면 닫기 버튼으로 사용할 수 있습니다.
onClick: 사용자 정의 닫기 이벤트 핸들러
<Modal.CloseIcon onClick={handleClose}>
<DeleteIcon />
</Modal.CloseIcon>(3) Content : 모달의 내용
children: 컨텐츠 내부에 넣고 싶은 컨텐츠
<Modal.Content>[필수] 개인정보 수집약관 동의</Modal.Content>(4) ConfirmButton : 모달의 확인 버튼
onConfirm에 확인시 실행될 함수를 연결할 수 있습니다.
label: 해당 버튼에 들어갈 텍스트
size:small|medium|large; * optional: 미지정시 default로medium
color: 버튼 색상
options :dark|light
default 로dark
onConfirm: 확인 버튼 클릭시 실행될 사용자 정의 이벤트 핸들러
...rest: 다른 입력 태그 props
<Modal.ConfirmButton label="동의" onConfirm={handleConfirm} />(5) CloseButton : 모달의 닫기 버튼
label: 해당 버튼에 들어갈 텍스트
size:small|medium|large; * optional: 미지정시 default로medium
color: 버튼 색상
options :dark|light
default 로light
onClose: 닫기 버튼 클릭시 실행될 사용자 정의 이벤트 핸들러
...rest: 다른 입력 태그 props
<Modal.CloseButton label="닫기" onClose={handleClose} />(6) PromptInput : 모달내 입력창
value: 입력창에 입력된 value
placeholder: 입력창 내부placeholder;
onChange: 내부 value 변경될 시 실행될 사용자 정의 이벤트 핸들러
...rest: 다른 입력 태그 props
<Modal.CloseButton label="닫기" onClose={handleClose} />Usage
<Modal isOpen={isModalOpen} position="center" onClose={handleClose}>
<Modal.Title> 약관에 동의해 주세요</Modal.Title>
<Modal.CloseIcon onClick={handleClose}>
<DeleteIcon />
</Modal.CloseIcon>
<Modal.Content>[필수] 개인정보 수집약관 동의</Modal.Content>
<Modal.ConfirmButton label="동의" onConfirm={handleConfirm} />
<Modal.CloseButton label="닫기" onClose={handleClose} />
</Modal>