@ryuzaki13/react-foundation-ui 1.4.2 → 1.4.4
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/dist/advanced-search/index.js +12 -11
- package/dist/advanced-search/index.js.map +1 -1
- package/dist/badge/index.js +1 -1
- package/dist/base-table/index.js +2 -2
- package/dist/button/index.js +1 -1
- package/dist/chunks/{CalendarView-KCkhCtK-.js → CalendarView-Z_XWk7aI.js} +8 -8
- package/dist/chunks/{CalendarView-KCkhCtK-.js.map → CalendarView-Z_XWk7aI.js.map} +1 -1
- package/dist/chunks/{ImageViewerRuntime-RN49by8Y.js → ImageViewerRuntime-BMs3BBkV.js} +4 -4
- package/dist/chunks/{ImageViewerRuntime-RN49by8Y.js.map → ImageViewerRuntime-BMs3BBkV.js.map} +1 -1
- package/dist/chunks/{TextEditorLexicalClient-CVTrglWP.js → TextEditorLexicalClient-CK8j3RA4.js} +16 -18
- package/dist/chunks/{TextEditorLexicalClient-CVTrglWP.js.map → TextEditorLexicalClient-CK8j3RA4.js.map} +1 -1
- package/dist/chunks/{badge-Cri0-kVK.js → badge-DwIUjH0a.js} +2 -2
- package/dist/chunks/{badge-Cri0-kVK.js.map → badge-DwIUjH0a.js.map} +1 -1
- package/dist/chunks/{base-table-D5IqsjQD.js → base-table-BFsVwXg3.js} +13 -12
- package/dist/chunks/{base-table-D5IqsjQD.js.map → base-table-BFsVwXg3.js.map} +1 -1
- package/dist/chunks/{button-CC0Jdx1j.js → button-BU2kRzwu.js} +2 -2
- package/dist/chunks/{button-CC0Jdx1j.js.map → button-BU2kRzwu.js.map} +1 -1
- package/dist/chunks/check-box-Dd3YFuxd.js.map +1 -1
- package/dist/chunks/{context-menu-DQeR3y7M.js → context-menu-C6RO7soI.js} +7 -2
- package/dist/chunks/{context-menu-DQeR3y7M.js.map → context-menu-C6RO7soI.js.map} +1 -1
- package/dist/chunks/{date-input-DBJisPRz.js → date-input-BzExUQnc.js} +5 -5
- package/dist/chunks/{date-input-DBJisPRz.js.map → date-input-BzExUQnc.js.map} +1 -1
- package/dist/chunks/{flex-DYZ0IbU6.js → flex-C7njxZ74.js} +10 -7
- package/dist/chunks/{flex-DYZ0IbU6.js.map → flex-C7njxZ74.js.map} +1 -1
- package/dist/chunks/floating-arrow-BE-z4QkE.js.map +1 -1
- package/dist/chunks/{input-BCJfUdK_.js → input-Bp6_Ucgr.js} +15 -15
- package/dist/chunks/{input-BCJfUdK_.js.map → input-Bp6_Ucgr.js.map} +1 -1
- package/dist/chunks/{input-files-Dcc5K-_1.js → input-files-D1JzSw_Y.js} +2 -2
- package/dist/chunks/{input-files-Dcc5K-_1.js.map → input-files-D1JzSw_Y.js.map} +1 -1
- package/dist/chunks/{input-search-B7HmrAM7.js → input-search-Bkhcinru.js} +2 -2
- package/dist/chunks/{input-search-B7HmrAM7.js.map → input-search-Bkhcinru.js.map} +1 -1
- package/dist/chunks/{misc-DIF5h9ba.js → misc-BYxxlJz6.js} +3 -3
- package/dist/chunks/{misc-DIF5h9ba.js.map → misc-BYxxlJz6.js.map} +1 -1
- package/dist/chunks/{modal-DXHX_sA-.js → modal-paexEF0j.js} +4 -5
- package/dist/chunks/{modal-DXHX_sA-.js.map → modal-paexEF0j.js.map} +1 -1
- package/dist/chunks/{multi-select-CWx12rgb.js → multi-select-COEkc8Qc.js} +4 -5
- package/dist/chunks/multi-select-COEkc8Qc.js.map +1 -0
- package/dist/chunks/{picker-BAQ9NeHe.js → picker-e6IsrMUG.js} +3 -3
- package/dist/chunks/{picker-BAQ9NeHe.js.map → picker-e6IsrMUG.js.map} +1 -1
- package/dist/chunks/{popover-xJJqy1v6.js → popover-CGU3MlsH.js} +14 -14
- package/dist/chunks/{popover-xJJqy1v6.js.map → popover-CGU3MlsH.js.map} +1 -1
- package/dist/chunks/radio-group-CM9Lg_nc.js.map +1 -1
- package/dist/chunks/{select-BPb-eL3O.js → select-BON0S9Dr.js} +115 -115
- package/dist/chunks/select-BON0S9Dr.js.map +1 -0
- package/dist/chunks/sortable-DcTIAbjD.js.map +1 -1
- package/dist/chunks/{table-xMAjqtcY.js → table-Dd5BcC0k.js} +3 -3
- package/dist/chunks/{table-xMAjqtcY.js.map → table-Dd5BcC0k.js.map} +1 -1
- package/dist/chunks/{table-column-interactions-BGd5Lwy9.js → table-column-interactions-DzEvVuXe.js} +8 -5
- package/dist/chunks/{table-column-interactions-BGd5Lwy9.js.map → table-column-interactions-DzEvVuXe.js.map} +1 -1
- package/dist/chunks/useODataSelectBase-CKe1AVMI.js.map +1 -1
- package/dist/chunks/wheel-picker-FS58cRsQ.js.map +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-time-input/index.js +4 -4
- package/dist/date-time-input/index.js.map +1 -1
- package/dist/detail/index.js.map +1 -1
- package/dist/dialog/index.js.map +1 -1
- package/dist/disclosure/index.js +1 -1
- package/dist/disclosure/index.js.map +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/drop-zone/index.js.map +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/expandable-action-panel/index.js +2 -2
- package/dist/expandable-action-panel/index.js.map +1 -1
- package/dist/flex/index.js +1 -1
- package/dist/fullscreen-portal/index.js +3 -3
- package/dist/fullscreen-portal/index.js.map +1 -1
- package/dist/image/index.js +5 -5
- package/dist/image/index.js.map +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input-date-time/index.js +1 -1
- package/dist/input-date-time/index.js.map +1 -1
- package/dist/input-file/index.js +1 -1
- package/dist/input-file/index.js.map +1 -1
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +1 -1
- package/dist/input-image/index.js.map +1 -1
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +3 -4
- package/dist/layout-picker/index.js.map +1 -1
- package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
- package/dist/list/index.js +7 -7
- package/dist/list/index.js.map +1 -1
- package/dist/listbox/index.js.map +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/notifications/index.js +13 -11
- package/dist/notifications/index.js.map +1 -1
- package/dist/pages/index.js.map +1 -1
- package/dist/panel/index.js.map +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/picker/types.d.ts +1 -1
- package/dist/picker/types.d.ts.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/preset-range-date-input/index.js +2 -2
- package/dist/preset-range-date-input/index.js.map +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js.map +1 -1
- package/dist/select/Select.d.ts.map +1 -1
- package/dist/select/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +27 -24
- package/dist/slider/index.js.map +1 -1
- package/dist/splitter/index.js.map +1 -1
- package/dist/state-select/index.js +12 -10
- package/dist/state-select/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/switch/index.js.map +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-column-interactions/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/table-sorting/index.js.map +1 -1
- package/dist/tabs/index.js +6 -6
- package/dist/tabs/index.js.map +1 -1
- package/dist/tag-input/index.js +1 -1
- package/dist/tag-input/index.js.map +1 -1
- package/dist/text/index.js +10 -8
- package/dist/text/index.js.map +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/index.js.map +1 -1
- package/dist/toggle/index.js.map +1 -1
- package/dist/toolbar/index.js +1 -2
- package/dist/toolbar/index.js.map +1 -1
- package/dist/tree/index.js.map +1 -1
- package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
- package/dist/tree-select/index.js +134 -132
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-table/index.js +2 -2
- package/dist/tree-table/index.js.map +1 -1
- package/package.json +52 -59
- package/storybook-static/assets/{Badge-SZ48u9qp.js → Badge-Bh73-APE.js} +11 -11
- package/storybook-static/assets/Badge.stories-gNFtCWnR.js +54 -0
- package/storybook-static/assets/{Button-CFCpYiPy.js → Button-O9QPAftp.js} +10 -10
- package/storybook-static/assets/Button-mjF9HSg0.js +12 -0
- package/storybook-static/assets/Button.stories-wkiE0c_a.js +75 -0
- package/storybook-static/assets/CalendarView-CqKlnF8k.js +1 -0
- package/storybook-static/assets/{DateInput-BfFTwd_P.css → CalendarView-DKvrkS40.css} +1 -1
- package/storybook-static/assets/{CheckBox-FoMSruZC.js → CheckBox-CB8fTQF0.js} +11 -11
- package/storybook-static/assets/CheckBox-Clpeg9q7.js +2 -0
- package/storybook-static/assets/CheckBox.module-BBzuj5He.js +1 -0
- package/storybook-static/assets/CheckBox.stories-pfWBxvOy.js +60 -0
- package/storybook-static/assets/Color-6AOWCN3U-CVvkiihj.js +1 -0
- package/storybook-static/assets/ContextMenu-Sv4wfyS3.js +1 -0
- package/storybook-static/assets/{ContextMenu-CU_1kOzV.js → ContextMenu-eGnlhRRu.js} +9 -9
- package/storybook-static/assets/ContextMenu.stories-CVw3hOvY.js +90 -0
- package/storybook-static/assets/DateInput-D8_Oleoy.js +1 -0
- package/storybook-static/assets/{DateInput-BeZ5esVE.js → DateInput-DQDplLib.js} +11 -11
- package/storybook-static/assets/DateInput-pmGiwdvw.css +1 -0
- package/storybook-static/assets/{DateInput.stories-Bkw2r8CD.js → DateInput.stories-BNpS4CND.js} +2 -2
- package/storybook-static/assets/DateRangePresetSelect-Bfx-d5qg.js +3 -0
- package/storybook-static/assets/{DateRangePresetSelect-C_mLvEoK.js → DateRangePresetSelect-DCBEf98i.js} +8 -8
- package/storybook-static/assets/DateRangePresetSelect.stories-PAV2jgQb.js +11 -0
- package/storybook-static/assets/{Detail-WzciiK9S.js → Detail-DvmdQCue.js} +11 -11
- package/storybook-static/assets/Detail.stories-CEm00aSN.js +44 -0
- package/storybook-static/assets/{Dialog-CwLsVxJY.js → Dialog-3I2Y7jD7.js} +9 -9
- package/storybook-static/assets/Dialog.stories-lcadmonM.js +31 -0
- package/storybook-static/assets/{Disclosure-BlRuGrk2.js → Disclosure-DUIQ37oh.js} +10 -10
- package/storybook-static/assets/Disclosure.stories-BeizaZWP.js +41 -0
- package/storybook-static/assets/DocsRenderer-JROSPFPF-DwPk6ai7.js +2 -0
- package/storybook-static/assets/{DropZone-Cr3nfCWA.js → DropZone-BGuCU5dq.js} +10 -10
- package/storybook-static/assets/DropZone.stories-B4J6OZ3T.js +44 -0
- package/storybook-static/assets/ExpandableActionPanel.stories-gCrqbhG6.js +20 -0
- package/storybook-static/assets/{Flex-C10912WS.js → Flex-CBwbh1yu.js} +18 -18
- package/storybook-static/assets/Flex.stories-cdk6vRZq.js +300 -0
- package/storybook-static/assets/FlexContainer-LmZIdhq2.js +1 -0
- package/storybook-static/assets/FlexItem-vkDYa5tA.js +3 -0
- package/storybook-static/assets/FloatingPopover-D4h-c24R.js +1 -0
- package/storybook-static/assets/FloatingPopover-DC84VrV3.css +1 -0
- package/storybook-static/assets/FormattedTableCell-CY3E21k8.css +1 -0
- package/storybook-static/assets/FormattedTableCell-Dh-kHTOC.js +18 -0
- package/storybook-static/assets/Grid-BCzygAqy.js +52 -0
- package/storybook-static/assets/{Grid-G88y3oB_.js → Grid-BkKqSMfk.js} +18 -18
- package/storybook-static/assets/{Grid.stories-BV7zL-6n.js → Grid.stories-828arrPi.js} +2 -2
- package/storybook-static/assets/{Grid-Bb0gH6CX.js → GridContainer-qDguE1HS.js} +2 -53
- package/storybook-static/assets/ImageCropper.stories-CrIWrKKR.js +115 -0
- package/storybook-static/assets/ImageRenderer-F3AaZx-K.js +2 -0
- package/storybook-static/assets/ImageRenderer.stories-l3PnRYxy.js +22 -0
- package/storybook-static/assets/ImageView.stories-C6uhkvCN.js +9 -0
- package/storybook-static/assets/{ImageViewer.stories-PlFXSB5n.js → ImageViewer.stories-BSPiv5lU.js} +5 -5
- package/storybook-static/assets/ImageViewerRuntime-BOpMGgz6.js +51 -0
- package/storybook-static/assets/Input-Co--DMHY.js +3 -0
- package/storybook-static/assets/{Input-pyUNDVtk.js → Input-D-ZrbHVw.js} +11 -11
- package/storybook-static/assets/Input.stories-vqPv6pLx.js +38 -0
- package/storybook-static/assets/{InputDateTime-CWk5KBwD.js → InputDateTime-DHBVbRii.js} +11 -11
- package/storybook-static/assets/InputDateTime.stories-BAvLMBuk.js +35 -0
- package/storybook-static/assets/{InputFile-BLQq7mY9.js → InputFile-B9TVOEZV.js} +10 -10
- package/storybook-static/assets/InputFile.stories-CypBLWFh.js +36 -0
- package/storybook-static/assets/{InputFiles-B6J4XBdP.js → InputFiles-CxZkOZFK.js} +10 -10
- package/storybook-static/assets/InputFiles.stories-BGwCp7OC.js +33 -0
- package/storybook-static/assets/InputFilesList-OEX4zGI3.js +1 -0
- package/storybook-static/assets/{InputImage--2PSB_E_.js → InputImage-31A6fxSf.js} +10 -10
- package/storybook-static/assets/InputImage.stories-CdpOudXI.js +51 -0
- package/storybook-static/assets/{LayoutPicker-RZDisgZ_.js → LayoutPicker-Dc55ovYM.js} +13 -13
- package/storybook-static/assets/LayoutPicker.stories-DXcn-WXQ.js +449 -0
- package/storybook-static/assets/{Listbox-xwfNjBpV.js → Listbox-DF8E6oMR.js} +10 -10
- package/storybook-static/assets/Listbox.stories-C98_9wX3.js +47 -0
- package/storybook-static/assets/{Modal-HJt_Y-a6.js → Modal-CXvDgktT.js} +12 -12
- package/storybook-static/assets/Modal.stories-DAC_QwN7.js +180 -0
- package/storybook-static/assets/MultiSelect-B-wX6JPo.js +2 -0
- package/storybook-static/assets/{MultiSelect-CvNsFdE4.js → MultiSelect-DN4foQlG.js} +11 -11
- package/storybook-static/assets/MultiSelect.stories-CgKNQmma.js +29 -0
- package/storybook-static/assets/MultiSelectToken-DDu5n78h.css +1 -0
- package/storybook-static/assets/MultiSelectToken-fjW8p4YG.js +1 -0
- package/storybook-static/assets/NoData-C7KqaHUh.css +1 -0
- package/storybook-static/assets/NoData-W7wK8oTW.js +1 -0
- package/storybook-static/assets/{NotificationsHost-DXCf3CQX.js → NotificationsHost-D1UoWmF8.js} +9 -9
- package/storybook-static/assets/NotificationsHost.stories-BWUuMmPl.js +25 -0
- package/storybook-static/assets/{ODataMultiSelect-CIJNiwGb.js → ODataMultiSelect-DE1V4el8.js} +15 -15
- package/storybook-static/assets/ODataMultiSelect.stories-Q1DUIL2W.js +73 -0
- package/storybook-static/assets/{ODataSelect-BDga9TUb.js → ODataSelect-CtoT2Wxx.js} +15 -15
- package/storybook-static/assets/ODataSelect.stories-DLi7Rwzk.js +73 -0
- package/storybook-static/assets/ODataTreeMultiSelect-DEZfgyPK.js +19 -0
- package/storybook-static/assets/ODataTreeMultiSelect.stories-H42q78xI.js +30 -0
- package/storybook-static/assets/ODataTreeSelect-BeylEiPN.js +17 -0
- package/storybook-static/assets/ODataTreeSelect.stories-MOILmtfY.js +24 -0
- package/storybook-static/assets/OneStepScroller-BSvYN6QP.js +5 -0
- package/storybook-static/assets/OneStepScroller-NRYd-egY.css +1 -0
- package/storybook-static/assets/{PeriodSelect-BJbjl62O.js → PeriodSelect-KQFGCxq6.js} +13 -13
- package/storybook-static/assets/PeriodSelect.stories-BIYx4_Yy.js +64 -0
- package/storybook-static/assets/PickerSelectionToolbar-Cvv8vTZm.js +2 -0
- package/storybook-static/assets/PickerTriggerActions-BBZmXagt.js +1 -0
- package/storybook-static/assets/{Popover-Dg2T0DoN.js → Popover-7YZIq8Fi.js} +11 -11
- package/storybook-static/assets/Popover-D6gSyjaW.js +2 -0
- package/storybook-static/assets/Popover-DGX7JNNK.css +1 -0
- package/storybook-static/assets/Popover.stories-DM69Ztws.js +69 -0
- package/storybook-static/assets/{PresetRangeDateInput-CNmTMNHF.js → PresetRangeDateInput-Ch6GapcJ.js} +8 -8
- package/storybook-static/assets/PresetRangeDateInput.stories-Cqd4eb0N.js +15 -0
- package/storybook-static/assets/PresetSelect-C8uIYhPJ.js +5 -0
- package/storybook-static/assets/{RadioButton-2rfUPkwC.js → RadioButton-BQjiyASl.js} +10 -10
- package/storybook-static/assets/RadioButton.stories-Cbho4i83.js +36 -0
- package/storybook-static/assets/RadioGroup-DNqu6WaC.js +1 -0
- package/storybook-static/assets/{RadioGroup-BduGGVKj.js → RadioGroup-vw4ObVj-.js} +10 -10
- package/storybook-static/assets/RadioGroup.stories-B-WQzZW_.js +42 -0
- package/storybook-static/assets/Scrollable-DrxMuH2M.js +1 -0
- package/storybook-static/assets/{Select-DnZ83aZs.js → Select-BxigZNtu.js} +13 -13
- package/storybook-static/assets/Select-X_O4M8Hi.js +12 -0
- package/storybook-static/assets/Select.stories-BpTrYJSr.js +46 -0
- package/storybook-static/assets/SelectOptionContent-RAmgWCOm.js +1 -0
- package/storybook-static/assets/{SerializableSelect-BiFhAxAJ.js → SerializableSelect-CA9wjk2m.js} +12 -12
- package/storybook-static/assets/SerializableSelect.stories-DXd4E-3U.js +46 -0
- package/storybook-static/assets/{SingleDateTimeInput-Bc-ifbML.js → SingleDateTimeInput-BeFLYUBF.js} +12 -12
- package/storybook-static/assets/SingleDateTimeInput.stories-B1aZ754N.js +78 -0
- package/storybook-static/assets/Slider-BYrHesOR.js +1 -0
- package/storybook-static/assets/{Slider-DfjBSsR3.js → Slider-BdWBkKp4.js} +15 -15
- package/storybook-static/assets/Slider.stories-CgmOhVBs.js +77 -0
- package/storybook-static/assets/{SliderInput-o9uCcVMP.js → SliderInput-QmF2VQWA.js} +16 -16
- package/storybook-static/assets/SliderInput.stories-MjSmhiOM.js +68 -0
- package/storybook-static/assets/{Sortable-B6Y9Q9Yn.js → Sortable-D5OTpesH.js} +13 -13
- package/storybook-static/assets/Sortable.stories-yz3c5EhY.js +141 -0
- package/storybook-static/assets/{Splitter-CfUVnAs7.js → Splitter-DVq6XBul.js} +11 -11
- package/storybook-static/assets/Splitter.stories-CopPw1_p.js +22 -0
- package/storybook-static/assets/{StateSelect-h0i4M4vO.js → StateSelect-ojwXeKmx.js} +10 -10
- package/storybook-static/assets/StateSelect.stories-D46m5HNn.js +47 -0
- package/storybook-static/assets/StringToggle.stories-ByYMmlXl.js +6 -0
- package/storybook-static/assets/{Switch-CPKaENqL.js → Switch-Dy4Pahkn.js} +10 -10
- package/storybook-static/assets/Switch.stories-EiAb5Z-D.js +26 -0
- package/storybook-static/assets/{Table-xV66crR1.js → Table-BO6Oa4JV.js} +22 -22
- package/storybook-static/assets/Table.stories--TpBKwmP.js +122 -0
- package/storybook-static/assets/{Tabs-v9YZeJoc.js → Tabs-7c93qVyH.js} +15 -15
- package/storybook-static/assets/Tabs.stories-DXZ0r2ix.js +58 -0
- package/storybook-static/assets/TagInput.stories-CoM8rXwa.js +18 -0
- package/storybook-static/assets/Text-BPlJUr3R.js +1 -0
- package/storybook-static/assets/{Textarea-CRThqX0z.js → Textarea-D3S4MkiX.js} +10 -10
- package/storybook-static/assets/Textarea.stories-47k8uHdB.js +27 -0
- package/storybook-static/assets/TimePanel-C2iZ9Qr6.js +1 -0
- package/storybook-static/assets/TimePanel.stories-JTjIv6z1.js +25 -0
- package/storybook-static/assets/{Toggle-CzopviU2.js → Toggle-CHmajZE5.js} +10 -10
- package/storybook-static/assets/Toggle-OlKw8qaK.js +1 -0
- package/storybook-static/assets/Toggle.stories-k4Z8qQVs.js +30 -0
- package/storybook-static/assets/TreeMultiSelect-BC_n1Wb-.js +1 -0
- package/storybook-static/assets/TreeMultiSelect-dOg0l7rk.js +19 -0
- package/storybook-static/assets/TreeMultiSelect.stories-CAzZRxn5.js +35 -0
- package/storybook-static/assets/TreePickerBase-ycYQYQgi.js +22 -0
- package/storybook-static/assets/TreeSelect-BrNyI_Qx.js +16 -0
- package/storybook-static/assets/TreeSelect-CDecTnag.js +1 -0
- package/storybook-static/assets/TreeSelect.stories-BUOw2Rwn.js +18 -0
- package/storybook-static/assets/{TreeTable-DbzoCcR5.js → TreeTable-BXw7lFBk.js} +22 -22
- package/storybook-static/assets/TreeTable.stories-z40pruPV.js +83 -0
- package/storybook-static/assets/WithTooltip-7X4HQR7L-Cakt_JaX.js +9 -0
- package/storybook-static/assets/array-BBSjoTRy-CIRmlF93.js +1 -0
- package/storybook-static/assets/{async-D27PcxoG.js → async-BLDV04P4.js} +3 -3
- package/storybook-static/assets/axe-Bq-2xuso.js +20 -0
- package/storybook-static/assets/blocks-BiaKjftm.js +48 -0
- package/storybook-static/assets/browserAndReact-DX4H5rjQ.js +105 -0
- package/storybook-static/assets/check-fB4gCKB_.js +1 -0
- package/storybook-static/assets/chevron-down-B9GH0QvB.js +1 -0
- package/storybook-static/assets/chevron-left-DjbyJeHO.js +1 -0
- package/storybook-static/assets/chevron-right-D29uf09I.js +1 -0
- package/storybook-static/assets/chunk-242VQQM5-BMWWiybC.js +1 -0
- package/storybook-static/assets/chunk-DRQKCCAG-CqE-Zrl9.js +1 -0
- package/storybook-static/assets/chunk-IMSF75WX-yvVUwIQZ.js +6 -0
- package/storybook-static/assets/chunk-KJHJLCBK-D-yQfkOi.js +1 -0
- package/storybook-static/assets/chunk-QQBDHPVZ-B98qboss.js +1 -0
- package/storybook-static/assets/chunk-W22LQPXL-CGkHFiZ0.js +18 -0
- package/storybook-static/assets/circle-alert-Dmd7-WNp.js +1 -0
- package/storybook-static/assets/circle-check-VtVMsaJJ.js +1 -0
- package/storybook-static/assets/components-CsfQDbHv.js +241 -0
- package/storybook-static/assets/contextMenu-CzdfaUsd.js +2 -0
- package/storybook-static/assets/date-segments-D3HouZ37.js +1 -0
- package/storybook-static/assets/dom-B3G_GtJw.js +1 -0
- package/storybook-static/assets/download-CyVhTbv6.js +1 -0
- package/storybook-static/assets/error-BZrNlEUO.js +1 -0
- package/storybook-static/assets/file-vPGnhPr-.js +1 -0
- package/storybook-static/assets/filesAndExcel-DlUnL-Uu.js +122 -0
- package/storybook-static/assets/floating-ui.react-DZ8IyUV4.js +1 -0
- package/storybook-static/assets/formatter-L2YTDE3Q-x0raBH34.js +1 -0
- package/storybook-static/assets/formatters--mhLir82-v41eaI4a.js +1 -0
- package/storybook-static/assets/formatters-BTz64vfu.js +291 -0
- package/storybook-static/assets/formatters-runtime-DVi3RdYb.js +384 -0
- package/storybook-static/assets/foundationLib-CFj4J-Pc.js +82 -0
- package/storybook-static/assets/hooks-Ch5aYb7R.js +5 -0
- package/storybook-static/assets/iframe-Cr7AcW_R.js +1 -0
- package/storybook-static/assets/iframe-DaN-XFub.js +1151 -0
- package/storybook-static/assets/info-Cirk1RKZ.js +1 -0
- package/storybook-static/assets/{matchers-JIUQ3HVY-BPS-eazD.js → matchers-JIUQ3HVY-DvR2XErZ.js} +3 -3
- package/storybook-static/assets/media-BycWpjAl.js +1 -0
- package/storybook-static/assets/odata-BtfB5Aje.js +1 -0
- package/storybook-static/assets/odata-service-DnPlNGpU-Bpd4Zh9L.js +3 -0
- package/storybook-static/assets/odataAndTables-TEZyQ-TZ.js +126 -0
- package/storybook-static/assets/{odataFetchFn-BVgXXKgx.js → odataFetchFn-DEKVPDzV.js} +3 -3
- package/storybook-static/assets/odataStoryFixtures-CDDaJZKW.js +25 -0
- package/storybook-static/assets/{persisted-D8qUQbts.js → persisted-BzLLmgUK.js} +3 -3
- package/storybook-static/assets/preload-helper-BHmFeTtP.js +1 -0
- package/storybook-static/assets/pureUtilities-Dw249t3R.js +69 -0
- package/storybook-static/assets/react-18-CgkwBzTo.js +9 -0
- package/storybook-static/assets/react-C21x__mS.js +1 -0
- package/storybook-static/assets/react-CvkUhHUq.js +1 -0
- package/storybook-static/assets/react-KzpmXJc9.js +9 -0
- package/storybook-static/assets/react-dom-2o2phaJG.js +1 -0
- package/storybook-static/assets/react-qN2cStNd.js +1 -0
- package/storybook-static/assets/refresh-cw-BN3JCsXv.js +1 -0
- package/storybook-static/assets/rolldown-runtime-C0FnF6B9.js +1 -0
- package/storybook-static/assets/runtimeAndState-CCVgv3ck.js +117 -0
- package/storybook-static/assets/settings-2-jtcbbWm5.js +1 -0
- package/storybook-static/assets/sortable-dNWaObUX.js +1 -0
- package/storybook-static/assets/syntaxhighlighter-T5IQBZDB-hYwVxXYm.js +6 -0
- package/storybook-static/assets/theming-mTWhffkp.js +39 -0
- package/storybook-static/assets/trash-2-DrVfT0z5.js +1 -0
- package/storybook-static/assets/treeStoryFixtures-Ci7STpiz.js +1 -0
- package/storybook-static/assets/triangle-alert-B1Q28Bq9.js +1 -0
- package/storybook-static/assets/ui.module-DoMIk8Oc.js +1 -0
- package/storybook-static/assets/uiClasses-CO3Cdv1E.js +1 -0
- package/storybook-static/assets/useFlexClasses-Gn9spXEB.js +1 -0
- package/storybook-static/assets/useODataSelectBase-DlbeGYUP.js +1 -0
- package/storybook-static/assets/useODataTreeData-CvsoLfiG.js +1 -0
- package/storybook-static/assets/usePickerDefaultFilter-DdxyE_i8.js +1 -0
- package/storybook-static/assets/usePickerQuery-6rDaPaB0.js +1 -0
- package/storybook-static/assets/usePickerTriggerController-BHBjSLtn.js +1 -0
- package/storybook-static/assets/utils-DUM89eIj.js +1 -0
- package/storybook-static/assets/x-Dh43gJN9.js +1 -0
- package/storybook-static/iframe.html +8 -3
- package/storybook-static/index.html +6 -0
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/a11y-3/manager-bundle.js +3 -3
- package/storybook-static/sb-addons/chromatic-com-storybook-1/manager-bundle.js +17 -17
- package/storybook-static/sb-addons/docs-2/manager-bundle.js +16 -1
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +85 -83
- package/storybook-static/sb-addons/vitest-4/manager-bundle.js +1 -1
- package/storybook-static/sb-manager/globals-runtime.js +9939 -7695
- package/storybook-static/sb-manager/runtime.js +16128 -15326
- package/storybook-static/vite-inject-mocker-entry.js +2 -2
- package/dist/chunks/multi-select-CWx12rgb.js.map +0 -1
- package/dist/chunks/select-BPb-eL3O.js.map +0 -1
- package/storybook-static/assets/Badge.stories-CzsgAfG9.js +0 -51
- package/storybook-static/assets/Button-MoWVKehO.js +0 -12
- package/storybook-static/assets/Button.stories-wwep4c2p.js +0 -75
- package/storybook-static/assets/CheckBox-DHvne_6w.js +0 -2
- package/storybook-static/assets/CheckBox.module-ezWPE2pa.js +0 -1
- package/storybook-static/assets/CheckBox.stories-C14Axs5p.js +0 -60
- package/storybook-static/assets/Color-KMSTOMOX-CmMBFN4-.js +0 -1
- package/storybook-static/assets/ContextMenu.stories-Dr-tkpqd.js +0 -90
- package/storybook-static/assets/DateInput-erobPRG_.js +0 -1
- package/storybook-static/assets/DateRangePresetSelect-Cg90Kc_w.js +0 -3
- package/storybook-static/assets/DateRangePresetSelect.stories-BVap0joC.js +0 -11
- package/storybook-static/assets/Detail.stories-CLdtvJ7q.js +0 -44
- package/storybook-static/assets/Dialog.stories-Dx0jZO19.js +0 -31
- package/storybook-static/assets/Disclosure.stories-DhUdeDK6.js +0 -41
- package/storybook-static/assets/DocsRenderer-JROSPFPF-Dd1n83Uq.js +0 -2
- package/storybook-static/assets/DropZone.stories-6yYrwQOe.js +0 -44
- package/storybook-static/assets/DropdownMenu-D_2LfViU.js +0 -1
- package/storybook-static/assets/ExpandableActionPanel.stories-DVOFSOlm.js +0 -20
- package/storybook-static/assets/Flex-V-qg6Ejw.js +0 -3
- package/storybook-static/assets/Flex.stories-BZv94LD8.js +0 -300
- package/storybook-static/assets/ImageCropper.stories-MLFZyJxZ.js +0 -115
- package/storybook-static/assets/ImageRenderer-DHhD7mUz.js +0 -2
- package/storybook-static/assets/ImageRenderer.stories-ChcPymk2.js +0 -22
- package/storybook-static/assets/ImageView.stories-DszVNgC8.js +0 -9
- package/storybook-static/assets/ImageViewerRuntime-D8wFAKx5.js +0 -51
- package/storybook-static/assets/Input-BGdz8TmT.js +0 -3
- package/storybook-static/assets/Input.stories-Ban0Gnck.js +0 -38
- package/storybook-static/assets/InputDateTime.stories-DgKVmf54.js +0 -35
- package/storybook-static/assets/InputFile.stories-VnRv_q2r.js +0 -36
- package/storybook-static/assets/InputFiles-Dn9afnyd.js +0 -1
- package/storybook-static/assets/InputFiles.stories-CLVn5Xfq.js +0 -33
- package/storybook-static/assets/InputImage.stories-D__QcSho.js +0 -51
- package/storybook-static/assets/LayoutPicker.stories-BCnR-zBu.js +0 -449
- package/storybook-static/assets/Listbox.stories-B0HctqVp.js +0 -47
- package/storybook-static/assets/Modal.stories-BE-VpK-a.js +0 -180
- package/storybook-static/assets/MultiSelect-BoIwmje6.css +0 -1
- package/storybook-static/assets/MultiSelect-CaCNRNIe.js +0 -2
- package/storybook-static/assets/MultiSelect.stories-CNkbVGsb.js +0 -29
- package/storybook-static/assets/NotificationsHost.stories-BgqvZzT3.js +0 -25
- package/storybook-static/assets/ODataMultiSelect-CMyI4yYs.js +0 -1
- package/storybook-static/assets/ODataMultiSelect.stories-DTGCC6np.js +0 -73
- package/storybook-static/assets/ODataSelect-CGplYBh_.js +0 -1
- package/storybook-static/assets/ODataSelect.stories-CsxqRAvn.js +0 -73
- package/storybook-static/assets/ODataTreeMultiSelect-4ZiAtFZk.js +0 -19
- package/storybook-static/assets/ODataTreeMultiSelect.stories-B29Od8BL.js +0 -30
- package/storybook-static/assets/ODataTreeSelect-yZy7MBsZ.js +0 -17
- package/storybook-static/assets/ODataTreeSelect.stories-H7eaj1Sz.js +0 -24
- package/storybook-static/assets/PeriodSelect.stories-6CEzS2_H.js +0 -64
- package/storybook-static/assets/Popover.stories-BNgWOHlJ.js +0 -69
- package/storybook-static/assets/PresetRangeDateInput.stories-6UPVDF62.js +0 -15
- package/storybook-static/assets/RadioButton.stories-DbdFfJqO.js +0 -36
- package/storybook-static/assets/RadioGroup-BA21indC.js +0 -1
- package/storybook-static/assets/RadioGroup.stories-Ce6x0WUN.js +0 -42
- package/storybook-static/assets/Select-DyO25wSA.js +0 -12
- package/storybook-static/assets/Select.stories-CQ8f9fY9.js +0 -46
- package/storybook-static/assets/SelectOptionContent-fC4HFG5Q.js +0 -1
- package/storybook-static/assets/SerializableSelect-ki4BThj7.js +0 -4
- package/storybook-static/assets/SerializableSelect.stories-BzXBkWPI.js +0 -43
- package/storybook-static/assets/SingleDateTimeInput.stories-CI2yrD-f.js +0 -78
- package/storybook-static/assets/Slider.stories-D3O3_tqE.js +0 -77
- package/storybook-static/assets/SliderInput.stories-D1puleZB.js +0 -67
- package/storybook-static/assets/Sortable.stories-BoaL4W6r.js +0 -141
- package/storybook-static/assets/Splitter.stories-DJpFzZVJ.js +0 -22
- package/storybook-static/assets/StateSelect.stories-Ch2Gzzmd.js +0 -47
- package/storybook-static/assets/StringToggle.stories-B8qIG0M3.js +0 -6
- package/storybook-static/assets/Switch.stories-BysIhUHa.js +0 -26
- package/storybook-static/assets/Table.stories-CBpgmq7b.js +0 -122
- package/storybook-static/assets/Tabs.stories-BPYZuvzR.js +0 -58
- package/storybook-static/assets/TagInput.stories-BwOEnVpz.js +0 -18
- package/storybook-static/assets/Textarea.stories-BSJGz7JF.js +0 -27
- package/storybook-static/assets/TimePanel-ClMfq_py.js +0 -1
- package/storybook-static/assets/TimePanel.stories-_FqWdmta.js +0 -25
- package/storybook-static/assets/Toggle-BFhzeK2e.js +0 -1
- package/storybook-static/assets/Toggle.stories-Dw5UkD_b.js +0 -30
- package/storybook-static/assets/TreeMultiSelect-CerqHY2K.js +0 -19
- package/storybook-static/assets/TreeMultiSelect-Dw7FI3ic.js +0 -1
- package/storybook-static/assets/TreeMultiSelect.stories-BTQKFbeP.js +0 -35
- package/storybook-static/assets/TreePickerBase-rJISGJBT.js +0 -22
- package/storybook-static/assets/TreeSelect-CQ1vj_c9.js +0 -16
- package/storybook-static/assets/TreeSelect-Cp_lX0-B.js +0 -1
- package/storybook-static/assets/TreeSelect.stories-D6Q02Phx.js +0 -18
- package/storybook-static/assets/TreeTable.stories-YfyhkqH9.js +0 -83
- package/storybook-static/assets/WithTooltip-7X4HQR7L-BSQyvCOM.js +0 -9
- package/storybook-static/assets/axe-GLfyhAYL.js +0 -20
- package/storybook-static/assets/base-table-BNO0lnTL.css +0 -1
- package/storybook-static/assets/base-table-Dy3fEhQe.js +0 -18
- package/storybook-static/assets/blocks-ixiC6_NZ.js +0 -285
- package/storybook-static/assets/button-DZpTIXz2.js +0 -1
- package/storybook-static/assets/check-box-DByHwJGx.js +0 -1
- package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +0 -1
- package/storybook-static/assets/chunk-3LY4VQVK-BohfESrT.js +0 -6
- package/storybook-static/assets/chunk-LITCR56V-XaMGADKk.js +0 -18
- package/storybook-static/assets/contextMenu-BbMrBF3b.js +0 -2
- package/storybook-static/assets/date-7kR6zFX5.js +0 -461
- package/storybook-static/assets/date-segments-CzU9k5bl.js +0 -1
- package/storybook-static/assets/error-BRUjWXbJ.js +0 -1
- package/storybook-static/assets/file-CI_sonB1.js +0 -291
- package/storybook-static/assets/file-hArYcyES.js +0 -1
- package/storybook-static/assets/flex-C--89Z3g.js +0 -1
- package/storybook-static/assets/floating-ui.react-DLXcGGFR.js +0 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-DgyzUf7M.js +0 -1
- package/storybook-static/assets/formatters-BtIOYENB.js +0 -3
- package/storybook-static/assets/formulas-DRh9I2eS.js +0 -2
- package/storybook-static/assets/grid-DLxeTZJe.js +0 -1
- package/storybook-static/assets/hooks-DWeJq8G1.js +0 -5
- package/storybook-static/assets/iframe-BJGIOdSH.js +0 -1119
- package/storybook-static/assets/input-DXi75xv1.js +0 -1
- package/storybook-static/assets/mdx-react-shim-CmoAsjhK.js +0 -1
- package/storybook-static/assets/media-DWFaNgLM.js +0 -1
- package/storybook-static/assets/misc-BElIqBdV.css +0 -1
- package/storybook-static/assets/misc-DNZTbWc6.js +0 -5
- package/storybook-static/assets/notifications-DjtgzFqT.js +0 -1
- package/storybook-static/assets/number-Xkw1yPJo.js +0 -2
- package/storybook-static/assets/odata-C4Liwkjx.js +0 -1
- package/storybook-static/assets/odata-service-C2oJ-ZmZ.js +0 -1
- package/storybook-static/assets/odataStoryFixtures-eEGvvtmw.js +0 -25
- package/storybook-static/assets/picker-DsP4xCcJ.js +0 -2
- package/storybook-static/assets/popover-BiQHI7Wi.css +0 -1
- package/storybook-static/assets/popover-CuFTypCp.js +0 -2
- package/storybook-static/assets/preload-helper-B45gAKPr.js +0 -1
- package/storybook-static/assets/preset-select-SPNHA-mp.js +0 -5
- package/storybook-static/assets/pwa-B7uYfAPd.js +0 -640
- package/storybook-static/assets/queryClient-CA0puYc0.js +0 -567
- package/storybook-static/assets/react-18-CaNSmcD-.js +0 -9
- package/storybook-static/assets/react-3qMIUlAf.js +0 -9
- package/storybook-static/assets/react-dom-BC7xZNHy.js +0 -1
- package/storybook-static/assets/select-sUla5-3b.js +0 -1
- package/storybook-static/assets/slider--Yp_sa_W.js +0 -2
- package/storybook-static/assets/sortable-jALaQqYE.js +0 -1
- package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-u_WDwfDn.js +0 -6
- package/storybook-static/assets/text-D5xgciF8.js +0 -4
- package/storybook-static/assets/theming-oB64gsjY.js +0 -39
- package/storybook-static/assets/treeStoryFixtures-Y_nnjz0_.js +0 -1
- package/storybook-static/assets/ui-DWDaBPQx.js +0 -1
- package/storybook-static/assets/ui.module-wFHXkJzp.js +0 -1
- package/storybook-static/assets/uiClasses-CaHp0EWd.js +0 -1
- package/storybook-static/assets/useODataSelectBase-DjlPxmxr.js +0 -1
- package/storybook-static/assets/useODataTreeData-1W6cbuec.js +0 -1
- package/storybook-static/assets/utils-DzbSigQl.js +0 -1
- package/storybook-static/assets/valueState-GnkKWBTr.js +0 -277
- /package/storybook-static/assets/{DropdownMenu-BgzIzwzM.css → ContextMenu-BgzIzwzM.css} +0 -0
- /package/storybook-static/assets/{Grid-K9R_IHaw.css → GridContainer-K9R_IHaw.css} +0 -0
- /package/storybook-static/assets/{InputFiles-ByK52qUe.css → InputFilesList-ByK52qUe.css} +0 -0
- /package/storybook-static/assets/{slider-DMDFRH6B.css → Slider-DMDFRH6B.css} +0 -0
- /package/storybook-static/assets/{Flex-IXK2se1Y.css → useFlexClasses-IXK2se1Y.css} +0 -0
- /package/storybook-static/assets/{picker-DzBkX15M.css → usePickerTriggerController-DzBkX15M.css} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{c as r,l as i,n as a,t as o}from"./CalendarView-CqKlnF8k.js";import{i as s,n as c,r as l}from"./iframe-DaN-XFub.js";import{a as u,i as d}from"./utils-DUM89eIj.js";import{_ as f,b as p,h as m,y as h}from"./odata-service-DnPlNGpU-Bpd4Zh9L.js";import{a as g,f as ee,h as _}from"./formatters--mhLir82-v41eaI4a.js";import{n as v,t as y}from"./Popover-D6gSyjaW.js";import{n as b,t as x}from"./ui.module-DoMIk8Oc.js";import{n as S,t as te}from"./Button-mjF9HSg0.js";import{c as ne,l as C,o as re,r as ie,u as ae}from"./Input-Co--DMHY.js";import{a as w,i as oe,n as se,r as T,t as E}from"./date-segments-D3HouZ37.js";import{a as D,c as ce,d as le,i as O,l as ue,n as de,o as fe,r as pe,s as k,t as me,u as A}from"./TimePanel-C2iZ9Qr6.js";var j,he;function M(){return(M=e((()=>{s(),j=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]],he=l(`clock-3`,j)})))()}function N(e){let t=[];return e.forEach((e,n)=>{e.kind===`editable`&&t.push(n)}),t}function ge({value:e,onChange:t,onClearError:n,disabled:r,minDate:i,maxDate:a,mode:o=`date-time`}){let s=(0,P.useMemo)(()=>D(o),[o]),c=(0,P.useMemo)(()=>oe(s),[s]),l=(0,P.useMemo)(()=>N(c),[c]),u=(0,P.useMemo)(()=>se(e??null,c),[c,e]),[d,f]=(0,P.useState)(null),p=e?.getTime()??null,m=(0,P.useEffectEvent)(e=>f(e));(0,P.useEffect)(()=>{m(null)},[p,o]);let h=d??u,g=(0,P.useRef)(new Map),ee=(0,P.useRef)(0),_=(0,P.useCallback)(n=>{if(E(c,n))return t(null),null;let r=w(c,n,{defaultDate:o===`time`?A(e,`time`)??O():void 0});return!r||!k(r,i,a,o)?null:(t(r),r)},[a,i,o,t,c,e]),v=(0,P.useCallback)((e,t=!0)=>{let n=g.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),y=(0,P.useCallback)(e=>{let t=l.indexOf(e);return t<l.length-1?l[t+1]:null},[l]),b=(0,P.useCallback)(e=>{let t=l.indexOf(e);return t>0?l[t-1]:null},[l]),x=(0,P.useCallback)((e,t)=>e.padStart(t.length,`0`),[]);return{segments:c,segmentValues:h,registerRef:(0,P.useCallback)(e=>t=>{if(t){g.current.set(e,t);return}g.current.delete(e)},[]),handleInput:(0,P.useCallback)(e=>t=>{if(r)return;let i=c[e];if(i.kind!==`editable`)return;let a=t.target.value.replace(/\D/g,``).slice(0,i.length),o=new Map(h);if(o.set(e,a),f(o),n?.(),a.length===i.length){let t=y(e);t!==null&&requestAnimationFrame(()=>v(t))}_(o)},[r,v,y,n,h,c,_]),handleKeyDown:(0,P.useCallback)(e=>t=>{if(r)return;let n=c[e];if(n.kind!==`editable`)return;let i=h.get(e)??``,a=t.currentTarget;switch(t.key){case`ArrowRight`:if(a.selectionStart===i.length||i===``){t.preventDefault();let n=y(e);n!==null&&v(n)}break;case`ArrowLeft`:if(a.selectionStart===0||i===``){t.preventDefault();let n=b(e);n!==null&&v(n)}break;case`ArrowUp`:{t.preventDefault();let r=i===``?n.min:Number.parseInt(i,10)+1;r>n.max&&(r=n.min);let o=new Map(h);o.set(e,x(String(r),n)),f(o),_(o),requestAnimationFrame(()=>a.select());break}case`ArrowDown`:{t.preventDefault();let r=i===``?n.max:Number.parseInt(i,10)-1;r<n.min&&(r=n.max);let o=new Map(h);o.set(e,x(String(r),n)),f(o),_(o),requestAnimationFrame(()=>a.select());break}case`Backspace`:if(i===``){t.preventDefault();let n=b(e);n!==null&&v(n)}break;case`Delete`:{t.preventDefault();let n=new Map(h);n.set(e,``),f(n),_(n);break}}},[r,v,y,b,x,h,c,_]),handleFocus:(0,P.useCallback)(()=>e=>{e.target.select()},[]),handleContainerFocus:(0,P.useCallback)(()=>{clearTimeout(ee.current)},[]),handleContainerBlur:(0,P.useCallback)(()=>{let n=new Map(h);ee.current=window.setTimeout(()=>{if(E(c,n)){t(null),f(n);return}let r=w(c,n,{defaultDate:o===`time`?A(e,`time`)??O():void 0});if(!r||!k(r,i,a,o)){f(null);return}f(n)},0)},[a,i,o,t,h,c,e]),focusFirstEmpty:(0,P.useCallback)(()=>{let e=l.find(e=>!(h.get(e)??``))??l[l.length-1];e!==void 0&&v(e)},[l,v,h])}}var P;function F(){return(F=e((()=>{P=n(),T(),fe()})))()}var I,L,R,z,B,_e,ve,ye,V,be,xe,H;function Se(){return(Se=e((()=>{I=`AvG-mf`,L=`ig7KtT`,R=`RTruv0`,z=`YQHPZa`,B=`-RZe-i`,_e=`Ox0SRE`,ve=`gfaRup`,ye=`_59kEea`,V=`Jjdu1Q`,be=`Q8Y2xS`,xe=`XxZYTW`,H={segmentInput:I,separator:L,calendarButton:R,popoverContent:z,bottom:B,right:_e,calendarPane:ve,timePanelPane:ye,timeOnlyPopoverContent:V,timePanelPaneBottom:be,timePanelPaneRight:xe}})))()}function U({value:e,onChange:t,label:n,description:i,placeholder:a,disabled:s,size:c,error:l,onClearError:d,minDate:f,maxDate:p,timePanelPlacement:m=`right`,mode:h=`date-time`}){let _=A(e,h),v=_?.getTime()??null,x=(0,W.useMemo)(()=>ee(new Date),[]),[S,ne]=(0,W.useState)(!1),[C,w]=(0,W.useState)(_??null),[oe,se]=(0,W.useState)(`day`),[T,E]=(0,W.useState)(()=>le(_,x,h)),{controlId:D,labelId:O,descriptionId:de,errorId:fe,describedBy:j}=ae({hasLabel:n!=null,hasDescription:!!i,hasError:!!l}),M=(0,W.useEffectEvent)(e=>w(e)),N=(0,W.useEffectEvent)(e=>E(e));(0,W.useEffect)(()=>{S||M(_??null),_&&N(_)},[_,v,S]),(0,W.useEffect)(()=>{_&&N(_)},[_,v]);let{segments:P,segmentValues:F,registerRef:I,handleInput:L,handleKeyDown:R,handleFocus:z,handleContainerFocus:B,handleContainerBlur:_e,focusFirstEmpty:ve}=ge({value:_,onChange:t,onClearError:d,disabled:s,minDate:f,maxDate:p,mode:h}),ye=e=>{if(h===`time`||g(e)||s)return;let t=ce(e,C??_??T),{hours:n,minutes:r}=pe(e,t.getHours(),t.getMinutes(),f,p,h),i=ue(e,n,r);k(i,f,p,h)&&(d?.(),w(i),E(i))},V=(e,t)=>{if(s)return;let n=C??_??T,r=pe(n,e,t,f,p,h),i=ue(n,r.hours,r.minutes,h);k(i,f,p,h)&&(d?.(),w(i),E(i))},be=e=>{e&&(w(_??null),E(le(_,x,h))),ne(e)},xe=()=>{(_?.getTime()??null)!==(C?.getTime()??null)&&t(C)},Se=m===`right`?H.timePanelPaneRight:H.timePanelPaneBottom,U=h===`time`?`Открыть выбор времени`:`Открыть календарь даты и времени`,Ce=a??(h===`time`?`чч:мм`:`дд.мм.гггг чч:мм`),K=C??_??T;return(0,G.jsxs)(y,{open:S,onOpenChange:be,children:[(0,G.jsx)(re,{label:n,description:i,disabled:s,size:c,error:l,controlId:D,labelId:O,descriptionId:de,errorId:fe,children:(0,G.jsx)(ie,{endAdornmentWidth:`var(--control-height)`,endAdornment:(0,G.jsx)(y.Trigger,{children:(0,G.jsx)(te,{variant:`transparent`,disabled:s,className:H.calendarButton,icon:h===`time`?(0,G.jsx)(he,{}):(0,G.jsx)(r,{}),"aria-label":U})}),children:({controlClassName:e})=>(0,G.jsx)(`div`,{id:D,className:u(b.uiInputControlFake,e),"data-disabled":s||void 0,"data-invalid":l?``:void 0,role:`group`,"aria-invalid":!!l||void 0,"aria-placeholder":Ce,"aria-labelledby":O,"aria-describedby":j,onFocus:B,onBlur:_e,onClick:e=>{e.target===e.currentTarget&&ve()},children:P.map((e,t)=>e.kind===`literal`?(0,G.jsx)(`span`,{className:H.separator,"data-disabled":s||void 0,children:e.text},t):(0,G.jsx)(`input`,{ref:I(t),type:`text`,inputMode:`numeric`,className:H.segmentInput,style:{width:`${e.length+.5}ch`},value:F.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:s,"aria-label":e.ariaLabel,autoComplete:`off`,onChange:L(t),onKeyDown:R(t),onFocus:z()},t))})})}),(0,G.jsx)(y.Content,{background:`primary`,onClose:xe,children:h===`time`?(0,G.jsx)(`div`,{className:H.timeOnlyPopoverContent,children:(0,G.jsx)(me,{value:K,disabled:s,minDate:f,maxDate:p,mode:h,onChange:V})}):(0,G.jsxs)(`div`,{className:u(H.popoverContent,H[m]),children:[(0,G.jsx)(`div`,{className:H.calendarPane,children:(0,G.jsx)(o,{view:oe,datePickerLevel:`day`,selectionMode:`day`,onViewChange:se,value:K,onChange:ye,minDate:f,maxDate:p,currentDate:T,onCurrentDateChange:E})}),(0,G.jsx)(`div`,{className:u(H.timePanelPane,Se),children:(0,G.jsx)(me,{value:K,disabled:s,minDate:f,maxDate:p,mode:h,onChange:V})})]})})]})}var W,G;function Ce(){return(Ce=e((()=>{W=n(),_(),d(),i(),M(),S(),a(),ne(),C(),v(),x(),fe(),F(),Se(),de(),G=c(),U.__docgenInfo={description:`Поле выбора даты-времени со строгой сегментной маской и popover-пикером.`,methods:[],displayName:`SingleDateTimeInput`,props:{error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},timePanelPlacement:{required:!1,tsType:{name:`union`,raw:`"bottom" | "right"`,elements:[{name:`literal`,value:`"bottom"`},{name:`literal`,value:`"right"`}]},description:``,defaultValue:{value:`"right"`,computed:!1}},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}var K=t({Default:()=>Y,Empty:()=>Z,TimeOnly:()=>X,WithLimits:()=>Q,WithRightPanel:()=>$,__namedExportsOrder:()=>Te,default:()=>we}),q,J,we,Y,X,Z,Q,$,Te;function Ee(){return(Ee=e((()=>{q=n(),p(),Ce(),J=c(),we={title:`Shared/UI/SingleDateTimeInput`,component:U,args:{value:null,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля даты и времени.`,control:`text`},description:{description:`Описание под заголовком поля.`,control:`text`},placeholder:{description:`Текстовая подсказка для сегментного ввода.`,control:`text`},value:{description:"Текущее значение в виде `Date | null`.",control:!1},onChange:{description:`Вызывается при вводе или выборе валидной даты-времени.`,control:!1},minDate:{description:`Минимально допустимая дата-время.`,control:`date`},maxDate:{description:`Максимально допустимая дата-время.`,control:`date`},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Сбрасывает внешнюю ошибку при ручном вводе и выборе в picker.`,control:!1},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует сегментный ввод и popover picker.`,control:`boolean`},timePanelPlacement:{description:`Размещение панели выбора времени относительно календаря.`,control:`inline-radio`,options:[`bottom`,`right`]},mode:{description:`Режим работы поля: дата-время или только время.`,control:`inline-radio`,options:[`date-time`,`time`]}}},Y={render:e=>{let[t,n]=(0,q.useState)(e.value??new Date(2026,2,5,9,15,0,0));return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(U,{...e,value:t,onChange:n}),(0,J.jsxs)(`p`,{children:[`Вывод значения через `,(0,J.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsDateTime(value)`}),`:`]}),(0,J.jsx)(`pre`,{children:h(t)}),(0,J.jsxs)(`p`,{children:[`Вывод значения через `,(0,J.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsODataDatetime(value)`}),`:`]}),(0,J.jsx)(`pre`,{children:m(t)})]})},args:{label:`Дата и время`,description:`Фиксированный формат: дд.мм.гггг чч:мм`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`}},X={render:e=>{let[t,n]=(0,q.useState)(new Date(1970,0,1,9,15,0,0));return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(U,{...e,value:t,onChange:n}),(0,J.jsxs)(`p`,{children:[`Вывод значения через `,(0,J.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsTime(value)`}),`:`]}),(0,J.jsx)(`pre`,{children:f(t)}),(0,J.jsx)(`p`,{children:`Техническая дата значения всегда фиксируется как 01.01.1970.`}),(0,J.jsx)(`pre`,{children:t?t.toISOString():``})]})},args:{label:`Время`,description:`Режим только времени с маской чч:мм и wheel-picker без календаря.`,placeholder:`чч:мм`,mode:`time`,minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},Z={render:e=>{let[t,n]=(0,q.useState)(null);return(0,J.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Пустое значение`,description:`Поле можно заполнить вручную или через popover picker.`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`}},Q={render:e=>{let[t,n]=(0,q.useState)(new Date(2026,2,10,12,30,0,0));return(0,J.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Дата отгрузки`,description:`Доступен только интервал с 10 по 12 марта 2026 года.`,minDate:new Date(2026,2,10,9,0,0,0),maxDate:new Date(2026,2,12,18,30,0,0),timePanelPlacement:`bottom`}},$={render:e=>{let[t,n]=(0,q.useState)(new Date(2026,2,10,12,30,0,0));return(0,J.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Дата и время`,description:`Wheel-панель времени расположена справа от календаря.`,timePanelPlacement:`right`}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const [value, setValue] = useState<Date | null>(args.value ?? new Date(2026, 2, 5, 9, 15, 0, 0));
|
|
4
|
+
return <div>
|
|
5
|
+
<SingleDateTimeInput {...args} value={value} onChange={setValue} />
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
Вывод значения через <code className="statusInfo">formatDateAsDateTime(value)</code>:
|
|
9
|
+
</p>
|
|
10
|
+
<pre>{formatDateAsDateTime(value)}</pre>
|
|
11
|
+
<p>
|
|
12
|
+
Вывод значения через <code className="statusInfo">formatDateAsODataDatetime(value)</code>:
|
|
13
|
+
</p>
|
|
14
|
+
<pre>{formatDateAsODataDatetime(value)}</pre>
|
|
15
|
+
</div>;
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
label: "Дата и время",
|
|
19
|
+
description: "Фиксированный формат: дд.мм.гггг чч:мм",
|
|
20
|
+
placeholder: "дд.мм.гггг чч:мм",
|
|
21
|
+
timePanelPlacement: "bottom"
|
|
22
|
+
}
|
|
23
|
+
}`,...Y.parameters?.docs?.source},description:{story:`Демонстрирует основной сценарий выбора даты и времени с точностью до минуты.`,...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
|
|
24
|
+
render: args => {
|
|
25
|
+
const [value, setValue] = useState<Date | null>(new Date(1970, 0, 1, 9, 15, 0, 0));
|
|
26
|
+
return <div>
|
|
27
|
+
<SingleDateTimeInput {...args} value={value} onChange={setValue} />
|
|
28
|
+
|
|
29
|
+
<p>
|
|
30
|
+
Вывод значения через <code className="statusInfo">formatDateAsTime(value)</code>:
|
|
31
|
+
</p>
|
|
32
|
+
<pre>{formatDateAsTime(value)}</pre>
|
|
33
|
+
<p>Техническая дата значения всегда фиксируется как 01.01.1970.</p>
|
|
34
|
+
<pre>{value ? value.toISOString() : ""}</pre>
|
|
35
|
+
</div>;
|
|
36
|
+
},
|
|
37
|
+
args: {
|
|
38
|
+
label: "Время",
|
|
39
|
+
description: "Режим только времени с маской чч:мм и wheel-picker без календаря.",
|
|
40
|
+
placeholder: "чч:мм",
|
|
41
|
+
mode: "time",
|
|
42
|
+
minDate: new Date(2026, 2, 10, 9, 15, 0, 0),
|
|
43
|
+
maxDate: new Date(2026, 2, 10, 18, 30, 0, 0)
|
|
44
|
+
}
|
|
45
|
+
}`,...X.parameters?.docs?.source},description:{story:"Демонстрирует режим выбора только времени на технической дате `1970-01-01`.",...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
|
|
46
|
+
render: args => {
|
|
47
|
+
const [value, setValue] = useState<Date | null>(null);
|
|
48
|
+
return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
|
|
49
|
+
},
|
|
50
|
+
args: {
|
|
51
|
+
label: "Пустое значение",
|
|
52
|
+
description: "Поле можно заполнить вручную или через popover picker.",
|
|
53
|
+
placeholder: "дд.мм.гггг чч:мм",
|
|
54
|
+
timePanelPlacement: "bottom"
|
|
55
|
+
}
|
|
56
|
+
}`,...Z.parameters?.docs?.source},description:{story:`Показывает пустое контролируемое значение.`,...Z.parameters?.docs?.description}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
|
|
57
|
+
render: args => {
|
|
58
|
+
const [value, setValue] = useState<Date | null>(new Date(2026, 2, 10, 12, 30, 0, 0));
|
|
59
|
+
return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
|
|
60
|
+
},
|
|
61
|
+
args: {
|
|
62
|
+
label: "Дата отгрузки",
|
|
63
|
+
description: "Доступен только интервал с 10 по 12 марта 2026 года.",
|
|
64
|
+
minDate: new Date(2026, 2, 10, 9, 0, 0, 0),
|
|
65
|
+
maxDate: new Date(2026, 2, 12, 18, 30, 0, 0),
|
|
66
|
+
timePanelPlacement: "bottom"
|
|
67
|
+
}
|
|
68
|
+
}`,...Q.parameters?.docs?.source},description:{story:`Демонстрирует ограничение диапазона и синхронизацию календаря со временем.`,...Q.parameters?.docs?.description}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
|
|
69
|
+
render: args => {
|
|
70
|
+
const [value, setValue] = useState<Date | null>(new Date(2026, 2, 10, 12, 30, 0, 0));
|
|
71
|
+
return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
|
|
72
|
+
},
|
|
73
|
+
args: {
|
|
74
|
+
label: "Дата и время",
|
|
75
|
+
description: "Wheel-панель времени расположена справа от календаря.",
|
|
76
|
+
timePanelPlacement: "right"
|
|
77
|
+
}
|
|
78
|
+
}`,...$.parameters?.docs?.source},description:{story:`Демонстрирует размещение wheel-панели справа от календаря.`,...$.parameters?.docs?.description}}},Te=[`Default`,`TimeOnly`,`Empty`,`WithLimits`,`WithRightPanel`]})))()}export{Q as a,X as i,Z as n,$ as o,K as r,Ee as s,Y as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./FloatingPopover-D4h-c24R.js";import{c,l as ee,o as te,u as ne}from"./Input-Co--DMHY.js";function l(e){if(!Number.isFinite(e))return 0;let t=e.toString().toLowerCase(),n=t.indexOf(`e-`);if(n>=0)return Number(t.slice(n+2));let r=t.indexOf(`.`);return r>=0?t.length-r-1:0}function u(e,t){if(t<=0)return Math.round(e);let n=10**t;return Math.round(e*n)/n}function d(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?{min:0,max:100}:e<=t?{min:e,max:t}:{min:t,max:e}}function f(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):t}function p(e){return!Number.isFinite(e)||e===void 0||e<=0?1:e}function m(e,t,n){if(!e?.length)return[];let r=new Set;return e.filter(e=>Number.isFinite(e.value)&&e.value>=t&&e.value<=n).slice().sort((e,t)=>e.value-t.value).filter(e=>!r.has(e.value)&&(r.add(e.value),!0))}function h(e,t,n,r){let i=p(r),a=f(e,t,n),o=Math.max(l(i),l(t),l(n));return f(u(t+Math.round((a-t)/i)*i,o),t,n)}function g(e,t){if(!t.length)return;let n=t[0],r=Math.abs(e-n.value);for(let i=1;i<t.length;i+=1){let a=t[i],o=Math.abs(e-a.value);o<r&&(n=a,r=o)}return n}function _(e,t,n,r){if(!t.length)return f(e,n,r);let i=f(e,n,r);return g(i,t)?.value??i}function v(e,t){let{min:n,max:r}=d(t.min,t.max),i=m(t.marks,n,r);return i.length>0?_(e,i,n,r):h(e,n,r,t.step)}function y(e,t,n){return n<=t?0:(f(e,t,n)-t)/(n-t)*100}function re(e,t,n){if(n<=t)return t;let r=f(e,0,100);return t+(n-t)*r/100}function b(e,t,n,r,i=`value`){return i===`index`&&t.length>1?e/(t.length-1)*100:i===`index`?0:y(t[e]?.value??n,n,r)}function x(e,t,n,r,i=`value`){if(!t.length)return;let a=f(e,0,100),o=t[0],s=Math.abs(a-b(0,t,n,r,i));for(let e=1;e<t.length;e+=1){let c=Math.abs(a-b(e,t,n,r,i));c<s&&(o=t[e],s=c)}return o}function ie(e,t,n,r=n.min,i=n.max){let{min:a,max:o}=d(r,i),s=m(n.marks,a,o);if(s.length>0){let n=s.map(e=>e.value),r=0,i=Math.abs(e-n[0]);for(let t=1;t<n.length;t+=1){let a=Math.abs(e-n[t]);a<i&&(i=a,r=t)}return n[f(r+t,0,n.length-1)]}let c=p(n.step);return h(e+t*c,a,o,c)}function S(){return(S=e((()=>{})))()}function C(e,t,n){return m(e,t,n)}function w(e,t,n){let r=t.findIndex(t=>t.value===e.value);return b(Math.max(0,r),t,n.min,n.max,n.marksPosition)}function T(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let a=i.find(t=>t.value===e)??g(e,i);if(a)return w(a,i,{...t,min:n,max:r,marks:i})}return y(e,n,r)}function ae(e,t){let{min:n,max:r}=d(t.min,t.max);return x(e,C(t.marks,n,r),n,r,t.marksPosition)}function E(e,t){return v(e,t)}function oe(e,t){let{min:n,max:r}=d(t.min,t.max);return e===void 0?n:E(e,{...t,min:n,max:r})}function D(e){if(e)return!Object.hasOwn(e,`outputValue`)||e.outputValue===void 0?e.value:e.outputValue}function O(e,t,n){let r=t.filter(t=>D(t)===e);if(r.length)return e===null?n===0?r[0]:r[r.length-1]:r[0]}function k(e,t,n){let r=O(e,t,n);if(r)return r;let i,a=1/0;for(let n of t){let t=D(n);if(typeof t!=`number`||!Number.isFinite(t))continue;let r=Math.abs(e-t);r<a&&(i=n,a=r)}return i}function A(e,t,n,r){if(e===null)return null;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a),s=Number.isFinite(e)?e:t;if(o.length>0){let e=k(s,o,n),r=D(e);return r===void 0?e?.value??t:r}return h(s,i,a,r.step)}function j(e,t){let{min:n,max:r}=d(t.min,t.max);if(!e)return[null,null];let i=A(e[0],n,0,{...t,min:n,max:r}),a=A(e[1],r,1,{...t,min:n,max:r});return i!==null&&a!==null&&i>a?[a,i]:[i,a]}function M(e,t,n,r){if(e===null)return t;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a);return o.length>0?(O(e,o,n)??(typeof e==`number`?k(e,o,n):void 0))?.value??t:h(e,i,a,r.step)}function se(e,t){let{min:n,max:r}=d(t.min,t.max),i=j(e,{...t,min:n,max:r}),a=M(i[0],n,0,{...t,min:n,max:r}),o=M(i[1],r,1,{...t,min:n,max:r});return a<=o?[a,o]:[o,a]}function ce(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let t=g(e,i),n=D(t);return n===void 0?t?.value??e:n}return h(e,n,r,t.step)}function le(e,t){let[n,r]=t;return Math.abs(e-n)<=Math.abs(e-r)?0:1}function ue(e,t){let{min:n,max:r}=d(t.min,t.max);return Array.isArray(e)?{startPercent:T(e[0],{...t,min:n,max:r}),endPercent:T(e[1],{...t,min:n,max:r})}:{startPercent:0,endPercent:T(e,{...t,min:n,max:r})}}function N(){return(N=e((()=>{})))()}var P,F,I,L,R,z,B,V,H,U,W,G,K,q,J,de,Y;function X(){return(X=e((()=>{P=`fA7zne`,F=`TMbaqW`,I=`_77qn1L`,L=`cxJQqh`,R=`gg-atO`,z=`bTLJZl`,B=`vDAmRy`,V=`iNrV0y`,H=`PpaxP2`,U=`_9K78Fi`,W=`vzEDBe`,G=`_0OWJh0`,K=`Mk4xi2`,q=`SL0IDQ`,J=`mdezg5`,de=`a4R18g`,Y={slider:P,sliderCompact:F,trackShell:I,track:L,rail:R,fill:z,thumb:B,marks:V,mark:H,compactMark:U,markDot:W,markLabel:G,popoverContent:K,rangeInputControl:q,rangeSegmentInput:J,rangeSeparator:de}})))()}function fe(e){return e===`ArrowLeft`||e===`ArrowDown`?-1:e===`ArrowRight`||e===`ArrowUp`?1:e===`PageDown`?-10:e===`PageUp`?10:null}function pe(e,t){return!!e&&e[0]===t[0]&&e[1]===t[1]}function me(e,t){return e===null?t===0?`-∞`:`∞`:String(e)}function he(e,t){return t.find(t=>t.value===e)?.label??String(e)}function ge(e){return typeof e==`string`||typeof e==`number`?(0,$.jsx)(`span`,{className:`textNoWrap`,children:e}):e}function Z(e){let{min:t,max:n,step:r,marks:a,marksPosition:o=`value`,marksDisplay:c=`compact`,className:ee,error:l,onClearError:u,label:f,description:p,disabled:m,size:h}=e,{min:g,max:_}=(0,Q.useMemo)(()=>d(t,n),[t,n]),v=(0,Q.useMemo)(()=>C(a,g,_),[a,g,_]),y=(0,Q.useMemo)(()=>({min:g,max:_,step:r,marks:v,marksPosition:o}),[g,_,r,v,o]),b=e.mode===`range`,x=b?void 0:oe(e.value,y),S=b?j(e.value,y):void 0,E=b?se(e.value,y):void 0,D=b?E:[x],O=ue(b?E:x,y),k=(0,Q.useRef)(null),A=(0,Q.useRef)([]),M=(0,Q.useRef)(null),N=(0,Q.useRef)(null),[P,F]=(0,Q.useState)(null),{controlId:I,labelId:L,descriptionId:R,errorId:z,describedBy:B}=ne({hasLabel:f!=null,hasDescription:!!p,hasError:!!l}),V=t=>{m||e.mode!==`single`||(e.value===void 0||e.value!==t)&&(e.onChange(t),u?.())},H=t=>{m||e.mode!==`range`||pe(e.value,t)||(e.onChange(t),u?.())},U=(t,n)=>{if(!m){if(e.mode===`range`){let[e,r]=E,[i,a]=S,o=j(n===0?[ce(Math.min(t,r),y),a]:[i,ce(Math.max(t,e),y)],y);H(o);return}V(oe(t,y))}},W=e=>{let t=k.current?.getBoundingClientRect();if(!t)return g;let n=(e-t.left)/t.width*100;return(v.length>0?ae(n,y):void 0)?.value??re(n,g,_)},G=(0,Q.useRef)(U),K=(0,Q.useRef)(W);(0,Q.useEffect)(()=>{G.current=U,K.current=W}),(0,Q.useEffect)(()=>{let e=e=>{N.current!==null&&e&&e.pointerId!==N.current||(N.current=null,M.current=null,F(null))},t=e=>{M.current!==null&&(N.current===null||e.pointerId===N.current)&&G.current(K.current(e.clientX),M.current)};return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,e),window.addEventListener(`pointercancel`,e),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,e),window.removeEventListener(`pointercancel`,e)}},[]);let q=(e,t)=>{N.current=e,M.current=t,F(t),A.current[t]?.focus()},J=e=>{if(m)return;e.preventDefault();let t=W(e.clientX),n=b?le(t,E):0;U(t,n),q(e.pointerId,n)},de=e=>t=>{m||(t.preventDefault(),t.stopPropagation(),q(t.pointerId,e))},X=e=>t=>{if(m)return;let n=b&&e===1?E[0]:g,r=b&&e===0?E[1]:_,i=fe(t.key);if(t.key===`Home`){t.preventDefault(),U(n,e);return}if(t.key===`End`){t.preventDefault(),U(r,e);return}if(i===null)return;t.preventDefault();let a=D[e],o=ie(a,i,y,n,r);U(o,e)},Z=e=>{if(m)return;let t=b?le(e,E):0;U(e,t),A.current[t]?.focus()},_e=(e,t)=>{if(b){let n=S[t];return v.find(t=>t.value===e)?.label??me(n,t)}return he(e,v)};return(0,$.jsx)(te,{label:f,description:p,disabled:m,className:ee,size:h,error:l,controlId:I,labelId:L,descriptionId:R,errorId:z,children:(0,$.jsxs)(`div`,{id:I,className:i(Y.slider,c===`compact`&&Y.sliderCompact),children:[(0,$.jsx)(`div`,{className:Y.trackShell,children:(0,$.jsxs)(`div`,{ref:k,"data-slot":`track`,className:Y.track,role:`presentation`,onPointerDown:J,children:[(0,$.jsx)(`div`,{className:Y.rail}),(0,$.jsx)(`div`,{"data-slot":`fill`,className:Y.fill,style:{left:`${O.startPercent}%`,width:`${O.endPercent-O.startPercent}%`}}),c===`compact`&&v.map(e=>{let t=w(e,v,y),n=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:ge(e.label),children:(0,$.jsx)(`button`,{type:`button`,"data-slot":`mark`,"data-active":n?``:void 0,className:Y.compactMark,style:{left:`${t}%`},"aria-label":e.ariaLabel,disabled:m,onClick:()=>Z(e.value),children:(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`})})},e.value)}),D.map((e,t)=>{let n=_e(e,t);return(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:ge(n),openDelay:0,closeDelay:100,children:(0,$.jsx)(`button`,{ref:e=>{A.current[t]=e},type:`button`,role:`slider`,"data-slot":`thumb`,"data-thumb-index":t,"data-dragging":P===t?``:void 0,className:Y.thumb,disabled:m,style:{left:`${T(e,y)}%`},"aria-disabled":m||void 0,"aria-orientation":`horizontal`,"aria-valuemin":b&&t===1?E[0]:g,"aria-valuemax":b&&t===0?E[1]:_,"aria-valuenow":e,"aria-valuetext":typeof n==`string`||typeof n==`number`?String(n):void 0,"aria-labelledby":L,"aria-describedby":B,"aria-label":L?void 0:b?t===0?`Минимальное значение`:`Максимальное значение`:`Значение`,onPointerDown:de(t),onKeyDown:X(t)})},t)})]})}),c===`full`&&v.length>0&&(0,$.jsx)(`div`,{className:Y.marks,children:v.map(e=>{let t=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsxs)(`button`,{type:`button`,"data-slot":`mark`,"data-active":t?``:void 0,className:Y.mark,style:{left:`${w(e,v,y)}%`},"aria-label":e.ariaLabel,disabled:m,onClick:()=>Z(e.value),children:[(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y.markLabel,children:e.label})]},e.value)})})]})})}function _e(e){return(0,$.jsx)(Z,{...e,mode:`single`,marksDisplay:`compact`})}function ve(e){return(0,$.jsx)(Z,{...e,mode:`range`,marksDisplay:`compact`})}var Q,$;function ye(){return(ye=e((()=>{Q=t(n(),1),a(),c(),ee(),o(),N(),X(),$=r(),Z.__docgenInfo={description:``,methods:[],displayName:`SliderBase`},_e.__docgenInfo={description:``,methods:[],displayName:`Slider`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]},ve.__docgenInfo={description:``,methods:[],displayName:`SliderRange`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]}})))()}export{Y as a,N as c,C as d,S as f,ye as i,j as l,Z as n,X as o,d as p,ve as r,D as s,_e as t,oe as u};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,T.jsx)(
|
|
3
|
-
`,(0,T.jsx)(
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-DaN-XFub.js";import{i as n,r}from"./react-qN2cStNd.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BiaKjftm.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./Slider.stories-CgmOhVBs.js";function C(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,T.jsx)(u,{children:`Slider`}),`
|
|
3
|
+
`,(0,T.jsx)(o,{children:`Компактные single и range слайдеры с marks, tooltip и открытыми границами`}),`
|
|
4
4
|
`,(0,T.jsxs)(t.p,{children:[(0,T.jsx)(t.code,{children:`Slider`}),` и `,(0,T.jsx)(t.code,{children:`SliderRange`}),` — отдельные публичные компоненты. Оба используют общую числовую шкалу, но не смешивают single/range через prop.`]}),`
|
|
5
5
|
`,(0,T.jsxs)(t.ul,{children:[`
|
|
6
6
|
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`Slider`}),` возвращает одно finite-число;`]}),`
|
|
@@ -10,8 +10,8 @@ import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-BJGIOdSH
|
|
|
10
10
|
`,(0,T.jsxs)(t.li,{children:[(0,T.jsx)(t.code,{children:`marksPosition="index"`}),` размещает marks с равным визуальным шагом.`]}),`
|
|
11
11
|
`]}),`
|
|
12
12
|
`,(0,T.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
13
|
-
`,(0,T.jsx)(
|
|
14
|
-
`,(0,T.jsx)(
|
|
13
|
+
`,(0,T.jsx)(f,{}),`
|
|
14
|
+
`,(0,T.jsx)(i,{of:b}),`
|
|
15
15
|
`,(0,T.jsx)(t.pre,{children:(0,T.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
|
|
16
16
|
|
|
17
17
|
import { Slider } from "@/shared/ui";
|
|
@@ -42,22 +42,22 @@ export function Example() {
|
|
|
42
42
|
`})}),`
|
|
43
43
|
`,(0,T.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
|
|
44
44
|
`,(0,T.jsx)(t.h3,{id:`single-со-step`,children:`Single со step`}),`
|
|
45
|
-
`,(0,T.jsx)(
|
|
45
|
+
`,(0,T.jsx)(d,{of:b}),`
|
|
46
46
|
`,(0,T.jsx)(t.h3,{id:`single-с-compact-marks`,children:`Single с compact marks`}),`
|
|
47
|
-
`,(0,T.jsx)(
|
|
47
|
+
`,(0,T.jsx)(d,{of:m}),`
|
|
48
48
|
`,(0,T.jsx)(t.h3,{id:`равные-расстояния-между-неравномерными-значениями`,children:`Равные расстояния между неравномерными значениями`}),`
|
|
49
|
-
`,(0,T.jsx)(
|
|
49
|
+
`,(0,T.jsx)(d,{of:_}),`
|
|
50
50
|
`,(0,T.jsx)(t.h3,{id:`range-без-outputvalue`,children:`Range без outputValue`}),`
|
|
51
|
-
`,(0,T.jsx)(
|
|
51
|
+
`,(0,T.jsx)(d,{of:v}),`
|
|
52
52
|
`,(0,T.jsx)(t.h3,{id:`range-с-открытыми-границами-без-outputvalue-у-обычных-marks`,children:`Range с открытыми границами без outputValue у обычных marks`}),`
|
|
53
|
-
`,(0,T.jsx)(
|
|
53
|
+
`,(0,T.jsx)(d,{of:p}),`
|
|
54
54
|
`,(0,T.jsx)(t.h3,{id:`range-с-outputvalue-месяцы-на-шкале-дни-в-фильтре`,children:`Range с outputValue: месяцы на шкале, дни в фильтре`}),`
|
|
55
|
-
`,(0,T.jsx)(
|
|
55
|
+
`,(0,T.jsx)(d,{of:y}),`
|
|
56
56
|
`,(0,T.jsx)(t.h3,{id:`range-с-outputvalue-и-открытыми-границами`,children:`Range с outputValue и открытыми границами`}),`
|
|
57
|
-
`,(0,T.jsx)(
|
|
57
|
+
`,(0,T.jsx)(d,{of:h}),`
|
|
58
58
|
`,(0,T.jsx)(t.h3,{id:`disabled`,children:`Disabled`}),`
|
|
59
|
-
`,(0,T.jsx)(
|
|
59
|
+
`,(0,T.jsx)(d,{of:x}),`
|
|
60
60
|
`,(0,T.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
61
|
-
`,(0,T.jsx)(
|
|
61
|
+
`,(0,T.jsx)(l,{of:g}),`
|
|
62
62
|
`,(0,T.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
63
|
-
`,(0,T.jsx)(
|
|
63
|
+
`,(0,T.jsx)(a,{includePrimary:!1})]})}function w(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,T.jsx)(t,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;function E(){return(E=e((()=>{T=t(),r(),c(),S()})))()}E();export{w as default};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{i,r as a,t as o}from"./Slider-BYrHesOR.js";var s=t({Disabled:()=>E,MonthsIndexMarks:()=>x,RangeMonthToDaysOutput:()=>w,RangeOpenMonthToDaysOutput:()=>T,RangeOpenWithoutExplicitMiddleOutput:()=>C,RangePlain:()=>S,SingleStep:()=>y,SingleWithMarks:()=>b,__namedExportsOrder:()=>D,default:()=>v});function c(e,t){return e===null?`null`:`${e}${t}`}function l(e,t,n=``){let[r,i]=e??[null,null],a=[];return r!==null&&a.push(`${t} >= ${r}${n}`),i!==null&&a.push(`${t} <= ${i}${n}`),a.length>0?a.join(` AND `):`Фильтр не ограничивает значение`}function u({value:e,field:t,unit:n=``,children:r}){let[i,a]=e??[null,null];return(0,f.jsxs)(`div`,{className:`marginTopMd`,children:[(0,f.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,f.jsx)(`pre`,{children:JSON.stringify({value:[i,a],human:`${c(i,n)} — ${c(a,n)}`,filter:l(e,t,n)},null,2)}),r]})}var d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D;function O(){return(O=e((()=>{d=n(),i(),f=r(),p=[{value:0,label:`0`},{value:25,label:`25`},{value:50,label:`50`},{value:75,label:`75`},{value:100,label:`100`}],m=[{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:9,label:`9 мес.`},{value:12,label:`12 мес.`},{value:18,label:`18 мес.`},{value:24,label:`24 мес.`}],h=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],g=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],_=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720},{value:25,label:`Без верхней границы`,outputValue:null}],v={title:`Shared/UI/Slider`,component:o,args:{value:30,onChange:()=>{},min:0,max:100,step:5},parameters:{atomicCanvas:!0,layout:`padded`}},y={render:e=>{let t=e,[n,r]=(0,d.useState)(e.value);return(0,f.jsx)(o,{...t,label:`Громкость`,value:n,onChange:r})},args:{description:`Компактный single-value слайдер со step=5.`,value:35,step:5}},b={render:e=>{let t=e,[n,r]=(0,d.useState)(50);return(0,f.jsx)(o,{...t,label:`Процент выполнения`,value:n,onChange:r})},args:{description:`Marks активны, кликабельны и показывают подписи через tooltip.`,value:50,marks:p}},x={render:e=>{let t=e,[n,r]=(0,d.useState)(6);return(0,f.jsx)(o,{...t,label:`Срок`,value:n,onChange:r})},args:{min:1,max:24,value:6,marks:m,marksPosition:`index`,description:`Неравномерные значения месяцев расположены с равным визуальным шагом.`}},S={render:()=>{let[e,t]=(0,d.useState)([25,75]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(a,{label:`Процент выполнения`,description:"Обычный range: `value` mark является и координатой шкалы, и значением фильтра.",min:0,max:100,marks:p,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`progress`,unit:`%`})]})}},C={render:()=>{let[e,t]=(0,d.useState)([null,12]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(a,{label:`Срок в месяцах`,description:"Открытые границы задаются только крайними `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:h,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`months`,unit:` мес.`})]})}},w={render:()=>{let[e,t]=(0,d.useState)([90,360]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(a,{label:`Срок: месяцы на шкале, дни в фильтре`,description:"`value` хранит координату/месяцы, `outputValue` отдаёт наружу дни.",min:1,max:24,marks:g,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`days`,unit:` дн.`})]})}},T={render:()=>{let[e,t]=(0,d.useState)([null,720]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(a,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:_,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`days`,unit:` дн.`})]})}},E={args:{label:`Недоступно`,description:`Состояние без интеракций.`,value:40,disabled:!0,marks:p}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const sliderArgs = args as SliderProps;
|
|
4
|
+
const [value, setValue] = useState<number | undefined>(args.value as number | undefined);
|
|
5
|
+
return <Slider {...sliderArgs} label="Громкость" value={value} onChange={setValue} />;
|
|
6
|
+
},
|
|
7
|
+
args: {
|
|
8
|
+
description: "Компактный single-value слайдер со step=5.",
|
|
9
|
+
value: 35,
|
|
10
|
+
step: 5
|
|
11
|
+
}
|
|
12
|
+
}`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
|
|
13
|
+
render: args => {
|
|
14
|
+
const sliderArgs = args as SliderProps;
|
|
15
|
+
const [value, setValue] = useState<number | undefined>(50);
|
|
16
|
+
return <Slider {...sliderArgs} label="Процент выполнения" value={value} onChange={setValue} />;
|
|
17
|
+
},
|
|
18
|
+
args: {
|
|
19
|
+
description: "Marks активны, кликабельны и показывают подписи через tooltip.",
|
|
20
|
+
value: 50,
|
|
21
|
+
marks: percentMarks
|
|
22
|
+
}
|
|
23
|
+
}`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
24
|
+
render: args => {
|
|
25
|
+
const sliderArgs = args as SliderProps;
|
|
26
|
+
const [value, setValue] = useState<number | undefined>(6);
|
|
27
|
+
return <Slider {...sliderArgs} label="Срок" value={value} onChange={setValue} />;
|
|
28
|
+
},
|
|
29
|
+
args: {
|
|
30
|
+
min: 1,
|
|
31
|
+
max: 24,
|
|
32
|
+
value: 6,
|
|
33
|
+
marks: monthMarks,
|
|
34
|
+
marksPosition: "index",
|
|
35
|
+
description: "Неравномерные значения месяцев расположены с равным визуальным шагом."
|
|
36
|
+
}
|
|
37
|
+
}`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
38
|
+
render: () => {
|
|
39
|
+
const [value, setValue] = useState<SliderRangeValue | undefined>([25, 75]);
|
|
40
|
+
return <>
|
|
41
|
+
<SliderRange label="Процент выполнения" description="Обычный range: \`value\` mark является и координатой шкалы, и значением фильтра." min={0} max={100} marks={percentMarks} value={value} onChange={setValue} />
|
|
42
|
+
<RangePreview value={value} field="progress" unit="%" />
|
|
43
|
+
</>;
|
|
44
|
+
}
|
|
45
|
+
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
46
|
+
render: () => {
|
|
47
|
+
const [value, setValue] = useState<SliderRangeValue | undefined>([null, 12]);
|
|
48
|
+
return <>
|
|
49
|
+
<SliderRange label="Срок в месяцах" description="Открытые границы задаются только крайними \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`." min={0} max={25} marks={openMonthMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
50
|
+
<RangePreview value={value} field="months" unit=" мес." />
|
|
51
|
+
</>;
|
|
52
|
+
}
|
|
53
|
+
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
54
|
+
render: () => {
|
|
55
|
+
const [value, setValue] = useState<SliderRangeValue | undefined>([90, 360]);
|
|
56
|
+
return <>
|
|
57
|
+
<SliderRange label="Срок: месяцы на шкале, дни в фильтре" description="\`value\` хранит координату/месяцы, \`outputValue\` отдаёт наружу дни." min={1} max={24} marks={monthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
58
|
+
<RangePreview value={value} field="days" unit=" дн." />
|
|
59
|
+
</>;
|
|
60
|
+
}
|
|
61
|
+
}`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
|
|
62
|
+
render: () => {
|
|
63
|
+
const [value, setValue] = useState<SliderRangeValue | undefined>([null, 720]);
|
|
64
|
+
return <>
|
|
65
|
+
<SliderRange label="Срок: открытые границы и дни в фильтре" description="Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
66
|
+
<RangePreview value={value} field="days" unit=" дн." />
|
|
67
|
+
</>;
|
|
68
|
+
}
|
|
69
|
+
}`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
|
|
70
|
+
args: {
|
|
71
|
+
label: "Недоступно",
|
|
72
|
+
description: "Состояние без интеракций.",
|
|
73
|
+
value: 40,
|
|
74
|
+
disabled: true,
|
|
75
|
+
marks: percentMarks
|
|
76
|
+
}
|
|
77
|
+
}`,...E.parameters?.docs?.source}}},D=[`SingleStep`,`SingleWithMarks`,`MonthsIndexMarks`,`RangePlain`,`RangeOpenWithoutExplicitMiddleOutput`,`RangeMonthToDaysOutput`,`RangeOpenMonthToDaysOutput`,`Disabled`]})))()}export{C as a,b as c,T as i,s as l,x as n,S as o,w as r,y as s,E as t,O as u};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,E.jsx)(
|
|
3
|
-
`,(0,E.jsx)(
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-DaN-XFub.js";import{i as n,r}from"./react-qN2cStNd.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BiaKjftm.js";import{a as p,c as m,d as h,i as g,l as _,n as v,o as y,r as b,s as x,t as S,u as C}from"./SliderInput.stories-MjSmhiOM.js";function w(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(s,{of:C,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,E.jsx)(u,{children:`SliderInput`}),`
|
|
3
|
+
`,(0,E.jsx)(o,{children:`Поля ввода для single и range с popover slider`}),`
|
|
4
4
|
`,(0,E.jsxs)(t.p,{children:[(0,E.jsx)(t.code,{children:`SliderInput`}),` работает с одним числом, а `,(0,E.jsx)(t.code,{children:`SliderRangeInput`}),` — с диапазоном `,(0,E.jsx)(t.code,{children:`[number | null, number | null]`}),`.`]}),`
|
|
5
5
|
`,(0,E.jsxs)(t.ul,{children:[`
|
|
6
6
|
`,(0,E.jsxs)(t.li,{children:[`ручной ввод коммитится на `,(0,E.jsx)(t.code,{children:`blur`}),` и `,(0,E.jsx)(t.code,{children:`Enter`}),`;`]}),`
|
|
@@ -10,8 +10,8 @@ import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-BJGIOdSH
|
|
|
10
10
|
`,(0,E.jsxs)(t.li,{children:[`пустой range-сегмент коммитится как `,(0,E.jsx)(t.code,{children:`null`}),` и отображается как `,(0,E.jsx)(t.code,{children:`-∞`}),` или `,(0,E.jsx)(t.code,{children:`∞`}),`.`]}),`
|
|
11
11
|
`]}),`
|
|
12
12
|
`,(0,E.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
13
|
-
`,(0,E.jsx)(
|
|
14
|
-
`,(0,E.jsx)(
|
|
13
|
+
`,(0,E.jsx)(f,{}),`
|
|
14
|
+
`,(0,E.jsx)(i,{of:S}),`
|
|
15
15
|
`,(0,E.jsx)(t.pre,{children:(0,E.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
|
|
16
16
|
|
|
17
17
|
import { SliderInput } from "@/shared/ui";
|
|
@@ -35,24 +35,24 @@ export function Example() {
|
|
|
35
35
|
`})}),`
|
|
36
36
|
`,(0,E.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
|
|
37
37
|
`,(0,E.jsx)(t.h3,{id:`базовый-single-input`,children:`Базовый single input`}),`
|
|
38
|
-
`,(0,E.jsx)(
|
|
38
|
+
`,(0,E.jsx)(d,{of:S}),`
|
|
39
39
|
`,(0,E.jsx)(t.h3,{id:`snap-по-marks`,children:`Snap по marks`}),`
|
|
40
|
-
`,(0,E.jsx)(
|
|
40
|
+
`,(0,E.jsx)(d,{of:g}),`
|
|
41
41
|
`,(0,E.jsx)(t.h3,{id:`десятичный-ручной-ввод`,children:`Десятичный ручной ввод`}),`
|
|
42
|
-
`,(0,E.jsx)(
|
|
42
|
+
`,(0,E.jsx)(d,{of:v}),`
|
|
43
43
|
`,(0,E.jsx)(t.h3,{id:`rangeinput-без-outputvalue`,children:`RangeInput без outputValue`}),`
|
|
44
|
-
`,(0,E.jsx)(
|
|
44
|
+
`,(0,E.jsx)(d,{of:m}),`
|
|
45
45
|
`,(0,E.jsx)(t.h3,{id:`rangeinput-с-открытыми-границами-без-outputvalue-у-обычных-marks`,children:`RangeInput с открытыми границами без outputValue у обычных marks`}),`
|
|
46
|
-
`,(0,E.jsx)(
|
|
46
|
+
`,(0,E.jsx)(d,{of:x}),`
|
|
47
47
|
`,(0,E.jsx)(t.h3,{id:`rangeinput-с-outputvalue-месяцы-на-шкале-дни-в-фильтре`,children:`RangeInput с outputValue: месяцы на шкале, дни в фильтре`}),`
|
|
48
|
-
`,(0,E.jsx)(
|
|
48
|
+
`,(0,E.jsx)(d,{of:p}),`
|
|
49
49
|
`,(0,E.jsx)(t.h3,{id:`rangeinput-с-outputvalue-и-открытыми-границами`,children:`RangeInput с outputValue и открытыми границами`}),`
|
|
50
|
-
`,(0,E.jsx)(
|
|
50
|
+
`,(0,E.jsx)(d,{of:y}),`
|
|
51
51
|
`,(0,E.jsx)(t.h3,{id:`rangeinput-с-текстом-вместо-ручного-ввода`,children:`RangeInput с текстом вместо ручного ввода`}),`
|
|
52
|
-
`,(0,E.jsx)(
|
|
52
|
+
`,(0,E.jsx)(d,{of:_}),`
|
|
53
53
|
`,(0,E.jsx)(t.h3,{id:`disabled`,children:`Disabled`}),`
|
|
54
|
-
`,(0,E.jsx)(
|
|
54
|
+
`,(0,E.jsx)(d,{of:b}),`
|
|
55
55
|
`,(0,E.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
56
|
-
`,(0,E.jsx)(
|
|
56
|
+
`,(0,E.jsx)(l,{of:C}),`
|
|
57
57
|
`,(0,E.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
58
|
-
`,(0,E.jsx)(
|
|
58
|
+
`,(0,E.jsx)(a,{includePrimary:!1})]})}function T(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,E.jsx)(t,{...e,children:(0,E.jsx)(w,{...e})}):w(e)}var E;function D(){return(D=e((()=>{E=t(),r(),c(),h()})))()}D();export{T as default};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{a as o,o as s,s as c}from"./odata-service-DnPlNGpU-Bpd4Zh9L.js";import{n as l,t as u}from"./Popover-D6gSyjaW.js";import{n as d,t as f}from"./ui.module-DoMIk8Oc.js";import{a as p,c as m,l as h,o as g,r as ee,u as _}from"./Input-Co--DMHY.js";import{n as v,t as y}from"./PickerTriggerActions-BBZmXagt.js";import{a as b,c as x,d as te,i as S,l as C,n as ne,o as w,p as re,s as T,u as E}from"./Slider-BYrHesOR.js";function ie({open:e,disabled:t,setOpen:n}){return(0,P.jsx)(u.Trigger,{passive:!0,children:(0,P.jsx)(`div`,{children:(0,P.jsx)(y,{open:e,disabled:t,openAriaLabel:`Открыть слайдер`,closeAriaLabel:`Закрыть слайдер`,onToggleMouseDown:e=>e.preventDefault(),onToggleClick:()=>n(e=>!e)})})})}function D(e,t){let n=C(e,t);return{start:n[0]===null?`-∞`:String(n[0]),end:n[1]===null?`∞`:String(n[1])}}function ae(e,t){let n=e.trim();return n===``||n===t?null:s(n)}function O(e,t,n){let r=t.filter(t=>T(t)===e);if(r.length)return e===null&&n===`end`?r[r.length-1]:r[0]}function k(e,t){return e?.readonlyLabel?.trim()?e.readonlyLabel.trim():typeof e?.label==`string`||typeof e?.label==`number`?String(e.label):t===null?``:String(t)}function A(e,t,n){return k(O(e,t,n),e)}function oe(e,t,n){let[r,i]=e,a=r===null,o=i===null;return a&&o?n??``:a?`Меньше ${A(i,t,`end`)}`:o?`Больше ${A(r,t,`start`)}`:r===i?`Равно ${A(r,t,`start`)}`:`От ${A(r,t,`start`)} до ${A(i,t,`end`)}`}function j({value:e,onChange:t,min:n,max:r,step:i,marks:a,marksPosition:o=`value`,className:c,error:l,onClearError:d,label:f,description:m,placeholder:h,disabled:g,size:ee}){let{min:_,max:v}=(0,N.useMemo)(()=>re(n,r),[n,r]),y=(0,N.useMemo)(()=>te(a,_,v),[a,_,v]),x=(0,N.useMemo)(()=>({min:_,max:v,step:i,marks:y,marksPosition:o}),[_,v,i,y,o]),S=E(e,x),[C,w]=(0,N.useState)(!1),[T,D]=(0,N.useState)(String(S)),ae=(0,N.useEffectEvent)(e=>{D(e)});(0,N.useEffect)(()=>{ae(String(S))},[S]);let O=(0,N.useCallback)(()=>{if(g){D(String(S));return}let n=s(T);if(n===void 0){D(String(S));return}let r=E(n,x);e!==r&&(t(r),d?.()),D(String(r))},[g,T,S,t,d,x,e]);return(0,P.jsxs)(u,{open:C,onOpenChange:w,children:[(0,P.jsx)(p,{label:f,description:m,placeholder:h,disabled:g,size:ee,className:c,error:l,value:T,onChange:D,onBlur:O,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),O())},endAdornmentWidth:`var(--control-height)`,endAdornment:ie({open:C,disabled:g,setOpen:w})}),(0,P.jsx)(u.Content,{background:`primary`,children:(0,P.jsx)(`div`,{className:b.popoverContent,children:(0,P.jsx)(ne,{mode:`single`,min:_,max:v,step:i,marks:y,marksPosition:o,marksDisplay:`full`,value:e,onChange:e=>{t(e),D(String(e)),d?.()},disabled:g})})})]})}function M({value:e,onChange:t,min:n,max:r,step:a,marks:o,marksPosition:s=`value`,className:c,error:l,onClearError:f,label:p,description:m,readonlyValueText:h,placeholder:v,disabled:y,size:x}){let{min:S,max:w}=(0,N.useMemo)(()=>re(n,r),[n,r]),T=(0,N.useMemo)(()=>te(o,S,w),[o,S,w]),E=(0,N.useMemo)(()=>({min:S,max:w,step:a,marks:T,marksPosition:s}),[S,w,a,T,s]),O=(0,N.useMemo)(()=>C(e,E),[E,e]),k=(0,N.useMemo)(()=>D(O,E),[O,E]),[A,j]=(0,N.useState)(!1),[M,F]=(0,N.useState)(k.start),[I,L]=(0,N.useState)(k.end),[R,z]=(0,N.useState)(O),B=(0,N.useEffectEvent)((e,t)=>{F(e),L(t)});(0,N.useEffect)(()=>{A||B(k.start,k.end)},[k.start,k.end,O,A]);let{controlId:V,labelId:H,descriptionId:U,errorId:W,describedBy:G}=_({hasLabel:p!=null,hasDescription:!!m,hasError:!!l}),K=(0,N.useCallback)(()=>{F(k.start),L(k.end)},[k.end,k.start]),q=(0,N.useCallback)(()=>{if(y){K();return}let e=ae(M,`-∞`),n=ae(I,`∞`);if(e===void 0||n===void 0){K();return}let r=C([e,n],E);se(O,r)||(t(r),f?.());let i=D(r,E);F(i.start),L(i.end),z(r)},[y,I,M,O,t,f,K,E]),J=(0,N.useCallback)(e=>{let n=C(e,E);se(O,n)||(t(n),f?.());let r=D(n,E);F(r.start),L(r.end),z(n)},[O,t,f,E]),Y=e=>{!A&&e&&(z(O),F(k.start),L(k.end)),A&&!e&&!y&&J(R),j(e)},X=e=>{e.key===`Enter`&&(e.preventDefault(),q())},Z=e=>{let t=C(e,E);z(t);let n=D(t,E);F(n.start),L(n.end)},Q=h?oe(A?R:O,T,v):void 0;return(0,P.jsxs)(u,{open:A,onOpenChange:Y,children:[(0,P.jsx)(g,{label:p,description:m,disabled:y,className:c,size:x,error:l,controlId:V,labelId:H,descriptionId:U,errorId:W,children:(0,P.jsx)(ee,{endAdornmentWidth:`var(--control-height)`,endAdornment:ie({open:A,disabled:y,setOpen:e=>{Y(typeof e==`function`?e(A):e)}}),children:({controlClassName:e})=>(0,P.jsx)(`div`,{id:V,className:i(d.uiInputControlFake,b.rangeInputControl,e),"data-invalid":l?``:void 0,"data-disabled":y||void 0,role:`group`,"aria-invalid":!!l||void 0,"aria-label":typeof p==`string`?p:`Диапазон`,"aria-labelledby":typeof p==`string`?void 0:H,"aria-describedby":G,children:h?(0,P.jsx)(`span`,{className:i(`flexEllipsis`,!Q&&d.uiPlaceholder),children:Q||v}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:M,disabled:y,"aria-label":`Начало диапазона`,onChange:e=>F(e.target.value),onBlur:q,onKeyDown:X}),(0,P.jsx)(`span`,{className:b.rangeSeparator,"data-disabled":y||void 0,children:`-`}),(0,P.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:I,disabled:y,"aria-label":`Конец диапазона`,onChange:e=>L(e.target.value),onBlur:q,onKeyDown:X})]})})})}),(0,P.jsx)(u.Content,{background:`primary`,children:(0,P.jsx)(`div`,{className:b.popoverContent,children:(0,P.jsx)(ne,{mode:`range`,min:S,max:w,step:a,marks:T,marksPosition:s,marksDisplay:`full`,value:R,onChange:Z,disabled:y})})})]})}function se(e,t){return e[0]===t[0]&&e[1]===t[1]}var N,P;function F(){return(F=e((()=>{N=n(),c(),a(),m(),h(),v(),l(),f(),x(),S(),w(),P=r(),j.__docgenInfo={description:``,methods:[],displayName:`SliderInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks single-слайдера. Single-компонент отдаёт наружу `mark.value`."}}},M.__docgenInfo={description:``,methods:[],displayName:`SliderRangeInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks range-слайдера. `value` задаёт координату на шкале, `outputValue` задаёт публичное значение для потребителя."},readonlyValueText:{required:!1,tsType:{name:`boolean`},description:`Показывает вместо ручных сегментов готовый текст по выбранным marks.
|
|
2
|
+
Popover остаётся единственным способом изменить значение через слайдер, а потребитель получает изменение при закрытии popover.`}}}})))()}var I=t({Basic:()=>G,DecimalManualInput:()=>q,Disabled:()=>$,MarksSnap:()=>K,RangeInputMonthToDaysOutput:()=>X,RangeInputOpenMonthToDaysOutput:()=>Z,RangeInputOpenWithoutExplicitMiddleOutput:()=>Y,RangeInputPlain:()=>J,RangeInputReadonlyText:()=>Q,__namedExportsOrder:()=>ce,default:()=>W});function L({value:e,field:t,children:n}){let[r,i]=e??[null,null];return(0,z.jsxs)(`div`,{className:`marginTopMd`,children:[(0,z.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,z.jsx)(`pre`,{children:JSON.stringify({value:[r,i],filter:o(t,e)},null,2)}),n]})}var R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,ce;function le(){return(le=e((()=>{R=n(),c(),F(),z=r(),B=[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}],V=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],H=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],U=[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],W={title:`Shared/UI/SliderInput`,component:j,args:{value:12,onChange:()=>{},min:0,max:100,step:.5},parameters:{atomicCanvas:!0,layout:`padded`}},G={render:e=>{let[t,n]=(0,R.useState)(e.value);return(0,z.jsx)(j,{...e,label:`Порог`,description:`Ручной ввод и popover slider работают с одним значением.`,value:t,onChange:n})}},K={render:e=>{let[t,n]=(0,R.useState)(40);return(0,z.jsx)(j,{...e,label:`Готовый пресет`,marks:B,value:t,onChange:n})}},q={render:e=>{let[t,n]=(0,R.useState)(17.5);return(0,z.jsx)(j,{...e,label:`Десятичное значение`,value:t,onChange:n})},args:{step:.5}},J={render:()=>{let[e,t]=(0,R.useState)([20,80]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Процент выполнения`,description:"RangeInput без outputValue: наружу отдаётся координата `value`.",min:0,max:100,marks:B,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`progress`,unit:`%`})]})}},Y={render:()=>{let[e,t]=(0,R.useState)([null,12]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок в месяцах`,description:"У крайних marks `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:V,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`months`,unit:` мес.`})]})}},X={render:()=>{let[e,t]=(0,R.useState)([90,360]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок: месяцы на шкале, дни в фильтре`,description:`В поле и фильтре видны дни, а popover показывает месячные marks.`,min:1,max:24,marks:H,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},Z={render:()=>{let[e,t]=(0,R.useState)([null,720]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:U,marksPosition:`index`,value:e,onChange:t}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},Q={render:()=>{let[e,t]=(0,R.useState)([90,180]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(M,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,min:0,max:25,marks:U,marksPosition:`index`,value:e,onChange:t,readonlyValueText:!0,placeholder:`Любой срок`}),(0,z.jsx)(L,{value:e,field:`days`,unit:` дн.`})]})}},$={args:{label:`Недоступно`,description:`Поле и popover отключены.`,value:20,disabled:!0,marks:B}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
|
|
3
|
+
render: args => {
|
|
4
|
+
const [value, setValue] = useState<number>(args.value);
|
|
5
|
+
return <SliderInput {...args} label="Порог" description="Ручной ввод и popover slider работают с одним значением." value={value} onChange={setValue} />;
|
|
6
|
+
}
|
|
7
|
+
}`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
|
|
8
|
+
render: args => {
|
|
9
|
+
const [value, setValue] = useState<number>(40);
|
|
10
|
+
return <SliderInput {...args} label="Готовый пресет" marks={percentMarks} value={value} onChange={setValue} />;
|
|
11
|
+
}
|
|
12
|
+
}`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
|
|
13
|
+
render: args => {
|
|
14
|
+
const [value, setValue] = useState<number>(17.5);
|
|
15
|
+
return <SliderInput {...args} label="Десятичное значение" value={value} onChange={setValue} />;
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
step: 0.5
|
|
19
|
+
}
|
|
20
|
+
}`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
|
|
21
|
+
render: () => {
|
|
22
|
+
const [value, setValue] = useState<SliderRangeValue>([20, 80]);
|
|
23
|
+
return <>
|
|
24
|
+
<SliderRangeInput label="Процент выполнения" description="RangeInput без outputValue: наружу отдаётся координата \`value\`." min={0} max={100} marks={percentMarks} value={value} onChange={setValue} />
|
|
25
|
+
<RangePreview value={value} field="progress" unit="%" />
|
|
26
|
+
</>;
|
|
27
|
+
}
|
|
28
|
+
}`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
|
|
29
|
+
render: () => {
|
|
30
|
+
const [value, setValue] = useState<SliderRangeValue>([null, 12]);
|
|
31
|
+
return <>
|
|
32
|
+
<SliderRangeInput label="Срок в месяцах" description="У крайних marks \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`." min={0} max={25} marks={openMonthMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
33
|
+
<RangePreview value={value} field="months" unit=" мес." />
|
|
34
|
+
</>;
|
|
35
|
+
}
|
|
36
|
+
}`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
|
|
37
|
+
render: () => {
|
|
38
|
+
const [value, setValue] = useState<SliderRangeValue>([90, 360]);
|
|
39
|
+
return <>
|
|
40
|
+
<SliderRangeInput label="Срок: месяцы на шкале, дни в фильтре" description="В поле и фильтре видны дни, а popover показывает месячные marks." min={1} max={24} marks={monthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
41
|
+
<RangePreview value={value} field="days" unit=" дн." />
|
|
42
|
+
</>;
|
|
43
|
+
}
|
|
44
|
+
}`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
|
|
45
|
+
render: () => {
|
|
46
|
+
const [value, setValue] = useState<SliderRangeValue>([null, 720]);
|
|
47
|
+
return <>
|
|
48
|
+
<SliderRangeInput label="Срок: открытые границы и дни в фильтре" description="Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
|
|
49
|
+
<RangePreview value={value} field="days" unit=" дн." />
|
|
50
|
+
</>;
|
|
51
|
+
}
|
|
52
|
+
}`,...Z.parameters?.docs?.source}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
|
|
53
|
+
render: () => {
|
|
54
|
+
const [value, setValue] = useState<SliderRangeValue>([90, 180]);
|
|
55
|
+
return <>
|
|
56
|
+
<SliderRangeInput label="Срок текстом" description="В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} readonlyValueText placeholder="Любой срок" />
|
|
57
|
+
<RangePreview value={value} field="days" unit=" дн." />
|
|
58
|
+
</>;
|
|
59
|
+
}
|
|
60
|
+
}`,...Q.parameters?.docs?.source}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
|
|
61
|
+
args: {
|
|
62
|
+
label: "Недоступно",
|
|
63
|
+
description: "Поле и popover отключены.",
|
|
64
|
+
value: 20,
|
|
65
|
+
disabled: true,
|
|
66
|
+
marks: percentMarks
|
|
67
|
+
}
|
|
68
|
+
}`,...$.parameters?.docs?.source}}},ce=[`Basic`,`MarksSnap`,`DecimalManualInput`,`RangeInputPlain`,`RangeInputOpenWithoutExplicitMiddleOutput`,`RangeInputMonthToDaysOutput`,`RangeInputOpenMonthToDaysOutput`,`RangeInputReadonlyText`,`Disabled`]})))()}export{X as a,J as c,le as d,K as i,Q as l,q as n,Z as o,$ as r,Y as s,G as t,I as u};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,C.jsx)(
|
|
3
|
-
`,(0,C.jsxs)(
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-DaN-XFub.js";import{i as n,r}from"./react-qN2cStNd.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BiaKjftm.js";import{a as p,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./Sortable.stories-yz3c5EhY.js";function x(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{of:y,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,C.jsx)(u,{children:`Sortable`}),`
|
|
3
|
+
`,(0,C.jsxs)(o,{children:[`Headless-набор для сортируемых коллекций на базе `,(0,C.jsx)(t.code,{children:`dnd-kit`}),` с поддержкой list, horizontal и grid-layout`]}),`
|
|
4
4
|
`,(0,C.jsxs)(t.p,{children:[(0,C.jsx)(t.code,{children:`Sortable`}),` не навязывает визуальный вид элементов и используется как композиционный слой поверх `,(0,C.jsx)(t.code,{children:`dnd-kit`}),`.
|
|
5
5
|
Он дает единый API для `,(0,C.jsx)(t.code,{children:`DndContext`}),`, `,(0,C.jsx)(t.code,{children:`SortableContext`}),`, sortable-item и drag-handle, а бизнес-логика reorder остается у потребителя.
|
|
6
6
|
Для типовой визуальной ручки есть `,(0,C.jsx)(t.code,{children:`Sortable.DragHandle`}),`; низкоуровневый `,(0,C.jsx)(t.code,{children:`Sortable.Handle`}),` нужен, когда внешний вид полностью задает потребитель.`]}),`
|
|
7
7
|
`,(0,C.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
8
|
-
`,(0,C.jsx)(
|
|
9
|
-
`,(0,C.jsx)(
|
|
8
|
+
`,(0,C.jsx)(f,{}),`
|
|
9
|
+
`,(0,C.jsx)(i,{of:b}),`
|
|
10
10
|
`,(0,C.jsx)(t.pre,{children:(0,C.jsx)(t.code,{className:`language-tsx`,children:`import { Sortable, getSortableReorderResult } from "@/shared/ui";
|
|
11
11
|
|
|
12
12
|
function Example({ items, setItems }: { items: string[]; setItems: (next: string[]) => void }) {
|
|
@@ -50,23 +50,23 @@ function Example({ items, setItems }: { items: string[]; setItems: (next: string
|
|
|
50
50
|
`,(0,C.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
|
|
51
51
|
`,(0,C.jsx)(t.h3,{id:`базовый-вертикальный-список`,children:`Базовый вертикальный список`}),`
|
|
52
52
|
`,(0,C.jsx)(t.p,{children:`Базовый headless-сценарий сортировки элементов по вертикали.`}),`
|
|
53
|
-
`,(0,C.jsx)(
|
|
53
|
+
`,(0,C.jsx)(d,{of:b}),`
|
|
54
54
|
`,(0,C.jsx)(t.h3,{id:`горизонтальный-список`,children:`Горизонтальный список`}),`
|
|
55
55
|
`,(0,C.jsxs)(t.p,{children:[`Использование `,(0,C.jsx)(t.code,{children:`layout="horizontal"`}),` для toolbar, чипов и полос вкладок.`]}),`
|
|
56
|
-
`,(0,C.jsx)(
|
|
56
|
+
`,(0,C.jsx)(d,{of:p}),`
|
|
57
57
|
`,(0,C.jsx)(t.h3,{id:`grid-карточки`,children:`Grid-карточки`}),`
|
|
58
58
|
`,(0,C.jsxs)(t.p,{children:[`Использование `,(0,C.jsx)(t.code,{children:`layout="grid"`}),` для карточек и flow-раскладок.`]}),`
|
|
59
|
-
`,(0,C.jsx)(
|
|
59
|
+
`,(0,C.jsx)(d,{of:v}),`
|
|
60
60
|
`,(0,C.jsx)(t.h3,{id:`отключенные-элементы`,children:`Отключенные элементы`}),`
|
|
61
61
|
`,(0,C.jsx)(t.p,{children:`Проверка поведения для элементов, которые видны в списке, но не должны перетаскиваться.`}),`
|
|
62
|
-
`,(0,C.jsx)(
|
|
62
|
+
`,(0,C.jsx)(d,{of:g}),`
|
|
63
63
|
`,(0,C.jsx)(t.h3,{id:`handle-only-drag`,children:`Handle-only drag`}),`
|
|
64
64
|
`,(0,C.jsx)(t.p,{children:`Перетаскивание доступно только через handle, а не через весь элемент.`}),`
|
|
65
|
-
`,(0,C.jsx)(
|
|
65
|
+
`,(0,C.jsx)(d,{of:h}),`
|
|
66
66
|
`,(0,C.jsx)(t.h3,{id:`вложенные-контейнеры`,children:`Вложенные контейнеры`}),`
|
|
67
67
|
`,(0,C.jsxs)(t.p,{children:[`Два уровня `,(0,C.jsx)(t.code,{children:`Sortable.Container`}),` внутри одного `,(0,C.jsx)(t.code,{children:`Sortable.Root`}),` без переноса между контейнерами.`]}),`
|
|
68
|
-
`,(0,C.jsx)(
|
|
68
|
+
`,(0,C.jsx)(d,{of:_}),`
|
|
69
69
|
`,(0,C.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
70
|
-
`,(0,C.jsx)(
|
|
70
|
+
`,(0,C.jsx)(l,{of:y}),`
|
|
71
71
|
`,(0,C.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
72
|
-
`,(0,C.jsx)(
|
|
72
|
+
`,(0,C.jsx)(a,{includePrimary:!1})]})}function S(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,C.jsx)(t,{...e,children:(0,C.jsx)(x,{...e})}):x(e)}var C;function w(){return(w=e((()=>{C=t(),r(),c(),m()})))()}w();export{S as default};
|