@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,7 +1,144 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import AutoCompleteBase, { getItemValue, useAutoCompleteContext, } from '../../components/LDAutoComplete/AutoCompleteBase.js';
|
|
4
|
+
import LDSpinner from '../../components/LDSpinner/LDSpinner.js';
|
|
5
|
+
import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
|
|
6
|
+
import cn from '../../utils/cn.js';
|
|
7
|
+
import tv from '../../utils/tv.js';
|
|
8
|
+
const inputVariants = tv({
|
|
9
|
+
base: 'w-full rounded-[5px] border-transparent outline-2 -outline-offset-2 ld-transition',
|
|
10
|
+
variants: {
|
|
11
|
+
size: {
|
|
12
|
+
'2xsmall': 'input-2xs [--ac-prefix-ps:calc(var(--control-padding-x-input-2xs)*2+var(--control-icon-2xs))]',
|
|
13
|
+
xsmall: 'input-xs [--ac-prefix-ps:calc(var(--control-padding-x-input-xs)*2+var(--control-icon-xs))]',
|
|
14
|
+
small: 'input-sm [--ac-prefix-ps:calc(var(--control-padding-x-input-sm)*2+var(--control-icon-sm))]',
|
|
15
|
+
medium: 'input-md [--ac-prefix-ps:calc(var(--control-padding-x-input-md)*2+var(--control-icon-md))]',
|
|
16
|
+
large: 'input-lg [--ac-prefix-ps:calc(var(--control-padding-x-input-lg)*2+var(--control-icon-lg))]',
|
|
17
|
+
xlarge: 'input-xl [--ac-prefix-ps:calc(var(--control-padding-x-input-xl)*2+var(--control-icon-xl))]',
|
|
18
|
+
},
|
|
19
|
+
// 활성 스타일은 드롭다운 open이 아니라 입력창 포커스에 따라 적용된다.
|
|
20
|
+
variant: {
|
|
21
|
+
filled: 'bg-neutral50 outline-transparent focus:bg-tintBlue focus:outline-lb500',
|
|
22
|
+
outline: 'bg-transparent outline-neutral100 focus:outline-lb500',
|
|
23
|
+
ghost: 'bg-transparent outline-transparent focus:bg-neutral50',
|
|
24
|
+
},
|
|
25
|
+
prefix: { true: 'peer' },
|
|
26
|
+
hasValue: { true: '' },
|
|
27
|
+
shadow: { true: 'shadow-[0_0_20px_0_rgba(0,0,0,0.10)]' },
|
|
28
|
+
},
|
|
29
|
+
compoundVariants: [
|
|
30
|
+
// 아이콘이 실제로 보일 때만 자리를 비운다. 값 여부는 query로, 포커스 여부는
|
|
31
|
+
// not-focus로 판단한다. 자리가 사라지면서 캐럿이 아이콘이 있던 위치로 이동한다.
|
|
32
|
+
{
|
|
33
|
+
prefix: true,
|
|
34
|
+
hasValue: false,
|
|
35
|
+
className: 'not-focus:ps-[var(--ac-prefix-ps)]',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
});
|
|
39
|
+
const prefixIconVariants = tv({
|
|
40
|
+
base: 'pointer-events-none absolute top-1/2 -translate-y-1/2 text-neutral500 ld-transition peer-focus:opacity-0',
|
|
41
|
+
variants: {
|
|
42
|
+
size: {
|
|
43
|
+
'2xsmall': 'left-[var(--control-padding-x-input-2xs)] size-[var(--control-icon-2xs)]',
|
|
44
|
+
xsmall: 'left-[var(--control-padding-x-input-xs)] size-[var(--control-icon-xs)]',
|
|
45
|
+
small: 'left-[var(--control-padding-x-input-sm)] size-[var(--control-icon-sm)]',
|
|
46
|
+
medium: 'left-[var(--control-padding-x-input-md)] size-[var(--control-icon-md)]',
|
|
47
|
+
large: 'left-[var(--control-padding-x-input-lg)] size-[var(--control-icon-lg)]',
|
|
48
|
+
xlarge: 'left-[var(--control-padding-x-input-xl)] size-[var(--control-icon-xl)]',
|
|
49
|
+
},
|
|
50
|
+
// 값이 차면 포커스가 빠져도 계속 숨긴다. placeholder 유무에 의존하지 않도록
|
|
51
|
+
// :placeholder-shown 대신 Context의 query로 판단한다.
|
|
52
|
+
hasValue: { true: 'opacity-0' },
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
const dropdownVariants = tv({
|
|
56
|
+
base: 'absolute left-0 z-40 mt-1 h-45 w-full overflow-y-auto rounded-[5px] border border-mono300 bg-white shadow-md ld-transition',
|
|
57
|
+
variants: {
|
|
58
|
+
size: {
|
|
59
|
+
'2xsmall': 'autocomplete-2xs',
|
|
60
|
+
xsmall: 'autocomplete-xs',
|
|
61
|
+
small: 'autocomplete-sm',
|
|
62
|
+
medium: 'autocomplete-md',
|
|
63
|
+
large: 'autocomplete-lg',
|
|
64
|
+
xlarge: 'autocomplete-xl',
|
|
65
|
+
},
|
|
66
|
+
open: {
|
|
67
|
+
true: 'pointer-events-auto visible opacity-100',
|
|
68
|
+
false: 'pointer-events-none invisible opacity-0',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
/** 검색 상태와 외부 클릭 닫기를 관리하는 Styled Compound 루트입니다. */
|
|
73
|
+
const Root = ({ className, ...props }) => (_jsx(AutoCompleteBase.Root, { className: cn('relative w-full', className), ...props }));
|
|
74
|
+
/**
|
|
75
|
+
* 검색어를 입력받는 combobox 입력창입니다.
|
|
76
|
+
* `prefixIcon`은 값이 없고 포커스도 없을 때만 표시됩니다. 포커스하거나 값이 차면
|
|
77
|
+
* 사라지면서 캐럿이 아이콘이 있던 자리로 이동합니다.
|
|
78
|
+
*/
|
|
79
|
+
const Input = ({ size = 'medium', variant = 'filled', showShadow = false, prefixIcon, className, ...props }) => {
|
|
80
|
+
const { query } = useAutoCompleteContext();
|
|
81
|
+
const hasValue = Boolean(query);
|
|
82
|
+
return (_jsxs(_Fragment, { children: [_jsx(AutoCompleteBase.Input, { className: inputVariants({
|
|
83
|
+
size,
|
|
84
|
+
variant,
|
|
85
|
+
prefix: Boolean(prefixIcon),
|
|
86
|
+
hasValue,
|
|
87
|
+
shadow: showShadow,
|
|
88
|
+
className,
|
|
89
|
+
}), ...props }), _jsx(RenderIcon, { className: prefixIconVariants({ size, hasValue }), children: prefixIcon })] }));
|
|
6
90
|
};
|
|
91
|
+
/** 입력창 아래에 떠서 목록과 빈 상태를 담는 드롭다운 컨테이너입니다. */
|
|
92
|
+
const Dropdown = ({ size = 'medium', className, ...props }) => {
|
|
93
|
+
const { isOpen } = useAutoCompleteContext();
|
|
94
|
+
return (_jsx("div", { className: dropdownVariants({ size, open: isOpen, className }), ...props }));
|
|
95
|
+
};
|
|
96
|
+
/** 옵션을 나열하는 listbox입니다. 항목은 `renderItem`으로 그립니다. */
|
|
97
|
+
const List = ({ className, ...props }) => {
|
|
98
|
+
const { options } = useAutoCompleteContext();
|
|
99
|
+
return (_jsx(AutoCompleteBase.List, { className: cn('ld-transition', options.length > 0 ? 'visible opacity-100' : 'invisible opacity-0', className), ...props }));
|
|
100
|
+
};
|
|
101
|
+
/** 옵션 한 줄입니다. children을 주지 않으면 displayField와 subFields를 그립니다. */
|
|
102
|
+
const Item = ({ item, index, className, children, ...props }) => {
|
|
103
|
+
const { displayField, subFields, focusedIdx } = useAutoCompleteContext();
|
|
104
|
+
const secondary = subFields
|
|
105
|
+
?.map((field) => String(getItemValue(item, field) ?? ''))
|
|
106
|
+
.filter(Boolean)
|
|
107
|
+
.join(' / ');
|
|
108
|
+
return (_jsx(AutoCompleteBase.Item, { item: item, index: index, className: cn('autocomplete-item flex cursor-pointer flex-col border-b border-mono300 ld-transition', focusedIdx === index ? 'bg-tintBlue' : 'hover:bg-mono100', className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(ItemPrimary, { children: String(getItemValue(item, displayField) ?? '') }), secondary && _jsx(ItemSecondary, { children: secondary })] })) }));
|
|
109
|
+
};
|
|
110
|
+
/** 항목의 주 텍스트입니다. */
|
|
111
|
+
const ItemPrimary = ({ className, ...props }) => (_jsx("div", { className: cn('truncate text-black', className), ...props }));
|
|
112
|
+
/** 항목의 보조 텍스트입니다. */
|
|
113
|
+
const ItemSecondary = ({ className, ...props }) => (_jsx("span", { className: cn('autocomplete-secondary truncate text-neutral500', className), ...props }));
|
|
114
|
+
/** 조회 결과가 없을 때의 영역입니다. 조회 중에는 스피너를 대신 표시합니다. */
|
|
115
|
+
// LDSpinner는 폰트 크기(1em) 기준으로 사이징되므로 size 프리셋을 아이콘 크기 클래스로 옮긴다.
|
|
116
|
+
const spinnerVariants = tv({
|
|
117
|
+
variants: {
|
|
118
|
+
size: {
|
|
119
|
+
'2xsmall': 'icon-2xs',
|
|
120
|
+
xsmall: 'icon-xs',
|
|
121
|
+
small: 'icon-sm',
|
|
122
|
+
medium: 'icon-md',
|
|
123
|
+
large: 'icon-lg',
|
|
124
|
+
xlarge: 'icon-xl',
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
const Empty = ({ size = 'medium', className, children, ...props }) => {
|
|
129
|
+
const { options, isLoading } = useAutoCompleteContext();
|
|
130
|
+
return (_jsx("div", { className: cn('flex items-center justify-center text-neutral500 transition-opacity duration-300 ease-in-out', options.length === 0
|
|
131
|
+
? 'visible h-full opacity-100'
|
|
132
|
+
: 'invisible h-0 opacity-0', className), ...props, children: isLoading ? (_jsx(LDSpinner, { className: cn(spinnerVariants({ size }), 'text-lb500!') })) : (children) }));
|
|
133
|
+
};
|
|
134
|
+
/** 입력창과 목록을 props로 구성하는 Styled Single 컴포넌트입니다. */
|
|
135
|
+
const LDAutoComplete = ({ displayField, subFields, onChange, onSelectedItem, placeholder, prefixIcon, size, variant, showShadow, emptyMessage = '조회하신 데이터가 없습니다.', className, inputClassName, listClassName, ref, }) => (_jsxs(Root, { displayField: displayField, subFields: subFields, onChange: onChange, onSelectedItem: onSelectedItem, className: className, ref: ref, children: [_jsx(Input, { placeholder: placeholder, prefixIcon: prefixIcon, size: size, variant: variant, showShadow: showShadow, className: inputClassName }), _jsxs(Dropdown, { size: size, className: listClassName, children: [_jsx(List, { renderItem: (item, index) => (_jsx(Item, { item: item, index: index }, item.id)) }), _jsx(Empty, { size: size, children: emptyMessage })] })] }));
|
|
136
|
+
LDAutoComplete.Root = Root;
|
|
137
|
+
LDAutoComplete.Input = Input;
|
|
138
|
+
LDAutoComplete.Dropdown = Dropdown;
|
|
139
|
+
LDAutoComplete.List = List;
|
|
140
|
+
LDAutoComplete.Item = Item;
|
|
141
|
+
LDAutoComplete.ItemPrimary = ItemPrimary;
|
|
142
|
+
LDAutoComplete.ItemSecondary = ItemSecondary;
|
|
143
|
+
LDAutoComplete.Empty = Empty;
|
|
7
144
|
export default LDAutoComplete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/AvatarBase.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"AvatarBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/AvatarBase.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAKf,UAAU,iBAAiB;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAChD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC;CACtE;AAID,eAAO,MAAM,gBAAgB,yBAO5B,CAAC;AAGF,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAiCD,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA6BD,eAAO,MAAM,UAAU;gDA3F4B,SAAS;+CAsCC,UAAU;iDA0Bf,aAAa;CA+BpE,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { createContext, useContext,
|
|
3
|
+
import { createContext, useContext, useEffect, useState, } from 'react';
|
|
4
4
|
import cn from '../../utils/cn.js';
|
|
5
5
|
const AvatarContext = createContext(null);
|
|
6
6
|
export const useAvatarContext = () => {
|
|
@@ -24,7 +24,7 @@ const Image = ({ alt = 'avatar', width, height, className }) => {
|
|
|
24
24
|
const { src, status, setStatus } = useAvatarContext();
|
|
25
25
|
if (!src || status === 'error')
|
|
26
26
|
return null;
|
|
27
|
-
return (_jsx("img", { src: src, alt: alt, width: width, height: height, onLoad: () => setStatus('loaded'), onError: () => setStatus('error'), className: cn('aspect-square
|
|
27
|
+
return (_jsx("img", { src: src, alt: alt, width: width, height: height, onLoad: () => setStatus('loaded'), onError: () => setStatus('error'), className: cn('aspect-square size-full object-cover', className) }));
|
|
28
28
|
};
|
|
29
29
|
const Fallback = ({ className, children, delayMs = 0 }) => {
|
|
30
30
|
const { status } = useAvatarContext();
|
|
@@ -39,7 +39,7 @@ const Fallback = ({ className, children, delayMs = 0 }) => {
|
|
|
39
39
|
}, [delayMs]);
|
|
40
40
|
if (status === 'loaded' || !show)
|
|
41
41
|
return null;
|
|
42
|
-
return (_jsx("span", { className: cn('flex
|
|
42
|
+
return (_jsx("span", { className: cn('flex size-full items-center justify-center rounded-full', className), children: children }));
|
|
43
43
|
};
|
|
44
44
|
export const AvatarBase = {
|
|
45
45
|
Root,
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
type
|
|
1
|
+
import type { Size } from '../../types/common.js';
|
|
2
|
+
import type { Subset } from '../../types/subset.js';
|
|
3
|
+
export type AvatarSize = Subset<Size, '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'>;
|
|
2
4
|
export interface LDAvatarProps {
|
|
3
5
|
src?: string | null;
|
|
4
6
|
alt?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/LDAvatar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LDAvatar.d.ts","sourceRoot":"","sources":["../../../src/components/LDAvatar/LDAvatar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,MAAM,MAAM,UAAU,GAAG,MAAM,CAC7B,IAAI,EACJ,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAC/D,CAAC;AA0CF,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,QAAA,MAAM,QAAQ,GAAI,uCAMf,aAAa,4CAiBf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,33 +1,46 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { UserRound } from 'lucide-react';
|
|
3
|
-
import AvatarBase from '
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
small: 'w-6 h-6',
|
|
9
|
-
medium: 'w-8 h-8',
|
|
10
|
-
large: 'w-12 h-12',
|
|
11
|
-
xlarge: 'w-16 h-16',
|
|
12
|
-
};
|
|
3
|
+
import AvatarBase from '../../components/LDAvatar/AvatarBase.js';
|
|
4
|
+
import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
|
|
5
|
+
import tv from '../../utils/tv.js';
|
|
6
|
+
// next/image 최적화는 숫자 width·height 를 요구하므로 클래스 맵과 별도로 유지한다.
|
|
7
|
+
// rootVariants 의 size-* 와 같은 px 값이어야 한다.
|
|
13
8
|
const IMAGE_SIZE_MAP = {
|
|
14
|
-
'2xsmall':
|
|
9
|
+
'2xsmall': 14,
|
|
15
10
|
xsmall: 16,
|
|
16
11
|
small: 24,
|
|
17
12
|
medium: 32,
|
|
18
13
|
large: 48,
|
|
19
14
|
xlarge: 64,
|
|
20
15
|
};
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
const rootVariants = tv({
|
|
17
|
+
variants: {
|
|
18
|
+
size: {
|
|
19
|
+
'2xsmall': 'size-3.5',
|
|
20
|
+
xsmall: 'size-4',
|
|
21
|
+
small: 'size-6',
|
|
22
|
+
medium: 'size-8',
|
|
23
|
+
large: 'size-12',
|
|
24
|
+
xlarge: 'size-16',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
// Fallback 아이콘은 텍스트 없이 단독 렌더되므로 크기를 tv로 고정한다.
|
|
29
|
+
const iconVariants = tv({
|
|
30
|
+
base: 'text-mono400',
|
|
31
|
+
variants: {
|
|
32
|
+
size: {
|
|
33
|
+
'2xsmall': 'size-2.5',
|
|
34
|
+
xsmall: 'size-3',
|
|
35
|
+
small: 'size-4',
|
|
36
|
+
medium: 'size-5.5',
|
|
37
|
+
large: 'size-7.5',
|
|
38
|
+
xlarge: 'size-10',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
});
|
|
29
42
|
const LDAvatar = ({ src, alt = 'avatar', size = 'small', className, style, }) => {
|
|
30
43
|
const px = IMAGE_SIZE_MAP[size];
|
|
31
|
-
return (_jsxs(AvatarBase.Root, { src: src, style: style, className:
|
|
44
|
+
return (_jsxs(AvatarBase.Root, { src: src, style: style, className: rootVariants({ size, className }), children: [_jsx(AvatarBase.Image, { alt: alt, width: px, height: px }), _jsx(AvatarBase.Fallback, { className: "bg-mono100", children: _jsx(RenderIcon, { className: iconVariants({ size }), children: _jsx(UserRound, {}) }) })] }));
|
|
32
45
|
};
|
|
33
46
|
export default LDAvatar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BadgeBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/BadgeBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BadgeBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/BadgeBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAKtE,UAAU,SAAU,SAAQ,cAAc,CAAC,eAAe,CAAC;IACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;CAC5B;AAcD,eAAO,MAAM,SAAS;mDAZgC,SAAS;CAc9D,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
2
|
-
type
|
|
3
|
-
type
|
|
1
|
+
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
+
import type { Color, Size } from '../../types/common.js';
|
|
3
|
+
import type { Subset } from '../../types/subset.js';
|
|
4
|
+
type BadgeSize = Subset<Size, 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
5
|
+
type BadgeTint = Subset<Color, 'orange' | 'red' | 'green' | 'blue' | 'yellow' | 'gray'>;
|
|
6
|
+
type BadgeColor = BadgeTint | `fill${Capitalize<BadgeTint>}`;
|
|
4
7
|
export interface LDBadgeProps {
|
|
5
8
|
/** 뱃지 사이즈 */
|
|
6
9
|
size?: BadgeSize;
|
|
@@ -15,7 +18,7 @@ export interface LDBadgeProps {
|
|
|
15
18
|
/** 추가 CSS 클래스 */
|
|
16
19
|
className?: string;
|
|
17
20
|
/** 인라인 스타일 */
|
|
18
|
-
style?:
|
|
21
|
+
style?: CSSProperties;
|
|
19
22
|
}
|
|
20
23
|
declare const LDBadge: ({ size, color, leftIcon, rightIcon, children, className, style, }: LDBadgeProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
24
|
export default LDBadge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDBadge.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/LDBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LDBadge.d.ts","sourceRoot":"","sources":["../../../src/components/LDBadge/LDBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;AACvE,KAAK,SAAS,GAAG,MAAM,CACrB,KAAK,EACL,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CACxD,CAAC;AACF,KAAK,UAAU,GAAG,SAAS,GAAG,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,aAAa;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,aAAa;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY;IACZ,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA4BD,QAAA,MAAM,OAAO,GAAI,mEAQd,YAAY,4CAed,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import BadgeBase from '
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import BadgeBase from '../../components/LDBadge/BadgeBase.js';
|
|
3
|
+
import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
|
|
4
|
+
import tv from '../../utils/tv.js';
|
|
5
|
+
const badgeVariants = tv({
|
|
6
|
+
base: 'w-auto border border-transparent text-center whitespace-nowrap',
|
|
7
|
+
variants: {
|
|
8
|
+
color: {
|
|
9
|
+
orange: 'bg-tintOrange text-orange500',
|
|
10
|
+
fillOrange: 'bg-orange400 text-white',
|
|
11
|
+
green: 'bg-tintGreen text-green700',
|
|
12
|
+
fillGreen: 'bg-success600 text-white',
|
|
13
|
+
red: 'bg-tintRed text-red200',
|
|
14
|
+
fillRed: 'bg-danger600 text-white',
|
|
15
|
+
blue: 'bg-tintBlue text-blue200',
|
|
16
|
+
fillBlue: 'bg-accept600 text-white',
|
|
17
|
+
yellow: 'bg-tintYellow text-yellow700',
|
|
18
|
+
fillYellow: 'bg-warning600 text-white',
|
|
19
|
+
gray: 'bg-mono200 text-neutral800',
|
|
20
|
+
fillGray: 'bg-neutral200 text-white',
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
xsmall: 'badge-xs',
|
|
24
|
+
small: 'badge-sm',
|
|
25
|
+
medium: 'badge-md',
|
|
26
|
+
large: 'badge-lg',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
});
|
|
31
30
|
const LDBadge = ({ size = 'small', color = 'blue', leftIcon, rightIcon, children, className, style, }) => {
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
return (_jsxs(BadgeBase.Root, { className: badgeVariants({
|
|
32
|
+
size,
|
|
33
|
+
color,
|
|
34
|
+
className,
|
|
35
|
+
}), style: style, children: [_jsx(RenderIcon, { children: leftIcon }), children, _jsx(RenderIcon, { children: rightIcon })] }));
|
|
34
36
|
};
|
|
35
37
|
export default LDBadge;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const BreadCrumbBase: {
|
|
3
3
|
Root: ({ className, ...props }: React.ComponentProps<"nav">) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
List: ({ className, ...props }: React.ComponentProps<"ol">) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
Item: ({ className, children, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
Page: ({ className, ...props }: React.ComponentProps<"span">) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
Separator: ({ children, className, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
};
|
|
8
|
-
export default
|
|
9
|
+
export default BreadCrumbBase;
|
|
9
10
|
//# sourceMappingURL=BreadCrumbBase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadCrumbBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/BreadCrumbBase.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BreadCrumbBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/BreadCrumbBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwD/B,eAAO,MAAM,cAAc;oCApDY,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;oCAI3B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;8CAU9D,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;oCAQU,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;mDAchE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;CAgBsC,CAAC;AAEpE,eAAe,cAAc,CAAC"}
|
|
@@ -10,8 +10,11 @@ const List = ({ className, ...props }) => {
|
|
|
10
10
|
const Item = ({ className, children, ...props }) => {
|
|
11
11
|
return (_jsx("li", { className: cn('inline-flex items-center', className), ...props, children: children }));
|
|
12
12
|
};
|
|
13
|
+
const Page = ({ className, ...props }) => {
|
|
14
|
+
return (_jsx("span", { "aria-current": "page", className: cn('inline-flex items-center', className), ...props }));
|
|
15
|
+
};
|
|
13
16
|
const Separator = ({ children, className, ...props }) => {
|
|
14
|
-
return (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn('inline-flex items-center justify-center
|
|
17
|
+
return (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn('inline-flex items-center justify-center [&>svg]:shrink-0', className), ...props, children: children ?? _jsx(ChevronRightIcon, {}) }));
|
|
15
18
|
};
|
|
16
|
-
export const
|
|
17
|
-
export default
|
|
19
|
+
export const BreadCrumbBase = { Root, List, Item, Page, Separator };
|
|
20
|
+
export default BreadCrumbBase;
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
|
-
import { type ButtonSize } from '
|
|
2
|
+
import { type ButtonSize } from '../../components/LDButton/LDButton.js';
|
|
3
3
|
export interface LDBreadCrumbItem {
|
|
4
|
+
/** 항목에 표시할 텍스트 */
|
|
4
5
|
label: string;
|
|
6
|
+
/** 링크 주소. 없으면 현재 위치로 보고 링크 대신 텍스트로 렌더한다 */
|
|
5
7
|
href?: string;
|
|
8
|
+
/** 라벨 왼쪽 아이콘 (`lucide-react` 노드) */
|
|
6
9
|
icon?: ReactNode;
|
|
10
|
+
/** 항목 className. 아이콘-라벨 간격(기본 `gap-0.5`) 등을 덮어쓸 때 쓴다 */
|
|
11
|
+
className?: string;
|
|
7
12
|
}
|
|
8
13
|
export interface LDBreadCrumbProps {
|
|
9
14
|
items: LDBreadCrumbItem[];
|
|
@@ -11,6 +16,25 @@ export interface LDBreadCrumbProps {
|
|
|
11
16
|
separator?: ReactNode;
|
|
12
17
|
className?: string;
|
|
13
18
|
}
|
|
14
|
-
|
|
19
|
+
interface LDBreadCrumbLinkProps extends Omit<React.ComponentProps<'a'>, 'color'> {
|
|
20
|
+
size?: ButtonSize;
|
|
21
|
+
icon?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
interface LDBreadCrumbPageProps extends React.ComponentProps<'span'> {
|
|
24
|
+
size?: ButtonSize;
|
|
25
|
+
icon?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
interface LDBreadCrumbSeparatorProps extends React.ComponentProps<'li'> {
|
|
28
|
+
size?: ButtonSize;
|
|
29
|
+
}
|
|
30
|
+
declare const LDBreadCrumb: {
|
|
31
|
+
({ items, size, separator, className, }: LDBreadCrumbProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
Root: ({ className, ...props }: React.ComponentProps<"nav">) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
List: ({ className, ...props }: React.ComponentProps /** 항목에 표시할 텍스트 */<"ol">) => import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
Item: ({ className, ...props }: React.ComponentProps<"li">) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
Link: ({ size, icon, className, ...props }: LDBreadCrumbLinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
Page: ({ size, icon, className, children, ...props }: LDBreadCrumbPageProps) => import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
Separator: ({ size, className, ...props }: LDBreadCrumbSeparatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
};
|
|
15
39
|
export default LDBreadCrumb;
|
|
16
40
|
//# sourceMappingURL=LDBreadCrumb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDBreadCrumb.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/LDBreadCrumb.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LDBreadCrumb.d.ts","sourceRoot":"","sources":["../../../src/components/LDBreadCrumb/LDBreadCrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI3E,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,UAAU,qBAAsB,SAAQ,IAAI,CAC1C,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,EACzB,OAAO,CACR;IACC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;IAClE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,0BAA2B,SAAQ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;IACrE,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAuDD,QAAA,MAAM,YAAY;6CAKf,iBAAiB;oCA5HQ,MAAO,cAAc;oCAIhC,MAAO,cACtB,CAAA,kBAAkB;oCA+DmB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;gDAS9D,qBAAqB;0DAqBrB,qBAAqB;+CAcrB,0BAA0B;CA4C5B,CAAC;AASF,eAAe,YAAY,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import BreadCrumbBase from '
|
|
4
|
-
import LDButton from '
|
|
5
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Fragment } from 'react';
|
|
3
|
+
import BreadCrumbBase from '../../components/LDBreadCrumb/BreadCrumbBase.js';
|
|
4
|
+
import LDButton from '../../components/LDButton/LDButton.js';
|
|
5
|
+
import RenderIcon from '../../components/RenderIcon/RenderIcon.js';
|
|
6
6
|
import cn from '../../utils/cn.js';
|
|
7
7
|
const textSizeClasses = {
|
|
8
8
|
'2xsmall': 'bread-crumb-2xs',
|
|
@@ -21,17 +21,26 @@ const iconSizeClasses = {
|
|
|
21
21
|
xlarge: 'icon-xl',
|
|
22
22
|
};
|
|
23
23
|
const separatorIconSizeClasses = {
|
|
24
|
-
'2xsmall': '
|
|
25
|
-
xsmall: '
|
|
26
|
-
small: '
|
|
27
|
-
medium: '
|
|
28
|
-
large: '
|
|
29
|
-
xlarge: '
|
|
24
|
+
'2xsmall': '[&>svg]:icon-2xs',
|
|
25
|
+
xsmall: '[&>svg]:icon-xs',
|
|
26
|
+
small: '[&>svg]:icon-sm',
|
|
27
|
+
medium: '[&>svg]:icon-md',
|
|
28
|
+
large: '[&>svg]:icon-lg',
|
|
29
|
+
xlarge: '[&>svg]:icon-xl',
|
|
30
30
|
};
|
|
31
|
+
// gap은 항목·구분자를 나란히 놓는 List(ol)가 담당한다.
|
|
32
|
+
// li의 자식은 Link 또는 Page 하나뿐이라 여기에 gap을 줘도 효과가 없다.
|
|
33
|
+
const Item = ({ className, ...props }) => (_jsx(BreadCrumbBase.Item, { className: className, ...props }));
|
|
34
|
+
const Link = ({ size = 'small', icon, className, ...props }) => (_jsx(LDButton, { as: "a", variant: "ghost", color: "neutral", size: size, leftIcon: icon, className: cn('flex h-auto min-w-0 flex-row gap-0.5 px-0 regular text-neutral700 hover:bg-transparent active:bg-transparent', className), ...props }));
|
|
35
|
+
const Page = ({ size = 'small', icon, className, children, ...props }) => (_jsxs(BreadCrumbBase.Page, { className: cn(textSizeClasses[size], 'gap-0.5 text-neutral700', className), ...props, children: [_jsx(RenderIcon, { className: iconSizeClasses[size], children: icon }), children] }));
|
|
36
|
+
const Separator = ({ size = 'small', className, ...props }) => (_jsx(BreadCrumbBase.Separator, { className: cn(separatorIconSizeClasses[size], 'text-neutral700', className), ...props }));
|
|
31
37
|
const LDBreadCrumb = ({ items, size = 'small', separator, className, }) => {
|
|
32
|
-
return (_jsx(BreadCrumbBase.Root, { children: _jsx(BreadCrumbBase.List, { className: className, children: items.map((item, index) => {
|
|
33
|
-
const isCurrent = index === items.length - 1;
|
|
34
|
-
return (_jsxs(React.Fragment, { children: [_jsx(BreadCrumbBase.Item, { className: "gap-xs", children: !item.href ? (_jsxs("span", { "aria-current": "page", className: cn(textSizeClasses[size], 'flex items-center text-neutral700 gap-0.5'), children: [renderIcon(item.icon, iconSizeClasses[size]), item.label] })) : (_jsx(LDButton, { as: "a", href: item.href, variant: "ghost", color: "neutral", size: size, leftIcon: item.icon, className: "h-auto px-0 min-w-0 hover:bg-transparent active:bg-transparent text-neutral700 regular flex flex-row gap-0.5", children: item.label })) }), !isCurrent && (_jsx(BreadCrumbBase.Separator, { className: separatorIconSizeClasses[size], children: separator }))] }, `${item.label}-${index}`));
|
|
35
|
-
}) }) }));
|
|
38
|
+
return (_jsx(BreadCrumbBase.Root, { children: _jsx(BreadCrumbBase.List, { className: cn('gap-xs', className), children: items.map((item, index) => (_jsxs(Fragment, { children: [_jsx(Item, { children: item.href ? (_jsx(Link, { href: item.href, icon: item.icon, size: size, className: item.className, children: item.label })) : (_jsx(Page, { icon: item.icon, size: size, className: item.className, children: item.label })) }), index < items.length - 1 && (_jsx(Separator, { size: size, children: separator }))] }, `${item.label}-${index}`))) }) }));
|
|
36
39
|
};
|
|
40
|
+
LDBreadCrumb.Root = BreadCrumbBase.Root;
|
|
41
|
+
LDBreadCrumb.List = BreadCrumbBase.List;
|
|
42
|
+
LDBreadCrumb.Item = Item;
|
|
43
|
+
LDBreadCrumb.Link = Link;
|
|
44
|
+
LDBreadCrumb.Page = Page;
|
|
45
|
+
LDBreadCrumb.Separator = Separator;
|
|
37
46
|
export default LDBreadCrumb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/ButtonBase.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ButtonBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/ButtonBase.tsx"],"names":[],"mappings":"AAuCA,eAAO,MAAM,UAAU;UACP,KAAK,CAAC,WAAW;CAChC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { type ElementType } from 'react';
|
|
3
|
+
import type { Color, Size, Variant } from '../../types/common.js';
|
|
3
4
|
import { PolymorphicComponentProps } from '../../types/polymorphic.js';
|
|
4
|
-
type
|
|
5
|
-
type
|
|
6
|
-
export type
|
|
5
|
+
import type { Subset } from '../../types/subset.js';
|
|
6
|
+
type ButtonVariant = Subset<Variant, 'solid' | 'outline' | 'ghost' | 'link'>;
|
|
7
|
+
export type ButtonColor = Subset<Color, 'neutral' | 'point' | 'danger'>;
|
|
8
|
+
export type ButtonSize = Subset<Size, '2xsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'>;
|
|
7
9
|
type ButtonShape = 'default' | 'capsule';
|
|
8
10
|
type ButtonAlign = 'left' | 'center' | 'right';
|
|
9
11
|
type _ButtonProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LDButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/LDButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LDButton.d.ts","sourceRoot":"","sources":["../../../src/components/LDButton/LDButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,OAAO,CAAC;AAMzC,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,KAAK,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AAC7E,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,MAAM,CAC7B,IAAI,EACJ,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAC/D,CAAC;AACF,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AACzC,KAAK,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAgO/C,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,WAAW,IAAI,yBAAyB,CAC1E,CAAC,EACD,YAAY,CACb,CAAC;AAEF,KAAK,eAAe,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,QAAQ,EAC5D,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KACpB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAE/B,QAAA,MAAM,QAAQ,EAAE,eAyDf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|