sellmate-design-system-react 9.0.0-beta.11 → 9.0.0-beta.112
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/AGENTS.md +4231 -304
- package/README.md +85 -37
- package/bin/sellmate-ds.mjs +91 -59
- package/dist/components/SAccountListBox/AccountListBoxPortal.d.ts +31 -0
- package/dist/components/SAccountListBox/README.md +86 -0
- package/dist/components/SAccountListBox/SAccountListBox.d.ts +79 -0
- package/dist/components/SAccountListBox/SystemMenuPortal.d.ts +58 -0
- package/dist/components/SAccountListBox/accountListBox.config.d.ts +67 -0
- package/dist/components/SAccountListBox/index.d.ts +2 -0
- package/dist/components/SActionModal/README.md +6 -4
- package/dist/components/SActionModal/SActionModal.d.ts +16 -6
- package/dist/components/SBadge/README.md +3 -0
- package/dist/components/SBadge/SBadge.d.ts +2 -2
- package/dist/components/SBarChart/README.md +123 -0
- package/dist/components/SBarChart/SBarChart.d.ts +106 -0
- package/dist/components/SBarChart/barChart.config.d.ts +85 -0
- package/dist/components/SBarChart/index.d.ts +2 -0
- package/dist/components/SBarcodeInput/README.md +10 -6
- package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +28 -5
- package/dist/components/SButton/README.md +50 -11
- package/dist/components/SButton/SButton.d.ts +30 -7
- package/dist/components/SButton/button.config.d.ts +22 -13
- package/dist/components/SButton/index.d.ts +1 -1
- package/dist/components/SCalendar/README.md +2 -2
- package/dist/components/SCalendar/SCalendar.d.ts +3 -3
- package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +61 -0
- package/dist/components/SCalendarBoard/CalendarDayEventListBox.d.ts +26 -0
- package/dist/components/SCalendarBoard/CalendarEventButton.d.ts +20 -0
- package/dist/components/SCalendarBoard/CalendarMoreButton.d.ts +18 -0
- package/dist/components/SCalendarBoard/README.md +148 -0
- package/dist/components/SCalendarBoard/SCalendarBoard.d.ts +83 -0
- package/dist/components/SCalendarBoard/calendar-board-layout.d.ts +59 -0
- package/dist/components/SCalendarBoard/calendarBoard.config.d.ts +38 -0
- package/dist/components/SCalendarBoard/index.d.ts +3 -0
- package/dist/components/SCalendarBoard/types.d.ts +40 -0
- package/dist/components/SCallout/README.md +3 -2
- package/dist/components/SCallout/SCallout.d.ts +15 -6
- package/dist/components/SCard/README.md +17 -0
- package/dist/components/SCard/SCard.d.ts +26 -2
- package/dist/components/SChatAttachedFile/README.md +33 -0
- package/dist/components/SChatAttachedFile/SChatAttachedFile.d.ts +13 -0
- package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +23 -0
- package/dist/components/SChatAttachedFile/index.d.ts +2 -0
- package/dist/components/SChatFile/README.md +33 -0
- package/dist/components/SChatFile/SChatFile.d.ts +37 -0
- package/dist/components/SChatFile/chatFile.config.d.ts +56 -0
- package/dist/components/SChatFile/index.d.ts +2 -0
- package/dist/components/SChatInput/README.md +52 -0
- package/dist/components/SChatInput/SChatInput.d.ts +127 -0
- package/dist/components/SChatInput/index.d.ts +1 -0
- package/dist/components/SChatMessage/README.md +87 -0
- package/dist/components/SChatMessage/SChatMessage.d.ts +135 -0
- package/dist/components/SChatMessage/index.d.ts +1 -0
- package/dist/components/SChatSystemMessage/README.md +12 -0
- package/dist/components/SChatSystemMessage/SChatSystemMessage.d.ts +18 -0
- package/dist/components/SChatSystemMessage/index.d.ts +1 -0
- package/dist/components/SCheckbox/README.md +4 -1
- package/dist/components/SCheckbox/SCheckbox.d.ts +11 -3
- package/dist/components/SChip/README.md +29 -4
- package/dist/components/SChip/SChip.d.ts +13 -5
- package/dist/components/SChip/index.d.ts +1 -1
- package/dist/components/SChipFilter/README.md +156 -72
- package/dist/components/SChipFilter/SChipFilter.d.ts +122 -54
- package/dist/components/SChipFilter/index.d.ts +1 -1
- package/dist/components/SChipInput/README.md +10 -5
- package/dist/components/SChipInput/SChipInput.d.ts +57 -7
- package/dist/components/SChipInput/index.d.ts +1 -1
- package/dist/components/SCircleProgress/README.md +6 -3
- package/dist/components/SCircleProgress/SCircleProgress.d.ts +12 -4
- package/dist/components/SConfirmModal/README.md +12 -18
- package/dist/components/SConfirmModal/SConfirmModal.d.ts +55 -16
- package/dist/components/SContextAlert/README.md +52 -0
- package/dist/components/SContextAlert/SContextAlert.d.ts +51 -0
- package/dist/components/SContextAlert/contextAlert.config.d.ts +22 -0
- package/dist/components/SContextAlert/index.d.ts +2 -0
- package/dist/components/SDatePicker/README.md +10 -3
- package/dist/components/SDatePicker/SDatePicker.d.ts +52 -7
- package/dist/components/SDateRangePicker/README.md +10 -5
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +54 -9
- package/dist/components/SDivider/README.md +7 -0
- package/dist/components/SDivider/SDivider.d.ts +12 -1
- package/dist/components/SDonutChart/README.md +105 -0
- package/dist/components/SDonutChart/SDonutChart.d.ts +82 -0
- package/dist/components/SDonutChart/index.d.ts +1 -0
- package/dist/components/SDraggableItem/README.md +1 -0
- package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
- package/dist/components/SDraggableItem/index.d.ts +1 -1
- package/dist/components/SDraggableList/README.md +9 -3
- package/dist/components/SDraggableList/SDraggableList.d.ts +18 -3
- package/dist/components/SDraggableList/index.d.ts +1 -1
- package/dist/components/SDrawer/README.md +2 -1
- package/dist/components/SDrawer/SDrawer.d.ts +10 -5
- package/dist/components/SDropdownButton/README.md +16 -6
- package/dist/components/SDropdownButton/SDropdownButton.d.ts +8 -6
- package/dist/components/SDropdownButton/index.d.ts +1 -1
- package/dist/components/SEditor/EditorBody.d.ts +48 -0
- package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
- package/dist/components/SEditor/README.md +207 -0
- package/dist/components/SEditor/SEditor.d.ts +128 -0
- package/dist/components/SEditor/editor-icons.d.ts +63 -0
- package/dist/components/SEditor/editor.config.d.ts +126 -0
- package/dist/components/SEditor/index.d.ts +8 -0
- package/dist/components/SEditor/tiptap-api.d.ts +29 -0
- package/dist/components/SEditor/use-is-mobile.d.ts +14 -0
- package/dist/components/SExpansionItem/README.md +3 -2
- package/dist/components/SExpansionItem/SExpansionItem.d.ts +18 -2
- package/dist/components/SExpansionItem/index.d.ts +1 -1
- package/dist/components/SField/README.md +18 -5
- package/dist/components/SField/SField.d.ts +62 -11
- package/dist/components/SField/index.d.ts +1 -1
- package/dist/components/SFilePicker/README.md +8 -6
- package/dist/components/SFilePicker/SFilePicker.d.ts +29 -9
- package/dist/components/SFooter/README.md +31 -8
- package/dist/components/SFooter/SFooter.d.ts +29 -13
- package/dist/components/SFooter/index.d.ts +1 -1
- package/dist/components/SForm/README.md +4 -4
- package/dist/components/SForm/SForm.d.ts +7 -7
- package/dist/components/SGhostButton/README.md +21 -2
- package/dist/components/SGhostButton/SGhostButton.d.ts +23 -5
- package/dist/components/SGnb/README.md +65 -9
- package/dist/components/SGnb/SGnb.d.ts +117 -13
- package/dist/components/SGnb/gnb.config.d.ts +46 -5
- package/dist/components/SGnb/index.d.ts +1 -1
- package/dist/components/SGnbSystem/README.md +190 -0
- package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
- package/dist/components/SGnbSystem/gnbSystem.config.d.ts +120 -0
- package/dist/components/SGnbSystem/index.d.ts +2 -0
- package/dist/components/SGuide/README.md +3 -3
- package/dist/components/SGuide/SGuide.d.ts +8 -5
- package/dist/components/SIcon/README.md +23 -1
- package/dist/components/SIcon/SIcon.d.ts +6 -3
- package/dist/components/SIcon/icons.gen.d.ts +26 -2
- package/dist/components/SImage/README.md +9 -1
- package/dist/components/SImage/SImage.d.ts +11 -8
- package/dist/components/SInput/README.md +13 -7
- package/dist/components/SInput/SInput.d.ts +21 -9
- package/dist/components/SKeyValueTable/README.md +8 -3
- package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +33 -6
- package/dist/components/SKeyValueTable/index.d.ts +1 -1
- package/dist/components/SLauncherListBox/README.md +82 -0
- package/dist/components/SLauncherListBox/SLauncherListBox.d.ts +80 -0
- package/dist/components/SLauncherListBox/index.d.ts +2 -0
- package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +149 -0
- package/dist/components/SLayout/README.md +6 -1
- package/dist/components/SLayout/SLayout.d.ts +6 -2
- package/dist/components/SLayout/index.d.ts +1 -1
- package/dist/components/SLineChart/README.md +132 -0
- package/dist/components/SLineChart/SLineChart.d.ts +115 -0
- package/dist/components/SLineChart/index.d.ts +1 -0
- package/dist/components/SLineChart/lineChart.config.d.ts +94 -0
- package/dist/components/SLinearProgress/README.md +9 -2
- package/dist/components/SLinearProgress/SLinearProgress.d.ts +12 -3
- package/dist/components/SLinearProgress/index.d.ts +1 -1
- package/dist/components/SList/README.md +15 -2
- package/dist/components/SList/SList.d.ts +7 -3
- package/dist/components/SList/index.d.ts +1 -1
- package/dist/components/SListItem/README.md +2 -2
- package/dist/components/SListItem/SListItem.d.ts +12 -2
- package/dist/components/SListItem/index.d.ts +1 -1
- package/dist/components/SLoadingContainer/README.md +1 -1
- package/dist/components/SLoadingContainer/SLoadingContainer.d.ts +3 -3
- package/dist/components/SLoadingContainer/index.d.ts +1 -1
- package/dist/components/SLoadingContainer/loading.d.ts +41 -6
- package/dist/components/SLoadingModal/README.md +10 -9
- package/dist/components/SLoadingModal/SLoadingModal.d.ts +10 -8
- package/dist/components/SLoadingModal/index.d.ts +1 -1
- package/dist/components/SLoginCard/README.md +37 -0
- package/dist/components/SLoginCard/SLoginCard.d.ts +43 -0
- package/dist/components/SLoginCard/index.d.ts +1 -0
- package/dist/components/SLogo/README.md +103 -0
- package/dist/components/SLogo/SLogo.d.ts +72 -0
- package/dist/components/SLogo/index.d.ts +2 -0
- package/dist/components/SLogo/logo.config.d.ts +29 -0
- package/dist/components/SLogo/logos.d.ts +16 -0
- package/dist/components/SMeatballButton/README.md +69 -0
- package/dist/components/SMeatballButton/SMeatballButton.d.ts +39 -0
- package/dist/components/SMeatballButton/index.d.ts +1 -0
- package/dist/components/SModal/README.md +20 -10
- package/dist/components/SModal/SModal.d.ts +5 -5
- package/dist/components/SModalContainer/README.md +4 -3
- package/dist/components/SModalContainer/SModalContainer.d.ts +16 -8
- package/dist/components/SNumberInput/README.md +17 -12
- package/dist/components/SNumberInput/SNumberInput.d.ts +53 -11
- package/dist/components/SPage/README.md +68 -5
- package/dist/components/SPage/SPage.d.ts +34 -10
- package/dist/components/SPage/SPageHeader.d.ts +37 -13
- package/dist/components/SPage/index.d.ts +2 -2
- package/dist/components/SPage/page-column.d.ts +34 -0
- package/dist/components/SPage/page-width.d.ts +23 -0
- package/dist/components/SPage/page.config.d.ts +26 -0
- package/dist/components/SPagination/README.md +11 -1
- package/dist/components/SPagination/SPagination.d.ts +9 -3
- package/dist/components/SPagination/index.d.ts +1 -1
- package/dist/components/SPieChart/README.md +93 -0
- package/dist/components/SPieChart/SPieChart.d.ts +73 -0
- package/dist/components/SPieChart/index.d.ts +1 -0
- package/dist/components/SPopover/README.md +1 -1
- package/dist/components/SPopover/SPopover.d.ts +2 -2
- package/dist/components/SPopup/README.md +14 -9
- package/dist/components/SPopup/SPopup.d.ts +15 -12
- package/dist/components/SPopup/index.d.ts +1 -1
- package/dist/components/SPortal/README.md +12 -5
- package/dist/components/SPortal/SPortal.d.ts +11 -9
- package/dist/components/SRadio/README.md +4 -4
- package/dist/components/SRadio/SRadio.d.ts +3 -3
- package/dist/components/SRadio/SRadioGroup.d.ts +3 -3
- package/dist/components/SRadioButton/README.md +11 -2
- package/dist/components/SRadioButton/SRadioButton.d.ts +19 -5
- package/dist/components/SRadioCard/README.md +81 -0
- package/dist/components/SRadioCard/SRadioCard.d.ts +34 -0
- package/dist/components/SRadioCard/SRadioCardGroup.d.ts +38 -0
- package/dist/components/SRadioCard/index.d.ts +2 -0
- package/dist/components/SScrollArea/README.md +14 -0
- package/dist/components/SScrollArea/SScrollArea.d.ts +18 -2
- package/dist/components/SSearchInput/README.md +7 -5
- package/dist/components/SSearchInput/SSearchInput.d.ts +12 -6
- package/dist/components/SSectionHeaderCard/README.md +6 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +19 -0
- package/dist/components/SSectionNav/README.md +32 -0
- package/dist/components/SSectionNav/SSectionNav.d.ts +40 -0
- package/dist/components/SSectionNav/index.d.ts +1 -0
- package/dist/components/SSectionNav/section-nav-scroll.d.ts +27 -0
- package/dist/components/SSelect/README.md +73 -16
- package/dist/components/SSelect/SSelect.d.ts +163 -21
- package/dist/components/SSelect/index.d.ts +1 -1
- package/dist/components/SSelect/select.config.d.ts +65 -6
- package/dist/components/SSkeleton/README.md +67 -0
- package/dist/components/SSkeleton/SSkeleton.d.ts +43 -0
- package/dist/components/SSkeleton/index.d.ts +2 -0
- package/dist/components/SSkeleton/skeleton.config.d.ts +24 -0
- package/dist/components/SSlider/README.md +86 -0
- package/dist/components/SSlider/SSlider.d.ts +149 -0
- package/dist/components/SSlider/index.d.ts +1 -0
- package/dist/components/SSplitter/README.md +2 -2
- package/dist/components/SSplitter/SSplitter.d.ts +7 -3
- package/dist/components/SStepper/README.md +1 -1
- package/dist/components/SStepper/SStepper.d.ts +3 -3
- package/dist/components/SStepper/stepper.config.d.ts +9 -3
- package/dist/components/SSwitch/README.md +14 -2
- package/dist/components/SSwitch/SSwitch.d.ts +3 -5
- package/dist/components/SSystemActionButton/README.md +253 -0
- package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +198 -0
- package/dist/components/SSystemActionButton/index.d.ts +2 -0
- package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +95 -0
- package/dist/components/STable/README.md +122 -88
- package/dist/components/STable/STable.d.ts +383 -52
- package/dist/components/STable/index.d.ts +1 -1
- package/dist/components/STableBar/README.md +2 -1
- package/dist/components/STableBar/STableBar.d.ts +9 -2
- package/dist/components/STabs/README.md +2 -2
- package/dist/components/STabs/STabs.d.ts +5 -6
- package/dist/components/STabs/tabs.config.d.ts +3 -8
- package/dist/components/STag/README.md +18 -0
- package/dist/components/STag/STag.d.ts +4 -3
- package/dist/components/STag/tag.config.d.ts +11 -10
- package/dist/components/STextLink/README.md +7 -1
- package/dist/components/STextLink/STextLink.d.ts +6 -2
- package/dist/components/STextarea/README.md +13 -6
- package/dist/components/STextarea/STextarea.d.ts +51 -8
- package/dist/components/STimePicker/README.md +8 -5
- package/dist/components/STimePicker/STimePicker.d.ts +39 -13
- package/dist/components/STimePicker/TimeListbox.d.ts +21 -0
- package/dist/components/STimePicker/timepicker.config.d.ts +9 -3
- package/dist/components/STimeRangePicker/README.md +9 -6
- package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +43 -10
- package/dist/components/STimeRangePicker/time-range-picker.config.d.ts +2 -1
- package/dist/components/STimeline/README.md +41 -0
- package/dist/components/STimeline/STimeline.d.ts +28 -0
- package/dist/components/STimeline/index.d.ts +1 -0
- package/dist/components/SToast/README.md +5 -5
- package/dist/components/SToast/SToast.d.ts +5 -5
- package/dist/components/SToast/SToastContainer.d.ts +3 -3
- package/dist/components/SToggle/README.md +1 -1
- package/dist/components/SToggle/SToggle.d.ts +2 -2
- package/dist/components/SToggle/index.d.ts +1 -1
- package/dist/components/STooltip/README.md +7 -1
- package/dist/components/STooltip/STooltip.d.ts +2 -2
- package/dist/components/STree/README.md +7 -6
- package/dist/components/STree/STree.d.ts +18 -8
- package/dist/components/STree/STree.examples.d.ts +2 -0
- package/dist/components/STreeTable/README.md +49 -0
- package/dist/components/STreeTable/STreeTable.d.ts +70 -0
- package/dist/components/STreeTable/STreeTable.examples.d.ts +39 -0
- package/dist/components/STreeTable/index.d.ts +1 -0
- package/dist/docs/Gallery.d.ts +9 -0
- package/dist/docs/RecipeGallery.d.ts +13 -0
- package/dist/docs/gallery-previews.d.ts +24 -0
- package/dist/fonts/LICENSE.txt +94 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
- package/dist/index.cjs +26161 -11501
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +28 -0
- package/dist/index.js +26064 -11500
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.d.ts +3 -5
- package/dist/lib/chart/cartesian.d.ts +54 -0
- package/dist/lib/chart/category-labels.d.ts +37 -0
- package/dist/lib/chart/frame.d.ts +21 -0
- package/dist/lib/chart/hover-dim.d.ts +19 -0
- package/dist/lib/chart/legend.d.ts +21 -0
- package/dist/lib/chart/palette.d.ts +28 -0
- package/dist/lib/chart/radial.d.ts +99 -0
- package/dist/lib/chart/scale.d.ts +26 -0
- package/dist/lib/chart/tooltip.d.ts +60 -0
- package/dist/lib/chart/types.d.ts +29 -0
- package/dist/lib/chart/use-element-size.d.ts +42 -0
- package/dist/lib/color.d.ts +1 -1
- package/dist/lib/date.d.ts +16 -2
- package/dist/lib/depth-filter.d.ts +27 -0
- package/dist/lib/doc-sections.d.ts +35 -0
- package/dist/lib/dropdown-menu.d.ts +19 -0
- package/dist/lib/field-width.d.ts +31 -0
- package/dist/lib/floating-anim.d.ts +2 -2
- package/dist/lib/floating-height.d.ts +15 -0
- package/dist/lib/floating-width.d.ts +1 -2
- package/dist/lib/form.d.ts +6 -3
- package/dist/lib/global-overlay.d.ts +5 -0
- package/dist/lib/grid-key-nav.d.ts +10 -0
- package/dist/lib/hover-preview.d.ts +32 -0
- package/dist/lib/inert.d.ts +11 -0
- package/dist/lib/list-box-item.d.ts +16 -0
- package/dist/lib/locale-context.d.ts +26 -0
- package/dist/lib/locale.d.ts +320 -0
- package/dist/lib/mode-listbox.d.ts +10 -0
- package/dist/lib/overlay-scrollbar.d.ts +32 -0
- package/dist/lib/row-metrics.d.ts +61 -0
- package/dist/lib/row-motion.d.ts +56 -0
- package/dist/lib/scrollbar.d.ts +1 -2
- package/dist/lib/story-docs.d.ts +35 -0
- package/dist/lib/tree-row.d.ts +103 -0
- package/dist/llms-full.txt +7542 -810
- package/dist/llms.txt +4280 -333
- package/dist/playground/categories.d.ts +19 -0
- package/dist/pretendard.css +937 -0
- package/dist/recipes/AppShell.d.ts +21 -0
- package/dist/recipes/CategoryManagePage.d.ts +1 -0
- package/dist/recipes/ConsultConsolePage.d.ts +1 -0
- package/dist/recipes/ExcelFilePopupPage.d.ts +5 -0
- package/dist/recipes/LoginPage.d.ts +6 -0
- package/dist/recipes/ProductBulkUploadPage.d.ts +1 -0
- package/dist/recipes/ProductCreatePage.d.ts +1 -0
- package/dist/recipes/ProductCreateSectionsPage.d.ts +5 -0
- package/dist/recipes/ProductDetailInlineEditPage.d.ts +9 -0
- package/dist/recipes/ProductDetailPage.d.ts +1 -0
- package/dist/recipes/ProductListChipFilterPage.d.ts +1 -0
- package/dist/recipes/ProductListPage.d.ts +1 -0
- package/dist/recipes/ProductOverlayPage.d.ts +1 -0
- package/dist/recipes/SalesDashboardPage.d.ts +1 -0
- package/dist/recipes/SettingsPage.d.ts +1 -0
- package/dist/recipes/StoreSetupPage.d.ts +1 -0
- package/dist/recipes/TransferOrderPopupPage.d.ts +2 -0
- package/dist/recipes/api.d.ts +220 -0
- package/dist/recipes/recipe-story.d.ts +33 -0
- package/dist/recipes/router.d.ts +9 -0
- package/dist/styles.css +4185 -352
- package/dist/theme.css +796 -58
- package/eslint/index.mjs +44 -35
- package/eslint/lib/class-names.mjs +23 -25
- package/eslint/lib/table-column.mjs +34 -8
- package/eslint/rules/component-group-gap.mjs +32 -30
- package/eslint/rules/divider-vertical-height.mjs +137 -0
- package/eslint/rules/field-width-grade.mjs +69 -52
- package/eslint/rules/no-arbitrary-class.mjs +63 -20
- package/eslint/rules/no-off-scale-spacing.mjs +61 -41
- package/eslint/rules/no-raw-html-control.mjs +38 -36
- package/eslint/rules/prefer-typo-preset.mjs +23 -17
- package/eslint/rules/require-locale-number.mjs +14 -19
- package/eslint/rules/table-column-width.mjs +114 -0
- package/eslint/rules/table-numeric-align.mjs +14 -14
- package/eslint/scale.gen.mjs +6 -3
- package/package.json +31 -6
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SBarChart 의 치수·색 상수와 막대 배치 계산.
|
|
3
|
+
*/
|
|
4
|
+
import { AXIS_EDGE_PADDING } from '../../lib/chart/cartesian';
|
|
5
|
+
export { AXIS_EDGE_PADDING };
|
|
6
|
+
/**
|
|
7
|
+
* 막대 두께 하한(px) — 시안 `bar width min : 24`.
|
|
8
|
+
* 이보다 얇아지지 않는다. 카테고리가 너무 많으면 막대가 겹치는데, 그건
|
|
9
|
+
* "얇아서 못 읽는 그래프"보다 낫다는 디자인 판단이다(그때는 가로 막대를 쓴다).
|
|
10
|
+
*/
|
|
11
|
+
export declare const BAR_SIZE_MIN = 24;
|
|
12
|
+
/** 막대 두께 상한(px) — 시안 `bar width max : 80`. 자리가 남으면 여기까지 두꺼워진다. */
|
|
13
|
+
export declare const BAR_SIZE_MAX = 80;
|
|
14
|
+
/** 한 카테고리 안, 계열 막대 사이 간격(px) — 시안 `bar gap : 6 (fixed)`. */
|
|
15
|
+
export declare const BAR_GAP = 6;
|
|
16
|
+
/** 막대 묶음 좌우 여백의 하한(px) — 시안 `bar group paddingX min : 8`. */
|
|
17
|
+
export declare const GROUP_PADDING_MIN = 8;
|
|
18
|
+
/** 막대 묶음 좌우 여백의 상한(px) — 시안 `bar group paddingX max : 24`. */
|
|
19
|
+
export declare const GROUP_PADDING_MAX = 24;
|
|
20
|
+
/**
|
|
21
|
+
* 막대 끝과 값 라벨 사이 간격(px) — 토큰 `chart.dataLabel.gap`(점·막대 ↔ 값 라벨).
|
|
22
|
+
* 라벨 자리를 좌표로 잡으므로 `var()` 가 아니라 같은 값을 손으로 맞춰 둔다.
|
|
23
|
+
*/
|
|
24
|
+
export declare const VALUE_LABEL_GAP = 4;
|
|
25
|
+
/**
|
|
26
|
+
* 막대 모서리 반경(px). SVG 경로를 좌표로 계산하므로 `var(--cmp-chart-bar-radius)`
|
|
27
|
+
* 문자열이 아니라 **숫자**여야 한다 — 시안의 clipPath 도 같은 이유로 8 을 좌표에
|
|
28
|
+
* 박아 두고 있다. 토큰(`chart.bar.radius`)과 같은 값을 손으로 맞춰 둔 유일한 자리다.
|
|
29
|
+
*/
|
|
30
|
+
export declare const BAR_RADIUS = 8;
|
|
31
|
+
/**
|
|
32
|
+
* 기본 불투명도는 막대만의 값이 아니라 차트 공용(`chart.opacity.default`)이다 —
|
|
33
|
+
* 도넛·파이도 같은 값을 쓴다. 흐려진 상태만 막대 고유(`chart.bar.opacity.dimmed`)다.
|
|
34
|
+
*/
|
|
35
|
+
export declare const BAR_OPACITY_DEFAULT = "var(--cmp-chart-opacity-default)";
|
|
36
|
+
export declare const BAR_OPACITY_DIMMED = "var(--cmp-chart-bar-opacity-dimmed)";
|
|
37
|
+
/**
|
|
38
|
+
* 호버한 항목의 막대 — 완전히 불투명하다.
|
|
39
|
+
*
|
|
40
|
+
* `--opacity-*` 스케일에 100% 가 없다. "투명하지 않음"은 값이 아니라 값의 부재라
|
|
41
|
+
* 디자인 토큰으로 두지 않는 쪽이 맞으므로, 여기서는 토큰 대신 1 을 쓴다.
|
|
42
|
+
*/
|
|
43
|
+
export declare const BAR_OPACITY_HOVER = 1;
|
|
44
|
+
export declare const BAR_DATA_LABEL_COLOR = "var(--cmp-chart-dataLabel-color-default)";
|
|
45
|
+
/**
|
|
46
|
+
* 값 라벨의 타이포 — 호버한 항목만 굵고 크게 뜬다.
|
|
47
|
+
*
|
|
48
|
+
* 타이포 토큰은 `--cmp-*` 변수로 나오지 않고 `.typo-*` 유틸로만 나오므로,
|
|
49
|
+
* `chart.dataLabel.typography.default`(`body.sm.medium`) ·
|
|
50
|
+
* `.hover`(`body.md.bold`) 에 대응하는 클래스를 여기서 짝지어 둔다.
|
|
51
|
+
*/
|
|
52
|
+
export declare const BAR_DATA_LABEL_TYPO = "typo-body-sm-medium";
|
|
53
|
+
export declare const BAR_DATA_LABEL_TYPO_HOVER = "typo-body-md-bold";
|
|
54
|
+
export interface BandLayout {
|
|
55
|
+
/** 카테고리 하나가 차지하는 폭(px) */
|
|
56
|
+
band: number;
|
|
57
|
+
/** 막대 하나의 두께(px) */
|
|
58
|
+
bar: number;
|
|
59
|
+
/** 계열 막대 묶음 전체의 두께(px) */
|
|
60
|
+
group: number;
|
|
61
|
+
/** 묶음 좌우로 실제로 남은 여백(px) */
|
|
62
|
+
padding: number;
|
|
63
|
+
/** 카테고리가 적어 band 가 상한에 걸렸을 때, 막대 전체를 가운데로 미는 거리(px) */
|
|
64
|
+
offset: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 축을 카테고리 수만큼 균등하게 나누고(band), 그 가운데에 계열 막대를 모아 놓는다.
|
|
68
|
+
*
|
|
69
|
+
* band 중앙 정렬이라 카테고리 라벨도 같은 비율로 놓으면 자동으로 막대 위에 온다 —
|
|
70
|
+
* 라벨과 막대의 정렬을 따로 맞출 필요가 없다.
|
|
71
|
+
*
|
|
72
|
+
* **두께와 여백은 한 손잡이로 함께 움직인다.** 막대 하나가 차지할 자리는 최소
|
|
73
|
+
* `8+24+8`(=40px)에서 최대 `24+80+24`(=128px)까지 늘어나는데, 그 사이 어디에 있든
|
|
74
|
+
* 두께와 여백이 같은 비율(`t`)로 커진다. 여백만 8인 채 두께가 80이 되는 조합은 없다.
|
|
75
|
+
*
|
|
76
|
+
* bar = 24 + 56·t
|
|
77
|
+
* padding = 8 + 16·t (t ∈ [0, 1])
|
|
78
|
+
*
|
|
79
|
+
* 자리가 최소보다 좁으면 `t=0` 에서 멈춘다 — 더 얇아지는 대신 호출 쪽이 스크롤을
|
|
80
|
+
* 만든다. 반대로 자리가 남으면 `t=1` 에서 멈추고 남는 폭은 `offset` 으로 가운데 모은다.
|
|
81
|
+
*
|
|
82
|
+
* 양끝 `AXIS_EDGE_PADDING` 은 band 가 나눠 갖기 전에 먼저 떼어 둔다 — band 안의
|
|
83
|
+
* `padding` 과 달리 카테고리 수·두께와 무관하게 항상 그대로 남아야 한다.
|
|
84
|
+
*/
|
|
85
|
+
export declare function bandLayout(size: number, categoryCount: number, seriesCount: number, barSizeMax?: number): BandLayout;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SBarChart, type SBarChartProps, type SBarChartSeries, type SBarChartPoint, type SBarChartTooltipCategory, type SBarChartPalette, type SBarChartColor, type SBarChartDirection, type SBarChartLegendPosition, } from './SBarChart';
|
|
2
|
+
export { BAR_SIZE_MIN, BAR_SIZE_MAX, BAR_GAP } from './barChart.config';
|
|
@@ -13,18 +13,20 @@
|
|
|
13
13
|
| `clearable?` | `boolean` | `false` | |
|
|
14
14
|
| `autoFocus?` | `boolean` | — | |
|
|
15
15
|
| `name?` | `string` | — | |
|
|
16
|
-
| `placeholder?` | `string` | `
|
|
16
|
+
| `placeholder?` | `string` | — | 생략하면 `SLocaleProvider` 로케일의 기본 문구(ko: "입력해 주세요.")를 쓴다 |
|
|
17
17
|
| `disabled?` | `boolean` | `false` | |
|
|
18
18
|
| `readOnly?` | `boolean` | `false` | |
|
|
19
19
|
| `rules?` | `Rule[]` | — | |
|
|
20
20
|
| `status?` | `SFieldStatus` | — | |
|
|
21
|
-
| `focused?` | `boolean` | — |
|
|
22
|
-
| `hovered?` | `boolean` | — |
|
|
21
|
+
| `focused?` | `boolean` | — | 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) |
|
|
22
|
+
| `hovered?` | `boolean` | — | 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) |
|
|
23
23
|
| `prefix?` | `ReactNode` | — | 입력 앞 슬롯 |
|
|
24
24
|
| `suffix?` | `ReactNode` | — | 입력 뒤 슬롯 |
|
|
25
|
-
| `
|
|
25
|
+
| `inputClassName?` | `string` | — | |
|
|
26
26
|
| `inputStyle?` | `CSSProperties` | — | |
|
|
27
27
|
| `label?` | `string` | — | |
|
|
28
|
+
| `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
|
|
29
|
+
| `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
|
|
28
30
|
| `labelWidth?` | `number \| string` | — | |
|
|
29
31
|
| `icon?` | `SIconName` | — | |
|
|
30
32
|
| `iconColor?` | `SColor` | — | |
|
|
@@ -35,7 +37,7 @@
|
|
|
35
37
|
| `hint?` | `string` | — | |
|
|
36
38
|
| `error?` | `boolean` | — | |
|
|
37
39
|
| `errorMessage?` | `string` | — | |
|
|
38
|
-
| `width?` | `
|
|
40
|
+
| `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리며 `maxLength`(= 스키마 상한)로 고른다. 상한이 `xl` 을 넘거나 상한이 없으면 `"100%"`. (`sellmate/field-width-grade` 가 검사한다) |
|
|
39
41
|
| `className?` | `string` | — | |
|
|
40
42
|
| `style?` | `CSSProperties` | — | |
|
|
41
43
|
|
|
@@ -43,7 +45,7 @@
|
|
|
43
45
|
|
|
44
46
|
| Event | Type | Description |
|
|
45
47
|
|-------|------|-------------|
|
|
46
|
-
| `onValueChange` | `(value: string) => void` | 값 변경
|
|
48
|
+
| `onValueChange` | `(value: string) => void` | 값 변경 |
|
|
47
49
|
| `onFocus` | `() => void` | |
|
|
48
50
|
| `onBlur` | `() => void` | |
|
|
49
51
|
|
|
@@ -61,6 +63,7 @@ export type SBarcodeInputSize = SFieldSize;
|
|
|
61
63
|
|
|
62
64
|
- [SField](../SField)
|
|
63
65
|
- [SGhostButton](../SGhostButton)
|
|
66
|
+
- [STag](../STag)
|
|
64
67
|
|
|
65
68
|
### Graph
|
|
66
69
|
|
|
@@ -68,5 +71,6 @@ export type SBarcodeInputSize = SFieldSize;
|
|
|
68
71
|
graph TD;
|
|
69
72
|
SBarcodeInput --> SField
|
|
70
73
|
SBarcodeInput --> SGhostButton
|
|
74
|
+
SBarcodeInput --> STag
|
|
71
75
|
style SBarcodeInput fill:#f9f,stroke:#333,stroke-width:4px
|
|
72
76
|
```
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
-
import { type SFieldSize, type SFieldAddonAlign, type SFieldStatus } from '../SField';
|
|
2
|
+
import { type SFieldSize, type SFieldAddonAlign, type SFieldStatus, type SFieldLabelPosition } from '../SField';
|
|
3
3
|
import { type SIconName } from '../SIcon';
|
|
4
4
|
import { type SColor } from '../../lib/color';
|
|
5
5
|
import { type Rule } from '../../lib/form';
|
|
6
6
|
import { type STooltipProps } from '../STooltip';
|
|
7
|
+
import { type SFieldWidth } from '../../lib/field-width';
|
|
7
8
|
export type SBarcodeInputSize = SFieldSize;
|
|
8
9
|
export interface SBarcodeInputProps {
|
|
9
10
|
value?: string | number | null;
|
|
10
|
-
/** 값 변경
|
|
11
|
+
/** 값 변경 */
|
|
11
12
|
onValueChange?: (value: string) => void;
|
|
12
13
|
onFocus?: () => void;
|
|
13
14
|
onBlur?: () => void;
|
|
@@ -15,20 +16,37 @@ export interface SBarcodeInputProps {
|
|
|
15
16
|
clearable?: boolean;
|
|
16
17
|
autoFocus?: boolean;
|
|
17
18
|
name?: string;
|
|
19
|
+
/** 생략하면 `SLocaleProvider` 로케일의 기본 문구(ko: "입력해 주세요.")를 쓴다 */
|
|
18
20
|
placeholder?: string;
|
|
19
21
|
disabled?: boolean;
|
|
20
22
|
readOnly?: boolean;
|
|
21
23
|
rules?: Rule[];
|
|
22
24
|
status?: SFieldStatus;
|
|
25
|
+
/** 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) */
|
|
23
26
|
focused?: boolean;
|
|
27
|
+
/** 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) */
|
|
24
28
|
hovered?: boolean;
|
|
25
29
|
/** 입력 앞 슬롯 */
|
|
26
30
|
prefix?: ReactNode;
|
|
27
31
|
/** 입력 뒤 슬롯 */
|
|
28
32
|
suffix?: ReactNode;
|
|
29
|
-
|
|
33
|
+
inputClassName?: string;
|
|
30
34
|
inputStyle?: CSSProperties;
|
|
31
35
|
label?: string;
|
|
36
|
+
/**
|
|
37
|
+
* 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
|
|
38
|
+
*
|
|
39
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
40
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
41
|
+
*/
|
|
42
|
+
labelPosition?: SFieldLabelPosition;
|
|
43
|
+
/**
|
|
44
|
+
* 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
|
|
45
|
+
*
|
|
46
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
47
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
48
|
+
*/
|
|
49
|
+
subLabel?: string;
|
|
32
50
|
labelWidth?: number | string;
|
|
33
51
|
icon?: SIconName;
|
|
34
52
|
iconColor?: SColor;
|
|
@@ -39,9 +57,14 @@ export interface SBarcodeInputProps {
|
|
|
39
57
|
hint?: string;
|
|
40
58
|
error?: boolean;
|
|
41
59
|
errorMessage?: string;
|
|
42
|
-
|
|
60
|
+
/**
|
|
61
|
+
* 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
|
|
62
|
+
* 등급은 `--cmp-field-width-*` 토큰으로 풀리며 `maxLength`(= 스키마 상한)로 고른다.
|
|
63
|
+
* 상한이 `xl` 을 넘거나 상한이 없으면 `"100%"`. (`sellmate/field-width-grade` 가 검사한다)
|
|
64
|
+
*/
|
|
65
|
+
width?: SFieldWidth;
|
|
43
66
|
className?: string;
|
|
44
67
|
style?: CSSProperties;
|
|
45
68
|
}
|
|
46
|
-
/** SBarcodeInput —
|
|
69
|
+
/** SBarcodeInput — 바코드용 노란 배경 입력 + prefix/suffix + clearable. */
|
|
47
70
|
export declare const SBarcodeInput: import("react").ForwardRefExoticComponent<SBarcodeInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
| Prop | Type | Default | Description |
|
|
10
10
|
|------|------|---------|-------------|
|
|
11
|
-
| `color?` | `SButtonColor` | `'primary'` |
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
11
|
+
| `color?` | `SButtonColor` | `'primary'` | 색 계열. 액션의 의미가 정한다 — 주 액션 `primary`, 파괴적 액션 `danger`(AGENTS.md §3-5). `warning`·`caution`·`success` 는 디자인 시안이 그 의미의 색을 지정한 곳에만 쓴다. |
|
|
12
|
+
| `tone?` | `SButtonTone` | `'default'` | 색의 강도. `default` 는 채움(solid) 그대로, `soft`·`tonal` 은 옅은 면 + 색 글자다(`tonal` 이 더 진하다). 디자인 시안이 지정한 곳에만 바꾼다. |
|
|
13
|
+
| `outline?` | `boolean` | `false` | 아웃라인(테두리) 스타일. 모든 color·tone 에 적용된다 |
|
|
14
|
+
| `size?` | `SButtonSize` | `'sm'` | 크기. 놓이는 위치가 정한다(AGENTS.md §3-5-2). `xxs` 는 본문 텍스트 사이에 끼워 서는 버튼 전용 — 높이가 본문 줄 높이와 같아 줄이 벌어지지 않는다. 버튼끼리 서는 자리에서는 `xs` 이상을 쓴다. |
|
|
14
15
|
| `icon?` | `SIconName` | — | 레이블 왼쪽 아이콘 |
|
|
15
16
|
| `rightIcon?` | `SIconName` | — | 레이블 오른쪽 아이콘 |
|
|
17
|
+
| `iconColor?` | `SColor` | — | 아이콘 색(`icon`·`rightIcon` 모두). 팔레트 키(`grey_80`, `green_80` …) 또는 임의 CSS 색상. `color="neutral"` 에서만 적용된다 — 다른 색은 토큰이 아이콘 색을 정하므로 무시한다. `disabled` 면 비활성 색이 우선한다. |
|
|
16
18
|
| `label?` | `string` | — | 버튼 텍스트 (문자열만 — 아이콘은 icon/rightIcon 사용) |
|
|
19
|
+
| `shape?` | `SButtonShape` | `'square'` | 모서리 모양. 기본 `square` 는 따로 주지 않는다. `round`(더 둥근 모서리)는 디자인 시안이 지정한 곳에만, `pill`(알약)은 본문·목록 사이에 끼어 서는 **누르면 동작하는 작은 부가 버튼**(출처 배지·추천 질문)에만 쓴다 — 보통 `color="neutral" outline` 과 함께. 화면의 주 액션·폼 제출 버튼은 `square` 다. 값·필터 토큰이면 `SChip`, 누를 수 없는 표시면 `STag` 다. |
|
|
17
20
|
|
|
18
21
|
## Types
|
|
19
22
|
|
|
@@ -23,41 +26,74 @@
|
|
|
23
26
|
export type SButtonColor = (typeof BUTTON_COLORS)[number];
|
|
24
27
|
```
|
|
25
28
|
|
|
29
|
+
### SButtonTone
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
export type SButtonTone = (typeof BUTTON_TONES)[number];
|
|
33
|
+
```
|
|
34
|
+
|
|
26
35
|
### SButtonSize
|
|
27
36
|
|
|
28
37
|
```ts
|
|
29
38
|
export type SButtonSize = (typeof BUTTON_SIZES)[number];
|
|
30
39
|
```
|
|
31
40
|
|
|
41
|
+
### SButtonShape
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export type SButtonShape = (typeof BUTTON_SHAPES)[number];
|
|
45
|
+
```
|
|
46
|
+
|
|
32
47
|
### BUTTON_COLORS
|
|
33
48
|
|
|
34
49
|
```ts
|
|
35
50
|
/**
|
|
36
|
-
* SButton 색상/사이즈 설정 —
|
|
37
|
-
*
|
|
38
|
-
* -
|
|
39
|
-
* -
|
|
40
|
-
* - neutral : 흰 배경 고정, outline 은 회색 테두리만 추가(solid = 테두리 없는 흰 버튼)
|
|
41
|
-
* 색상은 theme.css의 `--cmp-button-*` CSS 변수를 참조한다.
|
|
51
|
+
* SButton 색상/사이즈 설정 — component.button 토큰(`--cmp-button-*`)을 참조한다.
|
|
52
|
+
* 색은 color × tone × outline 세 축이다 (토큰 `button.<색>.tone.<default|soft|tonal>`).
|
|
53
|
+
* - tone="default": 채움(strong)·outline. neutral 은 흰 버튼(solid)·회색 테두리(outline)
|
|
54
|
+
* - tone="soft"·"tonal": 모든 색에서 옅은 면 + 색 글자. outline 이면 흰 면 + tone 색 테두리
|
|
42
55
|
*/
|
|
43
|
-
export const BUTTON_COLORS = [
|
|
56
|
+
export const BUTTON_COLORS = [
|
|
57
|
+
'primary',
|
|
58
|
+
'secondary',
|
|
59
|
+
'neutral',
|
|
60
|
+
'danger',
|
|
61
|
+
'warning',
|
|
62
|
+
'caution',
|
|
63
|
+
'success',
|
|
64
|
+
] as const;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### BUTTON_TONES
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
export const BUTTON_TONES = ['default', 'soft', 'tonal'] as const;
|
|
44
71
|
```
|
|
45
72
|
|
|
46
73
|
### BUTTON_SIZES
|
|
47
74
|
|
|
48
75
|
```ts
|
|
49
|
-
export const BUTTON_SIZES = ['xs', 'sm', 'md', 'lg'] as const;
|
|
76
|
+
export const BUTTON_SIZES = ['xxs', 'xs', 'sm', 'md', 'lg'] as const;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### BUTTON_SHAPES
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
export const BUTTON_SHAPES = ['square', 'round', 'pill'] as const;
|
|
50
83
|
```
|
|
51
84
|
|
|
52
85
|
## Dependencies
|
|
53
86
|
|
|
54
87
|
### Used by
|
|
55
88
|
|
|
89
|
+
- [SCalendarBoard](../SCalendarBoard)
|
|
56
90
|
- [SConfirmModal](../SConfirmModal)
|
|
57
91
|
- [SDropdownButton](../SDropdownButton)
|
|
92
|
+
- [SEditor](../SEditor)
|
|
58
93
|
- [SFooter](../SFooter)
|
|
59
94
|
- [SKeyValueTable](../SKeyValueTable)
|
|
60
95
|
- [SLoadingModal](../SLoadingModal)
|
|
96
|
+
- [SLoginCard](../SLoginCard)
|
|
61
97
|
- [SPopover](../SPopover)
|
|
62
98
|
- [SToast](../SToast)
|
|
63
99
|
|
|
@@ -70,11 +106,14 @@ export const BUTTON_SIZES = ['xs', 'sm', 'md', 'lg'] as const;
|
|
|
70
106
|
```mermaid
|
|
71
107
|
graph TD;
|
|
72
108
|
SButton --> SIcon
|
|
109
|
+
SCalendarBoard --> SButton
|
|
73
110
|
SConfirmModal --> SButton
|
|
74
111
|
SDropdownButton --> SButton
|
|
112
|
+
SEditor --> SButton
|
|
75
113
|
SFooter --> SButton
|
|
76
114
|
SKeyValueTable --> SButton
|
|
77
115
|
SLoadingModal --> SButton
|
|
116
|
+
SLoginCard --> SButton
|
|
78
117
|
SPopover --> SButton
|
|
79
118
|
SToast --> SButton
|
|
80
119
|
style SButton fill:#f9f,stroke:#333,stroke-width:4px
|
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
import { type ButtonHTMLAttributes } from 'react';
|
|
2
|
+
import { type SColor } from '../../lib/color';
|
|
2
3
|
import { type SIconName } from '../SIcon';
|
|
3
|
-
import { type SButtonColor, type SButtonSize } from './button.config';
|
|
4
|
+
import { type SButtonColor, type SButtonShape, type SButtonSize, type SButtonTone } from './button.config';
|
|
4
5
|
export interface SButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color' | 'children'> {
|
|
5
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* 색 계열. 액션의 의미가 정한다 — 주 액션 `primary`, 파괴적 액션 `danger`(AGENTS.md §3-5).
|
|
8
|
+
* `warning`·`caution`·`success` 는 디자인 시안이 그 의미의 색을 지정한 곳에만 쓴다.
|
|
9
|
+
*/
|
|
6
10
|
color?: SButtonColor;
|
|
7
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* 색의 강도. `default` 는 채움(solid) 그대로, `soft`·`tonal` 은 옅은 면 + 색 글자다(`tonal` 이 더 진하다).
|
|
13
|
+
* 디자인 시안이 지정한 곳에만 바꾼다.
|
|
14
|
+
*/
|
|
15
|
+
tone?: SButtonTone;
|
|
16
|
+
/** 아웃라인(테두리) 스타일. 모든 color·tone 에 적용된다 */
|
|
8
17
|
outline?: boolean;
|
|
9
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* 크기. 놓이는 위치가 정한다(AGENTS.md §3-5-2). `xxs` 는 본문 텍스트 사이에 끼워 서는 버튼 전용 —
|
|
20
|
+
* 높이가 본문 줄 높이와 같아 줄이 벌어지지 않는다. 버튼끼리 서는 자리에서는 `xs` 이상을 쓴다.
|
|
21
|
+
*/
|
|
10
22
|
size?: SButtonSize;
|
|
11
23
|
/** 레이블 왼쪽 아이콘 */
|
|
12
24
|
icon?: SIconName;
|
|
13
25
|
/** 레이블 오른쪽 아이콘 */
|
|
14
26
|
rightIcon?: SIconName;
|
|
27
|
+
/**
|
|
28
|
+
* 아이콘 색(`icon`·`rightIcon` 모두). 팔레트 키(`grey_80`, `green_80` …) 또는 임의 CSS 색상.
|
|
29
|
+
* `color="neutral"` 에서만 적용된다 — 다른 색은 토큰이 아이콘 색을 정하므로 무시한다. `disabled` 면 비활성 색이 우선한다.
|
|
30
|
+
*/
|
|
31
|
+
iconColor?: SColor;
|
|
15
32
|
/** 버튼 텍스트 (문자열만 — 아이콘은 icon/rightIcon 사용) */
|
|
16
33
|
label?: string;
|
|
34
|
+
/**
|
|
35
|
+
* 모서리 모양. 기본 `square` 는 따로 주지 않는다. `round`(더 둥근 모서리)는 디자인 시안이 지정한 곳에만,
|
|
36
|
+
* `pill`(알약)은 본문·목록 사이에 끼어 서는 **누르면 동작하는 작은 부가 버튼**(출처 배지·추천 질문)에만
|
|
37
|
+
* 쓴다 — 보통 `color="neutral" outline` 과 함께. 화면의 주 액션·폼 제출 버튼은 `square` 다.
|
|
38
|
+
* 값·필터 토큰이면 `SChip`, 누를 수 없는 표시면 `STag` 다.
|
|
39
|
+
*/
|
|
40
|
+
shape?: SButtonShape;
|
|
17
41
|
}
|
|
18
42
|
/**
|
|
19
|
-
* SButton —
|
|
20
|
-
*
|
|
21
|
-
* 텍스트는 label(문자열)로만 받는다. 이벤트: sdClick → 네이티브 onClick.
|
|
43
|
+
* SButton — color(7) × tone(3) × outline × 5개 사이즈 × shape(3), 아이콘(icon/rightIcon), 컴포넌트 토큰(--cmp-button-*) 기반.
|
|
44
|
+
* 텍스트는 label(문자열)로만 받는다.
|
|
22
45
|
*/
|
|
23
46
|
export declare const SButton: import("react").ForwardRefExoticComponent<SButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SButton 색상/사이즈 설정 —
|
|
3
|
-
*
|
|
4
|
-
* -
|
|
5
|
-
* -
|
|
6
|
-
* - neutral : 흰 배경 고정, outline 은 회색 테두리만 추가(solid = 테두리 없는 흰 버튼)
|
|
7
|
-
* 색상은 theme.css의 `--cmp-button-*` CSS 변수를 참조한다.
|
|
2
|
+
* SButton 색상/사이즈 설정 — component.button 토큰(`--cmp-button-*`)을 참조한다.
|
|
3
|
+
* 색은 color × tone × outline 세 축이다 (토큰 `button.<색>.tone.<default|soft|tonal>`).
|
|
4
|
+
* - tone="default": 채움(strong)·outline. neutral 은 흰 버튼(solid)·회색 테두리(outline)
|
|
5
|
+
* - tone="soft"·"tonal": 모든 색에서 옅은 면 + 색 글자. outline 이면 흰 면 + tone 색 테두리
|
|
8
6
|
*/
|
|
9
|
-
export declare const BUTTON_COLORS: readonly ["primary", "secondary", "neutral", "danger"];
|
|
10
|
-
export declare const
|
|
7
|
+
export declare const BUTTON_COLORS: readonly ["primary", "secondary", "neutral", "danger", "warning", "caution", "success"];
|
|
8
|
+
export declare const BUTTON_TONES: readonly ["default", "soft", "tonal"];
|
|
9
|
+
export declare const BUTTON_SIZES: readonly ["xxs", "xs", "sm", "md", "lg"];
|
|
10
|
+
export declare const BUTTON_SHAPES: readonly ["square", "round", "pill"];
|
|
11
11
|
export type SButtonColor = (typeof BUTTON_COLORS)[number];
|
|
12
|
+
export type SButtonTone = (typeof BUTTON_TONES)[number];
|
|
12
13
|
export type SButtonSize = (typeof BUTTON_SIZES)[number];
|
|
14
|
+
export type SButtonShape = (typeof BUTTON_SHAPES)[number];
|
|
13
15
|
interface PresetColors {
|
|
14
16
|
bg: string;
|
|
15
17
|
bgHover: string;
|
|
@@ -18,20 +20,27 @@ interface PresetColors {
|
|
|
18
20
|
border: string;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
|
-
* (color, outline) → 색상 프리셋.
|
|
22
|
-
* secondary 는 outline 을 지원하지 않으므로 outline 인자를 무시하고 항상 solid 를 돌려준다.
|
|
23
|
+
* (color, outline, tone) → 색상 프리셋.
|
|
23
24
|
*/
|
|
24
|
-
export declare function buttonPreset(color: SButtonColor, outline: boolean): PresetColors;
|
|
25
|
+
export declare function buttonPreset(color: SButtonColor, outline: boolean, tone?: SButtonTone): PresetColors;
|
|
25
26
|
export declare const BUTTON_SIZE_CONFIG: Record<SButtonSize, {
|
|
26
27
|
height: string;
|
|
27
28
|
paddingX: string;
|
|
28
29
|
gap: string;
|
|
29
|
-
iconSize:
|
|
30
|
+
iconSize: string;
|
|
31
|
+
iconOnlyWidth: string;
|
|
30
32
|
fontSize: number;
|
|
31
33
|
fontWeight: number;
|
|
32
|
-
|
|
34
|
+
/** 반경 단계 — 실제 값은 shape 와 함께 정한다(buttonShapeRadius) */
|
|
35
|
+
radius: 'sm' | 'md';
|
|
33
36
|
minWidth: number;
|
|
37
|
+
/** 라벨 글자만 내리는 위 여백 — 글꼴 상자가 버튼 안에 반 픽셀로 놓이는 크기의 보정 (xxs) */
|
|
38
|
+
labelOffsetTop?: string;
|
|
34
39
|
}>;
|
|
40
|
+
/**
|
|
41
|
+
* shape → 모서리 반경. square·round 는 크기별 단계(sm 이하 sm, md 이상 md)를 따르고, pill 은 하나다.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buttonShapeRadius(shape: SButtonShape, size: SButtonSize): string;
|
|
35
44
|
export declare const BUTTON_FOCUS_RING = "var(--sys-color-border-accent)";
|
|
36
45
|
export declare const BUTTON_DISABLED_BG = "var(--cmp-button-bg-disabled, #E1E1E1)";
|
|
37
46
|
export declare const BUTTON_DISABLED_BORDER = "var(--cmp-button-border-disabled, #CCCCCC)";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { SButton, type SButtonProps } from './SButton';
|
|
2
|
-
export { BUTTON_COLORS, BUTTON_SIZES, buttonPreset, type SButtonColor, type SButtonSize, } from './button.config';
|
|
2
|
+
export { BUTTON_COLORS, BUTTON_SIZES, BUTTON_SHAPES, BUTTON_TONES, buttonPreset, type SButtonColor, type SButtonShape, type SButtonSize, type SButtonTone, } from './button.config';
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
| Event | Type | Description |
|
|
21
21
|
|-------|------|-------------|
|
|
22
|
-
| `onValueChange` | `(date: string) => void` | 선택 변경
|
|
23
|
-
| `onViewChange` | `(v: { year: number; month: number }) => void` | 보이는 연·월 변경
|
|
22
|
+
| `onValueChange` | `(date: string) => void` | 선택 변경 |
|
|
23
|
+
| `onViewChange` | `(v: { year: number; month: number }) => void` | 보이는 연·월 변경 |
|
|
24
24
|
|
|
25
25
|
## Types
|
|
26
26
|
|
|
@@ -9,13 +9,13 @@ export interface SCalendarEventGroup {
|
|
|
9
9
|
export interface SCalendarProps {
|
|
10
10
|
/** 선택 날짜 (YYYY-MM-DD) */
|
|
11
11
|
value?: string | null;
|
|
12
|
-
/** 선택 변경
|
|
12
|
+
/** 선택 변경 */
|
|
13
13
|
onValueChange?: (date: string) => void;
|
|
14
14
|
/** 선택 가능 범위 [시작, 종료] (빈 문자열이면 제한 없음) */
|
|
15
15
|
selectable?: [string, string];
|
|
16
16
|
/** 이벤트 그룹 (날짜별 점) */
|
|
17
17
|
events?: SCalendarEventGroup[];
|
|
18
|
-
/** 보이는 연·월 변경
|
|
18
|
+
/** 보이는 연·월 변경 */
|
|
19
19
|
onViewChange?: (v: {
|
|
20
20
|
year: number;
|
|
21
21
|
month: number;
|
|
@@ -25,5 +25,5 @@ export interface SCalendarProps {
|
|
|
25
25
|
className?: string;
|
|
26
26
|
style?: CSSProperties;
|
|
27
27
|
}
|
|
28
|
-
/** SCalendar —
|
|
28
|
+
/** SCalendar — 월 그리드 + 이벤트 점 + 범례. */
|
|
29
29
|
export declare function SCalendar({ value, onValueChange, selectable, events, onViewChange, elevated, className, style, }: SCalendarProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type HTMLAttributes, type MouseEvent, type ReactNode } from 'react';
|
|
2
|
+
import type { CalendarBoardSegment } from './calendar-board-layout';
|
|
3
|
+
import { type SCalendarBoardDayColor } from './calendarBoard.config';
|
|
4
|
+
import type { SCalendarBoardEvent } from './types';
|
|
5
|
+
/** 이 칸의 오른쪽·아래 격자선과 오른쪽 아래 교차점 중 경계 오버레이를 얹을 곳 */
|
|
6
|
+
export interface CalendarDayBorderOverlay {
|
|
7
|
+
right: boolean;
|
|
8
|
+
bottom: boolean;
|
|
9
|
+
corner: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 달력의 날짜 한 칸 (SCalendarBoard 내부 조립 요소).
|
|
13
|
+
* 위에 날짜 숫자가 서고, 그 아래로 일정 막대가 줄 단위로 얹힌다.
|
|
14
|
+
* `body` 를 받은 칸은 아래를 통째로 그것에 내준다 — 일정은 그리지 않는다.
|
|
15
|
+
*/
|
|
16
|
+
export declare const CalendarDayCard: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
17
|
+
/** YYYY-MM-DD */
|
|
18
|
+
date: string;
|
|
19
|
+
/** 1-31 */
|
|
20
|
+
day: number;
|
|
21
|
+
/** 보고 있는 달에 속한 날짜인지 */
|
|
22
|
+
inCurrentMonth: boolean;
|
|
23
|
+
isToday: boolean;
|
|
24
|
+
isSelected: boolean;
|
|
25
|
+
/** 칸을 눌러 고를 수 있는지 */
|
|
26
|
+
selectable: boolean;
|
|
27
|
+
/** 칸 배경 */
|
|
28
|
+
color: SCalendarBoardDayColor;
|
|
29
|
+
/** 이웃 칸과 맞닿은 격자선에 얹을 경계 오버레이 — 판이 이웃 칸 색까지 보고 정한다 */
|
|
30
|
+
borderOverlay?: CalendarDayBorderOverlay;
|
|
31
|
+
/**
|
|
32
|
+
* **이 칸에서 시작하는** 일정 막대. 여러 날에 걸친 일정은 시작 칸이 그리고 오른쪽 칸 위로 뻗는다 —
|
|
33
|
+
* 지나가는 칸은 자기 줄을 비워 두므로(배치 계산이 이미 잡아 둔다) 겹치지 않는다.
|
|
34
|
+
*/
|
|
35
|
+
segments: CalendarBoardSegment[];
|
|
36
|
+
/** 이 날짜에 걸친 일정 수 — 하나라도 있으면 칸을 눌러 목록 판을 열 수 있다 */
|
|
37
|
+
dayEventCount: number;
|
|
38
|
+
/**
|
|
39
|
+
* 일정 자리를 대신 차지할 칸 본문 (SCalendarBoard 의 `dayContent`).
|
|
40
|
+
* 주면 일정·"더보기" 를 그리지 않는다. `content` 는 HTMLAttributes 가 이미 쓰는 이름이라 피했다.
|
|
41
|
+
*/
|
|
42
|
+
body?: ReactNode;
|
|
43
|
+
/** 접혀 있는 일정 수. 0 이면 "더보기" 를 그리지 않는다 */
|
|
44
|
+
hiddenCount: number;
|
|
45
|
+
/** "더보기" 가 앉는 줄. 접힌 것이 없는 주는 -1 */
|
|
46
|
+
moreLane: number;
|
|
47
|
+
/** "더보기" 자리를 집중된 일정에 내줬는지 — 내준 칸은 "더보기" 를 그리지 않는다 */
|
|
48
|
+
moreReplaced: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* 집중할 일정의 `id` (SCalendarBoard 의 `focusedEventId`).
|
|
51
|
+
* 주면 그 일정만 또렷하게 남고 이 칸의 나머지 일정과 "더보기" 는 흐려진다.
|
|
52
|
+
*/
|
|
53
|
+
focusedEventId?: string | null;
|
|
54
|
+
/** 이 칸의 일정 목록 판이 열려 있는지 */
|
|
55
|
+
isOpen: boolean;
|
|
56
|
+
moreLabel?: string;
|
|
57
|
+
onDaySelect?: (date: string) => void;
|
|
58
|
+
onEventClick?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
59
|
+
/** 일정 목록 판 열기 — 칸 자체를 눌렀을 때와 "더보기" 를 눌렀을 때 모두 여기로 온다 */
|
|
60
|
+
onOpenEvents?: () => void;
|
|
61
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
2
|
+
import type { SCalendarBoardEvent } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 한 날짜의 일정을 전부 펼쳐 보여주는 목록 판 (SCalendarBoard 내부 조립 요소).
|
|
5
|
+
* 칸을 누르거나 "N개 더보기" 를 누르면 **그 날짜 칸을 덮은 채** 좌·상으로 아웃덴트만큼 빠져나와 뜬다 —
|
|
6
|
+
* 칸에서 자라난 것처럼 보이게 하기 위함이다. 위치와 최소 높이는 SCalendarBoard 가 정하고,
|
|
7
|
+
* 그보다 내용이 길면 자라다 상한에서 멈춘다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function CalendarDayEventListBox({ date, events, onEventClick, minWidth, minHeight, onClose, closeLabel: closeLabelProp, }: {
|
|
10
|
+
/** YYYY-MM-DD */
|
|
11
|
+
date: string;
|
|
12
|
+
/**
|
|
13
|
+
* 판이 적어도 이만큼은 넓어야 한다(px) — 덮는 칸 너비 + 좌·우 아웃덴트가 온다.
|
|
14
|
+
* 내용이 넓으면 글자가 잘리지 않게 여기서부터 자란다. 칸을 못 쟀으면 내용 너비를 따른다.
|
|
15
|
+
*/
|
|
16
|
+
minWidth?: number;
|
|
17
|
+
/**
|
|
18
|
+
* 판이 적어도 이만큼은 높아야 한다(px) — 덮는 칸 높이 + 상·하 아웃덴트가 온다.
|
|
19
|
+
* 내용이 이보다 짧아도 칸을 딱 감싸는 모양이 유지된다. 칸을 못 쟀으면 내용 높이를 따른다.
|
|
20
|
+
*/
|
|
21
|
+
minHeight?: number;
|
|
22
|
+
events: SCalendarBoardEvent[];
|
|
23
|
+
onEventClick?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
closeLabel?: string;
|
|
26
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CSSProperties, type MouseEvent } from 'react';
|
|
2
|
+
import type { SCalendarBoardEvent } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 달력 칸/패널 안의 일정 한 줄 (SCalendarBoard 내부 조립 요소).
|
|
5
|
+
*
|
|
6
|
+
* 점 → 레이블(강조) → 설명 → `/` → 값 순서로 한 줄에 눕는다.
|
|
7
|
+
* 가운데 레이블 묶음만 줄어들고 값은 끝에 고정되므로, 좁은 칸에서도 금액이 잘리지 않는다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function CalendarEventButton({ event, onSelect, flatStart, flatEnd, dimmed, className, style, }: {
|
|
10
|
+
event: SCalendarBoardEvent;
|
|
11
|
+
onSelect?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
/** 왼쪽 끝이 잘린 조각 — 앞 주에서 이어지므로 모서리를 평평하게 한다 */
|
|
13
|
+
flatStart?: boolean;
|
|
14
|
+
/** 오른쪽 끝이 잘린 조각 — 다음 주로 이어진다 */
|
|
15
|
+
flatEnd?: boolean;
|
|
16
|
+
/** 다른 일정에 집중하는 동안 물러나 있다 — 흐려질 뿐 계속 눌린다 */
|
|
17
|
+
dimmed?: boolean;
|
|
18
|
+
className?: string;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type CSSProperties, type MouseEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 칸에 다 담기지 않은 일정 수를 알리는 "N개 더보기" 줄 (SCalendarBoard 내부 조립 요소).
|
|
4
|
+
* 개수는 강조색, 뒷말은 본문색으로 갈라 개수가 먼저 읽히게 한다.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CalendarMoreButton: import("react").ForwardRefExoticComponent<{
|
|
7
|
+
count: number;
|
|
8
|
+
/** 개수 뒤에 붙는 말 */
|
|
9
|
+
label?: string;
|
|
10
|
+
/**
|
|
11
|
+
* 어느 일정에 집중하는 동안 물러나 있다. 여기 남아 있다는 것은 접힌 것 중에
|
|
12
|
+
* 집중 대상이 없다는 뜻이라(있었다면 이 자리를 내줬다) 함께 흐려진다.
|
|
13
|
+
*/
|
|
14
|
+
dimmed?: boolean;
|
|
15
|
+
onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
|
|
16
|
+
className?: string;
|
|
17
|
+
style?: CSSProperties;
|
|
18
|
+
} & import("react").RefAttributes<HTMLButtonElement>>;
|