sellmate-design-system-react 9.0.0-beta.9 → 9.0.0-beta.91
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 +4079 -265
- 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 +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 +9 -0
- package/dist/components/SCheckbox/SCheckbox.d.ts +9 -1
- 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 +22 -3
- package/dist/components/SChipInput/SChipInput.d.ts +53 -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 +23 -2
- package/dist/components/SDatePicker/SDatePicker.d.ts +50 -5
- package/dist/components/SDateRangePicker/README.md +23 -4
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +52 -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 +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 +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 +39 -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 +38 -5
- package/dist/components/SField/SField.d.ts +59 -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 +32 -5
- package/dist/components/SGhostButton/SGhostButton.d.ts +22 -4
- 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 +18 -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 +12 -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 +27 -0
- package/dist/components/SRadioButton/SRadioButton.d.ts +17 -3
- 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 +19 -4
- package/dist/components/SSearchInput/SSearchInput.d.ts +11 -5
- 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 +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 +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 +142 -20
- package/dist/components/STable/STable.d.ts +312 -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/STimeline/README.md +41 -0
- package/dist/components/STimeline/STimeline.d.ts +27 -0
- package/dist/components/STimeline/index.d.ts +1 -0
- 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 -5
- 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 +32 -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 +22926 -10831
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +25 -0
- package/dist/index.js +22836 -10830
- 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 +11 -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 +8447 -557
- package/dist/llms.txt +4148 -304
- 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 +3663 -244
- package/dist/theme.css +620 -27
- 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 +20 -5
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type SAccountListBoxContent } from '../SAccountListBox';
|
|
3
|
+
import { type SSystemActionButtonProps } from '../SSystemActionButton';
|
|
4
|
+
import { type SGnbSystemColor } from './gnbSystem.config';
|
|
5
|
+
/** 유니온을 유지한 채 키를 걷어낸다 — 그냥 Omit 하면 판별 유니온이 한 덩어리로 뭉개진다. */
|
|
6
|
+
type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
7
|
+
/**
|
|
8
|
+
* 패널 상단에 쌓이는 행 하나. `SSystemActionButton` 의 props 를 그대로 받는다 —
|
|
9
|
+
* 단 `color` 는 패널이 정하므로 받지 않고, 목록 key 로 쓸 `value` 만 더한다.
|
|
10
|
+
*
|
|
11
|
+
* `type: 'account'` 는 받지 않는다. 계정 행은 이 패널에 **하나뿐**이고 서는 자리도 맨 아래로
|
|
12
|
+
* 정해져 있어(§3-5-8) `account` prop 이 따로 있다 — 여기로도 받으면 계정 행이 둘인 패널이
|
|
13
|
+
* 만들어지고, 그중 하나는 자리가 틀린다.
|
|
14
|
+
*/
|
|
15
|
+
export type SGnbSystemAction = DistributiveOmit<Exclude<SSystemActionButtonProps, {
|
|
16
|
+
type: 'account';
|
|
17
|
+
}>, 'color'> & {
|
|
18
|
+
/** 목록 key. 없으면 순서를 key 로 쓴다 */
|
|
19
|
+
value?: string;
|
|
20
|
+
};
|
|
21
|
+
/** 알림 버튼 */
|
|
22
|
+
export interface SGnbSystemAlert {
|
|
23
|
+
/** 라벨 텍스트. 기본 `'알림'` */
|
|
24
|
+
label?: string;
|
|
25
|
+
/**
|
|
26
|
+
* 읽지 않은 알림 개수. 1 이상이면 벨이 울리는 아이콘·강조색으로 바뀌고 개수가 붙는다.
|
|
27
|
+
* 개수를 적을 가로가 모자란 자리(접힌 레일 · 기본 폭보다 좁게 줄인 판)에서는 점 배지로 바뀐다.
|
|
28
|
+
* 표기는 컴포넌트가 맡는다 — 세 자리마다 콤마를 넣어 그리므로 앱이 포맷한 문자열을 넘기지 않는다.
|
|
29
|
+
*/
|
|
30
|
+
count?: number;
|
|
31
|
+
/** 클릭 */
|
|
32
|
+
onClick?: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* 알림 버튼에 붙는 안내 툴팁의 문구(한 줄이 한 항목). 주면 뜬다 — **문구만 앱이 정하고**
|
|
35
|
+
* 색·방향·여닫힘은 컴포넌트가 쥔다: 색은 판이 light 면 기본, 그 밖(dark·상단바)이면 강조색이고
|
|
36
|
+
* 방향은 자리가 정한다(판·접힌 레일이면 오른쪽, 상단바면 아래).
|
|
37
|
+
*
|
|
38
|
+
* 스스로 사라지지 않는다 — **알림 버튼을 누르거나, 버튼에 얹었다 커서를 뺄 때** 닫히고,
|
|
39
|
+
* 같은 값을 계속 넘기는 동안에는 다시 뜨지 않는다.
|
|
40
|
+
*
|
|
41
|
+
* **다시 띄우려면 비웠다가 다시 넘긴다**(`undefined` → 문구). 문구가 같아도 상관없다 —
|
|
42
|
+
* 컴포넌트는 닫았다는 사실만 기억하고 문구 내용은 기억하지 않으므로, 새 알림마다 같은 안내를
|
|
43
|
+
* 다시 띄우는 화면도 막히지 않는다.
|
|
44
|
+
*/
|
|
45
|
+
tooltip?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* 알림을 누르면 뜨는 목록의 **내용**. 주면 컴포넌트가 알림 버튼에 붙여 띄운다 —
|
|
48
|
+
* 목록에 무엇을 쌓을지는 서비스마다 다르지만 **뜨는 자리는 늘 같아야 하므로**, 방향·앵커·
|
|
49
|
+
* 여닫힘(바깥 클릭·ESC 포함)과 배경·라운드·그림자는 컴포넌트가 쥐고 앱은 안에 담을 것만 준다.
|
|
50
|
+
* 방향은 자리가 정한다 — 판·접힌 레일이면 버튼 오른쪽, 상단바면 아래.
|
|
51
|
+
*/
|
|
52
|
+
listBox?: ReactNode;
|
|
53
|
+
/**
|
|
54
|
+
* 알림 목록이 열리고 닫힐 때. 여닫는 것은 알림 버튼이 스스로 하므로 **그 사실을 알아야 할
|
|
55
|
+
* 때만** 준다(연 김에 읽음 처리하거나, 열려 있는 동안 다른 층을 접어 두는 화면).
|
|
56
|
+
*
|
|
57
|
+
* 앱이 누르지 않은 닫힘도 온다: GNB 를 접거나 펴면 알림 버튼이 다른 자리로 옮겨 서므로
|
|
58
|
+
* 목록이 닫히고 `false` 가 온다(계정 행과 같다).
|
|
59
|
+
*/
|
|
60
|
+
onOpenChange?: (open: boolean) => void;
|
|
61
|
+
/**
|
|
62
|
+
* 안내 툴팁이 닫힐 때. 받아서 `tooltip` 을 비워 두는 것이 기본 사용법이다 — 그러면 앱이
|
|
63
|
+
* 다음에 넘기는 문구가 곧 다음 안내가 된다.
|
|
64
|
+
*
|
|
65
|
+
* 컴포넌트가 아는 "다시 뜨지 않는다" 는 **이 자리가 서 있는 동안**뿐이라(새로고침하거나
|
|
66
|
+
* GNB 를 접어 알림이 다른 자리로 옮겨 서면 새로 마운트된다), 그 사용자에게 두 번 다시 보이지
|
|
67
|
+
* 않아야 하면 앱이 이 신호를 저장해 두고 `tooltip` 을 그만 넘긴다.
|
|
68
|
+
*/
|
|
69
|
+
onTooltipDismiss?: () => void;
|
|
70
|
+
}
|
|
71
|
+
/** 설정 버튼 */
|
|
72
|
+
export interface SGnbSystemSetting {
|
|
73
|
+
/** 라벨 텍스트. 기본 `'설정'` */
|
|
74
|
+
label?: string;
|
|
75
|
+
/** 클릭 */
|
|
76
|
+
onClick?: () => void;
|
|
77
|
+
}
|
|
78
|
+
/** 계정 행 */
|
|
79
|
+
export interface SGnbSystemAccount {
|
|
80
|
+
/** 계정 이름 */
|
|
81
|
+
label?: string;
|
|
82
|
+
/** 클릭. 패널은 어차피 열리므로, 여는 것 말고 따로 할 일이 있을 때만 준다 */
|
|
83
|
+
onClick?: () => void;
|
|
84
|
+
/**
|
|
85
|
+
* 계정 리스트박스가 열리고 닫힐 때. 여닫는 것은 계정 행이 스스로 하므로 **그 사실을 알아야 할
|
|
86
|
+
* 때만** 준다 — 열려 있는 동안 다른 층을 접어 두거나, 연 것을 기록하는 화면이 그렇다.
|
|
87
|
+
*
|
|
88
|
+
* 앱이 누르지 않은 닫힘도 온다: `header="fix"` 에서 GNB 를 접거나 펴면 계정 행이 다른 자리로
|
|
89
|
+
* 옮겨 서므로 패널이 닫히고 `false` 가 온다.
|
|
90
|
+
*/
|
|
91
|
+
onOpenChange?: (open: boolean) => void;
|
|
92
|
+
/**
|
|
93
|
+
* 누르면 뜨는 계정 리스트박스(`SAccountListBox`) 내용. **필수다** — 계정 행은 늘 이 패널의
|
|
94
|
+
* 트리거이고, 눌러도 아무것도 뜨지 않는 계정 행은 없다.
|
|
95
|
+
* 뜨는 방향은 패널이 놓인 자리가 정하므로 앱이 넘기지 않는다.
|
|
96
|
+
*/
|
|
97
|
+
listBox: SAccountListBoxContent;
|
|
98
|
+
}
|
|
99
|
+
export interface SGnbSystemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
|
|
100
|
+
/**
|
|
101
|
+
* 색상(패널 표면). light = 흰 면, dark = 오션블루 면.
|
|
102
|
+
* 미지정 시 자기를 담은 SGnb 의 color 를 따른다(단독으로 쓰면 `'light'`).
|
|
103
|
+
*/
|
|
104
|
+
color?: SGnbSystemColor;
|
|
105
|
+
/**
|
|
106
|
+
* 접힌(min) 형태 — 48px 레일 폭에 맞춰 알림·계정 아이콘만 남는다.
|
|
107
|
+
* 미지정 시 자기를 담은 SGnb 의 접힘 상태를 따른다. 상단바 자리에서는 뜻이 없다.
|
|
108
|
+
*/
|
|
109
|
+
folded?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* 행 목록. 각 원소는 `SSystemActionButton` 의 props 다(`color` 제외 · 계정 행은 `account` 로
|
|
112
|
+
* 따로 준다). 판에서는 맨 위에 쌓이고,
|
|
113
|
+
* 상단바에서는 맨 왼쪽에 선다. 옆(아래)에 다른 조각이 있으면 그 사이에 구분선이 그어진다.
|
|
114
|
+
* 접히면 자리가 없어 렌더되지 않는다.
|
|
115
|
+
*/
|
|
116
|
+
actions?: SGnbSystemAction[];
|
|
117
|
+
/** 도메인 태그 텍스트. 접히면 자리가 없어 렌더되지 않는다 */
|
|
118
|
+
domain?: string;
|
|
119
|
+
/**
|
|
120
|
+
* 알림 버튼. 없으면 렌더하지 않는다. 판에서는 설정과 나란히 서면 남는 폭을 먹고 혼자면 폭을 다 먹는다.
|
|
121
|
+
* 상단바에서는 자리가 넉넉하지 않아 라벨 없이 아이콘+개수만 선다.
|
|
122
|
+
*/
|
|
123
|
+
alert?: SGnbSystemAlert;
|
|
124
|
+
/**
|
|
125
|
+
* 설정 버튼. 없으면 렌더하지 않는다. 판에서는 알림과 나란히 서면 제 폭만 갖고 혼자면 폭을 다 먹고,
|
|
126
|
+
* 상단바에서는 라벨 없이 아이콘만 선다.
|
|
127
|
+
* 접히면 자리가 없어 렌더되지 않는다 — 접힌 상태에서도 닿아야 하면 SGnb 의 `foldedFooter` 에 둔다.
|
|
128
|
+
*/
|
|
129
|
+
setting?: SGnbSystemSetting;
|
|
130
|
+
/** 계정 행. 없으면 렌더하지 않는다 */
|
|
131
|
+
account?: SGnbSystemAccount;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* SGnbSystem — GNB 의 system 조각들(액션 · 도메인 · 알림 · 설정 · 계정).
|
|
135
|
+
*
|
|
136
|
+
* 어디에 놓이느냐로 두 형태가 있고, 그 자리는 담은 SGnb 의 `header` 가 정해 내려준다(앱이 고르지 않는다).
|
|
137
|
+
* - `panel` (header="fix") — GNB 바닥에 깔리는 세로 판. 위에서부터 [행 목록(`actions`)] · 구분선 ·
|
|
138
|
+
* [도메인 태그] · [알림 | 설정] · [계정] 을 쌓는다.
|
|
139
|
+
* - `top` (header="full") — 레이아웃 전폭 상단바의 오른쪽 끝에 서는 가로 한 줄.
|
|
140
|
+
* [행 목록] | [알림] | [설정] | [도메인 계정] 순으로 서고 조각 사이에 세로 구분선이 놓인다
|
|
141
|
+
* (도메인·계정은 한 덩어리라 그 사이만 선 없이 붙는다).
|
|
142
|
+
*
|
|
143
|
+
* 각 조각은 해당 prop 을 줄 때만 나타나므로, 서비스마다 필요한 만큼만 켜서 쓴다 — 계정만, 알림만,
|
|
144
|
+
* 설정만, 알림+계정 … 어떤 부분집합이어도 그 조합만으로 판이 성립하도록 다음을 지킨다.
|
|
145
|
+
*
|
|
146
|
+
* - **구분선은 양쪽에 내용이 있을 때만** 긋는다. `actions` 만 주면 뜻 없는 선이 남지 않는다.
|
|
147
|
+
* - **판에서 알림·설정은 혼자 서면 폭을 다 먹는다.** 둘이 나란히 서면 알림이 남는 폭을, 설정이 제 폭을
|
|
148
|
+
* 갖고 사이에 세로선이 놓인다. 어느 쪽이 빠져도 왼쪽 끝은 위아래 행과 맞는다.
|
|
149
|
+
* - **켜진 조각이 하나도 없으면 아무것도 렌더하지 않는다** — 빈 판은 GNB 바닥에 정체 모를 경계선만 남긴다.
|
|
150
|
+
*
|
|
151
|
+
* 판에서 알림·설정·계정은 늘 함께 붙어 다니는 한 덩어리라 사이를 띄우지 않고, 그 위 조각들만 간격을 갖는다.
|
|
152
|
+
* 상단바에서는 자리가 가로로 넉넉하지 않아 알림·설정이 라벨을 벗고 아이콘(+개수)만 남는다.
|
|
153
|
+
*
|
|
154
|
+
* `folded` 면 48px 레일 폭에 맞춘 min 형태가 된다 — **알림·계정 아이콘만** 남고 라벨·태그·행 목록·설정은
|
|
155
|
+
* 빠진다(시안). 알림 개수는 적을 자리가 없어 점 배지로 바뀐다. 둘 다 없는 조합(설정만 쓰는 앱 등)이면
|
|
156
|
+
* 접힌 패널은 렌더되지 않으므로, 접힌 상태에서도 닿아야 하는 것은 SGnb 의 `foldedTop`·`foldedFooter` 에 둔다.
|
|
157
|
+
* 상단바는 접어도 남으므로 `top` 에는 접힘 형태가 없다.
|
|
158
|
+
*
|
|
159
|
+
* `alert.count` 가 1 이상이면 벨이 울리는 아이콘(`bellRinging`)과 강조색으로 바뀐다 — light 는 파랑,
|
|
160
|
+
* 어두운 면은 노랑(토큰이 정한다). 0 이거나 없으면 조용한 벨(`bell`)에 기본 색이다.
|
|
161
|
+
*
|
|
162
|
+
* 안내 툴팁(`alert.tooltip`)은 문구를 받은 동안 떠 있다가 알림을 누르거나 커서를 빼면 닫힌다.
|
|
163
|
+
* 다시 띄우는 신호는 문구가 **없음 → 있음** 으로 바뀌는 것이라, 같은 문구도 비웠다 다시 넘기면
|
|
164
|
+
* 새 안내로 뜬다.
|
|
165
|
+
*
|
|
166
|
+
* 판이 **메뉴 기본 폭보다 좁으면**(GNB 의 `resizable` 로 줄인 컬럼) 알림 개수를 적을 가로가
|
|
167
|
+
* 모자라 접힘과 같은 점 배지로 바뀐다 — 숫자가 설정 버튼을 밀어내거나 잘리는 대신, 알림이
|
|
168
|
+
* 있다는 사실만 남긴다. 좁은지는 담은 SGnb 가 내려주므로 앱이 고르는 prop 이 없다.
|
|
169
|
+
*
|
|
170
|
+
* 색은 놓인 면을 따른다: 판 위는 `light`/`dark`(오션블루 판), 판 없이 상단바 면에 바로 얹는 `top` 의
|
|
171
|
+
* dark 는 한 단계 어두운 `darker`(네이비) 색표다 — GNB_SYSTEM_TOP_COLOR_CONFIG 가 그 대응을 쥔다.
|
|
172
|
+
*
|
|
173
|
+
* **놓이는 자리(`placement`)는 prop 이 아니다** — 자기를 담은 SGnb 가 `header` 로 정해 내려준다.
|
|
174
|
+
* 앱이 고르면 세로 판 자리에 가로 한 줄이 서는 조합이 만들어지고, 그것을 고를 이유가 있는 화면은 없다.
|
|
175
|
+
* `color`·`folded` 도 슬롯 안에서는 GNB 가 내려주므로 다시 넘기지 않는다.
|
|
176
|
+
* 판은 폭이 늘 부모를 가득 채우고, 상단바 줄은 내용 폭만 갖는다.
|
|
177
|
+
*/
|
|
178
|
+
export declare const SGnbSystem: import("react").ForwardRefExoticComponent<SGnbSystemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
179
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { SSystemActionButtonColor } from '../SSystemActionButton';
|
|
2
|
+
/**
|
|
3
|
+
* SGnbSystem 설정.
|
|
4
|
+
*
|
|
5
|
+
* 토큰은 GNB system 패널 한 벌(`--cmp-gnb-system-*`)이다.
|
|
6
|
+
* 패널(배경·경계·구분선·간격) → --cmp-gnb-system-panel-*
|
|
7
|
+
* 도메인 태그 → --cmp-gnb-system-domainTag-*
|
|
8
|
+
* 행 공통(높이·라운드·아이콘 프레임) → --cmp-gnb-system-item-* (SSystemActionButton 과 공유)
|
|
9
|
+
* 알림 버튼 → --cmp-gnb-system-alertButton-*
|
|
10
|
+
* 설정 버튼 → --cmp-gnb-system-setting-*
|
|
11
|
+
* 펼침·접힘 패널 여백 → --cmp-gnb-system-project-padding · --cmp-gnb-system-min-padding
|
|
12
|
+
*
|
|
13
|
+
* 타이포그래피는 CSS 변수가 아니라 `.typo-*` 프리셋으로 나온다.
|
|
14
|
+
* domainTag.typography → typo-body-sm-medium (12/500/20)
|
|
15
|
+
* item.label.typography → typo-body-sm-semibold (12/600/20)
|
|
16
|
+
* alertButton.count → typo-body-md-bold (13/700/22)
|
|
17
|
+
*/
|
|
18
|
+
/** 색상(표면). light = 흰 면, dark = 오션블루 면. GNB 의 color 를 그대로 따라간다 */
|
|
19
|
+
export declare const GNB_SYSTEM_COLORS: readonly ["light", "dark"];
|
|
20
|
+
export type SGnbSystemColor = (typeof GNB_SYSTEM_COLORS)[number];
|
|
21
|
+
/**
|
|
22
|
+
* 조각들이 놓이는 자리. GNB 의 `header` 가 정하므로 앱이 고르지 않는다.
|
|
23
|
+
* - `panel` — GNB 바닥에 깔리는 세로 판 (header="fix"). 접히면 48px 레일용 min 형태가 된다.
|
|
24
|
+
* - `top` — 레이아웃 전폭 상단바 위 (header="full"). 판을 깔지 않고 가로 한 줄로 선다.
|
|
25
|
+
*/
|
|
26
|
+
export declare const GNB_SYSTEM_PLACEMENTS: readonly ["panel", "top"];
|
|
27
|
+
export type SGnbSystemPlacement = (typeof GNB_SYSTEM_PLACEMENTS)[number];
|
|
28
|
+
/**
|
|
29
|
+
* 패널 색이 곧 행 색이다 — 행(아이콘 프레임·라벨·hover)은 SSystemActionButton 과 같은
|
|
30
|
+
* `--cmp-gnb-system-item-*` 토큰을 쓰므로, 그 색표를 그대로 빌려 두 컴포넌트가 어긋나지 않게 한다.
|
|
31
|
+
* `darker`(판 없이 어두운 GNB 면에 바로 얹는 색)는 판을 깔지 않는 `top` 자리가 쓴다
|
|
32
|
+
* → GNB_SYSTEM_TOP_COLOR_CONFIG.
|
|
33
|
+
*/
|
|
34
|
+
export type GnbSystemItemColor = SSystemActionButtonColor;
|
|
35
|
+
export interface GnbSystemColorTokens {
|
|
36
|
+
/** 패널 배경 */
|
|
37
|
+
bg: string;
|
|
38
|
+
/**
|
|
39
|
+
* 패널 위쪽 경계 (GNB 본문과 나누는 선). 배경만으로 경계가 읽히는 색에서는 없다.
|
|
40
|
+
* 토큰에는 light·dark 모두 정의돼 있지만, dark 는 시안이 선을 긋지 않는다 — 아래 주석 참고.
|
|
41
|
+
*/
|
|
42
|
+
border?: string;
|
|
43
|
+
/** 패널 안 구분선 (가로 divider · 알림↔설정 세로선) */
|
|
44
|
+
divider: string;
|
|
45
|
+
/** 도메인 태그 배경 */
|
|
46
|
+
domainBg: string;
|
|
47
|
+
/** 도메인 태그 글자색 */
|
|
48
|
+
domainText: string;
|
|
49
|
+
/** 알림이 있을 때의 벨 글리프색 */
|
|
50
|
+
alertIcon: string;
|
|
51
|
+
/** 알림 개수(펼침) · 점 배지(접힘) 색 */
|
|
52
|
+
alertCount: string;
|
|
53
|
+
/** 알림이 있을 때의 hover 배경. 없으면 행 기본 hover 를 쓴다 */
|
|
54
|
+
alertHoverBg?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const GNB_SYSTEM_COLOR_CONFIG: Record<SGnbSystemColor, GnbSystemColorTokens>;
|
|
57
|
+
/**
|
|
58
|
+
* `top` 자리(전폭 상단바)의 색.
|
|
59
|
+
*
|
|
60
|
+
* 상단바에는 판을 깔지 않고 조각을 GNB 면에 바로 얹는다 — 그래서 행 색이 패널과 한 단계 다르다.
|
|
61
|
+
* dark 는 패널의 오션블루(`dark`)가 아니라 GNB 네이비 면용 `darker` 를 쓰고, 구분선·도메인 태그도
|
|
62
|
+
* 그에 맞춘 `*-darker-*` 토큰을 쓴다. 알림 강조색은 darker 대응 토큰이 없어 dark 값을 그대로 쓴다
|
|
63
|
+
* (두 면 모두 어두운 면이라 같은 노랑이 맞는다).
|
|
64
|
+
*/
|
|
65
|
+
export interface GnbSystemTopColorTokens {
|
|
66
|
+
/** 조각(액션·알림·설정·계정)이 쓰는 행 색 */
|
|
67
|
+
item: GnbSystemItemColor;
|
|
68
|
+
/** 조각 사이 세로 구분선 */
|
|
69
|
+
divider: string;
|
|
70
|
+
/** 도메인 태그 배경 */
|
|
71
|
+
domainBg: string;
|
|
72
|
+
/** 도메인 태그 글자색 */
|
|
73
|
+
domainText: string;
|
|
74
|
+
/** 알림이 있을 때의 벨 글리프색 */
|
|
75
|
+
alertIcon: string;
|
|
76
|
+
/** 알림 개수 색 */
|
|
77
|
+
alertCount: string;
|
|
78
|
+
/** 알림이 있을 때의 hover 배경. 없으면 행 기본 hover 를 쓴다 */
|
|
79
|
+
alertHoverBg?: string;
|
|
80
|
+
}
|
|
81
|
+
export declare const GNB_SYSTEM_TOP_COLOR_CONFIG: Record<SGnbSystemColor, GnbSystemTopColorTokens>;
|
|
82
|
+
/** 치수 — 전부 토큰 참조 */
|
|
83
|
+
export declare const GNB_SYSTEM_LAYOUT: {
|
|
84
|
+
/** 펼친 패널의 안쪽 여백 */
|
|
85
|
+
readonly padding: "var(--cmp-gnb-system-project-padding)";
|
|
86
|
+
/** 접힌(min) 패널의 안쪽 여백 */
|
|
87
|
+
readonly foldedPadding: "var(--cmp-gnb-system-min-padding)";
|
|
88
|
+
/**
|
|
89
|
+
* 패널이 쌓는 블록 사이 간격. 알림↔설정 사이의 가로 간격도 전용 토큰이 없어 이 값을 쓴다
|
|
90
|
+
* (시안에서 두 간격이 같다).
|
|
91
|
+
*/
|
|
92
|
+
readonly gap: string;
|
|
93
|
+
/** 행 높이 */
|
|
94
|
+
readonly itemHeight: string;
|
|
95
|
+
/** 행 라운드 */
|
|
96
|
+
readonly itemRadius: string;
|
|
97
|
+
/** 아이콘 프레임 한 변 */
|
|
98
|
+
readonly iconFrame: string;
|
|
99
|
+
/** 아이콘 글리프 크기 */
|
|
100
|
+
readonly iconGlyph: string;
|
|
101
|
+
/** 아이콘 프레임 라운드 */
|
|
102
|
+
readonly iconRadius: string;
|
|
103
|
+
/** 아이콘 프레임 ↔ 라벨 간격 */
|
|
104
|
+
readonly iconLabelGap: string;
|
|
105
|
+
/** 알림 버튼 좌우 여백 */
|
|
106
|
+
readonly alertPaddingX: string;
|
|
107
|
+
/** 설정 버튼 좌우 여백 */
|
|
108
|
+
readonly settingPaddingX: "var(--cmp-gnb-system-setting-paddingX)";
|
|
109
|
+
/** 도메인 태그 */
|
|
110
|
+
readonly domainPaddingX: string;
|
|
111
|
+
readonly domainPaddingY: string;
|
|
112
|
+
readonly domainRadius: string;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* 알림 점 배지 지름(px). 접힌 패널에는 개수를 적을 자리가 없어 점만 찍는다.
|
|
116
|
+
* 전용 토큰이 없어 시안 값을 상수로 둔다.
|
|
117
|
+
*/
|
|
118
|
+
export declare const GNB_SYSTEM_ALERT_DOT_SIZE = 6;
|
|
119
|
+
/** 알림 버튼 기본 라벨 */
|
|
120
|
+
export declare const GNB_SYSTEM_ALERT_LABEL = "\uC54C\uB9BC";
|
|
121
|
+
/** 설정 버튼 기본 라벨 */
|
|
122
|
+
export declare const GNB_SYSTEM_SETTING_LABEL = "\uC124\uC815";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { SGnbSystem, type SGnbSystemProps, type SGnbSystemAction, type SGnbSystemAlert, type SGnbSystemSetting, type SGnbSystemAccount, } from './SGnbSystem';
|
|
2
|
+
export { GNB_SYSTEM_COLORS, GNB_SYSTEM_COLOR_CONFIG, GNB_SYSTEM_LAYOUT, GNB_SYSTEM_PLACEMENTS, GNB_SYSTEM_TOP_COLOR_CONFIG, type SGnbSystemColor, type SGnbSystemPlacement, type GnbSystemColorTokens, type GnbSystemTopColorTokens, } from './gnbSystem.config';
|
|
@@ -13,10 +13,25 @@
|
|
|
13
13
|
| `message?` | `SGuideMessage` | `''` | 팝업 메시지 (배열이면 리스트, 중첩 배열이면 depth 표현) |
|
|
14
14
|
| `url?` | `string` | `''` | notion 타입 클릭 시 이동 URL |
|
|
15
15
|
| `popupTitle?` | `string` | `''` | 팝업 제목 (없으면 type 기본값) |
|
|
16
|
-
| `popupWidth?` | `number` |
|
|
16
|
+
| `popupWidth?` | `number \| 'auto'` | `'auto'` | 팝업 너비. 기본 `'auto'` 는 내용 폭에 맞춘다 — 가장 긴 줄이 곧 팝업 폭이다. 숫자(px)를 주면 그 폭으로 고정한다. 어느 쪽이든 창 좌우에 여백을 남기는 선까지만 벌어진다. |
|
|
17
17
|
| `className?` | `string` | — | |
|
|
18
18
|
| `style?` | `CSSProperties` | — | |
|
|
19
19
|
|
|
20
|
+
## Types
|
|
21
|
+
|
|
22
|
+
### SGuideType
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
export type SGuideType = 'tip' | 'notion';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### SGuideMessage
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
/** 중첩 배열로 depth 표현 (원본 renderListItem 대응). 예: ['상위', ['하위1', '하위2']] */
|
|
32
|
+
export type SGuideMessage = string | SGuideMessage[];
|
|
33
|
+
```
|
|
34
|
+
|
|
20
35
|
## Dependencies
|
|
21
36
|
|
|
22
37
|
### Depends on
|
|
@@ -13,8 +13,11 @@ export interface SGuideProps {
|
|
|
13
13
|
url?: string;
|
|
14
14
|
/** 팝업 제목 (없으면 type 기본값) */
|
|
15
15
|
popupTitle?: string;
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/**
|
|
17
|
+
* 팝업 너비. 기본 `'auto'` 는 내용 폭에 맞춘다 — 가장 긴 줄이 곧 팝업 폭이다.
|
|
18
|
+
* 숫자(px)를 주면 그 폭으로 고정한다. 어느 쪽이든 창 좌우에 여백을 남기는 선까지만 벌어진다.
|
|
19
|
+
*/
|
|
20
|
+
popupWidth?: number | 'auto';
|
|
18
21
|
className?: string;
|
|
19
22
|
style?: CSSProperties;
|
|
20
23
|
}
|
|
@@ -20,24 +20,32 @@
|
|
|
20
20
|
|
|
21
21
|
### Used by
|
|
22
22
|
|
|
23
|
+
- [SAccountListBox](../SAccountListBox)
|
|
23
24
|
- [SButton](../SButton)
|
|
24
25
|
- [SCallout](../SCallout)
|
|
26
|
+
- [SChatAttachedFile](../SChatAttachedFile)
|
|
27
|
+
- [SChatFile](../SChatFile)
|
|
28
|
+
- [SChatMessage](../SChatMessage)
|
|
25
29
|
- [SCheckbox](../SCheckbox)
|
|
26
30
|
- [SChipFilter](../SChipFilter)
|
|
27
31
|
- [SChipInput](../SChipInput)
|
|
28
32
|
- [SConfirmModal](../SConfirmModal)
|
|
33
|
+
- [SContextAlert](../SContextAlert)
|
|
29
34
|
- [SDatePicker](../SDatePicker)
|
|
30
35
|
- [SDateRangePicker](../SDateRangePicker)
|
|
31
36
|
- [SDraggableItem](../SDraggableItem)
|
|
32
37
|
- [SDropdownButton](../SDropdownButton)
|
|
38
|
+
- [SEditor](../SEditor)
|
|
33
39
|
- [SExpansionItem](../SExpansionItem)
|
|
34
40
|
- [SField](../SField)
|
|
35
41
|
- [SFilePicker](../SFilePicker)
|
|
36
42
|
- [SGhostButton](../SGhostButton)
|
|
37
43
|
- [SGnb](../SGnb)
|
|
44
|
+
- [SGnbSystem](../SGnbSystem)
|
|
38
45
|
- [SGuide](../SGuide)
|
|
39
46
|
- [SImage](../SImage)
|
|
40
47
|
- [SKeyValueTable](../SKeyValueTable)
|
|
48
|
+
- [SLauncherListBox](../SLauncherListBox)
|
|
41
49
|
- [SListItem](../SListItem)
|
|
42
50
|
- [SLoadingModal](../SLoadingModal)
|
|
43
51
|
- [SNumberInput](../SNumberInput)
|
|
@@ -47,6 +55,7 @@
|
|
|
47
55
|
- [SSectionHeaderCard](../SSectionHeaderCard)
|
|
48
56
|
- [SSelect](../SSelect)
|
|
49
57
|
- [SStepper](../SStepper)
|
|
58
|
+
- [SSystemActionButton](../SSystemActionButton)
|
|
50
59
|
- [STable](../STable)
|
|
51
60
|
- [STag](../STag)
|
|
52
61
|
- [STextLink](../STextLink)
|
|
@@ -59,24 +68,32 @@
|
|
|
59
68
|
|
|
60
69
|
```mermaid
|
|
61
70
|
graph TD;
|
|
71
|
+
SAccountListBox --> SIcon
|
|
62
72
|
SButton --> SIcon
|
|
63
73
|
SCallout --> SIcon
|
|
74
|
+
SChatAttachedFile --> SIcon
|
|
75
|
+
SChatFile --> SIcon
|
|
76
|
+
SChatMessage --> SIcon
|
|
64
77
|
SCheckbox --> SIcon
|
|
65
78
|
SChipFilter --> SIcon
|
|
66
79
|
SChipInput --> SIcon
|
|
67
80
|
SConfirmModal --> SIcon
|
|
81
|
+
SContextAlert --> SIcon
|
|
68
82
|
SDatePicker --> SIcon
|
|
69
83
|
SDateRangePicker --> SIcon
|
|
70
84
|
SDraggableItem --> SIcon
|
|
71
85
|
SDropdownButton --> SIcon
|
|
86
|
+
SEditor --> SIcon
|
|
72
87
|
SExpansionItem --> SIcon
|
|
73
88
|
SField --> SIcon
|
|
74
89
|
SFilePicker --> SIcon
|
|
75
90
|
SGhostButton --> SIcon
|
|
76
91
|
SGnb --> SIcon
|
|
92
|
+
SGnbSystem --> SIcon
|
|
77
93
|
SGuide --> SIcon
|
|
78
94
|
SImage --> SIcon
|
|
79
95
|
SKeyValueTable --> SIcon
|
|
96
|
+
SLauncherListBox --> SIcon
|
|
80
97
|
SListItem --> SIcon
|
|
81
98
|
SLoadingModal --> SIcon
|
|
82
99
|
SNumberInput --> SIcon
|
|
@@ -86,6 +103,7 @@ graph TD;
|
|
|
86
103
|
SSectionHeaderCard --> SIcon
|
|
87
104
|
SSelect --> SIcon
|
|
88
105
|
SStepper --> SIcon
|
|
106
|
+
SSystemActionButton --> SIcon
|
|
89
107
|
STable --> SIcon
|
|
90
108
|
STag --> SIcon
|
|
91
109
|
STextLink --> SIcon
|
|
@@ -17,6 +17,6 @@ export interface SIconProps {
|
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* SIcon — sd-icon 포팅.
|
|
20
|
-
*
|
|
20
|
+
* icons.gen.tsx 의 SVG 를 currentColor 기반으로 렌더한다.
|
|
21
21
|
*/
|
|
22
22
|
export declare const SIcon: import("react").ForwardRefExoticComponent<SIconProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
@@ -3,9 +3,15 @@ export type IconRenderProps = {
|
|
|
3
3
|
size?: number | string;
|
|
4
4
|
} & SVGProps<SVGSVGElement>;
|
|
5
5
|
export declare const ICONS: {
|
|
6
|
+
readonly account: (p: IconRenderProps) => import("react").JSX.Element;
|
|
6
7
|
readonly add: (p: IconRenderProps) => import("react").JSX.Element;
|
|
7
8
|
readonly alert: (p: IconRenderProps) => import("react").JSX.Element;
|
|
9
|
+
readonly alignCenter: (p: IconRenderProps) => import("react").JSX.Element;
|
|
8
10
|
readonly alignKorean: (p: IconRenderProps) => import("react").JSX.Element;
|
|
11
|
+
readonly alignLeft: (p: IconRenderProps) => import("react").JSX.Element;
|
|
12
|
+
readonly alignMiddle: (p: IconRenderProps) => import("react").JSX.Element;
|
|
13
|
+
readonly alignRight: (p: IconRenderProps) => import("react").JSX.Element;
|
|
14
|
+
readonly alignTop: (p: IconRenderProps) => import("react").JSX.Element;
|
|
9
15
|
readonly archive: (p: IconRenderProps) => import("react").JSX.Element;
|
|
10
16
|
readonly arrowDown: (p: IconRenderProps) => import("react").JSX.Element;
|
|
11
17
|
readonly arrowLeft: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -13,8 +19,10 @@ export declare const ICONS: {
|
|
|
13
19
|
readonly arrowUp: (p: IconRenderProps) => import("react").JSX.Element;
|
|
14
20
|
readonly asterisk: (p: IconRenderProps) => import("react").JSX.Element;
|
|
15
21
|
readonly attachFile: (p: IconRenderProps) => import("react").JSX.Element;
|
|
22
|
+
readonly back: (p: IconRenderProps) => import("react").JSX.Element;
|
|
16
23
|
readonly barcode: (p: IconRenderProps) => import("react").JSX.Element;
|
|
17
24
|
readonly bell: (p: IconRenderProps) => import("react").JSX.Element;
|
|
25
|
+
readonly bellRinging: (p: IconRenderProps) => import("react").JSX.Element;
|
|
18
26
|
readonly bill: (p: IconRenderProps) => import("react").JSX.Element;
|
|
19
27
|
readonly board: (p: IconRenderProps) => import("react").JSX.Element;
|
|
20
28
|
readonly box: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -25,6 +33,7 @@ export declare const ICONS: {
|
|
|
25
33
|
readonly caretLeft: (p: IconRenderProps) => import("react").JSX.Element;
|
|
26
34
|
readonly caretRight: (p: IconRenderProps) => import("react").JSX.Element;
|
|
27
35
|
readonly caretUp: (p: IconRenderProps) => import("react").JSX.Element;
|
|
36
|
+
readonly chat: (p: IconRenderProps) => import("react").JSX.Element;
|
|
28
37
|
readonly check: (p: IconRenderProps) => import("react").JSX.Element;
|
|
29
38
|
readonly checkFill: (p: IconRenderProps) => import("react").JSX.Element;
|
|
30
39
|
readonly checkOutline: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -39,28 +48,36 @@ export declare const ICONS: {
|
|
|
39
48
|
readonly clockFill: (p: IconRenderProps) => import("react").JSX.Element;
|
|
40
49
|
readonly clockOutline: (p: IconRenderProps) => import("react").JSX.Element;
|
|
41
50
|
readonly close: (p: IconRenderProps) => import("react").JSX.Element;
|
|
51
|
+
readonly company: (p: IconRenderProps) => import("react").JSX.Element;
|
|
52
|
+
readonly connect: (p: IconRenderProps) => import("react").JSX.Element;
|
|
42
53
|
readonly copy: (p: IconRenderProps) => import("react").JSX.Element;
|
|
54
|
+
readonly counsel: (p: IconRenderProps) => import("react").JSX.Element;
|
|
43
55
|
readonly coupon: (p: IconRenderProps) => import("react").JSX.Element;
|
|
44
56
|
readonly dashboard: (p: IconRenderProps) => import("react").JSX.Element;
|
|
45
57
|
readonly date: (p: IconRenderProps) => import("react").JSX.Element;
|
|
46
|
-
readonly delete: (p: IconRenderProps) => import("react").JSX.Element;
|
|
47
58
|
readonly dot: (p: IconRenderProps) => import("react").JSX.Element;
|
|
48
59
|
readonly download: (p: IconRenderProps) => import("react").JSX.Element;
|
|
49
60
|
readonly drag: (p: IconRenderProps) => import("react").JSX.Element;
|
|
50
61
|
readonly edit: (p: IconRenderProps) => import("react").JSX.Element;
|
|
51
62
|
readonly etc: (p: IconRenderProps) => import("react").JSX.Element;
|
|
52
63
|
readonly event: (p: IconRenderProps) => import("react").JSX.Element;
|
|
64
|
+
readonly focus: (p: IconRenderProps) => import("react").JSX.Element;
|
|
53
65
|
readonly global: (p: IconRenderProps) => import("react").JSX.Element;
|
|
54
66
|
readonly helpFill: (p: IconRenderProps) => import("react").JSX.Element;
|
|
55
67
|
readonly helpOutline: (p: IconRenderProps) => import("react").JSX.Element;
|
|
56
68
|
readonly history: (p: IconRenderProps) => import("react").JSX.Element;
|
|
69
|
+
readonly home: (p: IconRenderProps) => import("react").JSX.Element;
|
|
57
70
|
readonly image: (p: IconRenderProps) => import("react").JSX.Element;
|
|
58
71
|
readonly inline: (p: IconRenderProps) => import("react").JSX.Element;
|
|
59
72
|
readonly launcher: (p: IconRenderProps) => import("react").JSX.Element;
|
|
60
73
|
readonly leftRight: (p: IconRenderProps) => import("react").JSX.Element;
|
|
61
74
|
readonly line: (p: IconRenderProps) => import("react").JSX.Element;
|
|
75
|
+
readonly link: (p: IconRenderProps) => import("react").JSX.Element;
|
|
62
76
|
readonly location: (p: IconRenderProps) => import("react").JSX.Element;
|
|
63
77
|
readonly logout: (p: IconRenderProps) => import("react").JSX.Element;
|
|
78
|
+
readonly megaphone: (p: IconRenderProps) => import("react").JSX.Element;
|
|
79
|
+
readonly messageClose: (p: IconRenderProps) => import("react").JSX.Element;
|
|
80
|
+
readonly messageOpen: (p: IconRenderProps) => import("react").JSX.Element;
|
|
64
81
|
readonly minus: (p: IconRenderProps) => import("react").JSX.Element;
|
|
65
82
|
readonly monitor: (p: IconRenderProps) => import("react").JSX.Element;
|
|
66
83
|
readonly new: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -76,6 +93,7 @@ export declare const ICONS: {
|
|
|
76
93
|
readonly reset: (p: IconRenderProps) => import("react").JSX.Element;
|
|
77
94
|
readonly robot: (p: IconRenderProps) => import("react").JSX.Element;
|
|
78
95
|
readonly row: (p: IconRenderProps) => import("react").JSX.Element;
|
|
96
|
+
readonly rowDense: (p: IconRenderProps) => import("react").JSX.Element;
|
|
79
97
|
readonly save: (p: IconRenderProps) => import("react").JSX.Element;
|
|
80
98
|
readonly search: (p: IconRenderProps) => import("react").JSX.Element;
|
|
81
99
|
readonly send: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -84,6 +102,7 @@ export declare const ICONS: {
|
|
|
84
102
|
readonly shield: (p: IconRenderProps) => import("react").JSX.Element;
|
|
85
103
|
readonly sidebar: (p: IconRenderProps) => import("react").JSX.Element;
|
|
86
104
|
readonly star: (p: IconRenderProps) => import("react").JSX.Element;
|
|
105
|
+
readonly stop: (p: IconRenderProps) => import("react").JSX.Element;
|
|
87
106
|
readonly store: (p: IconRenderProps) => import("react").JSX.Element;
|
|
88
107
|
readonly synchronize: (p: IconRenderProps) => import("react").JSX.Element;
|
|
89
108
|
readonly thumbsDown: (p: IconRenderProps) => import("react").JSX.Element;
|
|
@@ -15,10 +15,13 @@
|
|
|
15
15
|
| `position?` | `string` | `'50% 50%'` | 이미지 정렬 위치 (object-position) |
|
|
16
16
|
| `loading?` | `'lazy' \| 'eager'` | `'lazy'` | 브라우저 로딩 방식 |
|
|
17
17
|
| `loadingShowDelay?` | `number` | `0` | 스피너를 띄우기까지 기다리는 시간(ms). 이 시간 안에 로드되면 스피너를 아예 그리지 않는다 — 캐시된 이미지에서 스피너가 한 프레임 번쩍이는 것을 막는다. |
|
|
18
|
-
| `
|
|
18
|
+
| `showSpinner?` | `boolean` | `true` | 로딩 중 스피너를 그릴지. 끄면 `loadingSlot` 도 없을 때 로딩 표시가 아무것도 남지 않는다. |
|
|
19
19
|
| `loadingSlot?` | `ReactNode` | — | 로딩 중 표시를 직접 지정한다 (기본: 스피너) |
|
|
20
20
|
| `errorSlot?` | `ReactNode` | — | 실패·빈 상태 표시를 직접 지정한다 (기본: 빈 이미지 아이콘) |
|
|
21
21
|
| `imgProps?` | `ImgHTMLAttributes<HTMLImageElement>` | — | 안쪽 `<img>` 로 넘길 네이티브 속성 (srcSet · sizes · crossOrigin · draggable 등) |
|
|
22
|
+
| `previewOnHover?` | `boolean` | `false` | 호버하면 큰 이미지를 포털로 띄운다. 썸네일이 작아 내용을 알아볼 수 없는 자리에 쓴다 |
|
|
23
|
+
| `previewSrc?` | `string` | — | 미리보기에 띄울 경로. 원본 URL 이 썸네일과 다를 때 준다 (기본: `src` 와 같은 경로) |
|
|
24
|
+
| `previewSize?` | `number` | `PREVIEW_MAX_SIZE` | 미리보기 상자의 한 변(px). 상자는 정사각형이고 이미지는 `contain` 으로 들어간다. **200px 이 상한이라 더 큰 값을 줘도 200 으로 잘린다** — 미리보기가 화면을 덮지 않게 하는 규격이다. |
|
|
22
25
|
|
|
23
26
|
#### Events
|
|
24
27
|
|
|
@@ -27,8 +30,26 @@
|
|
|
27
30
|
| `onLoad` | `(src: string) => void` | 로드 완료. 로드된 src 를 넘긴다 |
|
|
28
31
|
| `onError` | `(event: SyntheticEvent<HTMLImageElement>) => void` | 로드 실패 |
|
|
29
32
|
|
|
33
|
+
## Types
|
|
34
|
+
|
|
35
|
+
### SImageFit
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
export type SImageFit = (typeof IMAGE_FITS)[number];
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### IMAGE_FITS
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
export const IMAGE_FITS = ['cover', 'contain', 'fill', 'none', 'scale-down'] as const;
|
|
45
|
+
```
|
|
46
|
+
|
|
30
47
|
## Dependencies
|
|
31
48
|
|
|
49
|
+
### Used by
|
|
50
|
+
|
|
51
|
+
- [SChatMessage](../SChatMessage)
|
|
52
|
+
|
|
32
53
|
### Depends on
|
|
33
54
|
|
|
34
55
|
- [SCircleProgress](../SCircleProgress)
|
|
@@ -40,5 +61,6 @@
|
|
|
40
61
|
graph TD;
|
|
41
62
|
SImage --> SCircleProgress
|
|
42
63
|
SImage --> SIcon
|
|
64
|
+
SChatMessage --> SImage
|
|
43
65
|
style SImage fill:#f9f,stroke:#333,stroke-width:4px
|
|
44
66
|
```
|
|
@@ -19,23 +19,26 @@ export interface SImageProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onLoa
|
|
|
19
19
|
* 캐시된 이미지에서 스피너가 한 프레임 번쩍이는 것을 막는다.
|
|
20
20
|
*/
|
|
21
21
|
loadingShowDelay?: number;
|
|
22
|
-
/** 로딩
|
|
23
|
-
|
|
22
|
+
/** 로딩 중 스피너를 그릴지. 끄면 `loadingSlot` 도 없을 때 로딩 표시가 아무것도 남지 않는다. */
|
|
23
|
+
showSpinner?: boolean;
|
|
24
24
|
/** 로딩 중 표시를 직접 지정한다 (기본: 스피너) */
|
|
25
25
|
loadingSlot?: ReactNode;
|
|
26
26
|
/** 실패·빈 상태 표시를 직접 지정한다 (기본: 빈 이미지 아이콘) */
|
|
27
27
|
errorSlot?: ReactNode;
|
|
28
28
|
/** 안쪽 `<img>` 로 넘길 네이티브 속성 (srcSet · sizes · crossOrigin · draggable 등) */
|
|
29
29
|
imgProps?: ImgHTMLAttributes<HTMLImageElement>;
|
|
30
|
+
/** 호버하면 큰 이미지를 포털로 띄운다. 썸네일이 작아 내용을 알아볼 수 없는 자리에 쓴다 */
|
|
31
|
+
previewOnHover?: boolean;
|
|
32
|
+
/** 미리보기에 띄울 경로. 원본 URL 이 썸네일과 다를 때 준다 (기본: `src` 와 같은 경로) */
|
|
33
|
+
previewSrc?: string;
|
|
34
|
+
/**
|
|
35
|
+
* 미리보기 상자의 한 변(px). 상자는 정사각형이고 이미지는 `contain` 으로 들어간다.
|
|
36
|
+
* **200px 이 상한이라 더 큰 값을 줘도 200 으로 잘린다** — 미리보기가 화면을 덮지 않게 하는 규격이다.
|
|
37
|
+
*/
|
|
38
|
+
previewSize?: number;
|
|
30
39
|
/** 로드 완료. 로드된 src 를 넘긴다 */
|
|
31
40
|
onLoad?: (src: string) => void;
|
|
32
41
|
/** 로드 실패 */
|
|
33
42
|
onError?: (event: SyntheticEvent<HTMLImageElement>) => void;
|
|
34
43
|
}
|
|
35
|
-
/**
|
|
36
|
-
* SImage — 이미지 로딩·실패 상태를 스스로 표현하는 이미지 상자.
|
|
37
|
-
*
|
|
38
|
-
* 로딩 중에는 스피너, `src` 가 없거나 로드에 실패하면 빈 이미지 아이콘을 컨테이너 높이에
|
|
39
|
-
* 비례한 크기로 가운데에 그린다.
|
|
40
|
-
*/
|
|
41
44
|
export declare const SImage: import("react").ForwardRefExoticComponent<SImageProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -18,11 +18,13 @@
|
|
|
18
18
|
| `clearable?` | `boolean` | `false` | 지우기 버튼 |
|
|
19
19
|
| `rules?` | `Rule[]` | — | 유효성 규칙 — blur 시 자동 검증 |
|
|
20
20
|
| `status?` | `SFieldStatus` | — | 필드 상태 ('default' | 'pass' | 'error') |
|
|
21
|
-
| `focused?` | `boolean` | — | 포커스
|
|
22
|
-
| `hovered?` | `boolean` | — | 호버
|
|
23
|
-
| `
|
|
21
|
+
| `focused?` | `boolean` | — | 포커스 상태를 밖에서 지정한다 — 강조 테두리·링이 즉시 걸린다 (SField 로 그대로 넘어간다) |
|
|
22
|
+
| `hovered?` | `boolean` | — | 호버 상태를 밖에서 지정한다 — 강조는 `focused` 와 같다 (SField 로 그대로 넘어간다) |
|
|
23
|
+
| `inputClassName?` | `string` | — | 내부 input 요소 className |
|
|
24
24
|
| `inputStyle?` | `CSSProperties` | — | 내부 input 요소 style |
|
|
25
25
|
| `label?` | `string` | — | |
|
|
26
|
+
| `labelPosition?` | `SFieldLabelPosition` | — | 레이블 위치 — `top` 이면 라벨이 컨트롤 위에 선다 (SField 로 그대로 넘어간다) |
|
|
27
|
+
| `subLabel?` | `string` | — | 보조 레이블 — 레이블 오른쪽 같은 줄에 붙는다 (SField 로 그대로 넘어간다). |
|
|
26
28
|
| `labelWidth?` | `number \| string` | — | |
|
|
27
29
|
| `labelTooltip?` | `string` | — | 레이블 툴팁 텍스트 |
|
|
28
30
|
| `labelTooltipProps?` | `Partial<STooltipProps>` | — | 레이블 툴팁 상세 옵션 |
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
| `errorMessage?` | `string` | — | |
|
|
32
34
|
| `addonLabel?` | `string` | — | |
|
|
33
35
|
| `addonAlign?` | `SFieldAddonAlign` | — | 어드온 정렬 |
|
|
34
|
-
| `width?` | `
|
|
36
|
+
| `width?` | `SFieldWidth` | — | 컨트롤 너비 — 폭 등급(`'xs' | 'sm' | 'md' | 'lg' | 'xl'`) · 숫자=px · CSS 길이. 등급은 `--cmp-field-width-*` 토큰으로 풀리며 `maxLength`(= 스키마 상한)로 고른다. 상한이 `xl` 을 넘거나 상한이 없으면 `"100%"`. (`sellmate/field-width-grade` 가 검사한다) |
|
|
35
37
|
| `disabled?` | `boolean` | `false` | |
|
|
36
38
|
| `readOnly?` | `boolean` | `false` | |
|
|
37
39
|
| `className?` | `string` | — | |
|
|
@@ -48,6 +50,7 @@
|
|
|
48
50
|
|
|
49
51
|
### Used by
|
|
50
52
|
|
|
53
|
+
- [SEditor](../SEditor)
|
|
51
54
|
- [SKeyValueTable](../SKeyValueTable)
|
|
52
55
|
|
|
53
56
|
### Depends on
|
|
@@ -61,6 +64,7 @@
|
|
|
61
64
|
graph TD;
|
|
62
65
|
SInput --> SField
|
|
63
66
|
SInput --> SGhostButton
|
|
67
|
+
SEditor --> SInput
|
|
64
68
|
SKeyValueTable --> SInput
|
|
65
69
|
style SInput fill:#f9f,stroke:#333,stroke-width:4px
|
|
66
70
|
```
|