@loword/loword-design-system 0.0.18 → 0.1.0
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/README.md +37 -21
- package/dist/components/LDAccordion/AccordionBase.d.ts.map +1 -1
- package/dist/components/LDAccordion/AccordionBase.js +3 -4
- package/dist/components/LDAccordion/LDAccordion.d.ts +33 -2
- package/dist/components/LDAccordion/LDAccordion.d.ts.map +1 -1
- package/dist/components/LDAccordion/LDAccordion.js +70 -7
- package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts +35 -21
- package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts.map +1 -1
- package/dist/components/LDAutoComplete/AutoCompleteBase.js +25 -46
- package/dist/components/LDAutoComplete/LDAutoComplete.d.ts +54 -4
- package/dist/components/LDAutoComplete/LDAutoComplete.d.ts.map +1 -1
- package/dist/components/LDAutoComplete/LDAutoComplete.js +141 -4
- package/dist/components/LDAvatar/AvatarBase.d.ts.map +1 -1
- package/dist/components/LDAvatar/AvatarBase.js +3 -3
- package/dist/components/LDAvatar/LDAvatar.d.ts +3 -1
- package/dist/components/LDAvatar/LDAvatar.d.ts.map +1 -1
- package/dist/components/LDAvatar/LDAvatar.js +33 -20
- package/dist/components/LDBadge/BadgeBase.d.ts.map +1 -1
- package/dist/components/LDBadge/LDBadge.d.ts +7 -4
- package/dist/components/LDBadge/LDBadge.d.ts.map +1 -1
- package/dist/components/LDBadge/LDBadge.js +34 -32
- package/dist/components/LDBreadCrumb/BreadCrumbBase.d.ts +3 -2
- package/dist/components/LDBreadCrumb/BreadCrumbBase.d.ts.map +1 -1
- package/dist/components/LDBreadCrumb/BreadCrumbBase.js +6 -3
- package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts +26 -2
- package/dist/components/LDBreadCrumb/LDBreadCrumb.d.ts.map +1 -1
- package/dist/components/LDBreadCrumb/LDBreadCrumb.js +24 -15
- package/dist/components/LDButton/ButtonBase.d.ts.map +1 -1
- package/dist/components/LDButton/LDButton.d.ts +5 -3
- package/dist/components/LDButton/LDButton.d.ts.map +1 -1
- package/dist/components/LDButton/LDButton.js +14 -27
- package/dist/components/LDCalendar/CalendarBase.d.ts +1 -1
- package/dist/components/LDCalendar/CalendarBase.d.ts.map +1 -1
- package/dist/components/LDCalendar/CalendarBase.js +12 -11
- package/dist/components/LDCalendar/CalendarTimePicker.d.ts +11 -0
- package/dist/components/LDCalendar/CalendarTimePicker.d.ts.map +1 -0
- package/dist/components/LDCalendar/CalendarTimePicker.js +82 -0
- package/dist/components/LDCalendar/LDCalendar.d.ts +13 -8
- package/dist/components/LDCalendar/LDCalendar.d.ts.map +1 -1
- package/dist/components/LDCalendar/LDCalendar.js +48 -81
- package/dist/components/LDCallout/CalloutBase.d.ts.map +1 -1
- package/dist/components/LDCallout/CalloutBase.js +3 -3
- package/dist/components/LDCallout/LDCallout.d.ts.map +1 -1
- package/dist/components/LDCallout/LDCallout.js +1 -1
- package/dist/components/LDCarousel/CarouselBase.d.ts +6 -1
- package/dist/components/LDCarousel/CarouselBase.d.ts.map +1 -1
- package/dist/components/LDCarousel/CarouselBase.js +12 -9
- package/dist/components/LDCarousel/LDCarousel.d.ts +13 -11
- package/dist/components/LDCarousel/LDCarousel.d.ts.map +1 -1
- package/dist/components/LDCarousel/LDCarousel.js +3 -3
- package/dist/components/LDChart/LDChart.d.ts +4 -2
- package/dist/components/LDChart/LDChart.d.ts.map +1 -1
- package/dist/components/LDChart/LDChart.js +5 -5
- package/dist/components/LDCheckbox/CheckboxBase.d.ts.map +1 -1
- package/dist/components/LDCheckbox/CheckboxBase.js +3 -3
- package/dist/components/LDCheckbox/LDCheckbox.d.ts +3 -1
- package/dist/components/LDCheckbox/LDCheckbox.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDCheckbox.js +6 -6
- package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts +1 -1
- package/dist/components/LDCheckbox/LDCheckboxGroup.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDCheckboxGroup.js +1 -1
- package/dist/components/LDCheckbox/LDFormCheckbox.d.ts +1 -1
- package/dist/components/LDCheckbox/LDFormCheckbox.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDFormCheckbox.js +2 -2
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts +1 -1
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.d.ts.map +1 -1
- package/dist/components/LDCheckbox/LDFormCheckboxGroup.js +2 -2
- package/dist/components/LDDataCalendar/LDDataCalendar.d.ts +23 -5
- package/dist/components/LDDataCalendar/LDDataCalendar.d.ts.map +1 -1
- package/dist/components/LDDataCalendar/LDDataCalendar.js +28 -5
- package/dist/components/LDDataCalendar/LDDataCalendarBase.d.ts +6 -10
- package/dist/components/LDDataCalendar/LDDataCalendarBase.d.ts.map +1 -1
- package/dist/components/LDDataCalendar/LDDataCalendarBase.js +7 -7
- package/dist/components/LDDatePicker/LDDatePicker.d.ts +11 -4
- package/dist/components/LDDatePicker/LDDatePicker.d.ts.map +1 -1
- package/dist/components/LDDatePicker/LDDatePicker.js +55 -60
- package/dist/components/LDDatePicker/LDFormDatePicker.d.ts +1 -1
- package/dist/components/LDDatePicker/LDFormDatePicker.d.ts.map +1 -1
- package/dist/components/LDDatePicker/LDFormDatePicker.js +4 -4
- package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts +15 -9
- package/dist/components/LDDateRangePicker/LDDateRangePicker.d.ts.map +1 -1
- package/dist/components/LDDateRangePicker/LDDateRangePicker.js +92 -91
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts +1 -1
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.d.ts.map +1 -1
- package/dist/components/LDDateRangePicker/LDFormDateRangePicker.js +3 -3
- package/dist/components/LDDaumPostButton/LDDaumPostButton.d.ts +1 -1
- package/dist/components/LDDaumPostButton/LDDaumPostButton.d.ts.map +1 -1
- package/dist/components/LDDaumPostButton/LDDaumPostButton.js +2 -2
- package/dist/components/LDDivider/DividerBase.d.ts.map +1 -1
- package/dist/components/LDDivider/LDDivider.js +1 -1
- package/dist/components/LDDrawer/DrawerBase.d.ts +26 -47
- package/dist/components/LDDrawer/DrawerBase.d.ts.map +1 -1
- package/dist/components/LDDrawer/DrawerBase.js +19 -25
- package/dist/components/LDDrawer/LDDrawer.d.ts +35 -5
- package/dist/components/LDDrawer/LDDrawer.d.ts.map +1 -1
- package/dist/components/LDDrawer/LDDrawer.js +47 -6
- package/dist/components/LDEditor/EditorBase.d.ts +3 -2
- package/dist/components/LDEditor/EditorBase.d.ts.map +1 -1
- package/dist/components/LDEditor/EditorBase.js +7 -5
- package/dist/components/LDEditor/LDEditor.d.ts.map +1 -1
- package/dist/components/LDEditor/LDEditor.js +37 -27
- package/dist/components/LDEditor/LDViewer.js +3 -3
- package/dist/components/LDEditor/extensions.d.ts.map +1 -1
- package/dist/components/LDEditor/extensions.js +10 -12
- package/dist/components/LDEmpty/LDEmpty.d.ts +3 -1
- package/dist/components/LDEmpty/LDEmpty.d.ts.map +1 -1
- package/dist/components/LDEmpty/LDEmpty.js +1 -1
- package/dist/components/LDFileUpload/FileUploadBase.d.ts +20 -35
- package/dist/components/LDFileUpload/FileUploadBase.d.ts.map +1 -1
- package/dist/components/LDFileUpload/FileUploadBase.js +81 -162
- package/dist/components/LDFileUpload/LDFileUpload.d.ts +31 -17
- package/dist/components/LDFileUpload/LDFileUpload.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDFileUpload.js +73 -5
- package/dist/components/LDFileUpload/LDFileUploadList.d.ts +4 -18
- package/dist/components/LDFileUpload/LDFileUploadList.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDFileUploadList.js +3 -4
- package/dist/components/LDFileUpload/LDImageUpload.d.ts +5 -19
- package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDImageUpload.js +4 -8
- package/dist/components/LDFileUpload/LDImageUploadList.d.ts +4 -18
- package/dist/components/LDFileUpload/LDImageUploadList.d.ts.map +1 -1
- package/dist/components/LDFileUpload/LDImageUploadList.js +4 -4
- package/dist/components/LDForm/LDForm.d.ts +1 -1
- package/dist/components/LDForm/LDForm.d.ts.map +1 -1
- package/dist/components/LDForm/LDFormErrorMessage.d.ts.map +1 -1
- package/dist/components/LDForm/LDFormErrorMessage.js +1 -1
- package/dist/components/LDInput/InputBase.d.ts.map +1 -1
- package/dist/components/LDInput/InputBase.js +1 -1
- package/dist/components/LDInput/LDFormInput.d.ts +1 -1
- package/dist/components/LDInput/LDFormInput.d.ts.map +1 -1
- package/dist/components/LDInput/LDFormInput.js +4 -4
- package/dist/components/LDInput/LDInput.d.ts +5 -3
- package/dist/components/LDInput/LDInput.d.ts.map +1 -1
- package/dist/components/LDInput/LDInput.js +18 -16
- package/dist/components/LDLNB/LDLNB.d.ts +1 -1
- package/dist/components/LDLNB/LDLNB.d.ts.map +1 -1
- package/dist/components/LDLNB/LDLNB.js +7 -7
- package/dist/components/LDLNB/{LDLNBBase.d.ts → LNBBase.d.ts} +3 -3
- package/dist/components/LDLNB/LNBBase.d.ts.map +1 -0
- package/dist/components/LDLNB/{LDLNBBase.js → LNBBase.js} +56 -39
- package/dist/components/LDLoadingDots/LDLoadingDots.d.ts +3 -1
- package/dist/components/LDLoadingDots/LDLoadingDots.d.ts.map +1 -1
- package/dist/components/LDLoadingDots/LDLoadingDots.js +3 -3
- package/dist/components/LDMenuBar/LDMenuBar.d.ts.map +1 -1
- package/dist/components/LDMenuBar/LDMenuBar.js +6 -6
- package/dist/components/LDMenuBar/MenuBarBase.d.ts.map +1 -1
- package/dist/components/LDModal/LDModal.d.ts +4 -2
- package/dist/components/LDModal/LDModal.d.ts.map +1 -1
- package/dist/components/LDModal/LDModal.js +1 -1
- package/dist/components/LDModal/LDModalView.d.ts +4 -2
- package/dist/components/LDModal/LDModalView.d.ts.map +1 -1
- package/dist/components/LDModal/LDModalView.js +7 -7
- package/dist/components/LDModal/ModalBase.d.ts.map +1 -1
- package/dist/components/LDModal/ModalBase.js +2 -2
- package/dist/components/LDNotification/LDNotification.d.ts +4 -2
- package/dist/components/LDNotification/LDNotification.d.ts.map +1 -1
- package/dist/components/LDNotification/LDNotification.js +2 -2
- package/dist/components/LDNotification/NotificationBase.d.ts.map +1 -1
- package/dist/components/LDOTPInput/LDFormOTPInput.d.ts +1 -1
- package/dist/components/LDOTPInput/LDFormOTPInput.d.ts.map +1 -1
- package/dist/components/LDOTPInput/LDFormOTPInput.js +2 -2
- package/dist/components/LDOTPInput/LDOTPInput.d.ts +29 -16
- package/dist/components/LDOTPInput/LDOTPInput.d.ts.map +1 -1
- package/dist/components/LDOTPInput/LDOTPInput.js +26 -20
- package/dist/components/LDOTPInput/OTPInputBase.d.ts +12 -12
- package/dist/components/LDOTPInput/OTPInputBase.d.ts.map +1 -1
- package/dist/components/LDOTPInput/OTPInputBase.js +11 -9
- package/dist/components/LDPagination/LDPagination.d.ts.map +1 -1
- package/dist/components/LDPagination/LDPagination.js +1 -1
- package/dist/components/LDPagination/PaginationBase.d.ts +1 -1
- package/dist/components/LDPagination/PaginationBase.d.ts.map +1 -1
- package/dist/components/LDPagination/PaginationBase.js +5 -5
- package/dist/components/LDPopover/LDPopover.d.ts +3 -1
- package/dist/components/LDPopover/LDPopover.d.ts.map +1 -1
- package/dist/components/LDPopover/LDPopover.js +5 -5
- package/dist/components/LDPopover/PopoverBase.d.ts +2 -1
- package/dist/components/LDPopover/PopoverBase.d.ts.map +1 -1
- package/dist/components/LDPopover/PopoverBase.js +2 -2
- package/dist/components/LDProgressBar/LDProgressBar.d.ts.map +1 -1
- package/dist/components/LDProgressBar/LDProgressBar.js +2 -2
- package/dist/components/LDProgressBar/ProgressBarBase.d.ts.map +1 -1
- package/dist/components/LDProgressBar/ProgressBarBase.js +1 -1
- package/dist/components/LDRadio/LDFormRadioGroup.d.ts +1 -1
- package/dist/components/LDRadio/LDFormRadioGroup.d.ts.map +1 -1
- package/dist/components/LDRadio/LDFormRadioGroup.js +2 -2
- package/dist/components/LDRadio/LDRadio.d.ts +3 -1
- package/dist/components/LDRadio/LDRadio.d.ts.map +1 -1
- package/dist/components/LDRadio/LDRadio.js +7 -7
- package/dist/components/LDRadio/LDRadioGroup.d.ts +1 -1
- package/dist/components/LDRadio/LDRadioGroup.d.ts.map +1 -1
- package/dist/components/LDRadio/LDRadioGroup.js +1 -1
- package/dist/components/LDRadio/RadioBase.d.ts.map +1 -1
- package/dist/components/LDRadio/RadioBase.js +1 -1
- package/dist/components/LDRate/LDFormRate.d.ts +1 -1
- package/dist/components/LDRate/LDFormRate.d.ts.map +1 -1
- package/dist/components/LDRate/LDRate.d.ts +1 -1
- package/dist/components/LDRate/LDRate.d.ts.map +1 -1
- package/dist/components/LDRate/LDRate.js +6 -6
- package/dist/components/LDScrollArea/LDScrollArea.d.ts.map +1 -1
- package/dist/components/LDScrollArea/LDScrollArea.js +2 -2
- package/dist/components/LDSectionNav/LDSectionNav.js +1 -1
- package/dist/components/LDSectionNav/SectionNavBase.d.ts.map +1 -1
- package/dist/components/LDSectionNav/SectionNavBase.js +1 -1
- package/dist/components/LDSegmented/LDSegmented.d.ts +5 -3
- package/dist/components/LDSegmented/LDSegmented.d.ts.map +1 -1
- package/dist/components/LDSegmented/LDSegmented.js +13 -10
- package/dist/components/LDSegmented/SegmentedBase.d.ts.map +1 -1
- package/dist/components/LDSegmented/SegmentedBase.js +1 -1
- package/dist/components/LDSelect/LDFormMultiSelect.d.ts +1 -1
- package/dist/components/LDSelect/LDFormMultiSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDFormMultiSelect.js +3 -3
- package/dist/components/LDSelect/LDFormSelect.d.ts +1 -1
- package/dist/components/LDSelect/LDFormSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDFormSelect.js +3 -3
- package/dist/components/LDSelect/LDMultiSelect.d.ts +6 -4
- package/dist/components/LDSelect/LDMultiSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDMultiSelect.js +13 -13
- package/dist/components/LDSelect/LDSelect.d.ts +39 -7
- package/dist/components/LDSelect/LDSelect.d.ts.map +1 -1
- package/dist/components/LDSelect/LDSelect.js +56 -19
- package/dist/components/LDSelect/SelectBase.d.ts +25 -28
- package/dist/components/LDSelect/SelectBase.d.ts.map +1 -1
- package/dist/components/LDSelect/SelectBase.js +65 -24
- package/dist/components/LDSkeleton/LDSkeleton.d.ts.map +1 -1
- package/dist/components/LDSkeleton/LDSkeleton.js +1 -1
- package/dist/components/LDSlider/LDSlider.d.ts +31 -2
- package/dist/components/LDSlider/LDSlider.d.ts.map +1 -1
- package/dist/components/LDSlider/LDSlider.js +62 -184
- package/dist/components/LDSlider/SliderBase.d.ts +44 -0
- package/dist/components/LDSlider/SliderBase.d.ts.map +1 -0
- package/dist/components/LDSlider/SliderBase.js +145 -0
- package/dist/components/LDSpinner/LDSpinner.d.ts +1 -6
- package/dist/components/LDSpinner/LDSpinner.d.ts.map +1 -1
- package/dist/components/LDSpinner/LDSpinner.js +4 -12
- package/dist/components/LDTable/{TableField.d.ts → HeadlessTable.d.ts} +18 -23
- package/dist/components/LDTable/HeadlessTable.d.ts.map +1 -0
- package/dist/components/LDTable/{TableField.js → HeadlessTable.js} +61 -12
- package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts +4 -5
- package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDCollapsibleTanstackTable.js +17 -27
- package/dist/components/LDTable/LDTable.d.ts +4 -5
- package/dist/components/LDTable/LDTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDTable.js +7 -7
- package/dist/components/LDTable/LDTanstackTable.d.ts +4 -5
- package/dist/components/LDTable/LDTanstackTable.d.ts.map +1 -1
- package/dist/components/LDTable/LDTanstackTable.js +11 -18
- package/dist/components/LDTable/TableBase.d.ts +1 -1
- package/dist/components/LDTable/TableBase.d.ts.map +1 -1
- package/dist/components/LDTabs/LDTabs.d.ts +1 -1
- package/dist/components/LDTabs/LDTabs.d.ts.map +1 -1
- package/dist/components/LDTabs/LDTabs.js +15 -15
- package/dist/components/LDTabs/TabsBase.d.ts +1 -1
- package/dist/components/LDTabs/TabsBase.d.ts.map +1 -1
- package/dist/components/LDTeamHistory/LDTeamHistory.js +3 -3
- package/dist/components/LDTeamHistory/TeamHistoryBase.d.ts.map +1 -1
- package/dist/components/LDTeamHistory/TeamHistoryBase.js +19 -10
- package/dist/components/LDTextarea/LDFormTextarea.d.ts +1 -1
- package/dist/components/LDTextarea/LDFormTextarea.d.ts.map +1 -1
- package/dist/components/LDTextarea/LDFormTextarea.js +3 -3
- package/dist/components/LDTextarea/LDTextarea.d.ts +5 -3
- package/dist/components/LDTextarea/LDTextarea.d.ts.map +1 -1
- package/dist/components/LDTextarea/LDTextarea.js +7 -5
- package/dist/components/LDTimePicker/LDFormTimePicker.d.ts +1 -1
- package/dist/components/LDTimePicker/LDFormTimePicker.d.ts.map +1 -1
- package/dist/components/LDTimePicker/LDFormTimePicker.js +3 -3
- package/dist/components/LDTimePicker/LDTimePicker.d.ts.map +1 -1
- package/dist/components/LDTimePicker/LDTimePicker.js +19 -20
- package/dist/components/LDToast/LDToast.js +2 -2
- package/dist/components/LDToggleButton/LDFormToggleButton.d.ts +1 -1
- package/dist/components/LDToggleButton/LDFormToggleButton.d.ts.map +1 -1
- package/dist/components/LDToggleButton/LDFormToggleButton.js +2 -2
- package/dist/components/LDToggleButton/LDToggleButton.d.ts +3 -1
- package/dist/components/LDToggleButton/LDToggleButton.d.ts.map +1 -1
- package/dist/components/LDToggleButton/LDToggleButton.js +1 -1
- package/dist/components/LDToggleButton/ToggleButtonBase.d.ts +1 -3
- package/dist/components/LDToggleButton/ToggleButtonBase.d.ts.map +1 -1
- package/dist/components/LDToggleButton/ToggleButtonBase.js +5 -14
- package/dist/components/LDTooltip/LDTooltip.d.ts.map +1 -1
- package/dist/components/LDTooltip/LDTooltip.js +2 -2
- package/dist/components/LDTooltip/TooltipBase.d.ts.map +1 -1
- package/dist/components/LDTooltip/TooltipBase.js +1 -1
- package/dist/components/RenderIcon/RenderIcon.d.ts +16 -0
- package/dist/components/RenderIcon/RenderIcon.d.ts.map +1 -0
- package/dist/components/RenderIcon/RenderIcon.js +27 -0
- package/dist/components/RenderIcon/RenderIcon.test.d.ts +2 -0
- package/dist/components/RenderIcon/RenderIcon.test.d.ts.map +1 -0
- package/dist/components/RenderIcon/RenderIcon.test.js +38 -0
- package/dist/components/Show/Show.d.ts +57 -0
- package/dist/components/Show/Show.d.ts.map +1 -0
- package/dist/components/Show/Show.js +15 -0
- package/dist/constants/file.d.ts +2 -0
- package/dist/constants/file.d.ts.map +1 -1
- package/dist/constants/file.js +2 -0
- package/dist/index.css +513 -389
- package/dist/index.d.ts +17 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -13
- package/dist/types/common.d.ts +1 -1
- package/dist/types/common.d.ts.map +1 -1
- package/dist/utils/cn.d.ts.map +1 -1
- package/dist/utils/cn.js +10 -0
- package/dist/utils/date.d.ts +4 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +7 -0
- package/dist/utils/file.d.ts +1 -1
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +6 -4
- package/dist/utils/tv.d.ts +9 -4
- package/dist/utils/tv.d.ts.map +1 -1
- package/dist/utils/tv.js +8 -3
- package/dist/utils/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/dist/utils/useIsomorphicLayoutEffect.js +7 -0
- package/package.json +36 -30
- package/src/styles/carousel.css +11 -0
- package/src/styles/color.css +5 -5
- package/src/styles/components/bread-crumb.css +0 -30
- package/src/styles/components/icon.css +23 -25
- package/src/styles/components/input.css +0 -25
- package/src/styles/motion.css +0 -27
- package/src/styles/slider.css +14 -8
- package/dist/components/LDButton/ButtonSpinner.d.ts +0 -8
- package/dist/components/LDButton/ButtonSpinner.d.ts.map +0 -1
- package/dist/components/LDButton/ButtonSpinner.js +0 -15
- package/dist/components/LDLNB/LDLNBBase.d.ts.map +0 -1
- package/dist/components/LDSegmented/useIsomorphicLayoutEffect.d.ts.map +0 -1
- package/dist/components/LDSegmented/useIsomorphicLayoutEffect.js +0 -5
- package/dist/components/LDTable/TableField.d.ts.map +0 -1
- package/dist/utils/renderIcon.d.ts +0 -3
- package/dist/utils/renderIcon.d.ts.map +0 -1
- package/dist/utils/renderIcon.js +0 -12
- /package/dist/{components/LDSegmented → utils}/useIsomorphicLayoutEffect.d.ts +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import ButtonBase from '../../components/LDButton/ButtonBase.js';
|
|
3
|
+
import LDSpinner from '../../components/LDSpinner/LDSpinner.js';
|
|
4
|
+
import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
|
|
5
|
+
import Show from '../../components/Show/Show.js';
|
|
2
6
|
import cn from '../../utils/cn.js';
|
|
3
|
-
import { renderIcon } from '../../utils/renderIcon.js';
|
|
4
7
|
import tv from '../../utils/tv.js';
|
|
5
|
-
import ButtonBase from './ButtonBase.js';
|
|
6
|
-
import ButtonSpinner from './ButtonSpinner.js';
|
|
7
8
|
// ── 스타일 매핑 (static) ──
|
|
8
9
|
// 배경·테두리·텍스트 색은 variant × color 조합에서 갈리고, 거기에 disabled/loading 상태까지
|
|
9
10
|
// 얹혀야 하므로 compoundVariants가 담당한다. 축 하나로 결정되는 값만 variants에 둔다.
|
|
@@ -20,9 +21,9 @@ const buttonVariants = tv({
|
|
|
20
21
|
},
|
|
21
22
|
// focus 링 색은 variant와 무관하게 color만 본다 (disabled일 때도 유지).
|
|
22
23
|
color: {
|
|
23
|
-
neutral: 'focus-visible:
|
|
24
|
-
point: 'focus-visible:
|
|
25
|
-
danger: 'focus-visible:
|
|
24
|
+
neutral: 'focus-visible:ring-2 focus-visible:ring-neutral800 focus-visible:outline-none',
|
|
25
|
+
point: 'focus-visible:ring-2 focus-visible:ring-lb500 focus-visible:outline-none',
|
|
26
|
+
danger: 'focus-visible:ring-2 focus-visible:ring-danger500 focus-visible:outline-none',
|
|
26
27
|
},
|
|
27
28
|
size: {
|
|
28
29
|
'2xsmall': 'btn-2xs',
|
|
@@ -43,7 +44,7 @@ const buttonVariants = tv({
|
|
|
43
44
|
},
|
|
44
45
|
block: { true: 'w-full' },
|
|
45
46
|
// compact는 size 프리셋(btn-*)의 좌우 여백을 지우므로 size 뒤에 선언한다.
|
|
46
|
-
compact: { true: '
|
|
47
|
+
compact: { true: 'aspect-square min-w-0 px-0' },
|
|
47
48
|
loading: { true: 'cursor-wait', false: 'cursor-pointer' },
|
|
48
49
|
// disabled 커서가 loading 커서를 이겨야 하므로 loading 뒤에 선언한다.
|
|
49
50
|
disabled: { true: 'cursor-not-allowed' },
|
|
@@ -54,7 +55,7 @@ const buttonVariants = tv({
|
|
|
54
55
|
variant: 'solid',
|
|
55
56
|
color: 'neutral',
|
|
56
57
|
disabled: false,
|
|
57
|
-
className: 'bg-
|
|
58
|
+
className: 'bg-black text-white',
|
|
58
59
|
},
|
|
59
60
|
{
|
|
60
61
|
variant: 'solid',
|
|
@@ -72,19 +73,19 @@ const buttonVariants = tv({
|
|
|
72
73
|
variant: 'outline',
|
|
73
74
|
color: 'neutral',
|
|
74
75
|
disabled: false,
|
|
75
|
-
className: 'bg-white outline-neutral100
|
|
76
|
+
className: 'bg-white text-neutral900 outline-neutral100',
|
|
76
77
|
},
|
|
77
78
|
{
|
|
78
79
|
variant: 'outline',
|
|
79
80
|
color: 'point',
|
|
80
81
|
disabled: false,
|
|
81
|
-
className: 'bg-white
|
|
82
|
+
className: 'bg-white text-lb500 outline-lb500',
|
|
82
83
|
},
|
|
83
84
|
{
|
|
84
85
|
variant: 'outline',
|
|
85
86
|
color: 'danger',
|
|
86
87
|
disabled: false,
|
|
87
|
-
className: 'bg-white
|
|
88
|
+
className: 'bg-white text-danger500 outline-danger500',
|
|
88
89
|
},
|
|
89
90
|
// ghost와 link는 배경이 없어 기본 색이 동일하다 (link의 밑줄은 variant 축이 담당)
|
|
90
91
|
{
|
|
@@ -112,7 +113,7 @@ const buttonVariants = tv({
|
|
|
112
113
|
color: 'neutral',
|
|
113
114
|
disabled: false,
|
|
114
115
|
loading: false,
|
|
115
|
-
className: 'hover:bg-
|
|
116
|
+
className: 'hover:bg-neutral800 active:bg-neutral800',
|
|
116
117
|
},
|
|
117
118
|
{
|
|
118
119
|
variant: 'solid',
|
|
@@ -209,21 +210,7 @@ const buttonVariants = tv({
|
|
|
209
210
|
},
|
|
210
211
|
],
|
|
211
212
|
});
|
|
212
|
-
// leftIcon/rightIcon(svg) 크기. 버튼 자체가 아니라 아이콘 엘리먼트에 붙으므로 별도 tv()다.
|
|
213
|
-
const iconVariants = tv({
|
|
214
|
-
variants: {
|
|
215
|
-
size: {
|
|
216
|
-
'2xsmall': 'icon-2xs',
|
|
217
|
-
xsmall: 'icon-xs',
|
|
218
|
-
small: 'icon-sm',
|
|
219
|
-
medium: 'icon-md',
|
|
220
|
-
large: 'icon-lg',
|
|
221
|
-
xlarge: 'icon-xl',
|
|
222
|
-
},
|
|
223
|
-
},
|
|
224
|
-
});
|
|
225
213
|
const LDButton = ({ as, variant = 'solid', color = 'point', size = 'small', shape = 'default', align = 'center', loading = false, block = false, children, className, leftIcon, rightIcon, compact = false, ref, ...props }) => {
|
|
226
|
-
const iconSize = iconVariants({ size });
|
|
227
214
|
return (_jsxs(ButtonBase.Root, { as: as, ref: ref, className: buttonVariants({
|
|
228
215
|
variant,
|
|
229
216
|
color,
|
|
@@ -236,6 +223,6 @@ const LDButton = ({ as, variant = 'solid', color = 'point', size = 'small', shap
|
|
|
236
223
|
// 미지정도 false 분기(기본 색·hover)를 타야 하므로 boolean으로 좁혀 넘긴다.
|
|
237
224
|
disabled: !!props.disabled,
|
|
238
225
|
className,
|
|
239
|
-
}), ...props, disabled: props.disabled || loading, children: [
|
|
226
|
+
}), ...props, disabled: props.disabled || loading, children: [_jsx(Show, { when: !loading, fallback: _jsx(LDSpinner, { className: "mobile:absolute mobile:top-1/2 mobile:left-1/2 mobile:-translate-1/2" }), children: _jsx(RenderIcon, { children: leftIcon }) }), _jsx(Show, { when: children, children: _jsx("span", { className: cn('shrink-0', loading && 'mobile:invisible'), children: children }) }), _jsx(RenderIcon, { className: cn(loading && 'mobile:invisible'), children: rightIcon })] }));
|
|
240
227
|
};
|
|
241
228
|
export default LDButton;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type DayPickerProps, type Matcher } from 'react-day-picker';
|
|
2
1
|
import { type CSSProperties } from 'react';
|
|
2
|
+
import { type DayPickerProps, type Matcher } from 'react-day-picker';
|
|
3
3
|
/** react-day-picker의 DayPickerProps를 확장한 캘린더 Base props */
|
|
4
4
|
export type CalendarBaseProps = DayPickerProps & {
|
|
5
5
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarBase.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CalendarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarBase.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,OAAO,EACb,MAAM,kBAAkB,CAAC;AAI1B,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,YAAY,GAAI,6HAYnB,iBAAiB,4CA8BnB,CAAC;AA+GF,eAAe,YAAY,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
4
|
+
import { useEffect, useRef, } from 'react';
|
|
3
5
|
import { DayPicker, getDefaultClassNames, } from 'react-day-picker';
|
|
4
|
-
import { useRef, useEffect, } from 'react';
|
|
5
6
|
import cn from '../../utils/cn.js';
|
|
6
|
-
import { ChevronDown, ChevronLeft, ChevronRight } from 'lucide-react';
|
|
7
7
|
/**
|
|
8
8
|
* CalendarBase — react-day-picker 래핑 레이어. 구조·동작·접근성만 담당한다.
|
|
9
9
|
* (component 오버라이드, booked/book 모디파이어 배선, formatters, 날짜 범위, 포커스 관리)
|
|
@@ -18,15 +18,16 @@ const CalendarBase = ({ className, style, classNames, captionLayout = 'label', f
|
|
|
18
18
|
book,
|
|
19
19
|
...modifiers,
|
|
20
20
|
}, components: {
|
|
21
|
-
Root:
|
|
22
|
-
Chevron:
|
|
23
|
-
return orientation === 'left' ? (_jsx(ChevronLeft, { className: cn('size-4', chevronClassName) })) : orientation === 'right' ? (_jsx(ChevronRight, { className: cn('size-4', chevronClassName) })) : (_jsx(ChevronDown, { className: cn('size-4', chevronClassName) }));
|
|
24
|
-
},
|
|
21
|
+
Root: CalendarRoot,
|
|
22
|
+
Chevron: CalendarChevron,
|
|
25
23
|
DayButton: CalendarDayButton,
|
|
26
|
-
WeekNumber:
|
|
24
|
+
WeekNumber: CalendarWeekNumber,
|
|
27
25
|
...components,
|
|
28
26
|
}, ...props }));
|
|
29
27
|
};
|
|
28
|
+
const CalendarRoot = ({ className, rootRef, ...props }) => (_jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(className), ...props }));
|
|
29
|
+
const CalendarChevron = ({ className, orientation, }) => orientation === 'left' ? (_jsx(ChevronLeft, { className: cn('size-4', className) })) : orientation === 'right' ? (_jsx(ChevronRight, { className: cn('size-4', className) })) : (_jsx(ChevronDown, { className: cn('size-4', className) }));
|
|
30
|
+
const CalendarWeekNumber = ({ children, ...props }) => (_jsx("td", { ...props, children: _jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: children }) }));
|
|
30
31
|
/** 날짜 셀 버튼 — 구조 + 접근성(data-속성, 포커스 관리) + book/booked 표시 요소 */
|
|
31
32
|
const CalendarDayButton = ({ className: btnClassName, day, modifiers, ...btnProps }) => {
|
|
32
33
|
const defaultClassNames = getDefaultClassNames();
|
|
@@ -38,12 +39,12 @@ const CalendarDayButton = ({ className: btnClassName, day, modifiers, ...btnProp
|
|
|
38
39
|
return (_jsxs("button", { ref: ref, type: "button", "data-day": day.date.toLocaleDateString(), "data-selected-single": modifiers.selected &&
|
|
39
40
|
!modifiers.range_start &&
|
|
40
41
|
!modifiers.range_end &&
|
|
41
|
-
!modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn('relative inline-flex items-center justify-center rounded-lg
|
|
42
|
+
!modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn('relative inline-flex cursor-pointer items-center justify-center rounded-lg font-medium text-sm outline-none ld-transition', 'hover:bg-(--calendar-accent-bg) hover:text-(--calendar-accent)', 'm-auto flex size-(--day-size) min-w-(--day-size) flex-col gap-1', 'leading-none font-normal', 'data-[selected-single=true]:bg-(--calendar-accent-bg) data-[selected-single=true]:text-(--calendar-accent)', 'data-[range-start=true]:bg-(--calendar-accent-bg) data-[range-start=true]:text-(--calendar-accent)', 'data-[range-middle=true]:text-neutral500', 'data-[range-end=true]:bg-(--calendar-accent-bg) data-[range-end=true]:text-(--calendar-accent)', 'group-data-[focused=true]/day:relative', 'group-data-[focused=true]/day:z-10', '', modifiers.range_start &&
|
|
42
43
|
!modifiers.range_end &&
|
|
43
44
|
'rounded-l-lg rounded-r-none', modifiers.range_end &&
|
|
44
45
|
!modifiers.range_start &&
|
|
45
|
-
'rounded-l-none rounded-r-lg', modifiers.range_middle && 'rounded-none', modifiers.range_start && modifiers.range_end && 'rounded-lg',
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
'rounded-l-none rounded-r-lg', modifiers.range_middle && 'rounded-none', modifiers.range_start && modifiers.range_end && 'rounded-lg', modifiers.today &&
|
|
47
|
+
!modifiers.selected &&
|
|
48
|
+
'font-semibold ring-1 ring-(--calendar-accent) ring-inset', defaultClassNames.day, btnClassName), ...btnProps, children: [_jsx("span", { className: cn('relative z-10', modifiers.booked && 'line-through decoration-current opacity-40'), children: btnProps.children }), modifiers.book && (_jsx("span", { className: "absolute bottom-1 size-1 rounded-full bg-(--calendar-accent)" }))] }));
|
|
48
49
|
};
|
|
49
50
|
export default CalendarBase;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CalendarColorSet } from '../../components/LDCalendar/LDCalendar.js';
|
|
2
|
+
export interface CalendarTimePickerProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (time: string) => void;
|
|
5
|
+
showSeconds?: boolean;
|
|
6
|
+
colorSet?: Pick<CalendarColorSet, 'accent' | 'accentBg'>;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
declare const CalendarTimePicker: ({ value, onChange, showSeconds, colorSet, className, }: CalendarTimePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default CalendarTimePicker;
|
|
11
|
+
//# sourceMappingURL=CalendarTimePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarTimePicker.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/CalendarTimePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAgB3E,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,kBAAkB,GAAI,wDAMzB,uBAAuB,4CA+DzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import cn from '../../utils/cn.js';
|
|
5
|
+
const HOURS = Array.from({ length: 12 }, (_, i) => (i === 0 ? 12 : i));
|
|
6
|
+
const MINUTES = Array.from({ length: 60 }, (_, i) => i);
|
|
7
|
+
const SECONDS = Array.from({ length: 60 }, (_, i) => i);
|
|
8
|
+
const AMPM = ['am', 'pm'];
|
|
9
|
+
const pad2 = (n) => String(n).padStart(2, '0');
|
|
10
|
+
const to24Hour = (hour12, period) => {
|
|
11
|
+
const base = hour12 % 12;
|
|
12
|
+
return period === 'pm' ? base + 12 : base;
|
|
13
|
+
};
|
|
14
|
+
const CalendarTimePicker = ({ value, onChange, showSeconds = true, colorSet, className, }) => {
|
|
15
|
+
const [hours, minutes, seconds, ampm] = useMemo(() => {
|
|
16
|
+
const [h = 0, m = 0, s = 0] = (value ?? '00:00')
|
|
17
|
+
.split(':')
|
|
18
|
+
.map((s) => parseInt(s, 10));
|
|
19
|
+
const ampm = h >= 12 ? 'pm' : 'am';
|
|
20
|
+
const hour = h % 12 === 0 ? 12 : h % 12;
|
|
21
|
+
return [hour, m, s, ampm];
|
|
22
|
+
}, [value]);
|
|
23
|
+
const handleSelect = (h, m, s, period) => {
|
|
24
|
+
const base = `${pad2(to24Hour(h, period))}:${pad2(m)}`;
|
|
25
|
+
onChange?.(showSeconds ? `${base}:${pad2(s)}` : base);
|
|
26
|
+
};
|
|
27
|
+
return (_jsxs("div", { style: {
|
|
28
|
+
'--calendar-accent': colorSet?.accent,
|
|
29
|
+
'--calendar-accent-bg': colorSet?.accentBg,
|
|
30
|
+
}, className: cn('flex h-auto items-stretch divide-x divide-neutral100 border-l border-neutral100 [--time-cell-size:--spacing(8)]', '[--calendar-accent-bg:var(--color-tintBlue)] [--calendar-accent:var(--color-lb500)]', className), children: [_jsx(TimeScrollColumn, { values: HOURS, selected: hours, ariaLabel: "\uC2DC", format: pad2, onSelect: (v) => handleSelect(v, minutes, seconds, ampm) }), _jsx(TimeScrollColumn, { values: MINUTES, selected: minutes, ariaLabel: "\uBD84", format: pad2, onSelect: (v) => handleSelect(hours, v, seconds, ampm) }), showSeconds && (_jsx(TimeScrollColumn, { values: SECONDS, selected: seconds, ariaLabel: "\uCD08", format: pad2, onSelect: (v) => handleSelect(hours, minutes, v, ampm) })), _jsx(TimeScrollColumn, { values: AMPM, selected: ampm, ariaLabel: "\uC624\uC804/\uC624\uD6C4", format: (v) => (v === 'am' ? '오전' : '오후'), onSelect: (v) => handleSelect(hours, minutes, seconds, v) })] }));
|
|
31
|
+
};
|
|
32
|
+
export default CalendarTimePicker;
|
|
33
|
+
const TimeScrollColumn = ({ values, selected, onSelect, ariaLabel, format = (v) => String(v), }) => {
|
|
34
|
+
const scrollRef = useRef(null);
|
|
35
|
+
const scrollThumbRef = useRef(null);
|
|
36
|
+
const mountRef = useRef(false);
|
|
37
|
+
const updateScrollThumb = () => {
|
|
38
|
+
const el = scrollRef.current;
|
|
39
|
+
const scrollThumb = scrollThumbRef.current;
|
|
40
|
+
if (!el || !scrollThumb)
|
|
41
|
+
return;
|
|
42
|
+
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
43
|
+
if (scrollHeight <= clientHeight) {
|
|
44
|
+
scrollThumb.style.opacity = '0';
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const height = Math.max(24, (clientHeight / scrollHeight) * clientHeight);
|
|
48
|
+
const top = (scrollTop / (scrollHeight - clientHeight)) * (clientHeight - height);
|
|
49
|
+
scrollThumb.style.removeProperty('opacity'); // hover 클래스가 다시 제어하도록
|
|
50
|
+
scrollThumb.style.height = `${height}px`;
|
|
51
|
+
scrollThumb.style.transform = `translateY(${top}px)`;
|
|
52
|
+
};
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
const el = scrollRef.current;
|
|
55
|
+
if (!el)
|
|
56
|
+
return;
|
|
57
|
+
const idx = values.indexOf(selected);
|
|
58
|
+
if (idx < 0)
|
|
59
|
+
return;
|
|
60
|
+
const item = el.children[idx];
|
|
61
|
+
if (!(item instanceof HTMLElement))
|
|
62
|
+
return;
|
|
63
|
+
const behavior = mountRef.current ? 'smooth' : 'auto';
|
|
64
|
+
mountRef.current = true;
|
|
65
|
+
el.scrollTo({
|
|
66
|
+
top: item.offsetTop - (el.clientHeight - item.offsetHeight) / 2,
|
|
67
|
+
behavior,
|
|
68
|
+
});
|
|
69
|
+
}, [selected, values]);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
const el = scrollRef.current;
|
|
72
|
+
if (!el)
|
|
73
|
+
return;
|
|
74
|
+
updateScrollThumb();
|
|
75
|
+
const observer = new ResizeObserver(updateScrollThumb);
|
|
76
|
+
observer.observe(el);
|
|
77
|
+
return () => observer.disconnect();
|
|
78
|
+
}, [values]);
|
|
79
|
+
return (_jsxs("div", { className: "group/col relative h-full min-h-0", children: [_jsx("div", { ref: scrollRef, role: "listbox", "aria-label": ariaLabel, onScroll: updateScrollThumb, className: "scrollbar-hide h-full min-h-0 w-auto overflow-y-auto px-1.5 py-1", children: values.map((v) => (_jsx("button", { type: "button", role: "option", "aria-selected": v === selected, onClick: () => onSelect(v), className: cn('flex h-(--time-cell-size) w-10 items-center justify-center rounded-md display14 text-sm ld-transition hover:cursor-pointer', v === selected
|
|
80
|
+
? 'bg-(--calendar-accent-bg) text-(--calendar-accent)'
|
|
81
|
+
: 'hover:bg-neutral50'), children: format(v) }, String(v)))) }), _jsx("div", { ref: scrollThumbRef, "aria-hidden": true, className: "pointer-events-none absolute top-0 right-0.5 w-1.5 rounded-full bg-neutral400/60 opacity-0 transition-opacity duration-300 group-hover/col:opacity-100" })] }));
|
|
82
|
+
};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import { type CalendarBaseProps } from '
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { type CalendarBaseProps } from '../../components/LDCalendar/CalendarBase.js';
|
|
2
|
+
/** 캘린더 강조 색. 지정한 항목만 기본값을 덮어쓴다 */
|
|
3
|
+
export interface CalendarColorSet {
|
|
4
|
+
accent?: string;
|
|
5
|
+
/** 선택·hover 배경 */
|
|
6
|
+
accentBg?: string;
|
|
7
|
+
/** 범위 선택 띠 배경 */
|
|
8
|
+
band?: string;
|
|
9
|
+
}
|
|
10
|
+
export type LDCalendarProps = CalendarBaseProps & {
|
|
11
|
+
colorSet?: CalendarColorSet;
|
|
12
|
+
};
|
|
13
|
+
declare const LDCalendarMemo: import("react").MemoExoticComponent<({ className, classNames, captionLayout, colorSet, style, ...props }: LDCalendarProps) => import("react/jsx-runtime").JSX.Element>;
|
|
9
14
|
export default LDCalendarMemo;
|
|
10
15
|
//# sourceMappingURL=LDCalendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/LDCalendar.tsx"],"names":[],"mappings":"AAKA,OAAqB,
|
|
1
|
+
{"version":3,"file":"LDCalendar.d.ts","sourceRoot":"","sources":["../../../src/components/LDCalendar/LDCalendar.tsx"],"names":[],"mappings":"AAKA,OAAqB,EACnB,KAAK,iBAAiB,EACvB,MAAM,sCAAsC,CAAC;AAG9C,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAE/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,iBAAiB,GAAG;IAChD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAuFF,QAAA,MAAM,cAAc,4GA/BjB,eAAe,6CA+BqB,CAAC;AAGxC,eAAe,cAAc,CAAC"}
|
|
@@ -1,87 +1,54 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import CalendarBase from '../../components/LDCalendar/CalendarBase.js';
|
|
5
5
|
import cn from '../../utils/cn.js';
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
disabled: cn('text-neutral-500 opacity-50', defaultClassNames.disabled),
|
|
38
|
-
hidden: cn('invisible', defaultClassNames.hidden),
|
|
39
|
-
...classNames,
|
|
40
|
-
}, ...props }));
|
|
41
|
-
};
|
|
42
|
-
const TIME_ITEM_HEIGHT = 32; // NOTE: px, h-8과 동일
|
|
43
|
-
const pad2 = (n) => String(n).padStart(2, '0');
|
|
44
|
-
const HOURS = Array.from({ length: 12 }, (_, i) => (i === 0 ? 12 : i));
|
|
45
|
-
const MINUTES = Array.from({ length: 60 }, (_, i) => i);
|
|
46
|
-
const SECONDS = Array.from({ length: 60 }, (_, i) => i);
|
|
47
|
-
const AMPM = ['am', 'pm'];
|
|
48
|
-
const to24Hour = (hour12, period) => {
|
|
49
|
-
const base = hour12 % 12; // 12 → 0
|
|
50
|
-
return period === 'pm' ? base + 12 : base;
|
|
51
|
-
};
|
|
52
|
-
const TimeScrollColumn = ({ values, selected, onSelect, ariaLabel, format = (v) => String(v), className, }) => {
|
|
53
|
-
const ref = useRef(null);
|
|
54
|
-
const mountRef = useRef(false);
|
|
55
|
-
useEffect(() => {
|
|
56
|
-
const el = ref.current;
|
|
57
|
-
if (!el)
|
|
58
|
-
return;
|
|
59
|
-
const idx = values.indexOf(selected);
|
|
60
|
-
if (idx < 0)
|
|
61
|
-
return;
|
|
62
|
-
const behavior = mountRef.current ? 'smooth' : 'auto';
|
|
63
|
-
mountRef.current = true;
|
|
64
|
-
el.scrollTo({
|
|
65
|
-
top: idx * TIME_ITEM_HEIGHT - (el.clientHeight - TIME_ITEM_HEIGHT) / 2,
|
|
66
|
-
behavior,
|
|
67
|
-
});
|
|
68
|
-
}, [selected, values]);
|
|
69
|
-
return (_jsx("div", { ref: ref, role: "listbox", "aria-label": ariaLabel, className: cn('h-full min-h-0 overflow-y-auto scrollbar-hover ld-transition w-auto border-neutral100 pt-1 pb-0', className), children: values.map((v) => (_jsx("button", { type: "button", role: "option", "aria-selected": v === selected, onClick: () => onSelect(v), className: cn('display14 flex h-8 w-10 items-center justify-center rounded-md text-sm ld-transition hover:cursor-pointer', v === selected ? 'bg-tintBlue text-lb500' : 'hover:bg-neutral50'), children: format(v) }, String(v)))) }));
|
|
70
|
-
};
|
|
71
|
-
export const TimePicker = ({ value, onChange, className, }) => {
|
|
72
|
-
const [hours, minutes, seconds, ampm] = useMemo(() => {
|
|
73
|
-
const [h = 0, m = 0, s = 0] = (value ?? '00:00:00')
|
|
74
|
-
.split(':')
|
|
75
|
-
.map((s) => parseInt(s, 10));
|
|
76
|
-
const ampm = h >= 12 ? 'pm' : 'am';
|
|
77
|
-
const hour = h % 12 === 0 ? 12 : h % 12;
|
|
78
|
-
return [hour, m, s, ampm];
|
|
79
|
-
}, [value]);
|
|
80
|
-
const commit = (hours, minutes, seconds, ampm) => {
|
|
81
|
-
onChange?.(`${pad2(to24Hour(hours, ampm))}:${pad2(minutes)}:${pad2(seconds)}`);
|
|
82
|
-
};
|
|
83
|
-
return (_jsxs("div", { className: cn('flex h-auto items-stretch border-l border-neutral100 pr-1.5', className), children: [_jsx(TimeScrollColumn, { values: HOURS, selected: hours, ariaLabel: "\uC2DC", format: pad2, onSelect: (v) => commit(v, minutes, seconds, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: MINUTES, selected: minutes, ariaLabel: "\uBD84", format: pad2, onSelect: (v) => commit(hours, v, seconds, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: SECONDS, selected: seconds, ariaLabel: "\uCD08", format: pad2, onSelect: (v) => commit(hours, minutes, v, ampm), className: "border-r border-neutral100 pl-1" }), _jsx(TimeScrollColumn, { values: AMPM, selected: ampm, ariaLabel: "\uC624\uC804/\uC624\uD6C4", format: (v) => (v === 'am' ? '오전' : '오후'), onSelect: (v) => commit(hours, minutes, seconds, v), className: "pl-1" })] }));
|
|
6
|
+
/* 공통 좌우 네비게이션 버튼 */
|
|
7
|
+
const NAV_BUTTON = cn('inline-flex size-(--cell-size) items-center justify-center rounded-md p-0 font-medium text-sm outline-none select-none ld-transition', 'cursor-pointer hover:bg-neutral50 focus-visible:ring-2 focus-visible:ring-(--calendar-accent) focus-visible:ring-inset aria-disabled:opacity-50');
|
|
8
|
+
const SLOT_CLASSNAMES = {
|
|
9
|
+
// 월 컨테이너
|
|
10
|
+
months: 'flex gap-4 flex-col md:flex-row relative',
|
|
11
|
+
month: 'flex flex-col w-full gap-4',
|
|
12
|
+
/* 네비게이션 */
|
|
13
|
+
nav: 'flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between',
|
|
14
|
+
button_previous: NAV_BUTTON,
|
|
15
|
+
button_next: NAV_BUTTON,
|
|
16
|
+
/* 캡션 */
|
|
17
|
+
month_caption: 'flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)',
|
|
18
|
+
dropdowns: 'w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5',
|
|
19
|
+
dropdown_root: 'relative has-focus:border-(--calendar-accent) border border-neutral200 rounded-md',
|
|
20
|
+
dropdown: 'absolute bg-white inset-0 opacity-0 cursor-pointer',
|
|
21
|
+
weekdays: 'flex',
|
|
22
|
+
weekday: 'text-neutral500 rounded-md flex-1 font-normal text-[0.8rem] select-none',
|
|
23
|
+
week_number_header: 'select-none w-(--cell-size)',
|
|
24
|
+
week: 'flex w-full mt-1',
|
|
25
|
+
week_number: 'text-[0.8rem] select-none text-neutral500',
|
|
26
|
+
day: 'relative size-(--cell-size) py-[calc((var(--cell-size)-var(--day-size))/2)] bg-clip-content text-center [&:first-child[data-selected=true]_button]:rounded-l-lg [&:last-child[data-selected=true]_button]:rounded-r-lg group/day aspect-square select-none ld-transition',
|
|
27
|
+
today: '',
|
|
28
|
+
/* start는 항상 오른쪽 절반을 칠해 "이어진다"를 보여준다.
|
|
29
|
+
* end는 그 칸이 start이기도 하면(= from만 찍힌 상태) 왼쪽 절반을 지운다.
|
|
30
|
+
* 그래야 그 칸이 오른쪽만 칠해진 모양으로 남는다. */
|
|
31
|
+
range_start: 'bg-[linear-gradient(to_right,transparent_50%,var(--calendar-range-band)_50%)]',
|
|
32
|
+
range_middle: 'rounded-none bg-(--calendar-range-band)',
|
|
33
|
+
range_end: 'bg-[linear-gradient(to_left,transparent_50%,var(--calendar-range-band)_50%)] has-[button[data-range-start=true]]:bg-none',
|
|
34
|
+
outside: 'text-neutral300 aria-selected:text-neutral500',
|
|
35
|
+
disabled: 'text-neutral500 opacity-50',
|
|
36
|
+
hidden: 'invisible',
|
|
84
37
|
};
|
|
38
|
+
const LDCalendar = ({ className, classNames, captionLayout = 'label', colorSet, style, ...props }) => (_jsx(CalendarBase, { captionLayout: captionLayout, style: {
|
|
39
|
+
...{
|
|
40
|
+
'--calendar-accent': colorSet?.accent,
|
|
41
|
+
'--calendar-accent-bg': colorSet?.accentBg,
|
|
42
|
+
'--calendar-range-band': colorSet?.band,
|
|
43
|
+
},
|
|
44
|
+
...style,
|
|
45
|
+
}, className: cn('group/calendar w-fit bg-white p-sm', '[--cell-size:--spacing(9)] [--day-size:--spacing(7)]', '[--calendar-accent-bg:var(--color-tintBlue)] [--calendar-accent:var(--color-lb500)] [--calendar-range-band:var(--color-mono50)]', className), classNames: {
|
|
46
|
+
...SLOT_CLASSNAMES,
|
|
47
|
+
caption_label: cn('font-medium select-none', captionLayout === 'label'
|
|
48
|
+
? 'text-sm'
|
|
49
|
+
: 'flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-neutral500'),
|
|
50
|
+
...classNames,
|
|
51
|
+
}, ...props }));
|
|
85
52
|
const LDCalendarMemo = memo(LDCalendar);
|
|
86
53
|
LDCalendarMemo.displayName = 'LDCalendar';
|
|
87
54
|
export default LDCalendarMemo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalloutBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/CalloutBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CalloutBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/CalloutBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIvD,UAAU,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAqCD,eAAO,MAAM,WAAW;mDAnC8B,SAAS;mBAezC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;yBAUhC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;CAcvE,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import cn from '../../utils/cn.js';
|
|
3
3
|
const Root = ({ ref, children, className, ...props }) => {
|
|
4
|
-
return (_jsx("div", { ref: ref, className: cn('inline-flex flex-row items-center justify-between bg-tintBlue
|
|
4
|
+
return (_jsx("div", { ref: ref, className: cn('inline-flex w-full flex-row items-center justify-between rounded-lg bg-tintBlue p-5', className), ...props, children: children }));
|
|
5
5
|
};
|
|
6
6
|
const Title = (props) => {
|
|
7
7
|
if (!props.title)
|
|
8
8
|
return null;
|
|
9
|
-
return (_jsx("span", { className: cn('text-lb500
|
|
9
|
+
return (_jsx("span", { className: cn('display16 extrabold text-lb500', props.className), children: props.title }));
|
|
10
10
|
};
|
|
11
11
|
const Description = (props) => {
|
|
12
12
|
if (!props.description)
|
|
13
13
|
return null;
|
|
14
|
-
return (_jsx("span", { className: cn('text-lb500
|
|
14
|
+
return (_jsx("span", { className: cn('display14 text-lb500', props.className), children: props.description }));
|
|
15
15
|
};
|
|
16
16
|
export const CalloutBase = {
|
|
17
17
|
Root,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDCallout.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/LDCallout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LDCallout.d.ts","sourceRoot":"","sources":["../../../src/components/LDCallout/LDCallout.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,YAAY,4CAUrC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import CalloutBase from '
|
|
2
|
+
import CalloutBase from '../../components/LDCallout/CalloutBase.js';
|
|
3
3
|
const LDCallout = (props) => {
|
|
4
4
|
return (_jsxs(CalloutBase.Root, { className: props.className, children: [_jsxs("div", { className: "flex flex-col gap-xs", children: [_jsx(CalloutBase.Title, { title: props.title }), _jsx(CalloutBase.Description, { description: props.description })] }), props.button] }));
|
|
5
5
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel';
|
|
2
|
+
import { type AutoHeightOptionsType } from 'embla-carousel-auto-height';
|
|
2
3
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
3
4
|
import { type CSSProperties, type ReactNode } from 'react';
|
|
4
5
|
export type CarouselOrientation = 'horizontal' | 'vertical';
|
|
@@ -42,6 +43,10 @@ export interface RootProps {
|
|
|
42
43
|
/** true 또는 설정 객체를 넘기면 연속 흐름(Auto Scroll) 활성화.
|
|
43
44
|
* autoplay와 동시 사용 불가 — 설정 시 autoplay보다 우선. loop와 함께 쓰는 것을 권장 */
|
|
44
45
|
autoScroll?: boolean | AutoScrollConfig;
|
|
46
|
+
/** 트랙 높이를 선택된 슬라이드 높이에 맞춘다. 슬라이드마다 높이가 다를 때 빈 공간을 없앤다.
|
|
47
|
+
* embla-carousel-auto-height 플러그인이며, `{ breakpoints }` 로 구간을 제한할 수 있다.
|
|
48
|
+
* 단 필수 CSS(`align-items: flex-start`)는 구간을 나눌 수 없으니 전 구간 적용을 권장한다. */
|
|
49
|
+
autoHeight?: boolean | AutoHeightOptionsType;
|
|
45
50
|
/** 선택된 슬라이드가 viewport의 어디에 정렬되는지. 기본 'start'(왼쪽 끝 붙음) */
|
|
46
51
|
align?: 'start' | 'center' | 'end';
|
|
47
52
|
/** 양 끝 빈 공간 처리 방식. 기본 'trimSnaps'(끝 여백 없도록 정렬 보정).
|
|
@@ -88,7 +93,7 @@ export interface CounterProps {
|
|
|
88
93
|
format?: (current: number, total: number) => string;
|
|
89
94
|
}
|
|
90
95
|
export declare const CarouselBase: {
|
|
91
|
-
Root: ({ orientation, loop, autoplay, autoScroll, align, containScroll, options, gap, className, style, children, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
96
|
+
Root: ({ orientation, loop, autoplay, autoScroll, autoHeight, align, containScroll, options, gap, className, style, children, }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
92
97
|
Viewport: ({ className, children }: ViewportProps) => import("react/jsx-runtime").JSX.Element;
|
|
93
98
|
Container: ({ className, style, children }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
94
99
|
Slide: ({ slidesPerView, index, total, className, style, children, }: SlideProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCarousel/CarouselBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CarouselBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDCarousel/CarouselBase.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAmB,EACjB,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAOpD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,UAAU,CAAC;AAE5D,UAAU,cAAc;IACtB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,UAAU,gBAAgB;IACxB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAGD,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,mBAAmB,CAAC;IACjC,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;CACb;AAaD,+CAA+C;AAC/C,eAAO,MAAM,WAAW,2BAAqB,CAAC;AAG9C,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACpC;qEACiE;IACjE,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;IACxC;;2EAEuE;IACvE,UAAU,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IAC7C,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC;4EACwE;IACxE,aAAa,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC;IAClD,+CAA+C;IAC/C,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,CAAC,CAAC;IAC9E,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA4HD,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAeD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA2BD,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAqCD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqFD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA4BD,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACrD;AAgBD,eAAO,MAAM,YAAY;qIAvVtB,SAAS;wCAkH+B,aAAa;gDAmBL,cAAc;0EA0C9D,UAAU;8CAkCoC,cAAc;8CAwBd,cAAc;wCAgEpB,SAAS;qCAgCZ,YAAY;mDAxEE,cAAc;CAgGnE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|