@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,141 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{i as r,n as i,r as a,t as o}from"./sortable-dNWaObUX.js";import{n as s}from"./iframe-DaN-XFub.js";var c=t({Basic:()=>y,DisabledItems:()=>S,GridCards:()=>x,HandleOnly:()=>C,HorizontalList:()=>b,NestedContainers:()=>w,SortablePreview:()=>d,__namedExportsOrder:()=>T,default:()=>v});function l(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r}function u(e){switch(e){case`horizontal`:return{display:`flex`,gap:`var(--space-sm)`,overflowX:`auto`};case`grid`:return{display:`grid`,gap:`var(--space-sm)`,gridTemplateColumns:`repeat(auto-fill, minmax(12rem, 1fr))`};default:return{display:`grid`,gap:`var(--space-sm)`}}}function d(e){let[t,n]=(0,f.useState)(e.initialItems),r=new Set(e.disabledIds??[]);return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,p.jsx)(o.Root,{onDragEnd:r=>{let i=a({event:r,items:{[e.containerId]:t}});i&&n(e=>l(e,i.fromIndex,i.toIndex))},children:(0,p.jsx)(o.Container,{containerId:e.containerId,items:t,layout:e.layout,children:(0,p.jsx)(`div`,{style:u(e.layout),children:t.map(t=>(0,p.jsxs)(o.Item,{id:t,disabled:r.has(t),style:{...m,minWidth:e.itemWidth},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${t}`}),(0,p.jsx)(`div`,{children:t})]},t))})})}),(0,p.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:`Порядок элементов изменяется локально в рамках story.`})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{f=n(),i(),r(),p=s(),m={display:`grid`,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`center`,gap:`var(--space-sm)`,padding:`var(--space-sm)`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-0)`},h=[`Alpha`,`Bravo`,`Charlie`,`Delta`],g=[`Фильтры`,`Графики`,`Сводка`,`История`],_=[`Карточка 1`,`Карточка 2`,`Карточка 3`,`Карточка 4`,`Карточка 5`,`Карточка 6`],v={title:`Shared/UI/Sortable`,component:d,args:{containerId:`sortable-demo`,layout:`vertical`,initialItems:h,itemWidth:void 0,disabledIds:[]},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{containerId:{description:"Идентификатор `SortableContext`, который используется для вычисления reorder внутри контейнера.",control:`text`},layout:{description:`Режим раскладки и стратегия сортировки: вертикальный список, горизонтальный список или grid.`,control:`inline-radio`,options:[`vertical`,`horizontal`,`grid`]},initialItems:{description:`Начальный набор элементов. Внутри story состояние управляется локально.`,control:!1},itemWidth:{description:`Минимальная ширина карточки; полезна для горизонтального режима.`,control:`text`},disabledIds:{description:`Список id, для которых drag-handle отключен.`,control:!1}}},y={},b={args:{containerId:`sortable-horizontal`,layout:`horizontal`,initialItems:g,itemWidth:`12rem`}},x={args:{containerId:`sortable-grid`,layout:`grid`,initialItems:_}},S={args:{containerId:`sortable-disabled`,layout:`vertical`,initialItems:h,disabledIds:[`Bravo`,`Delta`]}},C={args:{containerId:`sortable-handle-only`,layout:`vertical`,initialItems:[`Пункт 1`,`Пункт 2`,`Пункт 3`,`Пункт 4`]}},w={args:{containerId:`top`,layout:`vertical`,initialItems:[`Группа A`,`Группа B`]},render:()=>{let[e,t]=(0,f.useState)([`Группа A`,`Группа B`]),[n,r]=(0,f.useState)({"Группа A":[`A.1`,`A.2`,`A.3`],"Группа B":[`B.1`,`B.2`]});return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,p.jsx)(o.Root,{onDragEnd:i=>{let o=a({event:i,items:{top:e,...Object.fromEntries(e.map(e=>[`parent:${e}`,n[e]??[]]))}});if(!o)return;if(o.containerId===`top`){t(e=>l(e,o.fromIndex,o.toIndex));return}let s=String(o.containerId).slice(7);r(e=>({...e,[s]:l(e[s]??[],o.fromIndex,o.toIndex)}))},children:(0,p.jsx)(o.Container,{containerId:`top`,items:e,children:(0,p.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-md)`},children:e.map(e=>(0,p.jsxs)(o.Item,{id:e,style:{...m,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`start`},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,p.jsxs)(`div`,{style:{display:`grid`,gap:`var(--space-sm)`},children:[(0,p.jsx)(`strong`,{children:e}),(0,p.jsx)(o.Container,{containerId:`parent:${e}`,items:n[e]??[],children:(0,p.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-xs)`},children:(n[e]??[]).map(e=>(0,p.jsxs)(o.Item,{id:e,style:{...m,background:`var(--surface-1)`},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,p.jsx)(`div`,{children:e})]},e))})})]})]},e))})})}),(0,p.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:"Вложенные контейнеры сортируются независимо и используют общий `Sortable.Root`."})]})}},d.__docgenInfo={description:``,methods:[],displayName:`SortablePreview`,props:{containerId:{required:!0,tsType:{name:`string`},description:``},layout:{required:!0,tsType:{name:`union`,raw:`"vertical" | "horizontal" | "grid"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"grid"`}]},description:``},initialItems:{required:!0,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``},itemWidth:{required:!1,tsType:{name:`string`},description:``},disabledIds:{required:!1,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`function SortablePreview(props: SortablePreviewProps) {
|
|
2
|
+
const [items, setItems] = useState(props.initialItems);
|
|
3
|
+
const disabledIdSet = new Set(props.disabledIds ?? []);
|
|
4
|
+
return <div style={{
|
|
5
|
+
display: "grid",
|
|
6
|
+
gap: 12
|
|
7
|
+
}}>
|
|
8
|
+
<Sortable.Root onDragEnd={event => {
|
|
9
|
+
const reorder = getSortableReorderResult({
|
|
10
|
+
event,
|
|
11
|
+
items: {
|
|
12
|
+
[props.containerId]: items
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
if (!reorder) return;
|
|
16
|
+
setItems(prev => reorderItems(prev, reorder.fromIndex, reorder.toIndex) as string[]);
|
|
17
|
+
}}>
|
|
18
|
+
<Sortable.Container containerId={props.containerId} items={items} layout={props.layout}>
|
|
19
|
+
<div style={getContainerStyle(props.layout)}>
|
|
20
|
+
{items.map(item => <Sortable.Item key={item} id={item} disabled={disabledIdSet.has(item)} style={{
|
|
21
|
+
...itemStyle,
|
|
22
|
+
minWidth: props.itemWidth
|
|
23
|
+
}}>
|
|
24
|
+
<Sortable.DragHandle title={\`Перетащить \${item}\`} />
|
|
25
|
+
<div>{item}</div>
|
|
26
|
+
</Sortable.Item>)}
|
|
27
|
+
</div>
|
|
28
|
+
</Sortable.Container>
|
|
29
|
+
</Sortable.Root>
|
|
30
|
+
|
|
31
|
+
<div style={{
|
|
32
|
+
fontSize: 14,
|
|
33
|
+
opacity: 0.8
|
|
34
|
+
}}>Порядок элементов изменяется локально в рамках story.</div>
|
|
35
|
+
</div>;
|
|
36
|
+
}`,...d.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{}`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
|
|
37
|
+
args: {
|
|
38
|
+
containerId: "sortable-horizontal",
|
|
39
|
+
layout: "horizontal",
|
|
40
|
+
initialItems: horizontalItems,
|
|
41
|
+
itemWidth: "12rem"
|
|
42
|
+
}
|
|
43
|
+
}`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
44
|
+
args: {
|
|
45
|
+
containerId: "sortable-grid",
|
|
46
|
+
layout: "grid",
|
|
47
|
+
initialItems: gridItems
|
|
48
|
+
}
|
|
49
|
+
}`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
50
|
+
args: {
|
|
51
|
+
containerId: "sortable-disabled",
|
|
52
|
+
layout: "vertical",
|
|
53
|
+
initialItems: verticalItems,
|
|
54
|
+
disabledIds: ["Bravo", "Delta"]
|
|
55
|
+
}
|
|
56
|
+
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
57
|
+
args: {
|
|
58
|
+
containerId: "sortable-handle-only",
|
|
59
|
+
layout: "vertical",
|
|
60
|
+
initialItems: ["Пункт 1", "Пункт 2", "Пункт 3", "Пункт 4"]
|
|
61
|
+
}
|
|
62
|
+
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
63
|
+
args: {
|
|
64
|
+
containerId: "top",
|
|
65
|
+
layout: "vertical",
|
|
66
|
+
initialItems: ["Группа A", "Группа B"]
|
|
67
|
+
},
|
|
68
|
+
render: () => {
|
|
69
|
+
const [topItems, setTopItems] = useState(["Группа A", "Группа B"]);
|
|
70
|
+
const [childItemsByGroup, setChildItemsByGroup] = useState<Record<string, string[]>>({
|
|
71
|
+
"Группа A": ["A.1", "A.2", "A.3"],
|
|
72
|
+
"Группа B": ["B.1", "B.2"]
|
|
73
|
+
});
|
|
74
|
+
return <div style={{
|
|
75
|
+
display: "grid",
|
|
76
|
+
gap: 12
|
|
77
|
+
}}>
|
|
78
|
+
<Sortable.Root onDragEnd={event => {
|
|
79
|
+
const reorder = getSortableReorderResult({
|
|
80
|
+
event,
|
|
81
|
+
items: {
|
|
82
|
+
top: topItems,
|
|
83
|
+
...Object.fromEntries(topItems.map(item => [\`parent:\${item}\`, childItemsByGroup[item] ?? []]))
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
if (!reorder) return;
|
|
87
|
+
if (reorder.containerId === "top") {
|
|
88
|
+
setTopItems(prev => reorderItems(prev, reorder.fromIndex, reorder.toIndex) as string[]);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const parentId = String(reorder.containerId).slice("parent:".length);
|
|
92
|
+
setChildItemsByGroup(prev => ({
|
|
93
|
+
...prev,
|
|
94
|
+
[parentId]: reorderItems(prev[parentId] ?? [], reorder.fromIndex, reorder.toIndex) as string[]
|
|
95
|
+
}));
|
|
96
|
+
}}>
|
|
97
|
+
<Sortable.Container containerId="top" items={topItems}>
|
|
98
|
+
<div style={{
|
|
99
|
+
display: "grid",
|
|
100
|
+
gap: "var(--space-md)"
|
|
101
|
+
}}>
|
|
102
|
+
{topItems.map(groupId => <Sortable.Item key={groupId} id={groupId} style={{
|
|
103
|
+
...itemStyle,
|
|
104
|
+
gridTemplateColumns: "var(--control-height) 1fr",
|
|
105
|
+
alignItems: "start"
|
|
106
|
+
}}>
|
|
107
|
+
<Sortable.DragHandle title={\`Перетащить \${groupId}\`} />
|
|
108
|
+
<div style={{
|
|
109
|
+
display: "grid",
|
|
110
|
+
gap: "var(--space-sm)"
|
|
111
|
+
}}>
|
|
112
|
+
<strong>{groupId}</strong>
|
|
113
|
+
<Sortable.Container containerId={\`parent:\${groupId}\`} items={childItemsByGroup[groupId] ?? []}>
|
|
114
|
+
<div style={{
|
|
115
|
+
display: "grid",
|
|
116
|
+
gap: "var(--space-xs)"
|
|
117
|
+
}}>
|
|
118
|
+
{(childItemsByGroup[groupId] ?? []).map(item => <Sortable.Item key={item} id={item} style={{
|
|
119
|
+
...itemStyle,
|
|
120
|
+
background: "var(--surface-1)"
|
|
121
|
+
}}>
|
|
122
|
+
<Sortable.DragHandle title={\`Перетащить \${item}\`} />
|
|
123
|
+
<div>{item}</div>
|
|
124
|
+
</Sortable.Item>)}
|
|
125
|
+
</div>
|
|
126
|
+
</Sortable.Container>
|
|
127
|
+
</div>
|
|
128
|
+
</Sortable.Item>)}
|
|
129
|
+
</div>
|
|
130
|
+
</Sortable.Container>
|
|
131
|
+
</Sortable.Root>
|
|
132
|
+
|
|
133
|
+
<div style={{
|
|
134
|
+
fontSize: 14,
|
|
135
|
+
opacity: 0.8
|
|
136
|
+
}}>
|
|
137
|
+
Вложенные контейнеры сортируются независимо и используют общий \`Sortable.Root\`.
|
|
138
|
+
</div>
|
|
139
|
+
</div>;
|
|
140
|
+
}
|
|
141
|
+
}`,...w.parameters?.docs?.source}}},T=[`SortablePreview`,`Basic`,`HorizontalList`,`GridCards`,`DisabledItems`,`HandleOnly`,`NestedContainers`]})))()}export{b as a,E as c,C as i,S as n,w as o,x as r,c as s,y as t};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,x.jsx)(
|
|
3
|
-
`,(0,x.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,i as m,n as h,o as g,r as _,t as v}from"./Splitter.stories-CopPw1_p.js";function y(e){let t={code:`code`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,x.jsx)(u,{children:`Splitter`}),`
|
|
3
|
+
`,(0,x.jsx)(o,{children:(0,x.jsx)(t.p,{children:`Компонент для интерактивного разделения рабочей области на две панели с поддержкой вложенности, клавиатуры и ограничений по размеру`})}),`
|
|
4
4
|
`,(0,x.jsxs)(t.p,{children:[(0,x.jsx)(t.code,{children:`Splitter`}),` подходит для интерфейсов, где пользователь должен самостоятельно перераспределять пространство между соседними областями: навигацией и контентом, таблицей и деталями, превью и журналом событий.`]}),`
|
|
5
5
|
`,(0,x.jsxs)(t.p,{children:[`Компонент ожидает ровно два прямых дочерних элемента. Если нужно больше областей, их лучше собирать через вложенные `,(0,x.jsx)(t.code,{children:`Splitter`}),`, чтобы сохранить простую модель поведения и предсказуемый resize.`]}),`
|
|
6
6
|
`,(0,x.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
7
|
-
`,(0,x.jsx)(
|
|
7
|
+
`,(0,x.jsx)(f,{}),`
|
|
8
8
|
`,(0,x.jsx)(t.pre,{children:(0,x.jsx)(t.code,{className:`language-tsx`,children:`import { Splitter } from "@/shared/ui";
|
|
9
9
|
|
|
10
10
|
export function Example() {
|
|
@@ -18,7 +18,7 @@ export function Example() {
|
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
`})}),`
|
|
21
|
-
`,(0,x.jsx)(
|
|
21
|
+
`,(0,x.jsx)(i,{of:v}),`
|
|
22
22
|
`,(0,x.jsx)(t.h2,{id:`что-важно-про-поведение`,children:`Что важно про поведение`}),`
|
|
23
23
|
`,(0,x.jsxs)(t.ul,{children:[`
|
|
24
24
|
`,(0,x.jsx)(t.li,{children:`Во время перетаскивания компонент обновляет размеры панелей напрямую через DOM, а состояние React фиксирует только после завершения drag. Это уменьшает число лишних перерендеров и делает resize заметно плавнее.`}),`
|
|
@@ -28,10 +28,10 @@ export function Example() {
|
|
|
28
28
|
`]}),`
|
|
29
29
|
`,(0,x.jsx)(t.h2,{id:`разделение-на-2-части`,children:`Разделение на 2 части`}),`
|
|
30
30
|
`,(0,x.jsx)(t.p,{children:`Это базовый и самый частый сценарий: левая панель под навигацию, правая под основное содержимое.`}),`
|
|
31
|
-
`,(0,x.jsx)(
|
|
31
|
+
`,(0,x.jsx)(d,{of:v}),`
|
|
32
32
|
`,(0,x.jsx)(t.h2,{id:`горизонтальное-разделение`,children:`Горизонтальное разделение`}),`
|
|
33
33
|
`,(0,x.jsx)(t.p,{children:`Горизонтальный режим полезен для layout вида "контент сверху, журнал или детали снизу".`}),`
|
|
34
|
-
`,(0,x.jsx)(
|
|
34
|
+
`,(0,x.jsx)(d,{of:_}),`
|
|
35
35
|
`,(0,x.jsx)(t.pre,{children:(0,x.jsx)(t.code,{className:`language-tsx`,children:`import { Splitter } from "@/shared/ui";
|
|
36
36
|
|
|
37
37
|
export function HorizontalLayout() {
|
|
@@ -47,7 +47,7 @@ export function HorizontalLayout() {
|
|
|
47
47
|
`})}),`
|
|
48
48
|
`,(0,x.jsx)(t.h2,{id:`разделение-на-4-части`,children:`Разделение на 4 части`}),`
|
|
49
49
|
`,(0,x.jsxs)(t.p,{children:[`Чтобы собрать четыре независимые области, используйте `,(0,x.jsx)(t.code,{children:`Splitter`}),` внутри `,(0,x.jsx)(t.code,{children:`Splitter`}),`. Такой подход даёт предсказуемую вложенную структуру и хорошо масштабируется для сложных рабочих экранов.`]}),`
|
|
50
|
-
`,(0,x.jsx)(
|
|
50
|
+
`,(0,x.jsx)(d,{of:m}),`
|
|
51
51
|
`,(0,x.jsx)(t.pre,{children:(0,x.jsx)(t.code,{className:`language-tsx`,children:`import { Splitter } from "@/shared/ui";
|
|
52
52
|
|
|
53
53
|
export function FourPaneLayout() {
|
|
@@ -69,7 +69,7 @@ export function FourPaneLayout() {
|
|
|
69
69
|
`})}),`
|
|
70
70
|
`,(0,x.jsx)(t.h2,{id:`ограничения-и-клавиатура`,children:`Ограничения и клавиатура`}),`
|
|
71
71
|
`,(0,x.jsx)(t.p,{children:`В этом сценарии удобно проверять, что пользователь не может схлопнуть область сильнее допустимого минимума, а разделитель стабильно работает не только мышью, но и с клавиатуры.`}),`
|
|
72
|
-
`,(0,x.jsx)(
|
|
72
|
+
`,(0,x.jsx)(d,{of:h}),`
|
|
73
73
|
`,(0,x.jsx)(t.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
|
|
74
74
|
`,(0,x.jsxs)(t.ul,{children:[`
|
|
75
75
|
`,(0,x.jsxs)(t.li,{children:[`Родительский контейнер должен иметь явную высоту, иначе `,(0,x.jsx)(t.code,{children:`Splitter`}),` не сможет корректно распределить пространство по вертикали.`]}),`
|
|
@@ -78,6 +78,6 @@ export function FourPaneLayout() {
|
|
|
78
78
|
`,(0,x.jsx)(t.li,{children:`Для touch-сценариев разделитель уже блокирует нативный скролл жеста на самом handle, поэтому drag остаётся предсказуемым.`}),`
|
|
79
79
|
`]}),`
|
|
80
80
|
`,(0,x.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
81
|
-
`,(0,x.jsx)(
|
|
81
|
+
`,(0,x.jsx)(l,{of:p}),`
|
|
82
82
|
`,(0,x.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
83
|
-
`,(0,x.jsx)(
|
|
83
|
+
`,(0,x.jsx)(a,{includePrimary:!1})]})}function b(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,x.jsx)(t,{...e,children:(0,x.jsx)(y,{...e})}):y(e)}var x;function S(){return(S=e((()=>{x=t(),r(),c(),g()})))()}S();export{b as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
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";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{o=`wAovST`,s=`QVVMwe`,c=`H43AJ8`,l=`pgo8sW`,u=`_8fCvqA`,d=`t6RFcI`,f={splitter:o,vertical:s,separator:c,horizontal:l,topLeft:u,bottomRight:d}})))()}function m(e,t,n){return Math.min(n,Math.max(t,e))}function h(e,t){return Number.isFinite(e)?m(e,0,1):t}function g(e,t){let n=h(e,E),r=h(t,D);return n<=r?[n,r]:[r,n]}function _(e,t){return e===`vertical`?t.clientX:t.clientY}function v(e,t){return e===`vertical`?t.width:t.height}function y(e,t){if(e===`vertical`){if(t===`ArrowLeft`)return-.02;if(t===`ArrowRight`)return k}if(e===`horizontal`){if(t===`ArrowUp`)return-.02;if(t===`ArrowDown`)return k}return null}function b(e,t){return t===`start`?0:t===`end`?1:e}function x({direction:e,initial:t,min:n,max:r,collapsedPane:i}){let[a,o]=g(n,r),s=(0,w.useRef)(null),c=(0,w.useRef)(null),l=(0,w.useRef)(null),u=(0,w.useRef)(null),d=(0,w.useRef)(null),f=(0,w.useRef)(null),p=(0,w.useRef)(0),x=(0,w.useRef)(m(h(t,O),a,o)),S=(0,w.useRef)(t),[C,T]=(0,w.useState)(()=>m(h(t,O),a,o)),E=(0,w.useRef)(C),D=(0,w.useCallback)(e=>{E.current=e,c.current?.style.setProperty(`flex-basis`,`${b(e,i)*100}%`),l.current?.setAttribute(`aria-valuenow`,`${Math.round(e*100)}`)},[i]),k=()=>{if(f.current!==null&&(cancelAnimationFrame(f.current),f.current=null),d.current===null)return E.current;let e=d.current;return d.current=null,D(e),e},A=e=>{d.current=e,f.current===null&&(f.current=requestAnimationFrame(()=>{f.current=null,d.current!==null&&D(d.current)}))},j=()=>{u.current?.(),u.current=null},M=e=>{k(),T(m(e,a,o))};return(0,w.useLayoutEffect)(()=>{D(C)},[D,C]),(0,w.useEffect)(()=>{T(e=>{let n=S.current!==t;return S.current=t,m(n?h(t,O):e,a,o)})},[t,a,o]),(0,w.useEffect)(()=>()=>{j(),f.current!==null&&cancelAnimationFrame(f.current)},[]),{containerRef:s,topLeftRef:c,separatorRef:l,ratio:C,minRatio:a,maxRatio:o,handleSeparatorPointerDown:t=>{if(t.button!==0)return;t.preventDefault();let n=s.current;if(!n)return;j();try{t.currentTarget.setPointerCapture?.(t.pointerId)}catch{}p.current=_(e,t),x.current=E.current;let r=t=>{let r=v(e,n.getBoundingClientRect());if(r<=0)return;let i=_(e,t)-p.current,s=m(x.current+i/r,a,o);A(s)},i=()=>{j(),T(k())};u.current=()=>{document.removeEventListener(`pointermove`,r),document.removeEventListener(`pointerup`,i),document.removeEventListener(`pointercancel`,i)},document.addEventListener(`pointermove`,r),document.addEventListener(`pointerup`,i),document.addEventListener(`pointercancel`,i)},handleSeparatorKeyDown:t=>{let n=y(e,t.key);if(n!==null){t.preventDefault(),M(E.current+n);return}if(t.key===`Home`){t.preventDefault(),M(a);return}t.key===`End`&&(t.preventDefault(),M(o))}}}function S({className:e,direction:t,left:n,right:r,collapsedPane:a,logic:o}){let{containerRef:s,topLeftRef:c,separatorRef:l,ratio:u,minRatio:d,maxRatio:p,handleSeparatorPointerDown:m,handleSeparatorKeyDown:h}=o,g=b(u,a),_=a===`start`,v=a===`end`,y=a===null;return(0,T.jsxs)(`div`,{ref:s,className:i(f.splitter,f[t],e),children:[(0,T.jsx)(`div`,{ref:c,className:f.topLeft,style:{flexBasis:`${g*100}%`},hidden:_,children:n}),(0,T.jsx)(`div`,{ref:l,hidden:!y,role:`separator`,"aria-orientation":t===`vertical`?`vertical`:`horizontal`,"aria-valuemin":Math.round(d*100),"aria-valuemax":Math.round(p*100),"aria-valuenow":Math.round(u*100),tabIndex:y?0:-1,onPointerDown:m,onKeyDown:h,className:f.separator}),(0,T.jsx)(`div`,{className:f.bottomRight,hidden:v,children:r})]})}function C({direction:e=`vertical`,initial:t=O,min:n=E,max:r=D,className:i,collapsedPane:a=null,children:o}){let[s,c]=w.Children.toArray(o),l=x({direction:e,initial:t,min:n,max:r,collapsedPane:a});return c?(0,T.jsx)(S,{className:i,direction:e,left:s,right:c,collapsedPane:a,logic:l}):s}var w,T,E,D,O,k;function A(){return(A=e((()=>{w=n(),a(),p(),T=r(),E=.1,D=.9,O=.7,k=.02,C.__docgenInfo={description:``,methods:[],displayName:`Splitter`,props:{direction:{defaultValue:{value:`"vertical"`,computed:!1},required:!1},initial:{defaultValue:{value:`0.7`,computed:!1},required:!1},min:{defaultValue:{value:`0.1`,computed:!1},required:!1},max:{defaultValue:{value:`0.9`,computed:!1},required:!1},collapsedPane:{defaultValue:{value:`null`,computed:!1},required:!1}}}})))()}var j=t({Basic:()=>z,Constrained:()=>H,Horizontal:()=>B,NestedFourPanels:()=>V,__namedExportsOrder:()=>U,default:()=>R});function M({children:e}){return(0,L.jsx)(`div`,{style:{height:490},children:e})}function N({title:e,description:t,items:n=[]}){return(0,L.jsxs)(`div`,{style:{height:`100%`,padding:`var(--space-md)`,borderRadius:`var(--radius-md)`,border:`var(--border)`,display:`grid`,alignContent:`start`,gap:`var(--space-md)`},className:`scrollable`,children:[(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`h2`,{children:e}),(0,L.jsx)(`p`,{children:t})]}),n.length>0&&(0,L.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-sm)`},children:n.map(e=>(0,L.jsx)(`div`,{style:{padding:`var(--space-sm) var(--space-md)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`},children:e},e))})]})}function P(e){return(0,L.jsx)(M,{children:(0,L.jsxs)(C,{...e,children:[(0,L.jsx)(N,{title:`Навигация`,description:`Левая панель подходит для фильтров, дерева разделов, списка сущностей или структуры документа.`,items:[`Раздел 1`,`Раздел 2`,`Раздел 3`,`Раздел 4`]}),(0,L.jsx)(N,{title:`Рабочая область`,description:`Правая панель обычно содержит детальный контент: таблицу, карточку объекта, форму или вкладки.`,items:[`Текущий документ`,`История изменений`,`Комментарии`,`Связанные объекты`,`Параметры отображения`]})]})})}function F(){return(0,L.jsx)(M,{children:(0,L.jsxs)(C,{initial:.48,min:.25,max:.75,children:[(0,L.jsxs)(C,{direction:`horizontal`,initial:.58,min:.25,max:.75,children:[(0,L.jsx)(N,{title:`Список`,description:`Верхняя левая панель может держать навигацию или результат поиска.`,items:[`Поиск`,`Фильтр по статусу`,`Группы`,`Быстрые действия`]}),(0,L.jsx)(N,{title:`Подробности`,description:`Нижняя левая панель подходит для связанного контента по выбранному элементу.`,items:[`Свойства`,`Ответственный`,`Теги`,`Контекст`]})]}),(0,L.jsxs)(C,{direction:`horizontal`,initial:.36,min:.2,max:.8,children:[(0,L.jsx)(N,{title:`Превью`,description:`Верхняя правая панель может содержать документ, схему, карту или live-просмотр.`,items:[`Предпросмотр файла`,`Масштаб 100%`,`Слой подсветки`]}),(0,L.jsx)(N,{title:`Журнал`,description:`Нижняя правая панель часто используется для событий, логов или вспомогательных данных.`,items:[`10:31 Импорт завершён`,`10:34 Индексация`,`10:36 Синхронизация`,`10:38 Проверка целостности`]})]})]})})}function I(e){return(0,L.jsx)(M,{children:(0,L.jsxs)(C,{...e,children:[(0,L.jsx)(N,{title:`Фиксированные ограничения`,description:"У этой панели ужаты границы `min` и `max`, поэтому splitter нельзя увести слишком далеко.",items:[`Нажмите на разделитель`,`Используйте стрелки`,`Home = минимум`,`End = максимум`]}),(0,L.jsx)(N,{title:`Проверка доступности`,description:`Сценарий помогает проверить клавиатурное управление, устойчивость границ и отсутствие рывков при drag.`,items:[`ArrowLeft / ArrowRight`,`ArrowUp / ArrowDown`,`Перетаскивание мышью`,`Перетаскивание на тач-устройстве`]})]})})}var L,R,z,B,V,H,U;function W(){return(W=e((()=>{A(),L=r(),R={title:`Shared/UI/Splitter`,component:C,parameters:{atomicCanvas:!0,layout:`padded`},args:{direction:`vertical`,initial:.45,min:.15,max:.85},argTypes:{direction:{description:`Направление разделения: вертикальное по ширине или горизонтальное по высоте.`,control:`inline-radio`,options:[`vertical`,`horizontal`]},initial:{description:`Начальная доля первой панели в диапазоне от 0 до 1.`,control:{type:`range`,min:0,max:1,step:.01}},min:{description:`Минимальная доля первой панели. Значение автоматически нормализуется в диапазон 0..1.`,control:{type:`range`,min:0,max:1,step:.01}},max:{description:"Максимальная доля первой панели. Если `min` и `max` перепутаны местами, компонент сам исправит диапазон.",control:{type:`range`,min:0,max:1,step:.01}},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},children:{description:`Splitter ожидает ровно два прямых дочерних элемента. Для большего количества областей используйте вложенные Splitter.`,control:!1}}},z={name:`Две панели`,render:e=>(0,L.jsx)(P,{...e})},B={name:`Горизонтальное разделение`,render:e=>(0,L.jsx)(P,{...e}),args:{direction:`horizontal`,initial:.55}},V={name:`Четыре панели через вложенность`,render:()=>(0,L.jsx)(F,{})},H={name:`Ограничения и клавиатура`,render:e=>(0,L.jsx)(I,{...e}),args:{initial:.35,min:.25,max:.55}},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
name: "Две панели",
|
|
3
|
+
render: args => <TwoPaneLayout {...args} />
|
|
4
|
+
}`,...z.parameters?.docs?.source}}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{
|
|
5
|
+
name: "Горизонтальное разделение",
|
|
6
|
+
render: args => <TwoPaneLayout {...args} />,
|
|
7
|
+
args: {
|
|
8
|
+
direction: "horizontal",
|
|
9
|
+
initial: 0.55
|
|
10
|
+
}
|
|
11
|
+
}`,...B.parameters?.docs?.source}}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
|
|
12
|
+
name: "Четыре панели через вложенность",
|
|
13
|
+
render: () => <NestedFourPaneLayout />
|
|
14
|
+
}`,...V.parameters?.docs?.source}}},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`{
|
|
15
|
+
name: "Ограничения и клавиатура",
|
|
16
|
+
render: args => <ConstrainedLayout {...args} />,
|
|
17
|
+
args: {
|
|
18
|
+
initial: 0.35,
|
|
19
|
+
min: 0.25,
|
|
20
|
+
max: 0.55
|
|
21
|
+
}
|
|
22
|
+
}`,...H.parameters?.docs?.source}}},U=[`Basic`,`Horizontal`,`NestedFourPanels`,`Constrained`]})))()}export{j as a,V as i,H as n,W as o,B as r,z as t};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,b.jsx)(
|
|
3
|
-
`,(0,b.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,i as m,n as h,r as g,t as _}from"./StateSelect.stories-D46m5HNn.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,b.jsx)(u,{children:`StateSelect`}),`
|
|
3
|
+
`,(0,b.jsx)(o,{children:`Специализированный select для выбора визуального статуса или семантического состояния`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`StateSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
5
5
|
Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны контролируемые сценарии.`}),`
|
|
6
6
|
`,(0,b.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
7
|
-
`,(0,b.jsx)(
|
|
8
|
-
`,(0,b.jsx)(
|
|
7
|
+
`,(0,b.jsx)(f,{}),`
|
|
8
|
+
`,(0,b.jsx)(i,{of:_}),`
|
|
9
9
|
`,(0,b.jsx)(t.pre,{children:(0,b.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
|
|
10
10
|
|
|
11
11
|
import { StateSelect } from "@/shared/ui";
|
|
@@ -23,14 +23,14 @@ export function Example() {
|
|
|
23
23
|
`,(0,b.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
|
|
24
24
|
`,(0,b.jsx)(t.h3,{id:`компонент-работает-в-контролируемом-режиме-когда-состояние-хранится-во-внешнем-компоненте`,children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте`}),`
|
|
25
25
|
`,(0,b.jsx)(t.p,{children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте.`}),`
|
|
26
|
-
`,(0,b.jsx)(
|
|
26
|
+
`,(0,b.jsx)(d,{of:_}),`
|
|
27
27
|
`,(0,b.jsx)(t.h3,{id:`кастомизация-подписей-и-иконок-состояний`,children:`Кастомизация подписей и иконок состояний`}),`
|
|
28
28
|
`,(0,b.jsx)(t.p,{children:`Кастомизация подписей и иконок состояний.`}),`
|
|
29
|
-
`,(0,b.jsx)(
|
|
29
|
+
`,(0,b.jsx)(d,{of:m}),`
|
|
30
30
|
`,(0,b.jsx)(t.h3,{id:`ограниченный-набор-доступных-состояний`,children:`Ограниченный набор доступных состояний`}),`
|
|
31
31
|
`,(0,b.jsx)(t.p,{children:`Ограниченный набор доступных состояний.`}),`
|
|
32
|
-
`,(0,b.jsx)(
|
|
32
|
+
`,(0,b.jsx)(d,{of:h}),`
|
|
33
33
|
`,(0,b.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
34
|
-
`,(0,b.jsx)(
|
|
34
|
+
`,(0,b.jsx)(l,{of:g}),`
|
|
35
35
|
`,(0,b.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
36
|
-
`,(0,b.jsx)(
|
|
36
|
+
`,(0,b.jsx)(a,{includePrimary:!1})]})}function y(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,b.jsx)(t,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;function x(){return(x=e((()=>{b=t(),r(),c(),p()})))()}x();export{y as default};
|
|
@@ -0,0 +1,47 @@
|
|
|
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,t as i}from"./circle-check-VtVMsaJJ.js";import{i as a,n as o,r as s,t as c}from"./info-Cirk1RKZ.js";import{n as l,t as u}from"./triangle-alert-B1Q28Bq9.js";import{i as d,n as f,r as p}from"./iframe-DaN-XFub.js";import{a as m,i as h}from"./utils-DUM89eIj.js";import{c as g,h as _,t as v}from"./formatters--mhLir82-v41eaI4a.js";import{n as y,t as b}from"./Select-X_O4M8Hi.js";var x,S;function C(){return(C=e((()=>{d(),x=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],S=p(`circle-minus`,x)})))()}var w,T,E,D,O,k,A,j,M,N,P,F;function I(){return(I=e((()=>{w=`p4nQdZ`,T=`_94tg5v`,E=`HyK7Zs`,D=`Mm4hrB`,O=`clxxBQ`,k=`_5pJ7o-`,A=`VV6hKN`,j=`cuQNP0`,M=`w7nIOT`,N=`ed-Afj`,P=`Lbxloe`,F={button:w,valueContainer:T,swatch:E,optionsPalette:D,optionsDetailed:O,option:k,optionPalette:A,optionDetailed:j,optionMeta:M,optionMetaIcon:N,optionMetaLabel:P}})))()}function L({state:e,className:t}){return(0,W.jsx)(`span`,{className:m(F.swatch,t),"data-empty":e===`none`?``:void 0,style:{"--state-color":g[e]}})}function R(e){return!!(e?.icon||e?.label)}function z(e,t){return typeof t?.label==`string`&&t.label.trim()?t.label:e||`empty`}function B(e){return R(e)?(0,W.jsxs)(`span`,{className:F.optionMeta,children:[e?.icon?(0,W.jsx)(`span`,{className:F.optionMetaIcon,children:e.icon}):null,e?.label?(0,W.jsx)(`span`,{className:F.optionMetaLabel,children:e.label}):null]}):null}function V(e,t){return(0,W.jsxs)(`div`,{className:F.valueContainer,children:[(0,W.jsx)(L,{state:e}),B(t)]})}function H({label:e,description:t,disabled:n,placeholder:r,size:i,value:a,onChange:o,options:s=v,stateMeta:c,className:l,clearable:u}){let d=(0,U.useMemo)(()=>Array.from(new Set(s)),[s]),f=d.some(e=>R(c?.[e])),p={getOptionKey:e=>e||`__empty_state__`,getOptionLabel:e=>c?.[e]?.label??e,getOptionAriaLabel:e=>z(e,c?.[e]),renderValue:e=>V(e,c?.[e]),renderOption:e=>(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(L,{state:e}),f?B(c?.[e]):null]}),buttonClassName:F.button,optionsContentClassName:m(f?F.optionsDetailed:F.optionsPalette),getOptionClassName:()=>m(F.option,f?F.optionDetailed:F.optionPalette)};return(0,W.jsx)(b,{label:e,description:t,disabled:n,placeholder:r,size:i,value:a,onChange:o,options:d,className:l,clearable:u,...p})}var U,W;function G(){return(G=e((()=>{U=n(),_(),h(),y(),I(),W=f(),H.__docgenInfo={description:`Специализированный селект для выбора цветового или статусного состояния. Используется там, где значению соответствует визуальный swatch.`,methods:[],displayName:`StateSelect`,props:{placeholder:{required:!1,tsType:{name:`string`},description:``},options:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`DEFAULT_VALUE_STATES`,computed:!0}},stateMeta:{required:!1,tsType:{name:`Partial`,elements:[{name:`Record`,elements:[{name:`State`},{name:`signature`,type:`object`,raw:`{
|
|
2
|
+
label?: ReactNode;
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
}`,signature:{properties:[{key:`label`,value:{name:`ReactNode`,required:!1}},{key:`icon`,value:{name:`ReactNode`,required:!1}}]}}],raw:`Record<State, StateMeta>`}],raw:`Partial<Record<State, StateMeta>>`},description:``},className:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})))()}var ee=t({Controlled:()=>Y,PaletteOnly:()=>Z,WithMeta:()=>X,__namedExportsOrder:()=>Q,default:()=>J}),K,q,J,Y,X,Z,Q;function $(){return($=e((()=>{K=n(),l(),r(),o(),C(),a(),G(),q=f(),J={title:`Shared/UI/StateSelect`,component:H,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:()=>{},disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},Y={render:e=>{let[t,n]=(0,K.useState)(`information`);return(0,q.jsx)(H,{...e,value:t,onChange:n})}},X={render:e=>{let[t,n]=(0,K.useState)(`warning`);return(0,q.jsx)(H,{...e,value:t,onChange:n,stateMeta:{none:{label:`Без статуса`,icon:(0,q.jsx)(S,{})},information:{label:`Инфо`,icon:(0,q.jsx)(c,{})},success:{label:`Успех`,icon:(0,q.jsx)(i,{})},warning:{label:`Предупреждение`,icon:(0,q.jsx)(u,{})},error:{label:`Ошибка`,icon:(0,q.jsx)(s,{})}}})},args:{value:`warning`}},Z={render:e=>{let[t,n]=(0,K.useState)(`none`);return(0,q.jsx)(H,{...e,value:t,onChange:n,options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
|
|
5
|
+
render: args => {
|
|
6
|
+
const [value, setValue] = useState<State | undefined>("information");
|
|
7
|
+
return <StateSelect {...args} value={value} onChange={setValue} />;
|
|
8
|
+
}
|
|
9
|
+
}`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
|
|
10
|
+
render: args => {
|
|
11
|
+
const [value, setValue] = useState<State | undefined>("warning");
|
|
12
|
+
return <StateSelect {...args} value={value} onChange={setValue} stateMeta={{
|
|
13
|
+
none: {
|
|
14
|
+
label: "Без статуса",
|
|
15
|
+
icon: <MinusCircleIcon />
|
|
16
|
+
},
|
|
17
|
+
information: {
|
|
18
|
+
label: "Инфо",
|
|
19
|
+
icon: <InfoIcon />
|
|
20
|
+
},
|
|
21
|
+
success: {
|
|
22
|
+
label: "Успех",
|
|
23
|
+
icon: <CheckCircle2Icon />
|
|
24
|
+
},
|
|
25
|
+
warning: {
|
|
26
|
+
label: "Предупреждение",
|
|
27
|
+
icon: <AlertTriangleIcon />
|
|
28
|
+
},
|
|
29
|
+
error: {
|
|
30
|
+
label: "Ошибка",
|
|
31
|
+
icon: <XCircleIcon />
|
|
32
|
+
}
|
|
33
|
+
}} />;
|
|
34
|
+
},
|
|
35
|
+
args: {
|
|
36
|
+
value: "warning"
|
|
37
|
+
}
|
|
38
|
+
}`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
|
|
39
|
+
render: args => {
|
|
40
|
+
const [value, setValue] = useState<State | undefined>("none");
|
|
41
|
+
return <StateSelect {...args} value={value} onChange={setValue} options={["none", "success", "error"]} />;
|
|
42
|
+
},
|
|
43
|
+
args: {
|
|
44
|
+
options: ["none", "success", "error"],
|
|
45
|
+
value: "none"
|
|
46
|
+
}
|
|
47
|
+
}`,...Z.parameters?.docs?.source}}},Q=[`Controlled`,`WithMeta`,`PaletteOnly`]})))()}export{$ as a,X as i,Z as n,ee as r,Y as t};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DaN-XFub.js";import{n as r,t as i}from"./Toggle-OlKw8qaK.js";function a(e,t){return typeof e==`string`?e:t}var o,s;function c(){return(c=e((()=>{o=`true`,s=`false`})))()}function l({value:e,onChange:t,checkedValue:n,uncheckedValue:r,defaultChecked:c,...l}){let d=a(n,o),f=a(r,s),p=e===d;return(0,u.jsx)(i,{...l,value:p,onChange:e=>t(e?d:f)})}var u;function d(){return(d=e((()=>{c(),r(),u=n(),l.__docgenInfo={description:`Адаптирует boolean-состояние Toggle к паре настраиваемых строковых значений.`,methods:[],displayName:`StringToggle`,props:{checkedValue:{required:!1,tsType:{name:`string`},description:``},uncheckedValue:{required:!1,tsType:{name:`string`},description:``},value:{required:!0,tsType:{name:`string`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}var f,p,m,h,g;function _(){return(_=e((()=>{f=t(),d(),p=n(),m={title:`Shared/UI/Toggle/StringToggle`,component:l,args:{value:`ZBP_MANAGER`,onChange:()=>void 0,checkedText:`за клиента`,uncheckedText:`за сделку`,checkedValue:`ZM_MANAGER`,uncheckedValue:`ZBP_MANAGER`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее строковое значение.`,control:!1},onChange:{description:`Возвращает строку выбранного состояния.`,control:!1},checkedValue:{description:`Значение включённого состояния.`,control:`text`},uncheckedValue:{description:`Значение выключенного состояния.`,control:`text`},checkedText:{description:`Текст включённого состояния.`,control:`text`},uncheckedText:{description:`Текст выключенного состояния.`,control:`text`}}},h={render:e=>{let[t,n]=(0,f.useState)(e.value);return(0,p.jsx)(l,{...e,value:t,onChange:n})}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const [value, setValue] = useState<string>(args.value);
|
|
4
|
+
return <StringToggle {...args} value={value} onChange={setValue} />;
|
|
5
|
+
}
|
|
6
|
+
}`,...h.parameters?.docs?.source}}},g=[`ManagerScope`]})))()}_();export{h as ManagerScope,g as __namedExportsOrder,m as default};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,b.jsx)(
|
|
3
|
-
`,(0,b.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,i as m,n as h,r as g,t as _}from"./Switch.stories-EiAb5Z-D.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,b.jsx)(u,{children:`Switch`}),`
|
|
3
|
+
`,(0,b.jsx)(o,{children:`Переключатель в виде слайдера для быстрых включений, отключений и tri-state сценариев`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`Switch уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
5
5
|
Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны заблокированные состояния.`}),`
|
|
6
6
|
`,(0,b.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
7
|
-
`,(0,b.jsx)(
|
|
8
|
-
`,(0,b.jsx)(
|
|
7
|
+
`,(0,b.jsx)(f,{}),`
|
|
8
|
+
`,(0,b.jsx)(i,{of:_}),`
|
|
9
9
|
`,(0,b.jsx)(t.pre,{children:(0,b.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
|
|
10
10
|
|
|
11
11
|
import { Switch } from "@/shared/ui";
|
|
@@ -23,14 +23,14 @@ export function Example() {
|
|
|
23
23
|
`,(0,b.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
|
|
24
24
|
`,(0,b.jsx)(t.h3,{id:`классический-двухсостоянный-режим`,children:`Классический двухсостоянный режим`}),`
|
|
25
25
|
`,(0,b.jsx)(t.p,{children:`Классический двухсостоянный режим.`}),`
|
|
26
|
-
`,(0,b.jsx)(
|
|
26
|
+
`,(0,b.jsx)(d,{of:_}),`
|
|
27
27
|
`,(0,b.jsx)(t.h3,{id:`трехсостояние-с-промежуточным-значением`,children:`Трехсостояние с промежуточным значением`}),`
|
|
28
28
|
`,(0,b.jsx)(t.p,{children:`Трехсостояние с промежуточным значением.`}),`
|
|
29
|
-
`,(0,b.jsx)(
|
|
29
|
+
`,(0,b.jsx)(d,{of:m}),`
|
|
30
30
|
`,(0,b.jsx)(t.h3,{id:`проверка-поведения-в-заблокированном-состоянии`,children:`Проверка поведения в заблокированном состоянии`}),`
|
|
31
31
|
`,(0,b.jsx)(t.p,{children:`Проверка поведения в заблокированном состоянии.`}),`
|
|
32
|
-
`,(0,b.jsx)(
|
|
32
|
+
`,(0,b.jsx)(d,{of:h}),`
|
|
33
33
|
`,(0,b.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
34
|
-
`,(0,b.jsx)(
|
|
34
|
+
`,(0,b.jsx)(l,{of:g}),`
|
|
35
35
|
`,(0,b.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
36
|
-
`,(0,b.jsx)(
|
|
36
|
+
`,(0,b.jsx)(a,{includePrimary:!1})]})}function y(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,b.jsx)(t,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;function x(){return(x=e((()=>{b=t(),r(),c(),p()})))()}x();export{y as default};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{n as e,o as t,r as n}from"./rolldown-runtime-C0FnF6B9.js";import{t as r}from"./react-C21x__mS.js";import{n as i,t as a}from"./circle-check-VtVMsaJJ.js";import{i as o,n as s,r as c}from"./iframe-DaN-XFub.js";import{a as l,i as u}from"./utils-DUM89eIj.js";import{n as d,t as f}from"./ui.module-DoMIk8Oc.js";var p,m;function h(){return(h=e((()=>{o(),p=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]],m=c(`ban`,p)})))()}var g,_,v,y,b;function x(){return(x=e((()=>{g=`Or5LYA`,_=`w0AMfA`,v=`P1x4lq`,y=`-ZVOZo`,b={switchWrapper:g,switch:`qge3io`,iconWrapper:_,auto:v,checked:y}})))()}function S(e){let{label:t,description:n,disabled:r,checkedIcon:i=(0,w.jsx)(a,{}),uncheckedIcon:o=(0,w.jsx)(m,{}),className:s,type:c,id:u,size:f,placeholder:p,onChange:h,value:g,triState:_,...v}=e,y=(0,C.useId)(),x=u??y,S=n?`${x}-description`:void 0,T=t?`${x}-label`:void 0,E=()=>{if(!e.triState){e.onChange(!e.value);return}if(e.value===void 0){e.onChange(!0);return}if(e.value===!0){e.onChange(!1);return}e.value===!1&&e.onChange(void 0)},D=typeof e.value==`boolean`&&e.value,O=e.triState&&typeof e.value!=`boolean`,k=v[`aria-label`]??(t?void 0:`Переключатель`);return(0,w.jsxs)(`div`,{className:l(d.uiElement,r&&d.disabled),"aria-disabled":r||void 0,children:[t&&(0,w.jsxs)(`div`,{id:T,className:d.uiLabel,children:[t,`:`]}),n&&(0,w.jsx)(`p`,{id:S,className:d.uiDescription,children:n}),(0,w.jsx)(`button`,{...v,id:x,type:c??`button`,role:`switch`,disabled:r,"aria-checked":D,"aria-describedby":S,"aria-labelledby":T,"aria-label":k,"aria-disabled":r,"data-ui":`switch`,"data-action":`toggle-switch`,onClick:E,className:l(d.uiInputControl,b.switchWrapper,s),children:(0,w.jsx)(`div`,{className:b.switch,"data-disabled":r||void 0,children:O?(0,w.jsx)(`div`,{className:l(b.iconWrapper,b.auto,b.checked),children:`Auto`}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`div`,{className:l(b.iconWrapper,!e.value&&b.checked),children:o}),(0,w.jsx)(`div`,{className:l(b.iconWrapper,e.value&&b.checked),children:i})]})})})]})}var C,w;function T(){return(T=e((()=>{C=t(r(),1),u(),h(),i(),f(),x(),w=s(),S.__docgenInfo={description:`Переключатель boolean-состояния в виде слайдера. Подходит для быстрых настроек и включения/отключения опций.`,methods:[],displayName:`Switch`}})))()}var E=n({BiState:()=>A,Disabled:()=>M,TriState:()=>j,__namedExportsOrder:()=>N,default:()=>k}),D,O,k,A,j,M,N;function P(){return(P=e((()=>{D=r(),T(),O=s(),k={title:`Shared/UI/Switch`,component:S,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:!1},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},A={render:e=>{let[t,n]=(0,D.useState)(!1);return(0,O.jsx)(S,{...e,value:t,onChange:n,triState:!1})}},j={render:e=>{let[t,n]=(0,D.useState)(void 0);return(0,O.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,O.jsx)(S,{...e,value:t,onChange:n,triState:!0}),(0,O.jsxs)(`div`,{children:[`Текущее значение: `,String(t)]})]})},args:{triState:!0,value:void 0}},M={args:{disabled:!0,value:!0}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const [value, setValue] = useState(false);
|
|
4
|
+
return <Switch {...args} value={value} onChange={setValue} triState={false} />;
|
|
5
|
+
}
|
|
6
|
+
}`,...A.parameters?.docs?.source}}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
|
|
7
|
+
render: args => {
|
|
8
|
+
const [value, setValue] = useState<boolean | undefined>(undefined);
|
|
9
|
+
return <div style={{
|
|
10
|
+
display: "grid",
|
|
11
|
+
gap: 8
|
|
12
|
+
}}>
|
|
13
|
+
<Switch {...args} value={value} onChange={setValue} triState />
|
|
14
|
+
<div>Текущее значение: {String(value)}</div>
|
|
15
|
+
</div>;
|
|
16
|
+
},
|
|
17
|
+
args: {
|
|
18
|
+
triState: true,
|
|
19
|
+
value: undefined
|
|
20
|
+
}
|
|
21
|
+
}`,...j.parameters?.docs?.source}}},M.parameters={...M.parameters,docs:{...M.parameters?.docs,source:{originalSource:`{
|
|
22
|
+
args: {
|
|
23
|
+
disabled: true,
|
|
24
|
+
value: true
|
|
25
|
+
}
|
|
26
|
+
}`,...M.parameters?.docs?.source}}},N=[`BiState`,`TriState`,`Disabled`]})))()}export{P as a,j as i,M as n,E as r,A as t};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{
|
|
2
|
-
`,(0,M.jsx)(
|
|
3
|
-
`,(0,M.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{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./Table.stories--TpBKwmP.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
|
|
2
|
+
`,(0,M.jsx)(u,{children:`Table`}),`
|
|
3
|
+
`,(0,M.jsxs)(o,{children:[`Плоская таблица как React-альтернатива `,(0,M.jsx)(t.code,{children:`sap.m.Table`})]}),`
|
|
4
4
|
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`Table`}),` предназначен для плоских данных и по поведению осознанно сближен с `,(0,M.jsx)(t.code,{children:`TreeTable`}),`.
|
|
5
5
|
Оба компонента используют общий табличный каркас, поэтому здесь совпадают states загрузки, визуальная структура, обработка выбора строк и клавиатурная активация.
|
|
6
6
|
`,(0,M.jsx)(t.code,{children:`Table`}),` также поддерживает декларативное форматирование через `,(0,M.jsx)(t.code,{children:`meta.formatting`}),`, formulas, безопасное pipeline-formatting и optional OData adapter.`]}),`
|
|
7
7
|
`,(0,M.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
8
|
-
`,(0,M.jsx)(
|
|
9
|
-
`,(0,M.jsx)(
|
|
8
|
+
`,(0,M.jsx)(f,{}),`
|
|
9
|
+
`,(0,M.jsx)(i,{of:O}),`
|
|
10
10
|
`,(0,M.jsx)(t.pre,{children:(0,M.jsx)(t.code,{className:`language-tsx`,children:`import { Table, type TableColumnDef } from "@/shared/ui";
|
|
11
11
|
|
|
12
12
|
interface DealRow {
|
|
@@ -162,36 +162,36 @@ function DealsTable({ rows }: { rows: DealRow[] }) {
|
|
|
162
162
|
`]}),`
|
|
163
163
|
`,(0,M.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
|
|
164
164
|
`,(0,M.jsx)(t.h3,{id:`базовый-режим`,children:`Базовый режим`}),`
|
|
165
|
-
`,(0,M.jsx)(
|
|
165
|
+
`,(0,M.jsx)(d,{of:O}),`
|
|
166
166
|
`,(0,M.jsx)(t.h3,{id:`left-pinning-столбцов`,children:`Left-pinning столбцов`}),`
|
|
167
|
-
`,(0,M.jsx)(
|
|
167
|
+
`,(0,M.jsx)(d,{of:h}),`
|
|
168
168
|
`,(0,M.jsx)(t.h3,{id:`множественный-выбор`,children:`Множественный выбор`}),`
|
|
169
|
-
`,(0,M.jsx)(
|
|
169
|
+
`,(0,M.jsx)(d,{of:m}),`
|
|
170
170
|
`,(0,M.jsx)(t.h3,{id:`строки-с-ограничением-выбора`,children:`Строки с ограничением выбора`}),`
|
|
171
|
-
`,(0,M.jsx)(
|
|
171
|
+
`,(0,M.jsx)(d,{of:x}),`
|
|
172
172
|
`,(0,M.jsx)(t.h3,{id:`фоновое-обновление-данных`,children:`Фоновое обновление данных`}),`
|
|
173
|
-
`,(0,M.jsx)(
|
|
173
|
+
`,(0,M.jsx)(d,{of:E}),`
|
|
174
174
|
`,(0,M.jsx)(t.h3,{id:`пустая-таблица`,children:`Пустая таблица`}),`
|
|
175
|
-
`,(0,M.jsx)(
|
|
175
|
+
`,(0,M.jsx)(d,{of:C}),`
|
|
176
176
|
`,(0,M.jsx)(t.h3,{id:`достижение-конца-списка`,children:`Достижение конца списка`}),`
|
|
177
|
-
`,(0,M.jsx)(
|
|
177
|
+
`,(0,M.jsx)(d,{of:w}),`
|
|
178
178
|
`,(0,M.jsx)(t.h3,{id:`первичная-загрузка`,children:`Первичная загрузка`}),`
|
|
179
|
-
`,(0,M.jsx)(
|
|
179
|
+
`,(0,M.jsx)(d,{of:b}),`
|
|
180
180
|
`,(0,M.jsx)(t.h3,{id:`formula-based-колонка`,children:`Formula-based колонка`}),`
|
|
181
|
-
`,(0,M.jsx)(
|
|
181
|
+
`,(0,M.jsx)(d,{of:g}),`
|
|
182
182
|
`,(0,M.jsx)(t.h3,{id:`pipeline-display-formatting`,children:`Pipeline display-formatting`}),`
|
|
183
|
-
`,(0,M.jsx)(
|
|
183
|
+
`,(0,M.jsx)(d,{of:k}),`
|
|
184
184
|
`,(0,M.jsx)(t.h3,{id:`скрытие-нулевых-значений`,children:`Скрытие нулевых значений`}),`
|
|
185
|
-
`,(0,M.jsx)(
|
|
185
|
+
`,(0,M.jsx)(d,{of:_}),`
|
|
186
186
|
`,(0,M.jsx)(t.h3,{id:`слияние-дубликатов-1`,children:`Слияние дубликатов`}),`
|
|
187
|
-
`,(0,M.jsx)(
|
|
187
|
+
`,(0,M.jsx)(d,{of:T}),`
|
|
188
188
|
`,(0,M.jsx)(t.h3,{id:`odata-metadata-adapter`,children:`OData metadata adapter`}),`
|
|
189
|
-
`,(0,M.jsx)(
|
|
189
|
+
`,(0,M.jsx)(d,{of:S}),`
|
|
190
190
|
`,(0,M.jsx)(t.h3,{id:`useodatatablecolumns-build`,children:`useODataTableColumns: build`}),`
|
|
191
|
-
`,(0,M.jsx)(
|
|
191
|
+
`,(0,M.jsx)(d,{of:y}),`
|
|
192
192
|
`,(0,M.jsx)(t.h3,{id:`useodatatablecolumns-enrich`,children:`useODataTableColumns: enrich`}),`
|
|
193
|
-
`,(0,M.jsx)(
|
|
193
|
+
`,(0,M.jsx)(d,{of:v}),`
|
|
194
194
|
`,(0,M.jsx)(t.h2,{id:`api`,children:`API`}),`
|
|
195
|
-
`,(0,M.jsx)(
|
|
195
|
+
`,(0,M.jsx)(l,{of:D}),`
|
|
196
196
|
`,(0,M.jsx)(t.h2,{id:`все-stories`,children:`Все stories`}),`
|
|
197
|
-
`,(0,M.jsx)(
|
|
197
|
+
`,(0,M.jsx)(a,{includePrimary:!1})]})}function j(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,M.jsx)(t,{...e,children:(0,M.jsx)(A,{...e})}):A(e)}var M;function N(){return(N=e((()=>{M=t(),r(),c(),p()})))()}N();export{j as default};
|