@ryuzaki13/react-foundation-ui 1.4.5 → 1.5.0
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 +9 -9
- package/dist/badge/index.js +1 -1
- package/dist/base-table/index.js +1 -1
- package/dist/button/index.js +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/chunks/{CalendarView-Z_XWk7aI.js → CalendarView-DtacoN_c.js} +2 -2
- package/dist/chunks/{CalendarView-Z_XWk7aI.js.map → CalendarView-DtacoN_c.js.map} +1 -1
- package/dist/chunks/CheckBox.module-C5SjPwSj.js.map +1 -1
- package/dist/chunks/{TextEditorLexicalClient-CK8j3RA4.js → TextEditorLexicalClient-DVML-Nhd.js} +6 -6
- package/dist/chunks/{TextEditorLexicalClient-CK8j3RA4.js.map → TextEditorLexicalClient-DVML-Nhd.js.map} +1 -1
- package/dist/chunks/{badge-DwIUjH0a.js → badge-CbclcpUi.js} +2 -2
- package/dist/chunks/{badge-DwIUjH0a.js.map → badge-CbclcpUi.js.map} +1 -1
- package/dist/chunks/{base-table-BFsVwXg3.js → base-table-BPcdSitC.js} +3 -3
- package/dist/chunks/{base-table-BFsVwXg3.js.map → base-table-BPcdSitC.js.map} +1 -1
- package/dist/chunks/{button-BU2kRzwu.js → button-BOl7hYmT.js} +4 -4
- package/dist/chunks/button-BOl7hYmT.js.map +1 -0
- package/dist/chunks/{check-box-Dd3YFuxd.js → check-box-6HGX_KOy.js} +5 -5
- package/dist/chunks/check-box-6HGX_KOy.js.map +1 -0
- package/dist/chunks/{context-menu-C6RO7soI.js → context-menu-BY4pYGwB.js} +2 -2
- package/dist/chunks/{context-menu-C6RO7soI.js.map → context-menu-BY4pYGwB.js.map} +1 -1
- package/dist/chunks/{date-input-BzExUQnc.js → date-input-DKkJO_-h.js} +19 -19
- package/dist/chunks/date-input-DKkJO_-h.js.map +1 -0
- package/dist/chunks/{floating-arrow-BE-z4QkE.js → floating-arrow-DPKwJfww.js} +3 -3
- package/dist/chunks/{floating-arrow-BE-z4QkE.js.map → floating-arrow-DPKwJfww.js.map} +1 -1
- package/dist/chunks/{input-Bp6_Ucgr.js → input-BWCaVC06.js} +9 -7
- package/dist/chunks/input-BWCaVC06.js.map +1 -0
- package/dist/chunks/{input-files-D1JzSw_Y.js → input-files-62qH2TMj.js} +3 -3
- package/dist/chunks/{input-files-D1JzSw_Y.js.map → input-files-62qH2TMj.js.map} +1 -1
- package/dist/chunks/{input-search-Bkhcinru.js → input-search-CdPI1cb6.js} +2 -2
- package/dist/chunks/{input-search-Bkhcinru.js.map → input-search-CdPI1cb6.js.map} +1 -1
- package/dist/chunks/{misc-BYxxlJz6.js → misc-Cp_r022Z.js} +2 -2
- package/dist/chunks/{misc-BYxxlJz6.js.map → misc-Cp_r022Z.js.map} +1 -1
- package/dist/chunks/{modal-paexEF0j.js → modal-DPIXoMkB.js} +3 -3
- package/dist/chunks/{modal-paexEF0j.js.map → modal-DPIXoMkB.js.map} +1 -1
- package/dist/chunks/{multi-select-COEkc8Qc.js → multi-select-01xmD1nZ.js} +114 -104
- package/dist/chunks/multi-select-01xmD1nZ.js.map +1 -0
- package/dist/chunks/{picker-e6IsrMUG.js → picker-Mdb73_uW.js} +3 -3
- package/dist/chunks/picker-Mdb73_uW.js.map +1 -0
- package/dist/chunks/popover-BTT7zSqx.js +230 -0
- package/dist/chunks/{popover-CGU3MlsH.js.map → popover-BTT7zSqx.js.map} +1 -1
- package/dist/chunks/{radio-group-CM9Lg_nc.js → radio-group-4j2HbemI.js} +2 -2
- package/dist/chunks/{radio-group-CM9Lg_nc.js.map → radio-group-4j2HbemI.js.map} +1 -1
- package/dist/chunks/{select-BON0S9Dr.js → select-DRf4_a1Z.js} +6 -6
- package/dist/chunks/select-DRf4_a1Z.js.map +1 -0
- package/dist/chunks/{table-Dd5BcC0k.js → table-DSg9gi_l.js} +2 -2
- package/dist/chunks/{table-Dd5BcC0k.js.map → table-DSg9gi_l.js.map} +1 -1
- package/dist/chunks/{ui.module-BisoTevy.js → ui.module-BfaIVBba.js} +3 -1
- package/dist/chunks/ui.module-BfaIVBba.js.map +1 -0
- package/dist/chunks/{uiClasses-BNjBunnY.js → uiClasses-4atXOh0J.js} +2 -2
- package/dist/chunks/{uiClasses-BNjBunnY.js.map → uiClasses-4atXOh0J.js.map} +1 -1
- package/dist/chunks/{useODataSelectBase-CKe1AVMI.js → useODataSelectBase-DI_wwKgw.js} +2 -2
- package/dist/chunks/{useODataSelectBase-CKe1AVMI.js.map → useODataSelectBase-DI_wwKgw.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-input/ui/DateInput.d.ts.map +1 -1
- package/dist/date-time-input/index.js +195 -194
- package/dist/date-time-input/index.js.map +1 -1
- package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
- package/dist/disclosure/index.js +4 -3
- package/dist/disclosure/index.js.map +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/expandable-action-panel/index.js +2 -2
- package/dist/floating-arrow/index.js +1 -1
- package/dist/image/index.js +4 -4
- package/dist/input/Input.d.ts +2 -1
- package/dist/input/Input.d.ts.map +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input-date-time/index.js +2 -2
- package/dist/input-file/index.js +2 -2
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +2 -2
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +94 -107
- package/dist/layout-picker/index.js.map +1 -1
- package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
- package/dist/list/index.js +1 -1
- package/dist/listbox/Listbox.d.ts +1 -0
- package/dist/listbox/Listbox.d.ts.map +1 -1
- package/dist/listbox/index.js +39 -34
- package/dist/listbox/index.js.map +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +2 -2
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/defaultRenderers.d.ts +2 -1
- package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/popover/FloatingPopover.d.ts +5 -0
- package/dist/popover/FloatingPopover.d.ts.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/preset-range-date-input/index.js +2 -3
- package/dist/preset-range-date-input/index.js.map +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js +3 -3
- package/dist/radio-button/index.js.map +1 -1
- package/dist/radio-group/index.js +1 -1
- package/dist/select/Select.d.ts.map +1 -1
- package/dist/select/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/Slider.d.ts.map +1 -1
- package/dist/slider/index.js +131 -117
- package/dist/slider/index.js.map +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +2 -2
- package/dist/tabs/index.js.map +1 -1
- package/dist/tag-input/index.js +2 -2
- package/dist/text/index.js +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/textarea/Textarea.d.ts.map +1 -1
- package/dist/textarea/index.js +3 -2
- package/dist/textarea/index.js.map +1 -1
- package/dist/toggle/index.js +1 -1
- package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
- package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
- package/dist/tree-select/index.js +244 -244
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-table/index.js +1 -1
- package/package.json +8 -2
- package/src/styles/_base.scss +3 -3
- package/src/styles/config/_index.scss +43 -38
- package/src/styles/mixins/_controls.scss +17 -16
- package/storybook-static/assets/Badge-CD5894x5.css +1 -0
- package/storybook-static/assets/{Badge-Bh73-APE.js → Badge-CblO4qSx.js} +1 -1
- package/storybook-static/assets/{Badge.stories-gNFtCWnR.js → Badge.stories-CtRrqjAo.js} +1 -1
- package/storybook-static/assets/{Button-O9QPAftp.js → Button-BVt4jmN4.js} +1 -1
- package/storybook-static/assets/{Button-mjF9HSg0.js → Button-Bzc9jBAF.js} +1 -1
- package/storybook-static/assets/{Button-DtU4kGzD.css → Button-DuVDH6-g.css} +1 -1
- package/storybook-static/assets/{Button.stories-wkiE0c_a.js → Button.stories-tqfxm0ox.js} +1 -1
- package/storybook-static/assets/CalendarView-MkrPd5D-.js +1 -0
- package/storybook-static/assets/{CheckBox-CB8fTQF0.js → CheckBox-0BK2dgdD.js} +1 -1
- package/storybook-static/assets/CheckBox-8XczNrjq.css +1 -0
- package/storybook-static/assets/{CheckBox-Clpeg9q7.js → CheckBox-CWipX4CI.js} +2 -2
- package/storybook-static/assets/{CheckBox.stories-pfWBxvOy.js → CheckBox.stories-B5yWzlQa.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-CVvkiihj.js → Color-6AOWCN3U-WdTzF_2p.js} +1 -1
- package/storybook-static/assets/{ContextMenu-Sv4wfyS3.js → ContextMenu-BjWu5DHB.js} +1 -1
- package/storybook-static/assets/{ContextMenu-eGnlhRRu.js → ContextMenu-kbSWsoCE.js} +1 -1
- package/storybook-static/assets/ContextMenu.stories-CQcrX3sj.js +90 -0
- package/storybook-static/assets/DateInput-4lH8A4HQ.css +1 -0
- package/storybook-static/assets/DateInput-BUgBb3aH.js +1 -0
- package/storybook-static/assets/{DateInput-DQDplLib.js → DateInput-CyNIW9Md.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-BNpS4CND.js → DateInput.stories-DyB3PjTl.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-DCBEf98i.js → DateRangePresetSelect-BwibZk_q.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-Bfx-d5qg.js → DateRangePresetSelect-CBZ0OAmn.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-PAV2jgQb.js → DateRangePresetSelect.stories-kmmKl-3j.js} +1 -1
- package/storybook-static/assets/{Detail-DvmdQCue.js → Detail-pHBZ5bkR.js} +1 -1
- package/storybook-static/assets/{Detail.stories-CEm00aSN.js → Detail.stories-Bs5YNmLn.js} +1 -1
- package/storybook-static/assets/Dialog-DBTU-LRR.js +1 -0
- package/storybook-static/assets/{Dialog-3I2Y7jD7.js → Dialog-DbFhCtF1.js} +1 -1
- package/storybook-static/assets/Dialog.stories-_WQW8YNs.js +31 -0
- package/storybook-static/assets/{Disclosure-DUIQ37oh.js → Disclosure-vOJWmhLt.js} +1 -1
- package/storybook-static/assets/Disclosure.stories-wyulIOoJ.js +40 -0
- package/storybook-static/assets/DisclosureGroup-BUDxwl5C.js +2 -0
- package/storybook-static/assets/DisclosureGroup-DjObX5Qs.css +1 -0
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-DwPk6ai7.js → DocsRenderer-JROSPFPF-B7vhvrpB.js} +1 -1
- package/storybook-static/assets/DropZone-B7Q1qQqP.js +9 -0
- package/storybook-static/assets/{DropZone-BGuCU5dq.js → DropZone-BvRT0gUm.js} +1 -1
- package/storybook-static/assets/DropZone.stories-WmoR3uPj.js +36 -0
- package/storybook-static/assets/DropdownMenu-BW35W6_U.js +1 -0
- package/storybook-static/assets/ExpandableActionPanel-C9G9PsZx.js +2 -0
- package/storybook-static/assets/ExpandableActionPanel.stories-Dllpmeu_.js +19 -0
- package/storybook-static/assets/{Flex-CBwbh1yu.js → Flex-Cydb-4MR.js} +1 -1
- package/storybook-static/assets/{Flex.stories-cdk6vRZq.js → Flex.stories-Dczj9g4W.js} +1 -1
- package/storybook-static/assets/FloatingPopover-C-W77AcJ.js +1 -0
- package/storybook-static/assets/{FloatingPopover-DC84VrV3.css → FloatingPopover-jwILx9b0.css} +1 -1
- package/storybook-static/assets/FormattedTableCell-fePg_bmP.js +18 -0
- package/storybook-static/assets/{Grid-BkKqSMfk.js → Grid-Dal3v5dj.js} +1 -1
- package/storybook-static/assets/{Grid.stories-828arrPi.js → Grid.stories-Byb4mMpE.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-CrIWrKKR.js → ImageCropper.stories-B9OD2pur.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-F3AaZx-K.js → ImageRenderer-BcUjptiu.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-l3PnRYxy.js → ImageRenderer.stories-BuO2nhom.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-C6uhkvCN.js → ImageView.stories-mSkR535R.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-BSPiv5lU.js → ImageViewer.stories-DVdR3-_j.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-BOpMGgz6.js → ImageViewerRuntime-DiR_HwIE.js} +1 -1
- package/storybook-static/assets/{Input-D-ZrbHVw.js → Input-BdCavSu1.js} +1 -1
- package/storybook-static/assets/Input-DZQKV4DP.js +3 -0
- package/storybook-static/assets/Input-Db2-9PJZ.css +1 -0
- package/storybook-static/assets/{Input.stories-vqPv6pLx.js → Input.stories-Cu66SvKb.js} +1 -1
- package/storybook-static/assets/{InputDateTime-DHBVbRii.js → InputDateTime-Day94W-O.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-BAvLMBuk.js → InputDateTime.stories-990MuicZ.js} +1 -1
- package/storybook-static/assets/InputFile-CJll5mC-.js +1 -0
- package/storybook-static/assets/{InputFile-B9TVOEZV.js → InputFile-Cp8x84ZG.js} +1 -1
- package/storybook-static/assets/InputFile.stories-fNNwbNfa.js +36 -0
- package/storybook-static/assets/{InputFiles-CxZkOZFK.js → InputFiles-CBvR3Szf.js} +1 -1
- package/storybook-static/assets/InputFiles-OusF5Lfq.js +1 -0
- package/storybook-static/assets/InputFiles.stories-DcpEbOOo.js +33 -0
- package/storybook-static/assets/{InputFilesList-OEX4zGI3.js → InputFilesList-zuNP1QIB.js} +1 -1
- package/storybook-static/assets/{InputImage-31A6fxSf.js → InputImage-CjMAL3uq.js} +1 -1
- package/storybook-static/assets/InputImage-Dl2bJNZk.js +7 -0
- package/storybook-static/assets/InputImage.stories-BzxEndIe.js +45 -0
- package/storybook-static/assets/InteractiveComponents.stories-CXF1nGLl.js +303 -0
- package/storybook-static/assets/{LayoutPicker-Dc55ovYM.js → LayoutPicker-BahcFBzK.js} +1 -1
- package/storybook-static/assets/LayoutPicker-CZRoovVS.css +1 -0
- package/storybook-static/assets/LayoutPicker-DzAN3gGO.js +376 -0
- package/storybook-static/assets/LayoutPicker-yb6IMmd2.css +1 -0
- package/storybook-static/assets/LayoutPicker.stories-ByamaGlv.js +74 -0
- package/storybook-static/assets/Listbox-C5hwzE4s.js +41 -0
- package/storybook-static/assets/Listbox-CHsNGsDc.js +1 -0
- package/storybook-static/assets/Listbox.stories-CvXZeESb.js +53 -0
- package/storybook-static/assets/{Modal-CXvDgktT.js → Modal-Dib11Lzy.js} +1 -1
- package/storybook-static/assets/Modal.stories-DYMy-kLP.js +180 -0
- package/storybook-static/assets/ModalManagerProvider-natWXnSM.js +1 -0
- package/storybook-static/assets/{MultiSelect-DN4foQlG.js → MultiSelect-Cl9MkPZw.js} +1 -1
- package/storybook-static/assets/MultiSelect-DlCZ7dhH.js +2 -0
- package/storybook-static/assets/{MultiSelect.stories-CgKNQmma.js → MultiSelect.stories-202TRBKq.js} +1 -1
- package/storybook-static/assets/{NoData-W7wK8oTW.js → NoData-DcHZdLTJ.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-D1UoWmF8.js → NotificationsHost-DzqEi2vc.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-BWUuMmPl.js → NotificationsHost.stories-CvoQfIjj.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-DE1V4el8.js → ODataMultiSelect-CHQguikm.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-Q1DUIL2W.js → ODataMultiSelect.stories-BZbWK4CP.js} +1 -1
- package/storybook-static/assets/{ODataSelect-CtoT2Wxx.js → ODataSelect-C1YGDpg_.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-DLi7Rwzk.js → ODataSelect.stories-D4tQXs2c.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-DEZfgyPK.js → ODataTreeMultiSelect-BjR7zhyJ.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-H42q78xI.js → ODataTreeMultiSelect.stories-Drg8mLhi.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-BeylEiPN.js → ODataTreeSelect-D_fcT3Aw.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-MOILmtfY.js → ODataTreeSelect.stories-BWFdmmvf.js} +2 -2
- package/storybook-static/assets/{OneStepScroller-BSvYN6QP.js → OneStepScroller-DWCRXFHq.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-KQFGCxq6.js → PeriodSelect-C7QQKxZ4.js} +1 -1
- package/storybook-static/assets/PeriodSelect-DtfTzrNK.js +5 -0
- package/storybook-static/assets/PeriodSelect.stories-CF65LIHm.js +60 -0
- package/storybook-static/assets/{PickerSelectionToolbar-Cvv8vTZm.js → PickerSelectionToolbar-D9atWyWj.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-BBZmXagt.js → PickerTriggerActions-C7WeaOKN.js} +1 -1
- package/storybook-static/assets/{Popover-D6gSyjaW.js → Popover-CUJF-IMC.js} +1 -1
- package/storybook-static/assets/{Popover-7YZIq8Fi.js → Popover-DQJIeny_.js} +1 -1
- package/storybook-static/assets/{Popover.stories-DM69Ztws.js → Popover.stories-BON0z3PX.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput-D3_uzWzQ.js +1 -0
- package/storybook-static/assets/{PresetRangeDateInput-Ch6GapcJ.js → PresetRangeDateInput-DpA1KOCo.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-CDDJDiei.js +15 -0
- package/storybook-static/assets/{PresetSelect-C8uIYhPJ.js → PresetSelect-DlV2eC-b.js} +1 -1
- package/storybook-static/assets/RadioButton-BLyqp88m.js +2 -0
- package/storybook-static/assets/{RadioButton-BQjiyASl.js → RadioButton-wkLEwRaH.js} +1 -1
- package/storybook-static/assets/RadioButton.stories-DS9RYBEJ.js +35 -0
- package/storybook-static/assets/{RadioGroup-vw4ObVj-.js → RadioGroup-CsWIje1J.js} +1 -1
- package/storybook-static/assets/{RadioGroup-DNqu6WaC.js → RadioGroup-DERcyzA0.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-B-WQzZW_.js → RadioGroup.stories-DkgUPavS.js} +1 -1
- package/storybook-static/assets/{Scrollable-DrxMuH2M.js → Scrollable-DvJ3T3Ik.js} +1 -1
- package/storybook-static/assets/{Select-BxigZNtu.js → Select-DmEm2boi.js} +1 -1
- package/storybook-static/assets/{Select-X_O4M8Hi.js → Select-g0c0XGQY.js} +1 -1
- package/storybook-static/assets/{Select.stories-BpTrYJSr.js → Select.stories-BEPJovVd.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-RAmgWCOm.js → SelectOptionContent-B5E2W8PZ.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CA9wjk2m.js → SerializableSelect-wgzDfqEi.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-DXd4E-3U.js → SerializableSelect.stories-V8IqyO9Y.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BeFLYUBF.js → SingleDateTimeInput-B7v0t9f5.js} +1 -1
- package/storybook-static/assets/SingleDateTimeInput-CN7PyOsb.js +1 -0
- package/storybook-static/assets/SingleDateTimeInput-dwDPQ0HY.css +1 -0
- package/storybook-static/assets/SingleDateTimeInput.stories-FOoEMoyF.js +78 -0
- package/storybook-static/assets/Slider-24H5ASxG.js +1 -0
- package/storybook-static/assets/{Slider-BdWBkKp4.js → Slider-3HQKHpoi.js} +1 -1
- package/storybook-static/assets/Slider-BWuie2gr.css +1 -0
- package/storybook-static/assets/{Slider.stories-CgmOhVBs.js → Slider.stories-DeeP8cmV.js} +1 -1
- package/storybook-static/assets/{SliderInput-QmF2VQWA.js → SliderInput-CFbx-GW7.js} +1 -1
- package/storybook-static/assets/SliderInput-bqFr-Lyp.js +2 -0
- package/storybook-static/assets/SliderInput.stories-Djli653m.js +67 -0
- package/storybook-static/assets/{Sortable-D5OTpesH.js → Sortable-CMo2PMKX.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-yz3c5EhY.js → Sortable.stories-BFsQvwMx.js} +1 -1
- package/storybook-static/assets/{Splitter-DVq6XBul.js → Splitter-dwOhGuIg.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CopPw1_p.js → Splitter.stories-DZ3nAxpo.js} +1 -1
- package/storybook-static/assets/StateSelect-IigEzRom.js +4 -0
- package/storybook-static/assets/{StateSelect-ojwXeKmx.js → StateSelect-j3gi4kbM.js} +1 -1
- package/storybook-static/assets/StateSelect.stories-Bj-2m2hS.js +44 -0
- package/storybook-static/assets/{StringToggle.stories-ByYMmlXl.js → StringToggle.stories-ClSl76ts.js} +1 -1
- package/storybook-static/assets/{Switch-Dy4Pahkn.js → Switch-BDbBZjMA.js} +1 -1
- package/storybook-static/assets/Switch-C9OAPzUM.js +1 -0
- package/storybook-static/assets/Switch.stories-CQ3ueThx.js +26 -0
- package/storybook-static/assets/{Table-BO6Oa4JV.js → Table-BbGcLQ81.js} +1 -1
- package/storybook-static/assets/{Table.stories--TpBKwmP.js → Table.stories-DvaHP59R.js} +1 -1
- package/storybook-static/assets/{Tabs-7c93qVyH.js → Tabs-CNEYvzUv.js} +1 -1
- package/storybook-static/assets/Tabs.stories-BpyQokl8.js +57 -0
- package/storybook-static/assets/TabsBox-ClZCbgKB.js +2 -0
- package/storybook-static/assets/TabsBox-Co1vxD90.css +1 -0
- package/storybook-static/assets/TagInput-ChmW4s9O.css +1 -0
- package/storybook-static/assets/TagInput-DorsSF_V.js +7 -0
- package/storybook-static/assets/TagInput.stories-ChgRz4Co.js +12 -0
- package/storybook-static/assets/{Text-BPlJUr3R.js → Text-DUqtop-c.js} +1 -1
- package/storybook-static/assets/{Textarea-D3S4MkiX.js → Textarea-ZfZJmHsp.js} +1 -1
- package/storybook-static/assets/Textarea-yZWv6QdW.js +1 -0
- package/storybook-static/assets/Textarea.stories-B5Q7syxH.js +27 -0
- package/storybook-static/assets/{TimePanel-C2iZ9Qr6.js → TimePanel-C39f__j8.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-JTjIv6z1.js → TimePanel.stories-DtjILTPk.js} +1 -1
- package/storybook-static/assets/{Toggle-CHmajZE5.js → Toggle-BndjhQFY.js} +1 -1
- package/storybook-static/assets/{Toggle-OlKw8qaK.js → Toggle-CdpPJI_O.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-k4Z8qQVs.js → Toggle.stories-BD_C0YTw.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-dOg0l7rk.js → TreeMultiSelect--M1WiE_f.js} +1 -1
- package/storybook-static/assets/TreeMultiSelect-BPz5kISi.js +1 -0
- package/storybook-static/assets/{TreeMultiSelect.stories-CAzZRxn5.js → TreeMultiSelect.stories-BgkDJur9.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-DMs9EpFv.css → TreePickerBase-BxLupQDs.css} +1 -1
- package/storybook-static/assets/{TreePickerBase-ycYQYQgi.js → TreePickerBase-Dup03AiC.js} +2 -2
- package/storybook-static/assets/{TreeSelect-BrNyI_Qx.js → TreeSelect-B0RWsDT4.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CDecTnag.js → TreeSelect-BrQGgG40.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-BUOw2Rwn.js → TreeSelect.stories-DkgdJ5XX.js} +1 -1
- package/storybook-static/assets/{TreeTable-BXw7lFBk.js → TreeTable-HQr8pb9r.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-z40pruPV.js → TreeTable.stories-C4hcph6x.js} +1 -1
- package/storybook-static/assets/{async-BLDV04P4.js → async-lzSWdC34.js} +1 -1
- package/storybook-static/assets/{blocks-BiaKjftm.js → blocks-D8l_hmHU.js} +3 -3
- package/storybook-static/assets/{browserAndReact-DX4H5rjQ.js → browserAndReact-BwvRFhzI.js} +1 -1
- package/storybook-static/assets/{check-fB4gCKB_.js → check-DpX8PMs_.js} +1 -1
- package/storybook-static/assets/{chevron-down-B9GH0QvB.js → chevron-down-DE8FRR-h.js} +1 -1
- package/storybook-static/assets/{chevron-left-DjbyJeHO.js → chevron-left-Cy3TEG_Y.js} +1 -1
- package/storybook-static/assets/{chevron-right-D29uf09I.js → chevron-right-CZ4-4s1X.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-CGkHFiZ0.js → chunk-W22LQPXL-Ci-XApFb.js} +1 -1
- package/storybook-static/assets/{circle-alert-Dmd7-WNp.js → circle-alert-CWbgc3Jn.js} +1 -1
- package/storybook-static/assets/{circle-check-VtVMsaJJ.js → circle-check-DODquDnH.js} +1 -1
- package/storybook-static/assets/{components-CsfQDbHv.js → components-BdUOCBP9.js} +3 -3
- package/storybook-static/assets/{contextMenu-CzdfaUsd.js → contextMenu-XvvXJEpW.js} +1 -1
- package/storybook-static/assets/defaultRenderers-lMEgLPIU.js +1 -0
- package/storybook-static/assets/defaultRenderers-tFmVIvt_.css +1 -0
- package/storybook-static/assets/{download-CyVhTbv6.js → download-BEGaHxQc.js} +1 -1
- package/storybook-static/assets/{filesAndExcel-DlUnL-Uu.js → filesAndExcel-C9FnZv9P.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-DZ8IyUV4.js → floating-ui.react-GziJy4gA.js} +1 -1
- package/storybook-static/assets/formatters-CVj-3Vn0-C5-BLq9O.js +1 -0
- package/storybook-static/assets/{formatters-runtime-DVi3RdYb.js → formatters-runtime-DO0szrYr.js} +1 -1
- package/storybook-static/assets/{formatters-BTz64vfu.js → formatters-vWial7jf.js} +16 -1
- package/storybook-static/assets/{foundationLib-CFj4J-Pc.js → foundationLib-CIqc9fhG.js} +1 -1
- package/storybook-static/assets/{hooks-Ch5aYb7R.js → hooks-DfgvMSqN.js} +2 -2
- package/storybook-static/assets/{iframe-DaN-XFub.js → iframe-BHhbrImE.js} +4 -4
- package/storybook-static/assets/iframe-D7iJQEr5.css +1 -0
- package/storybook-static/assets/iframe-oIP1aL7X.js +1 -0
- package/storybook-static/assets/{info-Cirk1RKZ.js → info-DSZ4aUvi.js} +1 -1
- package/storybook-static/assets/{odata-BtfB5Aje.js → odata-DmijE2H9.js} +1 -1
- package/storybook-static/assets/{odata-service-DnPlNGpU-Bpd4Zh9L.js → odata-service-B5w4YBao-BcP2cvfZ.js} +1 -1
- package/storybook-static/assets/{odataAndTables-TEZyQ-TZ.js → odataAndTables-m2AMS6oI.js} +1 -1
- package/storybook-static/assets/{odataFetchFn-DEKVPDzV.js → odataFetchFn-CwpkgKoz.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-CDDaJZKW.js → odataStoryFixtures-CBtJYQsv.js} +1 -1
- package/storybook-static/assets/{persisted-BzLLmgUK.js → persisted-DpSU25AR.js} +1 -1
- package/storybook-static/assets/{pureUtilities-Dw249t3R.js → pureUtilities-BG4ZSO63.js} +1 -1
- package/storybook-static/assets/react-Bz35HWpn.js +9 -0
- package/storybook-static/assets/{refresh-cw-BN3JCsXv.js → refresh-cw-ltgf4cUB.js} +1 -1
- package/storybook-static/assets/{runtimeAndState-CCVgv3ck.js → runtimeAndState-C_GrWjr8.js} +1 -1
- package/storybook-static/assets/{settings-2-jtcbbWm5.js → settings-2-qpVYfZn_.js} +1 -1
- package/storybook-static/assets/{sortable-dNWaObUX.js → sortable-CrCQ3H1V.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-hYwVxXYm.js → syntaxhighlighter-T5IQBZDB-eOr9ght-.js} +1 -1
- package/storybook-static/assets/{trash-2-DrVfT0z5.js → trash-2-lfhUDclN.js} +1 -1
- package/storybook-static/assets/{triangle-alert-B1Q28Bq9.js → triangle-alert-D9YGTafY.js} +1 -1
- package/storybook-static/assets/ui-CD51AD-_.css +1 -0
- package/storybook-static/assets/ui.module-kfCm3RIG.js +1 -0
- package/storybook-static/assets/{uiClasses-CO3Cdv1E.js → uiClasses-BS9RPcty.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-DlbeGYUP.js → useODataSelectBase-BVgxJPNn.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-CvsoLfiG.js → useODataTreeData-CdLHOBnD.js} +1 -1
- package/storybook-static/assets/{usePickerDefaultFilter-DdxyE_i8.js → usePickerDefaultFilter-Be420WNF.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-6rDaPaB0.js → usePickerQuery-B6U-oOS6.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-BHBjSLtn.js → usePickerTriggerController-C-VxrzSe.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-DzBkX15M.css → usePickerTriggerController-Q-ULIoGr.css} +1 -1
- package/storybook-static/assets/{x-Dh43gJN9.js → x-CNM39xuu.js} +1 -1
- package/storybook-static/iframe.html +3 -3
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/chunks/button-BU2kRzwu.js.map +0 -1
- package/dist/chunks/check-box-Dd3YFuxd.js.map +0 -1
- package/dist/chunks/date-input-BzExUQnc.js.map +0 -1
- package/dist/chunks/input-Bp6_Ucgr.js.map +0 -1
- package/dist/chunks/multi-select-COEkc8Qc.js.map +0 -1
- package/dist/chunks/picker-e6IsrMUG.js.map +0 -1
- package/dist/chunks/popover-CGU3MlsH.js +0 -222
- package/dist/chunks/select-BON0S9Dr.js.map +0 -1
- package/dist/chunks/ui.module-BisoTevy.js.map +0 -1
- package/storybook-static/assets/Badge-Cr7bAbxa.css +0 -1
- package/storybook-static/assets/CalendarView-CqKlnF8k.js +0 -1
- package/storybook-static/assets/CheckBox-CT1_Mjc0.css +0 -1
- package/storybook-static/assets/ContextMenu.stories-CVw3hOvY.js +0 -90
- package/storybook-static/assets/DateInput-D8_Oleoy.js +0 -1
- package/storybook-static/assets/DateInput-pmGiwdvw.css +0 -1
- package/storybook-static/assets/Dialog.stories-lcadmonM.js +0 -31
- package/storybook-static/assets/Disclosure-DzVnkjef.css +0 -1
- package/storybook-static/assets/Disclosure.stories-BeizaZWP.js +0 -41
- package/storybook-static/assets/DropZone.stories-B4J6OZ3T.js +0 -44
- package/storybook-static/assets/ExpandableActionPanel.stories-gCrqbhG6.js +0 -20
- package/storybook-static/assets/FloatingPopover-D4h-c24R.js +0 -1
- package/storybook-static/assets/FormattedTableCell-Dh-kHTOC.js +0 -18
- package/storybook-static/assets/Input-BioMOZju.css +0 -1
- package/storybook-static/assets/Input-Co--DMHY.js +0 -3
- package/storybook-static/assets/InputFile.stories-CypBLWFh.js +0 -36
- package/storybook-static/assets/InputFiles.stories-BGwCp7OC.js +0 -33
- package/storybook-static/assets/InputImage.stories-CdpOudXI.js +0 -51
- package/storybook-static/assets/LayoutPicker-9tLTatHF.css +0 -1
- package/storybook-static/assets/LayoutPicker.stories-DXcn-WXQ.js +0 -449
- package/storybook-static/assets/Listbox-DF8E6oMR.js +0 -38
- package/storybook-static/assets/Listbox.stories-C98_9wX3.js +0 -47
- package/storybook-static/assets/Modal.stories-DAC_QwN7.js +0 -180
- package/storybook-static/assets/MultiSelect-B-wX6JPo.js +0 -2
- package/storybook-static/assets/MultiSelectToken-DDu5n78h.css +0 -1
- package/storybook-static/assets/MultiSelectToken-fjW8p4YG.js +0 -1
- package/storybook-static/assets/PeriodSelect.stories-BIYx4_Yy.js +0 -64
- package/storybook-static/assets/PresetRangeDateInput.stories-Cqd4eb0N.js +0 -15
- package/storybook-static/assets/RadioButton.stories-Cbho4i83.js +0 -36
- package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +0 -1
- package/storybook-static/assets/SingleDateTimeInput.stories-B1aZ754N.js +0 -78
- package/storybook-static/assets/Slider-BYrHesOR.js +0 -1
- package/storybook-static/assets/Slider-DMDFRH6B.css +0 -1
- package/storybook-static/assets/SliderInput.stories-MjSmhiOM.js +0 -68
- package/storybook-static/assets/StateSelect.stories-D46m5HNn.js +0 -47
- package/storybook-static/assets/Switch.stories-EiAb5Z-D.js +0 -26
- package/storybook-static/assets/Tabs-BLkTB6pp.css +0 -1
- package/storybook-static/assets/Tabs.stories-DXZ0r2ix.js +0 -58
- package/storybook-static/assets/TagInput-LeQAhDgs.css +0 -1
- package/storybook-static/assets/TagInput.stories-CoM8rXwa.js +0 -18
- package/storybook-static/assets/Textarea.stories-47k8uHdB.js +0 -27
- package/storybook-static/assets/TreeMultiSelect-BC_n1Wb-.js +0 -1
- package/storybook-static/assets/formatters--mhLir82-v41eaI4a.js +0 -1
- package/storybook-static/assets/iframe-CJQlmNUm.css +0 -1
- package/storybook-static/assets/iframe-Cr7AcW_R.js +0 -1
- package/storybook-static/assets/react-KzpmXJc9.js +0 -9
- package/storybook-static/assets/ui-CSPaMpbi.css +0 -1
- package/storybook-static/assets/ui.module-DoMIk8Oc.js +0 -1
- /package/storybook-static/assets/{CheckBox.module-BBzuj5He.js → CheckBox.module-DPvJxTHD.js} +0 -0
- /package/storybook-static/assets/{Modal-BL_cTIW7.css → ModalManagerProvider-BL_cTIW7.css} +0 -0
- /package/storybook-static/assets/{array-BBSjoTRy-CIRmlF93.js → array-D-_yMMUK-CIRmlF93.js} +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
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-BHhbrImE.js";import{a,i as o}from"./utils-DUM89eIj.js";import{n as s,t as c}from"./Scrollable-DvJ3T3Ik.js";import{a as ee,c as l,f as te,i as u,l as d,n as f,o as p,r as ne,s as m,t as h,u as re}from"./TabsBox-ClZCbgKB.js";function g({onChange:e,onValueChange:t,...n}){return(0,_.jsx)(h,{...n,onValueChange:n=>{t?.(n),e?.(n)}})}var _;function v(){return(v=e((()=>{f(),_=i(),g.__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 ie(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 y(e,t){return(0,w.isValidElement)(e)&&ie(e)===t}function b({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function x({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function S({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function C({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function ae(e,t){let n=null,r=null,i=null;for(let a of w.Children.toArray(e)){if(!(0,w.isValidElement)(a))throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`);if(y(a,D)){if(n)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Toolbar.`);n=a.props;continue}if(y(a,O)){if(r)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Content.`);r=a.props;continue}if(y(a,k)){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 oe(e){return w.Children.toArray(e).map(e=>{if(!y(e,E))throw Error(`TabsLayout принимает только дочерние элементы TabsLayout.Tab.`);return{id:e.props.id,title:e.props.title,disabled:e.props.disabled,...ae(e.props.children,e.props.id)}})}var w,T,E,D,O,k,A,j;function M(){return(M=e((()=>{w=t(r(),1),o(),d(),l(),p(),u(),T=i(),E=`TabsLayout.Tab`,D=`TabsLayout.Toolbar`,O=`TabsLayout.Content`,k=`TabsLayout.Footer`,b.displayName=E,x.displayName=D,S.displayName=O,C.displayName=k,A=({children:e,value:t,defaultValue:n,onValueChange:r,className:i,bordered:o,cleanPanel:s,orientation:c=`horizontal`,activationMode:l=`manual`,mountStrategy:u=`lazy`,loop:d=!0,"aria-label":f,"aria-labelledby":p})=>{let h=(0,w.useMemo)(()=>oe(e),[e]),g=re({items:h,value:t,defaultValue:n,onValueChange:r,orientation:c,activationMode:l,loop:d}),_=a(m.tabsContainer,m[c],o&&m.bordered,s&&m.cleanPanel,i),v=a(m.panels,m.layoutPanels);return(0,T.jsxs)(`div`,{className:_,children:[(0,T.jsx)(ne,{items:h,state:g,className:m.tabs,ariaLabel:f,ariaLabelledBy:p}),(0,T.jsx)(`div`,{className:v,children:h.map(e=>{let t=e.id===g.selectedTabId;if(!te({mountStrategy:u,isSelected:t,isVisited:g.isVisited(e.id)}))return null;let n=`${e.toolbar?`auto `:``}minmax(0, 1fr)${e.footer?` auto`:``}`;return(0,T.jsx)(ee,{tabId:e.id,isSelected:t,className:m.panel,getTabElementId:g.getTabElementId,getPanelElementId:g.getPanelElementId,children:(0,T.jsxs)(`div`,{className:m.layoutPanel,style:{gridTemplateRows:n},children:[e.toolbar?(0,T.jsx)(`div`,{className:a(m.layoutSection,e.toolbar.className),children:e.toolbar.children}):null,(0,T.jsx)(`div`,{className:a(m.layoutSection,m.layoutContent,e.content.className),children:e.content.children}),e.footer?(0,T.jsx)(`div`,{className:a(m.layoutSection,e.footer.className),children:e.footer.children}):null]})},e.id)})})]})},A.displayName=`TabsLayout`,j=Object.assign(A,{Tab:b,Toolbar:x,Content:S,Footer:C}),A.__docgenInfo={description:`Compound-оболочка tabs для составных panel-layout сценариев.
|
|
2
|
+
Сам компонент управляет только переключением и каркасом панели.`,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 N=n({BoxBasic:()=>U,BoxControlled:()=>W,BoxMountStrategies:()=>K,BoxVertical:()=>G,DisabledTabs:()=>q,Empty:()=>Z,LayoutPanels:()=>J,LegacyTabs:()=>Y,Loading:()=>X,__namedExportsOrder:()=>Q,default:()=>H});function P({label:e}){let[t,n]=(0,F.useState)(0);return(0,I.jsxs)(`div`,{style:L,children:[(0,I.jsxs)(`div`,{children:[`Панель: `,e]}),(0,I.jsxs)(`div`,{children:[`Локальный счётчик: `,t]}),(0,I.jsx)(`button`,{type:`button`,onClick:()=>n(e=>e+1),children:`Увеличить`})]})}function se(){let[e,t]=(0,F.useState)(`details`);return(0,I.jsx)(`div`,{style:{height:360},children:(0,I.jsxs)(j,{value:e,onValueChange:t,bordered:!0,"aria-label":`Составные панели документа`,children:[(0,I.jsxs)(j.Tab,{id:`details`,title:`Детали`,children:[(0,I.jsx)(j.Toolbar,{children:(0,I.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Панель инструментов вне scroll-области.`})}),(0,I.jsx)(j.Content,{children:(0,I.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12,height:`100%`},children:[(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Левая колонка: `,e]},`left-${e}`))}),(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Правая колонка: `,e]},`right-${e}`))})]})}),(0,I.jsx)(j.Footer,{children:(0,I.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Футер тоже исключён из scroll-контента.`})})]}),(0,I.jsx)(j.Tab,{id:`history`,title:`История`,children:(0,I.jsx)(j.Content,{children:(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`История изменения: `,e]},`history-${e}`))})})})]})})}var F,I,L,R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q;function $(){return($=e((()=>{F=r(),v(),f(),M(),s(),I=i(),L={padding:16,display:`grid`,gap:12},R=[{id:`profile`,title:`Профиль`,content:(0,I.jsx)(`div`,{style:L,children:`Карточка пользователя и основные поля профиля.`})},{id:`settings`,title:`Настройки`,content:(0,I.jsx)(`div`,{style:L,children:`Параметры интерфейса, уведомлений и доступа.`})},{id:`history`,title:`История`,content:(0,I.jsx)(`div`,{style:L,children:`Последние действия, комментарии и изменения.`})}],z=[{id:`first`,title:`Первая`,content:(0,I.jsx)(P,{label:`Первая`})},{id:`second`,title:`Вторая`,content:(0,I.jsx)(P,{label:`Вторая`})},{id:`third`,title:`Третья`,content:(0,I.jsx)(P,{label:`Третья`})}],B=[{id:`overview`,title:`Обзор`,content:(0,I.jsx)(`div`,{style:L,children:`Раздел доступен сразу.`})},{id:`analytics`,title:`Аналитика`,disabled:!0,content:(0,I.jsx)(`div`,{style:L,children:`Пока недоступно.`})},{id:`history`,title:`История`,content:(0,I.jsx)(`div`,{style:L,children:`История изменений и действий.`})}],V=Array.from({length:12},(e,t)=>`Элемент ${t+1}`),H={title:`Shared/UI/Tabs`,component:h,args:{items:R,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`}}},U={args:{"aria-label":`Основные разделы профиля`}},W={render:e=>{let[t,n]=(0,F.useState)(`settings`);return(0,I.jsx)(h,{...e,value:t,onValueChange:n})},args:{value:`settings`,"aria-label":`Управляемые вкладки`}},G={render:e=>(0,I.jsx)(`div`,{style:{height:320},children:(0,I.jsx)(h,{...e})}),args:{orientation:`vertical`,bordered:!0,"aria-label":`Вертикальные вкладки`}},K={render:e=>(0,I.jsx)(h,{...e,items:z}),args:{mountStrategy:`lazy`,"aria-label":`Демонстрация стратегий монтирования`}},q={args:{items:B,"aria-label":`Вкладки с недоступным разделом`}},J={render:()=>(0,I.jsx)(se,{})},Y={render:e=>(0,I.jsx)(g,{...e,items:R,"aria-label":`Устаревший совместимый API`}),parameters:{docs:{description:{story:"Совместимый фасад поверх `TabsBox`. Новый функционал добавляется только в `TabsBox` и `TabsLayout`."}}}},X={args:{isLoading:!0,items:R}},Z={args:{items:[]}},U.parameters={...U.parameters,docs:{...U.parameters?.docs,source:{originalSource:`{
|
|
3
|
+
args: {
|
|
4
|
+
"aria-label": "Основные разделы профиля"
|
|
5
|
+
}
|
|
6
|
+
}`,...U.parameters?.docs?.source}}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{
|
|
7
|
+
render: args => {
|
|
8
|
+
const [value, setValue] = useState("settings");
|
|
9
|
+
return <TabsBox {...args} value={value} onValueChange={setValue} />;
|
|
10
|
+
},
|
|
11
|
+
args: {
|
|
12
|
+
value: "settings",
|
|
13
|
+
"aria-label": "Управляемые вкладки"
|
|
14
|
+
}
|
|
15
|
+
}`,...W.parameters?.docs?.source}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
|
|
16
|
+
render: args => <div style={{
|
|
17
|
+
height: 320
|
|
18
|
+
}}>
|
|
19
|
+
<TabsBox {...args} />
|
|
20
|
+
</div>,
|
|
21
|
+
args: {
|
|
22
|
+
orientation: "vertical",
|
|
23
|
+
bordered: true,
|
|
24
|
+
"aria-label": "Вертикальные вкладки"
|
|
25
|
+
}
|
|
26
|
+
}`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
|
|
27
|
+
render: args => <TabsBox {...args} items={lifecycleItems} />,
|
|
28
|
+
args: {
|
|
29
|
+
mountStrategy: "lazy",
|
|
30
|
+
"aria-label": "Демонстрация стратегий монтирования"
|
|
31
|
+
}
|
|
32
|
+
}`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
|
|
33
|
+
args: {
|
|
34
|
+
items: disabledItems,
|
|
35
|
+
"aria-label": "Вкладки с недоступным разделом"
|
|
36
|
+
}
|
|
37
|
+
}`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
|
|
38
|
+
render: () => <LayoutStory />
|
|
39
|
+
}`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
|
|
40
|
+
render: args => <Tabs {...args} items={demoItems} aria-label="Устаревший совместимый API" />,
|
|
41
|
+
parameters: {
|
|
42
|
+
docs: {
|
|
43
|
+
description: {
|
|
44
|
+
story: "Совместимый фасад поверх \`TabsBox\`. Новый функционал добавляется только в \`TabsBox\` и \`TabsLayout\`."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
|
|
49
|
+
args: {
|
|
50
|
+
isLoading: true,
|
|
51
|
+
items: demoItems
|
|
52
|
+
}
|
|
53
|
+
}`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
|
|
54
|
+
args: {
|
|
55
|
+
items: []
|
|
56
|
+
}
|
|
57
|
+
}`,...Z.parameters?.docs?.source}}},Q=[`BoxBasic`,`BoxControlled`,`BoxVertical`,`BoxMountStrategies`,`DisabledTabs`,`LayoutPanels`,`LegacyTabs`,`Loading`,`Empty`]})))()}export{q as a,Y as c,$ as d,G as i,X as l,W as n,Z as o,K as r,J as s,U as t,N as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-BHhbrImE.js";import{a as r,i,o as a}from"./utils-DUM89eIj.js";import{i as o,n as s,r as c,t as l}from"./NoData-DcHZdLTJ.js";import{n as u,t as d}from"./OneStepScroller-DWCRXFHq.js";function f(e){return e.find(e=>!e.disabled)?.id??null}function p(e,t){return t?e.find(e=>e.id===t&&!e.disabled)?.id??f(e):f(e)}function m(e){return e.filter(e=>!e.disabled)}function h({mountStrategy:e,isSelected:t,isVisited:n}){return e===`keep-mounted`||t||e===`lazy`&&n}function g(){return(g=e((()=>{})))()}function _({items:e,value:t,defaultValue:n,onValueChange:r,orientation:i=`horizontal`,activationMode:o=`automatic`,loop:s=!0}){let c=t!==void 0,l=(0,v.useMemo)(()=>m(e),[e]),u=l[0]?.id??null,[d,f]=(0,v.useState)(()=>p(e,n)),[h,g]=(0,v.useState)(()=>p(e,t??n)),_=p(e,t??n),[y,b]=(0,v.useState)(()=>_?new Set([_]):new Set),x=(0,v.useId)(),S=(0,v.useRef)({}),C=p(e,c?t:d),w=p(e,h)??C??u,T=(0,v.useMemo)(()=>{if(!C||y.has(C))return y;let e=new Set(y);return e.add(C),e},[C,y]),E=t=>{let n=p(e,t);n&&(b(e=>{if(e.has(n))return e;let t=new Set(e);return t.add(n),t}),c||f(n),r?.(n))},D=e=>{S.current[e]?.focus()},O=e=>{if(l.length<2)return;let t=Math.max(0,l.findIndex(e=>e.id===(w??C??u))),n=a({currentIndex:t,itemCount:l.length,key:e.key,orientation:i,wrap:s});if(n===null)return;e.preventDefault();let r=l[n]?.id;r&&(g(r),D(r),o===`automatic`&&E(r))},k=e=>{let t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||g(C??u)},A=e=>`${x}-tab-${e}`,j=e=>`${x}-panel-${e}`;return{activationMode:o,orientation:i,selectedTabId:C,tabbableTabId:w,onTabListKeyDown:O,onTabListBlur:k,getTabElementId:A,getPanelElementId:j,getTabButtonProps:e=>{let t=e.id===C,n=e.id===w;return{ref:t=>{S.current[e.id]=t},type:`button`,role:`tab`,id:A(e.id),disabled:e.disabled,"aria-selected":t,"aria-controls":j(e.id),"aria-disabled":e.disabled||void 0,tabIndex:e.disabled?-1:n?0:-1,onFocus:()=>g(e.id),onClick:()=>E(e.id)}},isVisited:e=>T.has(e)}}var v;function y(){return(y=e((()=>{v=t(),i()})))()}var b,x,S,C,w,T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=e((()=>{b=`pcMjuj`,x=`ITP5v-`,S=`kzs94N`,C=`ZSAoAa`,w=`psYhsZ`,T=`mNDq9-`,E=`_28F3fs`,D=`g156KO`,O=`C2mO1e`,k=`UKZXTZ`,A=`jiTafe`,j=`nhD0k7`,M=`G8FICe`,N=`W50XHh`,P=`vnjXkU`,F=`Nzvfhw`,I={tabsContainer:b,bordered:x,cleanPanel:S,tabs:C,panels:w,horizontal:T,tab:E,vertical:D,panelScrollable:O,selected:k,panel:A,panelBody:j,layoutPanels:M,layoutPanel:N,layoutSection:P,layoutContent:F}})))()}function R({containerClassName:e,tabListClassName:t,panelsClassName:n,panelClassName:i,panelBodyClassName:a,loadingText:o}){return(0,z.jsxs)(`div`,{className:e,children:[(0,z.jsx)(`div`,{className:t,"aria-hidden":`true`,children:(0,z.jsx)(`button`,{type:`button`,disabled:!0,"data-disabled":``,className:r(I.tab,`skeletonLine`),children:`Загрузка...`})}),(0,z.jsx)(`div`,{className:n,"aria-busy":`true`,children:(0,z.jsx)(`div`,{className:i,children:(0,z.jsx)(`div`,{className:a,children:(0,z.jsx)(c,{text:o,className:`radiusSm`})})})})]})}var z;function B(){return(B=e((()=>{i(),o(),L(),z=n(),R.__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 V({containerClassName:e,panelsClassName:t,panelClassName:n,panelBodyClassName:r}){return(0,H.jsx)(`div`,{className:e,children:(0,H.jsx)(`div`,{className:t,children:(0,H.jsx)(`div`,{className:n,children:(0,H.jsx)(`div`,{className:r,children:(0,H.jsx)(l,{className:`radiusSm`})})})})})}var H;function U(){return(U=e((()=>{s(),H=n(),V.__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 W({tabId:e,isSelected:t,className:n,getTabElementId:r,getPanelElementId:i,children:a}){return(0,G.jsx)(`div`,{role:`tabpanel`,id:i(e),"aria-labelledby":r(e),hidden:!t,className:n,children:a})}var G;function K(){return(K=e((()=>{t(),G=n(),W.__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 q({items:e,state:t,className:n,ariaLabel:i,ariaLabelledBy:a}){return(0,J.jsx)(`div`,{className:n,role:`tablist`,"aria-orientation":t.orientation,"aria-label":i,"aria-labelledby":a,onKeyDown:t.onTabListKeyDown,onBlur:t.onTabListBlur,children:(e=>t.orientation===`horizontal`?(0,J.jsx)(d,{children:e}):(0,J.jsx)(J.Fragment,{children:e}))(e.map(e=>(0,J.jsx)(`button`,{...t.getTabButtonProps(e),"data-ui":`tabs-tab`,"data-action":`select-tab`,className:r(I.tab,`textWrap`,e.id===t.selectedTabId&&I.selected),children:e.title},e.id)))})}var J;function Y(){return(Y=e((()=>{i(),u(),L(),J=n(),q.__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 X({items:e,value:t,defaultValue:n,onValueChange:i,className:a,isLoading:o,loadingText:s,cleanPanel:c,bordered:l=!1,orientation:u=`horizontal`,activationMode:d=`automatic`,mountStrategy:f=`unmount`,loop:p=!0,"aria-label":m,"aria-labelledby":g}){let v=_({items:e,value:t,defaultValue:n,onValueChange:i,orientation:u,activationMode:d,loop:p}),y=r(I.tabsContainer,I[u],l&&I.bordered,c&&I.cleanPanel,a),b=I.tabs,x=r(I.panels,I.panelScrollable,`scrollable overscroll`),S=I.panel,C=I.panelBody;return o?(0,Z.jsx)(R,{containerClassName:y,tabListClassName:b,panelsClassName:x,panelClassName:S,panelBodyClassName:C,loadingText:s}):e.length?(0,Z.jsxs)(`div`,{className:y,children:[(0,Z.jsx)(q,{items:e,state:v,className:b,ariaLabel:m,ariaLabelledBy:g}),(0,Z.jsx)(`div`,{className:x,children:e.map(e=>{let t=e.id===v.selectedTabId;return h({mountStrategy:f,isSelected:t,isVisited:v.isVisited(e.id)})?(0,Z.jsx)(W,{tabId:e.id,isSelected:t,className:S,getTabElementId:v.getTabElementId,getPanelElementId:v.getPanelElementId,children:(0,Z.jsx)(`div`,{className:C,children:e.content})},e.id):null})})]}):(0,Z.jsx)(V,{containerClassName:y,panelsClassName:x,panelClassName:S,panelBodyClassName:C})}var Z;function Q(){return(Q=e((()=>{i(),y(),L(),B(),U(),K(),Y(),Z=n(),X.__docgenInfo={description:`Простой items-based tabs-компонент.
|
|
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:``}}}})))()}export{W as a,L as c,g as d,h as f,Y as i,y as l,Q as n,K as o,q as r,I as s,X as t,_ as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.pcMjuj{--tabs-border:none;--tabs-panel-border:none;--tabs-panel-padding:var(--space-md);--tabs-panel-bg:var(--surface-1);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.ITP5v-{--tabs-border:var(--border);--tabs-panel-border:var(--border)}.kzs94N{--tabs-panel-padding:0;--tabs-panel-bg:none;--tabs-panel-border:none}.ZSAoAa{gap:var(--space-xs);border:var(--tabs-border);background-color:var(--surface-1);min-width:0;padding:var(--space-sm);display:flex}.psYhsZ{border:var(--tabs-panel-border);background-color:var(--tabs-panel-bg);min-width:0;min-height:0}.mNDq9-{grid-template-rows:auto minmax(0,1fr)}.mNDq9- .ZSAoAa{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.mNDq9- .psYhsZ{border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-top:none}.mNDq9- ._28F3fs{border-bottom:var(--focus-width) solid transparent}.g156KO{grid-template-columns:10em minmax(0,1fr);min-height:0}.g156KO .ZSAoAa{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm);flex-direction:column}.g156KO .psYhsZ{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-left:none}.g156KO ._28F3fs{border-left:var(--focus-width) solid transparent}.C2mO1e{overflow:auto}._28F3fs{text-align:left;min-height:var(--control-height);padding:var(--space-xs) var(--space-md);color:var(--content-2);font-variation-settings:"wght" 700;flex-shrink:0;font-weight:700;position:relative}._28F3fs:hover{cursor:pointer;color:var(--content-1);border-color:var(--border-2)}._28F3fs.UKZXTZ{color:var(--content-accent);border-color:var(--border-accent)}._28F3fs:disabled{cursor:not-allowed;color:var(--content-2);background-color:var(--surface-2)}.jiTafe{min-width:0;height:100%;min-height:0;padding:0}.nhD0k7{min-width:0;height:100%;min-height:0;padding:var(--tabs-panel-padding)}.G8FICe{overflow:hidden}.W50XHh{gap:var(--space-md);min-width:0;height:100%;min-height:0;padding:var(--tabs-panel-padding);display:grid}.vnjXkU{min-width:0}.Nzvfhw{min-height:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.AoFB3K{min-height:var(--control-height);align-items:center;gap:var(--space-xs);padding:calc(var(--space-xs) / 2) var(--space-sm);cursor:text;--ui-color:var(--content-0);--ui-color-hover:var(--content-0);--ui-color-active:var(--content-0);flex-wrap:wrap;display:flex}.AoFB3K[data-readonly]{cursor:default;background-color:var(--surface-1)}.PvaUEA{align-items:center;gap:var(--space-xs);flex-wrap:wrap;flex:0 auto;min-width:0;max-width:100%;margin:0;padding:0;list-style:none;display:flex}.FZ-xEM{color:var(--ui-color);background-color:var(--ui-background);border:var(--border-width) solid var(--ui-border-color);border-radius:var(--ui-radius,var(--radius-sm));transition-property:border-color,color,background-color,opacity;transition-duration:var(--transition-fast);--ui-color:var(--content-0);--ui-background:var(--surface-2);--ui-border-color:var(--border-0);align-items:center;gap:var(--space-xs);min-width:0;max-width:100%;padding:calc(var(--space-xs) / 2) var(--space-xs);font-size:var(--font-size-sm);transition-timing-function:ease;display:inline-flex}.-RCqfG{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ggY643{border-radius:var(--radius-xs);width:1.25em;height:1.25em;color:inherit;transition:color var(--transition-fast) ease, background-color var(--transition-fast) ease;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ggY643:hover{background-color:var(--status-error-soft);color:var(--status-error-text)}.ggY643:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.ggY643 svg{display:block}.hiZq-y{min-width:8ch;min-height:calc(var(--control-height) - var(--space-xs) - var(--border-width) * 2);color:inherit;font:inherit;background:0 0;border:none;outline:none;flex:8rem;padding:0}.hiZq-y::placeholder{color:var(--content-2)}.hiZq-y:read-only{cursor:default}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./x-CNM39xuu.js";import{n as i}from"./iframe-BHhbrImE.js";import{a,i as o}from"./utils-DUM89eIj.js";import{n as s,t as c}from"./ui.module-kfCm3RIG.js";import{c as l,l as u,o as ee,u as d}from"./Input-DZQKV4DP.js";function f(...e){return e.filter(Boolean).join(` `)||void 0}function p(e){return e.trim()}function m(e){return e}function h(e){return`Удалить тег «${e}»`}var g,_,v,y,b,x,S;function C(){return(C=e((()=>{g=`AoFB3K`,_=`PvaUEA`,v=`FZ-xEM`,y=`-RCqfG`,b=`ggY643`,x=`hiZq-y`,S={control:g,tagList:_,tag:v,tagText:y,removeButton:b,input:x}})))()}function w({ref:e,value:t,onChange:n,label:i,description:o,placeholder:c,size:l,disabled:u,readOnly:g=!1,error:_,onClearError:v,maxTags:y,normalizeTag:b=p,getTagKey:x=m,addOnBlur:C=!0,getRemoveButtonAriaLabel:w=h,tokensAriaLabel:k=`Добавленные теги`,inputClassName:A,className:j,id:M,name:N,form:P,required:te,maxLength:F,onKeyDown:ne,onPaste:re,onBlur:ie,onCompositionStart:ae,onCompositionEnd:oe,"aria-describedby":I,"aria-labelledby":L,...R}){let z=(0,T.useRef)(null),B=(0,T.useRef)(null),V=(0,T.useRef)(!1),[H,U]=(0,T.useState)(``),[W,G]=(0,T.useState)(``),{controlId:K,labelId:q,descriptionId:se,errorId:ce,describedBy:le}=d({id:M,hasLabel:i!=null,hasDescription:!!o,hasError:!!_}),J=y===void 0?1/0:Math.max(0,Math.floor(y)),Y=u||g,X=f(le,I),ue=f(q,L);(0,T.useImperativeHandle)(e,()=>{let e=z.current;if(!e)throw Error(`TagInput: внутренний input недоступен при создании imperative handle.`);return e},[]);let Z=e=>{if(Y)return;v?.();let r=[...t],i=new Set(r.map(e=>x(e))),a=[],o=0,s=!1;for(let t of e){let e=b(t);if(!e)continue;if(F!==void 0&&e.length>F){G(`Тег «${e}» длиннее допустимого значения.`);continue}let n=x(e);if(i.has(n)){o+=1;continue}if(r.length>=J){s=!0;break}i.add(n),r.push(e),a.push(e)}a.length>0?(n(r),G(a.length===1?`Добавлен тег «${a[0]}».`:`Добавлено тегов: ${a.length}.`)):s?G(`Достигнуто максимальное количество тегов: ${J}.`):o>0&&G(`Такой тег уже добавлен.`)},Q=()=>H?(Z(H.split(O)),U(``),!0):!1,$=e=>{if(Y)return;let r=t[e];r!==void 0&&(n(t.filter((t,n)=>n!==e)),v?.(),G(`Удалён тег «${r}».`),z.current?.focus())},de=e=>{if(ne?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||V.current||Y)){if(e.key===`Enter`||e.key===`,`){(Q()||e.key===`,`)&&e.preventDefault();return}e.key===`Backspace`&&H.length===0&&t.length>0&&(e.preventDefault(),$(t.length-1))}},fe=e=>{if(re?.(e),e.defaultPrevented||Y)return;let t=e.clipboardData.getData(`text`);if(!D.test(t))return;e.preventDefault();let n=e.currentTarget.selectionStart??H.length,r=e.currentTarget.selectionEnd??n,i=`${H.slice(0,n)}${t}${H.slice(r)}`;Z(i.split(O)),U(``)};return(0,E.jsxs)(ee,{label:i,description:o,disabled:u,className:j,size:l,error:_,controlId:K,labelId:q,descriptionId:se,errorId:ce,children:[(0,E.jsxs)(`div`,{ref:B,className:a(s.uiControl,_&&s.invalid,S.control),"data-disabled":u?``:void 0,"data-readonly":g?``:void 0,"data-invalid":_?``:void 0,onClick:()=>z.current?.focus(),children:[t.length>0&&(0,E.jsx)(`ul`,{className:S.tagList,"aria-label":k,children:t.map((e,t)=>(0,E.jsxs)(`li`,{className:S.tag,children:[(0,E.jsx)(`span`,{className:S.tagText,children:e}),!Y&&(0,E.jsx)(`button`,{type:`button`,className:S.removeButton,onClick:e=>{e.stopPropagation(),$(t)},"aria-label":w(e,t),children:(0,E.jsx)(r,{"aria-hidden":`true`})})]},`${x(e)}-${t}`))}),(0,E.jsx)(`input`,{...R,ref:z,id:K,form:P,disabled:u,readOnly:g,required:te&&t.length===0,maxLength:F,value:H,placeholder:t.length===0?c:void 0,"aria-invalid":!!_||void 0,"aria-labelledby":ue,"aria-describedby":X,className:a(S.input,A),onChange:e=>{let t=e.target.value,n=D.test(t);if(V.current)U(t);else if(n){let e=t.split(O),n=D.test(t.at(-1)??``)?``:e.pop()??``;Z(e),U(n)}else U(t);(V.current||!n)&&v?.()},onKeyDown:de,onPaste:fe,onCompositionStart:e=>{V.current=!0,ae?.(e)},onCompositionEnd:e=>{V.current=!1,oe?.(e)},onBlur:e=>{ie?.(e);let t=e.relatedTarget,n=t instanceof Node&&B.current?.contains(t);!e.defaultPrevented&&!n&&C&&!Y&&Q()}}),N&&t.map((e,t)=>(0,E.jsx)(`input`,{type:`hidden`,name:N,value:e,form:P,disabled:u},`${x(e)}-${t}`))]}),(0,E.jsx)(`span`,{className:`visuallyHidden`,"aria-live":`polite`,"aria-atomic":`true`,children:W})]})}var T,E,D,O;function k(){return(k=e((()=>{T=t(),o(),n(),l(),u(),c(),C(),E=i(),D=/[,\r\n]/,O=/[,\r\n]+/,w.__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
|
+
По умолчанию удаляет пробелы в начале и конце.`,defaultValue:{value:`function defaultNormalizeTag(value: string) {
|
|
3
|
+
return value.trim();
|
|
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:`Возвращает ключ сравнения тегов. Позволяет, например, запретить дубликаты без учёта регистра.
|
|
5
|
+
По умолчанию используется точное строковое сравнение.`,defaultValue:{value:`function defaultGetTagKey(value: string) {
|
|
6
|
+
return value;
|
|
7
|
+
}`,computed:!1}},addOnBlur:{required:!1,tsType:{name:`boolean`},description:`Добавляет непустой черновик при уходе фокуса с input. По умолчанию включено.`,defaultValue:{value:`true`,computed:!1}},getRemoveButtonAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string, index: number) => string`,signature:{arguments:[{type:{name:`string`},name:`value`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Формирует доступное имя кнопки удаления конкретного тега.`,defaultValue:{value:"function defaultGetRemoveButtonAriaLabel(value: string) {\n return `Удалить тег «${value}»`;\n}",computed:!1}},tokensAriaLabel:{required:!1,tsType:{name:`string`},description:`Доступное имя списка уже добавленных тегов.`,defaultValue:{value:`"Добавленные теги"`,computed:!1}},inputClassName:{required:!1,tsType:{name:`string`},description:"CSS-класс непосредственно для внутреннего `input`; `className` применяется к оболочке поля."}},composes:[`Omit`]}})))()}export{k as n,w as t};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-BHhbrImE.js";import{n as r,t as i}from"./TagInput-DorsSF_V.js";var a,o,s,c,l,u;function d(){return(d=e((()=>{a=t(),r(),o=n(),s={title:`Shared/UI/TagInput`,component:i,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Controlled-набор добавленных тегов.`,control:!1},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},maxTags:{description:`Максимальное количество тегов.`,control:`number`},readOnly:{description:`Показывает набор без действий изменения.`,control:`boolean`},normalizeTag:{control:!1},getTagKey:{control:!1},getRemoveButtonAriaLabel:{control:!1}}},c={render:e=>{let[t,n]=(0,a.useState)([`Новости`,`Колледж`]);return(0,o.jsx)(i,{...e,label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:t,onChange:n,maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)})}},l={args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},c.parameters={...c.parameters,docs:{...c.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const [value, setValue] = useState<readonly string[]>(["Новости", "Колледж"]);
|
|
4
|
+
return <TagInput {...args} label="Теги материала" description="Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк." placeholder="Добавить тег" value={value} onChange={setValue} maxTags={10} getTagKey={tag => tag.toLocaleLowerCase("ru")} />;
|
|
5
|
+
}
|
|
6
|
+
}`,...c.parameters?.docs?.source}}},l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
|
|
7
|
+
args: {
|
|
8
|
+
label: "Теги материала",
|
|
9
|
+
value: ["Новости", "Колледж"],
|
|
10
|
+
readOnly: true
|
|
11
|
+
}
|
|
12
|
+
}`,...l.parameters?.docs?.source}}},u=[`Controlled`,`ReadOnly`]})))()}d();export{c as Controlled,l as ReadOnly,u as __namedExportsOrder,s as default};
|
|
@@ -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-BHhbrImE.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-BHhbrImE.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-D8l_hmHU.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-B5Q7syxH.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.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-BHhbrImE.js";import{a as n,i as r}from"./utils-DUM89eIj.js";import{n as i,t as a}from"./ui.module-kfCm3RIG.js";import{c as o,l as s,o as c,u as l}from"./Input-DZQKV4DP.js";var u,d;function f(){return(f=e((()=>{u=`TjY2iu`,d={textarea:u}})))()}function p({label:e,description:t,className:r,disabled:a,size:o,value:s,onChange:u,error:f,onClearError:p,id:h,...g}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=l({id:h,hasLabel:e!=null,hasDescription:!!t,hasError:!!f});return(0,m.jsx)(c,{label:e,description:t,disabled:a,required:g.required,size:o,error:f,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,m.jsx)(`textarea`,{...g,id:_,disabled:a,value:s,"aria-invalid":!!f||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":f?``:void 0,className:n(i.uiControl,d.textarea,`scrollable`,r),onChange:e=>{u?.(e.target.value),f&&p&&p()}})})}var m;function h(){return(h=e((()=>{r(),o(),s(),a(),f(),m=t(),p.__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`]}})))()}export{h as n,p as t};
|
|
@@ -0,0 +1,27 @@
|
|
|
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-BHhbrImE.js";import{n as i,t as a}from"./Textarea-yZWv6QdW.js";var o=t({Controlled:()=>u,Disabled:()=>f,WithValue:()=>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/Textarea`,component:a,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`}}},u={args:{value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,s.useState)(`Первичный комментарий`);return(0,c.jsx)(a,{...e,value:t,onChange:n})}},d={args:{rows:5,value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,s.useState)(`Шаблонный текст для редактирования.`);return(0,c.jsx)(a,{...e,value:t,onChange:n})}},f={args:{disabled:!0,value:`Редактирование недоступно.`,onChange:()=>void 0},render:e=>(0,c.jsx)(a,{...e})},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
args: {
|
|
3
|
+
value: "",
|
|
4
|
+
onChange: () => undefined
|
|
5
|
+
},
|
|
6
|
+
render: args => {
|
|
7
|
+
const [value, setValue] = useState("Первичный комментарий");
|
|
8
|
+
return <Textarea {...args} value={value} onChange={setValue} />;
|
|
9
|
+
}
|
|
10
|
+
}`,...u.parameters?.docs?.source}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
11
|
+
args: {
|
|
12
|
+
rows: 5,
|
|
13
|
+
value: "",
|
|
14
|
+
onChange: () => undefined
|
|
15
|
+
},
|
|
16
|
+
render: args => {
|
|
17
|
+
const [value, setValue] = useState("Шаблонный текст для редактирования.");
|
|
18
|
+
return <Textarea {...args} value={value} onChange={setValue} />;
|
|
19
|
+
}
|
|
20
|
+
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
21
|
+
args: {
|
|
22
|
+
disabled: true,
|
|
23
|
+
value: "Редактирование недоступно.",
|
|
24
|
+
onChange: () => undefined
|
|
25
|
+
},
|
|
26
|
+
render: args => <Textarea {...args} />
|
|
27
|
+
}`,...f.parameters?.docs?.source}}},p=[`Controlled`,`WithValue`,`Disabled`]})))()}export{m as a,d as i,f as n,o as r,u as t};
|
|
@@ -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-BHhbrImE.js";import{a as r,i}from"./utils-DUM89eIj.js";import{b as a,g as o}from"./odata-service-B5w4YBao-BcP2cvfZ.js";import{m as s,y as c}from"./formatters-CVj-3Vn0-C5-BLq9O.js";import{i as l,r as u}from"./date-segments-D3HouZ37.js";function d(e=0,t=0){return s(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 s(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):s(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(),c(),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-JTjIv6z1.js → TimePanel.stories-DtjILTPk.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-BHhbrImE.js";import{n as r,t as i}from"./TimePanel-C39f__j8.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-BHhbrImE.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-D8l_hmHU.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-BD_C0YTw.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-BHhbrImE.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./ui.module-kfCm3RIG.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-BHhbrImE.js";import{n as i,t as a}from"./Toggle-CdpPJI_O.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,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-BHhbrImE.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-D8l_hmHU.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-BgkDJur9.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 по уровням дерева.`]}),`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-BHhbrImE.js";import{c as r,d as i,f as a,i as o,r as s,s as c}from"./defaultRenderers-lMEgLPIU.js";import{a as l,c as u,i as d,n as f,r as p,s as m,t as h,u as g}from"./TreePickerBase-Dup03AiC.js";function _(e,t){if(e.size!==0){if(e.size===1){let n=t.nodeById.get([...e][0]);return n?n.label:void 0}return s(e.size)}}function v(e,t,n){let r=u(e,n),i=u(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function y({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:i,nodes:o,value:s,onChange:f,query:y,defaultQuery:S,onQuery:C,isLoading:w,error:T,optionsLayout:E=`tree`,defaultExpandedCodeKeys:D}){let[O,k]=(0,b.useState)(!1),A=(0,b.useMemo)(()=>p(o),[o]),{draftValue:j,setDraftValue:M,prepareOpen:N}=a({value:s,open:O,onCommit:f,isEqual:(e,t)=>v(e,t,A)}),P=O?j:s,F=(0,b.useMemo)(()=>u(P,A),[P,A]),I=(0,b.useMemo)(()=>l(F,A),[F,A]),L=(0,b.useMemo)(()=>_(F,A),[F,A]);return(0,x.jsx)(h,{label:e,description:t,disabled:n,placeholder:r,size:i,nodes:o,selectedIds:I.selectedIds,partialIds:I.partialIds,selectionMode:`multi`,optionsLayout:E,defaultExpandedCodeKeys:D,open:O,onOpenChange:e=>{e&&!O&&N(),k(e)},bulkActions:{onSelectAll:()=>{M(g(d(A),A))},onDeselectAll:()=>M({})},triggerMode:`search`,selectedSummary:L?(0,x.jsx)(c,{value:L}):void 0,query:y,defaultQuery:S,onQuery:C,onNodeActivate:e=>{M(t=>m(t,e.id,A))},onClearSelection:()=>{M({}),O||f({})},isLoading:w,error:T})}var b,x;function S(){return(S=e((()=>{b=t(),r(),o(),i(),f(),x=n(),y.__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{S as n,y 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-BHhbrImE.js";import{n as i,t as a}from"./TreeMultiSelect-BPz5kISi.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
|
}} />
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.eMqOwq{border-radius:var(--radius-sm);cursor:pointer;align-items:stretch;display:flex}.eMqOwq:focus{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);background-color:var(--surface-accent);border-color:var(--border-1);cursor:pointer}.eMqOwq:hover{background-color:var(--surface-accent);cursor:pointer}.JKstO-{background-color:var(--surface-2);color:var(--content-accent);cursor:default}.hKgr8e{background-color:var(--surface-1)}.KjPZjd{cursor:not-allowed;opacity:var(--disabled-opacity)}.KjPZjd:hover{cursor:not-allowed;background-color:#0000}._6EH37F{align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-xs) var(--space-xs) 0;text-align:left;border-radius:var(--radius-sm);background:0 0;display:flex}.UBll8Q{gap:var(--space-sm);display:grid}.-y3RZP{grid-template-columns:repeat(var(--tree-column-count,1), minmax(0, 1fr));grid-template-rows:repeat(var(--tree-row-count,1), minmax(var(--control-height), auto));column-gap:var(--space-sm);align-content:start;width:100%;min-width:0;display:grid}.ayLJ50{grid-column-start:var(--tree-option-column);grid-row-start:var(--tree-option-row);min-width:0}._430vL2{max-height:none}.FkzTJI,.e8fE4t{font-variation-settings:"wght" 600;font-weight:600}._2MFkGF{flex-shrink:0;display:inline-flex}.SWQUvb{flex:1 1 0;min-width:0;height:100%}.o5NWnX{width:calc(var(--tree-level) * 1em);flex-shrink:0}.ibSd-S,.lXezvv{flex-shrink:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;display:inline-flex}.ibSd-S{border-radius:var(--radius-sm);color:var(--content-2);background:0 0;border:none}.ibSd-S:hover{color:var(--content-
|
|
1
|
+
.eMqOwq{border-radius:var(--radius-sm);cursor:pointer;align-items:stretch;display:flex}.eMqOwq:focus{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);background-color:var(--surface-accent);border-color:var(--border-1);cursor:pointer}.eMqOwq:hover{background-color:var(--surface-accent);cursor:pointer}.JKstO-{background-color:var(--surface-2);color:var(--content-accent);cursor:default}.hKgr8e{background-color:var(--surface-1)}.KjPZjd{cursor:not-allowed;opacity:var(--disabled-opacity)}.KjPZjd:hover{cursor:not-allowed;background-color:#0000}._6EH37F{align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-xs) var(--space-xs) 0;text-align:left;border-radius:var(--radius-sm);background:0 0;display:flex}.UBll8Q{gap:var(--space-sm);display:grid}.-y3RZP{grid-template-columns:repeat(var(--tree-column-count,1), minmax(0, 1fr));grid-template-rows:repeat(var(--tree-row-count,1), minmax(var(--control-height), auto));column-gap:var(--space-sm);align-content:start;width:100%;min-width:0;display:grid}.ayLJ50{grid-column-start:var(--tree-option-column);grid-row-start:var(--tree-option-row);min-width:0}._430vL2{max-height:none}.FkzTJI,.e8fE4t{font-variation-settings:"wght" 600;font-weight:600}._2MFkGF{flex-shrink:0;display:inline-flex}.SWQUvb{flex:1 1 0;min-width:0;height:100%}.o5NWnX{width:calc(var(--tree-level) * 1em);flex-shrink:0}.ibSd-S,.lXezvv{flex-shrink:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;display:inline-flex}.ibSd-S{border-radius:var(--radius-sm);color:var(--content-2);background:0 0;border:none}.ibSd-S:hover{color:var(--content-accent)}.FMlLGX{transition:transform var(--transition-fast) ease}.d2Zt7U{transform:rotate(90deg)}._8PN4hs{border:var(--border);border-radius:var(--radius-xs);background-color:var(--surface-0);color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}._4JEoen{background-color:var(--status-info-text);border-color:var(--status-info-text);color:var(--white)}.GS8eEC{background-color:var(--surface-1);border-color:var(--status-info-text);color:var(--status-info-text)}.T8gVno{width:.75rem;height:.75rem}.o6stdX{padding-right:calc(var(--control-height) * 2)}.I5zvhe{color:#0000;caret-color:#0000}.KQ0PBI{inset:0 calc(var(--control-height) * 2) 0 var(--space-md);pointer-events:none;align-items:center;display:flex;position:absolute;overflow:hidden}._7hAQQA{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.XeUHNc{color:var(--status-error-text)}
|
|
@@ -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"./check-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n,t as r}from"./check-DpX8PMs_.js";import{n as i,t as a}from"./chevron-right-CZ4-4s1X.js";import{i as o,n as s,r as c,t as l}from"./CheckBox-CWipX4CI.js";import{n as u,t as d}from"./x-CNM39xuu.js";import{n as f}from"./iframe-BHhbrImE.js";import{a as p,i as m}from"./utils-DUM89eIj.js";import{n as h,t as g}from"./SelectOptionContent-B5E2W8PZ.js";import{n as _,t as v}from"./ui.module-kfCm3RIG.js";import{a as ee,c as y}from"./Input-DZQKV4DP.js";import{c as te,g as ne,h as re,i as ie,l as ae,n as oe,r as se,s as ce,t as le,u as b}from"./usePickerTriggerController-C-VxrzSe.js";import{n as x,t as ue}from"./PickerSelectionToolbar-D9atWyWj.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-B6U-oOS6.js";import{n as S,t as he}from"./PickerTriggerActions-C7WeaOKN.js";function C(e,t){return`${e}::${t}`}function ge(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=0,s=(e,c)=>{t.set(e.id,e),n.set(e.id,c),i.set(e.id,o++),a.set(C(e.codeKey,e.value),e.id);let l=(e.children??[]).map(e=>e.id);r.set(e.id,l);for(let t of e.children??[])s(t,e.id)};for(let t of e)s(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a}}function _e(e,t){if(e)return t.nodeIdByCodeValue.get(C(e.codeKey,e.value))}function ve(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i){let i=t.nodeIdByCodeValue.get(C(r,e));i&&n.add(i)}return O(n,t)}function w(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={};for(let e of n){let n=t.nodeById.get(e);n&&(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value))}return r}function T(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function ye(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function E(e,t,n){for(let r of[...e])ye(r,t,n)&&e.delete(r)}function D(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>D(e,t,n))}function O(e,t){let n=new Set(e);for(let e of[...n])T(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||r.every(e=>D(e,n,t))&&(E(n,e,t),n.add(e))}return n}function be(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){e.delete(r);for(let t of j(n,n.childrenById.get(r)??[]))e.add(t);return!0}r=n.parentById.get(r)}return!1}function k(e,t,n){return t.has(e)?!0:T(e,n).some(e=>t.has(e))}function A(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>A(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function xe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)A(r,e,t,n);return n}function j(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);return!r||r.disabled||o?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function M(e,t,n){let r=ve(e,n),i=e=>{if(k(e,r,n)){if(r.has(e)){r.delete(e);return}be(r,e,n)&&i(e);return}E(r,e,n),r.add(e)},a=[...j(n,[t])],o=a.length>0&&a.every(e=>k(e,r,n));for(let e of a){let t=k(e,r,n);(o&&t||!o&&!t)&&i(e)}return w(O(r,n),n)}function Se(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)Se(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function N(e,t,n){let r=(e.children??[]).map(e=>N(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Te(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>N(e,n,r)).filter(e=>!!e),expandedIds:r}}function Ee(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function De(){return(De=e((()=>{})))()}function Oe(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function P(e,t){return Number.isFinite(e)&&e>0?e:t}function ke(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function F(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=ke(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Ae({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=P(t,240),c=P(n,80),l=P(r,s+16),u=P(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,P(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-I+R)/234)),g=Math.max(1,Math.min(Ne,h,o||1)),_=e.groups.reduce((e,t)=>Math.max(e,ke(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let v,ee=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(_,Math.ceil(o/t)),r=F(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=F(e,n);let i=r.usedColumnCount,a=Math.max(m,I+i*je+(i-1)*R),s=L+n*Me,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<ee&&(ee=h,v={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return v??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:F(e,o).placements}}var I,L,je,R,Me,Ne,Pe;function z(){return(z=e((()=>{I=16,L=48,je=224,R=10,Me=32,Ne=6,Pe=3})))()}var Fe,Ie,B,Le,Re,ze,V,H,U,W,Be,G,Ve,He,K,q,J,Ue,We,Ge,Y,Ke,qe,Je,Ye,Xe,Ze,X;function Qe(){return(Qe=e((()=>{Fe=`eMqOwq`,Ie=`JKstO-`,B=`hKgr8e`,Le=`KjPZjd`,Re=`_6EH37F`,ze=`UBll8Q`,V=`-y3RZP`,H=`ayLJ50`,U=`_430vL2`,W=`FkzTJI`,Be=`e8fE4t`,G=`_2MFkGF`,Ve=`SWQUvb`,He=`o5NWnX`,K=`ibSd-S`,q=`lXezvv`,J=`FMlLGX`,Ue=`d2Zt7U`,We=`_8PN4hs`,Ge=`_4JEoen`,Y=`GS8eEC`,Ke=`T8gVno`,qe=`o6stdX`,Je=`I5zvhe`,Ye=`KQ0PBI`,Xe=`_7hAQQA`,Ze=`XeUHNc`,X={treeRow:Fe,treeRowSelected:Ie,treeRowActive:B,treeRowDisabled:Le,treeNodeButton:Re,treePopupHeader:ze,treeColumns:V,treeColumnRow:H,treeColumnsPopupLayout:U,treeColumnRootLabel:W,treeColumnRootCode:Be,treeColumnCheckBox:G,treeNodeOptionContent:Ve,treeIndent:He,treeExpander:K,treeExpanderPlaceholder:q,treeExpanderIcon:J,treeExpanderIconExpanded:Ue,treeSelection:We,treeSelectionChecked:Ge,treeSelectionPartial:Y,treeSelectionIcon:Ke,treeSummary:qe,inputWithOverlay:Je,valueOverlay:Ye,treeActions:Xe,treeClearButton:Ze}})))()}function $e({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:s,partial:u,selectionMode:d,optionsLayout:f=`tree`,onToggleExpand:m,onToggleSelection:h}){let _=f===`tree`,v=f===`columns`&&t===0;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:X.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),_&&i?(0,Z.jsx)(`button`,{type:`button`,className:X.treeExpander,onClick:e=>{e.stopPropagation(),m?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,Z.jsx)(a,{className:p(X.treeExpanderIcon,o&&X.treeExpanderIconExpanded)})}):_?(0,Z.jsx)(`span`,{className:X.treeExpanderPlaceholder,"aria-hidden":`true`}):null,d===`multi`&&f===`columns`?(0,Z.jsx)(`span`,{className:X.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,Z.jsx)(l,{value:s,indeterminate:u,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>h?.()})}):d===`multi`?(0,Z.jsx)(`span`,{className:p(X.treeSelection,s&&X.treeSelectionChecked,u&&X.treeSelectionPartial),"aria-hidden":`true`,children:s?(0,Z.jsx)(r,{className:X.treeSelectionIcon}):u?(0,Z.jsx)(c,{className:X.treeSelectionIcon}):null}):null,(0,Z.jsx)(`div`,{className:X.treeNodeOptionContent,children:(0,Z.jsx)(g,{label:e.label,code:e.code,highlight:n,labelClassName:v?X.treeColumnRootLabel:void 0,codeClassName:v?X.treeColumnRootCode:void 0})})]})}var Z;function et(){return(et=e((()=>{m(),n(),i(),o(),s(),h(),Qe(),Z=f(),$e.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
|
|
2
2
|
id: string;
|
|
3
3
|
codeKey: string;
|
|
4
4
|
value: string;
|
|
@@ -7,7 +7,7 @@ import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__m
|
|
|
7
7
|
searchText: string;
|
|
8
8
|
children?: TreeSelectNode[];
|
|
9
9
|
disabled?: boolean;
|
|
10
|
-
}`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function tt({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:o,partialIds:s,selectionMode:c,optionsLayout:l=`tree`,defaultExpandedCodeKeys:u,open:f,onOpenChange:m,bulkActions:h,triggerMode:g=`display`,selectedSummary:v,selectedSummaryText:y,query:te,defaultQuery:ne,onQuery:se,onNodeActivate:le,onClearSelection:b,isLoading:x,error:de}){let me=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=(0,Q.useRef)(!1),[_e,ve]=(0,Q.useState)(()=>new Map),w=g===`search`?c===`multi`?`search-multi`:`search-single`:`display`,T=(0,Q.useMemo)(()=>ge(a),[a]),ye=(0,Q.useMemo)(()=>`${r} <${T.nodeById.size}>`,[r,T]),E=(0,Q.useMemo)(()=>new Set(u),[u]),{query:D,setQuery:O}=fe({open:!0,query:te,defaultQuery:ne,onQuery:se,triggerMode:`display`}),{nodes:be,expandedIds:A}=(0,Q.useMemo)(()=>Te(a,D),[a,D]),xe=(0,Q.useMemo)(()=>Ce(o,T),[o,T]),j=(0,Q.useMemo)(()=>we(T,E,_e),[E,_e,T]),M=(0,Q.useMemo)(()=>new Set([...T.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[T]),Se=(0,Q.useMemo)(()=>l===`columns`?M:new Set([...j,...A,...xe]),[M,j,l,A,xe]),N=(0,Q.useMemo)(()=>Ee(be,Se),[be,Se]),De=(0,Q.useMemo)(()=>N.findIndex(e=>o.has(e.node.id)),[o,N]),P=(0,Q.useMemo)(()=>Oe(N),[N]),ke=(0,Q.useCallback)(e=>{let t=Ae({...e,descriptor:P}),n={};return t.placements.forEach((e,t)=>{n[`--tree-option-${t}-column`]=String(e.column),n[`--tree-option-${t}-row`]=String(e.row)}),{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(t.rowCount),...n}},[P]),{open:F,activeIndex:I,context:L,floatingStyles:je,getFloatingProps:R,setReference:Me,setFloating:Ne,setOptionRef:Pe,close:z,openList:Fe,toggleOpen:Ie,selectOption:B,handleReferenceKeyDown:Le,handleFloatingKeyDown:Re,getOptionId:ze,getActiveOptionId:V}=ie({options:N,selectedIndex:De,open:f,onOpenChange:m,onSelect:e=>le(e.node),getOptionDisabled:e=>e.node.disabled===!0,disabled:n||x,closeOnSelect:c===`single`,allowOpenWithoutOptions:!0,triggerMode:w,placementStrategy:l===`columns`?`auto`:`flip`,resolveFloatingSize:l===`columns`?ke:void 0}),H=L.update,U=o.size>0,W=g===`search`&&(F||D.length>0),Be=W?D:y??``,G=g===`display`&&!!v,Ve=w===`search-multi`&&!!v,He=w===`search-multi`&&!U||w===`search-single`&&(!y||W)||w===`display`&&!U,K=oe({mode:w,open:F,currentQuery:D,hasDisplayValue:!!y,inputRef:me,setQuery:O,openList:Fe,close:z,toggleOpen:Ie}),q=l===`columns`&&c===`multi`&&h,J=g===`display`,Ue=q||J?(0,$.jsxs)(`div`,{className:X.treePopupHeader,children:[q?(0,$.jsx)(ue,{onSelectAll:h.onSelectAll,onDeselectAll:h.onDeselectAll,selectAllButtonRef:S}):null,J?(0,$.jsx)(ee,{value:D,onChange:O,onClear:()=>O(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,Q.useEffect)(()=>{C.current&&!F&&K.policy.resetQueryOnClose&&O(``),C.current=F},[F,O,K.policy.resetQueryOnClose]),(0,Q.useLayoutEffect)(()=>{F&&l===`columns`&&H()},[P.signature,F,l,H]);let We=e=>{me.current=e},Ge=()=>{b?.(),O(``),c===`single`&&z()},Y=e=>{e.hasChildren&&ve(t=>{let n=new Map(t),r=t.get(e.node.id)??E.has(e.node.codeKey);return n.set(e.node.id,!r),n})};return(0,$.jsx)(re,{label:e,description:t,disabled:n,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let u=`${t}-listbox`,f=typeof e==`string`?e:r;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ce,{ref:We,rootRef:Me,id:t,type:`text`,role:`combobox`,autoComplete:`off`,disabled:n||x,readOnly:g!==`search`,value:g===`display`&&G?``:Be,placeholder:He?ye:void 0,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":l===`columns`?`dialog`:`listbox`,"aria-expanded":F,"aria-controls":F?u:void 0,"aria-autocomplete":l!==`columns`&&g===`search`?`list`:`none`,"aria-activedescendant":l!==`columns`&&F&&N.length>0?V(u):void 0,inputClassName:p(U&&X.treeSummary,G&&X.inputWithOverlay),overlay:G?(0,$.jsx)(`div`,{className:X.valueOverlay,children:v}):void 0,endAdornment:(0,$.
|
|
10
|
+
}`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function tt({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:o,partialIds:s,selectionMode:c,optionsLayout:l=`tree`,defaultExpandedCodeKeys:u,open:f,onOpenChange:m,bulkActions:h,triggerMode:g=`display`,selectedSummary:v,selectedSummaryText:y,query:te,defaultQuery:ne,onQuery:se,onNodeActivate:le,onClearSelection:b,isLoading:x,error:de}){let me=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=(0,Q.useRef)(!1),[_e,ve]=(0,Q.useState)(()=>new Map),w=g===`search`?c===`multi`?`search-multi`:`search-single`:`display`,T=(0,Q.useMemo)(()=>ge(a),[a]),ye=(0,Q.useMemo)(()=>`${r} <${T.nodeById.size}>`,[r,T]),E=(0,Q.useMemo)(()=>new Set(u),[u]),{query:D,setQuery:O}=fe({open:!0,query:te,defaultQuery:ne,onQuery:se,triggerMode:`display`}),{nodes:be,expandedIds:A}=(0,Q.useMemo)(()=>Te(a,D),[a,D]),xe=(0,Q.useMemo)(()=>Ce(o,T),[o,T]),j=(0,Q.useMemo)(()=>we(T,E,_e),[E,_e,T]),M=(0,Q.useMemo)(()=>new Set([...T.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[T]),Se=(0,Q.useMemo)(()=>l===`columns`?M:new Set([...j,...A,...xe]),[M,j,l,A,xe]),N=(0,Q.useMemo)(()=>Ee(be,Se),[be,Se]),De=(0,Q.useMemo)(()=>N.findIndex(e=>o.has(e.node.id)),[o,N]),P=(0,Q.useMemo)(()=>Oe(N),[N]),ke=(0,Q.useCallback)(e=>{let t=Ae({...e,descriptor:P}),n={};return t.placements.forEach((e,t)=>{n[`--tree-option-${t}-column`]=String(e.column),n[`--tree-option-${t}-row`]=String(e.row)}),{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(t.rowCount),...n}},[P]),{open:F,activeIndex:I,context:L,floatingStyles:je,getFloatingProps:R,setReference:Me,setFloating:Ne,setOptionRef:Pe,close:z,openList:Fe,toggleOpen:Ie,selectOption:B,handleReferenceKeyDown:Le,handleFloatingKeyDown:Re,getOptionId:ze,getActiveOptionId:V}=ie({options:N,selectedIndex:De,open:f,onOpenChange:m,onSelect:e=>le(e.node),getOptionDisabled:e=>e.node.disabled===!0,disabled:n||x,closeOnSelect:c===`single`,allowOpenWithoutOptions:!0,triggerMode:w,placementStrategy:l===`columns`?`auto`:`flip`,resolveFloatingSize:l===`columns`?ke:void 0}),H=L.update,U=o.size>0,W=g===`search`&&(F||D.length>0),Be=W?D:y??``,G=g===`display`&&!!v,Ve=w===`search-multi`&&!!v,He=w===`search-multi`&&!U||w===`search-single`&&(!y||W)||w===`display`&&!U,K=oe({mode:w,open:F,currentQuery:D,hasDisplayValue:!!y,inputRef:me,setQuery:O,openList:Fe,close:z,toggleOpen:Ie}),q=l===`columns`&&c===`multi`&&h,J=g===`display`,Ue=q||J?(0,$.jsxs)(`div`,{className:X.treePopupHeader,children:[q?(0,$.jsx)(ue,{onSelectAll:h.onSelectAll,onDeselectAll:h.onDeselectAll,selectAllButtonRef:S}):null,J?(0,$.jsx)(ee,{value:D,onChange:O,onClear:()=>O(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,Q.useEffect)(()=>{C.current&&!F&&K.policy.resetQueryOnClose&&O(``),C.current=F},[F,O,K.policy.resetQueryOnClose]),(0,Q.useLayoutEffect)(()=>{F&&l===`columns`&&H()},[P.signature,F,l,H]);let We=e=>{me.current=e},Ge=()=>{b?.(),O(``),c===`single`&&z()},Y=e=>{e.hasChildren&&ve(t=>{let n=new Map(t),r=t.get(e.node.id)??E.has(e.node.codeKey);return n.set(e.node.id,!r),n})};return(0,$.jsx)(re,{label:e,description:t,disabled:n,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let u=`${t}-listbox`,f=typeof e==`string`?e:r;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ce,{ref:We,rootRef:Me,id:t,type:`text`,role:`combobox`,autoComplete:`off`,disabled:n||x,readOnly:g!==`search`,value:g===`display`&&G?``:Be,placeholder:He?ye:void 0,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":l===`columns`?`dialog`:`listbox`,"aria-expanded":F,"aria-controls":F?u:void 0,"aria-autocomplete":l!==`columns`&&g===`search`?`list`:`none`,"aria-activedescendant":l!==`columns`&&F&&N.length>0?V(u):void 0,inputClassName:p(U&&X.treeSummary,G&&X.inputWithOverlay),overlay:G?(0,$.jsx)(`div`,{className:X.valueOverlay,children:v}):Ve?v:void 0,endAdornment:(0,$.jsx)(he,{open:F,disabled:n||x,onToggleMouseDown:K.handleToggleMouseDown,onToggleClick:K.handleToggleClick,children:U&&b?(0,$.jsx)(`button`,{type:`button`,className:X.treeClearButton,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Ge()},"aria-label":`Очистить выбор`,children:(0,$.jsx)(d,{})}):null}),onChange:e=>{g===`search`&&K.handleTriggerInputChange(e.target.value)},onClick:K.handleTriggerClick,onFocus:e=>{K.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{if(l===`columns`&&F&&e.key===`Tab`&&!e.shiftKey&&S.current){e.preventDefault(),S.current.focus();return}Le(e),!e.defaultPrevented&&K.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{let e=I>=0?N[I]:void 0;e&&B(e)},enableSpaceActivation:g===`display`})}}),(0,$.jsx)(ae,{open:F,context:L,floatingStyles:je,listId:u,labelId:i,popupAriaLabel:f,descriptionId:a,activeOptionId:l!==`columns`&&N.length>0?V(u):void 0,ariaMultiselectable:l!==`columns`&&c===`multi`,popupRole:l===`columns`?`dialog`:`listbox`,setFloating:Ne,getFloatingProps:R,onKeyDown:Re,className:_.uiPopupOptions,layoutClassName:l===`columns`?X.treeColumnsPopupLayout:void 0,bodyClassName:`scrollable`,header:Ue,children:(0,$.jsx)(`div`,{className:p(l===`columns`&&X.treeColumns),children:N.length===0?(0,$.jsx)(pe,{errorState:de,loadingState:x?`Загрузка...`:void 0,emptyState:!de&&!x?`Нет данных`:void 0}):N.map((e,t)=>{let n=c===`multi`?k(e.node.id,o,T):o.has(e.node.id),r=c===`multi`&&!n&&s.has(e.node.id),i=t===I,a=e.node.disabled===!0;return(0,$.jsx)(`div`,{"data-ui":`tree-select-option`,id:ze(u,t),ref:e=>Pe(t,e),role:l===`columns`?void 0:`option`,"aria-selected":l===`columns`?void 0:n,"aria-disabled":a||void 0,className:p(X.treeRow,l===`columns`&&X.treeColumnRow,a&&X.treeRowDisabled,i&&X.treeRowActive,n&&X.treeRowSelected),style:l===`columns`?{"--tree-option-column":`var(--tree-option-${t}-column, auto)`,"--tree-option-row":`var(--tree-option-${t}-row, auto)`}:void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>B(e),children:(0,$.jsx)(`div`,{className:X.treeNodeButton,children:(0,$.jsx)($e,{node:e.node,level:e.level,highlight:D,hasChildren:e.hasChildren,isExpanded:e.isExpanded,selected:n,partial:r,selectionMode:c,optionsLayout:l,onToggleExpand:()=>Y(e),onToggleSelection:()=>B(e)})})},e.node.id)})})})]})}})}var Q,$;function nt(){return(nt=e((()=>{Q=t(),m(),u(),y(),ne(),b(),x(),de(),S(),te(),se(),me(),le(),v(),z(),et(),Qe(),$=f(),tt.__docgenInfo={description:``,methods:[],displayName:`TreePickerBase`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},selectedIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},partialIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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:``},open:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``},bulkActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
|
|
11
11
|
onSelectAll: () => void;
|
|
12
12
|
onDeselectAll: () => void;
|
|
13
13
|
}`,signature:{properties:[{key:`onSelectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}},{key:`onDeselectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}}]}},description:``},triggerMode:{required:!1,tsType:{name:`union`,raw:`"display" | "search"`,elements:[{name:`literal`,value:`"display"`},{name:`literal`,value:`"search"`}]},description:``,defaultValue:{value:`"display"`,computed:!1}},selectedSummary:{required:!1,tsType:{name:`ReactNode`},description:``},selectedSummaryText:{required:!1,tsType:{name:`string`},description:``},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:``},onNodeActivate:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
|
|
@@ -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-BHhbrImE.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-D8l_hmHU.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./TreeSelect.stories-DkgdJ5XX.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(u,{children:`TreeSelect`}),`
|
|
3
3
|
`,(0,x.jsx)(o,{children:`Single-select для выбора одного узла из дерева`}),`
|
|
4
4
|
`,(0,x.jsxs)(t.p,{children:[(0,x.jsx)(t.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
|
|
@@ -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-BHhbrImE.js";import{l as r,n as i,r as a,t as o}from"./TreePickerBase-Dup03AiC.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:i=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,clearable:y=!1,defaultExpandedCodeKeys:b}){let x=(0,l.useMemo)(()=>a(d),[d]),S=r(f,x),C=S?x.nodeById.get(S):void 0;return(0,u.jsx)(o,{label:e,description:t,disabled:n,placeholder:i,size:c,nodes:d,selectedIds:S?new Set([S]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:b,triggerMode:`search`,selectedSummaryText:s(C),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:y?()=>p(void 0):void 0,isLoading:_,error:v})}var l,u;function d(){return(d=e((()=>{l=t(),i(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,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:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
|
package/storybook-static/assets/{TreeSelect.stories-BUOw2Rwn.js → TreeSelect.stories-DkgdJ5XX.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-BHhbrImE.js";import{n as i,t as a}from"./TreeSelect-BrQGgG40.js";import{n as o,t as s}from"./treeStoryFixtures-Ci7STpiz.js";var c=t({Basic:()=>p,Empty:()=>g,FirstLevelExpanded:()=>h,SelectParent:()=>m,__namedExportsOrder:()=>_,default:()=>f});function l({initialValue:e,label:t=`TreeSelect`,description:n,defaultExpandedCodeKeys:r}){let[i,o]=(0,u.useState)(e);return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(a,{label:t,description:n,nodes:s,value:i,onChange:o,defaultExpandedCodeKeys:r}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,i?`${i.codeKey}=${i.value}`:`пусто`]})]})}var u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{u=n(),i(),o(),d=r(),f={title:`Shared/UI/TreeSelect`,component:a,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:s,value:void 0,onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},p={render:()=>(0,d.jsx)(l,{initialValue:{codeKey:`BRANCH`,value:`B0101`}})},m={render:()=>(0,d.jsx)(l,{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,initialValue:{codeKey:`REGION`,value:`R01`}})},h={render:()=>(0,d.jsx)(l,{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]})},g={args:{nodes:[],description:`Состояние без доступных узлов.`}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: () => <StatefulTreeSelect initialValue={{
|
|
3
3
|
codeKey: "BRANCH",
|
|
4
4
|
value: "B0101"
|
|
@@ -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-BHhbrImE.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-D8l_hmHU.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"./TreeTable.stories-C4hcph6x.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:`TreeTable`}),`
|
|
3
3
|
`,(0,M.jsx)(o,{children:`Древовидная таблица для плоских OData-данных на базе TanStack Table`}),`
|
|
4
4
|
`,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`TreeTable`}),` предназначен для сценариев, где данные приходят плоским списком, но в UI должны выглядеть как дерево.
|