@ryuzaki13/react-foundation-ui 1.4.4 → 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 +24 -18
- 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,5 @@
|
|
|
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,s as i}from"./odata-service-B5w4YBao-BcP2cvfZ.js";import{a,y as o}from"./formatters-CVj-3Vn0-C5-BLq9O.js";import{n as s,o as c,r as l,t as u}from"./PresetSelect-DlV2eC-b.js";function d(e){return typeof e==`string`&&y.has(e)}function f(e,t=v){let n=l(e,d,t),r=n.length>0?n:v,i=new Set(r);return v.filter(e=>i.has(e))}function p(e,t=_){return c(e,t)}function m({maxDayRangeDays:e,maxWeekRangeWeeks:t,labels:n}={}){let i=r(e),a=r(t);return _.map(e=>{let t={...e,label:n?.[e.id]??e.label};return e.id===`day`&&i!==void 0?{...t,maxRangeDays:i}:e.id===`week`&&a!==void 0?{...t,maxRangeDays:a*7}:t})}function h(e,t){let n=r(e.maxRangeDays);if(n===void 0||t===void 0)return!1;let i=a(t);return i!==null&&i>n}function g(e,t,n){if(t.length===0)return;let r=e===void 0?-1:t.findIndex(t=>t.id===e),i=r>=0?t[r]:void 0;return i&&!h(i,n)?i.id:(r>=0?t.slice(r+1):t).find(e=>!h(e,n))?.id??t.find(e=>!h(e,n))?.id}var _,v,y;function b(){return(b=e((()=>{o(),i(),_=Object.freeze([{id:`day`,label:`по дням`},{id:`week`,label:`по неделям`},{id:`month`,label:`по месяцам`},{id:`year`,label:`по годам`}]),v=Object.freeze([`day`,`week`,`month`,`year`]),y=new Set(_.map(e=>e.id))})))()}function x({value:e,onChange:t,options:n,labels:r,presetIds:i,dateRange:a,maxDayRangeDays:o,maxWeekRangeWeeks:s,...c}){let l=(0,S.useMemo)(()=>n??p(f(i),m({maxDayRangeDays:o,maxWeekRangeWeeks:s,labels:r})),[r,o,s,n,i]),d=(0,S.useMemo)(()=>g(e,l,a),[a,l,e]),_=(0,S.useRef)(null),v=(0,S.useEffectEvent)(()=>{if(d===void 0||d===e){_.current=null;return}let n=_.current;n&&n.value===e&&n.availableValue===d||(_.current={value:e,availableValue:d},t(d))});return(0,S.useEffect)(()=>{v()},[d,e]),(0,C.jsx)(u,{...c,options:l,value:d,onChange:t,getOptionDisabled:e=>h(e,a)})}var S,C;function w(){return(w=e((()=>{S=t(),s(),b(),C=n(),x.__docgenInfo={description:`Select периода детализации, который может ограничивать доступные варианты по диапазону дат.`,methods:[],displayName:`PeriodSelect`,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:``},options:{required:!1,tsType:{name:`unknown`},description:"Полный список custom options с высшим приоритетом. При его передаче\nвстроенные `presetIds`, `labels` и пороги диапазона не применяются."},labels:{required:!1,tsType:{name:`Partial`,elements:[{name:`Readonly`,elements:[{name:`Record`,elements:[{name:`union`,raw:`"day" | "week" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"week"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},{name:`string`}],raw:`Record<PeriodSelectPresetId, string>`}],raw:`Readonly<Record<PeriodSelectPresetId, string>>`}],raw:`Partial<PeriodSelectLabels>`},description:`Частично заменяет подписи встроенных вариантов, не изменяя их id,
|
|
2
|
+
канонический порядок и правила доступности.
|
|
3
|
+
Не применяется, когда передан собственный \`options\`.`},presetIds:{required:!1,tsType:{name:`unknown`},description:`Разрешенные встроенные варианты периода. Значение нормализуется в канонический
|
|
4
|
+
порядок, а пустой либо невалидный список безопасно заменяется полным набором.
|
|
5
|
+
Не применяется, когда передан собственный \`options\`.`},dateRange:{required:!1,tsType:{name:`DateRangeInput`},description:``},maxDayRangeDays:{required:!1,tsType:{name:`number`},description:``},maxWeekRangeWeeks:{required:!1,tsType:{name:`number`},description:``}}}})))()}export{b as i,w as n,v as r,x as t};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n}from"./iframe-BHhbrImE.js";import{n as r,t as i}from"./Text-DUqtop-c.js";import{a,b as o,y as s}from"./formatters-CVj-3Vn0-C5-BLq9O.js";import{r as c,t as l}from"./DateInput-BUgBb3aH.js";import{n as u,t as d}from"./GridContainer-qDguE1HS.js";import{i as f,n as p,r as m,t as h}from"./PeriodSelect-DtfTzrNK.js";var g=t({AllAllowedOptionsDisabled:()=>k,AlternativeLabels:()=>O,AutoSwitchByRange:()=>E,Controlled:()=>T,Disabled:()=>A,MonthAndYear:()=>D,__namedExportsOrder:()=>j,default:()=>w});function _(e){return e!==void 0&&o(e)?e:null}function v(e){let[,t]=b(),n=_(e.dateRange),r=a(e.dateRange??null);return(0,y.jsxs)(d,{gap:`md`,children:[(0,y.jsx)(h,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,y.jsx)(l,{label:`Связанный диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:n,onChange:e=>t({dateRange:e??void 0})}),(0,y.jsxs)(i,{as:`p`,color:`secondary`,"aria-live":`polite`,children:[`Выбрано: `,(0,y.jsx)(i,{as:`code`,children:e.value??`не выбрано`}),`. Дней в диапазоне:`,` `,(0,y.jsx)(i,{as:`code`,children:r??`не задано`}),`.`]})]})}var y,b,x,S,C,w,T,E,D,O,k,A,j;function M(){return(M=e((()=>{s(),c(),u(),r(),f(),p(),y=n(),{useArgs:b}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:x}=__STORYBOOK_MODULE_TEST__,S=[new Date(2026,2,1,0,0,0),new Date(2026,2,14,23,59,59)],C=[new Date(2026,0,1,0,0,0),new Date(2026,4,20,23,59,59)],w={title:`Shared/UI/PeriodSelect`,component:h,args:{label:`Период детализации`,description:`Выберите уровень группировки дат.`,placeholder:`Выберите период`,value:`day`,onChange:x(),presetIds:m,dateRange:S,maxDayRangeDays:31,maxWeekRangeWeeks:26,disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Select периода детализации дат. Компонент работает с id периода и может блокировать слишком детальные варианты по переданному диапазону дат.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда период не выбран.`,control:`text`},value:{description:`Текущий id периода.`,control:`select`,options:m},onChange:{description:`Вызывается с id выбранного периода.`,control:!1},options:{description:"Кастомный список периодов по контракту `PeriodSelectOption`; имеет приоритет над `presetIds`, `labels` и порогами диапазона.",control:!1},labels:{description:`Частичные подписи встроенных периодов поверх канонического каталога.`,control:`object`},presetIds:{description:"Разрешенные встроенные периоды. Порядок отображения остается `day → week → month → year`.",control:`check`,options:m},dateRange:{description:`Диапазон дат, по которому вычисляются заблокированные периоды.`,control:!1},maxDayRangeDays:{description:"Максимальное количество дней, при котором доступен период `day`.",control:{type:`number`,min:1,step:1}},maxWeekRangeWeeks:{description:"Максимальное количество недель, при котором доступен период `week`.",control:{type:`number`,min:1,step:1}},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},T={name:`Контролируемый выбор`,render:function(e){return(0,y.jsx)(v,{...e})}},E={name:`Автопереключение по диапазону`,args:{value:`day`,dateRange:C,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:function(e){return(0,y.jsx)(v,{...e})}},D={name:`Только месяцы и годы`,args:{value:`month`,presetIds:[`month`,`year`]},render:function(e){return(0,y.jsx)(v,{...e})}},O={name:`Альтернативные подписи`,args:{value:`month`,labels:{day:`за день`,week:`за неделю`,month:`за месяц`,year:`за год`}},render:function(e){return(0,y.jsx)(v,{...e})}},k={name:`Все разрешенные варианты недоступны`,args:{value:`day`,presetIds:[`day`,`week`],dateRange:C,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:function(e){return(0,y.jsx)(v,{...e})}},A={name:`Заблокированный контрол`,args:{disabled:!0,value:`week`}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
name: "Контролируемый выбор",
|
|
3
|
+
render: function Render(args) {
|
|
4
|
+
return <PeriodSelectStoryCanvas {...args} />;
|
|
5
|
+
}
|
|
6
|
+
}`,...T.parameters?.docs?.source},description:{story:"Контролируемый сценарий синхронизирует `value` и `dateRange` через Storybook args.",...T.parameters?.docs?.description}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
|
|
7
|
+
name: "Автопереключение по диапазону",
|
|
8
|
+
args: {
|
|
9
|
+
value: "day",
|
|
10
|
+
dateRange: longDateRange,
|
|
11
|
+
maxDayRangeDays: 31,
|
|
12
|
+
maxWeekRangeWeeks: 8
|
|
13
|
+
},
|
|
14
|
+
render: function Render(args) {
|
|
15
|
+
return <PeriodSelectStoryCanvas {...args} />;
|
|
16
|
+
}
|
|
17
|
+
}`,...E.parameters?.docs?.source},description:{story:"Длинный диапазон блокирует `day` и `week`, поэтому контрол переключает значение на ближайший доступный период.",...E.parameters?.docs?.description}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
|
|
18
|
+
name: "Только месяцы и годы",
|
|
19
|
+
args: {
|
|
20
|
+
value: "month",
|
|
21
|
+
presetIds: ["month", "year"]
|
|
22
|
+
},
|
|
23
|
+
render: function Render(args) {
|
|
24
|
+
return <PeriodSelectStoryCanvas {...args} />;
|
|
25
|
+
}
|
|
26
|
+
}`,...D.parameters?.docs?.source},description:{story:`Allow-list ограничивает встроенный каталог двумя крупными уровнями детализации.`,...D.parameters?.docs?.description}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
|
|
27
|
+
name: "Альтернативные подписи",
|
|
28
|
+
args: {
|
|
29
|
+
value: "month",
|
|
30
|
+
labels: {
|
|
31
|
+
day: "за день",
|
|
32
|
+
week: "за неделю",
|
|
33
|
+
month: "за месяц",
|
|
34
|
+
year: "за год"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
render: function Render(args) {
|
|
38
|
+
return <PeriodSelectStoryCanvas {...args} />;
|
|
39
|
+
}
|
|
40
|
+
}`,...O.parameters?.docs?.source},description:{story:`Частичный labels override меняет формулировки встроенных вариантов,
|
|
41
|
+
сохраняя их id, порядок и ограничения доступности.`,...O.parameters?.docs?.description}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
|
|
42
|
+
name: "Все разрешенные варианты недоступны",
|
|
43
|
+
args: {
|
|
44
|
+
value: "day",
|
|
45
|
+
presetIds: ["day", "week"],
|
|
46
|
+
dateRange: longDateRange,
|
|
47
|
+
maxDayRangeDays: 31,
|
|
48
|
+
maxWeekRangeWeeks: 8
|
|
49
|
+
},
|
|
50
|
+
render: function Render(args) {
|
|
51
|
+
return <PeriodSelectStoryCanvas {...args} />;
|
|
52
|
+
}
|
|
53
|
+
}`,...k.parameters?.docs?.source},description:{story:`При длинном диапазоне все разрешенные варианты временно недоступны; внешний
|
|
54
|
+
controlled-id сохраняется, и после сокращения диапазона отображение восстанавливается.`,...k.parameters?.docs?.description}}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
|
|
55
|
+
name: "Заблокированный контрол",
|
|
56
|
+
args: {
|
|
57
|
+
disabled: true,
|
|
58
|
+
value: "week"
|
|
59
|
+
}
|
|
60
|
+
}`,...A.parameters?.docs?.source}}},j=[`Controlled`,`AutoSwitchByRange`,`MonthAndYear`,`AlternativeLabels`,`AllAllowedOptionsDisabled`,`Disabled`]})))()}export{A as a,M as c,T as i,O as n,D as o,E as r,g as s,k as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
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{n,t as r}from"./Grid-BCzygAqy.js";import{d as i,f as a}from"./usePickerTriggerController-C-VxrzSe.js";function o({onSelectAll:e,onDeselectAll:t,selectAllButtonRef:n}){return(0,s.jsxs)(r.Container,{gap:`xs`,templateColumns:`1fr 1fr`,children:[(0,s.jsx)(`button`,{ref:n,type:`button`,className:i.selectionActionButton,onClick:e,"data-ui":`picker-select-all`,"data-action":`select-all`,children:`Выбрать все`}),(0,s.jsx)(`button`,{type:`button`,className:i.selectionActionButton,onClick:t,"data-ui":`picker-deselect-all`,"data-action":`deselect-all`,children:`Снять выбор`})]})}var s;function c(){return(c=e((()=>{n(),a(),s=t(),o.__docgenInfo={description:`Общая панель массовых действий для picker-компонентов с множественным выбором.
|
|
2
2
|
Компонент не знает формат значения и делегирует изменение владельцу selection-модели.`,methods:[],displayName:`PickerSelectionToolbar`,props:{onSelectAll:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onDeselectAll:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},selectAllButtonRef:{required:!1,tsType:{name:`Ref`,elements:[{name:`HTMLButtonElement`}],raw:`Ref<HTMLButtonElement>`},description:``}}}})))()}export{c as n,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t,t as n}from"./chevron-down-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t,t as n}from"./chevron-down-DE8FRR-h.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";function c({open:e,disabled:t,children:r,onToggleMouseDown:a,onToggleClick:s,openAriaLabel:c=`Открыть список`,closeAriaLabel:u=`Закрыть список`}){return(0,l.jsxs)(`div`,{className:o.uiToggleButtonContainer,"data-disabled":t||void 0,children:[r,(0,l.jsx)(`div`,{className:o.uiButtonSeparator}),(0,l.jsx)(`button`,{type:`button`,"aria-label":e?u:c,className:o.uiToggleButton,onMouseDown:a,onClick:s,children:(0,l.jsx)(n,{className:i(o.uiToggleIcon,e&&o.uiToggleIconOpen)})})]})}var l;function u(){return(u=e((()=>{a(),t(),s(),l=r(),c.__docgenInfo={description:``,methods:[],displayName:`PickerTriggerActions`,props:{open:{required:!0,tsType:{name:`boolean`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},children:{required:!1,tsType:{name:`ReactNode`},description:``},onToggleMouseDown:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(event: MouseEvent<HTMLButtonElement>) => void`,signature:{arguments:[{type:{name:`MouseEvent`,elements:[{name:`HTMLButtonElement`}],raw:`MouseEvent<HTMLButtonElement>`},name:`event`}],return:{name:`void`}}},description:``},onToggleClick:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},openAriaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Открыть список"`,computed:!1}},closeAriaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Закрыть список"`,computed:!1}}}}})))()}export{u as n,c as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
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{a as o,d as s,g as c,l,m as u,n as d,p as f,r as p}from"./floating-ui.react-GziJy4gA.js";import{a as m,i as h,n as g,r as _}from"./dom-B3G_GtJw.js";import{i as v,r as y}from"./FloatingPopover-C-W77AcJ.js";import{n as b}from"./error-BZrNlEUO.js";var x,S,C,w;function T(){return(T=e((()=>{x=`JK2Y7t`,S=`_5QtpCJ`,C=`hZuysP`,w={popover:x,primary:S,secondary:C}})))()}function E(){let e=(0,D.useContext)(O);if(!e)throw b({hookName:`usePopoverContext`,providerName:`Popover`});return e}var D,O;function k(){return(k=e((()=>{D=n(),O=(0,D.createContext)(null)})))()}var A,j,M;function N(){return(N=e((()=>{A=t(n(),1),p(),_(),a(),v(),T(),k(),j=r(),M=({children:e,onClose:t,closeOnOutside:n=!0,closeOnEscape:r=!0,disableOutsideClick:a=!1,background:o=`secondary`})=>{let{open:s,setOpen:c,refs:l,floatingStyles:u,middlewareData:f,placement:p,arrowRef:_}=E(),v=(0,A.useRef)(null),b=(0,A.useCallback)(e=>{v.current=e,l.setFloating(e)},[l]),x=m({active:s,initialFocus:`container`,restoreFocus:!0,containerRef:v}),S=(0,A.useCallback)(()=>{s&&(c(!1),t?.())},[c,t,s]);g({active:s,enabled:r,onDismiss:S,containerRef:x});let C=(0,A.useCallback)(()=>{!s||a||n&&S()},[s,a,n,S]);return h([l.floating,l.reference],C),s?(0,j.jsx)(d,{children:(0,j.jsxs)(`div`,{ref:b,style:u,className:i(w.popover,w[o]),role:`dialog`,"aria-modal":`true`,tabIndex:-1,children:[typeof e==`function`?e({setClose:S}):e,(0,j.jsx)(y,{ref:_,placement:p,middlewareData:f})]})}):null},M.__docgenInfo={description:`Содержимое Popover, отображаемое в портале.`,methods:[],displayName:`PopoverContent`,props:{children:{required:!0,tsType:{name:`union`,raw:`React.ReactNode | ((ctx: { setClose: () => void }) => React.ReactNode)`,elements:[{name:`ReactReactNode`,raw:`React.ReactNode`},{name:`unknown`}]},description:``},onClose:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},closeOnOutside:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},closeOnEscape:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},disableOutsideClick:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},background:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`}]},description:``,defaultValue:{value:`"secondary"`,computed:!1}}}}})))()}var P,F;function I(){return(I=e((()=>{P=n(),k(),F=({passive:e,children:t})=>{let{open:n,setOpen:r,refs:i}=E(),a=(0,P.useCallback)(n=>{t.props.onClick&&t.props.onClick(n),!n.defaultPrevented&&(n.preventDefault(),n.stopPropagation(),!e&&r(e=>!e))},[t,r,e]);return(0,P.cloneElement)(t,{ref:i.setReference,"aria-expanded":n,onClick:a})},F.__docgenInfo={description:``,methods:[],displayName:`PopoverTrigger`,props:{passive:{required:!1,tsType:{name:`literal`,value:`true`},description:``},children:{required:!0,tsType:{name:`ReactReactElement`,raw:`React.ReactElement<React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }>`,elements:[{name:`intersection`,raw:`React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }`,elements:[{name:`ReactHTMLAttributes`,raw:`React.HTMLAttributes<Element>`,elements:[{name:`Element`}]},{name:`signature`,type:`object`,raw:`{ ref?: React.Ref<Element> }`,signature:{properties:[{key:`ref`,value:{name:`ReactRef`,raw:`React.Ref<Element>`,elements:[{name:`Element`}],required:!1}}]}}]}]},description:``}}}})))()}var L,R,z,B;function V(){return(V=e((()=>{L=t(n(),1),p(),N(),k(),I(),R=r(),z=({children:e,open:t,defaultOpen:n,onOpenChange:r,placement:i=`bottom`})=>{let[a,d]=(0,L.useState)(n??!1),p=t!==void 0,m=p?t:a,h=(0,L.useCallback)(e=>{let t=typeof e==`function`?e(m):e;p||d(t),r?.(t)},[p,r,m]),g=(0,L.useRef)(null),{refs:_,floatingStyles:v,middlewareData:y,placement:b}=o({open:m,onOpenChange:h,placement:i,middleware:[f(8),s(),u({padding:16}),l({element:g.current})],whileElementsMounted:c});return(0,R.jsx)(O.Provider,{value:{open:m,setOpen:h,refs:_,floatingStyles:v,placement:b,middlewareData:y,arrowRef:g},children:e})},B=Object.assign(z,{Trigger:F,Content:M}),z.__docgenInfo={description:`Контролируемый Popover.
|
|
2
2
|
Используется в связке с Popover.Trigger и Popover.Content.`,methods:[],displayName:`PopoverRoot`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"bottom"`,computed:!1}},open:{required:!1,tsType:{name:`boolean`},description:``},defaultOpen:{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:``}}}})))()}export{V as n,B 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,o as g,r as _,t as v}from"./Popover.stories-BON0z3PX.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(u,{children:`Popover`}),`
|
|
3
3
|
`,(0,x.jsx)(o,{children:`Всплывающий контейнер, привязанный к trigger-элементу и поддерживающий управляемое открытие`}),`
|
|
4
4
|
`,(0,x.jsx)(t.p,{children:`Popover уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -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"./Popover-CUJF-IMC.js";import{n as o,t as s}from"./Button-Bzc9jBAF.js";import{c,t as l}from"./Input-DZQKV4DP.js";var u=t({AnchorPlacement:()=>g,Controlled:()=>h,Default:()=>m,WithInteractiveContent:()=>_,__namedExportsOrder:()=>v,default:()=>p}),d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{d=n(),o(),c(),i(),f=r(),p={title:`Shared/UI/Popover`,component:a,parameters:{atomicCanvas:!0,layout:`centered`}},m={render:()=>(0,f.jsxs)(a,{children:[(0,f.jsx)(a.Trigger,{children:(0,f.jsx)(`button`,{children:`Открыть`})}),(0,f.jsx)(a.Content,{children:e=>(0,f.jsxs)(`div`,{style:{padding:12,maxWidth:160},children:[(0,f.jsx)(`p`,{children:`Пример простого поповера`}),(0,f.jsx)(`button`,{onClick:e.setClose,children:`Закрыть`})]})})]})},h={render:()=>{let[e,t]=(0,d.useState)(!1);return(0,f.jsxs)(a,{open:e,onOpenChange:t,children:[(0,f.jsx)(a.Trigger,{children:(0,f.jsx)(`button`,{children:e?`Закрыть`:`Открыть`})}),(0,f.jsx)(a.Content,{children:(0,f.jsx)(`div`,{style:{padding:12},children:`Контролируемый режим`})})]})}},g={render:()=>(0,f.jsx)(`div`,{style:{display:`flex`,gap:32,flexWrap:`wrap`,justifyContent:`center`},children:[`top`,`bottom`,`left`,`right`,`top-start`,`bottom-end`].map(e=>(0,f.jsxs)(a,{placement:e,children:[(0,f.jsx)(a.Trigger,{children:(0,f.jsx)(`button`,{children:e})}),(0,f.jsx)(a.Content,{children:(0,f.jsx)(`div`,{style:{padding:8},children:e})})]},e))})},_={render:()=>(0,f.jsxs)(a,{children:[(0,f.jsx)(a.Trigger,{children:(0,f.jsx)(`button`,{children:`Форма`})}),(0,f.jsx)(a.Content,{children:e=>(0,f.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),e.setClose()},style:{display:`flex`,flexDirection:`column`,gap:8,padding:12,width:180},children:[(0,f.jsx)(l,{label:`Имя`,placeholder:`Введите имя`,value:``,onChange:()=>{}}),(0,f.jsx)(s,{children:`Отправить`})]})})]})},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: () => <Popover>
|
|
3
3
|
<Popover.Trigger>
|
|
4
4
|
<button>Открыть</button>
|
|
@@ -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{n as r,t as i}from"./FlexContainer-LmZIdhq2.js";import{r as a,t as o}from"./DateInput-BUgBb3aH.js";import{a as s,c,i as l,n as u,o as d,r as f,s as p,t as m}from"./DateRangePresetSelect-CBZ0OAmn.js";function h(e){return e??`__empty__`}function g({value:e,onChange:t,presetId:n,onPresetIdChange:r,referenceDate:a,presetIds:l,presetOptions:u,presetLabel:g,presetDescription:y,presetPlaceholder:b=`Выберите пресет диапазона`,presetDisabled:x,...S}){let[C]=(0,_.useState)(()=>new Date),w=a??C,T=(0,_.useMemo)(()=>u??p(s(l,f)),[l,u]),E=e??null,D=(0,_.useMemo)(()=>d(E,w,T),[E,T,w]),O=n??D??void 0,k=(0,_.useRef)(``),A=(0,_.useCallback)(e=>{if(!r)return;let t=h(e);t!==k.current&&(k.current=t,r(e))},[r]),j=e=>{let n=c(e,w,T);if(!n){A(null);return}A(n.id),t(n.range)},M=e=>{t(e),A(d(e,w,T))};return(0,v.jsxs)(i,{gap:`sm`,align:`end`,children:[(0,v.jsx)(m,{size:S.size,label:g,description:y,placeholder:b,disabled:x??S.disabled,value:O,onChange:j,options:T,referenceDate:w}),(0,v.jsx)(o,{...S,value:E,onChange:M})]})}var _,v;function y(){return(y=e((()=>{_=t(),a(),u(),l(),r(),v=n(),g.__docgenInfo={description:`Составной компонент выбора диапазона дат через пресет или ручной ввод.`,methods:[],displayName:`PresetRangeDateInput`,props:{presetId:{required:!1,tsType:{name:`union`,raw:`DateRangePresetOption["id"] | null`,elements:[{name:`DateRangePresetOption["id"]`,raw:`DateRangePresetOption["id"]`},{name:`null`}]},description:``},onPresetIdChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(presetId: DateRangePresetOption["id"] | null) => void`,signature:{arguments:[{type:{name:`union`,raw:`DateRangePresetOption["id"] | null`,elements:[{name:`DateRangePresetOption["id"]`,raw:`DateRangePresetOption["id"]`},{name:`null`}]},name:`presetId`}],return:{name:`void`}}},description:``},referenceDate:{required:!1,tsType:{name:`Date`},description:``},presetIds:{required:!1,tsType:{name:`unknown`},description:``},presetOptions:{required:!1,tsType:{name:`unknown`},description:``},presetLabel:{required:!1,tsType:{name:`ReactNode`},description:``},presetDescription:{required:!1,tsType:{name:`string`},description:``},presetPlaceholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите пресет диапазона"`,computed:!1}},presetDisabled:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})))()}export{y as n,g 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{n as p,r as m,t as h}from"./PresetRangeDateInput.stories-CDDJDiei.js";function g(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,v.jsx)(u,{children:`PresetRangeDateInput`}),`
|
|
3
3
|
`,(0,v.jsx)(o,{children:`Составной контрол диапазона дат с синхронизацией ручного ввода и готовых пресетов`}),`
|
|
4
4
|
`,(0,v.jsx)(t.p,{children:`PresetRangeDateInput уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -0,0 +1,15 @@
|
|
|
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"./Text-DUqtop-c.js";import{n as o,t as s}from"./FlexContainer-LmZIdhq2.js";import{n as c,t as l}from"./PresetRangeDateInput-D3_uzWzQ.js";var u=t({Default:()=>m,__namedExportsOrder:()=>h,default:()=>p}),d,f,p,m,h;function g(){return(g=e((()=>{d=n(),o(),i(),c(),f=r(),p={title:`Shared/UI/PresetRangeDateInput`,component:l,args:{value:null,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`}},m={render:()=>{let[e,t]=(0,d.useState)([new Date(2026,2,10,0,0,0),new Date(2026,2,10,23,59,59)]),[n,r]=(0,d.useState)(`today`);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{gap:`sm`,align:`end`,children:(0,f.jsx)(l,{value:e,onChange:t,presetId:n,onPresetIdChange:r,referenceDate:new Date(2026,2,10,12,0,0),presetLabel:`Быстрый диапазон`,size:`md`})}),(0,f.jsxs)(a,{as:`p`,className:`marginBlockSm`,children:[`Активный presetId: `,(0,f.jsx)(a,{as:`code`,children:n??`null`})]})]})}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: () => {
|
|
3
|
+
const [value, setValue] = useState<NullableDateRange | null>([new Date(2026, 2, 10, 0, 0, 0), new Date(2026, 2, 10, 23, 59, 59)]);
|
|
4
|
+
const [presetId, setPresetId] = useState<string | null>("today");
|
|
5
|
+
return <>
|
|
6
|
+
<FlexContainer gap="sm" align="end">
|
|
7
|
+
<PresetRangeDateInput value={value} onChange={setValue} presetId={presetId} onPresetIdChange={setPresetId} referenceDate={new Date(2026, 2, 10, 12, 0, 0)} presetLabel="Быстрый диапазон" size="md" />
|
|
8
|
+
</FlexContainer>
|
|
9
|
+
|
|
10
|
+
<Text as="p" className="marginBlockSm">
|
|
11
|
+
Активный presetId: <Text as="code">{presetId ?? "null"}</Text>
|
|
12
|
+
</Text>
|
|
13
|
+
</>;
|
|
14
|
+
}
|
|
15
|
+
}`,...m.parameters?.docs?.source},description:{story:`Демонстрирует совместную работу пресета и ручного диапазона.`,...m.parameters?.docs?.description}}},h=[`Default`]})))()}export{u as n,g as r,m 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{n,t as r}from"./Select-g0c0XGQY.js";function i(e,t,n=[]){if(!Array.isArray(e))return[...n];let r=[];for(let n of e)!t(n)||r.includes(n)||r.push(n);return r}function a(e,t){let n=new Map(t.map(e=>[e.id,e])),r=[],i=new Set;for(let t of e){if(i.has(t))continue;let e=n.get(t);e&&(r.push(e),i.add(t))}return r}function o(e,t){return e?t.find(t=>t.id===e)??null:null}function s(){return(s=e((()=>{})))()}function c({options:e,value:t,onChange:n,getOptionDisabled:i,getOptionCode:a,getOptionAriaLabel:s,renderOption:c,renderValue:u,className:d,buttonClassName:f,optionsClassName:p,clearable:m,...h}){let g=o(t,e)??void 0;return(0,l.jsx)(r,{...h,options:e,value:g,onChange:e=>n(e?.id),getOptionKey:e=>e.id,getOptionLabel:e=>e.label,getOptionCode:a,getOptionDisabled:i,getOptionAriaLabel:s,renderOption:c,renderValue:u,className:d,buttonClassName:f,optionsClassName:p,clearable:m})}var l;function u(){return(u=e((()=>{n(),l=t(),c.__docgenInfo={description:"Базовый Select для пресетов с контрактом `id/label`.",methods:[],displayName:`PresetSelect`,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:``},options:{required:!0,tsType:{name:`unknown`},description:``},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},renderOption:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
|
|
2
2
|
active: boolean;
|
|
3
3
|
selected: boolean;
|
|
4
4
|
disabled: boolean;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{i as r,n as i,r as a}from"./iframe-BHhbrImE.js";import{a as o,i as s}from"./utils-DUM89eIj.js";import{n as c,t as l}from"./ui.module-kfCm3RIG.js";import{n as u,r as d}from"./uiClasses-BS9RPcty.js";import{n as f,t as p}from"./CheckBox.module-DPvJxTHD.js";var m,h;function g(){return(g=e((()=>{r(),m=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],h=a(`circle`,m)})))()}var _,v;function y(){return(y=e((()=>{_=`gu8UMB`,v={radioInput:_}})))()}var b,x,S;function C(){return(C=e((()=>{b=t(n(),1),s(),g(),f(),l(),d(),y(),x=i(),S=({label:e,description:t,placeholder:n,disabled:r,size:i,className:a,onChange:s,value:l,id:d,tone:f=`neutral`,...m})=>{let g=(0,b.useId)(),_=d??g,y=t?`${_}-description`:void 0,S=e??n,C=l??!1;return(0,x.jsxs)(`div`,{className:o(c.uiElement,i&&c.uiSizable,i&&c[i],r&&c.disabled,a),children:[(0,x.jsxs)(`div`,{className:p.row,children:[(0,x.jsxs)(`div`,{className:o(p.wrapper,u(f)),children:[(0,x.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`radio`,checked:C,disabled:r,"aria-disabled":r,"aria-checked":C,"aria-describedby":y,className:o(c.uiSelectionControl,p.input,v.radioInput),onChange:()=>s?.(!C)}),(0,x.jsx)(`div`,{className:o(c.uiSelectionIcon,p.icon),"aria-hidden":`true`,children:(0,x.jsx)(h,{fill:`currentColor`})})]}),S&&(0,x.jsx)(`label`,{htmlFor:_,className:c.uiLabel,children:S})]}),t&&(0,x.jsx)(`p`,{id:y,className:c.uiDescription,children:t})]})},S.__docgenInfo={description:`Компонент радиокнопки для выбора одного варианта.
|
|
2
|
+
Поддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.`,methods:[],displayName:`RadioButton`,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:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}}},composes:[`Omit`]}})))()}export{C as n,S 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"./RadioButton.stories-DS9RYBEJ.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:`RadioButton`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Одиночная radio-кнопка для ручной сборки наборов выбора и специальных компоновок`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`RadioButton уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./RadioButton-BLyqp88m.js";import{n as a}from"./iframe-BHhbrImE.js";var o=t({Controlled:()=>u,Disabled:()=>f,Group:()=>d,__namedExportsOrder:()=>p,default:()=>l}),s,c,l,u,d,f,p;function m(){return(m=e((()=>{s=n(),r(),c=a(),l={title:`Shared/UI/RadioButton`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи радиокнопки.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Признак выбранного состояния.`,control:`boolean`},onChange:{description:`Вызывается при изменении выбранности.`,control:!1},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер визуального контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Семантический тон радиокнопки.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]},name:{description:"HTML `name` для группировки кнопок.",control:`text`}}},u={render:e=>{let[t,n]=(0,s.useState)(e.value??!1);return(0,c.jsx)(i,{...e,value:t,onChange:n})},args:{label:`Выбрать опцию`,description:`Одиночная радиокнопка в controlled-режиме.`,value:!1,name:`single-radio`,tone:`neutral`}},d={render:()=>{let[e,t]=(0,s.useState)(`email`);return(0,c.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Канал уведомлений`,style:{display:`grid`,gap:12},children:[(0,c.jsx)(i,{name:`notify-channel`,label:`Email`,value:e===`email`,onChange:e=>e&&t(`email`),tone:`info`}),(0,c.jsx)(i,{name:`notify-channel`,label:`SMS`,value:e===`sms`,onChange:e=>e&&t(`sms`),tone:`info`})]})},args:{value:void 0}},f={args:{label:`Недоступная опция`,description:`Заблокировано политикой конфигурации.`,value:!0,disabled:!0,tone:`neutral`}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: args => {
|
|
3
|
+
const [value, setValue] = useState(args.value ?? false);
|
|
4
|
+
return <RadioButton {...args} value={value} onChange={setValue} />;
|
|
5
|
+
},
|
|
6
|
+
args: {
|
|
7
|
+
label: "Выбрать опцию",
|
|
8
|
+
description: "Одиночная радиокнопка в controlled-режиме.",
|
|
9
|
+
value: false,
|
|
10
|
+
name: "single-radio",
|
|
11
|
+
tone: "neutral"
|
|
12
|
+
}
|
|
13
|
+
}`,...u.parameters?.docs?.source}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
14
|
+
render: () => {
|
|
15
|
+
const [selected, setSelected] = useState<"email" | "sms">("email");
|
|
16
|
+
return <div role="radiogroup" aria-label="Канал уведомлений" style={{
|
|
17
|
+
display: "grid",
|
|
18
|
+
gap: 12
|
|
19
|
+
}}>
|
|
20
|
+
<RadioButton name="notify-channel" label="Email" value={selected === "email"} onChange={checked => checked && setSelected("email")} tone="info" />
|
|
21
|
+
<RadioButton name="notify-channel" label="SMS" value={selected === "sms"} onChange={checked => checked && setSelected("sms")} tone="info" />
|
|
22
|
+
</div>;
|
|
23
|
+
},
|
|
24
|
+
args: {
|
|
25
|
+
value: undefined
|
|
26
|
+
}
|
|
27
|
+
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
28
|
+
args: {
|
|
29
|
+
label: "Недоступная опция",
|
|
30
|
+
description: "Заблокировано политикой конфигурации.",
|
|
31
|
+
value: true,
|
|
32
|
+
disabled: true,
|
|
33
|
+
tone: "neutral"
|
|
34
|
+
}
|
|
35
|
+
}`,...f.parameters?.docs?.source}}},p=[`Controlled`,`Group`,`Disabled`]})))()}export{m as a,o as i,f as n,d as r,u 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"./RadioGroup.stories-DkgUPavS.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:`RadioGroup`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Группа взаимоисключающих опций с поддержкой горизонтальной и вертикальной раскладки`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`RadioGroup уже имеет живые 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,n as o,o as s}from"./utils-DUM89eIj.js";import{n as c,t as l}from"./ui.module-kfCm3RIG.js";var u,d,f,p,m,h,g;function _(){return(_=e((()=>{u=`nINbA6`,d=`GL-UWx`,f=`_6PeF-i`,p=`_5wP4aR`,m=`S3MnZI`,h=`KHJ0ja`,g={radioGroup:u,noWrap:d,horizontal:f,vertical:p,radioItem:m,checked:h}})))()}function v({value:e,onChange:t,label:n,description:r,disabled:a,className:o,noWrap:s,orientation:l=`horizontal`,"aria-label":u,children:d}){let f=(0,b.useId)(),p=n?`${f}-label`:void 0,m=r?`${f}-description`:void 0,[h,_]=(0,b.useState)([]),v=(0,b.useCallback)(e=>t?.(e),[t]),y=(0,b.useCallback)(e=>(_(t=>t.includes(e)?t:[...t,e]),()=>{_(t=>t.filter(t=>t!==e))}),[]),C=(0,b.useMemo)(()=>({value:e,onChange:v,disabled:a,orientation:l,groupId:f,labelId:p,descriptionId:m,firstOptionId:h[0],registerOption:y}),[m,a,f,v,p,l,y,h,e]);return(0,x.jsxs)(`div`,{className:i(c.uiElement,a&&c.disabled,o),children:[n&&(0,x.jsx)(`div`,{id:p,className:c.uiLabel,children:n}),r&&(0,x.jsx)(`div`,{id:m,className:c.uiDescription,children:r}),(0,x.jsx)(S.Provider,{value:C,children:(0,x.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":p,"aria-label":p?void 0:u,"aria-describedby":m,"aria-disabled":a||void 0,"data-disabled":a||void 0,className:i(c.uiInputControl,g.radioGroup,s&&g.noWrap,g[l]),children:d})})]})}function y({value:e,label:t,description:n,className:r}){let a=(0,b.useContext)(S),c=(0,b.useId)(),l=a?.registerOption;if((0,b.useLayoutEffect)(()=>{if(l)return l(c)},[l,c]),!a)return(0,x.jsxs)(`div`,{className:i(g.radioItem,r),children:[(0,x.jsx)(`p`,{className:`textNoWrap`,children:t}),n&&(0,x.jsx)(`div`,{className:`fontSizeSm content2`,children:n})]});let u=Object.is(a.value,e),d=a.disabled===!0,f=a.value===void 0&&a.firstOptionId===c,p=()=>{d||u||a.onChange?.(e)};return(0,x.jsxs)(`button`,{id:`${a.groupId}-option-${c}`,type:`button`,role:`radio`,"aria-checked":u,disabled:d,tabIndex:u||f?0:-1,className:i(g.radioItem,u&&g.checked,r),"data-ui":`radio-option`,"data-action":`select-radio-option`,onClick:p,onKeyDown:e=>{if(d||o(e,p))return;let t=e.currentTarget,n=t.closest(`[role="radiogroup"]`),r=Array.from(n?.querySelectorAll(`[role="radio"]:not([disabled])`)??[]);if(!r.length)return;let i=r.indexOf(t);if(i===-1)return;let c=s({currentIndex:i,itemCount:r.length,key:e.key,orientation:a.orientation});c!==null&&(e.preventDefault(),r[c]?.focus(),r[c]?.click())},children:[(0,x.jsx)(`span`,{className:`textNoWrap`,children:t}),n&&(0,x.jsx)(`span`,{className:`fontSizeSm`,children:n})]})}var b,x,S;function C(){return(C=e((()=>{b=t(n(),1),a(),l(),_(),x=r(),S=(0,b.createContext)(null),v.Option=y,v.__docgenInfo={description:`Группа радиокнопок с общим состоянием выбранного значения. Обеспечивает единый API выбора и контекст для дочерних опций.`,methods:[{name:`Option`,docblock:null,modifiers:[`static`],params:[{name:`{ value, label, description, className }: OptionProps<T>`,optional:!1,type:{name:`OptionProps`,elements:[{name:`T`}],raw:`OptionProps<T>`,alias:`OptionProps`}}],returns:null}],displayName:`RadioGroup`,props:{value:{required:!1,tsType:{name:`T`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},label:{required:!1,tsType:{name:`string`},description:``},description:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},noWrap:{required:!1,tsType:{name:`literal`,value:`true`},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"vertical" | "horizontal"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},"aria-label":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}},y.__docgenInfo={description:"Опция внутри `RadioGroup`, представляющая одно выбираемое значение. Отрисовывает подпись, описание и состояние выбора.",methods:[],displayName:`Option`,props:{value:{required:!0,tsType:{name:`T`},description:``},label:{required:!0,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{C as n,v as t};
|
package/storybook-static/assets/{RadioGroup.stories-B-WQzZW_.js → RadioGroup.stories-DkgUPavS.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"./RadioGroup-DERcyzA0.js";var o=t({Controlled:()=>d,Disabled:()=>p,Vertical:()=>f,__namedExportsOrder:()=>m,default:()=>u});function s(e){return(0,l.jsx)(a,{...e})}var c,l,u,d,f,p,m;function h(){return(h=e((()=>{c=n(),i(),l=r(),u={title:`Shared/UI/RadioGroup`,component:s,args:{value:`email`,onChange:()=>{},orientation:`horizontal`,label:`Канал уведомлений`,description:`Выберите основной канал доставки`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее выбранное значение.`,control:`text`},onChange:{description:`Вызывается при смене выбранной опции.`,control:!1},label:{description:`Заголовок группы опций.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},disabled:{description:`Блокирует выбор опций.`,control:`boolean`},noWrap:{description:`Запрещает перенос опций на новую строку.`,control:`boolean`},orientation:{description:`Ориентация расположения опций.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},className:{description:`Дополнительный CSS-класс контейнера.`,control:`text`},children:{description:"Элементы `RadioGroup.Option` внутри группы.",control:!1}}},d={render:e=>{let[t,n]=(0,c.useState)(`email`);return(0,l.jsxs)(`div`,{style:{display:`grid`,gap:10},children:[(0,l.jsxs)(s,{...e,value:t,onChange:n,children:[(0,l.jsx)(a.Option,{value:`email`,label:`Email`,description:`Письма на корпоративную почту`}),(0,l.jsx)(a.Option,{value:`sms`,label:`SMS`,description:`Сообщения на телефон`}),(0,l.jsx)(a.Option,{value:`push`,label:`Push`,description:`Уведомления в приложении`})]}),(0,l.jsxs)(`div`,{children:[`Выбрано: `,t]})]})},args:{children:void 0}},f={render:e=>{let[t,n]=(0,c.useState)(`draft`);return(0,l.jsxs)(s,{...e,value:t,onChange:n,orientation:`vertical`,label:`Статус документа`,children:[(0,l.jsx)(a.Option,{value:`draft`,label:`Черновик`}),(0,l.jsx)(a.Option,{value:`review`,label:`На согласовании`}),(0,l.jsx)(a.Option,{value:`approved`,label:`Утвержден`})]})},args:{orientation:`vertical`,children:void 0}},p={render:e=>(0,l.jsxs)(s,{...e,disabled:!0,children:[(0,l.jsx)(a.Option,{value:`yes`,label:`Да`}),(0,l.jsx)(a.Option,{value:`no`,label:`Нет`})]}),args:{disabled:!0,value:`yes`,children:void 0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState("email");
|
|
4
4
|
return <div style={{
|
|
@@ -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";var a,o,s,c;function l(){return(l=e((()=>{a=t(),i(),o=n(),s=(0,a.forwardRef)(({children:e,height:t,stable:n,overscroll:i,className:a},s)=>(0,o.jsx)(`div`,{ref:s,className:r(`scrollable`,n&&`stable`,i&&`overscroll`,a),style:{height:t},children:e})),c=(0,a.forwardRef)(({blockClassName:e,...t},n)=>(0,o.jsx)(`div`,{className:r(e,`overflowHidden w100 h100`),children:(0,o.jsx)(s,{ref:n,...t})})),s.__docgenInfo={description:``,methods:[],displayName:`Scrollable`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`PropsWithChildren`]},c.__docgenInfo={description:``,methods:[],displayName:`ScrollableBlock`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``},blockClassName:{required:!1,tsType:{name:`string`},description:``}},composes:[`PropsWithChildren`]}})))()}export{l as n,s 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,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./Select.stories-BEPJovVd.js";function x(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{of:y,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,C.jsx)(u,{children:`Select`}),`
|
|
3
3
|
`,(0,C.jsx)(o,{children:`Getter-based select для примитивов и сложных объектных option`}),`
|
|
4
4
|
`,(0,C.jsx)(t.p,{children:`Select уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -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"./x-CNM39xuu.js";import{n as o}from"./iframe-BHhbrImE.js";import{a as s,i as c}from"./utils-DUM89eIj.js";import{n as l,t as u}from"./ui.module-kfCm3RIG.js";import{c as d,g as f,h as ee,i as te,l as ne,n as re,r as p,s as ie,t as m,u as h}from"./usePickerTriggerController-C-VxrzSe.js";import{i as g,n as ae,r as oe,t as _}from"./usePickerQuery-B6U-oOS6.js";import{n as v,t as se}from"./PickerTriggerActions-C7WeaOKN.js";import{n as y,t as b}from"./usePickerDefaultFilter-Be420WNF.js";function x(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e)){let t=e.map(x).filter(e=>!!e);return t.length?t.join(` `):void 0}}function ce({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[x(t(e)),x(n?.(e)),x(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function S(){return(S=e((()=>{})))()}function le(e,t){let n=[];return e.forEach((e,r)=>{let i=t(e),a=n.at(-1),o=a?.group?.key===i?.key;if(a&&o){a.items.push({option:e,index:r});return}n.push({group:i,items:[{option:e,index:r}]})}),n}var C,w,T;function E(){return(E=e((()=>{C=`aEEqH1`,w=`_4HQKa7`,T={inputWithOverlay:C,valueOverlay:w}})))()}function D(e){let{label:t,description:n,disabled:i,placeholder:o,size:c,options:u,value:d,onChange:f,getOptionKey:p,getOptionLabel:m,getOptionCode:h,getOptionDisabled:g,getOptionAriaLabel:_,getOptionGroup:v,getOptionClassName:b,renderOption:S,renderValue:C,className:w,buttonClassName:E,optionsClassName:D,optionsMaxWidth:A,optionsContentClassName:j,searchable:M=!1,defaultFilter:ue=!0,query:de,defaultQuery:fe,onQuery:pe,renderPopupHeader:me,emptyState:he,loadingState:ge,errorState:_e,placement:ve=`bottom-start`,clearable:N=!1}=e,P=f,F=(0,O.useRef)(null),[I,ye]=(0,O.useState)(!1),L=M?`search-single`:`display`,R=d===void 0?void 0:p(d),z=R===void 0?void 0:u.find(e=>p(e)===R)??d,{query:B,setQuery:V}=ae({open:I,query:de,defaultQuery:fe,onQuery:pe,triggerMode:L}),be=(0,O.useCallback)(e=>ce({option:e,getOptionLabel:m,getOptionCode:h,getOptionGroup:v}),[h,v,m]),H=y({options:u,query:B,enabled:M&&ue,getSearchText:be}),U=(0,O.useMemo)(()=>v?le(H,v):void 0,[v,H]),xe=R===void 0?-1:H.findIndex(e=>p(e)===R),{activeIndex:Se,context:Ce,floatingStyles:we,getFloatingProps:Te,setReference:Ee,setFloating:De,setOptionRef:Oe,close:W,openList:ke,toggleOpen:Ae,selectOption:je,selectActiveOption:Me,handleReferenceKeyDown:Ne,handleFloatingKeyDown:Pe,getOptionId:Fe,getActiveOptionId:G}=te({options:H,selectedIndex:xe,open:I,onOpenChange:ye,getOptionDisabled:g,onSelect:P,disabled:i,placement:ve,triggerMode:L}),K=H.length>0,q=z===void 0?void 0:m(z),J=z===void 0?void 0:C?C(z):q,Ie=x(q),Le=z===void 0?void 0:x(h?.(z)),Y=x(J)??Ie??Le??(R===void 0?``:String(R)),X=M&&(I||B.length>0),Re=X?B:z===void 0?``:Y,Z=z!==void 0&&J!==void 0&&x(J)===void 0&&!X,Q=re({mode:L,open:I,currentQuery:B,hasDisplayValue:z!==void 0,inputRef:F,setQuery:V,openList:ke,close:W,toggleOpen:Ae}),ze=e=>{F.current=e},Be=()=>{N&&P(void 0),V(``),W()},$=(e,t,n)=>{let i=p(t),a=R!==void 0&&i===R,o=n===Se,c=g?.(t)??!1,u={active:o,selected:a,disabled:c};return(0,k.jsx)(`div`,{id:Fe(e,n),ref:e=>Oe(n,e),role:`option`,"aria-selected":a,"aria-disabled":c||void 0,"aria-label":_?.(t),className:s(l.uiPopupOption,c&&l.disabled,o&&l.uiPopupOptionActive,a&&l.selected,b?.(t,u)),onClick:()=>je(t),children:S?S(t,u):(0,k.jsxs)(k.Fragment,{children:[a?(0,k.jsx)(r,{className:l.uiPopupOptionIcon}):(0,k.jsx)(`span`,{className:l.uiPopupOptionIcon}),(0,k.jsx)(`div`,{className:l.uiOptionText,children:m(t)}),h&&(0,k.jsx)(`div`,{className:l.uiOptionCode,children:h(t)})]})},i)};return(0,k.jsx)(ee,{label:t,description:n,disabled:i,size:c,className:w,children:({controlId:e,labelId:n,describedBy:r})=>{let c=`${e}-listbox`;return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ie,{ref:ze,rootRef:Ee,id:e,type:`text`,disabled:i,readOnly:!M,autoComplete:`off`,role:`combobox`,value:Re,placeholder:z===void 0||X?`${o??t??``} <${u.length}>`:void 0,"aria-labelledby":n,"aria-describedby":r,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?c:void 0,"aria-autocomplete":M?`list`:`none`,"aria-activedescendant":I?G(c):void 0,inputClassName:s(Z&&T.inputWithOverlay,E,`textOverflow`),overlay:Z?(0,k.jsx)(`div`,{className:T.valueOverlay,children:J}):void 0,endAdornment:(0,k.jsx)(se,{open:I,disabled:i,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,children:N&&z!==void 0&&!i?(0,k.jsx)(`button`,{type:`button`,className:l.uiClearButton,"data-ui":`select-clear-button`,"data-action":`clear-select`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Be()},"aria-label":`Очистить выбор`,children:(0,k.jsx)(a,{})}):null}),onChange:e=>{M&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Ne(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:Me,enableSpaceActivation:!M})}}),(0,k.jsx)(ne,{open:I,context:Ce,floatingStyles:we,listId:c,labelId:n,descriptionId:r,activeOptionId:K?G(c):void 0,setFloating:De,getFloatingProps:Te,onKeyDown:Pe,className:s(l.uiPopupOptions,D),maxWidth:A,header:me,children:(0,k.jsx)(`div`,{className:s(j,`h100 scrollable`),children:K?U?U.map((e,t)=>{let n=e.group?`${c}-group-${t}`:void 0,r=e.items.map(({option:e,index:t})=>$(c,e,t));return e.group?(0,k.jsxs)(`div`,{role:`group`,"aria-labelledby":n,children:[(0,k.jsx)(`div`,{id:n,className:l.uiPopupGroupLabel,children:e.group.label}),r]},`group-${String(e.group.key)}-${t}`):(0,k.jsx)(O.Fragment,{children:r},`options-${t}`)}):H.map((e,t)=>$(c,e,t)):(0,k.jsx)(oe,{emptyState:he,loadingState:ge,errorState:_e})})})]})}})}var O,k;function A(){return(A=e((()=>{O=t(),c(),n(),i(),f(),h(),g(),v(),d(),b(),p(),_(),m(),u(),S(),E(),k=o(),D.__docgenInfo={description:`Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.`,methods:[],displayName:`Select`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},getOptionKey:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionKey`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]}}},description:``},getOptionLabel:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionGroup:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionGroup | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`SelectOptionGroup | undefined`,elements:[{name:`signature`,type:`object`,raw:`{
|
|
2
2
|
readonly key: SelectOptionKey;
|
|
3
3
|
readonly label: ReactNode;
|
|
4
4
|
}`,signature:{properties:[{key:`key`,value:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}],required:!0}},{key:`label`,value:{name:`ReactNode`,required:!0}}]}},{name:`undefined`}]}}},description:``},getOptionClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => string | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
|
|
@@ -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"./Select-g0c0XGQY.js";var o=t({ControlledObjects:()=>f,CustomOptionLayout:()=>g,Disabled:()=>_,GroupedOptions:()=>h,Placeholder:()=>m,PrimitiveOptions:()=>p,__namedExportsOrder:()=>v,default:()=>d}),s,c,l,u,d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{s=n(),i(),c=r(),l=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],u=[`Новый`,`В работе`,`Завершён`,`Архив`],d={title:`Shared/UI/Select`,component:a,args:{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,value:void 0,options:l,onChange:()=>{},getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Низкоуровневый getter-based select. Подходит для произвольных структур данных, примитивов и сложного кастомного рендера. Компонент возвращает наружу саму выбранную option. Для сериализуемых конфигов и сценариев с optionKey/optionLabel используйте SerializableSelect.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение ещё не выбрано.`,control:`text`},value:{description:`Текущая выбранная option целиком.`,control:!1},options:{description:`Массив опций любого поддерживаемого формата.`,control:!1},onChange:{description:`Вызывается с выбранной option.`,control:!1},getOptionKey:{description:`Функция получения уникального ключа option.`,control:!1},getOptionLabel:{description:`Функция получения основного текста option.`,control:!1},getOptionCode:{description:`Опциональный рендер дополнительного кода справа.`,control:!1},getOptionDisabled:{description:`Опциональная функция блокировки отдельных option.`,control:!1},getOptionAriaLabel:{description:`Опциональная функция для aria-label option.`,control:!1},getOptionGroup:{description:`Опциональная функция, которая объединяет соседние option под доступным заголовком группы.`,control:!1},getOptionClassName:{description:`Опциональная функция CSS-класса option по её состоянию.`,control:!1},renderOption:{description:`Полностью кастомный рендер option в списке.`,control:!1},renderValue:{description:`Кастомный рендер выбранного значения в кнопке.`,control:!1},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},buttonClassName:{description:`Дополнительный CSS-класс кнопки выбора.`,control:`text`},optionsClassName:{description:`Дополнительный CSS-класс контейнера списка.`,control:`text`},optionsMaxWidth:{description:`Максимальная ширина выпадающего списка в любом допустимом CSS-формате.`,control:`text`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},placement:{description:`Позиционирование выпадающего списка.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`]},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`}}},f={name:`Объекты`,render:e=>{let[t,n]=(0,s.useState)(l[1]);return(0,c.jsx)(a,{...e,value:t,onChange:n})}},p={name:`Примитивы`,render:()=>{let[e,t]=(0,s.useState)(u[1]);return(0,c.jsx)(a,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:u,value:e,onChange:t,getOptionKey:e=>e,getOptionLabel:e=>e,size:`md`})}},m={render:e=>{let[t,n]=(0,s.useState)(void 0);return(0,c.jsx)(a,{...e,value:t,onChange:n})}},h={name:`Группированные опции`,render:e=>{let[t,n]=(0,s.useState)();return(0,c.jsx)(a,{...e,value:t,onChange:n,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40rem`})}},g={name:`Кастомный рендер`,render:e=>{let[t,n]=(0,s.useState)(l[0]);return(0,c.jsx)(a,{...e,value:t,onChange:n,renderValue:e=>`${e.code} · ${e.name}`,renderOption:(e,t)=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{className:`flexEllipsis`,children:[(0,c.jsx)(`div`,{children:e.name}),(0,c.jsx)(`div`,{className:`fontSizeSm content2`,children:e.manager})]}),(0,c.jsx)(`div`,{style:{opacity:t.selected?1:.5},children:e.code})]})})}},_={args:{disabled:!0,value:l[0]}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
name: "Объекты",
|
|
3
3
|
render: args => {
|
|
4
4
|
const [value, setValue] = useState<DepartmentOption | undefined>(departmentOptions[1]);
|
package/storybook-static/assets/{SelectOptionContent-RAmgWCOm.js → SelectOptionContent-B5E2W8PZ.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
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{a as n,i as r}from"./utils-DUM89eIj.js";import{n as i,t as a}from"./ui.module-kfCm3RIG.js";var o,s;function c(){return(c=e((()=>{o=t(),s=({text:e,highlight:t})=>t?e.split(RegExp(`(${t})`,`gi`)).map((e,n)=>e.toLowerCase()===t.toLowerCase()?(0,o.jsx)(`mark`,{children:e},n):e):e})))()}function l({label:e,code:t,highlight:r,labelClassName:a,codeClassName:o}){return(0,u.jsxs)(`div`,{className:i.uiOptionBase,children:[(0,u.jsx)(`div`,{className:n(i.uiOptionText,`flexEllipsis`,a),children:(0,u.jsx)(s,{text:e,highlight:r})}),t&&(0,u.jsx)(`div`,{className:n(i.uiOptionCode,o),children:(0,u.jsx)(s,{text:t,highlight:r})})]})}var u;function d(){return(d=e((()=>{r(),c(),a(),u=t(),l.__docgenInfo={description:`Универсальный рендерер опции. Используется и в single-select, и в multi-select.`,methods:[],displayName:`SelectOptionContent`,props:{label:{required:!0,tsType:{name:`string`},description:``},code:{required:!1,tsType:{name:`string`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},labelClassName:{required:!1,tsType:{name:`string`},description:`Приватный визуальный modifier label для специализированного владельца option.`},codeClassName:{required:!1,tsType:{name:`string`},description:`Отдельный modifier code, потому что code задаёт собственный variable-font weight.`}}}})))()}export{d as n,l as t};
|
package/storybook-static/assets/{SerializableSelect-CA9wjk2m.js → SerializableSelect-wgzDfqEi.js}
RENAMED
|
@@ -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 _,s as v,t as y}from"./SerializableSelect.stories-V8IqyO9Y.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(u,{children:`SerializableSelect`}),`
|
|
3
3
|
`,(0,S.jsx)(o,{children:`Select для сериализуемых значений и конфигурационных сценариев с key/label описанием option`}),`
|
|
4
4
|
`,(0,S.jsx)(t.p,{children:`SerializableSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -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"./Select-g0c0XGQY.js";function o(e,t){return e[t]}function s(e,t,n){let r=e[t];if(typeof r==`string`||typeof r==`number`)return r;let i=o(e,n);return typeof i==`string`||typeof i==`number`?i:String(i)}function c({label:e,description:t,disabled:n,placeholder:r,size:i,options:c,value:u,onChange:d,optionKey:f,optionLabel:p,renderCode:m,className:h,clearable:g}){let _=u===void 0?void 0:c.find(e=>o(e,f)===u);return(0,l.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:i,options:c,value:_,onChange:e=>d(e?o(e,f):void 0),getOptionKey:e=>o(e,f),getOptionLabel:e=>s(e,p,f),getOptionCode:m?e=>o(e,f):void 0,className:h,clearable:g})}var l;function u(){return(u=e((()=>{i(),l=r(),c.__docgenInfo={description:``,methods:[],displayName:`SerializableSelect`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: SerializableOptionValue<TOption, TOptionKey> | undefined) => void`,signature:{arguments:[{type:{name:`union`,raw:`SerializableOptionValue<TOption, TOptionKey> | undefined`,elements:[{name:`Extract`,elements:[{name:`TOption[TOptionKey]`,raw:`TOption[TOptionKey]`},{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]}],raw:`Extract<
|
|
2
2
|
TOption[TOptionKey],
|
|
3
3
|
SelectOptionKey
|
|
4
4
|
>`},{name:`undefined`}]},name:`value`}],return:{name:`void`}}},description:``},optionKey:{required:!0,tsType:{name:`TOptionKey`},description:``},optionLabel:{required:!0,tsType:{name:`TOptionLabel`},description:``},renderCode:{required:!1,tsType:{name:`literal`,value:`true`},description:``},className:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})))()}var d=t({AsyncReloadLike:()=>y,Controlled:()=>g,Disabled:()=>b,Placeholder:()=>_,WithCode:()=>v,__namedExportsOrder:()=>x,default:()=>h}),f,p,m,h,g,_,v,y,b,x;function S(){return(S=e((()=>{f=n(),u(),p=r(),m=[{id:10,name:`Продажи`,code:`SLS`,branch:`Екатеринбург`},{id:20,name:`Закупки`,code:`PRC`,branch:`Челябинск`},{id:30,name:`Логистика`,code:`LGS`,branch:`Новосибирск`},{id:40,name:`Сервис`,code:`SRV`,branch:`Москва`}],h={title:`Shared/UI/SerializableSelect`,component:c,args:{label:`Подразделение`,description:`Сериализуемая обёртка над Select для object-options и field-based конфигурации.`,placeholder:`Выберите подразделение`,options:m,optionKey:`id`,optionLabel:`name`,value:void 0,onChange:()=>{},size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Высокоуровневая обёртка над low-level Select. Принимает массив объектов, получает key и label по именам полей, а наружу возвращает только значение ключа. Нужна для сериализуемых конфигов, в том числе в src/shared/ui/controls/*.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда ключ ещё не выбран.`,control:`text`},options:{description:`Массив объектных option.`,control:!1},optionKey:{description:`Поле объекта, значение которого используется как ключ и отдаётся наружу через onChange.`,control:!1},optionLabel:{description:`Поле объекта, значение которого отображается как основной текст option.`,control:!1},renderCode:{description:`Если включено, справа от текста будет показан ключ optionKey.`,control:`boolean`},value:{description:`Текущий выбранный ключ option, а не вся option целиком.`,control:!1},onChange:{description:`Вызывается с новым значением optionKey.`,control:!1},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`}}},g={name:`Выбор по ключу`,render:e=>{let[t,n]=(0,f.useState)(20);return(0,p.jsx)(c,{...e,value:t,onChange:n})}},_={render:e=>{let[t,n]=(0,f.useState)(void 0);return(0,p.jsx)(c,{...e,value:t,onChange:n})}},v={name:`С кодом`,render:e=>{let[t,n]=(0,f.useState)(10);return(0,p.jsx)(c,{...e,value:t,onChange:n,renderCode:!0})},args:{renderCode:!0}},y={name:`Смена набора опций`,render:e=>{let[t,n]=(0,f.useState)(30),[r,i]=(0,f.useState)(!1),a=(0,f.useMemo)(()=>r?m.filter(e=>e.id!==20):m,[r]);return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:`12px`,maxWidth:`320px`},children:[(0,p.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),children:r?`Показать полный список`:`Скрыть одну опцию`}),(0,p.jsx)(c,{...e,options:a,value:t,onChange:n})]})}},b={args:{disabled:!0,value:10}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
package/storybook-static/assets/{SingleDateTimeInput-BeFLYUBF.js → SingleDateTimeInput-B7v0t9f5.js}
RENAMED
|
@@ -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 _,s as v,t as y}from"./SingleDateTimeInput.stories-FOoEMoyF.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(u,{children:`SingleDateTimeInput`}),`
|
|
3
3
|
`,(0,S.jsx)(o,{children:`Строгий сегментный ввод даты-времени и времени с popover picker`}),`
|
|
4
4
|
`,(0,S.jsxs)(t.p,{children:[(0,S.jsx)(t.code,{children:`SingleDateTimeInput`}),` объединяет два сценария:`]}),`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{c as n,l as r,n as i,t as a}from"./CalendarView-MkrPd5D-.js";import{i as o,n as s,r as c}from"./iframe-BHhbrImE.js";import{a as l,i as u}from"./utils-DUM89eIj.js";import{C as ee,b as d,y as f}from"./formatters-CVj-3Vn0-C5-BLq9O.js";import{n as p,t as m}from"./Popover-CUJF-IMC.js";import{n as h,t as g}from"./ui.module-kfCm3RIG.js";import{c as _,l as v,o as y,r as b,u as x}from"./Input-DZQKV4DP.js";import{a as S,i as C,n as w,r as T,t as E}from"./date-segments-D3HouZ37.js";import{a as D,c as te,d as ne,i as O,l as re,n as ie,o as k,r as ae,s as A,t as oe,u as j}from"./TimePanel-C39f__j8.js";var M,se;function N(){return(N=e((()=>{o(),M=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]],se=c(`clock-3`,M)})))()}function P(e){let t=[];return e.forEach((e,n)=>{e.kind===`editable`&&t.push(n)}),t}function ce({value:e,onChange:t,onClearError:n,disabled:r,minDate:i,maxDate:a,mode:o=`date-time`}){let s=(0,F.useMemo)(()=>D(o),[o]),c=(0,F.useMemo)(()=>C(s),[s]),l=(0,F.useMemo)(()=>P(c),[c]),u=(0,F.useMemo)(()=>w(e??null,c),[c,e]),[ee,d]=(0,F.useState)(null),f=e?.getTime()??null,p=(0,F.useEffectEvent)(e=>d(e));(0,F.useEffect)(()=>{p(null)},[f,o]);let m=ee??u,h=(0,F.useRef)(new Map),g=(0,F.useRef)(0),_=(0,F.useCallback)(n=>{if(E(c,n))return t(null),null;let r=S(c,n,{defaultDate:o===`time`?j(e,`time`)??O():void 0});return!r||!A(r,i,a,o)?null:(t(r),r)},[a,i,o,t,c,e]),v=(0,F.useCallback)((e,t=!0)=>{let n=h.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),y=(0,F.useCallback)(e=>{let t=l.indexOf(e);return t<l.length-1?l[t+1]:null},[l]),b=(0,F.useCallback)(e=>{let t=l.indexOf(e);return t>0?l[t-1]:null},[l]),x=(0,F.useCallback)((e,t)=>e.padStart(t.length,`0`),[]);return{segments:c,segmentValues:m,registerRef:(0,F.useCallback)(e=>t=>{if(t){h.current.set(e,t);return}h.current.delete(e)},[]),handleInput:(0,F.useCallback)(e=>t=>{if(r)return;let i=c[e];if(i.kind!==`editable`)return;let a=t.target.value.replace(/\D/g,``).slice(0,i.length),o=new Map(m);if(o.set(e,a),d(o),n?.(),a.length===i.length){let t=y(e);t!==null&&requestAnimationFrame(()=>v(t))}_(o)},[r,v,y,n,m,c,_]),handleKeyDown:(0,F.useCallback)(e=>t=>{if(r)return;let n=c[e];if(n.kind!==`editable`)return;let i=m.get(e)??``,a=t.currentTarget;switch(t.key){case`ArrowRight`:if(a.selectionStart===i.length||i===``){t.preventDefault();let n=y(e);n!==null&&v(n)}break;case`ArrowLeft`:if(a.selectionStart===0||i===``){t.preventDefault();let n=b(e);n!==null&&v(n)}break;case`ArrowUp`:{t.preventDefault();let r=i===``?n.min:Number.parseInt(i,10)+1;r>n.max&&(r=n.min);let o=new Map(m);o.set(e,x(String(r),n)),d(o),_(o),requestAnimationFrame(()=>a.select());break}case`ArrowDown`:{t.preventDefault();let r=i===``?n.max:Number.parseInt(i,10)-1;r<n.min&&(r=n.max);let o=new Map(m);o.set(e,x(String(r),n)),d(o),_(o),requestAnimationFrame(()=>a.select());break}case`Backspace`:if(i===``){t.preventDefault();let n=b(e);n!==null&&v(n)}break;case`Delete`:{t.preventDefault();let n=new Map(m);n.set(e,``),d(n),_(n);break}}},[r,v,y,b,x,m,c,_]),handleFocus:(0,F.useCallback)(()=>e=>{e.target.select()},[]),handleContainerFocus:(0,F.useCallback)(()=>{clearTimeout(g.current)},[]),handleContainerBlur:(0,F.useCallback)(()=>{let n=new Map(m);g.current=window.setTimeout(()=>{if(E(c,n)){t(null),d(n);return}let r=S(c,n,{defaultDate:o===`time`?j(e,`time`)??O():void 0});if(!r||!A(r,i,a,o)){d(null);return}d(n)},0)},[a,i,o,t,m,c,e]),focusFirstEmpty:(0,F.useCallback)(()=>{let e=l.find(e=>!(m.get(e)??``))??l[l.length-1];e!==void 0&&v(e)},[l,v,m])}}var F;function I(){return(I=e((()=>{F=t(),T(),k()})))()}var L,R,z,B,V,H,U,W,G,K,q;function J(){return(J=e((()=>{L=`AvG-mf`,R=`ig7KtT`,z=`YQHPZa`,B=`-RZe-i`,V=`Ox0SRE`,H=`gfaRup`,U=`_59kEea`,W=`Jjdu1Q`,G=`Q8Y2xS`,K=`XxZYTW`,q={segmentInput:L,separator:R,popoverContent:z,bottom:B,right:V,calendarPane:H,timePanelPane:U,timeOnlyPopoverContent:W,timePanelPaneBottom:G,timePanelPaneRight:K}})))()}function Y({value:e,onChange:t,label:r,description:i,placeholder:o,disabled:s,size:c,error:u,onClearError:f,minDate:p,maxDate:g,timePanelPlacement:_=`right`,mode:v=`date-time`}){let S=(0,X.useMemo)(()=>j(e,v),[v,e]),C=S?.getTime()??null,w=(0,X.useMemo)(()=>ee(new Date),[]),[T,E]=(0,X.useState)(!1),[D,O]=(0,X.useState)(S??null),[ie,k]=(0,X.useState)(`day`),[M,N]=(0,X.useState)(()=>ne(S,w,v)),{controlId:P,labelId:F,descriptionId:I,errorId:L,describedBy:R}=x({hasLabel:r!=null,hasDescription:!!i,hasError:!!u}),z=(0,X.useEffectEvent)(e=>O(e)),B=(0,X.useEffectEvent)(e=>N(e));(0,X.useEffect)(()=>{T||z(S??null),S&&B(S)},[S,C,T]),(0,X.useEffect)(()=>{S&&B(S)},[S,C]);let{segments:V,segmentValues:H,registerRef:U,handleInput:W,handleKeyDown:G,handleFocus:K,handleContainerFocus:J,handleContainerBlur:Y,focusFirstEmpty:Q}=ce({value:S,onChange:t,onClearError:f,disabled:s,minDate:p,maxDate:g,mode:v}),le=e=>{if(v===`time`||d(e)||s)return;let t=te(e,D??S??M),{hours:n,minutes:r}=ae(e,t.getHours(),t.getMinutes(),p,g,v),i=re(e,n,r);A(i,p,g,v)&&(f?.(),O(i),N(i))},ue=(e,t)=>{if(s)return;let n=D??S??M,r=ae(n,e,t,p,g,v),i=re(n,r.hours,r.minutes,v);A(i,p,g,v)&&(f?.(),O(i),N(i))},de=e=>{e&&(O(S??null),N(ne(S,w,v))),E(e)},fe=()=>{(S?.getTime()??null)!==(D?.getTime()??null)&&t(D)},pe=_===`right`?q.timePanelPaneRight:q.timePanelPaneBottom,me=v===`time`?`Открыть выбор времени`:`Открыть календарь даты и времени`,he=o??(v===`time`?`чч:мм`:`дд.мм.гггг чч:мм`),$=D??S??M;return(0,Z.jsxs)(m,{open:T,onOpenChange:de,children:[(0,Z.jsx)(y,{label:r,description:i,disabled:s,size:c,error:u,controlId:P,labelId:F,descriptionId:I,errorId:L,children:(0,Z.jsx)(b,{endAdornmentWidth:`var(--control-height)`,endAdornment:(0,Z.jsx)(m.Trigger,{children:(0,Z.jsx)(`div`,{className:h.uiToggleButtonContainer,children:(0,Z.jsx)(`button`,{type:`button`,disabled:s,"aria-label":me,className:h.uiToggleButton,children:v===`time`?(0,Z.jsx)(se,{}):(0,Z.jsx)(n,{})})})}),children:({controlClassName:e})=>(0,Z.jsx)(`div`,{id:P,className:l(h.uiInputControlFake,e),"data-disabled":s||void 0,"data-invalid":u?``:void 0,role:`group`,"aria-invalid":!!u||void 0,"aria-placeholder":he,"aria-labelledby":F,"aria-describedby":R,onFocus:J,onBlur:Y,onClick:e=>{e.target===e.currentTarget&&Q()},children:V.map((e,t)=>e.kind===`literal`?(0,Z.jsx)(`span`,{className:q.separator,"data-disabled":s||void 0,children:e.text},t):(0,Z.jsx)(`input`,{ref:U(t),type:`text`,inputMode:`numeric`,className:q.segmentInput,style:{width:`${e.length+.5}ch`},value:H.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:s,"aria-label":e.ariaLabel,autoComplete:`off`,onChange:W(t),onKeyDown:G(t),onFocus:K()},t))})})}),(0,Z.jsx)(m.Content,{background:`primary`,onClose:fe,children:v===`time`?(0,Z.jsx)(`div`,{className:q.timeOnlyPopoverContent,children:(0,Z.jsx)(oe,{value:$,disabled:s,minDate:p,maxDate:g,mode:v,onChange:ue})}):(0,Z.jsxs)(`div`,{className:l(q.popoverContent,q[_]),children:[(0,Z.jsx)(`div`,{className:q.calendarPane,children:(0,Z.jsx)(a,{view:ie,datePickerLevel:`day`,selectionMode:`day`,onViewChange:k,value:$,onChange:le,minDate:p,maxDate:g,currentDate:M,onCurrentDateChange:N})}),(0,Z.jsx)(`div`,{className:l(q.timePanelPane,pe),children:(0,Z.jsx)(oe,{value:$,disabled:s,minDate:p,maxDate:g,mode:v,onChange:ue})})]})})]})}var X,Z;function Q(){return(Q=e((()=>{X=t(),f(),u(),r(),N(),i(),_(),v(),p(),g(),k(),I(),J(),ie(),Z=s(),Y.__docgenInfo={description:`Поле выбора даты-времени со строгой сегментной маской и popover-пикером.`,methods:[],displayName:`SingleDateTimeInput`,props:{error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},timePanelPlacement:{required:!1,tsType:{name:`union`,raw:`"bottom" | "right"`,elements:[{name:`literal`,value:`"bottom"`},{name:`literal`,value:`"right"`}]},description:``,defaultValue:{value:`"right"`,computed:!1}},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}export{Q as n,Y as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.AvG-mf{border-radius:var(--radius-xs);font-family:var(--font-family-mono);color:inherit;text-align:center;caret-color:var(--content-0);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;margin:0;padding:0}.AvG-mf::placeholder{color:var(--content-2)}.AvG-mf::selection{background-color:var(--focus-ring);color:var(--surface-0)}.AvG-mf:disabled{opacity:.25}.ig7KtT{-webkit-user-select:none;user-select:none;color:var(--content-1);flex-shrink:0}.ig7KtT[data-disabled]{opacity:.25}.YQHPZa{gap:var(--space-md);display:grid}.-RZe-i{grid-template-columns:minmax(0,1fr)}.Ox0SRE{grid-template-columns:auto calc(9em + var(--width-add));align-items:stretch}.gfaRup,._59kEea{min-width:0}.Jjdu1Q{min-width:calc(9em + var(--width-add))}.Q8Y2xS{padding-top:var(--space-md);border-top:var(--border)}.XxZYTW{padding-left:var(--space-md);border-left:var(--border)}
|