sales-frontend-design-system 0.0.137 → 0.0.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import * as react from 'react';
2
- import react__default, { HTMLAttributes, ReactNode, JSX, ComponentPropsWithRef, InputHTMLAttributes, LabelHTMLAttributes, PropsWithChildren, HtmlHTMLAttributes, MouseEvent as MouseEvent$1, KeyboardEvent, ElementType, ComponentPropsWithoutRef, Dispatch, SetStateAction } from 'react';
3
- import { PeriodType } from 'sales-frontend-utils';
2
+ import react__default, { HTMLAttributes, ReactNode, JSX, ComponentPropsWithRef, InputHTMLAttributes, LabelHTMLAttributes, PropsWithChildren, MouseEvent as MouseEvent$1, KeyboardEvent, ElementType, ComponentPropsWithoutRef, HtmlHTMLAttributes, Dispatch, SetStateAction } from 'react';
4
3
  import * as zustand from 'zustand';
4
+ import { PeriodType } from 'sales-frontend-utils';
5
+ import dayjs from 'dayjs';
5
6
 
6
7
  /**
7
8
  * Accordion 컴포넌트/훅 전반에서 사용하는 타입 정의
@@ -378,255 +379,6 @@ declare const useDropDown: (props?: UseDropDownProps) => {
378
379
  orientation: "portrait" | "landscape";
379
380
  };
380
381
 
381
- interface ComboBoxProps extends ComboBoxItemProps {
382
- rootProps?: ComboBoxBoxProps;
383
- }
384
- interface ComboBoxBoxProps extends ComponentPropsWithRef<'div'> {
385
- }
386
- interface ComboBoxItemProps extends Omit<ComponentPropsWithRef<'input'>, 'size'>, FieldControlContextProps {
387
- /** 사이즈 */
388
- size?: 'xsmall' | 'small' | 'medium' | 'large';
389
- /** 에러여부 */
390
- error?: boolean;
391
- /** 선택여부 */
392
- isSelected?: boolean;
393
- /** 아이콘 명 */
394
- icon?: 'arrow' | 'calendar' | 'search';
395
- /** 아이콘 클래스명 */
396
- iconClassName?: string;
397
- /** 클릭이벤트 */
398
- onClick?: (e: React.MouseEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>) => void;
399
- }
400
-
401
- /**
402
- * Combobox (버튼 모양의 Input)
403
- * ComboBox를 통해서 선택할 수 있는 UI를 호출하여 선택하도록 한다.
404
- * @param param0
405
- * @returns
406
- */
407
- declare const ComboBoxItem: ({ type, className, name, isSelected, icon, iconClassName, onClick, onKeyDown, children, validator, ...props }: ComboBoxItemProps) => react__default.JSX.Element;
408
- declare const ComboBox: {
409
- ({ children, rootProps, ...itemProps }: ComboBoxProps): react__default.JSX.Element;
410
- Box: ({ children, className, ...rest }: ComboBoxBoxProps) => react__default.JSX.Element;
411
- Item: ({ type, className, name, isSelected, icon, iconClassName, onClick, onKeyDown, children, validator, ...props }: ComboBoxItemProps) => react__default.JSX.Element;
412
- };
413
-
414
- /**
415
- * ComboBox 래퍼
416
- * @param param0
417
- * @returns
418
- */
419
- declare const ComboBoxBox: ({ children, className, ...rest }: ComboBoxBoxProps) => react.JSX.Element;
420
-
421
- type CalendarNavigationType = 'month-only' | 'year-and-month';
422
- type CalendarNavigationButton = 'nextMonth' | 'prevMonth' | 'nextYear' | 'prevYear';
423
- interface PeriodDate {
424
- /** 기간시작 날짜 */
425
- startDate?: Date;
426
- /** 기간종료 날짜 */
427
- endDate?: Date;
428
- }
429
- interface PeriodText {
430
- /** 기간시작 필드 값*/
431
- startDate?: string;
432
- /** 기간종료 필드 값 */
433
- endDate?: string;
434
- }
435
- interface DatePickerRange {
436
- /** 선택 가능한 최소 날짜 */
437
- min?: Date;
438
- /** 선택 가능한 최대 날짜 */
439
- max?: Date;
440
- }
441
- interface PeriodProps {
442
- /** 기간선택 기본값 옵션 */
443
- periodType?: PeriodType;
444
- }
445
- interface PeriodReturn {
446
- /** 선택된 기간 */
447
- period: PeriodDate;
448
- /** 선택 기간 변경 */
449
- updatePeriod: (newDate: Required<PeriodDate>) => void;
450
- }
451
- type UsePeriodProps = PeriodProps;
452
- type UsePeriodReturn = PeriodReturn;
453
- interface DatePickerInputHtmlProps extends ComboBoxItemProps {
454
- }
455
- interface DatePickerCalendarProps extends Pick<DatePickerBaseProps, 'mobile' | 'navigationType'> {
456
- isToday?: (day: number) => boolean;
457
- isTempSelected?: (day: number) => boolean;
458
- isFinalSelected?: (day: number) => boolean;
459
- isCtaDisabled?: boolean;
460
- headerTitle?: string;
461
- /** 캘린더 타이틀 텍스트 */
462
- calendarTitle?: string;
463
- /** 캘린더 CTA버튼 텍스트 */
464
- calendarCtaText?: string;
465
- /** 캘린더 하단 CTA버튼 클릭시 호출되는 이벤트 핸들러 */
466
- onCtaClick?: () => void;
467
- onDayClick?: (day: string | number) => void;
468
- /** current를 기준으로 생성된 달력 데이터 */
469
- weekCalendarList?: (string | number)[][];
470
- /** 다음달 이동 클릭 이벤트 */
471
- onNextMonthClick?: (curDate?: number) => Date;
472
- /** 이전달 이동 클릭 이벤트 */
473
- onPrevMonthClick?: (curDate?: number) => Date;
474
- /** 다음해 이동 클릭 이벤트 */
475
- onNextYearClick?: () => Date;
476
- /** 이전해 이동 클릭 이벤트 */
477
- onPrevYearClick?: () => Date;
478
- }
479
- type DatePickerCalendarHtmlProps = Assign<HTMLProps<'div'>, DatePickerCalendarProps>;
480
- interface CalendarProps extends DatePickerCalendarProps {
481
- /** 달력 생성을 위한 기준 날짜 */
482
- current: Date;
483
- /** 달력 생성을 위한 기준 날짜 변경*/
484
- updateCurrent: (newDate: Date) => void;
485
- /** 달력에서 선택된 날짜 */
486
- selectedDate?: Date;
487
- /** 달력에서 선택된 날짜 변경*/
488
- updateSelectedDate: (newDate: Date) => void;
489
- /** 달력에서 임시 선택된 날짜 */
490
- tempSelectedDate?: Date;
491
- /** 달력에서 임시 선택된 날짜 변경*/
492
- updateTempSelectedDate: (newDate: Date) => void;
493
- }
494
- interface DatePickerBaseProps extends Omit<FieldControlContextProps, 'validator'>, DatePickerRange {
495
- /** 모바일 레이아웃 여부 */
496
- mobile?: boolean;
497
- /** 캘린더 상단 네비게이션 버튼 유형 설정 */
498
- navigationType?: CalendarNavigationType;
499
- /** 날짜 유효성 검사 함수 (true 반환 시 선택 가능) */
500
- validator?: () => boolean;
501
- }
502
- interface DatePickerSingleProps extends DatePickerBaseProps {
503
- /** 처음 렌더링시 표시할 기본 날짜 */
504
- defaultValue?: Date;
505
- /** 입력 필드에 값이 없을 때 표시되는 안내 텍스트 */
506
- placeholder?: string;
507
- /** 캘린더 타이틀 텍스트 */
508
- calendarTitle?: string;
509
- /** 캘린더 CTA버튼 텍스트 */
510
- calendarCtaText?: string;
511
- /** 선택된 날짜 값이 변경될 때 호출되는 이벤트 핸들러 */
512
- onValueChange?: (newValue: Date) => void;
513
- onCtaClick?: () => void;
514
- }
515
- type DatePickerSingleHtmlProps = Assign<ComponentPropsWithRef<'div'>, DatePickerSingleProps> & {
516
- datepickerInputProps?: DatePickerInputHtmlProps;
517
- name?: string;
518
- };
519
- interface DatePickerRangeHtmlProps extends Omit<DatePickerSingleHtmlProps, 'defaultValue' | 'placeholder' | 'calendarTitle' | 'calendarCtaText' | 'onValueChange'> {
520
- defaultValue?: PeriodDate;
521
- placeholder?: PeriodText;
522
- calendarTitle?: PeriodText;
523
- calendarCtaText?: PeriodText;
524
- onValueChange?: (value: PeriodDate) => void;
525
- }
526
- interface DatePickerBaseContext extends Omit<FieldControlContextProps, 'validator'>, Pick<DatePickerBaseProps, 'mobile' | 'navigationType'> {
527
- triggerRef: React.RefObject<any>;
528
- isOpen: boolean;
529
- setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
530
- DropDown: React.ComponentType<PropsWithChildren<Omit<DropDownProps, 'isOpen' | 'dropdownRef' | 'position'>>>;
531
- /** 선택 가능한 기간 값 */
532
- range: DatePickerRange;
533
- /** 선택 가능한 기간 값 변경 */
534
- setRange: React.Dispatch<React.SetStateAction<DatePickerRange>>;
535
- /** current를 기준으로 생성된 달력 데이터 */
536
- weekCalendarList: (string | number)[][];
537
- /** 다음달 이동 클릭 이벤트 */
538
- onNextMonthClick: (curDate?: number) => Date;
539
- /** 이전달 이동 클릭 이벤트 */
540
- onPrevMonthClick: (curDate?: number) => Date;
541
- /** 다음해 이동 클릭 이벤트 */
542
- onNextYearClick: () => Date;
543
- /** 이전해 이동 클릭 이벤트 */
544
- onPrevYearClick: () => Date;
545
- }
546
- interface DatePickerSingleContext extends DatePickerBaseContext {
547
- /** 달력 생성을 위한 기준 날짜 */
548
- current: Date;
549
- /** 달력 생성을 위한 기준 날짜 변경 */
550
- setCurrent: React.Dispatch<React.SetStateAction<Date>>;
551
- /** 달력에서 임시 선택된 날짜 */
552
- tempSelectedDate?: Date;
553
- /** 달력에서 임시 선택된 날짜 변경 */
554
- setTempSelectedDate: React.Dispatch<React.SetStateAction<Date | undefined>>;
555
- /** 달력에서 선택된 날짜 */
556
- selectedDate?: Date;
557
- /** 달력에서 선택된 날짜 변경 */
558
- setSelectedDate: React.Dispatch<React.SetStateAction<Date | undefined>>;
559
- /** 입력필드에 입력된 날짜 */
560
- inputValue: string;
561
- /** 입력필드에 입력된 날짜 변경*/
562
- setInputValue: React.Dispatch<React.SetStateAction<string>>;
563
- /** 처음 렌더링시 표시할 기본 날짜 */
564
- defaultValue?: Date;
565
- /** 입력 필드에 값이 없을 때 표시되는 안내 텍스트 */
566
- placeholder?: string;
567
- /** 캘린더 타이틀 텍스트 */
568
- calendarTitle?: string;
569
- /** 캘린더 CTA버튼 텍스트 */
570
- calendarCtaText?: string;
571
- /** 선택된 날짜 값이 변경될 때 호출되는 이벤트 핸들러 */
572
- onValueChange?: (newValue: Date) => void;
573
- }
574
- type UseDatePickerProps = DatePickerSingleProps;
575
- type UseDateRangePickerPickerProps = DatePickerSingleHtmlProps;
576
- type UseDatePickerReturn = DatePickerSingleContext;
577
-
578
- interface HelperTextProps extends HTMLAttributes<HTMLDivElement>, SizeProps<'medium' | 'small'> {
579
- variant: 'caption' | 'error';
580
- /** 무조건 보여주기 여부 */
581
- forceShow?: boolean;
582
- }
583
-
584
- /**
585
- * Form Field 에서 사용될 헬퍼 텍스트입니다.
586
- * @param param0
587
- * @returns
588
- */
589
- declare const HelperText: ({ variant, children, className, size, forceShow, ...rest }: HelperTextProps) => react__default.JSX.Element;
590
-
591
- interface DateRangePickerRootProps {
592
- defaultValue?: PeriodDate;
593
- placeholder?: PeriodText;
594
- calendarTitle?: PeriodText;
595
- calendarCtaText?: PeriodText;
596
- onValueChange?: (value: PeriodDate) => void;
597
- children: react__default.ReactNode;
598
- className?: string;
599
- }
600
- declare const DateRangePickerExperimental: (({ defaultValue, placeholder, calendarTitle, calendarCtaText, onValueChange, children, className }: DateRangePickerRootProps) => react__default.JSX.Element) & {
601
- StartDateInput: ({ datepickerInputProps, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
602
- EndDateInput: ({ datepickerInputProps, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
603
- Separator: ({ className, ...rest }: HtmlHTMLAttributes<HTMLSpanElement>) => react__default.JSX.Element;
604
- HelperText: ({ variant, children, className, size, forceShow, ...rest }: HelperTextProps) => react__default.JSX.Element;
605
- };
606
-
607
- declare const DatePicker: {
608
- ({ datepickerInputProps, ...rest }: DatePickerSingleHtmlProps): react__default.JSX.Element;
609
- Calendar: (props: DatePickerCalendarHtmlProps) => react__default.JSX.Element;
610
- Input: ({ ...props }: DatePickerInputHtmlProps) => react__default.JSX.Element;
611
- Root: ({ children, max, min, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
612
- };
613
- declare const DateRangePicker: ({ defaultValue, placeholder, calendarTitle, calendarCtaText, onValueChange, ...props }: Omit<DatePickerSingleHtmlProps, "defaultValue" | "placeholder" | "calendarTitle" | "calendarCtaText" | "onValueChange"> & {
614
- defaultValue?: PeriodDate;
615
- placeholder?: PeriodText;
616
- calendarTitle?: PeriodText;
617
- calendarCtaText?: PeriodText;
618
- onValueChange?: (value: PeriodDate) => void;
619
- }) => react__default.JSX.Element;
620
-
621
- declare const DatePickerCalendar: (props: DatePickerCalendarHtmlProps) => react__default.JSX.Element;
622
-
623
- declare const DatePickerContext: react__default.Context<DatePickerSingleContext | undefined>;
624
- declare const useDatePickerContext: () => DatePickerSingleContext;
625
-
626
- declare const useDatePicker: (props: UseDatePickerProps) => UseDatePickerReturn;
627
-
628
- declare const usePeriod: ({ periodType }: UsePeriodProps) => UsePeriodReturn;
629
-
630
382
  type FeedbackSize = 'medium' | 'small';
631
383
  interface FeedbackRootProps extends React.ComponentProps<'div'> {
632
384
  }
@@ -752,20 +504,61 @@ declare const Input: {
752
504
  };
753
505
 
754
506
  /**
755
- * Input Box (자식 Input을 컨트롤 한다.)
507
+ * Input Box (자식 Input을 컨트롤 한다.)
508
+ * @param param0
509
+ * @returns
510
+ */
511
+ declare const InputBox: ({ children, clearable, className, endElement, onClear, ...rest }: InputBoxProps) => react__default.JSX.Element;
512
+
513
+ declare const core_Input: typeof Input;
514
+ declare const core_InputBox: typeof InputBox;
515
+ type core_InputBoxProps = InputBoxProps;
516
+ type core_InputProps = InputProps;
517
+ declare namespace core {
518
+ export { core_Input as Input, core_InputBox as InputBox };
519
+ export type { core_InputBoxProps as InputBoxProps, core_InputProps as InputProps };
520
+ }
521
+
522
+ interface ComboBoxProps extends ComboBoxItemProps {
523
+ rootProps?: ComboBoxBoxProps;
524
+ }
525
+ interface ComboBoxBoxProps extends ComponentPropsWithRef<'div'> {
526
+ }
527
+ interface ComboBoxItemProps extends Omit<ComponentPropsWithRef<'input'>, 'size'>, FieldControlContextProps {
528
+ /** 사이즈 */
529
+ size?: 'xsmall' | 'small' | 'medium' | 'large';
530
+ /** 에러여부 */
531
+ error?: boolean;
532
+ /** 선택여부 */
533
+ isSelected?: boolean;
534
+ /** 아이콘 명 */
535
+ icon?: 'arrow' | 'calendar' | 'search';
536
+ /** 아이콘 클래스명 */
537
+ iconClassName?: string;
538
+ onValueChange?: (value: string) => void;
539
+ /** 클릭이벤트 */
540
+ onClick?: (e: React.MouseEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>) => void;
541
+ }
542
+
543
+ /**
544
+ * Combobox (버튼 모양의 Input)
545
+ * ComboBox를 통해서 선택할 수 있는 UI를 호출하여 선택하도록 한다.
546
+ * @param param0
547
+ * @returns
548
+ */
549
+ declare const ComboBoxItem: ({ type, className, name, isSelected, icon, iconClassName, onClick, onKeyDown, children, validator, value, onValueChange, inputMode, ...props }: ComboBoxItemProps) => react__default.JSX.Element;
550
+ declare const ComboBox: {
551
+ ({ children, rootProps, ...itemProps }: ComboBoxProps): react__default.JSX.Element;
552
+ Box: ({ children, className, ...rest }: ComboBoxBoxProps) => react__default.JSX.Element;
553
+ Item: ({ type, className, name, isSelected, icon, iconClassName, onClick, onKeyDown, children, validator, value, onValueChange, inputMode, ...props }: ComboBoxItemProps) => react__default.JSX.Element;
554
+ };
555
+
556
+ /**
557
+ * ComboBox 래퍼
756
558
  * @param param0
757
559
  * @returns
758
560
  */
759
- declare const InputBox: ({ children, clearable, className, endElement, onClear, ...rest }: InputBoxProps) => react__default.JSX.Element;
760
-
761
- declare const core_Input: typeof Input;
762
- declare const core_InputBox: typeof InputBox;
763
- type core_InputBoxProps = InputBoxProps;
764
- type core_InputProps = InputProps;
765
- declare namespace core {
766
- export { core_Input as Input, core_InputBox as InputBox };
767
- export type { core_InputBoxProps as InputBoxProps, core_InputProps as InputProps };
768
- }
561
+ declare const ComboBoxBox: ({ children, className, ...rest }: ComboBoxBoxProps) => react.JSX.Element;
769
562
 
770
563
  /**
771
564
  * Combo List
@@ -832,6 +625,19 @@ interface TextFieldProps extends InputProps {
832
625
  */
833
626
  declare const TextField: ({ value, name, rootProps, onChange, validator, error, ...inputProps }: TextFieldProps) => react.JSX.Element;
834
627
 
628
+ interface HelperTextProps extends HTMLAttributes<HTMLDivElement>, SizeProps<'medium' | 'small'> {
629
+ variant: 'caption' | 'error';
630
+ /** 무조건 보여주기 여부 */
631
+ forceShow?: boolean;
632
+ }
633
+
634
+ /**
635
+ * Form Field 에서 사용될 헬퍼 텍스트입니다.
636
+ * @param param0
637
+ * @returns
638
+ */
639
+ declare const HelperText: ({ variant, children, className, size, forceShow, ...rest }: HelperTextProps) => react__default.JSX.Element;
640
+
835
641
  interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
836
642
  }
837
643
 
@@ -1756,6 +1562,327 @@ interface SimpleTooltipProps extends BaseComponentProps {
1756
1562
  */
1757
1563
  declare const Tooltip: ({ visible: externalVisible, type, duration, notch, title, text, onClose, children, className, showHeadIcon, showCloseIcon, showTextButton, textButtonLabel, onTextButtonClick, ...rest }: TooltipProps) => react.JSX.Element;
1758
1564
 
1565
+ type CalendarNavigationType = 'month-only' | 'year-and-month';
1566
+ type CalendarNavigationButton = 'nextMonth' | 'prevMonth' | 'nextYear' | 'prevYear';
1567
+ interface PeriodDate {
1568
+ /** 기간시작 날짜 */
1569
+ startDate?: Date;
1570
+ /** 기간종료 날짜 */
1571
+ endDate?: Date;
1572
+ }
1573
+ interface PeriodText {
1574
+ /** 기간시작 필드 값*/
1575
+ startDate?: string;
1576
+ /** 기간종료 필드 값 */
1577
+ endDate?: string;
1578
+ }
1579
+ interface DatePickerRange {
1580
+ /** 선택 가능한 최소 날짜 */
1581
+ min?: Date;
1582
+ /** 선택 가능한 최대 날짜 */
1583
+ max?: Date;
1584
+ }
1585
+ interface PeriodProps {
1586
+ /** 기간선택 기본값 옵션 */
1587
+ periodType?: PeriodType;
1588
+ }
1589
+ interface PeriodReturn {
1590
+ /** 선택된 기간 */
1591
+ period: PeriodDate;
1592
+ /** 선택 기간 변경 */
1593
+ updatePeriod: (newDate: Required<PeriodDate>) => void;
1594
+ }
1595
+ type UsePeriodProps = PeriodProps;
1596
+ type UsePeriodReturn = PeriodReturn;
1597
+ interface DatePickerInputHtmlProps extends ComboBoxItemProps {
1598
+ }
1599
+ interface DatePickerCalendarProps extends Pick<DatePickerBaseProps, 'mobile' | 'navigationType'> {
1600
+ isToday?: (day: number) => boolean;
1601
+ isTempSelected?: (day: number) => boolean;
1602
+ isFinalSelected?: (day: number) => boolean;
1603
+ isCtaDisabled?: boolean;
1604
+ headerTitle?: string;
1605
+ /** 캘린더 타이틀 텍스트 */
1606
+ calendarTitle?: string;
1607
+ /** 캘린더 CTA버튼 텍스트 */
1608
+ calendarCtaText?: string;
1609
+ /** 캘린더 하단 CTA버튼 클릭시 호출되는 이벤트 핸들러 */
1610
+ onCtaClick?: () => void;
1611
+ onDayClick?: (day: string | number) => void;
1612
+ /** current를 기준으로 생성된 달력 데이터 */
1613
+ weekCalendarList?: (string | number)[][];
1614
+ /** 다음달 이동 클릭 이벤트 */
1615
+ onNextMonthClick?: (curDate?: number) => Date;
1616
+ /** 이전달 이동 클릭 이벤트 */
1617
+ onPrevMonthClick?: (curDate?: number) => Date;
1618
+ /** 다음해 이동 클릭 이벤트 */
1619
+ onNextYearClick?: () => Date;
1620
+ /** 이전해 이동 클릭 이벤트 */
1621
+ onPrevYearClick?: () => Date;
1622
+ }
1623
+ type DatePickerCalendarHtmlProps = Assign<HTMLProps<'div'>, DatePickerCalendarProps>;
1624
+ interface CalendarProps extends DatePickerCalendarProps {
1625
+ /** 달력 생성을 위한 기준 날짜 */
1626
+ current: Date;
1627
+ /** 달력 생성을 위한 기준 날짜 변경*/
1628
+ updateCurrent: (newDate: Date) => void;
1629
+ /** 달력에서 선택된 날짜 */
1630
+ selectedDate?: Date;
1631
+ /** 달력에서 선택된 날짜 변경*/
1632
+ updateSelectedDate: (newDate: Date) => void;
1633
+ /** 달력에서 임시 선택된 날짜 */
1634
+ tempSelectedDate?: Date;
1635
+ /** 달력에서 임시 선택된 날짜 변경*/
1636
+ updateTempSelectedDate: (newDate: Date) => void;
1637
+ }
1638
+ interface DatePickerBaseProps extends Omit<FieldControlContextProps, 'validator'>, DatePickerRange {
1639
+ /** 모바일 레이아웃 여부 */
1640
+ mobile?: boolean;
1641
+ /** 캘린더 상단 네비게이션 버튼 유형 설정 */
1642
+ navigationType?: CalendarNavigationType;
1643
+ /** 날짜 유효성 검사 함수 (true 반환 시 선택 가능) */
1644
+ validator?: () => boolean;
1645
+ }
1646
+ interface DatePickerSingleProps extends DatePickerBaseProps {
1647
+ /** 처음 렌더링시 표시할 기본 날짜 */
1648
+ defaultValue?: Date;
1649
+ /** 입력 필드에 값이 없을 때 표시되는 안내 텍스트 */
1650
+ placeholder?: string;
1651
+ /** 캘린더 타이틀 텍스트 */
1652
+ calendarTitle?: string;
1653
+ /** 캘린더 CTA버튼 텍스트 */
1654
+ calendarCtaText?: string;
1655
+ /** 선택된 날짜 값이 변경될 때 호출되는 이벤트 핸들러 */
1656
+ onValueChange?: (newValue: Date) => void;
1657
+ onCtaClick?: () => void;
1658
+ }
1659
+ type DatePickerSingleHtmlProps = Assign<ComponentPropsWithRef<'div'>, DatePickerSingleProps> & {
1660
+ datepickerInputProps?: DatePickerInputHtmlProps;
1661
+ name?: string;
1662
+ };
1663
+ interface DatePickerRangeHtmlProps extends Omit<DatePickerSingleHtmlProps, 'defaultValue' | 'placeholder' | 'calendarTitle' | 'calendarCtaText' | 'onValueChange'> {
1664
+ defaultValue?: PeriodDate;
1665
+ placeholder?: PeriodText;
1666
+ calendarTitle?: PeriodText;
1667
+ calendarCtaText?: PeriodText;
1668
+ onValueChange?: (value: PeriodDate) => void;
1669
+ }
1670
+ interface DatePickerBaseContext extends Omit<FieldControlContextProps, 'validator'>, Pick<DatePickerBaseProps, 'mobile' | 'navigationType'> {
1671
+ triggerRef: React.RefObject<any>;
1672
+ isOpen: boolean;
1673
+ setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
1674
+ DropDown: React.ComponentType<PropsWithChildren<Omit<DropDownProps, 'isOpen' | 'dropdownRef' | 'position'>>>;
1675
+ /** 선택 가능한 기간 값 */
1676
+ range: DatePickerRange;
1677
+ /** 선택 가능한 기간 값 변경 */
1678
+ setRange: React.Dispatch<React.SetStateAction<DatePickerRange>>;
1679
+ /** current를 기준으로 생성된 달력 데이터 */
1680
+ weekCalendarList: (string | number)[][];
1681
+ /** 다음달 이동 클릭 이벤트 */
1682
+ onNextMonthClick: (curDate?: number) => Date;
1683
+ /** 이전달 이동 클릭 이벤트 */
1684
+ onPrevMonthClick: (curDate?: number) => Date;
1685
+ /** 다음해 이동 클릭 이벤트 */
1686
+ onNextYearClick: () => Date;
1687
+ /** 이전해 이동 클릭 이벤트 */
1688
+ onPrevYearClick: () => Date;
1689
+ }
1690
+ interface DatePickerSingleContext extends DatePickerBaseContext {
1691
+ /** 달력 생성을 위한 기준 날짜 */
1692
+ current: Date;
1693
+ /** 달력 생성을 위한 기준 날짜 변경 */
1694
+ setCurrent: React.Dispatch<React.SetStateAction<Date>>;
1695
+ /** 달력에서 임시 선택된 날짜 */
1696
+ tempSelectedDate?: Date;
1697
+ /** 달력에서 임시 선택된 날짜 변경 */
1698
+ setTempSelectedDate: React.Dispatch<React.SetStateAction<Date | undefined>>;
1699
+ /** 달력에서 선택된 날짜 */
1700
+ selectedDate?: Date;
1701
+ /** 달력에서 선택된 날짜 변경 */
1702
+ setSelectedDate: React.Dispatch<React.SetStateAction<Date | undefined>>;
1703
+ /** 입력필드에 입력된 날짜 */
1704
+ inputValue: string;
1705
+ /** 입력필드에 입력된 날짜 변경*/
1706
+ setInputValue: React.Dispatch<React.SetStateAction<string>>;
1707
+ /** 처음 렌더링시 표시할 기본 날짜 */
1708
+ defaultValue?: Date;
1709
+ /** 입력 필드에 값이 없을 때 표시되는 안내 텍스트 */
1710
+ placeholder?: string;
1711
+ /** 캘린더 타이틀 텍스트 */
1712
+ calendarTitle?: string;
1713
+ /** 캘린더 CTA버튼 텍스트 */
1714
+ calendarCtaText?: string;
1715
+ /** 선택된 날짜 값이 변경될 때 호출되는 이벤트 핸들러 */
1716
+ onValueChange?: (newValue: Date) => void;
1717
+ }
1718
+ type UseDatePickerProps = DatePickerSingleProps;
1719
+ type UseDateRangePickerPickerProps = DatePickerSingleHtmlProps;
1720
+ type UseDatePickerReturn = DatePickerSingleContext;
1721
+
1722
+ interface DateRangePickerRootProps {
1723
+ defaultValue?: PeriodDate;
1724
+ placeholder?: PeriodText;
1725
+ calendarTitle?: PeriodText;
1726
+ calendarCtaText?: PeriodText;
1727
+ onValueChange?: (value: PeriodDate) => void;
1728
+ children: react__default.ReactNode;
1729
+ className?: string;
1730
+ }
1731
+ declare const DateRangePickerExperimental: (({ defaultValue, placeholder, calendarTitle, calendarCtaText, onValueChange, children, className }: DateRangePickerRootProps) => react__default.JSX.Element) & {
1732
+ StartDateInput: ({ datepickerInputProps, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
1733
+ EndDateInput: ({ datepickerInputProps, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
1734
+ Separator: ({ className, ...rest }: HtmlHTMLAttributes<HTMLSpanElement>) => react__default.JSX.Element;
1735
+ HelperText: ({ variant, children, className, size, forceShow, ...rest }: HelperTextProps) => react__default.JSX.Element;
1736
+ };
1737
+
1738
+ declare const DatePicker: {
1739
+ ({ datepickerInputProps, ...rest }: DatePickerSingleHtmlProps): react__default.JSX.Element;
1740
+ Calendar: (props: DatePickerCalendarHtmlProps) => react__default.JSX.Element;
1741
+ Input: ({ ...props }: DatePickerInputHtmlProps) => react__default.JSX.Element;
1742
+ Root: ({ children, max, min, ...props }: DatePickerSingleHtmlProps) => react__default.JSX.Element;
1743
+ };
1744
+ declare const DateRangePicker: ({ defaultValue, placeholder, calendarTitle, calendarCtaText, onValueChange, ...props }: Omit<DatePickerSingleHtmlProps, "defaultValue" | "placeholder" | "calendarTitle" | "calendarCtaText" | "onValueChange"> & {
1745
+ defaultValue?: PeriodDate;
1746
+ placeholder?: PeriodText;
1747
+ calendarTitle?: PeriodText;
1748
+ calendarCtaText?: PeriodText;
1749
+ onValueChange?: (value: PeriodDate) => void;
1750
+ }) => react__default.JSX.Element;
1751
+
1752
+ declare const DatePickerCalendar$1: (props: DatePickerCalendarHtmlProps) => react__default.JSX.Element;
1753
+
1754
+ declare const DatePickerContext: react__default.Context<DatePickerSingleContext | undefined>;
1755
+ declare const useDatePickerContext: () => DatePickerSingleContext;
1756
+
1757
+ declare const useDatePicker: (props: UseDatePickerProps) => UseDatePickerReturn;
1758
+
1759
+ declare const usePeriod: ({ periodType }: UsePeriodProps) => UsePeriodReturn;
1760
+
1761
+ type CalendarNavigationTypeRenew = 'month-only' | 'year-and-month';
1762
+ /**
1763
+ * <DatePickerSingle /> 컴포넌트에서 사용하는 props
1764
+ */
1765
+ interface DatePickerSingleComponentPropsRenew {
1766
+ dropdownProps?: {
1767
+ triggerRef?: React.RefObject<any>;
1768
+ isOpen?: boolean;
1769
+ setIsOpen?: React.Dispatch<React.SetStateAction<boolean>>;
1770
+ DropDown?: ReturnType<typeof useDropDown>['DropDown'];
1771
+ classname?: string;
1772
+ };
1773
+ inputProps?: {
1774
+ comboBoxItemProps?: ComboBoxItemProps;
1775
+ fieldControlContextProps?: FieldControlContextProps;
1776
+ helperTextProps?: HelperTextProps;
1777
+ };
1778
+ navigationProps?: {
1779
+ /** 캘린더 상단 네비게이션 버튼 유형 설정 */
1780
+ navigationType?: CalendarNavigationTypeRenew;
1781
+ calendarTitle?: string;
1782
+ headerTitle?: string;
1783
+ /** 달력 생성을 위한 기준 날짜 */
1784
+ current?: dayjs.Dayjs;
1785
+ /** 달력 생성을 위한 기준 날짜 변경 */
1786
+ setCurrent?: React.Dispatch<React.SetStateAction<dayjs.Dayjs>>;
1787
+ };
1788
+ calendarProps?: {
1789
+ /** 최상위 React div 에 전달할 props */
1790
+ divProps?: React.HTMLAttributes<HTMLDivElement>;
1791
+ /** 선택 가능한 최소 날짜 */
1792
+ min?: dayjs.Dayjs;
1793
+ /** 선택 가능한 최대 날짜 */
1794
+ max?: dayjs.Dayjs;
1795
+ isCtaDisabled?: boolean;
1796
+ /** 캘린더 CTA버튼 텍스트 */
1797
+ calendarCtaText?: string;
1798
+ /** 캘린더 하단 CTA버튼 클릭시 호출되는 이벤트 핸들러 */
1799
+ onCtaClick?: () => void;
1800
+ onDayClick?: (day: dayjs.Dayjs) => void;
1801
+ /** current를 기준으로 생성된 달력 데이터 */
1802
+ weekCalendarList?: dayjs.Dayjs[];
1803
+ /** 달력에서 선택된 날짜 */
1804
+ selectedDate?: dayjs.Dayjs;
1805
+ /** 달력에서 선택된 날짜 변경 */
1806
+ setSelectedDate?: (value: dayjs.Dayjs) => void;
1807
+ /** 입력필드에 입력된 날짜 */
1808
+ inputValue?: string;
1809
+ /** 입력필드에 입력된 날짜 변경*/
1810
+ setInputValue?: (value: string) => void;
1811
+ /** 달력에서 임시 선택된 날짜 */
1812
+ tempSelectedDate?: dayjs.Dayjs;
1813
+ /** 달력에서 임시 선택된 날짜 변경 */
1814
+ setTempSelectedDate?: (value: dayjs.Dayjs) => void;
1815
+ };
1816
+ /** 처음 렌더링시 표시할 기본 날짜 */
1817
+ defaultValue?: dayjs.Dayjs;
1818
+ /** 입력필드에 표시할 날짜 형식 */
1819
+ inputFormat?: string;
1820
+ /** 모바일 레이아웃 여부 */
1821
+ mobile?: boolean;
1822
+ /** 날짜 유효성 검사 함수 (true 반환 시 선택 가능) */
1823
+ validator?: () => boolean;
1824
+ validatorName?: string;
1825
+ /** 선택된 날짜 값이 변경될 때 호출되는 이벤트 핸들러 */
1826
+ onValueChange?: (newValue: dayjs.Dayjs) => void;
1827
+ }
1828
+ /**
1829
+ * <DatePickerRange /> 컴포넌트에서 사용하는 props
1830
+ */
1831
+ interface DatePickerRangeComponentProps {
1832
+ startDateProps?: DatePickerSingleComponentPropsRenew;
1833
+ endDateProps?: DatePickerSingleComponentPropsRenew;
1834
+ }
1835
+
1836
+ declare function DatePickerCalendar(props?: DatePickerSingleComponentPropsRenew['calendarProps']): react.JSX.Element | null;
1837
+
1838
+ interface CtaButtonProps {
1839
+ onCtaClick?: (date: dayjs.Dayjs) => void;
1840
+ calendarCtaText?: string;
1841
+ mobile?: boolean;
1842
+ isCtaDisabled?: boolean;
1843
+ }
1844
+ declare function DatePickerCtaBottomButton(props: CtaButtonProps): react.JSX.Element | null;
1845
+
1846
+ declare function DatePickerDropdown({ children, ...rest }: PropsWithChildren<DatePickerSingleComponentPropsRenew['dropdownProps']>): react.JSX.Element | null;
1847
+
1848
+ type DatePickerNavigationProps = DatePickerSingleComponentPropsRenew['navigationProps'] & {
1849
+ mobile?: DatePickerSingleComponentPropsRenew['mobile'];
1850
+ };
1851
+ declare function DatePickerNavigation(props?: DatePickerNavigationProps): react.JSX.Element | null;
1852
+
1853
+ declare function DatePickerRoot({ children, ...props }: DatePickerSingleComponentPropsRenew & PropsWithChildren): react.JSX.Element;
1854
+
1855
+ declare function DatePickerSingleRenew(props?: DatePickerSingleComponentPropsRenew): react__default.JSX.Element;
1856
+ declare namespace DatePickerSingleRenew {
1857
+ var Calendar: typeof DatePickerCalendar;
1858
+ var Dropdown: typeof DatePickerDropdown;
1859
+ var Input: (props?: DatePickerSingleComponentPropsRenew["inputProps"]) => react__default.JSX.Element | null;
1860
+ var Root: typeof DatePickerRoot;
1861
+ var Navigation: typeof DatePickerNavigation;
1862
+ var CtaBottomButton: typeof DatePickerCtaBottomButton;
1863
+ }
1864
+
1865
+ declare function DatePickerRangeRenew(props?: DatePickerRangeComponentProps): react__default.JSX.Element;
1866
+
1867
+ declare const DAY_LIST: string[];
1868
+
1869
+ declare const contextDefaultProps: DatePickerSingleComponentPropsRenew;
1870
+ declare const DatePickerContextRenew: react.Context<DatePickerSingleComponentPropsRenew>;
1871
+ declare const useDatePickerContextRenew: (props?: DatePickerSingleComponentPropsRenew) => DatePickerSingleComponentPropsRenew;
1872
+
1873
+ /** calendar 날짜 데이터 생성
1874
+ * year, month 에 맞는 해당월의 Date 배열을 리턴
1875
+ * 첫주와 마지막주는 이전월과 다음월의 날짜로 채운다.
1876
+ */
1877
+ declare function generateCalendarGridDayInfo(year: number, month: number): dayjs.Dayjs[];
1878
+ declare const handleDayClick: (dayInfo: dayjs.Dayjs, context: DatePickerSingleComponentPropsRenew, isTempSelected?: boolean) => void;
1879
+ declare const isSameDay: (day: dayjs.Dayjs, current: dayjs.Dayjs) => boolean;
1880
+ declare const isToday: (day: dayjs.Dayjs) => boolean;
1881
+ declare const isTempSelected: (day: dayjs.Dayjs, tempSelectedDate?: dayjs.Dayjs) => boolean;
1882
+ declare const isFinalSelected: (day: dayjs.Dayjs, selectedDate?: dayjs.Dayjs) => boolean;
1883
+ declare const isDisabled: (day: dayjs.Dayjs, min?: dayjs.Dayjs, max?: dayjs.Dayjs) => boolean;
1884
+ declare function mergeDeep(target: any, source: any): any;
1885
+
1759
1886
  interface SelectProps extends Omit<ComboBoxProps, 'onChange' | 'onClick'> {
1760
1887
  /** 선택된 값 */
1761
1888
  value?: string;
@@ -1811,5 +1938,5 @@ declare const Select: {
1811
1938
  Option: ({ value: optionValue, children, disabled, hover, className, onClick, ...props }: OptionProps) => react__default.JSX.Element;
1812
1939
  };
1813
1940
 
1814
- export { Accordion, BottomBar, Button, Checkbox, CheckboxButton, Chip, ChipGroup, CommandModalProvider, DatePicker, DatePickerCalendar, DatePickerContext, DateRangePicker, DateRangePickerExperimental, DropDown, Feedback, core as FormCore, field as FormField, Header, HeaderIcon, Icon, IconButton, Image, List, ListItem, Loading, Modal, ModalStack, ModalUtils, Notification, Pagination, PaginationContext, Radio, RadioGroup, Segment, SegmentContext, SegmentGroup, Select, Skeleton, Stepper, Tab, TabGroup, Table, Tag, TextButton, Toast, Tooltip, headerIconClassName, useAccordion, useAccordionContext, useChip, useCommandModalStore, useDatePicker, useDatePickerContext, useDropDown, useFormValidator, useModalState, usePagination, usePaginationContext, usePeriod, usePreventInteraction, useRightPadding, useSegment, useSegmentContext };
1815
- export type { AccordionContentProps, AccordionContextValue, AccordionHeaderButtonProps, AccordionHeaderDivProps, AccordionItemForHook, AccordionItemProps, AccordionRootProps, AnchorHtmlProps, BaseComponentProps, BottomBarDesktopProps, BottomBarMobileProps, ButtonAppearance, ButtonBaseProps, ButtonHtmlProps, ButtonProps, ButtonSize, ButtonVariant, ButtonWidth, CalendarNavigationButton, CalendarNavigationType, CalendarProps, CheckboxButtonProps, CheckboxIconProps, CheckboxProps, ChipAppearance, ChipBaseProps, ChipGroupHtmlProps, ChipGroupProps, ChipItemHtmlProps, ChipItemProps, ChipItems, ChipRootHtmlProps, ChipSize, ChipVariant, DatePickerBaseContext, DatePickerBaseProps, DatePickerCalendarHtmlProps, DatePickerCalendarProps, DatePickerInputHtmlProps, DatePickerRange, DatePickerRangeHtmlProps, DatePickerSingleContext, DatePickerSingleHtmlProps, DatePickerSingleProps, DefaultTooltipProps, DropDownManager, DropDownProps, DropDownSize, DropDownSpecificProps, DropDownWidth, DropdownType, HeaderIconProps, HeaderProps, IChipContext, IListItemProps, IListProps, ISelectContext, IconButtonAppearance, IconButtonHtmlProps, IconButtonProps, IconDir, IconProps, ImageProps, ListItemProps, ListProps, LoadingContentsProps, LoadingDotsProps, LoadingPositionalProps, LoadingProcessProps, LoadingWaitProps, ModalBaseProps, ModalBodyProps, ModalContentProps, ModalContextProps, ModalFooterProps, ModalHeaderProps, ModalOverlayProps, ModalProps, ModalRootProps, ModalStackItem, ModalState, ModalStateOptions, ModalStore, ModalStoreItem, NotificationHtmlProps, NotificationInnerProps, NotificationProps, NotificationTriggerProps, NotificationType, OptionProps, PaginationContextProps, PaginationHtmlProps, PaginationInnerHtmlProps, PaginationProps, PaginationRootProviderProps, PeriodDate, PeriodProps, PeriodReturn, PeriodText, RadioItemProps, RadioRootProps, SegmentAlign, SegmentAppearance, SegmentBaseProps, SegmentContextProps, SegmentGroupHtmlProps, SegmentGroupProps, SegmentItemHtmlProps, SegmentItemProps, SegmentItems, SegmentRootHtmlProps, SegmentSize, SelectProps, SimpleToastProps, SimpleTooltipProps, SizeToken, SkeletonProps, StepperProps, TabGroupProps, TabItemProps, TabItemSpecificProps, TabRootContextProps, TabRootProps, TabScroll, TabSize, TabVariant, TableHtmlProps, TableProps, TagProps, TagVariant, TextButtonAppearance, TextButtonHtmlProps, TextButtonProps, TextButtonSize, ToastContextValue, ToastIconProps, ToastProps, ToastTextButtonProps, ToastTextProps, ToastVariant, TooltipProps, TooltipType, UseAccordionOptions, UseAccordionReturn, UseChipProps, UseChipReturn, UseDatePickerProps, UseDatePickerReturn, UseDateRangePickerPickerProps, UseDropDownBaseReturn, UseDropDownProps, UsePaginationProps, UsePaginationReturn, UsePeriodProps, UsePeriodReturn, UseSegmentProps, UseSegmentReturn };
1941
+ export { Accordion, BottomBar, Button, Checkbox, CheckboxButton, Chip, ChipGroup, CommandModalProvider, DAY_LIST, DatePicker, DatePickerCalendar$1 as DatePickerCalendar, DatePickerContext, DatePickerContextRenew, DatePickerRangeRenew, DatePickerSingleRenew, DateRangePicker, DateRangePickerExperimental, DropDown, Feedback, core as FormCore, field as FormField, Header, HeaderIcon, Icon, IconButton, Image, List, ListItem, Loading, Modal, ModalStack, ModalUtils, Notification, Pagination, PaginationContext, Radio, RadioGroup, Segment, SegmentContext, SegmentGroup, Select, Skeleton, Stepper, Tab, TabGroup, Table, Tag, TextButton, Toast, Tooltip, contextDefaultProps, generateCalendarGridDayInfo, handleDayClick, headerIconClassName, isDisabled, isFinalSelected, isSameDay, isTempSelected, isToday, mergeDeep, useAccordion, useAccordionContext, useChip, useCommandModalStore, useDatePicker, useDatePickerContext, useDatePickerContextRenew, useDropDown, useFormValidator, useModalState, usePagination, usePaginationContext, usePeriod, usePreventInteraction, useRightPadding, useSegment, useSegmentContext };
1942
+ export type { AccordionContentProps, AccordionContextValue, AccordionHeaderButtonProps, AccordionHeaderDivProps, AccordionItemForHook, AccordionItemProps, AccordionRootProps, AnchorHtmlProps, BaseComponentProps, BottomBarDesktopProps, BottomBarMobileProps, ButtonAppearance, ButtonBaseProps, ButtonHtmlProps, ButtonProps, ButtonSize, ButtonVariant, ButtonWidth, CalendarNavigationButton, CalendarNavigationType, CalendarNavigationTypeRenew, CalendarProps, CheckboxButtonProps, CheckboxIconProps, CheckboxProps, ChipAppearance, ChipBaseProps, ChipGroupHtmlProps, ChipGroupProps, ChipItemHtmlProps, ChipItemProps, ChipItems, ChipRootHtmlProps, ChipSize, ChipVariant, DatePickerBaseContext, DatePickerBaseProps, DatePickerCalendarHtmlProps, DatePickerCalendarProps, DatePickerInputHtmlProps, DatePickerRange, DatePickerRangeComponentProps, DatePickerRangeHtmlProps, DatePickerSingleComponentPropsRenew, DatePickerSingleContext, DatePickerSingleHtmlProps, DatePickerSingleProps, DefaultTooltipProps, DropDownManager, DropDownProps, DropDownSize, DropDownSpecificProps, DropDownWidth, DropdownType, HeaderIconProps, HeaderProps, IChipContext, IListItemProps, IListProps, ISelectContext, IconButtonAppearance, IconButtonHtmlProps, IconButtonProps, IconDir, IconProps, ImageProps, ListItemProps, ListProps, LoadingContentsProps, LoadingDotsProps, LoadingPositionalProps, LoadingProcessProps, LoadingWaitProps, ModalBaseProps, ModalBodyProps, ModalContentProps, ModalContextProps, ModalFooterProps, ModalHeaderProps, ModalOverlayProps, ModalProps, ModalRootProps, ModalStackItem, ModalState, ModalStateOptions, ModalStore, ModalStoreItem, NotificationHtmlProps, NotificationInnerProps, NotificationProps, NotificationTriggerProps, NotificationType, OptionProps, PaginationContextProps, PaginationHtmlProps, PaginationInnerHtmlProps, PaginationProps, PaginationRootProviderProps, PeriodDate, PeriodProps, PeriodReturn, PeriodText, RadioItemProps, RadioRootProps, SegmentAlign, SegmentAppearance, SegmentBaseProps, SegmentContextProps, SegmentGroupHtmlProps, SegmentGroupProps, SegmentItemHtmlProps, SegmentItemProps, SegmentItems, SegmentRootHtmlProps, SegmentSize, SelectProps, SimpleToastProps, SimpleTooltipProps, SizeToken, SkeletonProps, StepperProps, TabGroupProps, TabItemProps, TabItemSpecificProps, TabRootContextProps, TabRootProps, TabScroll, TabSize, TabVariant, TableHtmlProps, TableProps, TagProps, TagVariant, TextButtonAppearance, TextButtonHtmlProps, TextButtonProps, TextButtonSize, ToastContextValue, ToastIconProps, ToastProps, ToastTextButtonProps, ToastTextProps, ToastVariant, TooltipProps, TooltipType, UseAccordionOptions, UseAccordionReturn, UseChipProps, UseChipReturn, UseDatePickerProps, UseDatePickerReturn, UseDateRangePickerPickerProps, UseDropDownBaseReturn, UseDropDownProps, UsePaginationProps, UsePaginationReturn, UsePeriodProps, UsePeriodReturn, UseSegmentProps, UseSegmentReturn };