sellmate-design-system-react 9.0.0-beta.11 → 9.0.0-beta.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4231 -304
- package/README.md +85 -37
- package/bin/sellmate-ds.mjs +91 -59
- package/dist/components/SAccountListBox/AccountListBoxPortal.d.ts +31 -0
- package/dist/components/SAccountListBox/README.md +86 -0
- package/dist/components/SAccountListBox/SAccountListBox.d.ts +79 -0
- package/dist/components/SAccountListBox/SystemMenuPortal.d.ts +58 -0
- package/dist/components/SAccountListBox/accountListBox.config.d.ts +67 -0
- package/dist/components/SAccountListBox/index.d.ts +2 -0
- package/dist/components/SActionModal/README.md +6 -4
- package/dist/components/SActionModal/SActionModal.d.ts +16 -6
- package/dist/components/SBadge/README.md +3 -0
- package/dist/components/SBadge/SBadge.d.ts +2 -2
- package/dist/components/SBarChart/README.md +123 -0
- package/dist/components/SBarChart/SBarChart.d.ts +106 -0
- package/dist/components/SBarChart/barChart.config.d.ts +85 -0
- package/dist/components/SBarChart/index.d.ts +2 -0
- package/dist/components/SBarcodeInput/README.md +10 -6
- package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +28 -5
- package/dist/components/SButton/README.md +50 -11
- package/dist/components/SButton/SButton.d.ts +30 -7
- package/dist/components/SButton/button.config.d.ts +22 -13
- package/dist/components/SButton/index.d.ts +1 -1
- package/dist/components/SCalendar/README.md +2 -2
- package/dist/components/SCalendar/SCalendar.d.ts +3 -3
- package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +61 -0
- package/dist/components/SCalendarBoard/CalendarDayEventListBox.d.ts +26 -0
- package/dist/components/SCalendarBoard/CalendarEventButton.d.ts +20 -0
- package/dist/components/SCalendarBoard/CalendarMoreButton.d.ts +18 -0
- package/dist/components/SCalendarBoard/README.md +148 -0
- package/dist/components/SCalendarBoard/SCalendarBoard.d.ts +83 -0
- package/dist/components/SCalendarBoard/calendar-board-layout.d.ts +59 -0
- package/dist/components/SCalendarBoard/calendarBoard.config.d.ts +38 -0
- package/dist/components/SCalendarBoard/index.d.ts +3 -0
- package/dist/components/SCalendarBoard/types.d.ts +40 -0
- package/dist/components/SCallout/README.md +3 -2
- package/dist/components/SCallout/SCallout.d.ts +15 -6
- package/dist/components/SCard/README.md +17 -0
- package/dist/components/SCard/SCard.d.ts +26 -2
- package/dist/components/SChatAttachedFile/README.md +33 -0
- package/dist/components/SChatAttachedFile/SChatAttachedFile.d.ts +13 -0
- package/dist/components/SChatAttachedFile/chatAttachedFile.config.d.ts +23 -0
- package/dist/components/SChatAttachedFile/index.d.ts +2 -0
- package/dist/components/SChatFile/README.md +33 -0
- package/dist/components/SChatFile/SChatFile.d.ts +37 -0
- package/dist/components/SChatFile/chatFile.config.d.ts +56 -0
- package/dist/components/SChatFile/index.d.ts +2 -0
- package/dist/components/SChatInput/README.md +52 -0
- package/dist/components/SChatInput/SChatInput.d.ts +127 -0
- package/dist/components/SChatInput/index.d.ts +1 -0
- package/dist/components/SChatMessage/README.md +87 -0
- package/dist/components/SChatMessage/SChatMessage.d.ts +135 -0
- package/dist/components/SChatMessage/index.d.ts +1 -0
- package/dist/components/SChatSystemMessage/README.md +12 -0
- package/dist/components/SChatSystemMessage/SChatSystemMessage.d.ts +18 -0
- package/dist/components/SChatSystemMessage/index.d.ts +1 -0
- package/dist/components/SCheckbox/README.md +4 -1
- package/dist/components/SCheckbox/SCheckbox.d.ts +11 -3
- package/dist/components/SChip/README.md +29 -4
- package/dist/components/SChip/SChip.d.ts +13 -5
- package/dist/components/SChip/index.d.ts +1 -1
- package/dist/components/SChipFilter/README.md +156 -72
- package/dist/components/SChipFilter/SChipFilter.d.ts +122 -54
- package/dist/components/SChipFilter/index.d.ts +1 -1
- package/dist/components/SChipInput/README.md +10 -5
- package/dist/components/SChipInput/SChipInput.d.ts +57 -7
- package/dist/components/SChipInput/index.d.ts +1 -1
- package/dist/components/SCircleProgress/README.md +6 -3
- package/dist/components/SCircleProgress/SCircleProgress.d.ts +12 -4
- package/dist/components/SConfirmModal/README.md +12 -18
- package/dist/components/SConfirmModal/SConfirmModal.d.ts +55 -16
- package/dist/components/SContextAlert/README.md +52 -0
- package/dist/components/SContextAlert/SContextAlert.d.ts +51 -0
- package/dist/components/SContextAlert/contextAlert.config.d.ts +22 -0
- package/dist/components/SContextAlert/index.d.ts +2 -0
- package/dist/components/SDatePicker/README.md +10 -3
- package/dist/components/SDatePicker/SDatePicker.d.ts +52 -7
- package/dist/components/SDateRangePicker/README.md +10 -5
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +54 -9
- package/dist/components/SDivider/README.md +7 -0
- package/dist/components/SDivider/SDivider.d.ts +12 -1
- package/dist/components/SDonutChart/README.md +105 -0
- package/dist/components/SDonutChart/SDonutChart.d.ts +82 -0
- package/dist/components/SDonutChart/index.d.ts +1 -0
- package/dist/components/SDraggableItem/README.md +1 -0
- package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
- package/dist/components/SDraggableItem/index.d.ts +1 -1
- package/dist/components/SDraggableList/README.md +9 -3
- package/dist/components/SDraggableList/SDraggableList.d.ts +18 -3
- package/dist/components/SDraggableList/index.d.ts +1 -1
- package/dist/components/SDrawer/README.md +2 -1
- package/dist/components/SDrawer/SDrawer.d.ts +10 -5
- package/dist/components/SDropdownButton/README.md +16 -6
- package/dist/components/SDropdownButton/SDropdownButton.d.ts +8 -6
- package/dist/components/SDropdownButton/index.d.ts +1 -1
- package/dist/components/SEditor/EditorBody.d.ts +48 -0
- package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
- package/dist/components/SEditor/README.md +207 -0
- package/dist/components/SEditor/SEditor.d.ts +128 -0
- package/dist/components/SEditor/editor-icons.d.ts +63 -0
- package/dist/components/SEditor/editor.config.d.ts +126 -0
- package/dist/components/SEditor/index.d.ts +8 -0
- package/dist/components/SEditor/tiptap-api.d.ts +29 -0
- package/dist/components/SEditor/use-is-mobile.d.ts +14 -0
- package/dist/components/SExpansionItem/README.md +3 -2
- package/dist/components/SExpansionItem/SExpansionItem.d.ts +18 -2
- package/dist/components/SExpansionItem/index.d.ts +1 -1
- package/dist/components/SField/README.md +18 -5
- package/dist/components/SField/SField.d.ts +62 -11
- package/dist/components/SField/index.d.ts +1 -1
- package/dist/components/SFilePicker/README.md +8 -6
- package/dist/components/SFilePicker/SFilePicker.d.ts +29 -9
- package/dist/components/SFooter/README.md +31 -8
- package/dist/components/SFooter/SFooter.d.ts +29 -13
- package/dist/components/SFooter/index.d.ts +1 -1
- package/dist/components/SForm/README.md +4 -4
- package/dist/components/SForm/SForm.d.ts +7 -7
- package/dist/components/SGhostButton/README.md +21 -2
- package/dist/components/SGhostButton/SGhostButton.d.ts +23 -5
- package/dist/components/SGnb/README.md +65 -9
- package/dist/components/SGnb/SGnb.d.ts +117 -13
- package/dist/components/SGnb/gnb.config.d.ts +46 -5
- package/dist/components/SGnb/index.d.ts +1 -1
- package/dist/components/SGnbSystem/README.md +190 -0
- package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
- package/dist/components/SGnbSystem/gnbSystem.config.d.ts +120 -0
- package/dist/components/SGnbSystem/index.d.ts +2 -0
- package/dist/components/SGuide/README.md +3 -3
- package/dist/components/SGuide/SGuide.d.ts +8 -5
- package/dist/components/SIcon/README.md +23 -1
- package/dist/components/SIcon/SIcon.d.ts +6 -3
- package/dist/components/SIcon/icons.gen.d.ts +26 -2
- package/dist/components/SImage/README.md +9 -1
- package/dist/components/SImage/SImage.d.ts +11 -8
- package/dist/components/SInput/README.md +13 -7
- package/dist/components/SInput/SInput.d.ts +21 -9
- package/dist/components/SKeyValueTable/README.md +8 -3
- package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +33 -6
- package/dist/components/SKeyValueTable/index.d.ts +1 -1
- package/dist/components/SLauncherListBox/README.md +82 -0
- package/dist/components/SLauncherListBox/SLauncherListBox.d.ts +80 -0
- package/dist/components/SLauncherListBox/index.d.ts +2 -0
- package/dist/components/SLauncherListBox/launcherListBox.config.d.ts +149 -0
- package/dist/components/SLayout/README.md +6 -1
- package/dist/components/SLayout/SLayout.d.ts +6 -2
- package/dist/components/SLayout/index.d.ts +1 -1
- package/dist/components/SLineChart/README.md +132 -0
- package/dist/components/SLineChart/SLineChart.d.ts +115 -0
- package/dist/components/SLineChart/index.d.ts +1 -0
- package/dist/components/SLineChart/lineChart.config.d.ts +94 -0
- package/dist/components/SLinearProgress/README.md +9 -2
- package/dist/components/SLinearProgress/SLinearProgress.d.ts +12 -3
- package/dist/components/SLinearProgress/index.d.ts +1 -1
- package/dist/components/SList/README.md +15 -2
- package/dist/components/SList/SList.d.ts +7 -3
- package/dist/components/SList/index.d.ts +1 -1
- package/dist/components/SListItem/README.md +2 -2
- package/dist/components/SListItem/SListItem.d.ts +12 -2
- package/dist/components/SListItem/index.d.ts +1 -1
- package/dist/components/SLoadingContainer/README.md +1 -1
- package/dist/components/SLoadingContainer/SLoadingContainer.d.ts +3 -3
- package/dist/components/SLoadingContainer/index.d.ts +1 -1
- package/dist/components/SLoadingContainer/loading.d.ts +41 -6
- package/dist/components/SLoadingModal/README.md +10 -9
- package/dist/components/SLoadingModal/SLoadingModal.d.ts +10 -8
- package/dist/components/SLoadingModal/index.d.ts +1 -1
- package/dist/components/SLoginCard/README.md +37 -0
- package/dist/components/SLoginCard/SLoginCard.d.ts +43 -0
- package/dist/components/SLoginCard/index.d.ts +1 -0
- package/dist/components/SLogo/README.md +103 -0
- package/dist/components/SLogo/SLogo.d.ts +72 -0
- package/dist/components/SLogo/index.d.ts +2 -0
- package/dist/components/SLogo/logo.config.d.ts +29 -0
- package/dist/components/SLogo/logos.d.ts +16 -0
- package/dist/components/SMeatballButton/README.md +69 -0
- package/dist/components/SMeatballButton/SMeatballButton.d.ts +39 -0
- package/dist/components/SMeatballButton/index.d.ts +1 -0
- package/dist/components/SModal/README.md +20 -10
- package/dist/components/SModal/SModal.d.ts +5 -5
- package/dist/components/SModalContainer/README.md +4 -3
- package/dist/components/SModalContainer/SModalContainer.d.ts +16 -8
- package/dist/components/SNumberInput/README.md +17 -12
- package/dist/components/SNumberInput/SNumberInput.d.ts +53 -11
- package/dist/components/SPage/README.md +68 -5
- package/dist/components/SPage/SPage.d.ts +34 -10
- package/dist/components/SPage/SPageHeader.d.ts +37 -13
- package/dist/components/SPage/index.d.ts +2 -2
- package/dist/components/SPage/page-column.d.ts +34 -0
- package/dist/components/SPage/page-width.d.ts +23 -0
- package/dist/components/SPage/page.config.d.ts +26 -0
- package/dist/components/SPagination/README.md +11 -1
- package/dist/components/SPagination/SPagination.d.ts +9 -3
- package/dist/components/SPagination/index.d.ts +1 -1
- package/dist/components/SPieChart/README.md +93 -0
- package/dist/components/SPieChart/SPieChart.d.ts +73 -0
- package/dist/components/SPieChart/index.d.ts +1 -0
- package/dist/components/SPopover/README.md +1 -1
- package/dist/components/SPopover/SPopover.d.ts +2 -2
- package/dist/components/SPopup/README.md +14 -9
- package/dist/components/SPopup/SPopup.d.ts +15 -12
- package/dist/components/SPopup/index.d.ts +1 -1
- package/dist/components/SPortal/README.md +12 -5
- package/dist/components/SPortal/SPortal.d.ts +11 -9
- package/dist/components/SRadio/README.md +4 -4
- package/dist/components/SRadio/SRadio.d.ts +3 -3
- package/dist/components/SRadio/SRadioGroup.d.ts +3 -3
- package/dist/components/SRadioButton/README.md +11 -2
- package/dist/components/SRadioButton/SRadioButton.d.ts +19 -5
- package/dist/components/SRadioCard/README.md +81 -0
- package/dist/components/SRadioCard/SRadioCard.d.ts +34 -0
- package/dist/components/SRadioCard/SRadioCardGroup.d.ts +38 -0
- package/dist/components/SRadioCard/index.d.ts +2 -0
- package/dist/components/SScrollArea/README.md +14 -0
- package/dist/components/SScrollArea/SScrollArea.d.ts +18 -2
- package/dist/components/SSearchInput/README.md +7 -5
- package/dist/components/SSearchInput/SSearchInput.d.ts +12 -6
- package/dist/components/SSectionHeaderCard/README.md +6 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +19 -0
- package/dist/components/SSectionNav/README.md +32 -0
- package/dist/components/SSectionNav/SSectionNav.d.ts +40 -0
- package/dist/components/SSectionNav/index.d.ts +1 -0
- package/dist/components/SSectionNav/section-nav-scroll.d.ts +27 -0
- package/dist/components/SSelect/README.md +73 -16
- package/dist/components/SSelect/SSelect.d.ts +163 -21
- package/dist/components/SSelect/index.d.ts +1 -1
- package/dist/components/SSelect/select.config.d.ts +65 -6
- package/dist/components/SSkeleton/README.md +67 -0
- package/dist/components/SSkeleton/SSkeleton.d.ts +43 -0
- package/dist/components/SSkeleton/index.d.ts +2 -0
- package/dist/components/SSkeleton/skeleton.config.d.ts +24 -0
- package/dist/components/SSlider/README.md +86 -0
- package/dist/components/SSlider/SSlider.d.ts +149 -0
- package/dist/components/SSlider/index.d.ts +1 -0
- package/dist/components/SSplitter/README.md +2 -2
- package/dist/components/SSplitter/SSplitter.d.ts +7 -3
- package/dist/components/SStepper/README.md +1 -1
- package/dist/components/SStepper/SStepper.d.ts +3 -3
- package/dist/components/SStepper/stepper.config.d.ts +9 -3
- package/dist/components/SSwitch/README.md +14 -2
- package/dist/components/SSwitch/SSwitch.d.ts +3 -5
- package/dist/components/SSystemActionButton/README.md +253 -0
- package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +198 -0
- package/dist/components/SSystemActionButton/index.d.ts +2 -0
- package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +95 -0
- package/dist/components/STable/README.md +122 -88
- package/dist/components/STable/STable.d.ts +383 -52
- package/dist/components/STable/index.d.ts +1 -1
- package/dist/components/STableBar/README.md +2 -1
- package/dist/components/STableBar/STableBar.d.ts +9 -2
- package/dist/components/STabs/README.md +2 -2
- package/dist/components/STabs/STabs.d.ts +5 -6
- package/dist/components/STabs/tabs.config.d.ts +3 -8
- package/dist/components/STag/README.md +18 -0
- package/dist/components/STag/STag.d.ts +4 -3
- package/dist/components/STag/tag.config.d.ts +11 -10
- package/dist/components/STextLink/README.md +7 -1
- package/dist/components/STextLink/STextLink.d.ts +6 -2
- package/dist/components/STextarea/README.md +13 -6
- package/dist/components/STextarea/STextarea.d.ts +51 -8
- package/dist/components/STimePicker/README.md +8 -5
- package/dist/components/STimePicker/STimePicker.d.ts +39 -13
- package/dist/components/STimePicker/TimeListbox.d.ts +21 -0
- package/dist/components/STimePicker/timepicker.config.d.ts +9 -3
- package/dist/components/STimeRangePicker/README.md +9 -6
- package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +43 -10
- package/dist/components/STimeRangePicker/time-range-picker.config.d.ts +2 -1
- package/dist/components/STimeline/README.md +41 -0
- package/dist/components/STimeline/STimeline.d.ts +28 -0
- package/dist/components/STimeline/index.d.ts +1 -0
- package/dist/components/SToast/README.md +5 -5
- package/dist/components/SToast/SToast.d.ts +5 -5
- package/dist/components/SToast/SToastContainer.d.ts +3 -3
- package/dist/components/SToggle/README.md +1 -1
- package/dist/components/SToggle/SToggle.d.ts +2 -2
- package/dist/components/SToggle/index.d.ts +1 -1
- package/dist/components/STooltip/README.md +7 -1
- package/dist/components/STooltip/STooltip.d.ts +2 -2
- package/dist/components/STree/README.md +7 -6
- package/dist/components/STree/STree.d.ts +18 -8
- package/dist/components/STree/STree.examples.d.ts +2 -0
- package/dist/components/STreeTable/README.md +49 -0
- package/dist/components/STreeTable/STreeTable.d.ts +70 -0
- package/dist/components/STreeTable/STreeTable.examples.d.ts +39 -0
- package/dist/components/STreeTable/index.d.ts +1 -0
- package/dist/docs/Gallery.d.ts +9 -0
- package/dist/docs/RecipeGallery.d.ts +13 -0
- package/dist/docs/gallery-previews.d.ts +24 -0
- package/dist/fonts/LICENSE.txt +94 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.0.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.1.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.10.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.11.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.12.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.13.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.14.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.15.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.16.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.17.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.18.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.19.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.2.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.20.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.21.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.22.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.23.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.24.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.25.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.26.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.27.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.28.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.29.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.3.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.30.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.31.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.32.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.33.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.34.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.35.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.36.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.37.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.38.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.39.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.4.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.40.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.41.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.42.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.43.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.44.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.45.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.46.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.47.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.48.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.49.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.5.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.50.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.51.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.52.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.53.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.54.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.55.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.56.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.57.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.58.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.59.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.6.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.60.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.61.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.62.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.63.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.64.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.65.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.66.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.67.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.68.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.69.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.7.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.70.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.71.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.72.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.73.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.74.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.75.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.76.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.77.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.78.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.79.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.8.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.80.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.81.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.82.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.83.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.84.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.85.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.86.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.87.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.88.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.89.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.9.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.90.woff2 +0 -0
- package/dist/fonts/woff2-dynamic-subset/PretendardVariable.subset.91.woff2 +0 -0
- package/dist/index.cjs +26161 -11501
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +28 -0
- package/dist/index.js +26064 -11500
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.d.ts +3 -5
- package/dist/lib/chart/cartesian.d.ts +54 -0
- package/dist/lib/chart/category-labels.d.ts +37 -0
- package/dist/lib/chart/frame.d.ts +21 -0
- package/dist/lib/chart/hover-dim.d.ts +19 -0
- package/dist/lib/chart/legend.d.ts +21 -0
- package/dist/lib/chart/palette.d.ts +28 -0
- package/dist/lib/chart/radial.d.ts +99 -0
- package/dist/lib/chart/scale.d.ts +26 -0
- package/dist/lib/chart/tooltip.d.ts +60 -0
- package/dist/lib/chart/types.d.ts +29 -0
- package/dist/lib/chart/use-element-size.d.ts +42 -0
- package/dist/lib/color.d.ts +1 -1
- package/dist/lib/date.d.ts +16 -2
- package/dist/lib/depth-filter.d.ts +27 -0
- package/dist/lib/doc-sections.d.ts +35 -0
- package/dist/lib/dropdown-menu.d.ts +19 -0
- package/dist/lib/field-width.d.ts +31 -0
- package/dist/lib/floating-anim.d.ts +2 -2
- package/dist/lib/floating-height.d.ts +15 -0
- package/dist/lib/floating-width.d.ts +1 -2
- package/dist/lib/form.d.ts +6 -3
- package/dist/lib/global-overlay.d.ts +5 -0
- package/dist/lib/grid-key-nav.d.ts +10 -0
- package/dist/lib/hover-preview.d.ts +32 -0
- package/dist/lib/inert.d.ts +11 -0
- package/dist/lib/list-box-item.d.ts +16 -0
- package/dist/lib/locale-context.d.ts +26 -0
- package/dist/lib/locale.d.ts +320 -0
- package/dist/lib/mode-listbox.d.ts +10 -0
- package/dist/lib/overlay-scrollbar.d.ts +32 -0
- package/dist/lib/row-metrics.d.ts +61 -0
- package/dist/lib/row-motion.d.ts +56 -0
- package/dist/lib/scrollbar.d.ts +1 -2
- package/dist/lib/story-docs.d.ts +35 -0
- package/dist/lib/tree-row.d.ts +103 -0
- package/dist/llms-full.txt +7542 -810
- package/dist/llms.txt +4280 -333
- package/dist/playground/categories.d.ts +19 -0
- package/dist/pretendard.css +937 -0
- package/dist/recipes/AppShell.d.ts +21 -0
- package/dist/recipes/CategoryManagePage.d.ts +1 -0
- package/dist/recipes/ConsultConsolePage.d.ts +1 -0
- package/dist/recipes/ExcelFilePopupPage.d.ts +5 -0
- package/dist/recipes/LoginPage.d.ts +6 -0
- package/dist/recipes/ProductBulkUploadPage.d.ts +1 -0
- package/dist/recipes/ProductCreatePage.d.ts +1 -0
- package/dist/recipes/ProductCreateSectionsPage.d.ts +5 -0
- package/dist/recipes/ProductDetailInlineEditPage.d.ts +9 -0
- package/dist/recipes/ProductDetailPage.d.ts +1 -0
- package/dist/recipes/ProductListChipFilterPage.d.ts +1 -0
- package/dist/recipes/ProductListPage.d.ts +1 -0
- package/dist/recipes/ProductOverlayPage.d.ts +1 -0
- package/dist/recipes/SalesDashboardPage.d.ts +1 -0
- package/dist/recipes/SettingsPage.d.ts +1 -0
- package/dist/recipes/StoreSetupPage.d.ts +1 -0
- package/dist/recipes/TransferOrderPopupPage.d.ts +2 -0
- package/dist/recipes/api.d.ts +220 -0
- package/dist/recipes/recipe-story.d.ts +33 -0
- package/dist/recipes/router.d.ts +9 -0
- package/dist/styles.css +4185 -352
- package/dist/theme.css +796 -58
- package/eslint/index.mjs +44 -35
- package/eslint/lib/class-names.mjs +23 -25
- package/eslint/lib/table-column.mjs +34 -8
- package/eslint/rules/component-group-gap.mjs +32 -30
- package/eslint/rules/divider-vertical-height.mjs +137 -0
- package/eslint/rules/field-width-grade.mjs +69 -52
- package/eslint/rules/no-arbitrary-class.mjs +63 -20
- package/eslint/rules/no-off-scale-spacing.mjs +61 -41
- package/eslint/rules/no-raw-html-control.mjs +38 -36
- package/eslint/rules/prefer-typo-preset.mjs +23 -17
- package/eslint/rules/require-locale-number.mjs +14 -19
- package/eslint/rules/table-column-width.mjs +114 -0
- package/eslint/rules/table-numeric-align.mjs +14 -14
- package/eslint/scale.gen.mjs +6 -3
- package/package.json +31 -6
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Radix Floating Content 를 창 높이 안에 가두기 위한 헬퍼 — floating-width.ts 의 높이 버전.
|
|
3
|
+
*
|
|
4
|
+
* Radix 는 충돌이 나면 위치만 밀 뿐(shift) 높이는 줄이지 않는다 — 콘텐츠가 창보다 높으면
|
|
5
|
+
* 밀려난 자리에서 그대로 화면 밖으로 삐져나간다. 실제로 줄이려면 size 미들웨어가 계산해
|
|
6
|
+
* 두는 available-height 를 상한으로 직접 걸어야 한다.
|
|
7
|
+
*/
|
|
8
|
+
/** Radix Popover 계열(SPortal·SSelect·SChipInput·SPopover·STooltip 등)이 노출하는 가용 높이. */
|
|
9
|
+
export declare const POPOVER_AVAILABLE_HEIGHT = "var(--radix-popover-content-available-height)";
|
|
10
|
+
/** Radix DropdownMenu 계열(SDropdownButton)이 노출하는 가용 높이. */
|
|
11
|
+
export declare const DROPDOWN_AVAILABLE_HEIGHT = "var(--radix-dropdown-menu-content-available-height)";
|
|
12
|
+
/**
|
|
13
|
+
* 높이 제약을 가용 높이 안으로 가둔다. 값이 없으면 가용 높이 자체가 상한이 된다.
|
|
14
|
+
*/
|
|
15
|
+
export declare function clampToAvailableHeight(value: string | number | undefined, availableHeight: string): string;
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* 두는 available-width 를 상한으로 직접 걸어야 한다.
|
|
7
7
|
*
|
|
8
8
|
* available-width 는 shift 가 켜진 축에서 `창 폭 - collisionPadding*2` 로 잡히므로,
|
|
9
|
-
* 팝업이 어디로 밀렸든 값이 흔들리지
|
|
10
|
-
* 로 계산하던 것과 같은 값).
|
|
9
|
+
* 팝업이 어디로 밀렸든 값이 흔들리지 않는다.
|
|
11
10
|
*/
|
|
12
11
|
/** Radix Popover 계열(SPortal·SSelect·SChipInput·SPopover·STooltip 등)이 노출하는 가용 폭. */
|
|
13
12
|
export declare const POPOVER_AVAILABLE_WIDTH = "var(--radix-popover-content-available-width)";
|
package/dist/lib/form.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
/** 유효성 규칙: 유효하면 true, 아니면 에러 메시지 문자열 반환
|
|
1
|
+
/** 유효성 규칙: 유효하면 true, 아니면 에러 메시지 문자열 반환 */
|
|
2
2
|
export type Rule = (value: unknown) => true | string;
|
|
3
|
-
/** rules를 순서대로 실행해 첫 실패 메시지를 반환. 모두 통과하면 ""
|
|
4
|
-
|
|
3
|
+
/** rules를 순서대로 실행해 첫 실패 메시지를 반환. 모두 통과하면 "".
|
|
4
|
+
* rule 이 문구 없이 `false` 를 돌려줄 때는 `invalidMessage` 를 쓴다 — 컴포넌트는 로케일을 아는 `useRunRules` 로 부른다 */
|
|
5
|
+
export declare function runRules(value: unknown, rules?: Rule[], invalidMessage?: string): string;
|
|
6
|
+
/** `runRules` 에 현재 로케일의 기본 오류 문구를 묶어 돌려주는 훅 — 로케일이 바뀔 때만 함수가 바뀐다 */
|
|
7
|
+
export declare function useRunRules(): (value: unknown, rules?: Rule[]) => string;
|
|
5
8
|
/** SForm에 등록되는 필드 항목 */
|
|
6
9
|
export interface FormFieldEntry {
|
|
7
10
|
/** 폼 연동용 name (validationError names·focus 대상 식별) */
|
|
@@ -13,5 +13,10 @@ export declare const globalOverlayProps: {
|
|
|
13
13
|
/**
|
|
14
14
|
* Radix 의 outside 이벤트(pointerDownOutside/focusOutside/interactOutside)가
|
|
15
15
|
* 전역 레이어에서 비롯됐는지 판별한다. Radix 는 원본 이벤트를 `detail.originalEvent` 에 담는다.
|
|
16
|
+
*
|
|
17
|
+
* 요소인지는 `instanceof` 가 아니라 `nodeType` 으로 본다. `instanceof` 는 그 realm 의 전역
|
|
18
|
+
* 생성자와 견주는 것이라 두 곳에서 어긋난다 — `Element` 가 전역에 없는 환경(테스트 DOM)에서는
|
|
19
|
+
* 그대로 터지고, iframe 처럼 realm 이 다른 문서에서 온 요소는 거짓이 되어 가드가 조용히
|
|
20
|
+
* 빗나간다. `nodeType` 은 어느 realm 의 노드에도 같은 값으로 있다.
|
|
16
21
|
*/
|
|
17
22
|
export declare function isFromGlobalOverlay(event: Event): boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { KeyboardEvent } from 'react';
|
|
2
|
+
/** 수직 이동 대상 열을 표시하는 속성. 입력이 아니라 입력을 담은 셀(`<td>` 등)에 단다. */
|
|
3
|
+
export declare const GRID_NAV_ATTR = "data-grid-nav";
|
|
4
|
+
/**
|
|
5
|
+
* Enter / Shift+Enter 를 같은 열의 아래/위 행 입력으로의 포커스 이동으로 바꾼다.
|
|
6
|
+
* 이동을 켠 열(`data-grid-nav` 가 달린 셀)의 `<input>` 에서만 동작하고, 그 외 필드의
|
|
7
|
+
* Enter(폼 제출·textarea 줄바꿈·열린 드롭다운 선택)는 건드리지 않는다.
|
|
8
|
+
* 화면에 그려진 행 사이만 이동하고, 더 갈 곳이 없으면 이동 없이 Enter 만 막는다.
|
|
9
|
+
*/
|
|
10
|
+
export declare function handleGridKeyNav(e: KeyboardEvent<HTMLElement>): void;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 호버 미리보기(`SImage previewOnHover`)가 뜨는 자리를 계산한다.
|
|
3
|
+
*
|
|
4
|
+
* **시작점은 썸네일의 한가운데**다 — 미리보기의 좌상단 모서리가 썸네일 중앙에 놓인다.
|
|
5
|
+
* 그래서 미리보기는 늘 오른쪽 아래로 펼쳐지고, 원래 보던 썸네일을 가리지 않는다.
|
|
6
|
+
*
|
|
7
|
+
* 창 오른쪽·아래로 넘치면 **넘친 만큼만 왼쪽·위로 되민다**. 반대편으로 뒤집지 않는다 —
|
|
8
|
+
* 뒤집으면 커서와 미리보기의 관계가 순간 바뀌어 어느 썸네일의 미리보기인지 읽기 어렵다.
|
|
9
|
+
* (Radix 의 `avoidCollisions` 는 shift 와 flip 을 함께 켜므로 쓰지 않고, 이 계산으로 대신한다.)
|
|
10
|
+
*/
|
|
11
|
+
/** 위치 계산에 필요한 만큼만 추린 사각형 — DOMRect 을 그대로 받을 수 있다 */
|
|
12
|
+
export interface HoverPreviewAnchorRect {
|
|
13
|
+
left: number;
|
|
14
|
+
top: number;
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
}
|
|
18
|
+
export interface HoverPreviewOriginInput {
|
|
19
|
+
/** 썸네일의 viewport 기준 사각형 */
|
|
20
|
+
anchor: HoverPreviewAnchorRect;
|
|
21
|
+
/** 미리보기 상자의 한 변(px). 정사각형이다 */
|
|
22
|
+
size: number;
|
|
23
|
+
viewportWidth: number;
|
|
24
|
+
viewportHeight: number;
|
|
25
|
+
/** 창 가장자리와 띄울 최소 간격 */
|
|
26
|
+
padding?: number;
|
|
27
|
+
}
|
|
28
|
+
/** 미리보기 상자의 좌상단 좌표 (viewport 기준) */
|
|
29
|
+
export declare function hoverPreviewOrigin({ anchor, size, viewportWidth, viewportHeight, padding, }: HoverPreviewOriginInput): {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 접힌 영역을 tab 순서에서 빼는 ref.
|
|
3
|
+
*
|
|
4
|
+
* 접기·펴기를 `grid-template-rows` 로 애니메이션하는 영역은 접힌 뒤에도 DOM 에 남는다.
|
|
5
|
+
* `aria-hidden` 은 스크린리더에서만 지우므로, 그것만으로는 Tab 이 보이지 않는 체크박스·버튼에
|
|
6
|
+
* 계속 멈춘다. `inert` 는 그 안쪽 전체를 포커스·포인터 대상에서 빼며 자손까지 함께 적용된다.
|
|
7
|
+
*
|
|
8
|
+
* JSX 의 `inert` prop 은 React 19 부터라, peer 가 `>=18` 인 이 패키지에서는 DOM 속성으로 직접
|
|
9
|
+
* 넣는다. 브라우저는 속성이 붙어 있는지만 보므로 값은 상관없다.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useInertRef<T extends HTMLElement>(inert: boolean): import("react").RefObject<T | null>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 드롭다운 목록 행(SSelect · SChipFilter · SChipInput 의 리스트박스 항목)이 함께 쓰는 여백.
|
|
3
|
+
* 스펙(`--cmp-listBoxItem-*`)이 하나라 한곳에 둔다. 행 모양 자체는 아직 컴포넌트마다 따로 그린다.
|
|
4
|
+
*/
|
|
5
|
+
/** 항목 좌측 패딩 — depth1(그룹 헤더·비계층 항목) / depth2 / depth3 */
|
|
6
|
+
export declare const LIST_BOX_ITEM_PADDING_LEFT: {
|
|
7
|
+
readonly 1: "var(--cmp-listBoxItem-paddingLeft-depth1)";
|
|
8
|
+
readonly 2: "var(--cmp-listBoxItem-paddingLeft-depth2)";
|
|
9
|
+
readonly 3: "var(--cmp-listBoxItem-paddingLeft-depth3)";
|
|
10
|
+
};
|
|
11
|
+
/** 항목 상하·우측 패딩 — 모든 depth 에서 같다 */
|
|
12
|
+
export declare const LIST_BOX_ITEM_PADDING_Y_RIGHT: {
|
|
13
|
+
readonly paddingTop: "var(--cmp-listBoxItem-paddingY)";
|
|
14
|
+
readonly paddingBottom: "var(--cmp-listBoxItem-paddingY)";
|
|
15
|
+
readonly paddingRight: "var(--cmp-listBoxItem-paddingRight)";
|
|
16
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type SLocale, type SLocaleMessages, type SLocaleMessagesOverride } from './locale';
|
|
3
|
+
interface LocaleValue {
|
|
4
|
+
locale: SLocale;
|
|
5
|
+
messages: SLocaleMessages;
|
|
6
|
+
/** 로케일에 맞춘 숫자 포맷(천 단위 구분). 날짜 형식은 고정이라 여기서 다루지 않는다 */
|
|
7
|
+
formatNumber: (value: number) => string;
|
|
8
|
+
}
|
|
9
|
+
export interface SLocaleProviderProps {
|
|
10
|
+
/** `ko` | `en` | `ja` | `zh` (`en-US` 처럼 지역이 붙어도 된다). 모르는 값이면 `ko` 로 폴백한다 */
|
|
11
|
+
locale?: string;
|
|
12
|
+
/**
|
|
13
|
+
* 일부 문구만 덮어쓸 때. 그룹 단위로 얕게 병합되고, 값이 `undefined` 인 키는 무시한다.
|
|
14
|
+
* 렌더마다 새 객체를 만들면 하위 컴포넌트가 매번 다시 그려지므로 모듈 상수나 `useMemo` 로 안정시킨다.
|
|
15
|
+
*/
|
|
16
|
+
messages?: SLocaleMessagesOverride;
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* SLocaleProvider — 컴포넌트 내장 문구의 로케일을 정한다. 앱 루트에 한 번 둔다.
|
|
21
|
+
* `SModalOutlet` 은 이 Provider 안쪽에 렌더해야 명령형 모달도 같은 로케일을 상속한다.
|
|
22
|
+
*/
|
|
23
|
+
export declare function SLocaleProvider({ locale, messages, children }: SLocaleProviderProps): import("react").JSX.Element;
|
|
24
|
+
/** 현재 로케일·메시지·숫자 포맷터를 반환한다. Provider 밖이면 `ko` 기본값이다 */
|
|
25
|
+
export declare function useLocale(): LocaleValue;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 컴포넌트 내장 문구(i18n)의 메시지 타입·번들·해석 로직.
|
|
3
|
+
*
|
|
4
|
+
* 외부 i18n 라이브러리 없이 타입 안전한 객체로 둔다. 어순·조사가 얽힌 문구는 문자열이
|
|
5
|
+
* 아니라 함수로 정의한다(예: `(n) => '외 ' + n + '개'`). React 에 의존하지 않는 순수 모듈이라
|
|
6
|
+
* Node 에서 그대로 테스트한다.
|
|
7
|
+
*
|
|
8
|
+
* 날짜 형식(YYYY-MM-DD)은 로케일과 무관하게 고정이고, 숫자 구분만 로케일을 따른다.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SLOCALES: readonly ["ko", "en", "ja", "zh"];
|
|
11
|
+
export type SLocale = (typeof SLOCALES)[number];
|
|
12
|
+
/** 기본 로케일 — Provider 가 없거나 모르는 로케일이면 이 값으로 폴백한다 */
|
|
13
|
+
export declare const DEFAULT_LOCALE: SLocale;
|
|
14
|
+
/** 받침 유무에 따라 "을/를" 등 조사를 고른다. 한글이 아니면(영문 등) consonant 형을 기본으로 쓴다 */
|
|
15
|
+
export declare const koreanParticle: (word: string, consonant: string, vowel: string) => string;
|
|
16
|
+
export interface SLocaleMessages {
|
|
17
|
+
/** 여러 컴포넌트가 함께 쓰는 짧은 문구(버튼 라벨·aria-label) */
|
|
18
|
+
common: {
|
|
19
|
+
close: string;
|
|
20
|
+
clear: string;
|
|
21
|
+
confirm: string;
|
|
22
|
+
all: string;
|
|
23
|
+
back: string;
|
|
24
|
+
more: string;
|
|
25
|
+
moreActions: string;
|
|
26
|
+
openMenu: string;
|
|
27
|
+
dragHandle: string;
|
|
28
|
+
resizeDrawer: string;
|
|
29
|
+
search: string;
|
|
30
|
+
/** 개수 뒤에 붙는 단위 — `3개` */
|
|
31
|
+
count: (n: number) => string;
|
|
32
|
+
};
|
|
33
|
+
numberInput: {
|
|
34
|
+
/** 범위 안내 — 값은 천 단위 구분이 들어간 문자열로 온다 */
|
|
35
|
+
rangeBetween: (min: string, max: string) => string;
|
|
36
|
+
atLeast: (min: string) => string;
|
|
37
|
+
atMost: (max: string) => string;
|
|
38
|
+
increase: string;
|
|
39
|
+
decrease: string;
|
|
40
|
+
};
|
|
41
|
+
chipInput: {
|
|
42
|
+
/** 구분자에 콤마가 있을 때의 기본 안내 */
|
|
43
|
+
placeholderWithComma: string;
|
|
44
|
+
placeholder: string;
|
|
45
|
+
/** `duplicateLabel` 을 준 경우 — 어순이 언어마다 달라 함수로 둔다 */
|
|
46
|
+
duplicateNamed: (label: string) => string;
|
|
47
|
+
duplicate: string;
|
|
48
|
+
maxCount: (max: number) => string;
|
|
49
|
+
};
|
|
50
|
+
slider: {
|
|
51
|
+
minValue: string;
|
|
52
|
+
maxValue: string;
|
|
53
|
+
};
|
|
54
|
+
/** 채팅 컴포넌트(SChatInput·SChatMessage·SChatAttachedFile)의 문구 */
|
|
55
|
+
chat: {
|
|
56
|
+
removeAttachment: (name: string) => string;
|
|
57
|
+
placeholder: string;
|
|
58
|
+
attachFile: string;
|
|
59
|
+
stopResponse: string;
|
|
60
|
+
send: string;
|
|
61
|
+
read: string;
|
|
62
|
+
unread: string;
|
|
63
|
+
};
|
|
64
|
+
loadingModal: {
|
|
65
|
+
loadingMessage: string;
|
|
66
|
+
errorMessage: string;
|
|
67
|
+
errorButton: string;
|
|
68
|
+
ariaTitle: string;
|
|
69
|
+
};
|
|
70
|
+
stepper: {
|
|
71
|
+
errorTooltip: string;
|
|
72
|
+
ariaLabel: string;
|
|
73
|
+
};
|
|
74
|
+
timeline: {
|
|
75
|
+
empty: string;
|
|
76
|
+
};
|
|
77
|
+
callout: {
|
|
78
|
+
dangerTitle: string;
|
|
79
|
+
};
|
|
80
|
+
guide: {
|
|
81
|
+
tip: string;
|
|
82
|
+
notion: string;
|
|
83
|
+
};
|
|
84
|
+
loginCard: {
|
|
85
|
+
login: string;
|
|
86
|
+
};
|
|
87
|
+
modal: {
|
|
88
|
+
defaultTitle: string;
|
|
89
|
+
};
|
|
90
|
+
launcher: {
|
|
91
|
+
opensInNewTab: string;
|
|
92
|
+
};
|
|
93
|
+
chipFilter: {
|
|
94
|
+
periodDay: string;
|
|
95
|
+
periodMonth: string;
|
|
96
|
+
periodQuarter: string;
|
|
97
|
+
periodHalf: string;
|
|
98
|
+
periodYear: string;
|
|
99
|
+
custom: string;
|
|
100
|
+
today: string;
|
|
101
|
+
last7: string;
|
|
102
|
+
last30: string;
|
|
103
|
+
/** 프리셋 라벨에 이미 최대 일수를 적었는지 가리는 단어 — 있으면 `maxRangeHint` 를 또 덧붙이지 않는다 */
|
|
104
|
+
maxWord: string;
|
|
105
|
+
maxRangeHint: (days: number) => string;
|
|
106
|
+
requireAll: string;
|
|
107
|
+
requireAnyDefault: string;
|
|
108
|
+
/** 조사(을/를)가 얽혀 함수로 둔다 */
|
|
109
|
+
requireAnyNamed: (name: string) => string;
|
|
110
|
+
requireField: (label: string) => string;
|
|
111
|
+
fieldFallback: string;
|
|
112
|
+
/** 값이 여럿일 때 첫 값 뒤에 붙는 요약 — `rest` 는 첫 값을 뺀 나머지 개수 */
|
|
113
|
+
valueListMore: (first: string, rest: number) => string;
|
|
114
|
+
quarter: (n: number) => string;
|
|
115
|
+
firstHalf: string;
|
|
116
|
+
secondHalf: string;
|
|
117
|
+
removeFilter: (label: string) => string;
|
|
118
|
+
clearFilter: (label: string) => string;
|
|
119
|
+
resetSearch: string;
|
|
120
|
+
addFilter: string;
|
|
121
|
+
noAddableFilter: string;
|
|
122
|
+
selectNone: string;
|
|
123
|
+
selectAll: string;
|
|
124
|
+
removeItem: (label: string) => string;
|
|
125
|
+
keywordContains: string;
|
|
126
|
+
keywordExact: string;
|
|
127
|
+
keywordExcludes: string;
|
|
128
|
+
keywordHintCsv: string;
|
|
129
|
+
keywordHintEnter: string;
|
|
130
|
+
/** 키워드 검색조건 라디오 앞 라벨 */
|
|
131
|
+
keywordCondition: string;
|
|
132
|
+
noSearchResults: string;
|
|
133
|
+
};
|
|
134
|
+
chart: {
|
|
135
|
+
unit: (unit: string) => string;
|
|
136
|
+
pie: string;
|
|
137
|
+
donut: string;
|
|
138
|
+
/** 원형 계열 그래프의 aria-label — `kind` 는 `pie`·`donut` 문구가 온다 */
|
|
139
|
+
radialSummary: (count: number, kind: string) => string;
|
|
140
|
+
barSummary: (categories: number, series: number, stacked: boolean) => string;
|
|
141
|
+
lineSummary: (categories: number, series: number, stacked: boolean) => string;
|
|
142
|
+
};
|
|
143
|
+
/** 날짜·시간 컴포넌트의 라벨. 날짜 값의 형식(YYYY-MM-DD)은 로케일과 무관하게 고정이다 */
|
|
144
|
+
date: {
|
|
145
|
+
/** 일요일부터 시작하는 짧은 요일 */
|
|
146
|
+
weekdays: readonly string[];
|
|
147
|
+
/** 일요일부터 시작하는 긴 요일 — `withWeekday` 가 날짜 뒤에 붙인다 */
|
|
148
|
+
weekdaysLong: readonly string[];
|
|
149
|
+
today: string;
|
|
150
|
+
prevYear: string;
|
|
151
|
+
nextYear: string;
|
|
152
|
+
prevMonth: string;
|
|
153
|
+
nextMonth: string;
|
|
154
|
+
monthLabel: (month: number) => string;
|
|
155
|
+
dayLabel: (day: number) => string;
|
|
156
|
+
/** 날짜 입력 칸 뒤에 붙는 단위. 영어는 YYYY-MM-DD 모양을 따라 구분 기호를 쓴다 */
|
|
157
|
+
unitYear: string;
|
|
158
|
+
unitMonth: string;
|
|
159
|
+
unitDay: string;
|
|
160
|
+
hourItem: (hour: string) => string;
|
|
161
|
+
minuteItem: (minute: string) => string;
|
|
162
|
+
/** 시·분·오전/오후 목록의 접근성 이름 — `prefix` 는 "시작" 같은 앞말이고 없으면 빈 문자열이다 */
|
|
163
|
+
hourAria: (prefix: string) => string;
|
|
164
|
+
minuteAria: (prefix: string) => string;
|
|
165
|
+
meridiemAria: (prefix: string) => string;
|
|
166
|
+
am: string;
|
|
167
|
+
pm: string;
|
|
168
|
+
rangeFrom: string;
|
|
169
|
+
rangeTo: string;
|
|
170
|
+
clearDate: string;
|
|
171
|
+
clearMonth: string;
|
|
172
|
+
clearYear: string;
|
|
173
|
+
clearPeriod: string;
|
|
174
|
+
clearTime: string;
|
|
175
|
+
clearTimeRange: string;
|
|
176
|
+
start: string;
|
|
177
|
+
end: string;
|
|
178
|
+
startTime: string;
|
|
179
|
+
endTime: string;
|
|
180
|
+
};
|
|
181
|
+
form: {
|
|
182
|
+
invalid: string;
|
|
183
|
+
};
|
|
184
|
+
accountListBox: {
|
|
185
|
+
accountSetting: string;
|
|
186
|
+
language: string;
|
|
187
|
+
logout: string;
|
|
188
|
+
};
|
|
189
|
+
gnbSystem: {
|
|
190
|
+
alert: string;
|
|
191
|
+
setting: string;
|
|
192
|
+
};
|
|
193
|
+
/** SEditor 툴바·본문의 문구 */
|
|
194
|
+
editor: {
|
|
195
|
+
placeholder: string;
|
|
196
|
+
toolbarLabel: string;
|
|
197
|
+
tableSize: string;
|
|
198
|
+
linkUrl: string;
|
|
199
|
+
apply: string;
|
|
200
|
+
remove: string;
|
|
201
|
+
headingLevel: string;
|
|
202
|
+
headingBody: string;
|
|
203
|
+
fontSize: string;
|
|
204
|
+
fontSizeDefaultLabel: string;
|
|
205
|
+
bold: string;
|
|
206
|
+
italic: string;
|
|
207
|
+
underline: string;
|
|
208
|
+
strike: string;
|
|
209
|
+
inlineCode: string;
|
|
210
|
+
textColor: string;
|
|
211
|
+
clearColor: string;
|
|
212
|
+
alignLeft: string;
|
|
213
|
+
alignCenter: string;
|
|
214
|
+
alignRight: string;
|
|
215
|
+
alignJustify: string;
|
|
216
|
+
bulletList: string;
|
|
217
|
+
orderedList: string;
|
|
218
|
+
taskList: string;
|
|
219
|
+
list: string;
|
|
220
|
+
blockquote: string;
|
|
221
|
+
codeBlock: string;
|
|
222
|
+
divider: string;
|
|
223
|
+
link: string;
|
|
224
|
+
insertImage: string;
|
|
225
|
+
image: string;
|
|
226
|
+
table: string;
|
|
227
|
+
addRowAbove: string;
|
|
228
|
+
addRowBelow: string;
|
|
229
|
+
addColLeft: string;
|
|
230
|
+
addColRight: string;
|
|
231
|
+
mergeCells: string;
|
|
232
|
+
splitCell: string;
|
|
233
|
+
toggleHeaderRow: string;
|
|
234
|
+
toggleHeaderCol: string;
|
|
235
|
+
deleteRow: string;
|
|
236
|
+
deleteCol: string;
|
|
237
|
+
deleteTable: string;
|
|
238
|
+
undo: string;
|
|
239
|
+
redo: string;
|
|
240
|
+
colorDefault: string;
|
|
241
|
+
colorSecondary: string;
|
|
242
|
+
colorMuted: string;
|
|
243
|
+
colorAccent: string;
|
|
244
|
+
colorBrand: string;
|
|
245
|
+
colorSuccess: string;
|
|
246
|
+
colorWarning: string;
|
|
247
|
+
colorDanger: string;
|
|
248
|
+
tableCell: (r: number, c: number) => string;
|
|
249
|
+
tableSizeText: (rows: number, cols: number) => string;
|
|
250
|
+
heading: (level: number) => string;
|
|
251
|
+
fontSizeDefault: (px: number) => string;
|
|
252
|
+
closeEditing: (label: string) => string;
|
|
253
|
+
};
|
|
254
|
+
/** 입력 컴포넌트(SInput·STextarea·SSearchInput·SBarcodeInput·SChipInput)의 기본 문구 */
|
|
255
|
+
input: {
|
|
256
|
+
placeholder: string;
|
|
257
|
+
searchWithinResults: string;
|
|
258
|
+
clearInput: string;
|
|
259
|
+
showPassword: string;
|
|
260
|
+
};
|
|
261
|
+
pagination: {
|
|
262
|
+
firstPage: string;
|
|
263
|
+
prevPage: string;
|
|
264
|
+
nextPage: string;
|
|
265
|
+
lastPage: string;
|
|
266
|
+
prevGroup: string;
|
|
267
|
+
nextGroup: string;
|
|
268
|
+
};
|
|
269
|
+
select: {
|
|
270
|
+
placeholder: string;
|
|
271
|
+
allSelected: string;
|
|
272
|
+
/** 선택값 전체 지우기 버튼 aria-label */
|
|
273
|
+
clear: string;
|
|
274
|
+
/** 칩 × 버튼 aria-label — 어순이 언어마다 달라 함수로 둔다 */
|
|
275
|
+
deselect: (label: string) => string;
|
|
276
|
+
searchPlaceholder: string;
|
|
277
|
+
empty: string;
|
|
278
|
+
loading: string;
|
|
279
|
+
};
|
|
280
|
+
table: {
|
|
281
|
+
/** 헤더 전체 선택 체크박스 aria-label */
|
|
282
|
+
selectAll: string;
|
|
283
|
+
/** 행 선택 체크박스 aria-label 기본값 — `rowSelectLabel` 이 우선한다 */
|
|
284
|
+
selectRow: string;
|
|
285
|
+
empty: string;
|
|
286
|
+
/** 페이지당 행 수 기본 옵션 라벨 */
|
|
287
|
+
rowsPerPage: (count: number) => string;
|
|
288
|
+
editable: string;
|
|
289
|
+
opensInNewScreen: string;
|
|
290
|
+
/** 정렬 버튼 aria-label — 어순이 언어마다 달라 함수로 둔다 */
|
|
291
|
+
sortBy: (label: string) => string;
|
|
292
|
+
/** 좁게 보고 있을 때 누르면 넓어지는 토글 라벨 */
|
|
293
|
+
denseOff: string;
|
|
294
|
+
/** 넓게 보고 있을 때 누르면 좁아지는 토글 라벨 */
|
|
295
|
+
denseOn: string;
|
|
296
|
+
};
|
|
297
|
+
/**
|
|
298
|
+
* 건수 요약은 숫자만 강조색 `<b>` 로 감싸므로 숫자 앞뒤 문구를 나눠 둔다
|
|
299
|
+
* (`before` + 숫자 + `after`). 어순이 달라도 숫자 위치만 정하면 된다.
|
|
300
|
+
* 숫자와 문구 사이 공백도 문구 값에 들어 있다 — override 할 때 공백까지 함께 적는다.
|
|
301
|
+
*/
|
|
302
|
+
tableBar: {
|
|
303
|
+
totalBefore: string;
|
|
304
|
+
totalAfter: string;
|
|
305
|
+
selectedBefore: string;
|
|
306
|
+
selectedAfter: string;
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
/** 소비 앱이 일부 문구만 덮어쓸 때 쓰는 부분 메시지 */
|
|
310
|
+
export type SLocaleMessagesOverride = {
|
|
311
|
+
[K in keyof SLocaleMessages]?: Partial<SLocaleMessages[K]>;
|
|
312
|
+
};
|
|
313
|
+
/**
|
|
314
|
+
* 로케일 문자열을 지원 로케일로 정규화한다. `en-US`·`ja_JP` 처럼 지역이 붙어도 언어 코드로 맞추고,
|
|
315
|
+
* 모르는 값이거나 비어 있으면 기본 로케일(ko)로 폴백한다 — 예외로 화면을 깨지 않는다.
|
|
316
|
+
* `zh` 는 간체 문구라 `zh-TW`·`zh-HK` 도 같은 번들로 연결된다(번체 번들은 아직 없다 — 필요하면 `messages` 로 덮어쓴다).
|
|
317
|
+
*/
|
|
318
|
+
export declare function normalizeLocale(locale: string | undefined | null): SLocale;
|
|
319
|
+
/** 이미 정규화된 로케일의 번들 위에 소비 앱의 부분 override 를 그룹 단위로 얹어 최종 메시지를 만든다 */
|
|
320
|
+
export declare function resolveMessages(locale: string | undefined | null, override?: SLocaleMessagesOverride): SLocaleMessages;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 연·월·시간을 세로 리스트에서 고르는 피커 조각(SDatePicker 의 연·월 리스트, STimePicker 의 시간
|
|
3
|
+
* 리스트)이 함께 쓰는 치수와 항목 클래스. 스펙(`--cmp-datepicker-mode-*`)이 하나라 한곳에 둔다.
|
|
4
|
+
*/
|
|
5
|
+
/** 리스트 높이(px) — 항목 높이와 함께 "선택 항목을 가운데로" 계산에 쓴다 */
|
|
6
|
+
export declare const MODE_LIST_HEIGHT = 240;
|
|
7
|
+
/** 항목 한 줄 높이(px) — paddingY(4) × 2 + line-height(20) */
|
|
8
|
+
export declare const MODE_ITEM_HEIGHT = 28;
|
|
9
|
+
/** 리스트 항목(button) 클래스 — 기본 / 선택 / 비활성 */
|
|
10
|
+
export declare const modeListItemClass: (selected: boolean, disabled: boolean) => string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 오버레이 스크롤바 — 스크롤 요소 **위에** 얹는 막대.
|
|
4
|
+
*
|
|
5
|
+
* 네이티브 스크롤바는 레이아웃 폭을 실제로 차지해서, 스크롤이 생기는 순간 안쪽 콘텐츠
|
|
6
|
+
* 폭이 그만큼 줄어든다. 표처럼 폭이 고정된 것이 들어 있으면 그 한 번의 흔들림이 그대로
|
|
7
|
+
* 보인다. 그래서 네이티브 막대를 숨기고(`SCROLLBAR_HIDDEN_CLASS`) 같은 자리에 그림만
|
|
8
|
+
* 얹는다 — 자리를 차지하지 않으므로 콘텐츠 폭이 변하지 않는다.
|
|
9
|
+
*
|
|
10
|
+
* **부모가 `relative` 여야 한다.** 막대는 그 상자를 기준으로 절대 배치된다.
|
|
11
|
+
*/
|
|
12
|
+
/** 막대가 도는 트랙의 폭(px). 세로·가로 막대가 만나는 모서리를 비우는 데도 쓴다. */
|
|
13
|
+
export declare const OVERLAY_SCROLLBAR_SIZE = 12;
|
|
14
|
+
export interface OverlayScrollbarsProps {
|
|
15
|
+
/** 실제로 스크롤하는 요소. 이 컴포넌트는 그 요소의 형제로 선다 */
|
|
16
|
+
scrollRef: RefObject<HTMLElement | null>;
|
|
17
|
+
/**
|
|
18
|
+
* 세로 막대를 그릴지. **스크롤이 실제로 걸린 축만 켠다** — `overflow-y: hidden` 인데
|
|
19
|
+
* 켜 두면 넘친 콘텐츠 때문에 못 움직이는 막대가 뜬다.
|
|
20
|
+
*/
|
|
21
|
+
vertical?: boolean;
|
|
22
|
+
/** 가로 막대를 그릴지. 위와 같다 */
|
|
23
|
+
horizontal?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* true면 **스크롤하는 동안에만** 막대를 보인다. 멎으면 페이드로 사라진다.
|
|
26
|
+
*
|
|
27
|
+
* 끄고 두면 막대가 늘 서서 "여기는 스크롤된다"를 알린다 — 그 신호를 포기하는 대신
|
|
28
|
+
* 화면이 조용해진다. 끌고 있는 동안에는 손에서 사라지면 안 되므로 시간을 재지 않는다.
|
|
29
|
+
*/
|
|
30
|
+
autoHide?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function OverlayScrollbars({ scrollRef, vertical: showVertical, horizontal: showHorizontal, autoHide, }: OverlayScrollbarsProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 가변 행 높이 가상 스크롤의 계산부 — DOM 을 모르는 순수 자료구조다.
|
|
3
|
+
* `SSelect`(드롭다운 목록)와 `STable`(본문 행)이 함께 쓴다.
|
|
4
|
+
*
|
|
5
|
+
* 아직 그려지지 않은 행은 추정치로 두고, 화면에 나온 행은 실측으로 덮는다. 그래서
|
|
6
|
+
* "모든 행이 같은 높이"라는 가정 없이도 스크롤 위치 ↔ 행 인덱스를 오갈 수 있다 —
|
|
7
|
+
* depth 그룹 헤더처럼 리프와 높이가 다른 행이 섞여도 어긋나지 않는다.
|
|
8
|
+
* (Quasar QVirtualScroll 의 `virtual-scroll-item-size` 가 "추정치일 뿐"인 것과 같은 모델)
|
|
9
|
+
*
|
|
10
|
+
* 수천 행에서 렌더마다 새 배열을 만들면 그 자체가 비용이라, 제자리에서 고친다.
|
|
11
|
+
* 소유자는 ref 하나로 들고 있고, 화면에 반영할 필요가 있을 때만 리렌더를 건다.
|
|
12
|
+
*/
|
|
13
|
+
export interface RowMetrics {
|
|
14
|
+
/** 행별 높이. 실측 전에는 `estimate` 가 들어 있다 */
|
|
15
|
+
sizes: number[];
|
|
16
|
+
/** 실측을 마친 행인지 — 추정치를 평균에 섞지 않으려고 구분한다 */
|
|
17
|
+
measured: boolean[];
|
|
18
|
+
/** `offsets[i]` = 0..i-1 행 높이의 합. 길이는 `sizes.length + 1` 이라 마지막이 전체 높이다 */
|
|
19
|
+
offsets: number[];
|
|
20
|
+
/** 아직 안 그려진 행에 쓸 높이. 실측이 쌓일수록 그 평균으로 수렴한다 */
|
|
21
|
+
estimate: number;
|
|
22
|
+
/** 추정치 갱신용 누적 — 평균을 매번 다시 훑지 않으려고 합과 개수를 들고 있는다 */
|
|
23
|
+
measuredCount: number;
|
|
24
|
+
measuredTotal: number;
|
|
25
|
+
/** 이 인덱스부터 `offsets` 가 낡았다. `Infinity` 면 최신 */
|
|
26
|
+
dirtyFrom: number;
|
|
27
|
+
}
|
|
28
|
+
export declare function createRowMetrics(count: number, estimate: number): RowMetrics;
|
|
29
|
+
/**
|
|
30
|
+
* 목록 길이가 바뀌었을 때 표를 맞춘다.
|
|
31
|
+
*
|
|
32
|
+
* 늘어난 만큼은 추정치로 채우고 **앞쪽 실측은 그대로 둔다** — 무한 로딩은 뒤에 이어붙이는
|
|
33
|
+
* 것이라, 여기서 표를 새로 만들면 이미 잰 높이를 버리고 스크롤이 튄다. 줄어들 때는 잘라낸다
|
|
34
|
+
* (검색으로 목록이 좁아지는 경우인데, 그때는 같은 인덱스가 다른 행이므로 실측도 함께 버린다).
|
|
35
|
+
*/
|
|
36
|
+
export declare function resizeRowMetrics(metrics: RowMetrics, count: number): void;
|
|
37
|
+
/** 목록이 통째로 다른 것으로 갈렸을 때 — 실측을 전부 버리고 추정치만 남긴다 */
|
|
38
|
+
export declare function resetRowMetrics(metrics: RowMetrics, count: number): void;
|
|
39
|
+
/**
|
|
40
|
+
* 실측 높이를 반영한다. 값이 실제로 달라졌으면 `true`.
|
|
41
|
+
*
|
|
42
|
+
* 추정치도 실측 평균으로 함께 끌어당긴다 — 한 번도 안 그려진 뒤쪽 수천 행의 높이가
|
|
43
|
+
* 그만큼 사실에 가까워져, 스크롤바 길이와 "끝까지 내렸을 때"의 위치가 맞는다.
|
|
44
|
+
* 다만 1px 미만의 흔들림으로 표 전체를 다시 세우지는 않는다.
|
|
45
|
+
*/
|
|
46
|
+
export declare function setRowSize(metrics: RowMetrics, index: number, size: number): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* 낡은 구간의 누적 오프셋을 다시 센다. 이미 최신이면 아무 일도 하지 않는다.
|
|
49
|
+
* 바뀐 지점 앞은 그대로 두고 거기서부터만 이어 세므로, 아래쪽 행을 재도 전체를 훑지 않는다.
|
|
50
|
+
*/
|
|
51
|
+
export declare function rebuildOffsets(metrics: RowMetrics): void;
|
|
52
|
+
/** 목록 전체 높이 */
|
|
53
|
+
export declare function totalSize(metrics: RowMetrics): number;
|
|
54
|
+
/** `index` 번 행의 위쪽 끝 y */
|
|
55
|
+
export declare function offsetOf(metrics: RowMetrics, index: number): number;
|
|
56
|
+
export declare function sizeOf(metrics: RowMetrics, index: number): number;
|
|
57
|
+
/**
|
|
58
|
+
* y 좌표에 놓인 행의 인덱스 (이진 탐색). 목록 끝을 넘으면 마지막 행을 준다.
|
|
59
|
+
* 수천 행에서 스크롤마다 훑으면 그게 곧 렉이라 선형 탐색을 쓰지 않는다.
|
|
60
|
+
*/
|
|
61
|
+
export declare function indexAtOffset(metrics: RowMetrics, y: number): number;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 표 행 펼침·접힘 모션 — `STreeTable` 의 하위 행과 `STable` 의 상세 영역(`renderExpansion`)이 같은
|
|
3
|
+
* 서랍 움직임을 쓴다. 하나를 바꾸면 두 표가 함께 바뀐다.
|
|
4
|
+
*
|
|
5
|
+
* 표 행(`<tr>`)은 높이를 0 부터 늘리고 줄일 수 없어서, 높이 대신 **보이는 위치**를 움직인다(FLIP).
|
|
6
|
+
* 행은 처음부터 제자리에 넣어 두고, 아래 행은 늘어난 높이만큼 위에서 출발해 제자리로 내려오며,
|
|
7
|
+
* 펼쳐지는 덩어리는 바로 위 행 아랫변 밑으로 나온 부분만 보이게 잘라 낸다. 접힘은 그 반대다.
|
|
8
|
+
* 행 높이는 그대로라 가상 스크롤의 실측도 흔들리지 않는다.
|
|
9
|
+
*/
|
|
10
|
+
/** 행 식별 값 */
|
|
11
|
+
export type RowMotionKey = string | number;
|
|
12
|
+
/**
|
|
13
|
+
* 펼침·접힘 모션. 접힘이 더 짧고 ease-in 인 것은 닫는 쪽이 빨리 비켜 줘야 다음 조작이 기다리지 않기 때문이다.
|
|
14
|
+
* 해당하는 토큰이 아직 없어 여기에 둔다.
|
|
15
|
+
*/
|
|
16
|
+
export declare const EXPAND_MOTION: {
|
|
17
|
+
readonly duration: 220;
|
|
18
|
+
readonly easing: "ease-out";
|
|
19
|
+
};
|
|
20
|
+
export declare const COLLAPSE_MOTION: {
|
|
21
|
+
readonly duration: 140;
|
|
22
|
+
readonly easing: "ease-in";
|
|
23
|
+
};
|
|
24
|
+
export declare function sameKeys(a: ReadonlySet<RowMotionKey>, b: ReadonlySet<RowMotionKey>): boolean;
|
|
25
|
+
/** 모션을 줄인 환경이거나 Web Animations 가 없는 환경(SSR·테스트용 DOM)에서는 움직이지 않고 바로 그린다 */
|
|
26
|
+
export declare function motionAllowed(): boolean;
|
|
27
|
+
/** 진행 중인 펼침·접힘 모션 하나 */
|
|
28
|
+
export interface RowMotion {
|
|
29
|
+
/** 펼쳐지거나 접히는 하위 행 */
|
|
30
|
+
keys: ReadonlySet<RowMotionKey>;
|
|
31
|
+
/** 끝났을 때 열린 정도 — 펼침 1, 접힘 0 */
|
|
32
|
+
to: 0 | 1;
|
|
33
|
+
/** 접힘이 끝까지 가서 남겨 둔 행을 뺄 차례인가 */
|
|
34
|
+
done: boolean;
|
|
35
|
+
/** 끝까지 가면 true, 도중에 취소되면 false */
|
|
36
|
+
finished: Promise<boolean>;
|
|
37
|
+
/** 지금 열린 정도 (0 닫힘 ~ 1 열림) — 도중에 되돌릴 때 여기서 이어 간다 */
|
|
38
|
+
openness: () => number;
|
|
39
|
+
cancel: () => void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 펼쳐지는 행 덩어리(하위 행·상세 영역)를 열린 정도 `from` 에서 `to` 로 움직인다.
|
|
43
|
+
*
|
|
44
|
+
* 열린 정도 s 에서 덩어리 아래 행은 `덩어리 높이 × (1 - s)` 만큼 위에 있고, 덩어리 안 행도 같이 올라가
|
|
45
|
+
* 바로 위 행 아랫변 밑으로 나온 부분만 보인다. 그래서 잘려 나가는 자리와 올라오는 행이 겹치지 않는다.
|
|
46
|
+
* 여러 부모가 한 번에 바뀌면 덩어리가 여럿이고, 아래 행은 지나온 덩어리 높이를 모두 더한 만큼 움직인다.
|
|
47
|
+
*/
|
|
48
|
+
export declare function startRowMotion({ scrollEl, isInBlock, blockKeys, from, to, }: {
|
|
49
|
+
scrollEl: HTMLElement;
|
|
50
|
+
/** 그려진 행(`<tr>`)이 펼쳐지는 덩어리에 드는가 */
|
|
51
|
+
isInBlock: (tr: HTMLElement) => boolean;
|
|
52
|
+
/** 펼쳐지는 덩어리의 키 — 도중에 되돌리는지 가릴 때 쓴다 */
|
|
53
|
+
blockKeys: ReadonlySet<RowMotionKey>;
|
|
54
|
+
from: number;
|
|
55
|
+
to: 0 | 1;
|
|
56
|
+
}): RowMotion | null;
|
package/dist/lib/scrollbar.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 공용 커스텀 스크롤바 클래스.
|
|
3
|
-
* Stencil의 styles/scrollbar.scss mixin과 짝을 이루는 단일 기준이며,
|
|
4
3
|
* 스크롤 영역을 가진 컴포넌트는 DOM을 감싸지 않고 이 클래스를 직접 붙여 쓴다.
|
|
5
4
|
*
|
|
6
5
|
* SVG 스펙: 트랙 12px / 썸 8px(grey-45, 2px 인셋, radius 4).
|
|
@@ -20,7 +19,7 @@ export declare const SCROLLBAR_CLASS: string;
|
|
|
20
19
|
export declare const SCROLLBAR_HIDDEN_CLASS = "[scrollbar-width:none] [&::-webkit-scrollbar]:hidden";
|
|
21
20
|
/**
|
|
22
21
|
* background: 트랙 배경을 채운다. 콘텐츠 영역 배경은 바뀌지 않는다.
|
|
23
|
-
*
|
|
22
|
+
* 트랙 색은 grey-10 이다.
|
|
24
23
|
* Tailwind 는 소스에 문자열로 박힌 클래스만 수집하므로 색을 인자로 받는 함수로 만들 수 없다.
|
|
25
24
|
* 색이 필요하면 아래 WHITE 처럼 리터럴 상수를 하나 더 만든다.
|
|
26
25
|
*
|