@ryuzaki13/react-foundation-ui 1.4.3 → 1.4.5
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 +1 -1
- package/dist/chunks/{multi-select-COa6-owj.js → multi-select-COEkc8Qc.js} +2 -3
- package/dist/chunks/multi-select-COEkc8Qc.js.map +1 -0
- package/dist/chunks/{select-C95db02j.js → select-BON0S9Dr.js} +106 -107
- package/dist/chunks/select-BON0S9Dr.js.map +1 -0
- package/dist/layout-picker/index.js +0 -1
- package/dist/layout-picker/index.js.map +1 -1
- package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/picker/types.d.ts +1 -1
- package/dist/picker/types.d.ts.map +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/select/Select.d.ts.map +1 -1
- package/dist/select/index.js +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
- package/dist/tree-select/index.js +112 -113
- package/dist/tree-select/index.js.map +1 -1
- package/package.json +18 -17
- package/storybook-static/assets/{Badge-DHexWW92.js → Badge-Bh73-APE.js} +1 -1
- package/storybook-static/assets/{Badge.stories-CeWDekpP.js → Badge.stories-gNFtCWnR.js} +1 -1
- package/storybook-static/assets/{Button-kybsFNS9.js → Button-O9QPAftp.js} +1 -1
- package/storybook-static/assets/{Button-VdPdxcvG.js → Button-mjF9HSg0.js} +1 -1
- package/storybook-static/assets/{Button.stories-DhgYDM_q.js → Button.stories-wkiE0c_a.js} +1 -1
- package/storybook-static/assets/{CalendarView-DTX0eO8t.js → CalendarView-CqKlnF8k.js} +1 -1
- package/storybook-static/assets/{CheckBox-CDwboiFD.js → CheckBox-CB8fTQF0.js} +1 -1
- package/storybook-static/assets/{CheckBox-B6rTemHK.js → CheckBox-Clpeg9q7.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-BSMihxpY.js → CheckBox.stories-pfWBxvOy.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-D5F38IUU.js → Color-6AOWCN3U-CVvkiihj.js} +1 -1
- package/storybook-static/assets/{ContextMenu-CQtvL8kx.js → ContextMenu-Sv4wfyS3.js} +1 -1
- package/storybook-static/assets/{ContextMenu-2ZQAeo_p.js → ContextMenu-eGnlhRRu.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-Dtz2YIGk.js → ContextMenu.stories-CVw3hOvY.js} +1 -1
- package/storybook-static/assets/{DateInput-DBwgBhFj.js → DateInput-D8_Oleoy.js} +1 -1
- package/storybook-static/assets/{DateInput-D41aWZ7_.js → DateInput-DQDplLib.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-CMV96t-8.js → DateInput.stories-BNpS4CND.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-DXYYFJJn.js → DateRangePresetSelect-Bfx-d5qg.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BLKJkg8X.js → DateRangePresetSelect-DCBEf98i.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-BNtFx_iG.js → DateRangePresetSelect.stories-PAV2jgQb.js} +1 -1
- package/storybook-static/assets/{Detail-BHcGLZok.js → Detail-DvmdQCue.js} +1 -1
- package/storybook-static/assets/{Detail.stories-C4smn8Uu.js → Detail.stories-CEm00aSN.js} +1 -1
- package/storybook-static/assets/{Dialog-kji1ho-G.js → Dialog-3I2Y7jD7.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-DYzrVcIT.js → Dialog.stories-lcadmonM.js} +1 -1
- package/storybook-static/assets/{Disclosure-BVLfp53o.js → Disclosure-DUIQ37oh.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-DcV1pGCt.js → Disclosure.stories-BeizaZWP.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CCwX0YiR.js → DocsRenderer-JROSPFPF-DwPk6ai7.js} +1 -1
- package/storybook-static/assets/{DropZone-6iWHt6C_.js → DropZone-BGuCU5dq.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-bASZNbD5.js → DropZone.stories-B4J6OZ3T.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-CMMbHs_d.js → ExpandableActionPanel.stories-gCrqbhG6.js} +1 -1
- package/storybook-static/assets/{Flex-BJViOwhH.js → Flex-CBwbh1yu.js} +1 -1
- package/storybook-static/assets/{Flex.stories-CI6DdxU7.js → Flex.stories-cdk6vRZq.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-CPLOruAY.js → FloatingPopover-D4h-c24R.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-CV4yLuxl.js → FormattedTableCell-Dh-kHTOC.js} +1 -1
- package/storybook-static/assets/{Grid-CNEn2bRE.js → Grid-BkKqSMfk.js} +1 -1
- package/storybook-static/assets/{Grid.stories-qFo5E3qE.js → Grid.stories-828arrPi.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-BeQI7oKQ.js → ImageCropper.stories-CrIWrKKR.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DK2ibQyr.js → ImageRenderer-F3AaZx-K.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-C1T4ne0G.js → ImageRenderer.stories-l3PnRYxy.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-D_Q-ZBtQ.js → ImageView.stories-C6uhkvCN.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-boombTJI.js → ImageViewer.stories-BSPiv5lU.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-D8KSESgf.js → ImageViewerRuntime-BOpMGgz6.js} +1 -1
- package/storybook-static/assets/{Input-DtOsW7ur.js → Input-Co--DMHY.js} +1 -1
- package/storybook-static/assets/{Input-CGHba0oM.js → Input-D-ZrbHVw.js} +1 -1
- package/storybook-static/assets/{Input.stories-C0qWd6SH.js → Input.stories-vqPv6pLx.js} +1 -1
- package/storybook-static/assets/{InputDateTime-CgYkmVYu.js → InputDateTime-DHBVbRii.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-Brxo7Chn.js → InputDateTime.stories-BAvLMBuk.js} +1 -1
- package/storybook-static/assets/{InputFile-Bsxafe88.js → InputFile-B9TVOEZV.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-BzEV7ybE.js → InputFile.stories-CypBLWFh.js} +1 -1
- package/storybook-static/assets/{InputFiles-KJFUsmSS.js → InputFiles-CxZkOZFK.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-ffjxiHSh.js → InputFiles.stories-BGwCp7OC.js} +1 -1
- package/storybook-static/assets/{InputFilesList-D6B5g99M.js → InputFilesList-OEX4zGI3.js} +1 -1
- package/storybook-static/assets/{InputImage-Cd39V4Vc.js → InputImage-31A6fxSf.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-n-tpY8OO.js → InputImage.stories-CdpOudXI.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CGQFfQk6.js → LayoutPicker-Dc55ovYM.js} +1 -1
- package/storybook-static/assets/LayoutPicker.stories-DXcn-WXQ.js +449 -0
- package/storybook-static/assets/{Listbox-CxISK8c5.js → Listbox-DF8E6oMR.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-BdQBmVFI.js → Listbox.stories-C98_9wX3.js} +1 -1
- package/storybook-static/assets/{Modal-BiaAWMdV.js → Modal-CXvDgktT.js} +1 -1
- package/storybook-static/assets/{Modal.stories-GV7fGqyd.js → Modal.stories-DAC_QwN7.js} +1 -1
- package/storybook-static/assets/{MultiSelect-D5XFosSU.js → MultiSelect-B-wX6JPo.js} +2 -2
- package/storybook-static/assets/{MultiSelect-Df2CpyNH.js → MultiSelect-DN4foQlG.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-BEVQF6hO.js → MultiSelect.stories-CgKNQmma.js} +1 -1
- package/storybook-static/assets/MultiSelectToken-DDu5n78h.css +1 -0
- package/storybook-static/assets/{MultiSelectToken-CrVawISu.js → MultiSelectToken-fjW8p4YG.js} +1 -1
- package/storybook-static/assets/{NoData-Fm23iF4n.js → NoData-W7wK8oTW.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-C2vSwAjz.js → NotificationsHost-D1UoWmF8.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-IbgayDlM.js → NotificationsHost.stories-BWUuMmPl.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-oW3kW0nO.js → ODataMultiSelect-DE1V4el8.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-CP6_jGSr.js → ODataMultiSelect.stories-Q1DUIL2W.js} +1 -1
- package/storybook-static/assets/{ODataSelect-CrGF8fyC.js → ODataSelect-CtoT2Wxx.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-DTv31Rkv.js → ODataSelect.stories-DLi7Rwzk.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-D0h8H3gw.js → ODataTreeMultiSelect-DEZfgyPK.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CM8QjG8r.js → ODataTreeMultiSelect.stories-H42q78xI.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-PWn0-hI4.js → ODataTreeSelect-BeylEiPN.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-2UkFTnbE.js → ODataTreeSelect.stories-MOILmtfY.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-CH6K7wiO.js → OneStepScroller-BSvYN6QP.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-BtwJuAO6.js → PeriodSelect-KQFGCxq6.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-BH8I5Wmg.js → PeriodSelect.stories-BIYx4_Yy.js} +1 -1
- package/storybook-static/assets/{PickerSelectionToolbar-BcL8-O6n.js → PickerSelectionToolbar-Cvv8vTZm.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-C8Asdp5e.js → PickerTriggerActions-BBZmXagt.js} +1 -1
- package/storybook-static/assets/{Popover-Ch5btFhR.js → Popover-7YZIq8Fi.js} +1 -1
- package/storybook-static/assets/{Popover-Djns7yXR.js → Popover-D6gSyjaW.js} +1 -1
- package/storybook-static/assets/{Popover.stories-Bask2I1I.js → Popover.stories-DM69Ztws.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DvsTjQNP.js → PresetRangeDateInput-Ch6GapcJ.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-BNfOUWgp.js → PresetRangeDateInput.stories-Cqd4eb0N.js} +1 -1
- package/storybook-static/assets/{PresetSelect-9zitP0-V.js → PresetSelect-C8uIYhPJ.js} +1 -1
- package/storybook-static/assets/{RadioButton-Yb9bQKYe.js → RadioButton-BQjiyASl.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-FIFxXFVP.js → RadioButton.stories-Cbho4i83.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CWsVqwtm.js → RadioGroup-DNqu6WaC.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Dn0zL838.js → RadioGroup-vw4ObVj-.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-B_drop9x.js → RadioGroup.stories-B-WQzZW_.js} +1 -1
- package/storybook-static/assets/{Scrollable-3Z6b5g0Z.js → Scrollable-DrxMuH2M.js} +1 -1
- package/storybook-static/assets/{Select-BaR8D89E.js → Select-BxigZNtu.js} +1 -1
- package/storybook-static/assets/{Select-BiOxxy0y.js → Select-X_O4M8Hi.js} +1 -1
- package/storybook-static/assets/{Select.stories-CMlWu7vC.js → Select.stories-BpTrYJSr.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-DhtCMwz6.js → SelectOptionContent-RAmgWCOm.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-BDiZo_-M.js → SerializableSelect-CA9wjk2m.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-DgC6oiRx.js → SerializableSelect.stories-DXd4E-3U.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-Dx1fvzyr.js → SingleDateTimeInput-BeFLYUBF.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-NRUE7nnA.js → SingleDateTimeInput.stories-B1aZ754N.js} +1 -1
- package/storybook-static/assets/{Slider-DJpzPo7f.js → Slider-BYrHesOR.js} +1 -1
- package/storybook-static/assets/{Slider-aiFcrSGY.js → Slider-BdWBkKp4.js} +1 -1
- package/storybook-static/assets/{Slider.stories-B0YHmFf5.js → Slider.stories-CgmOhVBs.js} +1 -1
- package/storybook-static/assets/{SliderInput-sOoxvdku.js → SliderInput-QmF2VQWA.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-BYk1V19Z.js → SliderInput.stories-MjSmhiOM.js} +1 -1
- package/storybook-static/assets/{Sortable-CuVT40f8.js → Sortable-D5OTpesH.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-KSWGoKrN.js → Sortable.stories-yz3c5EhY.js} +1 -1
- package/storybook-static/assets/{Splitter-EoNOj4XF.js → Splitter-DVq6XBul.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CuAZab2y.js → Splitter.stories-CopPw1_p.js} +1 -1
- package/storybook-static/assets/{StateSelect-B_M50HZl.js → StateSelect-ojwXeKmx.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-DQ_MzvL4.js → StateSelect.stories-D46m5HNn.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-BbRysCKA.js → StringToggle.stories-ByYMmlXl.js} +1 -1
- package/storybook-static/assets/{Switch-DO_tyZIc.js → Switch-Dy4Pahkn.js} +1 -1
- package/storybook-static/assets/{Switch.stories-BQakMoPp.js → Switch.stories-EiAb5Z-D.js} +1 -1
- package/storybook-static/assets/{Table-CVK5rwmT.js → Table-BO6Oa4JV.js} +1 -1
- package/storybook-static/assets/{Table.stories-IZaleOjp.js → Table.stories--TpBKwmP.js} +1 -1
- package/storybook-static/assets/{Tabs-DAaWUQb4.js → Tabs-7c93qVyH.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-BC8LwG22.js → Tabs.stories-DXZ0r2ix.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-CrXD57LV.js → TagInput.stories-CoM8rXwa.js} +1 -1
- package/storybook-static/assets/{Text-cVBcGheg.js → Text-BPlJUr3R.js} +1 -1
- package/storybook-static/assets/{Textarea-9VdIC6G0.js → Textarea-D3S4MkiX.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-CEaMwEau.js → Textarea.stories-47k8uHdB.js} +1 -1
- package/storybook-static/assets/{TimePanel-vx1aOwT4.js → TimePanel-C2iZ9Qr6.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-BKyiLEgy.js → TimePanel.stories-JTjIv6z1.js} +1 -1
- package/storybook-static/assets/{Toggle-DrNoVpGe.js → Toggle-CHmajZE5.js} +1 -1
- package/storybook-static/assets/{Toggle-CyajrRVE.js → Toggle-OlKw8qaK.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-CT0mQbdm.js → Toggle.stories-k4Z8qQVs.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-CtDZ1cXU.js → TreeMultiSelect-BC_n1Wb-.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-ag5i_Hw_.js → TreeMultiSelect-dOg0l7rk.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BxrbKopS.js → TreeMultiSelect.stories-CAzZRxn5.js} +1 -1
- package/storybook-static/assets/TreePickerBase-ycYQYQgi.js +22 -0
- package/storybook-static/assets/{TreeSelect-CL8REXC5.js → TreeSelect-BrNyI_Qx.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BNuJBo9x.js → TreeSelect-CDecTnag.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-CsWGc9X0.js → TreeSelect.stories-BUOw2Rwn.js} +1 -1
- package/storybook-static/assets/{TreeTable-DrIFC4Oh.js → TreeTable-BXw7lFBk.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-Dq5c4_qe.js → TreeTable.stories-z40pruPV.js} +1 -1
- package/storybook-static/assets/{async-0-Te_uje.js → async-BLDV04P4.js} +1 -1
- package/storybook-static/assets/{blocks-Dz3dJBcm.js → blocks-BiaKjftm.js} +3 -3
- package/storybook-static/assets/{browserAndReact-kZBm3nQe.js → browserAndReact-DX4H5rjQ.js} +1 -1
- package/storybook-static/assets/{check-BMyoSD8F.js → check-fB4gCKB_.js} +1 -1
- package/storybook-static/assets/{chevron-down-QDFtnGcg.js → chevron-down-B9GH0QvB.js} +1 -1
- package/storybook-static/assets/{chevron-left-BoVuWD4h.js → chevron-left-DjbyJeHO.js} +1 -1
- package/storybook-static/assets/{chevron-right-DS62_o_9.js → chevron-right-D29uf09I.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-DDIvKskF.js → chunk-W22LQPXL-CGkHFiZ0.js} +1 -1
- package/storybook-static/assets/{circle-alert-CXg50Gb0.js → circle-alert-Dmd7-WNp.js} +1 -1
- package/storybook-static/assets/{circle-check-BPfYNWmz.js → circle-check-VtVMsaJJ.js} +1 -1
- package/storybook-static/assets/{components-BejapTpU.js → components-CsfQDbHv.js} +3 -3
- package/storybook-static/assets/{contextMenu-DtXkMNr6.js → contextMenu-CzdfaUsd.js} +1 -1
- package/storybook-static/assets/{download-DnZ6jhvY.js → download-CyVhTbv6.js} +1 -1
- package/storybook-static/assets/{filesAndExcel-CXMXtMjq.js → filesAndExcel-DlUnL-Uu.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-PN45KvBS.js → floating-ui.react-DZ8IyUV4.js} +1 -1
- package/storybook-static/assets/{formatters-DGXR8csR.js → formatters-BTz64vfu.js} +1 -1
- package/storybook-static/assets/{formatters-runtime-GsS-hTg9.js → formatters-runtime-DVi3RdYb.js} +1 -1
- package/storybook-static/assets/{foundationLib-XrLbqi3r.js → foundationLib-CFj4J-Pc.js} +1 -1
- package/storybook-static/assets/{hooks-Ddmw7JMF.js → hooks-Ch5aYb7R.js} +1 -1
- package/storybook-static/assets/iframe-Cr7AcW_R.js +1 -0
- package/storybook-static/assets/{iframe-CrnMVMTc.js → iframe-DaN-XFub.js} +3 -3
- package/storybook-static/assets/{info-Dqq5QHG7.js → info-Cirk1RKZ.js} +1 -1
- package/storybook-static/assets/{odata-BaxgzNGj.js → odata-BtfB5Aje.js} +1 -1
- package/storybook-static/assets/{odataAndTables-OEVW-gFK.js → odataAndTables-TEZyQ-TZ.js} +1 -1
- package/storybook-static/assets/{odataFetchFn-BLWeF0ZQ.js → odataFetchFn-DEKVPDzV.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-BbswaX_5.js → odataStoryFixtures-CDDaJZKW.js} +1 -1
- package/storybook-static/assets/{persisted-BpFojVXw.js → persisted-BzLLmgUK.js} +1 -1
- package/storybook-static/assets/{pureUtilities-3afQk5ld.js → pureUtilities-Dw249t3R.js} +1 -1
- package/storybook-static/assets/{react-CpOcCp9T.js → react-KzpmXJc9.js} +1 -1
- package/storybook-static/assets/{refresh-cw-B2VU4UNA.js → refresh-cw-BN3JCsXv.js} +1 -1
- package/storybook-static/assets/{runtimeAndState-BEFDbOiZ.js → runtimeAndState-CCVgv3ck.js} +1 -1
- package/storybook-static/assets/{settings-2-CLJhjWJl.js → settings-2-jtcbbWm5.js} +1 -1
- package/storybook-static/assets/{sortable-DW_Veba0.js → sortable-dNWaObUX.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-D0RhvxXU.js → syntaxhighlighter-T5IQBZDB-hYwVxXYm.js} +1 -1
- package/storybook-static/assets/{trash-2-yLqdtpz8.js → trash-2-DrVfT0z5.js} +1 -1
- package/storybook-static/assets/{triangle-alert-wI8Cd8tI.js → triangle-alert-B1Q28Bq9.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-WnxdcAM4.js → useODataSelectBase-DlbeGYUP.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-C7L5TOjl.js → useODataTreeData-CvsoLfiG.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-CAWYFpCv.js → usePickerQuery-6rDaPaB0.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-BRXUlggw.js → usePickerTriggerController-BHBjSLtn.js} +1 -1
- package/storybook-static/assets/{x-CyFk00QC.js → x-Dh43gJN9.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/dist/chunks/multi-select-COa6-owj.js.map +0 -1
- package/dist/chunks/select-C95db02j.js.map +0 -1
- package/storybook-static/assets/LayoutPicker.stories-xSL2qafC.js +0 -449
- package/storybook-static/assets/MultiSelectToken-BoIwmje6.css +0 -1
- package/storybook-static/assets/TreePickerBase-DQzUtuAm.js +0 -22
- package/storybook-static/assets/iframe-FUHzX0Mr.js +0 -1
package/storybook-static/assets/{Splitter.stories-CuAZab2y.js → Splitter.stories-CopPw1_p.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
2
|
name: "Две панели",
|
|
3
3
|
render: args => <TwoPaneLayout {...args} />
|
|
4
4
|
}`,...z.parameters?.docs?.source}}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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
2
|
`,(0,b.jsx)(u,{children:`StateSelect`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Специализированный select для выбора визуального статуса или семантического состояния`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`StateSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
package/storybook-static/assets/{StateSelect.stories-DQ_MzvL4.js → StateSelect.stories-D46m5HNn.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
2
|
label?: ReactNode;
|
|
3
3
|
icon?: ReactNode;
|
|
4
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:`{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-
|
|
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
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState<string>(args.value);
|
|
4
4
|
return <StringToggle {...args} value={value} onChange={setValue} />;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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
2
|
`,(0,b.jsx)(u,{children:`Switch`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Переключатель в виде слайдера для быстрых включений, отключений и tri-state сценариев`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`Switch уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState(false);
|
|
4
4
|
return <Switch {...args} value={value} onChange={setValue} triState={false} />;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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
2
|
`,(0,M.jsx)(u,{children:`Table`}),`
|
|
3
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`}),`.
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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{D as i,E as a,T as ee,c as te,l as ne,n as o,s as re,v as s,w as ie}from"./odata-BtfB5Aje.js";import{C as ae,h as oe}from"./formatters--mhLir82-v41eaI4a.js";import{S as se,_ as ce,a as le,b as ue,c as de,d as fe,f as pe,g as me,h as he,i as ge,l as _e,m as ve,n as ye,o as be,p as xe,r as Se,s as c,t as Ce,u as we,v as Te,x as Ee,y as De}from"./FormattedTableCell-Dh-kHTOC.js";var l,u,d;function f(){return(f=e((()=>{l=`hKghZt`,u=`QsLRvS`,d={selectedIndicatorCell:l,sentinel:u}})))()}function Oe(e,t){return String(t)}function p({title:e,isLoading:t,isFetching:n,data:r,columns:i,selectionMode:a=`none`,selectedRowIds:ee,getRowId:ne,className:o,minHeight:re,tableClassName:s,columnVisibility:ie,defaultColumnVisibility:oe,columnOrder:le,defaultColumnOrder:ue,columnSizing:fe,defaultColumnSizing:me,columnPinning:ge,defaultColumnPinning:_e,enableColumnResizing:ve=!1,enableColumnReordering:ye=!1,columnResizeMinWidth:c,onColumnVisibilityChange:De,onColumnOrderChange:l,onColumnSizingChange:u,onColumnPinningChange:f,onRowClick:p,onRowSelectionChange:g,onReachEnd:_,getRowCanSelect:v,getRowClassName:ke,renderHeaderContextMenu:Ae,renderCellContent:y}){let b=(0,m.useMemo)(()=>r??[],[r]),x=(0,m.useMemo)(()=>he(i),[i]),S=ne??Oe,C=(0,m.useMemo)(()=>new Map(b.map((e,t)=>[S(e,t),e])),[S,b]),w=(0,m.useMemo)(()=>Array.from(C.keys()),[C]),T=(0,m.useRef)(null),E=(0,m.useRef)(null),{rowSelection:D,activateRowSelection:O}=te({availableRowIds:w,rowById:C,selectionMode:a,selectedRowIds:ee,onRowSelectionChange:g}),{columnVisibility:k,onColumnVisibilityChange:A}=be({columnVisibility:ie,defaultColumnVisibility:oe,onColumnVisibilityChange:De}),{columnOrder:j,onColumnOrderChange:M}=pe({columnOrder:le,defaultColumnOrder:ue,onColumnOrderChange:l}),{columnSizing:N,onColumnSizingChange:je}=de({columnSizing:fe,defaultColumnSizing:me,columnResizeMinWidth:c,onColumnSizingChange:u}),{columnPinning:P,onColumnPinningChange:F}=we({columnPinning:ge,defaultColumnPinning:_e,onColumnPinningChange:f}),I=(0,m.useMemo)(()=>({columnOrder:j,columnPinning:P,columnSizing:N,columnVisibility:k}),[j,P,N,k]),L=(0,m.useEffectEvent)(()=>{_?.()});(0,m.useEffect)(()=>{if(!_||!T.current||!E.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&L()},{root:T.current,threshold:.1});return e.observe(E.current),()=>e.disconnect()},[t,_,b.length]);let R=Ee({data:b,columns:i,state:{columnOrder:j,columnPinning:P,columnSizing:N,columnVisibility:k,rowSelection:D},onColumnOrderChange:M,onColumnPinningChange:F,onColumnSizingChange:je,onColumnVisibilityChange:A,getRowId:(e,t)=>S(e,t),getCoreRowModel:se(),enableMultiRowSelection:a===`multi`,enableRowSelection:e=>a===`none`?!1:!v||v(e.original)}),z=Te(R,I),B=R.getRowModel().rows,V=(0,m.useMemo)(()=>xe({rows:B,columns:z}),[B,z]),H=z[0]?.id;return(0,h.jsx)(Se,{table:R,columnState:I,title:e,isLoading:t,isFetching:n,className:o,minHeight:re,tableClassName:s,selectionMode:a,scrollableRef:T,onActivateRow:a!==`none`||p?e=>{O(e.id,e.getCanSelect()),p?.(e.original)}:void 0,isRowInteractive:e=>!!(p||a!==`none`&&e.getCanSelect()),getRowClassName:e=>ke?.(e.original),getCellClassName:({row:e,cell:t})=>t.column.id===H&&e.getIsSelected()?d.selectedIndicatorCell:void 0,getCellLayout:({cell:e})=>V.get(e.id),renderHeaderContextMenu:Ae,enableColumnResizing:ve,enableColumnReordering:ye,columnResizeMinWidth:c,renderCellContent:e=>{let t=ae({field:x.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:e.row.original,rowKind:`plain`}),n=ce({columnId:e.cell.column.id,runtimeByColumnId:x.runtimeByColumnId,customCellColumnIds:x.customCellColumnIds})?(0,h.jsx)(Ce,{displayValue:t,align:e.columnMeta?.align}):e.defaultContent;return y?y({...e,defaultContent:n,displayValue:t}):n},afterTableContent:_?(0,h.jsx)(`div`,{ref:E,className:d.sentinel,"aria-hidden":`true`}):null})}var m,h;function g(){return(g=e((()=>{m=n(),oe(),s(),ue(),ge(),ve(),me(),ye(),De(),fe(),_e(),c(),le(),f(),h=r(),p.__docgenInfo={description:"Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.",methods:[],displayName:`Table`,props:{title:{required:!1,tsType:{name:`string`},description:`Необязательный заголовок над таблицей.`},isLoading:{required:!1,tsType:{name:`boolean`},description:`Признак первичной загрузки.`},isFetching:{required:!1,tsType:{name:`boolean`},description:`Признак фоновой догрузки или обновления данных.`},data:{required:!0,tsType:{name:`union`,raw:`readonly TData[] | undefined | null`,elements:[{name:`unknown`},{name:`undefined`},{name:`null`}]},description:`Плоский источник строк.`},columns:{required:!0,tsType:{name:`unknown`},description:`Описание колонок таблицы.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},selectedRowIds:{required:!1,tsType:{name:`unknown`},description:`Внешний список выбранных строк.
|
|
2
2
|
|
|
3
3
|
Если передан, таблица синхронизирует визуальное выделение с этим набором id.`},getRowId:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData, index: number) => string`,signature:{arguments:[{type:{name:`TData`},name:`row`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Стабильный идентификатор строки.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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}from"./blocks-BiaKjftm.js";import{a as f,c as p,d 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"./Tabs.stories-DXZ0r2ix.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:S,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,T.jsx)(u,{children:`Tabs`}),`
|
|
3
3
|
`,(0,T.jsx)(o,{children:`Набор tabs-компонентов с разделением простого scroll-сценария и составного panel-layout сценария`}),`
|
|
4
4
|
`,(0,T.jsxs)(t.p,{children:[`После рефакторинга `,(0,T.jsx)(t.code,{children:`tabs`}),` разделены на два независимых сценария:`]}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
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}from"./iframe-
|
|
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}from"./iframe-DaN-XFub.js";import{a,i as o,o as ee}from"./utils-DUM89eIj.js";import{i as s,n as c,r as l,t as u}from"./NoData-W7wK8oTW.js";import{n as d,t as f}from"./OneStepScroller-BSvYN6QP.js";import{n as p,t as m}from"./Scrollable-DrxMuH2M.js";function h(e){return e.find(e=>!e.disabled)?.id??null}function g(e,t){return t?e.find(e=>e.id===t&&!e.disabled)?.id??h(e):h(e)}function _(e){return e.filter(e=>!e.disabled)}function te({mountStrategy:e,isSelected:t,isVisited:n}){return e===`keep-mounted`||t||e===`lazy`&&n}function v({items:e,value:t,defaultValue:n,onValueChange:r,orientation:i=`horizontal`,activationMode:a=`automatic`,loop:o=!0}){let s=t!==void 0,c=(0,y.useMemo)(()=>_(e),[e]),l=c[0]?.id??null,[u,d]=(0,y.useState)(()=>g(e,n)),[f,p]=(0,y.useState)(()=>g(e,t??n)),m=g(e,t??n),[h,te]=(0,y.useState)(()=>m?new Set([m]):new Set),v=(0,y.useId)(),b=(0,y.useRef)({}),x=g(e,s?t:u),S=g(e,f)??x??l,C=(0,y.useMemo)(()=>{if(!x||h.has(x))return h;let e=new Set(h);return e.add(x),e},[x,h]),w=t=>{let n=g(e,t);n&&(te(e=>{if(e.has(n))return e;let t=new Set(e);return t.add(n),t}),s||d(n),r?.(n))},T=e=>{b.current[e]?.focus()},ne=e=>{if(c.length<2)return;let t=Math.max(0,c.findIndex(e=>e.id===(S??x??l))),n=ee({currentIndex:t,itemCount:c.length,key:e.key,orientation:i,wrap:o});if(n===null)return;e.preventDefault();let r=c[n]?.id;r&&(p(r),T(r),a===`automatic`&&w(r))},re=e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||p(x??l)},E=e=>`${v}-tab-${e}`,D=e=>`${v}-panel-${e}`;return{activationMode:a,orientation:i,selectedTabId:x,tabbableTabId:S,onTabListKeyDown:ne,onTabListBlur:re,getTabElementId:E,getPanelElementId:D,getTabButtonProps:e=>{let t=e.id===x,n=e.id===S;return{ref:t=>{b.current[e.id]=t},type:`button`,role:`tab`,id:E(e.id),disabled:e.disabled,"aria-selected":t,"aria-controls":D(e.id),"aria-disabled":e.disabled||void 0,tabIndex:e.disabled?-1:n?0:-1,onFocus:()=>p(e.id),onClick:()=>w(e.id)}},isVisited:e=>C.has(e)}}var y;function b(){return(b=e((()=>{y=r(),o()})))()}var x,S,C,w,T,ne,re,E,D,ie,ae,oe,se,ce,le,ue,O;function k(){return(k=e((()=>{x=`pcMjuj`,S=`ITP5v-`,C=`kzs94N`,w=`ZSAoAa`,T=`psYhsZ`,ne=`mNDq9-`,re=`g156KO`,E=`C2mO1e`,D=`_28F3fs`,ie=`UKZXTZ`,ae=`jiTafe`,oe=`nhD0k7`,se=`G8FICe`,ce=`W50XHh`,le=`vnjXkU`,ue=`Nzvfhw`,O={tabsContainer:x,bordered:S,cleanPanel:C,tabs:w,panels:T,horizontal:ne,vertical:re,panelScrollable:E,tab:D,selected:ie,panel:ae,panelBody:oe,layoutPanels:se,layoutPanel:ce,layoutSection:le,layoutContent:ue}})))()}function de({containerClassName:e,tabListClassName:t,panelsClassName:n,panelClassName:r,panelBodyClassName:i,loadingText:o}){return(0,A.jsxs)(`div`,{className:e,children:[(0,A.jsx)(`div`,{className:t,"aria-hidden":`true`,children:(0,A.jsx)(`button`,{type:`button`,disabled:!0,"data-disabled":``,className:a(O.tab,`skeletonLine`),children:`Загрузка...`})}),(0,A.jsx)(`div`,{className:n,"aria-busy":`true`,children:(0,A.jsx)(`div`,{className:r,children:(0,A.jsx)(`div`,{className:i,children:(0,A.jsx)(l,{text:o,className:`radiusSm`})})})})]})}var A;function fe(){return(fe=e((()=>{o(),s(),k(),A=i(),de.__docgenInfo={description:"Служебное loading-состояние для `TabsBox`.",methods:[],displayName:`TabsLoadingState`,props:{containerClassName:{required:!0,tsType:{name:`string`},description:``},tabListClassName:{required:!0,tsType:{name:`string`},description:``},panelsClassName:{required:!0,tsType:{name:`string`},description:``},panelClassName:{required:!0,tsType:{name:`string`},description:``},panelBodyClassName:{required:!0,tsType:{name:`string`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``}}}})))()}function pe({containerClassName:e,panelsClassName:t,panelClassName:n,panelBodyClassName:r}){return(0,j.jsx)(`div`,{className:e,children:(0,j.jsx)(`div`,{className:t,children:(0,j.jsx)(`div`,{className:n,children:(0,j.jsx)(`div`,{className:r,children:(0,j.jsx)(u,{className:`radiusSm`})})})})})}var j;function me(){return(me=e((()=>{c(),j=i(),pe.__docgenInfo={description:"Служебное empty-состояние для `TabsBox`.",methods:[],displayName:`TabsNoDataState`,props:{containerClassName:{required:!0,tsType:{name:`string`},description:``},panelsClassName:{required:!0,tsType:{name:`string`},description:``},panelClassName:{required:!0,tsType:{name:`string`},description:``},panelBodyClassName:{required:!0,tsType:{name:`string`},description:``}}}})))()}function he({tabId:e,isSelected:t,className:n,getTabElementId:r,getPanelElementId:i,children:a}){return(0,ge.jsx)(`div`,{role:`tabpanel`,id:i(e),"aria-labelledby":r(e),hidden:!t,className:n,children:a})}var ge;function _e(){return(_e=e((()=>{r(),ge=i(),he.__docgenInfo={description:``,methods:[],displayName:`TabsPanel`,props:{tabId:{required:!0,tsType:{name:`string`},description:``},isSelected:{required:!0,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},getTabElementId:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(tabId: string) => string`,signature:{arguments:[{type:{name:`string`},name:`tabId`}],return:{name:`string`}}},description:``},getPanelElementId:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(tabId: string) => string`,signature:{arguments:[{type:{name:`string`},name:`tabId`}],return:{name:`string`}}},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}}})))()}function ve({items:e,state:t,className:n,ariaLabel:r,ariaLabelledBy:i}){return(0,M.jsx)(`div`,{className:n,role:`tablist`,"aria-orientation":t.orientation,"aria-label":r,"aria-labelledby":i,onKeyDown:t.onTabListKeyDown,onBlur:t.onTabListBlur,children:(e=>t.orientation===`horizontal`?(0,M.jsx)(f,{children:e}):(0,M.jsx)(M.Fragment,{children:e}))(e.map(e=>(0,M.jsx)(`button`,{...t.getTabButtonProps(e),"data-ui":`tabs-tab`,"data-action":`select-tab`,className:a(O.tab,`textWrap`,e.id===t.selectedTabId&&O.selected),children:e.title},e.id)))})}var M;function ye(){return(ye=e((()=>{o(),d(),k(),M=i(),ve.__docgenInfo={description:``,methods:[],displayName:`TabsTabList`,props:{items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsDescriptor`}],raw:`TabsDescriptor[]`},description:``},state:{required:!0,tsType:{name:`TabsStateModel`},description:``},className:{required:!1,tsType:{name:`string`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``},ariaLabelledBy:{required:!1,tsType:{name:`string`},description:``}}}})))()}function N({items:e,value:t,defaultValue:n,onValueChange:r,className:i,isLoading:o,loadingText:ee,cleanPanel:s,bordered:c=!1,orientation:l=`horizontal`,activationMode:u=`automatic`,mountStrategy:d=`unmount`,loop:f=!0,"aria-label":p,"aria-labelledby":m}){let h=v({items:e,value:t,defaultValue:n,onValueChange:r,orientation:l,activationMode:u,loop:f}),g=a(O.tabsContainer,O[l],c&&O.bordered,s&&O.cleanPanel,i),_=O.tabs,y=a(O.panels,O.panelScrollable,`scrollable overscroll`),b=O.panel,x=O.panelBody;return o?(0,P.jsx)(de,{containerClassName:g,tabListClassName:_,panelsClassName:y,panelClassName:b,panelBodyClassName:x,loadingText:ee}):e.length?(0,P.jsxs)(`div`,{className:g,children:[(0,P.jsx)(ve,{items:e,state:h,className:_,ariaLabel:p,ariaLabelledBy:m}),(0,P.jsx)(`div`,{className:y,children:e.map(e=>{let t=e.id===h.selectedTabId;return te({mountStrategy:d,isSelected:t,isVisited:h.isVisited(e.id)})?(0,P.jsx)(he,{tabId:e.id,isSelected:t,className:b,getTabElementId:h.getTabElementId,getPanelElementId:h.getPanelElementId,children:(0,P.jsx)(`div`,{className:x,children:e.content})},e.id):null})})]}):(0,P.jsx)(pe,{containerClassName:g,panelsClassName:y,panelClassName:b,panelBodyClassName:x})}var P;function be(){return(be=e((()=>{o(),b(),k(),fe(),me(),_e(),ye(),P=i(),N.__docgenInfo={description:`Простой items-based tabs-компонент.
|
|
2
2
|
Сам управляет областью панели и её прокруткой.`,methods:[],displayName:`TabsBox`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"automatic"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"unmount"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsBoxItem`}],raw:`TabsBoxItem[]`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``}}}})))()}function xe({onChange:e,onValueChange:t,...n}){return(0,Se.jsx)(N,{...n,onValueChange:n=>{t?.(n),e?.(n)}})}var Se;function Ce(){return(Ce=e((()=>{be(),Se=i(),xe.__docgenInfo={description:"@deprecated Используйте `TabsBox` для простого сценария и `TabsLayout` для составных layout-сценариев.",methods:[],displayName:`Tabs`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``},loop:{required:!1,tsType:{name:`boolean`},description:``},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsBoxItem`}],raw:`TabsBoxItem[]`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}function we(e){let{type:t}=e;if(typeof t==`function`){let e=t;return e.displayName??e.name??null}if(typeof t==`object`&&t&&`displayName`in t){let e=t;return typeof e.displayName==`string`?e.displayName:null}return null}function F(e,t){return(0,I.isValidElement)(e)&&we(e)===t}function Te({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function Ee({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function De({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function Oe({children:e}){return(0,L.jsx)(L.Fragment,{children:e})}function ke(e,t){let n=null,r=null,i=null;for(let a of I.Children.toArray(e)){if(!(0,I.isValidElement)(a))throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`);if(F(a,Me)){if(n)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Toolbar.`);n=a.props;continue}if(F(a,Ne)){if(r)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Content.`);r=a.props;continue}if(F(a,Pe)){if(i)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Footer.`);i=a.props;continue}throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`)}if(!r)throw Error(`TabsLayout.Tab "${t}" должен содержать блок TabsLayout.Content.`);return{toolbar:n,content:r,footer:i}}function Ae(e){return I.Children.toArray(e).map(e=>{if(!F(e,je))throw Error(`TabsLayout принимает только дочерние элементы TabsLayout.Tab.`);return{id:e.props.id,title:e.props.title,disabled:e.props.disabled,...ke(e.props.children,e.props.id)}})}var I,L,je,Me,Ne,Pe,R,z;function Fe(){return(Fe=e((()=>{I=t(r(),1),o(),b(),k(),_e(),ye(),L=i(),je=`TabsLayout.Tab`,Me=`TabsLayout.Toolbar`,Ne=`TabsLayout.Content`,Pe=`TabsLayout.Footer`,Te.displayName=je,Ee.displayName=Me,De.displayName=Ne,Oe.displayName=Pe,R=({children:e,value:t,defaultValue:n,onValueChange:r,className:i,bordered:o,cleanPanel:ee,orientation:s=`horizontal`,activationMode:c=`manual`,mountStrategy:l=`lazy`,loop:u=!0,"aria-label":d,"aria-labelledby":f})=>{let p=(0,I.useMemo)(()=>Ae(e),[e]),m=v({items:p,value:t,defaultValue:n,onValueChange:r,orientation:s,activationMode:c,loop:u}),h=a(O.tabsContainer,O[s],o&&O.bordered,ee&&O.cleanPanel,i),g=a(O.panels,O.layoutPanels);return(0,L.jsxs)(`div`,{className:h,children:[(0,L.jsx)(ve,{items:p,state:m,className:O.tabs,ariaLabel:d,ariaLabelledBy:f}),(0,L.jsx)(`div`,{className:g,children:p.map(e=>{let t=e.id===m.selectedTabId;if(!te({mountStrategy:l,isSelected:t,isVisited:m.isVisited(e.id)}))return null;let n=`${e.toolbar?`auto `:``}minmax(0, 1fr)${e.footer?` auto`:``}`;return(0,L.jsx)(he,{tabId:e.id,isSelected:t,className:O.panel,getTabElementId:m.getTabElementId,getPanelElementId:m.getPanelElementId,children:(0,L.jsxs)(`div`,{className:O.layoutPanel,style:{gridTemplateRows:n},children:[e.toolbar?(0,L.jsx)(`div`,{className:a(O.layoutSection,e.toolbar.className),children:e.toolbar.children}):null,(0,L.jsx)(`div`,{className:a(O.layoutSection,O.layoutContent,e.content.className),children:e.content.children}),e.footer?(0,L.jsx)(`div`,{className:a(O.layoutSection,e.footer.className),children:e.footer.children}):null]})},e.id)})})]})},R.displayName=`TabsLayout`,z=Object.assign(R,{Tab:Te,Toolbar:Ee,Content:De,Footer:Oe}),R.__docgenInfo={description:`Compound-оболочка tabs для составных panel-layout сценариев.
|
|
3
3
|
Сам компонент управляет только переключением и каркасом панели.`,methods:[],displayName:`TabsLayout`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"manual"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"lazy"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}}})))()}var Ie=n({BoxBasic:()=>G,BoxControlled:()=>K,BoxMountStrategies:()=>J,BoxVertical:()=>q,DisabledTabs:()=>Y,Empty:()=>$,LayoutPanels:()=>X,LegacyTabs:()=>Z,Loading:()=>Q,__namedExportsOrder:()=>He,default:()=>Ve});function Le({label:e}){let[t,n]=(0,B.useState)(0);return(0,V.jsxs)(`div`,{style:H,children:[(0,V.jsxs)(`div`,{children:[`Панель: `,e]}),(0,V.jsxs)(`div`,{children:[`Локальный счётчик: `,t]}),(0,V.jsx)(`button`,{type:`button`,onClick:()=>n(e=>e+1),children:`Увеличить`})]})}function Re(){let[e,t]=(0,B.useState)(`details`);return(0,V.jsx)(`div`,{style:{height:360},children:(0,V.jsxs)(z,{value:e,onValueChange:t,bordered:!0,"aria-label":`Составные панели документа`,children:[(0,V.jsxs)(z.Tab,{id:`details`,title:`Детали`,children:[(0,V.jsx)(z.Toolbar,{children:(0,V.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Панель инструментов вне scroll-области.`})}),(0,V.jsx)(z.Content,{children:(0,V.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12,height:`100%`},children:[(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Левая колонка: `,e]},`left-${e}`))}),(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Правая колонка: `,e]},`right-${e}`))})]})}),(0,V.jsx)(z.Footer,{children:(0,V.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Футер тоже исключён из scroll-контента.`})})]}),(0,V.jsx)(z.Tab,{id:`history`,title:`История`,children:(0,V.jsx)(z.Content,{children:(0,V.jsx)(m,{className:`surface0 border radiusSm paddingSm h100`,children:W.map(e=>(0,V.jsxs)(`div`,{className:`paddingBlockXs`,children:[`История изменения: `,e]},`history-${e}`))})})})]})})}var B,V,H,U,ze,Be,W,Ve,G,K,q,J,Y,X,Z,Q,$,He;function Ue(){return(Ue=e((()=>{B=r(),Ce(),be(),Fe(),p(),V=i(),H={padding:16,display:`grid`,gap:12},U=[{id:`profile`,title:`Профиль`,content:(0,V.jsx)(`div`,{style:H,children:`Карточка пользователя и основные поля профиля.`})},{id:`settings`,title:`Настройки`,content:(0,V.jsx)(`div`,{style:H,children:`Параметры интерфейса, уведомлений и доступа.`})},{id:`history`,title:`История`,content:(0,V.jsx)(`div`,{style:H,children:`Последние действия, комментарии и изменения.`})}],ze=[{id:`first`,title:`Первая`,content:(0,V.jsx)(Le,{label:`Первая`})},{id:`second`,title:`Вторая`,content:(0,V.jsx)(Le,{label:`Вторая`})},{id:`third`,title:`Третья`,content:(0,V.jsx)(Le,{label:`Третья`})}],Be=[{id:`overview`,title:`Обзор`,content:(0,V.jsx)(`div`,{style:H,children:`Раздел доступен сразу.`})},{id:`analytics`,title:`Аналитика`,disabled:!0,content:(0,V.jsx)(`div`,{style:H,children:`Пока недоступно.`})},{id:`history`,title:`История`,content:(0,V.jsx)(`div`,{style:H,children:`История изменений и действий.`})}],W=Array.from({length:12},(e,t)=>`Элемент ${t+1}`),Ve={title:`Shared/UI/Tabs`,component:N,args:{items:U,orientation:`horizontal`,activationMode:`automatic`,mountStrategy:`unmount`,isLoading:!1,loadingText:`Загрузка вкладок...`,bordered:!1,loop:!0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{items:{description:"Набор вкладок для `TabsBox`. Каждая вкладка задаётся через `id`, `title`, `content` и опциональный `disabled`.",control:!1},value:{description:`Активная вкладка в controlled-режиме.`,control:`text`},defaultValue:{description:`Начальная вкладка в uncontrolled-режиме.`,control:`text`},onValueChange:{description:`Вызывается при смене активной вкладки.`,control:!1},orientation:{description:`Направление списка вкладок.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},activationMode:{description:"Режим клавиатурной активации: `automatic` меняет вкладку стрелками, `manual` только переводит фокус.",control:`inline-radio`,options:[`automatic`,`manual`]},mountStrategy:{description:"Политика монтирования панелей: `unmount`, `lazy` или `keep-mounted`.",control:`inline-radio`,options:[`unmount`,`lazy`,`keep-mounted`]},bordered:{description:`Добавляет рамку вокруг области панелей.`,control:`boolean`},loop:{description:`Разрешает циклическую навигацию стрелками и Home/End.`,control:`boolean`},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},isLoading:{description:"Показывает loading-состояние `TabsBox`.",control:`boolean`},loadingText:{description:`Текст внутри loading-состояния.`,control:`text`},"aria-label":{description:"Текстовая подпись для `tablist`, если рядом нет видимого заголовка.",control:`text`},"aria-labelledby":{description:"Ссылка на внешний заголовок `tablist`.",control:`text`}}},G={args:{"aria-label":`Основные разделы профиля`}},K={render:e=>{let[t,n]=(0,B.useState)(`settings`);return(0,V.jsx)(N,{...e,value:t,onValueChange:n})},args:{value:`settings`,"aria-label":`Управляемые вкладки`}},q={render:e=>(0,V.jsx)(`div`,{style:{height:320},children:(0,V.jsx)(N,{...e})}),args:{orientation:`vertical`,bordered:!0,"aria-label":`Вертикальные вкладки`}},J={render:e=>(0,V.jsx)(N,{...e,items:ze}),args:{mountStrategy:`lazy`,"aria-label":`Демонстрация стратегий монтирования`}},Y={args:{items:Be,"aria-label":`Вкладки с недоступным разделом`}},X={render:()=>(0,V.jsx)(Re,{})},Z={render:e=>(0,V.jsx)(xe,{...e,items:U,"aria-label":`Устаревший совместимый API`}),parameters:{docs:{description:{story:"Совместимый фасад поверх `TabsBox`. Новый функционал добавляется только в `TabsBox` и `TabsLayout`."}}}},Q={args:{isLoading:!0,items:U}},$={args:{items:[]}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
|
|
4
4
|
args: {
|
package/storybook-static/assets/{TagInput.stories-CrXD57LV.js → TagInput.stories-CoM8rXwa.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./x-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./x-Dh43gJN9.js";import{n as i}from"./iframe-DaN-XFub.js";import{a,i as o}from"./utils-DUM89eIj.js";import{n as s,t as c}from"./ui.module-DoMIk8Oc.js";import{c as l,l as u,o as ee,u as te}from"./Input-Co--DMHY.js";function d(...e){return e.filter(Boolean).join(` `)||void 0}function f(e){return e.trim()}function ne(e){return e}function re(e){return`Удалить тег «${e}»`}var p,m,h,g,_,v,y;function b(){return(b=e((()=>{p=`AoFB3K`,m=`PvaUEA`,h=`FZ-xEM`,g=`-RCqfG`,_=`ggY643`,v=`hiZq-y`,y={control:p,tagList:m,tag:h,tagText:g,removeButton:_,input:v}})))()}function x({ref:e,value:t,onChange:n,label:i,description:o,placeholder:c,size:l,disabled:u,readOnly:p=!1,error:m,onClearError:h,maxTags:g,normalizeTag:_=f,getTagKey:v=ne,addOnBlur:b=!0,getRemoveButtonAriaLabel:x=re,tokensAriaLabel:E=`Добавленные теги`,inputClassName:D,className:O,id:k,name:A,form:j,required:M,maxLength:N,onKeyDown:P,onPaste:F,onBlur:I,onCompositionStart:L,onCompositionEnd:R,"aria-describedby":z,"aria-labelledby":B,...ie}){let V=(0,S.useRef)(null),H=(0,S.useRef)(null),U=(0,S.useRef)(!1),[W,G]=(0,S.useState)(``),[ae,K]=(0,S.useState)(``),{controlId:q,labelId:J,descriptionId:oe,errorId:se,describedBy:ce}=te({id:k,hasLabel:i!=null,hasDescription:!!o,hasError:!!m}),Y=g===void 0?1/0:Math.max(0,Math.floor(g)),X=u||p,le=d(ce,z),ue=d(J,B);(0,S.useImperativeHandle)(e,()=>{let e=V.current;if(!e)throw Error(`TagInput: внутренний input недоступен при создании imperative handle.`);return e},[]);let Z=e=>{if(X)return;h?.();let r=[...t],i=new Set(r.map(e=>v(e))),a=[],o=0,s=!1;for(let t of e){let e=_(t);if(!e)continue;if(N!==void 0&&e.length>N){K(`Тег «${e}» длиннее допустимого значения.`);continue}let n=v(e);if(i.has(n)){o+=1;continue}if(r.length>=Y){s=!0;break}i.add(n),r.push(e),a.push(e)}a.length>0?(n(r),K(a.length===1?`Добавлен тег «${a[0]}».`:`Добавлено тегов: ${a.length}.`)):s?K(`Достигнуто максимальное количество тегов: ${Y}.`):o>0&&K(`Такой тег уже добавлен.`)},Q=()=>W?(Z(W.split(T)),G(``),!0):!1,$=e=>{if(X)return;let r=t[e];r!==void 0&&(n(t.filter((t,n)=>n!==e)),h?.(),K(`Удалён тег «${r}».`),V.current?.focus())},de=e=>{if(P?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||U.current||X)){if(e.key===`Enter`||e.key===`,`){(Q()||e.key===`,`)&&e.preventDefault();return}e.key===`Backspace`&&W.length===0&&t.length>0&&(e.preventDefault(),$(t.length-1))}},fe=e=>{if(F?.(e),e.defaultPrevented||X)return;let t=e.clipboardData.getData(`text`);if(!w.test(t))return;e.preventDefault();let n=e.currentTarget.selectionStart??W.length,r=e.currentTarget.selectionEnd??n,i=`${W.slice(0,n)}${t}${W.slice(r)}`;Z(i.split(T)),G(``)};return(0,C.jsxs)(ee,{label:i,description:o,disabled:u,className:O,size:l,error:m,controlId:q,labelId:J,descriptionId:oe,errorId:se,children:[(0,C.jsxs)(`div`,{ref:H,className:a(s.uiControl,m&&s.invalid,y.control),"data-disabled":u?``:void 0,"data-readonly":p?``:void 0,"data-invalid":m?``:void 0,onClick:()=>V.current?.focus(),children:[t.length>0&&(0,C.jsx)(`ul`,{className:y.tagList,"aria-label":E,children:t.map((e,t)=>(0,C.jsxs)(`li`,{className:y.tag,children:[(0,C.jsx)(`span`,{className:y.tagText,children:e}),!X&&(0,C.jsx)(`button`,{type:`button`,className:y.removeButton,onClick:e=>{e.stopPropagation(),$(t)},"aria-label":x(e,t),children:(0,C.jsx)(r,{"aria-hidden":`true`})})]},`${v(e)}-${t}`))}),(0,C.jsx)(`input`,{...ie,ref:V,id:q,form:j,disabled:u,readOnly:p,required:M&&t.length===0,maxLength:N,value:W,placeholder:t.length===0?c:void 0,"aria-invalid":!!m||void 0,"aria-labelledby":ue,"aria-describedby":le,className:a(y.input,D),onChange:e=>{let t=e.target.value,n=w.test(t);if(U.current)G(t);else if(n){let e=t.split(T),n=w.test(t.at(-1)??``)?``:e.pop()??``;Z(e),G(n)}else G(t);(U.current||!n)&&h?.()},onKeyDown:de,onPaste:fe,onCompositionStart:e=>{U.current=!0,L?.(e)},onCompositionEnd:e=>{U.current=!1,R?.(e)},onBlur:e=>{I?.(e);let t=e.relatedTarget,n=t instanceof Node&&H.current?.contains(t);!e.defaultPrevented&&!n&&b&&!X&&Q()}}),A&&t.map((e,t)=>(0,C.jsx)(`input`,{type:`hidden`,name:A,value:e,form:j,disabled:u},`${v(e)}-${t}`))]}),(0,C.jsx)(`span`,{className:`visuallyHidden`,"aria-live":`polite`,"aria-atomic":`true`,children:ae})]})}var S,C,w,T;function E(){return(E=e((()=>{S=t(),o(),n(),l(),u(),c(),b(),C=i(),w=/[,\r\n]/,T=/[,\r\n]+/,x.__docgenInfo={description:"Controlled-поле для создания коротких строковых тегов.\n\nНовое значение фиксируется по `Enter`, запятой, вставке списка или потере фокуса. Компонент хранит\nтолько незавершённый текст input, а окончательный набор всегда принадлежит потребителю через `value`.",methods:[],displayName:`TagInput`,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:``},ref:{required:!1,tsType:{name:`Ref`,elements:[{name:`HTMLInputElement`}],raw:`Ref<HTMLInputElement>`},description:"Ссылка на внутренний нативный `input`, передаваемая напрямую как React 19 prop."},error:{required:!1,tsType:{name:`string`},description:"Сообщение валидации, связанное с полем через `aria-describedby`."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после изменения черновика или набора тегов.`},readOnly:{required:!1,tsType:{name:`boolean`},description:`Запрещает изменение набора тегов, сохраняя возможность выделять и копировать текст.`,defaultValue:{value:`false`,computed:!1}},maxTags:{required:!1,tsType:{name:`number`},description:`Максимальное количество тегов. Отсутствие значения не ограничивает набор.`},normalizeTag:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Нормализует введённое значение перед проверкой дубликата и добавлением.
|
|
2
2
|
По умолчанию удаляет пробелы в начале и конце.`,defaultValue:{value:`function defaultNormalizeTag(value: string) {
|
|
3
3
|
return value.trim();
|
|
4
4
|
}`,computed:!1}},getTagKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Возвращает ключ сравнения тегов. Позволяет, например, запретить дубликаты без учёта регистра.
|
|
@@ -1 +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-
|
|
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";var o,s,c,l,u,d,f,p;function m(){return(m=e((()=>{o=t(n(),1),a(),s=r(),c={primary:`content0`,secondary:`content1`,muted:`content2`,info:`statusInfo`,success:`statusSuccess`,warning:`statusWarning`,error:`statusError`},l={xs:`fontSizeXs`,sm:`fontSizeSm`,md:`fontSizeMd`,lg:`fontSizeLg`,xl:`fontSizeXl`},u={lighter:`fontLighter`,light:`fontLight`,regular:`fontRegular`,medium:`fontMedium`,bold:`fontBold`,bolder:`fontBolder`},d={wrap:`textWrap`,noWrap:`textNoWrap`},f=({size:e,color:t,weight:n,italic:r,uppercase:a,wrap:s,className:f})=>(0,o.useMemo)(()=>{let o=[];return e&&o.push(l[e]),n&&o.push(u[n]),s&&o.push(d[s]),r&&o.push(`fontItalic`),a&&o.push(`textUppercase`),t&&o.push(c[t]),i(...o,f)},[e,n,t,r,a,s,f]),p=({children:e,as:t,style:n,...r})=>{let i=f(r);return(0,s.jsx)(t||`span`,{className:i,style:n,children:e})},p.__docgenInfo={description:``,methods:[],displayName:`Text`,props:{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:``},color:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary" | "muted" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`},{name:`literal`,value:`"muted"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},weight:{required:!1,tsType:{name:`union`,raw:`"lighter" | "light" | "regular" | "medium" | "bold" | "bolder"`,elements:[{name:`literal`,value:`"lighter"`},{name:`literal`,value:`"light"`},{name:`literal`,value:`"regular"`},{name:`literal`,value:`"medium"`},{name:`literal`,value:`"bold"`},{name:`literal`,value:`"bolder"`}]},description:``},italic:{required:!1,tsType:{name:`boolean`},description:``},uppercase:{required:!1,tsType:{name:`boolean`},description:``},wrap:{required:!1,tsType:{name:`union`,raw:`"wrap" | "noWrap"`,elements:[{name:`literal`,value:`"wrap"`},{name:`literal`,value:`"noWrap"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},style:{required:!1,tsType:{name:`CSSProperties`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},as:{required:!1,tsType:{name:`union`,raw:`"code" | "span" | "p" | "div" | "h2" | "h3" | "h4" | "h5" | "h6"`,elements:[{name:`literal`,value:`"code"`},{name:`literal`,value:`"span"`},{name:`literal`,value:`"p"`},{name:`literal`,value:`"div"`},{name:`literal`,value:`"h2"`},{name:`literal`,value:`"h3"`},{name:`literal`,value:`"h4"`},{name:`literal`,value:`"h5"`},{name:`literal`,value:`"h6"`}]},description:``}}}})))()}export{m as n,p as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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"./Textarea.stories-47k8uHdB.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
2
|
`,(0,b.jsx)(u,{children:`Textarea`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Многострочное текстовое поле для описаний, комментариев и заметок`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`Textarea уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
package/storybook-static/assets/{Textarea.stories-CEaMwEau.js → Textarea.stories-47k8uHdB.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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{n as o,t as s}from"./ui.module-DoMIk8Oc.js";import{c,l,o as u,u as d}from"./Input-Co--DMHY.js";var f,p;function m(){return(m=e((()=>{f=`TjY2iu`,p={textarea:f}})))()}function h({label:e,description:t,className:n,disabled:r,size:a,value:s,onChange:c,error:l,onClearError:f,id:m,...h}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=d({id:m,hasLabel:e!=null,hasDescription:!!t,hasError:!!l});return(0,g.jsx)(u,{label:e,description:t,disabled:r,size:a,error:l,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,g.jsx)(`textarea`,{...h,id:_,disabled:r,value:s,"aria-invalid":!!l||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":l?``:void 0,className:i(o.uiControl,p.textarea,`scrollable`,n),onChange:e=>{c?.(e.target.value),l&&f&&f()}})})}var g;function _(){return(_=e((()=>{a(),c(),l(),s(),m(),g=r(),h.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,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:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}var v=t({Controlled:()=>S,Disabled:()=>w,WithValue:()=>C,__namedExportsOrder:()=>T,default:()=>x}),y,b,x,S,C,w,T;function E(){return(E=e((()=>{y=n(),_(),b=r(),x={title:`Shared/UI/Textarea`,component:h,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,rows:4,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},rows:{description:`Количество видимых строк.`,control:`number`},cols:{description:`Ширина в количестве символов.`,control:`number`},disabled:{description:`Блокирует редактирование.`,control:`boolean`},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},S={args:{value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Первичный комментарий`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},C={args:{rows:5,value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Шаблонный текст для редактирования.`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},w={args:{disabled:!0,value:`Редактирование недоступно.`,onChange:()=>void 0},render:e=>(0,b.jsx)(h,{...e})},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
args: {
|
|
3
3
|
value: "",
|
|
4
4
|
onChange: () => undefined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-
|
|
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{a as r,i}from"./utils-DUM89eIj.js";import{b as a,g as o}from"./odata-service-DnPlNGpU-Bpd4Zh9L.js";import{h as s,m as c}from"./formatters--mhLir82-v41eaI4a.js";import{i as l,r as u}from"./date-segments-D3HouZ37.js";function d(e=0,t=0){return c(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return c(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):c(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w;function T(){return(T=e((()=>{u(),s(),a(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)})))()}function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}function E(){return(E=e((()=>{T()})))()}function D(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function te(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function ie(e,t,n){return n<=0||t<=0?0:D(Math.round(e/t),n)}var k,A,j,M,N,P,F;function I(){return(I=e((()=>{k=`GLhdJ6`,A=`_2xLNL2`,j=`dgX32S`,M=`WfOtQ9`,N=`XIdSMi`,P=`_--Hsbk`,F={wheelPicker:k,viewport:A,scroller:j,items:M,item:N,selectionFrame:P}})))()}function L({items:e,value:t,onChange:n,ariaLabel:i,disabled:a,className:o,minHeight:s=B,visibleRows:c=V,formatItem:l,getItemKey:u}){let d=(0,R.useRef)(null),f=(0,R.useRef)(null),p=(0,R.useRef)(null),m=(0,R.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,R.useState)(0),_=te(h,s),v=ne(_,c),y=re(_,v),b=(0,R.useRef)(m),x=(0,R.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,R.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=ie(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,R.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},H)},[S]);(0,R.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,R.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=D(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,R.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,R.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=D(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,z.jsx)(`div`,{ref:d,className:r(F.wheelPicker,o),style:T,children:(0,z.jsxs)(`div`,{className:F.viewport,children:[(0,z.jsx)(`div`,{ref:f,className:F.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":i,"aria-disabled":a||void 0,onKeyDown:w,children:(0,z.jsx)(`div`,{className:F.items,children:e.map((e,t)=>{let r=t===m;return(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:F.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,z.jsx)(`div`,{className:F.selectionFrame,"aria-hidden":`true`})]})})}var R,z,B,V,H;function U(){return(U=e((()=>{R=t(),i(),I(),z=n(),B=192,V=7,H=96,L.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})))()}var W,G,K,q,J,Y,X;function Z(){return(Z=e((()=>{W=`_5-SSnO`,G=`s1NHua`,K=`KQC9-8`,q=`WDu02W`,J=`_9mEhfD`,Y=`N-Fzjk`,X={timePanel:W,hint:G,fields:K,field:q,label:J,wheel:Y}})))()}function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsx)(`p`,{className:X.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsxs)(`div`,{className:X.fields,children:[(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Часы`}),(0,$.jsx)(L,{className:X.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Минуты`}),(0,$.jsx)(L,{className:X.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $;function ae(){return(ae=e((()=>{U(),E(),Z(),$=n(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},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}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}})))()}export{f as a,h as c,_ as d,d as i,g as l,ae as n,T as o,y as r,m as s,Q as t,p as u};
|
package/storybook-static/assets/{TimePanel.stories-BKyiLEgy.js → TimePanel.stories-JTjIv6z1.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-
|
|
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"./TimePanel-C2iZ9Qr6.js";var a,o,s,c,l,u;function d(){return(d=e((()=>{a=t(),r(),o=n(),s={title:`Shared/UI/Internal/DateTime/TimePanel`,component:i,args:{value:new Date(2026,2,10,12,30,0,0),onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`centered`}},c={render:e=>{let[t,n]=(0,a.useState)(e.value);return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(i,{...e,value:t,onChange:(e,r)=>{n(new Date(t.getFullYear(),t.getMonth(),t.getDate(),e,r,0,0))}})})}},l={render:e=>{let[t,n]=(0,a.useState)(new Date(2026,2,10,9,30,0,0));return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(i,{...e,value:t,minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0),onChange:(e,r)=>{n(new Date(t.getFullYear(),t.getMonth(),t.getDate(),e,r,0,0))}})})}},c.parameters={...c.parameters,docs:{...c.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState<Date>(args.value);
|
|
4
4
|
return <div style={{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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"./Toggle.stories-k4Z8qQVs.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:m,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,b.jsx)(u,{children:`Toggle`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Переключаемый булев контрол для локальных режимов и простых опций`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`Toggle уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -1 +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-
|
|
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"./ui.module-DoMIk8Oc.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=e((()=>{y=t(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,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:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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{n as i,t as a}from"./Toggle-OlKw8qaK.js";var o=t({Controlled:()=>u,Disabled:()=>f,LabelAfter:()=>d,__namedExportsOrder:()=>p,default:()=>l}),s,c,l,u,d,f,p;function m(){return(m=e((()=>{s=n(),i(),c=r(),l={title:`Shared/UI/Toggle`,component:a,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},u={render:e=>{let[t,n]=(0,s.useState)(e.value??!1);return(0,c.jsx)(a,{...e,value:t,onChange:n})},args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},d={render:e=>{let[t,n]=(0,s.useState)(e.value??!0);return(0,c.jsx)(a,{...e,value:t,onChange:n})},args:{label:`Уведомления`,value:!0,labelPosition:`after`}},f={args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState(args.value ?? false);
|
|
4
4
|
return <Toggle {...args} value={value} onChange={setValue} />;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-
|
|
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{a as r,n as i,o as a,t as o}from"./MultiSelectToken-fjW8p4YG.js";import{a as s,c,i as l,n as u,r as d,s as f,t as p,u as m}from"./TreePickerBase-ycYQYQgi.js";function h(e,t){if(e.size!==0){if(e.size===1){let n=t.nodeById.get([...e][0]);return n?n.label:void 0}return`${e.size} элементов`}}function g(e,t,n){let r=c(e,n),i=c(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function _({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:i,nodes:u,value:_,onChange:b,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,optionsLayout:E=`tree`,defaultExpandedCodeKeys:D}){let[O,k]=(0,v.useState)(!1),A=(0,v.useMemo)(()=>d(u),[u]),{draftValue:j,setDraftValue:M,prepareOpen:N}=a({value:_,open:O,onCommit:b,isEqual:(e,t)=>g(e,t,A)}),P=O?j:_,F=(0,v.useMemo)(()=>c(P,A),[P,A]),I=(0,v.useMemo)(()=>s(F,A),[F,A]),L=(0,v.useMemo)(()=>h(F,A),[F,A]);return(0,y.jsx)(p,{label:e,description:t,disabled:n,placeholder:r,size:i,nodes:u,selectedIds:I.selectedIds,partialIds:I.partialIds,selectionMode:`multi`,optionsLayout:E,defaultExpandedCodeKeys:D,open:O,onOpenChange:e=>{e&&!O&&N(),k(e)},bulkActions:{onSelectAll:()=>{M(m(l(A),A))},onDeselectAll:()=>M({})},triggerMode:`search`,selectedSummary:L?(0,y.jsx)(o,{value:L}):void 0,query:x,defaultQuery:S,onQuery:C,onNodeActivate:e=>{M(t=>f(t,e.id,A))},onClearSelection:()=>{M({}),O||b({})},isLoading:w,error:T})}var v,y;function b(){return(b=e((()=>{v=t(),i(),r(),u(),y=n(),_.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{b as n,_ as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-
|
|
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}from"./TreeMultiSelect.stories-CAzZRxn5.js";function S(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,w.jsx)(u,{children:`TreeMultiSelect`}),`
|
|
3
3
|
`,(0,w.jsx)(o,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
|
|
4
4
|
`,(0,w.jsxs)(t.p,{children:[(0,w.jsx)(t.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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{n as i,t as a}from"./TreeMultiSelect-BC_n1Wb-.js";import{n as o,r as s,t as c}from"./treeStoryFixtures-Ci7STpiz.js";var l=t({BalancedColumns:()=>y,Basic:()=>h,FirstTwoLevelsExpanded:()=>v,MixedSelection:()=>_,OrphanProtectionColumns:()=>b,ParentCompression:()=>g,RightEdgeColumns:()=>x,__namedExportsOrder:()=>S,default:()=>m});function u({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=c,defaultExpandedCodeKeys:o}){let[s,l]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(a,{label:t,description:n,nodes:i,value:s,onChange:l,optionsLayout:r,defaultExpandedCodeKeys:o}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(s)]})]})}var d,f,p,m,h,g,_,v,y,b,x,S;function C(){return(C=e((()=>{d=n(),i(),o(),f=r(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m={title:`Shared/UI/TreeMultiSelect`,component:a,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:c,value:{},onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},h={render:()=>(0,f.jsx)(u,{initialValue:{OWNER:[`P0001`]}})},g={render:()=>(0,f.jsx)(u,{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,initialValue:{REGION:[`R01`]}})},_={render:()=>(0,f.jsx)(u,{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,initialValue:{BRANCH:[`B0101`],OWNER:[`P0004`]}})},v={render:()=>(0,f.jsx)(u,{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]})},y={render:()=>(0,f.jsx)(u,{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,initialValue:{BRANCH:[`B0101`]}})},b={render:()=>(0,f.jsx)(u,{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:s})},x={render:()=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(u,{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p})})})},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: () => <StatefulTreeMultiSelect initialValue={{
|
|
3
3
|
OWNER: ["P0001"]
|
|
4
4
|
}} />
|