AIFT Design
Components

DatePicker

날짜 선택 컴포넌트

날짜 선택 컴포넌트는 사용자가 캘린더에서 날짜를 선택할 수 있는 폼 요소입니다.

기본 사용법

'use client';import { useState } from 'react';import { DatePicker } from '@aift/ui/DatePicker';export default function Preview() {  const [date, setDate] = useState<Date | undefined>(undefined);  return (    <div className="max-w-md space-y-4">      <DatePicker date={date} onDateChange={setDate} />    </div>  );}

Placeholder

DatePicker에 플레이스홀더를 설정할 수 있습니다.

'use client';import { useState } from 'react';import { DatePicker } from '@aift/ui/DatePicker';export default function Placeholder() {  const [date1, setDate1] = useState<Date | undefined>(undefined);  const [date2, setDate2] = useState<Date | undefined>(undefined);  return (    <div className="max-w-md space-y-4">      <DatePicker        date={date1}        onDateChange={setDate1}        placeholder="날짜를 선택하세요"      />      <DatePicker        date={date2}        onDateChange={setDate2}        placeholder="시작일 선택"      />    </div>  );}

Format

날짜 표시 형식을 설정할 수 있습니다. dayjs 형식을 사용합니다.

'use client';import { useState } from 'react';import { DatePicker } from '@aift/ui/DatePicker';export default function Format() {  const [date, setDate] = useState<Date | undefined>(new Date());  return (    <div className="max-w-md space-y-4">      <DatePicker date={date} onDateChange={setDate} format="YYYY-MM-DD" />      <DatePicker        date={date}        onDateChange={setDate}        format="YYYY년 MM월 DD일"      />      <DatePicker date={date} onDateChange={setDate} format="MM/DD/YYYY" />    </div>  );}

Disabled

DatePicker를 비활성화할 수 있습니다.

'use client';import { useState } from 'react';import { DatePicker } from '@aift/ui/DatePicker';export default function Disabled() {  const [date, setDate] = useState<Date | undefined>(new Date());  return (    <div className="max-w-md space-y-4">      <DatePicker date={date} onDateChange={setDate} />      <DatePicker date={date} onDateChange={setDate} disabled />    </div>  );}

Sizes

트리거 버튼의 크기와 둥근 모서리를 설정할 수 있습니다.

xsmall

small

medium

large

xlarge

'use client';import { useState } from 'react';import { DatePicker } from '@aift/ui/DatePicker';export default function Sizes() {  const [dateXsmall, setDateXsmall] = useState<Date | undefined>(undefined);  const [dateSmall, setDateSmall] = useState<Date | undefined>(undefined);  const [dateMedium, setDateMedium] = useState<Date | undefined>(undefined);  const [dateLarge, setDateLarge] = useState<Date | undefined>(undefined);  const [dateXlarge, setDateXlarge] = useState<Date | undefined>(undefined);  return (    <div className="max-w-md space-y-6">      <div>        <p className="text-sm text-neutral-60 mb-3">xsmall</p>        <DatePicker          size="xsmall"          date={dateXsmall}          onDateChange={setDateXsmall}          placeholder="날짜 선택"        />      </div>      <div>        <p className="text-sm text-neutral-60 mb-3">small</p>        <DatePicker          size="small"          date={dateSmall}          onDateChange={setDateSmall}          placeholder="날짜 선택"        />      </div>      <div>        <p className="text-sm text-neutral-60 mb-3">medium</p>        <DatePicker          size="medium"          date={dateMedium}          onDateChange={setDateMedium}          placeholder="날짜 선택"        />      </div>      <div>        <p className="text-sm text-neutral-60 mb-3">large</p>        <DatePicker          size="large"          date={dateLarge}          onDateChange={setDateLarge}          placeholder="날짜 선택"        />      </div>      <div>        <p className="text-sm text-neutral-60 mb-3">xlarge</p>        <DatePicker          size="xlarge"          date={dateXlarge}          onDateChange={setDateXlarge}          placeholder="날짜 선택"        />      </div>    </div>  );}

Props

PropTypeDefaultDescription
dateDate-선택된 날짜
onDateChange(date: Date | undefined) => void-날짜 변경 핸들러
placeholderstring'0000/00/00'플레이스홀더 텍스트
disabledbooleanfalse비활성화 여부
classNamestring-추가 CSS 클래스
formatstring'YYYY/MM/DD'날짜 표시 형식 (dayjs 형식)
size'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'extra''medium'트리거 버튼의 크기 (높이, 둥근 모서리)

On this page