sellmate-design-system-react 9.0.0-beta.8 → 9.0.0-beta.80
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 +3974 -267
- package/README.md +76 -24
- 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 +64 -0
- package/dist/components/SAccountListBox/index.d.ts +2 -0
- package/dist/components/SActionModal/README.md +1 -0
- package/dist/components/SActionModal/SActionModal.d.ts +9 -1
- package/dist/components/SBadge/README.md +27 -0
- package/dist/components/SBadge/SBadge.d.ts +1 -1
- package/dist/components/SBarChart/README.md +122 -0
- package/dist/components/SBarChart/SBarChart.d.ts +99 -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 +14 -4
- package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +25 -3
- package/dist/components/SButton/README.md +40 -0
- package/dist/components/SCalendar/README.md +13 -0
- package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +53 -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 +17 -1
- package/dist/components/SCallout/SCallout.d.ts +14 -4
- 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 +44 -0
- package/dist/components/SChatInput/SChatInput.d.ts +60 -0
- package/dist/components/SChatInput/index.d.ts +1 -0
- package/dist/components/SChatMessage/README.md +86 -0
- package/dist/components/SChatMessage/SChatMessage.d.ts +123 -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 +8 -0
- package/dist/components/SChip/README.md +25 -0
- package/dist/components/SChip/SChip.d.ts +8 -0
- package/dist/components/SChip/index.d.ts +1 -1
- package/dist/components/SChipFilter/README.md +369 -14
- package/dist/components/SChipFilter/SChipFilter.d.ts +169 -60
- package/dist/components/SChipFilter/index.d.ts +1 -1
- package/dist/components/SChipInput/README.md +18 -2
- package/dist/components/SChipInput/SChipInput.d.ts +23 -3
- package/dist/components/SChipInput/index.d.ts +1 -1
- package/dist/components/SCircleProgress/README.md +13 -2
- package/dist/components/SCircleProgress/SCircleProgress.d.ts +11 -3
- package/dist/components/SConfirmModal/README.md +13 -4
- package/dist/components/SConfirmModal/SConfirmModal.d.ts +46 -9
- 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 +22 -2
- package/dist/components/SDatePicker/SDatePicker.d.ts +42 -5
- package/dist/components/SDateRangePicker/README.md +22 -4
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +44 -7
- package/dist/components/SDivider/README.md +7 -0
- package/dist/components/SDivider/SDivider.d.ts +11 -0
- 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 +37 -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 +33 -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 +8 -0
- package/dist/components/SDropdownButton/README.md +19 -0
- package/dist/components/SEditor/EditorBody.d.ts +36 -0
- package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
- package/dist/components/SEditor/README.md +205 -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 +119 -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 +38 -2
- package/dist/components/SExpansionItem/SExpansionItem.d.ts +8 -2
- package/dist/components/SExpansionItem/index.d.ts +1 -1
- package/dist/components/SField/README.md +37 -5
- package/dist/components/SField/SField.d.ts +40 -8
- package/dist/components/SField/index.d.ts +1 -1
- package/dist/components/SFilePicker/README.md +20 -4
- package/dist/components/SFilePicker/SFilePicker.d.ts +26 -6
- package/dist/components/SFooter/README.md +44 -0
- package/dist/components/SFooter/SFooter.d.ts +29 -13
- package/dist/components/SFooter/index.d.ts +1 -1
- package/dist/components/SForm/README.md +12 -1
- package/dist/components/SForm/SForm.d.ts +2 -2
- package/dist/components/SGhostButton/README.md +28 -4
- package/dist/components/SGhostButton/SGhostButton.d.ts +4 -1
- package/dist/components/SGnb/README.md +109 -8
- package/dist/components/SGnb/SGnb.d.ts +112 -11
- package/dist/components/SGnb/gnb.config.d.ts +18 -5
- package/dist/components/SGnb/index.d.ts +1 -1
- package/dist/components/SGnbSystem/README.md +186 -0
- package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
- package/dist/components/SGnbSystem/gnbSystem.config.d.ts +122 -0
- package/dist/components/SGnbSystem/index.d.ts +2 -0
- package/dist/components/SGuide/README.md +16 -1
- package/dist/components/SGuide/SGuide.d.ts +5 -2
- package/dist/components/SIcon/README.md +20 -0
- package/dist/components/SIcon/SIcon.d.ts +1 -1
- package/dist/components/SIcon/icons.gen.d.ts +20 -1
- package/dist/components/SImage/README.md +23 -1
- package/dist/components/SImage/SImage.d.ts +11 -8
- package/dist/components/SInput/README.md +8 -4
- package/dist/components/SInput/SInput.d.ts +17 -5
- package/dist/components/SKeyValueTable/README.md +88 -0
- package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +30 -3
- 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 +154 -0
- package/dist/components/SLayout/README.md +22 -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 +131 -0
- package/dist/components/SLineChart/SLineChart.d.ts +110 -0
- package/dist/components/SLineChart/index.d.ts +1 -0
- package/dist/components/SLineChart/lineChart.config.d.ts +95 -0
- package/dist/components/SLinearProgress/README.md +16 -1
- package/dist/components/SLinearProgress/SLinearProgress.d.ts +11 -2
- 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 +43 -2
- package/dist/components/SListItem/SListItem.d.ts +8 -2
- package/dist/components/SListItem/index.d.ts +1 -1
- 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 -2
- package/dist/components/SLoadingModal/SLoadingModal.d.ts +4 -4
- 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 +67 -0
- package/dist/components/SMeatballButton/SMeatballButton.d.ts +36 -0
- package/dist/components/SMeatballButton/index.d.ts +1 -0
- package/dist/components/SModal/README.md +15 -5
- package/dist/components/SModal/SModal.d.ts +1 -1
- package/dist/components/SNumberInput/README.md +19 -8
- package/dist/components/SNumberInput/SNumberInput.d.ts +49 -7
- package/dist/components/SPage/README.md +105 -5
- package/dist/components/SPage/SPage.d.ts +34 -10
- package/dist/components/SPage/SPageHeader.d.ts +31 -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/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 +15 -0
- package/dist/components/SPopup/README.md +26 -2
- package/dist/components/SPopup/SPopup.d.ts +13 -10
- package/dist/components/SPopup/index.d.ts +1 -1
- package/dist/components/SPortal/README.md +20 -0
- package/dist/components/SRadio/README.md +20 -0
- package/dist/components/SRadioButton/README.md +26 -0
- package/dist/components/SRadioButton/SRadioButton.d.ts +9 -2
- package/dist/components/SRadioCard/README.md +78 -0
- package/dist/components/SRadioCard/SRadioCard.d.ts +29 -0
- package/dist/components/SRadioCard/SRadioCardGroup.d.ts +36 -0
- package/dist/components/SRadioCard/index.d.ts +2 -0
- package/dist/components/SScrollArea/README.md +28 -0
- package/dist/components/SScrollArea/SScrollArea.d.ts +17 -0
- package/dist/components/SSearchInput/README.md +63 -0
- package/dist/components/SSearchInput/SSearchInput.d.ts +52 -0
- package/dist/components/SSearchInput/index.d.ts +1 -0
- package/dist/components/SSectionHeaderCard/README.md +38 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +19 -0
- package/dist/components/SSelect/README.md +64 -11
- package/dist/components/SSelect/SSelect.d.ts +135 -15
- package/dist/components/SSelect/index.d.ts +1 -1
- package/dist/components/SSelect/select.config.d.ts +17 -0
- package/dist/components/SSkeleton/README.md +55 -0
- package/dist/components/SSkeleton/SSkeleton.d.ts +39 -0
- package/dist/components/SSkeleton/index.d.ts +2 -0
- package/dist/components/SSkeleton/skeleton.config.d.ts +22 -0
- package/dist/components/SSplitter/README.md +17 -2
- package/dist/components/SSplitter/SSplitter.d.ts +7 -3
- package/dist/components/SStepper/README.md +26 -0
- package/dist/components/SSwitch/README.md +13 -1
- package/dist/components/SSwitch/SSwitch.d.ts +1 -3
- package/dist/components/SSystemActionButton/README.md +246 -0
- package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +167 -0
- package/dist/components/SSystemActionButton/index.d.ts +2 -0
- package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +93 -0
- package/dist/components/STable/README.md +135 -20
- package/dist/components/STable/STable.d.ts +292 -46
- package/dist/components/STable/index.d.ts +1 -1
- package/dist/components/STableBar/README.md +1 -0
- package/dist/components/STableBar/STableBar.d.ts +8 -1
- package/dist/components/STabs/README.md +13 -1
- package/dist/components/STabs/STabs.d.ts +2 -2
- package/dist/components/STag/README.md +55 -0
- package/dist/components/STag/STag.d.ts +3 -1
- package/dist/components/STag/tag.config.d.ts +1 -1
- package/dist/components/STextLink/README.md +21 -1
- package/dist/components/STextLink/STextLink.d.ts +5 -1
- package/dist/components/STextarea/README.md +12 -5
- package/dist/components/STextarea/STextarea.d.ts +49 -6
- package/dist/components/STimePicker/README.md +19 -2
- package/dist/components/STimePicker/STimePicker.d.ts +36 -6
- package/dist/components/STimePicker/timepicker.config.d.ts +4 -2
- package/dist/components/STimeRangePicker/README.md +31 -2
- package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +35 -6
- package/dist/components/SToast/README.md +25 -1
- package/dist/components/SToast/SToast.d.ts +2 -2
- package/dist/components/SToggle/README.md +8 -0
- package/dist/components/SToggle/index.d.ts +1 -1
- package/dist/components/STooltip/README.md +27 -1
- package/dist/components/STooltip/STooltip.d.ts +1 -1
- package/dist/components/STree/README.md +42 -4
- package/dist/components/STree/STree.d.ts +18 -6
- package/dist/components/STree/STree.examples.d.ts +2 -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 +21789 -10666
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +23 -0
- package/dist/index.js +21704 -10665
- package/dist/index.js.map +1 -1
- package/dist/lib/chart/cartesian.d.ts +56 -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 +39 -0
- package/dist/lib/date.d.ts +2 -1
- 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-height.d.ts +15 -0
- package/dist/lib/global-overlay.d.ts +5 -0
- package/dist/lib/hover-preview.d.ts +32 -0
- package/dist/lib/inert.d.ts +11 -0
- package/dist/lib/overlay-scrollbar.d.ts +32 -0
- package/dist/lib/row-metrics.d.ts +61 -0
- package/dist/lib/story-docs.d.ts +19 -3
- package/dist/llms-full.txt +9674 -2059
- package/dist/llms.txt +4062 -326
- 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 +3541 -262
- package/dist/theme.css +598 -28
- 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 +19 -5
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# SContextAlert
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SContextAlert
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `intent?` | `SContextAlertIntent` | `'default'` | 알림의 성격 — 면과 테두리 색만 바뀐다. 본문색과 아이콘 기본색은 인텐트와 무관하게 하나다. `default` 안내 · `danger` 오류 · `warning` 주의 · `success` 완료 · `accent` 강조 · `discovery` 새 기능 |
|
|
12
|
+
| `messages?` | `string[]` | `[]` | 본문. 각 문자열이 한 줄이 되고, 인라인 HTML(`<b>` · `<a>` 등)을 허용한다 — `sanitizeInlineHtml` 로 살균한 뒤 렌더하므로 스크립트·위험 스킴은 제거된다. |
|
|
13
|
+
| `icon?` | `SIconName` | — | 왼쪽 아이콘. **주지 않으면 아이콘 칸 자체가 없다** — 넣을 때만 넣는다. 넣는다면 인텐트와 무관하게 원 안 느낌표(`notificationOutline`) 하나를 쓴다. 인텐트마다 다른 글리프를 고르면 면의 색과 아이콘의 뜻이 따로 논다. |
|
|
14
|
+
| `iconColor?` | `SColor` | — | 아이콘 색. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상. 주지 않으면 본문보다 한 단계 옅은 기본색이 된다 — 인텐트와 무관하게 하나다. 면 색과 짝을 맞추려 인텐트마다 다른 색을 넣는 것은 시안의 규칙이 아니다. |
|
|
15
|
+
| `action?` | `ReactNode` | — | 오른쪽에 붙는 후속 동작. **`SButton size="xs"` 를 넣는다** — 그 높이(24px)가 곧 이 상자의 콘텐츠 높이라 시안의 40px 가 그대로 나온다. 더 큰 버튼을 넣으면 상자가 그만큼 세로로 늘어난다. |
|
|
16
|
+
| `className?` | `string` | — | |
|
|
17
|
+
| `style?` | `CSSProperties` | — | |
|
|
18
|
+
|
|
19
|
+
## Types
|
|
20
|
+
|
|
21
|
+
### SContextAlertIntent
|
|
22
|
+
|
|
23
|
+
```ts
|
|
24
|
+
export type SContextAlertIntent = (typeof CONTEXT_ALERT_INTENTS)[number];
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### CONTEXT_ALERT_INTENTS
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
export const CONTEXT_ALERT_INTENTS = [
|
|
31
|
+
'default',
|
|
32
|
+
'danger',
|
|
33
|
+
'warning',
|
|
34
|
+
'success',
|
|
35
|
+
'accent',
|
|
36
|
+
'discovery',
|
|
37
|
+
] as const;
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Dependencies
|
|
41
|
+
|
|
42
|
+
### Depends on
|
|
43
|
+
|
|
44
|
+
- [SIcon](../SIcon)
|
|
45
|
+
|
|
46
|
+
### Graph
|
|
47
|
+
|
|
48
|
+
```mermaid
|
|
49
|
+
graph TD;
|
|
50
|
+
SContextAlert --> SIcon
|
|
51
|
+
style SContextAlert fill:#f9f,stroke:#333,stroke-width:4px
|
|
52
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
+
import { type SColor } from '../../lib/color';
|
|
3
|
+
import { type SIconName } from '../SIcon';
|
|
4
|
+
import { type SContextAlertIntent } from './contextAlert.config';
|
|
5
|
+
export interface SContextAlertProps {
|
|
6
|
+
/**
|
|
7
|
+
* 알림의 성격 — 면과 테두리 색만 바뀐다. 본문색과 아이콘 기본색은 인텐트와 무관하게 하나다.
|
|
8
|
+
*
|
|
9
|
+
* `default` 안내 · `danger` 오류 · `warning` 주의 · `success` 완료 · `accent` 강조 · `discovery` 새 기능
|
|
10
|
+
*/
|
|
11
|
+
intent?: SContextAlertIntent;
|
|
12
|
+
/**
|
|
13
|
+
* 본문. 각 문자열이 한 줄이 되고, 인라인 HTML(`<b>` · `<a>` 등)을 허용한다 —
|
|
14
|
+
* `sanitizeInlineHtml` 로 살균한 뒤 렌더하므로 스크립트·위험 스킴은 제거된다.
|
|
15
|
+
*/
|
|
16
|
+
messages?: string[];
|
|
17
|
+
/**
|
|
18
|
+
* 왼쪽 아이콘. **주지 않으면 아이콘 칸 자체가 없다** — 넣을 때만 넣는다.
|
|
19
|
+
*
|
|
20
|
+
* 넣는다면 인텐트와 무관하게 원 안 느낌표(`notificationOutline`) 하나를 쓴다. 인텐트마다
|
|
21
|
+
* 다른 글리프를 고르면 면의 색과 아이콘의 뜻이 따로 논다.
|
|
22
|
+
*/
|
|
23
|
+
icon?: SIconName;
|
|
24
|
+
/**
|
|
25
|
+
* 아이콘 색. 팔레트 키(`grey_65`, `red_95` …) 또는 임의 CSS 색상.
|
|
26
|
+
*
|
|
27
|
+
* 주지 않으면 본문보다 한 단계 옅은 기본색이 된다 — 인텐트와 무관하게 하나다. 면 색과 짝을
|
|
28
|
+
* 맞추려 인텐트마다 다른 색을 넣는 것은 시안의 규칙이 아니다.
|
|
29
|
+
*/
|
|
30
|
+
iconColor?: SColor;
|
|
31
|
+
/**
|
|
32
|
+
* 오른쪽에 붙는 후속 동작.
|
|
33
|
+
*
|
|
34
|
+
* **`SButton size="xs"` 를 넣는다** — 그 높이(24px)가 곧 이 상자의 콘텐츠 높이라 시안의
|
|
35
|
+
* 40px 가 그대로 나온다. 더 큰 버튼을 넣으면 상자가 그만큼 세로로 늘어난다.
|
|
36
|
+
*/
|
|
37
|
+
action?: ReactNode;
|
|
38
|
+
className?: string;
|
|
39
|
+
style?: CSSProperties;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* SContextAlert — 한 줄짜리 맥락 알림.
|
|
43
|
+
*
|
|
44
|
+
* 화면의 특정 자리에 붙어 "지금 이 맥락에서 알아야 할 것"을 한 줄로 알리고, 필요하면
|
|
45
|
+
* 오른쪽에 후속 동작 버튼을 둔다. 여러 줄 목록으로 안내를 쌓는 자리는 `SCallout` 이다
|
|
46
|
+
* (AGENTS.md §3-2) — 두 컴포넌트는 면·테두리·패딩 토큰이 같고 **무엇을 담는지**가 다르다.
|
|
47
|
+
*
|
|
48
|
+
* 색은 `--cmp-contextAlert-*` 토큰이 정한다. 아이콘 색만 전용 토큰이 없어 시스템 토큰을
|
|
49
|
+
* 빌려 쓴다(`contextAlert.config.ts` 참고).
|
|
50
|
+
*/
|
|
51
|
+
export declare const SContextAlert: import("react").ForwardRefExoticComponent<SContextAlertProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const CONTEXT_ALERT_INTENTS: readonly ["default", "danger", "warning", "success", "accent", "discovery"];
|
|
2
|
+
export type SContextAlertIntent = (typeof CONTEXT_ALERT_INTENTS)[number];
|
|
3
|
+
/**
|
|
4
|
+
* 인텐트별 표면 — 배경·테두리.
|
|
5
|
+
*
|
|
6
|
+
* `--cmp-contextAlert-<intent>-*` 로 이름을 조립하지 않고 표로 둔다. 조립하면 어떤 인텐트가
|
|
7
|
+
* 실제로 토큰을 갖고 있는지가 코드에서 사라지고, `check:refs` 도 접두어 존재만 확인하게 된다.
|
|
8
|
+
*
|
|
9
|
+
* **본문색은 여기 없다** — 전 인텐트 공통(`--cmp-contextAlert-content`)이라 컴포넌트가 직접 쓴다.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CONTEXT_ALERT_SURFACE: Record<SContextAlertIntent, {
|
|
12
|
+
bg: string;
|
|
13
|
+
border: string;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* 아이콘 색 — 본문(`--cmp-contextAlert-content`)보다 한 단계 옅다.
|
|
17
|
+
*
|
|
18
|
+
* ⚠️ contextAlert 토큰 그룹에 아이콘 **색**이 없다(크기만 있다). 시안의 값과 같은 시스템
|
|
19
|
+
* 토큰을 빌려 쓴다 — 디자인팀이 전용 토큰을 내면 이 한 줄을 그것으로 갈아끼운다
|
|
20
|
+
* (토큰 키는 만들지 않는다). `SCallout` 의 `white` 타입이 같은 방식으로 버티고 있다.
|
|
21
|
+
*/
|
|
22
|
+
export declare const CONTEXT_ALERT_ICON_COLOR = "var(--sys-color-fg-tertiary)";
|
|
@@ -33,11 +33,15 @@
|
|
|
33
33
|
| `placeholder?` | `string` | — | |
|
|
34
34
|
| `selectable?` | `[string, string]` | — | 선택 가능 범위 [시작, 종료] |
|
|
35
35
|
| `disabled?` | `boolean` | `false` | |
|
|
36
|
-
| `
|
|
36
|
+
| `clearable?` | `boolean` | `false` | 선택값 지우기 버튼. 값이 있을 때만 나타나고, 누르면 `onValueChange` 로 `null` 이 온다. **필수 입력 필드에는 켜지 않는다** — 지우면 다시 고르기 전까지 폼이 통과하지 못한다. `STimePicker` · `STimeRangePicker` · `SSelect` 의 `clearable` 과 같은 규칙이다. |
|
|
37
|
+
| `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
|
|
38
|
+
| `maxWidth?` | `SFieldWidth` | — | 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`YYYY-MM-DD`)에 맞춘 내장 상한(`size='md'` → `lg`, `'sm'` → `md`)이 걸려, `width="100%"` 를 받아도 행 전체로 늘어나지 않는다. 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께 `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야 할 때만 쓴다. |
|
|
37
39
|
| `name?` | `string` | — | |
|
|
38
40
|
| `rules?` | `Rule[]` | — | |
|
|
39
41
|
| `status?` | `SFieldStatus` | — | |
|
|
40
42
|
| `label?` | `string` | — | |
|
|
43
|
+
| `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
|
|
44
|
+
| `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
|
|
41
45
|
| `labelWidth?` | `number \| string` | — | |
|
|
42
46
|
| `icon?` | `SIconName` | — | |
|
|
43
47
|
| `iconColor?` | `SColor` | — | |
|
|
@@ -55,7 +59,7 @@
|
|
|
55
59
|
|
|
56
60
|
| Event | Type | Description |
|
|
57
61
|
|-------|------|-------------|
|
|
58
|
-
| `onValueChange` | `(value: string) => void` | 선택 변경 (sdUpdate) |
|
|
62
|
+
| `onValueChange` | `(value: string \| null) => void` | 선택 변경 (sdUpdate). `clearable` 로 지우면 `null` 이 온다 |
|
|
59
63
|
| `onViewChange` | `(view: { year: number; month: number }) => void` | 보이는 연·월 변경 (sdViewChange) |
|
|
60
64
|
|
|
61
65
|
### SDatePickerYearListbox
|
|
@@ -76,6 +80,20 @@
|
|
|
76
80
|
|-------|------|-------------|
|
|
77
81
|
| `onValueChange` | `(year: string) => void` | |
|
|
78
82
|
|
|
83
|
+
## Types
|
|
84
|
+
|
|
85
|
+
### SDatePickerMode
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
export type SDatePickerMode = 'date' | 'month' | 'year';
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### SDatePickerSize
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
export type SDatePickerSize = SFieldSize;
|
|
95
|
+
```
|
|
96
|
+
|
|
79
97
|
## Dependencies
|
|
80
98
|
|
|
81
99
|
### Used by
|
|
@@ -87,6 +105,7 @@
|
|
|
87
105
|
|
|
88
106
|
- [SCalendar](../SCalendar)
|
|
89
107
|
- [SField](../SField)
|
|
108
|
+
- [SGhostButton](../SGhostButton)
|
|
90
109
|
- [SIcon](../SIcon)
|
|
91
110
|
|
|
92
111
|
### Graph
|
|
@@ -95,6 +114,7 @@
|
|
|
95
114
|
graph TD;
|
|
96
115
|
SDatePicker --> SCalendar
|
|
97
116
|
SDatePicker --> SField
|
|
117
|
+
SDatePicker --> SGhostButton
|
|
98
118
|
SDatePicker --> SIcon
|
|
99
119
|
SChipFilter --> SDatePicker
|
|
100
120
|
SKeyValueTable --> SDatePicker
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { type CSSProperties } 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 SDatePickerSize = SFieldSize;
|
|
8
9
|
export type SDatePickerMode = 'date' | 'month' | 'year';
|
|
9
10
|
export interface SDatePickerProps {
|
|
10
11
|
/** 선택 값 (date: YYYY-MM-DD, month: YYYY-MM, year: YYYY) */
|
|
11
12
|
value?: string | null;
|
|
12
|
-
/** 선택 변경 (sdUpdate) */
|
|
13
|
-
onValueChange?: (value: string) => void;
|
|
13
|
+
/** 선택 변경 (sdUpdate). `clearable` 로 지우면 `null` 이 온다 */
|
|
14
|
+
onValueChange?: (value: string | null) => void;
|
|
14
15
|
/** 보이는 연·월 변경 (sdViewChange) */
|
|
15
16
|
onViewChange?: (view: {
|
|
16
17
|
year: number;
|
|
@@ -23,11 +24,47 @@ export interface SDatePickerProps {
|
|
|
23
24
|
/** 선택 가능 범위 [시작, 종료] */
|
|
24
25
|
selectable?: [string, string];
|
|
25
26
|
disabled?: boolean;
|
|
26
|
-
|
|
27
|
+
/**
|
|
28
|
+
* 선택값 지우기 버튼. 값이 있을 때만 나타나고, 누르면 `onValueChange` 로 `null` 이 온다.
|
|
29
|
+
*
|
|
30
|
+
* **필수 입력 필드에는 켜지 않는다** — 지우면 다시 고르기 전까지 폼이 통과하지 못한다.
|
|
31
|
+
* `STimePicker` · `STimeRangePicker` · `SSelect` 의 `clearable` 과 같은 규칙이다.
|
|
32
|
+
*/
|
|
33
|
+
clearable?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
|
|
36
|
+
* 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
|
|
37
|
+
* 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
|
|
38
|
+
*/
|
|
39
|
+
width?: SFieldWidth;
|
|
40
|
+
/**
|
|
41
|
+
* 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`YYYY-MM-DD`)에 맞춘
|
|
42
|
+
* 내장 상한(`size='md'` → `lg`, `'sm'` → `md`)이 걸려, `width="100%"` 를 받아도 행 전체로
|
|
43
|
+
* 늘어나지 않는다.
|
|
44
|
+
*
|
|
45
|
+
* 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께
|
|
46
|
+
* `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야
|
|
47
|
+
* 할 때만 쓴다.
|
|
48
|
+
*/
|
|
49
|
+
maxWidth?: SFieldWidth;
|
|
27
50
|
name?: string;
|
|
28
51
|
rules?: Rule[];
|
|
29
52
|
status?: SFieldStatus;
|
|
30
53
|
label?: string;
|
|
54
|
+
/**
|
|
55
|
+
* 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
|
|
56
|
+
*
|
|
57
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
58
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
59
|
+
*/
|
|
60
|
+
labelPosition?: SFieldLabelPosition;
|
|
61
|
+
/**
|
|
62
|
+
* 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
|
|
63
|
+
*
|
|
64
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
65
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
66
|
+
*/
|
|
67
|
+
subLabel?: string;
|
|
31
68
|
labelWidth?: number | string;
|
|
32
69
|
icon?: SIconName;
|
|
33
70
|
iconColor?: SColor;
|
|
@@ -72,4 +109,4 @@ export interface SDatePickerMonthListboxProps {
|
|
|
72
109
|
* 자체 트리거/팝오버 없이 연도+월 리스트만 필요한 커스텀 조합에 재사용한다. */
|
|
73
110
|
export declare function SDatePickerMonthListbox({ value, anchorYear, selectable, onValueChange, onMonthSelect, className, style, }: SDatePickerMonthListboxProps): import("react").JSX.Element;
|
|
74
111
|
/** SDatePicker — sd-date-picker 포팅. SField + SPopover(SCalendar). */
|
|
75
|
-
export declare function SDatePicker({ value, onValueChange, onViewChange, mode, size, placeholder, selectable, disabled, width, name, rules, status, label, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: SDatePickerProps): import("react").JSX.Element;
|
|
112
|
+
export declare function SDatePicker({ value, onValueChange, onViewChange, mode, size, placeholder, selectable, disabled, clearable, width, maxWidth, name, rules, status, label, labelPosition, subLabel, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: SDatePickerProps): import("react").JSX.Element;
|
|
@@ -13,13 +13,17 @@
|
|
|
13
13
|
| `placeholder?` | `string` | `'YYYY-MM-DD ~ YYYY-MM-DD'` | |
|
|
14
14
|
| `selectable?` | `[string, string]` | — | |
|
|
15
15
|
| `maxRange?` | `number` | — | 최대 선택 일수 |
|
|
16
|
-
| `
|
|
16
|
+
| `showTimePicker?` | `boolean` | `false` | 시간(시:분) 선택 푸터 사용 여부. true이면 value는 "YYYY-MM-DD HH:mm" 형식이 되고, 캘린더 하단에 시작·종료 시간 입력이 표시된다. |
|
|
17
17
|
| `disabled?` | `boolean` | `false` | |
|
|
18
|
-
| `
|
|
18
|
+
| `clearable?` | `boolean` | `false` | 선택값 지우기 버튼. 값이 있을 때만 나타나고, 누르면 `onValueChange` 로 `null` 이 온다. **필수 입력 필드에는 켜지 않는다** — 지우면 다시 고르기 전까지 폼이 통과하지 못한다. `SDatePicker` · `STimePicker` · `SSelect` 의 `clearable` 과 같은 규칙이다. |
|
|
19
|
+
| `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다. 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다. |
|
|
20
|
+
| `maxWidth?` | `SFieldWidth` | — | 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`YYYY-MM-DD ~ YYYY-MM-DD`)에 맞춘 내장 상한(`size='md'` → `xl`, `'sm'` → `lg`)이 걸려, `width="100%"` 를 받아도 행 전체로 늘어나지 않는다. 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께 `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야 할 때만 쓴다. |
|
|
19
21
|
| `name?` | `string` | — | |
|
|
20
22
|
| `rules?` | `Rule[]` | — | |
|
|
21
23
|
| `status?` | `SFieldStatus` | — | |
|
|
22
24
|
| `label?` | `string` | — | |
|
|
25
|
+
| `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다). |
|
|
26
|
+
| `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
|
|
23
27
|
| `labelWidth?` | `number \| string` | — | |
|
|
24
28
|
| `icon?` | `SIconName` | — | |
|
|
25
29
|
| `iconColor?` | `SColor` | — | |
|
|
@@ -37,7 +41,7 @@
|
|
|
37
41
|
|
|
38
42
|
| Event | Type | Description |
|
|
39
43
|
|-------|------|-------------|
|
|
40
|
-
| `onValueChange` | `(range: SDateRangeValue) => void` | 선택 변경 (sdUpdate) — [start, end] |
|
|
44
|
+
| `onValueChange` | `(range: SDateRangeValue) => void` | 선택 변경 (sdUpdate) — [start, end]. `clearable` 로 지우면 `null` 이 온다 |
|
|
41
45
|
| `onViewChange` | `(view: { year: number; month: number }) => void` | 보이는 연·월 변경 (sdViewChange) |
|
|
42
46
|
|
|
43
47
|
### SRangeCalendar
|
|
@@ -49,7 +53,7 @@
|
|
|
49
53
|
| `value` | `SDateRangeValue` | — | |
|
|
50
54
|
| `selectable?` | `[string, string]` | — | |
|
|
51
55
|
| `maxRange?` | `number` | — | |
|
|
52
|
-
| `
|
|
56
|
+
| `showTimePicker?` | `boolean` | `false` | |
|
|
53
57
|
|
|
54
58
|
#### Events
|
|
55
59
|
|
|
@@ -59,6 +63,20 @@
|
|
|
59
63
|
| `onPendingStartChange` | `(start: string \| null) => void` | 시작일만 선택된(종료일 대기) 상태를 상위로 전달 — 트리거에 `start ~` 프리뷰 표시용 |
|
|
60
64
|
| `onViewChange` | `(view: { year: number; month: number }) => void` | |
|
|
61
65
|
|
|
66
|
+
## Types
|
|
67
|
+
|
|
68
|
+
### SDateRangeValue
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
export type SDateRangeValue = [string, string] | null;
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### SDateRangePickerSize
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
export type SDateRangePickerSize = SFieldSize;
|
|
78
|
+
```
|
|
79
|
+
|
|
62
80
|
## Dependencies
|
|
63
81
|
|
|
64
82
|
### Used by
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { type CSSProperties } 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 SDateRangeValue = [string, string] | null;
|
|
8
9
|
export type SDateRangePickerSize = SFieldSize;
|
|
9
10
|
export interface SDateRangePickerProps {
|
|
10
11
|
value?: SDateRangeValue;
|
|
11
|
-
/** 선택 변경 (sdUpdate) — [start, end] */
|
|
12
|
+
/** 선택 변경 (sdUpdate) — [start, end]. `clearable` 로 지우면 `null` 이 온다 */
|
|
12
13
|
onValueChange?: (range: SDateRangeValue) => void;
|
|
13
14
|
/** 보이는 연·월 변경 (sdViewChange) */
|
|
14
15
|
onViewChange?: (view: {
|
|
@@ -24,13 +25,49 @@ export interface SDateRangePickerProps {
|
|
|
24
25
|
* 시간(시:분) 선택 푸터 사용 여부.
|
|
25
26
|
* true이면 value는 "YYYY-MM-DD HH:mm" 형식이 되고, 캘린더 하단에 시작·종료 시간 입력이 표시된다.
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
+
showTimePicker?: boolean;
|
|
28
29
|
disabled?: boolean;
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* 선택값 지우기 버튼. 값이 있을 때만 나타나고, 누르면 `onValueChange` 로 `null` 이 온다.
|
|
32
|
+
*
|
|
33
|
+
* **필수 입력 필드에는 켜지 않는다** — 지우면 다시 고르기 전까지 폼이 통과하지 못한다.
|
|
34
|
+
* `SDatePicker` · `STimePicker` · `SSelect` 의 `clearable` 과 같은 규칙이다.
|
|
35
|
+
*/
|
|
36
|
+
clearable?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이.
|
|
39
|
+
* 등급은 `--cmp-field-width-*` 토큰으로 풀리므로 토큰이 바뀌면 화면이 따라간다.
|
|
40
|
+
* 값 길이에 상한이 없으면 `"100%"` 로 두어 행 전체를 쓴다.
|
|
41
|
+
*/
|
|
42
|
+
width?: SFieldWidth;
|
|
43
|
+
/**
|
|
44
|
+
* 컨트롤 최대 너비 — 폭 등급 · 숫자=px · CSS 길이. 지정하지 않으면 값 길이(`YYYY-MM-DD ~ YYYY-MM-DD`)에
|
|
45
|
+
* 맞춘 내장 상한(`size='md'` → `xl`, `'sm'` → `lg`)이 걸려, `width="100%"` 를 받아도 행 전체로
|
|
46
|
+
* 늘어나지 않는다.
|
|
47
|
+
*
|
|
48
|
+
* 팝오버처럼 폭이 이미 좁게 정해진 자리에서 그 폭을 그대로 채워야 하면 `width="100%"` 와 함께
|
|
49
|
+
* `maxWidth="100%"` 를 준다. `0` 은 상한을 아예 걸지 않는다 — 부모보다 넓어지는 것까지 허용해야
|
|
50
|
+
* 할 때만 쓴다.
|
|
51
|
+
*/
|
|
52
|
+
maxWidth?: SFieldWidth;
|
|
30
53
|
name?: string;
|
|
31
54
|
rules?: Rule[];
|
|
32
55
|
status?: SFieldStatus;
|
|
33
56
|
label?: string;
|
|
57
|
+
/**
|
|
58
|
+
* 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다).
|
|
59
|
+
*
|
|
60
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
61
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
62
|
+
*/
|
|
63
|
+
labelPosition?: SFieldLabelPosition;
|
|
64
|
+
/**
|
|
65
|
+
* 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다).
|
|
66
|
+
*
|
|
67
|
+
* @nodemo SField 에서 내려오는 공통 필드 옵션이다 — 같은 데모를 컨트롤마다 복제하지 않고
|
|
68
|
+
* 대표 컨트롤 `SInput` 과 `SField` 에 한 번 둔다 (scripts/check-docs-coverage.mjs 머리말).
|
|
69
|
+
*/
|
|
70
|
+
subLabel?: string;
|
|
34
71
|
labelWidth?: number | string;
|
|
35
72
|
icon?: SIconName;
|
|
36
73
|
iconColor?: SColor;
|
|
@@ -48,7 +85,7 @@ export interface SRangeCalendarProps {
|
|
|
48
85
|
value: SDateRangeValue;
|
|
49
86
|
selectable?: [string, string];
|
|
50
87
|
maxRange?: number;
|
|
51
|
-
|
|
88
|
+
showTimePicker?: boolean;
|
|
52
89
|
onSelect: (r: [string, string]) => void;
|
|
53
90
|
/** 시작일만 선택된(종료일 대기) 상태를 상위로 전달 — 트리거에 `start ~` 프리뷰 표시용 */
|
|
54
91
|
onPendingStartChange?: (start: string | null) => void;
|
|
@@ -59,6 +96,6 @@ export interface SRangeCalendarProps {
|
|
|
59
96
|
}
|
|
60
97
|
/** RangeCalendar — SDateRangePicker의 캘린더 부분만 떼어낸 조각. 자체 트리거/팝오버 없이
|
|
61
98
|
* 캘린더 그리드만 필요한 커스텀 조합(예: 다른 트리거에 팝오버로 얹는 경우)에 재사용한다. */
|
|
62
|
-
export declare function RangeCalendar({ value, selectable, maxRange,
|
|
99
|
+
export declare function RangeCalendar({ value, selectable, maxRange, showTimePicker, onSelect, onPendingStartChange, onViewChange, }: SRangeCalendarProps): import("react").JSX.Element;
|
|
63
100
|
/** SDateRangePicker — sd-date-range-picker 포팅. SField + SPopover(범위 캘린더). */
|
|
64
|
-
export declare function SDateRangePicker({ value, onValueChange, onViewChange, size, placeholder, selectable, maxRange,
|
|
101
|
+
export declare function SDateRangePicker({ value, onValueChange, onViewChange, size, placeholder, selectable, maxRange, showTimePicker, disabled, clearable, width, maxWidth, name, rules, status, label, labelPosition, subLabel, labelWidth, icon, iconColor, labelTooltip, labelTooltipProps, addonLabel, addonAlign, hint, error, errorMessage, className, style, }: SDateRangePickerProps): import("react").JSX.Element;
|
|
@@ -9,13 +9,17 @@
|
|
|
9
9
|
| Prop | Type | Default | Description |
|
|
10
10
|
|------|------|---------|-------------|
|
|
11
11
|
| `vertical?` | `boolean` | `false` | true면 수직 분할선, false면 수평 분할선 |
|
|
12
|
+
| `height?` | `number \| string` | — | 수직 분할선의 길이. 숫자는 px, 문자열은 CSS 값(토큰 var 참조 등)으로 쓴다. 주지 않으면 `align-self: stretch` 로 부모 줄 높이를 그대로 채운다. 값을 주면 그 높이로 고정하고 교차축 가운데(`self-center`)에 맞춘다 — `align-self: stretch` 는 높이가 auto 일 때만 늘리므로, 높이를 정하는 순간 정렬을 함께 정해야 한다. 그래서 높이는 `className="h-*"` 가 아니라 이 prop 으로 준다. 수평 분할선에는 적용되지 않는다 (두께는 1px 로 고정). |
|
|
12
13
|
|
|
13
14
|
## Dependencies
|
|
14
15
|
|
|
15
16
|
### Used by
|
|
16
17
|
|
|
17
18
|
- [SCalendar](../SCalendar)
|
|
19
|
+
- [SCalendarBoard](../SCalendarBoard)
|
|
18
20
|
- [SDateRangePicker](../SDateRangePicker)
|
|
21
|
+
- [SList](../SList)
|
|
22
|
+
- [STable](../STable)
|
|
19
23
|
- [STableBar](../STableBar)
|
|
20
24
|
|
|
21
25
|
### Graph
|
|
@@ -23,7 +27,10 @@
|
|
|
23
27
|
```mermaid
|
|
24
28
|
graph TD;
|
|
25
29
|
SCalendar --> SDivider
|
|
30
|
+
SCalendarBoard --> SDivider
|
|
26
31
|
SDateRangePicker --> SDivider
|
|
32
|
+
SList --> SDivider
|
|
33
|
+
STable --> SDivider
|
|
27
34
|
STableBar --> SDivider
|
|
28
35
|
style SDivider fill:#f9f,stroke:#333,stroke-width:4px
|
|
29
36
|
```
|
|
@@ -2,6 +2,17 @@ import { type HTMLAttributes } from 'react';
|
|
|
2
2
|
export interface SDividerProps extends HTMLAttributes<HTMLHRElement> {
|
|
3
3
|
/** true면 수직 분할선, false면 수평 분할선 */
|
|
4
4
|
vertical?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* 수직 분할선의 길이. 숫자는 px, 문자열은 CSS 값(토큰 var 참조 등)으로 쓴다.
|
|
7
|
+
*
|
|
8
|
+
* 주지 않으면 `align-self: stretch` 로 부모 줄 높이를 그대로 채운다. 값을 주면
|
|
9
|
+
* 그 높이로 고정하고 교차축 가운데(`self-center`)에 맞춘다 — `align-self: stretch`
|
|
10
|
+
* 는 높이가 auto 일 때만 늘리므로, 높이를 정하는 순간 정렬을 함께 정해야 한다.
|
|
11
|
+
* 그래서 높이는 `className="h-*"` 가 아니라 이 prop 으로 준다.
|
|
12
|
+
*
|
|
13
|
+
* 수평 분할선에는 적용되지 않는다 (두께는 1px 로 고정).
|
|
14
|
+
*/
|
|
15
|
+
height?: number | string;
|
|
5
16
|
}
|
|
6
17
|
/** SDivider — sd-divider 포팅. 색상은 `--sys-color-divider-default`. */
|
|
7
18
|
export declare const SDivider: import("react").ForwardRefExoticComponent<SDividerProps & import("react").RefAttributes<HTMLHRElement>>;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# SDonutChart
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SDonutChart
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `data` | `SDonutChartSlice[]` | — | 조각 목록. 주는 순서대로 12시에서 시계 방향으로 그린다 — 보통 큰 순으로 준다 |
|
|
12
|
+
| `title?` | `string` | — | 차트 제목 — 왼쪽 위에 놓인다 |
|
|
13
|
+
| `unit?` | `string` | — | 단위 — 오른쪽 위에 "단위 : " 를 붙여 놓는다 |
|
|
14
|
+
| `palette?` | `SDonutChartPalette` | `'multi'` | 색 팔레트. `custom` 일 때만 `colors` 를 본다 |
|
|
15
|
+
| `colors?` | `SDonutChartColor[]` | — | `palette='custom'` 에서 쓸 색 이름을 조각 순서대로. 조각보다 짧으면 앞에서부터 순환하고, 비어 있으면 `multi` 로 그린다 |
|
|
16
|
+
| `showValueLabel?` | `boolean` | `false` | 고리 위에 몫(%)을 적는다. 좁은 조각은 글자가 넘치므로 적지 않는다 |
|
|
17
|
+
| `showLegend?` | `boolean` | `true` | 범례를 보인다 |
|
|
18
|
+
| `legendPosition?` | `SDonutChartLegendPosition` | `'top'` | 범례 위치 |
|
|
19
|
+
| `legendVariant?` | `SDonutChartLegendVariant` | `'simple'` | 범례 모양. `simple` 이름만 가로로 · `default` 이름+값을 세로로 쌓는 목록 |
|
|
20
|
+
| `showTooltip?` | `boolean` | `true` | 조각에 마우스를 올리면 값 상자를 띄운다 |
|
|
21
|
+
| `formatValue?` | `(value: number) => string` | — | 값 표시 형식 |
|
|
22
|
+
| `tooltipFooter?` | `(slice: SDonutChartSlicePoint) => ReactNode` | — | 툴팁의 값 아래에 덧붙일 내용. 짚은 조각을 받아 그린다 — 몫·값만으로 모자란 맥락 (전월 대비, 건수 등)을 적는다. 툴팁은 누를 수 없으므로 버튼·링크는 넣지 않는다 |
|
|
23
|
+
| `className?` | `string` | — | 폭은 기본 100% 다. 폭을 정하려면 여기에 준다 — 그림은 그 폭의 정사각형이 된다 |
|
|
24
|
+
| `style?` | `CSSProperties` | — | |
|
|
25
|
+
|
|
26
|
+
#### Events
|
|
27
|
+
|
|
28
|
+
| Event | Type | Description |
|
|
29
|
+
|-------|------|-------------|
|
|
30
|
+
| `onSliceClick` | `(slice: SDonutChartSlicePoint) => void` | 조각을 눌렀을 때 |
|
|
31
|
+
|
|
32
|
+
## Types
|
|
33
|
+
|
|
34
|
+
### SDonutChartSlice
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
/** 조각 하나 — 범례 한 줄에 대응한다. */
|
|
38
|
+
export interface SDonutChartSlice {
|
|
39
|
+
/** 범례·툴팁에 표시할 이름 */
|
|
40
|
+
name: string;
|
|
41
|
+
/** 값. 0·음수는 그리지 않는다 — 원은 전체에 대한 몫만 나타낼 수 있다 */
|
|
42
|
+
value: number;
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### SDonutChartPalette
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
/**
|
|
50
|
+
* 색 팔레트. 조각마다 색이 달라야 하므로 한 색(`default`)은 없다.
|
|
51
|
+
* - `multi` 서로 무관한 항목(11색)을 순서대로
|
|
52
|
+
* - `gradation` 한 지표의 단계(6색)를 진한 쪽부터 순서대로 — 조각을 큰 순으로 줄 때
|
|
53
|
+
* - `custom` `colors` 로 고른 색을 순서대로
|
|
54
|
+
*/
|
|
55
|
+
export type SDonutChartPalette = 'multi' | 'gradation' | 'custom';
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### SDonutChartColor
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
/**
|
|
62
|
+
* `palette='custom'` 에서 고를 수 있는 색 이름.
|
|
63
|
+
* positive=늘어남 · negative=줄어듦 · neutral=변화 없음 을 뜻하므로 뜻에 맞게 고른다.
|
|
64
|
+
*/
|
|
65
|
+
export type SDonutChartColor =
|
|
66
|
+
| 'positivePrimary'
|
|
67
|
+
| 'positiveSecondary'
|
|
68
|
+
| 'negativePrimary'
|
|
69
|
+
| 'negativeSecondary'
|
|
70
|
+
| 'neutralPrimary'
|
|
71
|
+
| 'neutralSecondary';
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### SDonutChartLegendPosition
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
/** 범례 위치. */
|
|
78
|
+
export type SDonutChartLegendPosition = 'top' | 'bottom';
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### SDonutChartLegendVariant
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
/**
|
|
85
|
+
* 범례 모양.
|
|
86
|
+
* - `simple` 이름만 가로로 나열한다 (값 없음)
|
|
87
|
+
* - `default` 이름 뒤에 값을 적어 세로로 쌓는 목록이다
|
|
88
|
+
*/
|
|
89
|
+
export type SDonutChartLegendVariant = 'simple' | 'default';
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### SDonutChartSlicePoint
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
/** 클릭이 가리키는 조각. */
|
|
96
|
+
export interface SDonutChartSlicePoint {
|
|
97
|
+
/** `data` 안에서의 인덱스 */
|
|
98
|
+
index: number;
|
|
99
|
+
name: string;
|
|
100
|
+
value: number;
|
|
101
|
+
/** 그려진 조각 전체의 합에 대한 몫(0~1) */
|
|
102
|
+
ratio: number;
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
+
/** 범례 위치. */
|
|
3
|
+
export type SDonutChartLegendPosition = 'top' | 'bottom';
|
|
4
|
+
/**
|
|
5
|
+
* 범례 모양.
|
|
6
|
+
* - `simple` 이름만 가로로 나열한다 (값 없음)
|
|
7
|
+
* - `default` 이름 뒤에 값을 적어 세로로 쌓는 목록이다
|
|
8
|
+
*/
|
|
9
|
+
export type SDonutChartLegendVariant = 'simple' | 'default';
|
|
10
|
+
/**
|
|
11
|
+
* 색 팔레트. 조각마다 색이 달라야 하므로 한 색(`default`)은 없다.
|
|
12
|
+
* - `multi` 서로 무관한 항목(11색)을 순서대로
|
|
13
|
+
* - `gradation` 한 지표의 단계(6색)를 진한 쪽부터 순서대로 — 조각을 큰 순으로 줄 때
|
|
14
|
+
* - `custom` `colors` 로 고른 색을 순서대로
|
|
15
|
+
*/
|
|
16
|
+
export type SDonutChartPalette = 'multi' | 'gradation' | 'custom';
|
|
17
|
+
/**
|
|
18
|
+
* `palette='custom'` 에서 고를 수 있는 색 이름.
|
|
19
|
+
* positive=늘어남 · negative=줄어듦 · neutral=변화 없음 을 뜻하므로 뜻에 맞게 고른다.
|
|
20
|
+
*/
|
|
21
|
+
export type SDonutChartColor = 'positivePrimary' | 'positiveSecondary' | 'negativePrimary' | 'negativeSecondary' | 'neutralPrimary' | 'neutralSecondary';
|
|
22
|
+
/** 조각 하나 — 범례 한 줄에 대응한다. */
|
|
23
|
+
export interface SDonutChartSlice {
|
|
24
|
+
/** 범례·툴팁에 표시할 이름 */
|
|
25
|
+
name: string;
|
|
26
|
+
/** 값. 0·음수는 그리지 않는다 — 원은 전체에 대한 몫만 나타낼 수 있다 */
|
|
27
|
+
value: number;
|
|
28
|
+
}
|
|
29
|
+
/** 클릭이 가리키는 조각. */
|
|
30
|
+
export interface SDonutChartSlicePoint {
|
|
31
|
+
/** `data` 안에서의 인덱스 */
|
|
32
|
+
index: number;
|
|
33
|
+
name: string;
|
|
34
|
+
value: number;
|
|
35
|
+
/** 그려진 조각 전체의 합에 대한 몫(0~1) */
|
|
36
|
+
ratio: number;
|
|
37
|
+
}
|
|
38
|
+
export interface SDonutChartProps {
|
|
39
|
+
/** 조각 목록. 주는 순서대로 12시에서 시계 방향으로 그린다 — 보통 큰 순으로 준다 */
|
|
40
|
+
data: SDonutChartSlice[];
|
|
41
|
+
/** 차트 제목 — 왼쪽 위에 놓인다 */
|
|
42
|
+
title?: string;
|
|
43
|
+
/** 단위 — 오른쪽 위에 "단위 : " 를 붙여 놓는다 */
|
|
44
|
+
unit?: string;
|
|
45
|
+
/** 색 팔레트. `custom` 일 때만 `colors` 를 본다 */
|
|
46
|
+
palette?: SDonutChartPalette;
|
|
47
|
+
/** `palette='custom'` 에서 쓸 색 이름을 조각 순서대로. 조각보다 짧으면 앞에서부터 순환하고, 비어 있으면 `multi` 로 그린다 */
|
|
48
|
+
colors?: SDonutChartColor[];
|
|
49
|
+
/** 고리 위에 몫(%)을 적는다. 좁은 조각은 글자가 넘치므로 적지 않는다 */
|
|
50
|
+
showValueLabel?: boolean;
|
|
51
|
+
/** 범례를 보인다 */
|
|
52
|
+
showLegend?: boolean;
|
|
53
|
+
/** 범례 위치 */
|
|
54
|
+
legendPosition?: SDonutChartLegendPosition;
|
|
55
|
+
/** 범례 모양. `simple` 이름만 가로로 · `default` 이름+값을 세로로 쌓는 목록 */
|
|
56
|
+
legendVariant?: SDonutChartLegendVariant;
|
|
57
|
+
/** 조각에 마우스를 올리면 값 상자를 띄운다 */
|
|
58
|
+
showTooltip?: boolean;
|
|
59
|
+
/** 값 표시 형식 */
|
|
60
|
+
formatValue?: (value: number) => string;
|
|
61
|
+
/** 조각을 눌렀을 때 */
|
|
62
|
+
onSliceClick?: (slice: SDonutChartSlicePoint) => void;
|
|
63
|
+
/**
|
|
64
|
+
* 툴팁의 값 아래에 덧붙일 내용. 짚은 조각을 받아 그린다 — 몫·값만으로 모자란 맥락
|
|
65
|
+
* (전월 대비, 건수 등)을 적는다. 툴팁은 누를 수 없으므로 버튼·링크는 넣지 않는다
|
|
66
|
+
*/
|
|
67
|
+
tooltipFooter?: (slice: SDonutChartSlicePoint) => ReactNode;
|
|
68
|
+
/** 폭은 기본 100% 다. 폭을 정하려면 여기에 준다 — 그림은 그 폭의 정사각형이 된다 */
|
|
69
|
+
className?: string;
|
|
70
|
+
style?: CSSProperties;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* SDonutChart — 도넛 그래프.
|
|
74
|
+
*
|
|
75
|
+
* 가운데가 빈 원그래프. `SPieChart` 와 같이 **한 시점의 전체를 몫으로 나눈 것**을 보여준다.
|
|
76
|
+
* 가운데 구멍에는 글자를 두지 않는다 — 합계 같은 값은 차트 바깥에 적는다.
|
|
77
|
+
* 조각이 대여섯 개를 넘거나 몫끼리 견주는 것이 목적이면 `SBarChart` 가 맞다.
|
|
78
|
+
*
|
|
79
|
+
* 폭은 부모를 따르고(기본 100%), 그림은 그 폭을 한 변으로 하는 정사각형이다.
|
|
80
|
+
* 구멍과 고리 두께도 폭에 비례해 늘고 준다.
|
|
81
|
+
*/
|
|
82
|
+
export declare const SDonutChart: import("react").ForwardRefExoticComponent<SDonutChartProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SDonutChart, type SDonutChartProps, type SDonutChartSlice, type SDonutChartSlicePoint, type SDonutChartPalette, type SDonutChartColor, type SDonutChartLegendPosition, } from './SDonutChart';
|