@ryuzaki13/react-foundation-ui 1.5.6 → 1.5.8
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 +8 -8
- 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-Cfih7hjD.js → CalendarView-DO899w6E.js} +2 -2
- package/dist/chunks/{CalendarView-Cfih7hjD.js.map → CalendarView-DO899w6E.js.map} +1 -1
- package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js → TextEditorLexicalClient-C7XL4lZ5.js} +6 -6
- package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js.map → TextEditorLexicalClient-C7XL4lZ5.js.map} +1 -1
- package/dist/chunks/{badge-CbclcpUi.js → badge-BXwM9cFq.js} +2 -2
- package/dist/chunks/{badge-CbclcpUi.js.map → badge-BXwM9cFq.js.map} +1 -1
- package/dist/chunks/{base-table-X7aSSjXa.js → base-table-CFJHhLNb.js} +2 -2
- package/dist/chunks/{base-table-X7aSSjXa.js.map → base-table-CFJHhLNb.js.map} +1 -1
- package/dist/chunks/{button-BOl7hYmT.js → button-BcnvJpqz.js} +3 -3
- package/dist/chunks/{button-BOl7hYmT.js.map → button-BcnvJpqz.js.map} +1 -1
- package/dist/chunks/{check-box-6HGX_KOy.js → check-box-BrPHWs2l.js} +3 -3
- package/dist/chunks/{check-box-6HGX_KOy.js.map → check-box-BrPHWs2l.js.map} +1 -1
- package/dist/chunks/{context-menu-tcD3kVAc.js → context-menu-DcdUfWN3.js} +2 -2
- package/dist/chunks/{context-menu-tcD3kVAc.js.map → context-menu-DcdUfWN3.js.map} +1 -1
- package/dist/chunks/{date-input-Bsl9dxxY.js → date-input-Db7GPkPC.js} +5 -5
- package/dist/chunks/{date-input-Bsl9dxxY.js.map → date-input-Db7GPkPC.js.map} +1 -1
- package/dist/chunks/{input-CAw1Loze.js → input-CMVATAFR.js} +2 -2
- package/dist/chunks/{input-CAw1Loze.js.map → input-CMVATAFR.js.map} +1 -1
- package/dist/chunks/{input-files-CLtQ7p8j.js → input-files-DM6I2iF_.js} +3 -3
- package/dist/chunks/{input-files-CLtQ7p8j.js.map → input-files-DM6I2iF_.js.map} +1 -1
- package/dist/chunks/{input-search-F6MPrUGF.js → input-search-BlTKbtAL.js} +2 -2
- package/dist/chunks/{input-search-F6MPrUGF.js.map → input-search-BlTKbtAL.js.map} +1 -1
- package/dist/chunks/{modal-DPIXoMkB.js → modal-z1Ej4Y-r.js} +2 -2
- package/dist/chunks/{modal-DPIXoMkB.js.map → modal-z1Ej4Y-r.js.map} +1 -1
- package/dist/chunks/{multi-select-CZPB8H6v.js → multi-select-BMBjWg3h.js} +5 -5
- package/dist/chunks/{multi-select-CZPB8H6v.js.map → multi-select-BMBjWg3h.js.map} +1 -1
- package/dist/chunks/{picker-TYLwgl1c.js → picker-C-a-2NkB.js} +3 -3
- package/dist/chunks/{picker-TYLwgl1c.js.map → picker-C-a-2NkB.js.map} +1 -1
- package/dist/chunks/{radio-group-4j2HbemI.js → radio-group-D-eBPuGm.js} +2 -2
- package/dist/chunks/radio-group-D-eBPuGm.js.map +1 -0
- package/dist/chunks/{select-BwbljzU9.js → select-BhVOTvZ_.js} +5 -5
- package/dist/chunks/{select-BwbljzU9.js.map → select-BhVOTvZ_.js.map} +1 -1
- package/dist/chunks/{table-DihiNNJt.js → table-jMjMoYKh.js} +2 -2
- package/dist/chunks/{table-DihiNNJt.js.map → table-jMjMoYKh.js.map} +1 -1
- package/dist/chunks/{ui.module-BfaIVBba.js → ui.module-D_ZhzCRv.js} +2 -1
- package/dist/chunks/ui.module-D_ZhzCRv.js.map +1 -0
- package/dist/chunks/{uiClasses-4atXOh0J.js → uiClasses-CF_aN4Tv.js} +11 -2
- package/dist/chunks/uiClasses-CF_aN4Tv.js.map +1 -0
- package/dist/chunks/{useODataSelectBase-Bfljwe39.js → useODataSelectBase-CQJuzk5Q.js} +2 -2
- package/dist/chunks/{useODataSelectBase-Bfljwe39.js.map → useODataSelectBase-CQJuzk5Q.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-time-input/index.js +3 -3
- package/dist/development/storybook/createControlledStoryRender.d.ts +12 -0
- package/dist/development/storybook/createControlledStoryRender.d.ts.map +1 -0
- package/dist/disclosure/index.js +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/image/index.js +4 -4
- 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 +2 -2
- package/dist/listbox/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/RadioButton.d.ts +2 -0
- package/dist/radio-button/RadioButton.d.ts.map +1 -1
- package/dist/radio-button/index.js +4 -6
- package/dist/radio-button/index.js.map +1 -1
- package/dist/radio-group/index.js +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 +9 -8
- 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/tag-input/index.js +2 -2
- package/dist/text-editor/index.js +1 -1
- package/dist/textarea/index.js +2 -2
- package/dist/toggle/index.js +1 -1
- package/dist/tree-select/index.js +6 -6
- package/dist/tree-table/index.js +1 -1
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/uiClasses.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/styles/_controls.scss +4 -0
- package/src/styles/config/_index.scss +71 -46
- package/src/styles/mixins/_mixin.scss +6 -6
- package/storybook-static/assets/{Badge-BiiRjdOi.js → Badge-Khhz8aRX.js} +1 -1
- package/storybook-static/assets/Badge.stories-zOcsfaff.js +56 -0
- package/storybook-static/assets/BadgeList-DS9d6kVQ.js +4 -0
- package/storybook-static/assets/{Button-CjaNN6rV.js → Button-C38ehnnC.js} +11 -1
- package/storybook-static/assets/Button-CEXo9sAm.js +14 -0
- package/storybook-static/assets/Button.stories-1WKvAI-j.js +93 -0
- package/storybook-static/assets/{CalendarView-BMJ6hyvh.js → CalendarView-CiXyo_UG.js} +1 -1
- package/storybook-static/assets/{CheckBox-BTR1-W6r.js → CheckBox-BeowtitL.js} +2 -2
- package/storybook-static/assets/{CheckBox-PJCZFi85.js → CheckBox-sqtI5EhB.js} +1 -1
- package/storybook-static/assets/CheckBox.stories-BPX1Rg46.js +58 -0
- package/storybook-static/assets/{Color-6AOWCN3U-VUHIzkg_.js → Color-6AOWCN3U-2vHfXX4h.js} +1 -1
- package/storybook-static/assets/{ContextMenu-Bh4oHP6K.js → ContextMenu-CKqFrruL.js} +1 -1
- package/storybook-static/assets/{ContextMenu-0zHy_xbK.js → ContextMenu-Cf0aB42t.js} +1 -1
- package/storybook-static/assets/ContextMenu.stories-DUNNczmV.js +37 -0
- package/storybook-static/assets/{DateInput-kNvOe_qw.js → DateInput-CgZisi2m.js} +1 -1
- package/storybook-static/assets/{DateInput-CNO6uPbo.js → DateInput-CqLQj_F4.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-DGrl1NRg.js → DateInput.stories-Do_7epv1.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CfuLAxW0.js → DateRangePresetSelect-CQH5mwGa.js} +2 -2
- package/storybook-static/assets/{DateRangePresetSelect-DVe-KZEx.js → DateRangePresetSelect-CvYeLrV2.js} +1 -1
- package/storybook-static/assets/DateRangePresetSelect.stories-BaulSowp.js +19 -0
- package/storybook-static/assets/{Detail-DjP_T3Yg.js → Detail-C5pT_ihu.js} +1 -1
- package/storybook-static/assets/Detail.stories-CYeU4gW0.js +56 -0
- package/storybook-static/assets/{Dialog-PPguLwie.js → Dialog-CyfPnLNU.js} +1 -1
- package/storybook-static/assets/{Dialog-BbfwcIzl.js → Dialog-JpGOo8UM.js} +1 -1
- package/storybook-static/assets/Dialog.stories-DDgSBPse.js +22 -0
- package/storybook-static/assets/{Disclosure-DfjeNfkn.js → Disclosure-CoRV3SKI.js} +1 -1
- package/storybook-static/assets/Disclosure.stories-ShTbXMfl.js +23 -0
- package/storybook-static/assets/{DisclosureGroup-C4o0IITt.js → DisclosureGroup-DFZxdYAc.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-BiMFt7_A.js → DocsRenderer-JROSPFPF-C6cvpWLp.js} +1 -1
- package/storybook-static/assets/{DropZone-C3oRa6sQ.js → DropZone-BMM9Wzo2.js} +1 -1
- package/storybook-static/assets/{DropZone-Cw3X-9Xt.js → DropZone-aGbl_hY6.js} +1 -1
- package/storybook-static/assets/DropZone.stories-B19OUO0s.js +26 -0
- package/storybook-static/assets/{DropdownMenu-CPj2r3k-.js → DropdownMenu-Cg0W3h8L.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-DAzBwv3l.js → ExpandableActionPanel-BzBrYqC5.js} +1 -1
- package/storybook-static/assets/ExpandableActionPanel.stories-DCNEDnZa.js +9 -0
- package/storybook-static/assets/{Flex-Rsf5s2Qh.js → Flex-MkfwQVIc.js} +1 -1
- package/storybook-static/assets/{Flex.stories-C4LjuUoy.js → Flex.stories-BlM3OY3o.js} +12 -12
- package/storybook-static/assets/{FloatingPopover-QXZeXRkJ.js → FloatingPopover-D6CCSTdu.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-YhiJaAK4.js → FormattedTableCell-G7nk8gAQ.js} +1 -1
- package/storybook-static/assets/{Grid-BnEITS4J.js → Grid-DfaPblMb.js} +1 -1
- package/storybook-static/assets/{Grid.stories-CpCGadoX.js → Grid.stories-DDikKF9r.js} +15 -15
- package/storybook-static/assets/{ImageCropper.stories-CQZ6x_Ob.js → ImageCropper.stories-CXPVp9Vp.js} +23 -7
- package/storybook-static/assets/{ImageRenderer-CQSICbwz.js → ImageRenderer-BGvZWBqv.js} +1 -1
- package/storybook-static/assets/ImageRenderer.stories-DISqcLr0.js +34 -0
- package/storybook-static/assets/ImageView.stories-2slK-d-x.js +14 -0
- package/storybook-static/assets/{ImageViewer.stories-B2zHeVgq.js → ImageViewer.stories-Xq_D5QUi.js} +30 -12
- package/storybook-static/assets/{ImageViewerRuntime-CQBT2XUj.js → ImageViewerRuntime-DMqh4wGq.js} +1 -1
- package/storybook-static/assets/{Input-C2Lss7is.js → Input-B9ykEI3i.js} +1 -1
- package/storybook-static/assets/{Input-D7iiHnIH.js → Input-QDdDpHSi.js} +1 -1
- package/storybook-static/assets/Input.stories-B0ij_iCD.js +52 -0
- package/storybook-static/assets/{InputDateTime-DM3BFpr1.js → InputDateTime-BLCtKukj.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-DYonovnC.js → InputDateTime.stories-mKKGsKaq.js} +23 -20
- package/storybook-static/assets/{InputFile-G-H8FqNn.js → InputFile-CHhD9bDB.js} +1 -1
- package/storybook-static/assets/{InputFile-BSVH6QKl.js → InputFile-uAmsP7LG.js} +1 -1
- package/storybook-static/assets/InputFile.stories-CK-ACsW2.js +27 -0
- package/storybook-static/assets/{InputFiles-CA7eAjuN.js → InputFiles-CDgBA7Tt.js} +1 -1
- package/storybook-static/assets/{InputFiles-DnYodbhi.js → InputFiles-DABWDqXi.js} +1 -1
- package/storybook-static/assets/InputFiles.stories-Dihf3LA3.js +26 -0
- package/storybook-static/assets/{InputFilesList-BhOSPaGs.js → InputFilesList-CCkGwmuk.js} +1 -1
- package/storybook-static/assets/{InputImage-BPmp_DbZ.js → InputImage-B-yYeHyx.js} +1 -1
- package/storybook-static/assets/{InputImage-BwWAi8ze.js → InputImage-CL1d5Pan.js} +1 -1
- package/storybook-static/assets/InputImage.stories-CJSA6DVX.js +56 -0
- package/storybook-static/assets/InteractiveComponents-BbTcKx2O.js +87 -0
- package/storybook-static/assets/InteractiveComponents.stories-91dvlxQf.js +472 -0
- package/storybook-static/assets/{LayoutPicker-DrQx5OwE.js → LayoutPicker-Bghy4k1z.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-Bz8Vo6L7.js → LayoutPicker-CXDkkJp2.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-CBqPwt3h.js → LayoutPicker.stories-DW9dESrS.js} +1 -1
- package/storybook-static/assets/{Listbox-BbSsDx2u.js → Listbox--cQWgUmD.js} +1 -1
- package/storybook-static/assets/{Listbox-B7Z7L_t3.js → Listbox-CLvPiIfl.js} +1 -1
- package/storybook-static/assets/Listbox.stories-Df-qKPoO.js +68 -0
- package/storybook-static/assets/{Modal-Cob4DPKq.js → Modal-q_SY4zcu.js} +1 -1
- package/storybook-static/assets/Modal.stories-uOYpbXVv.js +232 -0
- package/storybook-static/assets/{ModalManagerProvider-DPGYpfId.js → ModalManagerProvider-DRweDYkZ.js} +1 -1
- package/storybook-static/assets/{MultiSelect-BgMw4DIC.js → MultiSelect-B2hs_VJT.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DKv6Qe08.js → MultiSelect-C7oSCFYc.js} +1 -1
- package/storybook-static/assets/MultiSelect.stories-CmXVD8NV.js +55 -0
- package/storybook-static/assets/{NoData-B33Cn4pA.js → NoData-CYykp6nm.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-DDcfMtWv.js → NotificationsHost-6EGDcdXc.js} +1 -1
- package/storybook-static/assets/NotificationsHost.stories-DYlOKW3z.js +29 -0
- package/storybook-static/assets/{ODataMultiSelect-CT4h5T5J.js → ODataMultiSelect-D3lAz52M.js} +1 -1
- package/storybook-static/assets/ODataMultiSelect.stories-Do349Woi.js +137 -0
- package/storybook-static/assets/{ODataSelect-_FeWsMNO.js → ODataSelect-BmLCt-Et.js} +1 -1
- package/storybook-static/assets/ODataSelect.stories-CBE4FRU1.js +207 -0
- package/storybook-static/assets/{ODataTreeMultiSelect-Lfa06t8R.js → ODataTreeMultiSelect-DPRC8mC_.js} +1 -1
- package/storybook-static/assets/ODataTreeMultiSelect.stories-B04PXBI1.js +78 -0
- package/storybook-static/assets/{ODataTreeSelect-CoVG8YGb.js → ODataTreeSelect-D_JM7RgM.js} +1 -1
- package/storybook-static/assets/ODataTreeSelect.stories-Cg5g1jKK.js +55 -0
- package/storybook-static/assets/{OneStepScroller-Ba810Z0K.js → OneStepScroller-BFpPuaB_.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-U8W5a0AG.js → PeriodSelect-BcOUZrRT.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-p_hunoMx.js → PeriodSelect-DEMta98q.js} +1 -1
- package/storybook-static/assets/PeriodSelect.stories-Y9ouTAuy.js +50 -0
- package/storybook-static/assets/{PickerSelectionToolbar-BQvUp2gy.js → PickerSelectionToolbar-Bv-nSj0d.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-Bn7w0HQj.js → PickerTriggerActions-CQDEvDc_.js} +1 -1
- package/storybook-static/assets/{Popover-D5X_VDjs.js → Popover-CWLOyKnP.js} +1 -1
- package/storybook-static/assets/{Popover-CAmdlvk7.js → Popover-DB3qAxXW.js} +1 -1
- package/storybook-static/assets/Popover.stories-D5sWLE6b.js +47 -0
- package/storybook-static/assets/PresetRangeDateInput-59Tam-1W.js +1 -0
- package/storybook-static/assets/{PresetRangeDateInput-D_uUOybG.js → PresetRangeDateInput-CtvsU8Ml.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-CUwrsRrL.js +3 -0
- package/storybook-static/assets/{PresetSelect-ClINdcBe.js → PresetSelect-BAYEJ8CM.js} +1 -1
- package/storybook-static/assets/RadioButton-CM7QJhfw.js +1 -0
- package/storybook-static/assets/{RadioButton-CTQ3NULx.js → RadioButton-zpobcF9e.js} +1 -1
- package/storybook-static/assets/RadioButton.stories-CzL_GQa2.js +32 -0
- package/storybook-static/assets/{RadioGroup-ByD3Q99Y.js → RadioGroup-BApqIRxt.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Bi6nDRg3.js → RadioGroup-CRQsZ0qT.js} +1 -1
- package/storybook-static/assets/{RadioGroup-DzkFQ83G.css → RadioGroup-vkD0hI_b.css} +1 -1
- package/storybook-static/assets/RadioGroup.stories-CxrEMC1U.js +17 -0
- package/storybook-static/assets/{Scrollable-BX1lUjOe.js → Scrollable-8LS79J5A.js} +1 -1
- package/storybook-static/assets/{Select-BIdQZ63S.js → Select-Dgz6O4XI.js} +1 -1
- package/storybook-static/assets/{Select-DZI40eOj.js → Select-DnKAwahR.js} +1 -1
- package/storybook-static/assets/Select.stories-BVue1oEG.js +69 -0
- package/storybook-static/assets/{SelectOptionContent-BBkx-6Ex.js → SelectOptionContent-B0aIuszF.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-D8xPL7XQ.js → SerializableSelect-DdKvEcMl.js} +1 -1
- package/storybook-static/assets/SerializableSelect.stories-C9HykJIM.js +73 -0
- package/storybook-static/assets/{SingleDateTimeInput-DfsGAFoU.js → SingleDateTimeInput-5BdPENRL.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-CTvNbcZ6.js → SingleDateTimeInput-BJurOfWH.js} +1 -1
- package/storybook-static/assets/SingleDateTimeInput.stories-CbCzAEH_.js +48 -0
- package/storybook-static/assets/{Slider-DjX_Irjn.js → Slider-B7fBYWsh.js} +1 -1
- package/storybook-static/assets/{Slider-DLtF6vGD.js → Slider-Su14u999.js} +1 -1
- package/storybook-static/assets/Slider-bVVL6_Jz.css +1 -0
- package/storybook-static/assets/Slider.stories-oq8MwiOM.js +80 -0
- package/storybook-static/assets/{SliderInput-UCsxAR-B.js → SliderInput-C6vA0nX0.js} +1 -1
- package/storybook-static/assets/{SliderInput-BqvH8eHy.js → SliderInput-DC3rLw1R.js} +1 -1
- package/storybook-static/assets/SliderInput.stories-oSDfsTGl.js +92 -0
- package/storybook-static/assets/{Sortable-CNtgLPiY.js → Sortable-D2S4Ntya.js} +1 -1
- package/storybook-static/assets/Sortable.stories-B1VPCY57.js +77 -0
- package/storybook-static/assets/{Splitter-PsRXvIfb.js → Splitter-BOCZma_W.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CNpgsRiE.js → Splitter.stories-Be1FdaCX.js} +26 -9
- package/storybook-static/assets/{StateSelect-_vJdEQd4.js → StateSelect-D397PXHf.js} +1 -1
- package/storybook-static/assets/{StateSelect-BxRXr-2U.js → StateSelect-a1GpBbb9.js} +1 -1
- package/storybook-static/assets/StateSelect.stories-uqTINtV1.js +59 -0
- package/storybook-static/assets/StringToggle.stories-VNfJpKp9.js +5 -0
- package/storybook-static/assets/{Switch-B_3CFRDw.js → Switch-5BXuXQib.js} +1 -1
- package/storybook-static/assets/{Switch-CZpcIIzj.js → Switch-DJnZsi7c.js} +1 -1
- package/storybook-static/assets/Switch.stories-qmAfTk2T.js +15 -0
- package/storybook-static/assets/{Table-ozF5MS3q.js → Table-DwAfFwxJ.js} +1 -1
- package/storybook-static/assets/Table.stories-BIfxC452.js +207 -0
- package/storybook-static/assets/{Tabs-Dr4gaN0z.js → Tabs-CFLwas2t.js} +1 -1
- package/storybook-static/assets/Tabs.stories-BDpQCjIJ.js +87 -0
- package/storybook-static/assets/{TabsBox-6G7F_Vo9.js → TabsBox-B-Qi_Ddz.js} +1 -1
- package/storybook-static/assets/{TagInput-CIsnKs98.js → TagInput-o8pKGmii.js} +1 -1
- package/storybook-static/assets/TagInput.stories-VMOT59Cx.js +18 -0
- package/storybook-static/assets/{Text-DEUhj_FL.js → Text-DGP30761.js} +1 -1
- package/storybook-static/assets/{Textarea-BoLolqIc.js → Textarea-BAmJ8_Mc.js} +1 -1
- package/storybook-static/assets/{Textarea-Cv8Iiqm7.js → Textarea-ZKT4EZNo.js} +1 -1
- package/storybook-static/assets/Textarea.stories-C2UVl6PS.js +17 -0
- package/storybook-static/assets/{TimePanel-DbWoLCxS.js → TimePanel-BrhU0p24.js} +1 -1
- package/storybook-static/assets/TimePanel.stories-ngyJXj5J.js +14 -0
- package/storybook-static/assets/{Toggle-BAhzEihH.js → Toggle-CBNpSWHj.js} +1 -1
- package/storybook-static/assets/{Toggle-DN84PUdA.js → Toggle-wlk2S-OZ.js} +1 -1
- package/storybook-static/assets/Toggle.stories-B98YrV_V.js +25 -0
- package/storybook-static/assets/{TreeMultiSelect-C1iVfpMl.js → TreeMultiSelect-C-9k48kJ.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-BTe_-dq5.js → TreeMultiSelect-Dtl4PCmy.js} +1 -1
- package/storybook-static/assets/TreeMultiSelect.stories-CWlzx-1-.js +60 -0
- package/storybook-static/assets/{TreePickerBase-DayQwVwR.js → TreePickerBase-DypAOfjj.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CJV0O91H.js → TreeSelect-D5ihwfVT.js} +1 -1
- package/storybook-static/assets/{TreeSelect-D6L3D0h4.js → TreeSelect-DG-iC3OT.js} +1 -1
- package/storybook-static/assets/TreeSelect.stories-C4y-1eM0.js +40 -0
- package/storybook-static/assets/{TreeTable-fbVtFU3l.js → TreeTable-EtrL23Tv.js} +1 -1
- package/storybook-static/assets/TreeTable.stories-DlZcGmtJ.js +168 -0
- package/storybook-static/assets/{async-D6nAWhc1.js → async-BbFzTdhE.js} +1 -1
- package/storybook-static/assets/{blocks-DCcg3Usb.js → blocks-Dk_BOKmc.js} +3 -3
- package/storybook-static/assets/{browserAndReact-CcRiDbNd.js → browserAndReact-BjzCiDcb.js} +1 -1
- package/storybook-static/assets/{check-CmUKUPJO.js → check-DSM_9_9i.js} +1 -1
- package/storybook-static/assets/{chevron-down-BDWEK49G.js → chevron-down-Bp7g9jaN.js} +1 -1
- package/storybook-static/assets/{chevron-left-CGk7Zpej.js → chevron-left-D0R6zNbT.js} +1 -1
- package/storybook-static/assets/{chevron-right-CT64vlCm.js → chevron-right-D4cu1_Hh.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-CxBe5sB2.js → chunk-W22LQPXL-ClDnVv2Q.js} +1 -1
- package/storybook-static/assets/{circle-alert-POx9wimX.js → circle-alert-BPggadk6.js} +1 -1
- package/storybook-static/assets/{circle-check-BlI17qP5.js → circle-check-BU1QAh8V.js} +1 -1
- package/storybook-static/assets/{components-D__s8Hie.js → components-B_jGKru2.js} +3 -3
- package/storybook-static/assets/{contextMenu-DK_TntWE.js → contextMenu-Bf6YK0UH.js} +1 -1
- package/storybook-static/assets/createControlledStoryRender-DHsyXc1B.js +1 -0
- package/storybook-static/assets/{defaultRenderers-DBXPZtpT.js → defaultRenderers-DjL-8uS1.js} +1 -1
- package/storybook-static/assets/{download-RGyJzMcA.js → download-QNniF4SQ.js} +1 -1
- package/storybook-static/assets/{filesAndExcel-DcPYf9n5.js → filesAndExcel-BYbWfuEG.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-CMX7peH7.js → floating-ui.react-_mbG5dEq.js} +1 -1
- package/storybook-static/assets/{formatters-BwvzqJ-Y.js → formatters-CSUSbuYT.js} +1 -1
- package/storybook-static/assets/{formatters-runtime-DrmDzmeG.js → formatters-runtime-CJK7YO_m.js} +1 -1
- package/storybook-static/assets/{foundationLib-x4242gln.js → foundationLib-DYspa9hU.js} +1 -1
- package/storybook-static/assets/{hooks-FBRSoUmb.js → hooks-BKgQ004K.js} +1 -1
- package/storybook-static/assets/iframe-DrFZbzJ3.js +1 -0
- package/storybook-static/assets/{iframe-DBSrNt2a.js → iframe-DuAeRvx6.js} +4 -4
- package/storybook-static/assets/{iframe-wwpu8YXD.css → iframe-_EkhDToa.css} +1 -1
- package/storybook-static/assets/{info-Wi50bdLM.js → info-XhLhSnbk.js} +1 -1
- package/storybook-static/assets/{odata-BBTqO7nX.js → odata-kmwYINrm.js} +1 -1
- package/storybook-static/assets/{odataAndTables-DEn1lG-3.js → odataAndTables-D1zT50BB.js} +1 -1
- package/storybook-static/assets/{odataFetchFn-BT59Jmrl.js → odataFetchFn-0PlOYGor.js} +1 -1
- package/storybook-static/assets/odataStoryFixtures-BhAHMCLD.js +25 -0
- package/storybook-static/assets/{persisted-CZnECRrd.js → persisted-BYm1AJlK.js} +1 -1
- package/storybook-static/assets/{pureUtilities-BIPiVbpd.js → pureUtilities-CRz8PgNh.js} +1 -1
- package/storybook-static/assets/{react-vWCcOuxm.js → react-B37IqpVm.js} +1 -1
- package/storybook-static/assets/{refresh-cw-CnbDJa0D.js → refresh-cw-Bcya9hPG.js} +1 -1
- package/storybook-static/assets/{runtimeAndState-BqhoW8HS.js → runtimeAndState-Difqhsa_.js} +1 -1
- package/storybook-static/assets/{settings-2-CtlfzeoJ.js → settings-2-C2bGc7dw.js} +1 -1
- package/storybook-static/assets/{sortable-MoyiSprv.js → sortable-CvctSETP.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-CLTW-on9.js → syntaxhighlighter-T5IQBZDB-CK4b0ttG.js} +1 -1
- package/storybook-static/assets/{trash-2-D4ETgmHQ.js → trash-2-34MyPhKO.js} +1 -1
- package/storybook-static/assets/{triangle-alert-BhoF9j4U.js → triangle-alert-m0XHePwA.js} +1 -1
- package/storybook-static/assets/ui-nZtwyXyS.css +1 -0
- package/storybook-static/assets/ui.module-DjxH5szp.js +1 -0
- package/storybook-static/assets/uiClasses-CjI3jv6I.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-oxkyJY_R.js → useODataSelectBase-DBkT6Oh-.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-B2phJvDl.js → useODataTreeData-Cj_M219Q.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-BN54SBQ9.js → usePickerQuery-DNrvDy8E.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-6XAF3prJ.js → usePickerTriggerController-BCnKK5xY.js} +1 -1
- package/storybook-static/assets/{x-CdBCVC44.js → x-BXPCGZYS.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/radio-group-4j2HbemI.js.map +0 -1
- package/dist/chunks/ui.module-BfaIVBba.js.map +0 -1
- package/dist/chunks/uiClasses-4atXOh0J.js.map +0 -1
- package/storybook-static/assets/Badge.stories-lSXnbNqy.js +0 -54
- package/storybook-static/assets/Button-DMlznmSQ.js +0 -12
- package/storybook-static/assets/Button.stories-BYtMxH0y.js +0 -75
- package/storybook-static/assets/CheckBox.stories-COqnnc3-.js +0 -60
- package/storybook-static/assets/ContextMenu.stories-NMukUvNY.js +0 -90
- package/storybook-static/assets/DateRangePresetSelect.stories-28swhHV5.js +0 -11
- package/storybook-static/assets/Detail.stories-CUigXvmv.js +0 -44
- package/storybook-static/assets/Dialog.stories-CDKvce2w.js +0 -31
- package/storybook-static/assets/Disclosure.stories-Dz3sSy2W.js +0 -40
- package/storybook-static/assets/DropZone.stories-LfxThH0b.js +0 -36
- package/storybook-static/assets/ExpandableActionPanel.stories-CJwc_cQU.js +0 -19
- package/storybook-static/assets/ImageRenderer.stories-CGFEpwg9.js +0 -22
- package/storybook-static/assets/ImageView.stories-Cu4_LfLg.js +0 -9
- package/storybook-static/assets/Input.stories-BWwVCwT-.js +0 -38
- package/storybook-static/assets/InputFile.stories-CN-yFeRD.js +0 -36
- package/storybook-static/assets/InputFiles.stories--iCRqdJV.js +0 -33
- package/storybook-static/assets/InputImage.stories-_XP04DfA.js +0 -45
- package/storybook-static/assets/InteractiveComponents.stories-CLEBQnZj.js +0 -303
- package/storybook-static/assets/Listbox.stories-BeFIh3J1.js +0 -53
- package/storybook-static/assets/Modal.stories-DYsHSBH7.js +0 -180
- package/storybook-static/assets/MultiSelect.stories-BdRVZGqL.js +0 -29
- package/storybook-static/assets/NotificationsHost.stories-sQMqBW2S.js +0 -25
- package/storybook-static/assets/ODataMultiSelect.stories-D7bd1KpX.js +0 -73
- package/storybook-static/assets/ODataSelect.stories-D9x-rhIV.js +0 -73
- package/storybook-static/assets/ODataTreeMultiSelect.stories-BZwup1O6.js +0 -30
- package/storybook-static/assets/ODataTreeSelect.stories-CFEOk1B4.js +0 -24
- package/storybook-static/assets/PeriodSelect.stories-iXos1Qm2.js +0 -60
- package/storybook-static/assets/Popover.stories-4L2FVe7h.js +0 -69
- package/storybook-static/assets/PresetRangeDateInput-BSoQmjSq.js +0 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-fPfgo6Ou.js +0 -15
- package/storybook-static/assets/RadioButton-sTaoMULx.js +0 -2
- package/storybook-static/assets/RadioButton.stories-QM_hXT2F.js +0 -35
- package/storybook-static/assets/RadioGroup.stories-Msf4GGu2.js +0 -42
- package/storybook-static/assets/Select.stories-DYH2fWV8.js +0 -46
- package/storybook-static/assets/SerializableSelect.stories-BWHyUHbr.js +0 -46
- package/storybook-static/assets/SingleDateTimeInput.stories-CoRPRZ4N.js +0 -78
- package/storybook-static/assets/Slider-BWuie2gr.css +0 -1
- package/storybook-static/assets/Slider.stories-fWpiVW0P.js +0 -77
- package/storybook-static/assets/SliderInput.stories-hTeZ6jCT.js +0 -67
- package/storybook-static/assets/Sortable.stories-DaJFxCXl.js +0 -141
- package/storybook-static/assets/StateSelect.stories-Drn802U8.js +0 -44
- package/storybook-static/assets/StringToggle.stories-D7jGapnI.js +0 -6
- package/storybook-static/assets/Switch.stories-7stb2lKH.js +0 -26
- package/storybook-static/assets/Table.stories-BiQiy3QV.js +0 -122
- package/storybook-static/assets/Tabs.stories-Kz9Mnt73.js +0 -57
- package/storybook-static/assets/TagInput.stories-Cbk6A71f.js +0 -12
- package/storybook-static/assets/Textarea.stories-D8wfZGw3.js +0 -27
- package/storybook-static/assets/TimePanel.stories-BX3XAzvM.js +0 -25
- package/storybook-static/assets/Toggle.stories-DF-aBY0T.js +0 -30
- package/storybook-static/assets/TreeMultiSelect.stories-DobJG0cZ.js +0 -35
- package/storybook-static/assets/TreeSelect.stories-s3-wydcP.js +0 -18
- package/storybook-static/assets/TreeTable.stories-WSlQn2jk.js +0 -83
- package/storybook-static/assets/iframe-xDaji_wj.js +0 -1
- package/storybook-static/assets/odataStoryFixtures-CYqFNpE_.js +0 -25
- package/storybook-static/assets/ui-4LkYZ0Er.css +0 -1
- package/storybook-static/assets/ui.module-CHEKb9Cb.js +0 -1
- package/storybook-static/assets/uiClasses-Bme9Qqv6.js +0 -1
- /package/storybook-static/assets/{Badge-CD5894x5.css → BadgeList-CD5894x5.css} +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
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-DuAeRvx6.js";import{n as i,t as a}from"./Select-DnKAwahR.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
|
+
TOption[TOptionKey],
|
|
3
|
+
SelectOptionKey
|
|
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:()=>S,Controlled:()=>y,Disabled:()=>C,Placeholder:()=>b,WithCode:()=>x,__namedExportsOrder:()=>w,default:()=>v}),f,p,m,h,g,_,v,y,b,x,S,C,w;function T(){return(T=e((()=>{f=n(),u(),p=r(),{useArgs:m,useState:h}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:g}=__STORYBOOK_MODULE_TEST__,_=[{id:10,name:`Продажи`,code:`SLS`,branch:`Екатеринбург`},{id:20,name:`Закупки`,code:`PRC`,branch:`Челябинск`},{id:30,name:`Логистика`,code:`LGS`,branch:`Новосибирск`},{id:40,name:`Сервис`,code:`SRV`,branch:`Москва`}],v={title:`Shared/UI/SerializableSelect`,component:c,args:{label:`Подразделение`,description:`Сериализуемая обёртка над Select для object-options и field-based конфигурации.`,placeholder:`Выберите подразделение`,options:_,optionKey:`id`,optionLabel:`name`,value:void 0,onChange:g(),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`},clearable:{description:`Показывает действие очистки выбранного ключа.`,control:`boolean`}}},y={name:`Выбор по ключу`,render:function(e){let[,t]=m();return(0,p.jsx)(c,{...e,value:e.value??20,onChange:n=>{e.onChange(n),t({value:n})}})},args:{value:20}},b={render:function(e){let[,t]=m();return(0,p.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n})}})}},x={name:`С кодом`,render:function(e){let[,t]=m();return(0,p.jsx)(c,{...e,value:e.value??10,renderCode:!0,onChange:n=>{e.onChange(n),t({value:n})}})},args:{value:10,renderCode:!0}},S={name:`Смена набора опций`,render:function(e){let[,t]=m(),[n,r]=h(!1),i=(0,f.useMemo)(()=>n?_.filter(e=>e.id!==20):_,[n]);return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:`12px`,maxWidth:`320px`},children:[(0,p.jsx)(`button`,{type:`button`,onClick:()=>r(e=>!e),children:n?`Показать полный список`:`Скрыть одну опцию`}),(0,p.jsx)(c,{...e,options:i,value:e.value??30,onChange:n=>{e.onChange(n),t({value:n})}})]})},args:{value:30}},C={args:{disabled:!0,value:10}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
|
|
5
|
+
name: "Выбор по ключу",
|
|
6
|
+
render: function Render(args) {
|
|
7
|
+
const [, updateArgs] = useArgs<SerializableSelectProps<DepartmentOption, "id", "name">>();
|
|
8
|
+
return <SerializableSelect {...args} value={args.value ?? 20} onChange={value => {
|
|
9
|
+
args.onChange(value);
|
|
10
|
+
updateArgs({
|
|
11
|
+
value
|
|
12
|
+
});
|
|
13
|
+
}} />;
|
|
14
|
+
},
|
|
15
|
+
args: {
|
|
16
|
+
value: 20
|
|
17
|
+
}
|
|
18
|
+
}`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
|
|
19
|
+
render: function Render(args) {
|
|
20
|
+
const [, updateArgs] = useArgs<SerializableSelectProps<DepartmentOption, "id", "name">>();
|
|
21
|
+
return <SerializableSelect {...args} onChange={value => {
|
|
22
|
+
args.onChange(value);
|
|
23
|
+
updateArgs({
|
|
24
|
+
value
|
|
25
|
+
});
|
|
26
|
+
}} />;
|
|
27
|
+
}
|
|
28
|
+
}`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
29
|
+
name: "С кодом",
|
|
30
|
+
render: function Render(args) {
|
|
31
|
+
const [, updateArgs] = useArgs<SerializableSelectProps<DepartmentOption, "id", "name">>();
|
|
32
|
+
return <SerializableSelect {...args} value={args.value ?? 10} renderCode onChange={value => {
|
|
33
|
+
args.onChange(value);
|
|
34
|
+
updateArgs({
|
|
35
|
+
value
|
|
36
|
+
});
|
|
37
|
+
}} />;
|
|
38
|
+
},
|
|
39
|
+
args: {
|
|
40
|
+
value: 10,
|
|
41
|
+
renderCode: true
|
|
42
|
+
}
|
|
43
|
+
}`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
44
|
+
name: "Смена набора опций",
|
|
45
|
+
render: function Render(args) {
|
|
46
|
+
const [, updateArgs] = useArgs<SerializableSelectProps<DepartmentOption, "id", "name">>();
|
|
47
|
+
const [showShortList, setShowShortList] = useStorybookState(false);
|
|
48
|
+
const options = useMemo(() => showShortList ? departmentOptions.filter(option => option.id !== 20) : departmentOptions, [showShortList]);
|
|
49
|
+
return <div style={{
|
|
50
|
+
display: "grid",
|
|
51
|
+
gap: "12px",
|
|
52
|
+
maxWidth: "320px"
|
|
53
|
+
}}>
|
|
54
|
+
<button type="button" onClick={() => setShowShortList(current => !current)}>
|
|
55
|
+
{showShortList ? "Показать полный список" : "Скрыть одну опцию"}
|
|
56
|
+
</button>
|
|
57
|
+
<SerializableSelect {...args} options={options} value={args.value ?? 30} onChange={value => {
|
|
58
|
+
args.onChange(value);
|
|
59
|
+
updateArgs({
|
|
60
|
+
value
|
|
61
|
+
});
|
|
62
|
+
}} />
|
|
63
|
+
</div>;
|
|
64
|
+
},
|
|
65
|
+
args: {
|
|
66
|
+
value: 30
|
|
67
|
+
}
|
|
68
|
+
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
69
|
+
args: {
|
|
70
|
+
disabled: true,
|
|
71
|
+
value: 10
|
|
72
|
+
}
|
|
73
|
+
}`,...C.parameters?.docs?.source}}},w=[`Controlled`,`Placeholder`,`WithCode`,`AsyncReloadLike`,`Disabled`]})))()}export{d as a,b as i,y as n,x as o,C as r,T as s,S as t};
|
package/storybook-static/assets/{SingleDateTimeInput-DfsGAFoU.js → SingleDateTimeInput-5BdPENRL.js}
RENAMED
|
@@ -1 +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-
|
|
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-CiXyo_UG.js";import{i as o,n as s,r as c}from"./iframe-DuAeRvx6.js";import{a as l,i as u}from"./utils-DUM89eIj.js";import{C as d,b as f,y as p}from"./formatters-CVj-3Vn0-BFaHJqZL.js";import{n as m,t as h}from"./Popover-DB3qAxXW.js";import{n as g,t as _}from"./ui.module-DjxH5szp.js";import{c as v,l as y,o as b,r as x,u as S}from"./Input-B9ykEI3i.js";import{a as C,i as w,n as ee,r as te,t as T}from"./date-segments-D3HouZ37.js";import{a as E,c as ne,d as re,i as D,l as ie,n as ae,o as O,r as oe,s as k,t as A,u as j}from"./TimePanel-BrhU0p24.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)(()=>E(o),[o]),c=(0,F.useMemo)(()=>w(s),[s]),l=(0,F.useMemo)(()=>P(c),[c]),u=(0,F.useMemo)(()=>ee(e??null,c),[c,e]),d=e?.getTime()??null,[f,p]=(0,F.useState)(null),m=(f?.sourceValueTime===d&&f.sourceMode===o?f.values:null)??u,h=(0,F.useRef)(new Map),g=(0,F.useRef)(0),_=(0,F.useCallback)(e=>{p(e===null?null:{sourceValueTime:d,sourceMode:o,values:e})},[d,o]),v=(0,F.useCallback)(n=>{if(T(c,n))return t(null),null;let r=C(c,n,{defaultDate:o===`time`?j(e,`time`)??D():void 0});return!r||!k(r,i,a,o)?null:(t(r),r)},[a,i,o,t,c,e]),y=(0,F.useCallback)((e,t=!0)=>{let n=h.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),b=(0,F.useCallback)(e=>{let t=l.indexOf(e);return t<l.length-1?l[t+1]:null},[l]),x=(0,F.useCallback)(e=>{let t=l.indexOf(e);return t>0?l[t-1]:null},[l]),S=(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),_(o),n?.(),a.length===i.length){let t=b(e);t!==null&&requestAnimationFrame(()=>y(t))}v(o)},[r,y,b,n,m,c,_,v]),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=b(e);n!==null&&y(n)}break;case`ArrowLeft`:if(a.selectionStart===0||i===``){t.preventDefault();let n=x(e);n!==null&&y(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,S(String(r),n)),_(o),v(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,S(String(r),n)),_(o),v(o),requestAnimationFrame(()=>a.select());break}case`Backspace`:if(i===``){t.preventDefault();let n=x(e);n!==null&&y(n)}break;case`Delete`:{t.preventDefault();let n=new Map(m);n.set(e,``),_(n),v(n);break}}},[r,y,b,x,S,m,c,_,v]),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(T(c,n)){t(null),_(n);return}let r=C(c,n,{defaultDate:o===`time`?j(e,`time`)??D():void 0});if(!r||!k(r,i,a,o)){_(null);return}_(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&&y(e)},[l,y,m])}}var F;function I(){return(I=e((()=>{F=t(),te(),O()})))()}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:p,minDate:m,maxDate:_,timePanelPlacement:v=`right`,mode:y=`date-time`}){let C=(0,X.useMemo)(()=>j(e,y),[y,e]),w=(0,X.useMemo)(()=>d(new Date),[]),[ee,te]=(0,X.useState)(!1),[T,E]=(0,X.useState)(C??null),[D,ae]=(0,X.useState)(`day`),[O,M]=(0,X.useState)(()=>re(C,w,y)),{controlId:N,labelId:P,descriptionId:F,errorId:I,describedBy:L}=S({hasLabel:r!=null,hasDescription:!!i,hasError:!!u}),{segments:R,segmentValues:z,registerRef:B,handleInput:V,handleKeyDown:H,handleFocus:U,handleContainerFocus:W,handleContainerBlur:G,focusFirstEmpty:K}=ce({value:C,onChange:t,onClearError:p,disabled:s,minDate:m,maxDate:_,mode:y}),J=e=>{if(y===`time`||f(e)||s)return;let t=ne(e,T??C??O),{hours:n,minutes:r}=oe(e,t.getHours(),t.getMinutes(),m,_,y),i=ie(e,n,r);k(i,m,_,y)&&(p?.(),E(i),M(i))},Y=(e,t)=>{if(s)return;let n=T??C??O,r=oe(n,e,t,m,_,y),i=ie(n,r.hours,r.minutes,y);k(i,m,_,y)&&(p?.(),E(i),M(i))},Q=e=>{e&&(E(C??null),M(re(C,w,y))),te(e)},le=()=>{(C?.getTime()??null)!==(T?.getTime()??null)&&t(T)},ue=v===`right`?q.timePanelPaneRight:q.timePanelPaneBottom,de=y===`time`?`Открыть выбор времени`:`Открыть календарь даты и времени`,fe=o??(y===`time`?`чч:мм`:`дд.мм.гггг чч:мм`),$=T??C??O;return(0,Z.jsxs)(h,{open:ee,onOpenChange:Q,children:[(0,Z.jsx)(b,{label:r,description:i,disabled:s,size:c,error:u,controlId:N,labelId:P,descriptionId:F,errorId:I,children:(0,Z.jsx)(x,{endAdornmentWidth:`var(--control-height)`,endAdornment:(0,Z.jsx)(h.Trigger,{children:(0,Z.jsx)(`div`,{className:g.uiToggleButtonContainer,children:(0,Z.jsx)(`button`,{type:`button`,disabled:s,"aria-label":de,className:g.uiToggleButton,children:y===`time`?(0,Z.jsx)(se,{}):(0,Z.jsx)(n,{})})})}),children:({controlClassName:e})=>(0,Z.jsx)(`div`,{id:N,className:l(g.uiInputControlFake,e),"data-disabled":s||void 0,"data-invalid":u?``:void 0,role:`group`,"aria-invalid":!!u||void 0,"aria-placeholder":fe,"aria-labelledby":P,"aria-describedby":L,onFocus:W,onBlur:G,onClick:e=>{e.target===e.currentTarget&&K()},children:R.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:B(t),type:`text`,inputMode:`numeric`,className:q.segmentInput,style:{width:`${e.length+.5}ch`},value:z.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:s,"aria-label":e.ariaLabel,autoComplete:`off`,onChange:V(t),onKeyDown:H(t),onFocus:U()},t))})})}),(0,Z.jsx)(h.Content,{background:`primary`,onClose:le,children:y===`time`?(0,Z.jsx)(`div`,{className:q.timeOnlyPopoverContent,children:(0,Z.jsx)(A,{value:$,disabled:s,minDate:m,maxDate:_,mode:y,onChange:Y})}):(0,Z.jsxs)(`div`,{className:l(q.popoverContent,q[v]),children:[(0,Z.jsx)(`div`,{className:q.calendarPane,children:(0,Z.jsx)(a,{view:D,datePickerLevel:`day`,selectionMode:`day`,onViewChange:ae,value:$,onChange:J,minDate:m,maxDate:_,currentDate:O,onCurrentDateChange:M})}),(0,Z.jsx)(`div`,{className:l(q.timePanelPane,ue),children:(0,Z.jsx)(A,{value:$,disabled:s,minDate:m,maxDate:_,mode:y,onChange:Y})})]})})]})}var X,Z;function Q(){return(Q=e((()=>{X=t(),p(),u(),r(),N(),i(),v(),y(),m(),_(),O(),I(),J(),ae(),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};
|
package/storybook-static/assets/{SingleDateTimeInput-CTvNbcZ6.js → SingleDateTimeInput-BJurOfWH.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-DuAeRvx6.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-Dk_BOKmc.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-CbCzAEH_.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,48 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n,t as r}from"./SingleDateTimeInput-5BdPENRL.js";import{n as i}from"./iframe-DuAeRvx6.js";import{_ as a,b as o,h as s,y as c}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as l,t as u}from"./createControlledStoryRender-DHsyXc1B.js";var d=t({Default:()=>g,Empty:()=>v,TimeOnly:()=>_,WithLimits:()=>y,WithRightPanel:()=>b,__namedExportsOrder:()=>x,default:()=>h});function f(e){return u((t,n)=>{let i=t.value??null;return(0,p.jsxs)(`div`,{children:[(0,p.jsx)(r,{...t,value:i,onChange:e=>{t.onChange(e),n({value:e})},onClearError:()=>{t.onClearError?.(),n({error:void 0})}}),e===`date-time`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsDateTime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:c(i)}),(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsODataDatetime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:s(i)})]}),e===`time`&&(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`p`,{children:[`Вывод значения через `,(0,p.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsTime(value)`}),`:`]}),(0,p.jsx)(`pre`,{children:a(i)}),(0,p.jsx)(`p`,{children:`Техническая дата значения всегда фиксируется как 01.01.1970.`}),(0,p.jsx)(`pre`,{children:i?i.toISOString():``})]})]})})}var p,m,h,g,_,v,y,b,x;function S(){return(S=e((()=>{o(),l(),n(),p=i(),{fn:m}=__STORYBOOK_MODULE_TEST__,h={title:`Shared/UI/SingleDateTimeInput`,component:r,args:{value:null,onChange:m()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля даты и времени.`,control:`text`},description:{description:`Описание под заголовком поля.`,control:`text`},placeholder:{description:`Текстовая подсказка для сегментного ввода.`,control:`text`},value:{description:"Текущее значение в виде `Date | null`.",control:!1},onChange:{description:`Вызывается при вводе или выборе валидной даты-времени.`,control:!1},minDate:{description:`Минимально допустимая дата-время.`,control:`date`},maxDate:{description:`Максимально допустимая дата-время.`,control:`date`},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Сбрасывает внешнюю ошибку при ручном вводе и выборе в picker.`,control:!1},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует сегментный ввод и popover picker.`,control:`boolean`},timePanelPlacement:{description:`Размещение панели выбора времени относительно календаря.`,control:`inline-radio`,options:[`bottom`,`right`]},mode:{description:`Режим работы поля: дата-время или только время.`,control:`inline-radio`,options:[`date-time`,`time`]}}},g={render:f(`date-time`),args:{label:`Дата и время`,description:`Фиксированный формат: дд.мм.гггг чч:мм`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`,value:new Date(2026,2,5,9,15,0,0)}},_={render:f(`time`),args:{label:`Время`,description:`Режим только времени с маской чч:мм и wheel-picker без календаря.`,placeholder:`чч:мм`,mode:`time`,value:new Date(1970,0,1,9,15,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},v={render:f(`none`),args:{label:`Пустое значение`,description:`Поле можно заполнить вручную или через popover picker.`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`,value:null}},y={render:f(`none`),args:{label:`Дата отгрузки`,description:`Доступен только интервал с 10 по 12 марта 2026 года.`,minDate:new Date(2026,2,10,9,0,0,0),maxDate:new Date(2026,2,12,18,30,0,0),timePanelPlacement:`bottom`,value:new Date(2026,2,10,12,30,0,0)}},b={render:f(`none`),args:{label:`Дата и время`,description:`Wheel-панель времени расположена справа от календаря.`,timePanelPlacement:`right`,value:new Date(2026,2,10,12,30,0,0)}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: createSingleDateTimeInputStoryRender("date-time"),
|
|
3
|
+
args: {
|
|
4
|
+
label: "Дата и время",
|
|
5
|
+
description: "Фиксированный формат: дд.мм.гггг чч:мм",
|
|
6
|
+
placeholder: "дд.мм.гггг чч:мм",
|
|
7
|
+
timePanelPlacement: "bottom",
|
|
8
|
+
value: new Date(2026, 2, 5, 9, 15, 0, 0)
|
|
9
|
+
}
|
|
10
|
+
}`,...g.parameters?.docs?.source},description:{story:`Демонстрирует основной сценарий выбора даты и времени с точностью до минуты.`,...g.parameters?.docs?.description}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
|
|
11
|
+
render: createSingleDateTimeInputStoryRender("time"),
|
|
12
|
+
args: {
|
|
13
|
+
label: "Время",
|
|
14
|
+
description: "Режим только времени с маской чч:мм и wheel-picker без календаря.",
|
|
15
|
+
placeholder: "чч:мм",
|
|
16
|
+
mode: "time",
|
|
17
|
+
value: new Date(1970, 0, 1, 9, 15, 0, 0),
|
|
18
|
+
minDate: new Date(2026, 2, 10, 9, 15, 0, 0),
|
|
19
|
+
maxDate: new Date(2026, 2, 10, 18, 30, 0, 0)
|
|
20
|
+
}
|
|
21
|
+
}`,..._.parameters?.docs?.source},description:{story:"Демонстрирует режим выбора только времени на технической дате `1970-01-01`.",..._.parameters?.docs?.description}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
|
|
22
|
+
render: createSingleDateTimeInputStoryRender("none"),
|
|
23
|
+
args: {
|
|
24
|
+
label: "Пустое значение",
|
|
25
|
+
description: "Поле можно заполнить вручную или через popover picker.",
|
|
26
|
+
placeholder: "дд.мм.гггг чч:мм",
|
|
27
|
+
timePanelPlacement: "bottom",
|
|
28
|
+
value: null
|
|
29
|
+
}
|
|
30
|
+
}`,...v.parameters?.docs?.source},description:{story:`Показывает пустое контролируемое значение.`,...v.parameters?.docs?.description}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
|
|
31
|
+
render: createSingleDateTimeInputStoryRender("none"),
|
|
32
|
+
args: {
|
|
33
|
+
label: "Дата отгрузки",
|
|
34
|
+
description: "Доступен только интервал с 10 по 12 марта 2026 года.",
|
|
35
|
+
minDate: new Date(2026, 2, 10, 9, 0, 0, 0),
|
|
36
|
+
maxDate: new Date(2026, 2, 12, 18, 30, 0, 0),
|
|
37
|
+
timePanelPlacement: "bottom",
|
|
38
|
+
value: new Date(2026, 2, 10, 12, 30, 0, 0)
|
|
39
|
+
}
|
|
40
|
+
}`,...y.parameters?.docs?.source},description:{story:`Демонстрирует ограничение диапазона и синхронизацию календаря со временем.`,...y.parameters?.docs?.description}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
|
|
41
|
+
render: createSingleDateTimeInputStoryRender("none"),
|
|
42
|
+
args: {
|
|
43
|
+
label: "Дата и время",
|
|
44
|
+
description: "Wheel-панель времени расположена справа от календаря.",
|
|
45
|
+
timePanelPlacement: "right",
|
|
46
|
+
value: new Date(2026, 2, 10, 12, 30, 0, 0)
|
|
47
|
+
}
|
|
48
|
+
}`,...b.parameters?.docs?.source},description:{story:`Демонстрирует размещение wheel-панели справа от календаря.`,...b.parameters?.docs?.description}}},x=[`Default`,`TimeOnly`,`Empty`,`WithLimits`,`WithRightPanel`]})))()}export{y as a,_ as i,v as n,b as o,d as r,S as s,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-DuAeRvx6.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-Dk_BOKmc.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./Slider.stories-oq8MwiOM.js";function C(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,T.jsx)(u,{children:`Slider`}),`
|
|
3
3
|
`,(0,T.jsx)(o,{children:`Компактные single и range слайдеры с marks, tooltip и открытыми границами`}),`
|
|
4
4
|
`,(0,T.jsxs)(t.p,{children:[(0,T.jsx)(t.code,{children:`Slider`}),` и `,(0,T.jsx)(t.code,{children:`SliderRange`}),` — отдельные публичные компоненты. Оба используют общую числовую шкалу, но не смешивают single/range через prop.`]}),`
|
|
@@ -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-DBSrNt2a.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./FloatingPopover-QXZeXRkJ.js";import{c,l as ee,o as te,u as ne}from"./Input-C2Lss7is.js";function l(e){if(!Number.isFinite(e))return 0;let t=e.toString().toLowerCase(),n=t.indexOf(`e-`);if(n>=0)return Number(t.slice(n+2));let r=t.indexOf(`.`);return r>=0?t.length-r-1:0}function u(e,t){if(t<=0)return Math.round(e);let n=10**t;return Math.round(e*n)/n}function d(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?{min:0,max:100}:e<=t?{min:e,max:t}:{min:t,max:e}}function f(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):t}function p(e){return!Number.isFinite(e)||e===void 0||e<=0?1:e}function m(e,t,n){if(!e?.length)return[];let r=new Set;return e.filter(e=>Number.isFinite(e.value)&&e.value>=t&&e.value<=n).slice().sort((e,t)=>e.value-t.value).filter(e=>!r.has(e.value)&&(r.add(e.value),!0))}function h(e,t,n,r){let i=p(r),a=f(e,t,n),o=Math.max(l(i),l(t),l(n));return f(u(t+Math.round((a-t)/i)*i,o),t,n)}function g(e,t){if(!t.length)return;let n=t[0],r=Math.abs(e-n.value);for(let i=1;i<t.length;i+=1){let a=t[i],o=Math.abs(e-a.value);o<r&&(n=a,r=o)}return n}function _(e,t,n,r){if(!t.length)return f(e,n,r);let i=f(e,n,r);return g(i,t)?.value??i}function v(e,t){let{min:n,max:r}=d(t.min,t.max),i=m(t.marks,n,r);return i.length>0?_(e,i,n,r):h(e,n,r,t.step)}function y(e,t,n){return n<=t?0:(f(e,t,n)-t)/(n-t)*100}function re(e,t,n){if(n<=t)return t;let r=f(e,0,100);return t+(n-t)*r/100}function b(e,t,n,r,i=`value`){return i===`index`&&t.length>1?e/(t.length-1)*100:i===`index`?0:y(t[e]?.value??n,n,r)}function x(e,t,n,r,i=`value`){if(!t.length)return;let a=f(e,0,100),o=t[0],s=Math.abs(a-b(0,t,n,r,i));for(let e=1;e<t.length;e+=1){let c=Math.abs(a-b(e,t,n,r,i));c<s&&(o=t[e],s=c)}return o}function ie(e,t,n,r=n.min,i=n.max){let{min:a,max:o}=d(r,i),s=m(n.marks,a,o);if(s.length>0){let n=s.map(e=>e.value),r=0,i=Math.abs(e-n[0]);for(let t=1;t<n.length;t+=1){let a=Math.abs(e-n[t]);a<i&&(i=a,r=t)}return n[f(r+t,0,n.length-1)]}let c=p(n.step);return h(e+t*c,a,o,c)}function S(){return(S=e((()=>{})))()}function C(e,t,n){return m(e,t,n)}function w(e,t,n){let r=t.findIndex(t=>t.value===e.value);return b(Math.max(0,r),t,n.min,n.max,n.marksPosition)}function T(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let a=i.find(t=>t.value===e)??g(e,i);if(a)return w(a,i,{...t,min:n,max:r,marks:i})}return y(e,n,r)}function ae(e,t){let{min:n,max:r}=d(t.min,t.max);return x(e,C(t.marks,n,r),n,r,t.marksPosition)}function E(e,t){return v(e,t)}function D(e,t){let{min:n,max:r}=d(t.min,t.max);return e===void 0?n:E(e,{...t,min:n,max:r})}function O(e){if(e)return!Object.hasOwn(e,`outputValue`)||e.outputValue===void 0?e.value:e.outputValue}function k(e,t,n){let r=t.filter(t=>O(t)===e);if(r.length)return e===null?n===0?r[0]:r[r.length-1]:r[0]}function A(e,t,n){let r=k(e,t,n);if(r)return r;let i,a=1/0;for(let n of t){let t=O(n);if(typeof t!=`number`||!Number.isFinite(t))continue;let r=Math.abs(e-t);r<a&&(i=n,a=r)}return i}function j(e,t,n,r){if(e===null)return null;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a),s=Number.isFinite(e)?e:t;if(o.length>0){let e=A(s,o,n),r=O(e);return r===void 0?e?.value??t:r}return h(s,i,a,r.step)}function M(e,t){let{min:n,max:r}=d(t.min,t.max);if(!e)return[null,null];let i=j(e[0],n,0,{...t,min:n,max:r}),a=j(e[1],r,1,{...t,min:n,max:r});return i!==null&&a!==null&&i>a?[a,i]:[i,a]}function N(e,t,n,r){if(e===null)return t;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a);return o.length>0?(k(e,o,n)??(typeof e==`number`?A(e,o,n):void 0))?.value??t:h(e,i,a,r.step)}function oe(e,t){let{min:n,max:r}=d(t.min,t.max),i=M(e,{...t,min:n,max:r}),a=N(i[0],n,0,{...t,min:n,max:r}),o=N(i[1],r,1,{...t,min:n,max:r});return a<=o?[a,o]:[o,a]}function se(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let t=g(e,i),n=O(t);return n===void 0?t?.value??e:n}return h(e,n,r,t.step)}function ce(e,t){let[n,r]=t;return Math.abs(e-n)<=Math.abs(e-r)?0:1}function le(e,t){let{min:n,max:r}=d(t.min,t.max);return Array.isArray(e)?{startPercent:T(e[0],{...t,min:n,max:r}),endPercent:T(e[1],{...t,min:n,max:r})}:{startPercent:0,endPercent:T(e,{...t,min:n,max:r})}}function P(){return(P=e((()=>{})))()}var ue,F,I,L,R,z,B,V,H,U,W,G,K,q,J,de,fe,Y;function X(){return(X=e((()=>{ue=`fA7zne`,F=`TMbaqW`,I=`_77qn1L`,L=`cxJQqh`,R=`-X13t0`,z=`gg-atO`,B=`bTLJZl`,V=`vDAmRy`,H=`iNrV0y`,U=`PpaxP2`,W=`_9K78Fi`,G=`vzEDBe`,K=`_0OWJh0`,q=`Mk4xi2`,J=`SL0IDQ`,de=`mdezg5`,fe=`a4R18g`,Y={slider:ue,sliderCompact:F,trackShell:I,track:L,tooltipReference:R,rail:z,fill:B,thumb:V,marks:H,mark:U,compactMark:W,markDot:G,markLabel:K,popoverContent:q,rangeInputControl:J,rangeSegmentInput:de,rangeSeparator:fe}})))()}function pe(e){return e===`ArrowLeft`||e===`ArrowDown`?-1:e===`ArrowRight`||e===`ArrowUp`?1:e===`PageDown`?-10:e===`PageUp`?10:null}function me(e,t){return!!e&&e[0]===t[0]&&e[1]===t[1]}function he(e,t){return e===null?t===0?`-∞`:`∞`:String(e)}function ge(e,t){return t.find(t=>t.value===e)?.label??String(e)}function _e(e){return typeof e==`string`||typeof e==`number`?(0,$.jsx)(`span`,{className:`textNoWrap`,children:e}):e}function ve({position:e,children:t}){return(0,$.jsx)(`span`,{"data-slot":`slider-tooltip-reference`,className:Y.tooltipReference,style:{left:`${e}%`},children:t})}function Z(e){let{min:t,max:n,step:r,marks:a,marksPosition:o=`value`,marksDisplay:c=`compact`,className:ee,error:l,onClearError:u,label:f,description:p,disabled:m,size:h}=e,{min:g,max:_}=(0,Q.useMemo)(()=>d(t,n),[t,n]),v=(0,Q.useMemo)(()=>C(a,g,_),[a,g,_]),y=(0,Q.useMemo)(()=>({min:g,max:_,step:r,marks:v,marksPosition:o}),[g,_,r,v,o]),b=e.mode===`range`,x=b?void 0:D(e.value,y),S=b?M(e.value,y):void 0,E=b?oe(e.value,y):void 0,O=b?E:[x],k=le(b?E:x,y),A=(0,Q.useRef)(null),j=(0,Q.useRef)([]),N=(0,Q.useRef)(null),P=(0,Q.useRef)(null),[ue,F]=(0,Q.useState)(null),{controlId:I,labelId:L,descriptionId:R,errorId:z,describedBy:B}=ne({hasLabel:f!=null,hasDescription:!!p,hasError:!!l}),V=t=>{m||e.mode!==`single`||(e.value===void 0||e.value!==t)&&(e.onChange(t),u?.())},H=t=>{m||e.mode!==`range`||me(e.value,t)||(e.onChange(t),u?.())},U=(t,n)=>{if(!m){if(e.mode===`range`){let[e,r]=E,[i,a]=S,o=M(n===0?[se(Math.min(t,r),y),a]:[i,se(Math.max(t,e),y)],y);H(o);return}V(D(t,y))}},W=e=>{let t=A.current?.getBoundingClientRect();if(!t)return g;let n=(e-t.left)/t.width*100;return(v.length>0?ae(n,y):void 0)?.value??re(n,g,_)},G=(0,Q.useRef)(U),K=(0,Q.useRef)(W);(0,Q.useEffect)(()=>{G.current=U,K.current=W}),(0,Q.useEffect)(()=>{let e=e=>{P.current!==null&&e&&e.pointerId!==P.current||(P.current=null,N.current=null,F(null))},t=e=>{N.current!==null&&(P.current===null||e.pointerId===P.current)&&G.current(K.current(e.clientX),N.current)};return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,e),window.addEventListener(`pointercancel`,e),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,e),window.removeEventListener(`pointercancel`,e)}},[]);let q=(e,t)=>{P.current=e,N.current=t,F(t),j.current[t]?.focus()},J=e=>{if(m)return;e.preventDefault();let t=W(e.clientX),n=b?ce(t,E):0;U(t,n),q(e.pointerId,n)},de=e=>t=>{m||(t.preventDefault(),t.stopPropagation(),q(t.pointerId,e))},fe=e=>t=>{if(m)return;let n=b&&e===1?E[0]:g,r=b&&e===0?E[1]:_,i=pe(t.key);if(t.key===`Home`){t.preventDefault(),U(n,e);return}if(t.key===`End`){t.preventDefault(),U(r,e);return}if(i===null)return;t.preventDefault();let a=O[e],o=ie(a,i,y,n,r);U(o,e)},X=e=>{if(m)return;let t=b?ce(e,E):0;U(e,t),j.current[t]?.focus()},Z=(e,t)=>{if(b){let n=S[t];return v.find(t=>t.value===e)?.label??he(n,t)}return ge(e,v)};return(0,$.jsx)(te,{label:f,description:p,disabled:m,className:ee,size:h,error:l,controlId:I,labelId:L,descriptionId:R,errorId:z,children:(0,$.jsxs)(`div`,{id:I,className:i(Y.slider,c===`compact`&&Y.sliderCompact),children:[(0,$.jsx)(`div`,{className:Y.trackShell,children:(0,$.jsxs)(`div`,{ref:A,"data-slot":`track`,className:Y.track,role:`presentation`,onPointerDown:J,children:[(0,$.jsx)(`div`,{className:Y.rail}),(0,$.jsx)(`div`,{"data-slot":`fill`,className:Y.fill,style:{left:`${k.startPercent}%`,width:`${k.endPercent-k.startPercent}%`}}),c===`compact`&&v.map(e=>{let t=w(e,v,y),n=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsx)(ve,{position:t,children:(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:_e(e.label),children:(0,$.jsx)(`button`,{type:`button`,"data-slot":`mark`,"data-active":n?``:void 0,className:Y.compactMark,"aria-label":e.ariaLabel,disabled:m,onClick:()=>X(e.value),children:(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`})})})},e.value)}),O.map((e,t)=>{let n=Z(e,t);return(0,$.jsx)(ve,{position:T(e,y),children:(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:_e(n),openDelay:0,closeDelay:100,positionUpdateKey:e,children:(0,$.jsx)(`button`,{ref:e=>{j.current[t]=e},type:`button`,role:`slider`,"data-slot":`thumb`,"data-thumb-index":t,"data-dragging":ue===t?``:void 0,className:Y.thumb,disabled:m,"aria-disabled":m||void 0,"aria-orientation":`horizontal`,"aria-valuemin":b&&t===1?E[0]:g,"aria-valuemax":b&&t===0?E[1]:_,"aria-valuenow":e,"aria-valuetext":typeof n==`string`||typeof n==`number`?String(n):void 0,"aria-labelledby":L,"aria-describedby":B,"aria-label":L?void 0:b?t===0?`Минимальное значение`:`Максимальное значение`:`Значение`,onPointerDown:de(t),onKeyDown:fe(t)})})},t)})]})}),c===`full`&&v.length>0&&(0,$.jsx)(`div`,{className:Y.marks,children:v.map(e=>{let t=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsxs)(`button`,{type:`button`,"data-slot":`mark`,"data-active":t?``:void 0,className:Y.mark,style:{left:`${w(e,v,y)}%`},"aria-label":e.ariaLabel,disabled:m,onClick:()=>X(e.value),children:[(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y.markLabel,children:e.label})]},e.value)})})]})})}function ye(e){return(0,$.jsx)(Z,{...e,mode:`single`,marksDisplay:`compact`})}function be(e){return(0,$.jsx)(Z,{...e,mode:`range`,marksDisplay:`compact`})}var Q,$;function xe(){return(xe=e((()=>{Q=t(n(),1),a(),c(),ee(),o(),P(),X(),$=r(),Z.__docgenInfo={description:``,methods:[],displayName:`SliderBase`},ye.__docgenInfo={description:``,methods:[],displayName:`Slider`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]},be.__docgenInfo={description:``,methods:[],displayName:`SliderRange`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]}})))()}export{Y as a,P as c,C as d,S as f,xe as i,M as l,Z as n,X as o,d as p,be as r,O as s,ye as t,D as u};
|
|
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-DuAeRvx6.js";import{a as i,i as a}from"./utils-DUM89eIj.js";import{n as o,t as s}from"./FloatingPopover-D6CCSTdu.js";import{c,l as ee,o as te,u as ne}from"./Input-B9ykEI3i.js";function l(e){if(!Number.isFinite(e))return 0;let t=e.toString().toLowerCase(),n=t.indexOf(`e-`);if(n>=0)return Number(t.slice(n+2));let r=t.indexOf(`.`);return r>=0?t.length-r-1:0}function u(e,t){if(t<=0)return Math.round(e);let n=10**t;return Math.round(e*n)/n}function d(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?{min:0,max:100}:e<=t?{min:e,max:t}:{min:t,max:e}}function f(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):t}function p(e){return!Number.isFinite(e)||e===void 0||e<=0?1:e}function m(e,t,n){if(!e?.length)return[];let r=new Set;return e.filter(e=>Number.isFinite(e.value)&&e.value>=t&&e.value<=n).slice().sort((e,t)=>e.value-t.value).filter(e=>!r.has(e.value)&&(r.add(e.value),!0))}function h(e,t,n,r){let i=p(r),a=f(e,t,n),o=Math.max(l(i),l(t),l(n));return f(u(t+Math.round((a-t)/i)*i,o),t,n)}function g(e,t){if(!t.length)return;let n=t[0],r=Math.abs(e-n.value);for(let i=1;i<t.length;i+=1){let a=t[i],o=Math.abs(e-a.value);o<r&&(n=a,r=o)}return n}function _(e,t,n,r){if(!t.length)return f(e,n,r);let i=f(e,n,r);return g(i,t)?.value??i}function v(e,t){let{min:n,max:r}=d(t.min,t.max),i=m(t.marks,n,r);return i.length>0?_(e,i,n,r):h(e,n,r,t.step)}function y(e,t,n){return n<=t?0:(f(e,t,n)-t)/(n-t)*100}function re(e,t,n){if(n<=t)return t;let r=f(e,0,100);return t+(n-t)*r/100}function b(e,t,n,r,i=`value`){return i===`index`&&t.length>1?e/(t.length-1)*100:i===`index`?0:y(t[e]?.value??n,n,r)}function x(e,t,n,r,i=`value`){if(!t.length)return;let a=f(e,0,100),o=t[0],s=Math.abs(a-b(0,t,n,r,i));for(let e=1;e<t.length;e+=1){let c=Math.abs(a-b(e,t,n,r,i));c<s&&(o=t[e],s=c)}return o}function ie(e,t,n,r=n.min,i=n.max){let{min:a,max:o}=d(r,i),s=m(n.marks,a,o);if(s.length>0){let n=s.map(e=>e.value),r=0,i=Math.abs(e-n[0]);for(let t=1;t<n.length;t+=1){let a=Math.abs(e-n[t]);a<i&&(i=a,r=t)}return n[f(r+t,0,n.length-1)]}let c=p(n.step);return h(e+t*c,a,o,c)}function S(){return(S=e((()=>{})))()}function C(e,t,n){return m(e,t,n)}function w(e,t,n){let r=t.findIndex(t=>t.value===e.value);return b(Math.max(0,r),t,n.min,n.max,n.marksPosition)}function T(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let a=i.find(t=>t.value===e)??g(e,i);if(a)return w(a,i,{...t,min:n,max:r,marks:i})}return y(e,n,r)}function ae(e,t){let{min:n,max:r}=d(t.min,t.max);return x(e,C(t.marks,n,r),n,r,t.marksPosition)}function E(e,t){return v(e,t)}function D(e,t){let{min:n,max:r}=d(t.min,t.max);return e===void 0?n:E(e,{...t,min:n,max:r})}function O(e){if(e)return!Object.hasOwn(e,`outputValue`)||e.outputValue===void 0?e.value:e.outputValue}function k(e,t,n){let r=t.filter(t=>O(t)===e);if(r.length)return e===null?n===0?r[0]:r[r.length-1]:r[0]}function A(e,t,n){let r=k(e,t,n);if(r)return r;let i,a=1/0;for(let n of t){let t=O(n);if(typeof t!=`number`||!Number.isFinite(t))continue;let r=Math.abs(e-t);r<a&&(i=n,a=r)}return i}function j(e,t,n,r){if(e===null)return null;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a),s=Number.isFinite(e)?e:t;if(o.length>0){let e=A(s,o,n),r=O(e);return r===void 0?e?.value??t:r}return h(s,i,a,r.step)}function M(e,t){let{min:n,max:r}=d(t.min,t.max);if(!e)return[null,null];let i=j(e[0],n,0,{...t,min:n,max:r}),a=j(e[1],r,1,{...t,min:n,max:r});return i!==null&&a!==null&&i>a?[a,i]:[i,a]}function N(e,t,n,r){if(e===null)return t;let{min:i,max:a}=d(r.min,r.max),o=C(r.marks,i,a);return o.length>0?(k(e,o,n)??(typeof e==`number`?A(e,o,n):void 0))?.value??t:h(e,i,a,r.step)}function oe(e,t){let{min:n,max:r}=d(t.min,t.max),i=M(e,{...t,min:n,max:r}),a=N(i[0],n,0,{...t,min:n,max:r}),o=N(i[1],r,1,{...t,min:n,max:r});return a<=o?[a,o]:[o,a]}function se(e,t){let{min:n,max:r}=d(t.min,t.max),i=C(t.marks,n,r);if(i.length>0){let t=g(e,i),n=O(t);return n===void 0?t?.value??e:n}return h(e,n,r,t.step)}function ce(e,t){let[n,r]=t;return Math.abs(e-n)<=Math.abs(e-r)?0:1}function le(e,t){let{min:n,max:r}=d(t.min,t.max);return Array.isArray(e)?{startPercent:T(e[0],{...t,min:n,max:r}),endPercent:T(e[1],{...t,min:n,max:r})}:{startPercent:0,endPercent:T(e,{...t,min:n,max:r})}}function P(){return(P=e((()=>{})))()}var ue,F,I,L,R,z,B,V,H,U,W,G,K,q,J,de,fe,Y;function X(){return(X=e((()=>{ue=`fA7zne`,F=`gg-atO`,I=`bTLJZl`,L=`vDAmRy`,R=`PpaxP2`,z=`_9K78Fi`,B=`TMbaqW`,V=`_77qn1L`,H=`cxJQqh`,U=`-X13t0`,W=`iNrV0y`,G=`vzEDBe`,K=`_0OWJh0`,q=`Mk4xi2`,J=`SL0IDQ`,de=`mdezg5`,fe=`a4R18g`,Y={slider:ue,rail:F,fill:I,thumb:L,mark:R,compactMark:z,sliderCompact:B,trackShell:V,track:H,tooltipReference:U,marks:W,markDot:G,markLabel:K,popoverContent:q,rangeInputControl:J,rangeSegmentInput:de,rangeSeparator:fe}})))()}function pe(e){return e===`ArrowLeft`||e===`ArrowDown`?-1:e===`ArrowRight`||e===`ArrowUp`?1:e===`PageDown`?-10:e===`PageUp`?10:null}function me(e,t){return!!e&&e[0]===t[0]&&e[1]===t[1]}function he(e,t){return e===null?t===0?`-∞`:`∞`:String(e)}function ge(e,t){return t.find(t=>t.value===e)?.label??String(e)}function _e(e){return typeof e==`string`||typeof e==`number`?(0,$.jsx)(`span`,{className:`textNoWrap`,children:e}):e}function ve({position:e,children:t}){return(0,$.jsx)(`span`,{"data-slot":`slider-tooltip-reference`,className:Y.tooltipReference,style:{left:`${e}%`},children:t})}function Z(e){let{min:t,max:n,step:r,marks:a,marksPosition:o=`value`,marksDisplay:c=`compact`,className:ee,error:l,onClearError:u,label:f,description:p,disabled:m,size:h}=e,{min:g,max:_}=(0,Q.useMemo)(()=>d(t,n),[t,n]),v=(0,Q.useMemo)(()=>C(a,g,_),[a,g,_]),y=(0,Q.useMemo)(()=>({min:g,max:_,step:r,marks:v,marksPosition:o}),[g,_,r,v,o]),b=e.mode===`range`,x=b?void 0:D(e.value,y),S=b?M(e.value,y):void 0,E=b?oe(e.value,y):void 0,O=b?E:[x],k=le(b?E:x,y),A=(0,Q.useRef)(null),j=(0,Q.useRef)([]),N=(0,Q.useRef)(null),P=(0,Q.useRef)(null),[ue,F]=(0,Q.useState)(null),{controlId:I,labelId:L,descriptionId:R,errorId:z,describedBy:B}=ne({hasLabel:f!=null,hasDescription:!!p,hasError:!!l}),V=t=>{m||e.mode!==`single`||(e.value===void 0||e.value!==t)&&(e.onChange(t),u?.())},H=t=>{m||e.mode!==`range`||me(e.value,t)||(e.onChange(t),u?.())},U=(t,n)=>{if(!m){if(e.mode===`range`){let[e,r]=E,[i,a]=S,o=M(n===0?[se(Math.min(t,r),y),a]:[i,se(Math.max(t,e),y)],y);H(o);return}V(D(t,y))}},W=e=>{let t=A.current?.getBoundingClientRect();if(!t)return g;let n=(e-t.left)/t.width*100;return(v.length>0?ae(n,y):void 0)?.value??re(n,g,_)},G=(0,Q.useRef)(U),K=(0,Q.useRef)(W);(0,Q.useEffect)(()=>{G.current=U,K.current=W}),(0,Q.useEffect)(()=>{let e=e=>{P.current!==null&&e&&e.pointerId!==P.current||(P.current=null,N.current=null,F(null))},t=e=>{N.current!==null&&(P.current===null||e.pointerId===P.current)&&G.current(K.current(e.clientX),N.current)};return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,e),window.addEventListener(`pointercancel`,e),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,e),window.removeEventListener(`pointercancel`,e)}},[]);let q=(e,t)=>{P.current=e,N.current=t,F(t),j.current[t]?.focus()},J=e=>{if(m)return;e.preventDefault();let t=W(e.clientX),n=b?ce(t,E):0;U(t,n),q(e.pointerId,n)},de=e=>t=>{m||(t.preventDefault(),t.stopPropagation(),q(t.pointerId,e))},fe=e=>t=>{if(m)return;let n=b&&e===1?E[0]:g,r=b&&e===0?E[1]:_,i=pe(t.key);if(t.key===`Home`){t.preventDefault(),U(n,e);return}if(t.key===`End`){t.preventDefault(),U(r,e);return}if(i===null)return;t.preventDefault();let a=O[e],o=ie(a,i,y,n,r);U(o,e)},X=e=>{if(m)return;let t=b?ce(e,E):0;U(e,t),j.current[t]?.focus()},Z=(e,t)=>{if(b){let n=S[t];return v.find(t=>t.value===e)?.label??he(n,t)}return ge(e,v)};return(0,$.jsx)(te,{label:f,description:p,disabled:m,className:ee,size:h,error:l,controlId:I,labelId:L,descriptionId:R,errorId:z,children:(0,$.jsxs)(`div`,{id:I,className:i(Y.slider,c===`compact`&&Y.sliderCompact),"data-disabled":m||void 0,children:[(0,$.jsx)(`div`,{className:Y.trackShell,children:(0,$.jsxs)(`div`,{ref:A,"data-slot":`track`,className:Y.track,role:`presentation`,onPointerDown:J,children:[(0,$.jsx)(`div`,{className:Y.rail}),(0,$.jsx)(`div`,{"data-slot":`fill`,className:Y.fill,style:{left:`${k.startPercent}%`,width:`${k.endPercent-k.startPercent}%`}}),c===`compact`&&v.map(e=>{let t=w(e,v,y),n=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsx)(ve,{position:t,children:(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:_e(e.label),children:(0,$.jsx)(`button`,{type:`button`,"data-slot":`mark`,"data-active":n?``:void 0,className:Y.compactMark,"aria-label":e.ariaLabel,disabled:m,onClick:()=>X(e.value),children:(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`})})})},e.value)}),O.map((e,t)=>{let n=Z(e,t);return(0,$.jsx)(ve,{position:T(e,y),children:(0,$.jsx)(s,{tooltip:!0,placement:`top`,content:_e(n),openDelay:0,closeDelay:100,positionUpdateKey:e,children:(0,$.jsx)(`button`,{ref:e=>{j.current[t]=e},type:`button`,role:`slider`,"data-slot":`thumb`,"data-thumb-index":t,"data-dragging":ue===t?``:void 0,className:Y.thumb,disabled:m,"aria-disabled":m||void 0,"aria-orientation":`horizontal`,"aria-valuemin":b&&t===1?E[0]:g,"aria-valuemax":b&&t===0?E[1]:_,"aria-valuenow":e,"aria-valuetext":typeof n==`string`||typeof n==`number`?String(n):void 0,"aria-labelledby":L,"aria-describedby":B,"aria-label":L?void 0:b?t===0?`Минимальное значение`:`Максимальное значение`:`Значение`,onPointerDown:de(t),onKeyDown:fe(t)})})},t)})]})}),c===`full`&&v.length>0&&(0,$.jsx)(`div`,{className:Y.marks,children:v.map(e=>{let t=b?e.value>=E[0]&&e.value<=E[1]:e.value<=x;return(0,$.jsxs)(`button`,{type:`button`,"data-slot":`mark`,"data-active":t?``:void 0,className:Y.mark,style:{left:`${w(e,v,y)}%`},"aria-label":e.ariaLabel,disabled:m,onClick:()=>X(e.value),children:[(0,$.jsx)(`span`,{className:Y.markDot,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:Y.markLabel,children:e.label})]},e.value)})})]})})}function ye(e){return(0,$.jsx)(Z,{...e,mode:`single`,marksDisplay:`compact`})}function be(e){return(0,$.jsx)(Z,{...e,mode:`range`,marksDisplay:`compact`})}var Q,$;function xe(){return(xe=e((()=>{Q=t(n(),1),a(),c(),ee(),o(),P(),X(),$=r(),Z.__docgenInfo={description:``,methods:[],displayName:`SliderBase`},ye.__docgenInfo={description:``,methods:[],displayName:`Slider`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]},be.__docgenInfo={description:``,methods:[],displayName:`SliderRange`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]}})))()}export{Y as a,P as c,C as d,S as f,xe as i,M as l,Z as n,X as o,d as p,be as r,O as s,ye as t,D as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.fA7zne{gap:var(--space-sm);flex-direction:column;display:flex}.fA7zne[data-disabled] .gg-atO{color:var(--content-2);background-color:var(--surface-2);border-color:var(--overlay-backdrop)}.fA7zne[data-disabled] .bTLJZl{opacity:var(--disabled-opacity)}.fA7zne[data-disabled] .vDAmRy{border-color:var(--overlay-backdrop);background-color:var(--surface-2);color:var(--content-2);box-shadow:none}.fA7zne[data-disabled] .PpaxP2,.fA7zne[data-disabled] ._9K78Fi{color:var(--overlay-backdrop)}.TMbaqW{gap:0}._77qn1L{padding-inline:calc((var(--control-height) - var(--space-xs)) / 2);position:relative}.cxJQqh{height:var(--control-height);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.-X13t0{top:calc(50% - (var(--control-height) - var(--space-xs)) / 2);width:0;height:0;position:absolute;left:0}.gg-atO,.bTLJZl{height:var(--space-sm);border-radius:999px;position:absolute;top:50%;transform:translateY(-50%)}.gg-atO{background-color:var(--surface-2);border:var(--border);left:0;right:0}.bTLJZl{background-color:var(--status-info-fill)}.vDAmRy{top:calc((var(--control-height) - var(--space-xs)) / 2);width:calc(var(--control-height) - var(--space-md));height:calc(var(--control-height) - var(--space-md));border:var(--border);background-color:var(--surface-0);color:var(--content-0);box-shadow:var(--shadow-sm);cursor:grab;z-index:2;transition:transform var(--transition-fast) ease, border-color var(--transition-fast) ease, box-shadow var(--transition-fast) ease, background-color var(--transition-fast) ease;border-radius:50%;position:absolute;left:0;transform:translate(-50%,-50%)}.vDAmRy:active,.vDAmRy:hover{border-color:var(--border-1)}.vDAmRy:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.vDAmRy[data-dragging]{cursor:grabbing;box-shadow:var(--shadow-md);transform:translate(-50%,-50%)scale(1.04)}.iNrV0y{min-height:calc(var(--font-size-sm) + var(--space-md));margin-inline:calc((var(--control-height) - var(--space-xs)) / 2);position:relative}.PpaxP2,._9K78Fi{color:var(--content-2);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex;position:absolute}.PpaxP2:focus-visible,._9K78Fi:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}.PpaxP2[data-active],._9K78Fi[data-active]{color:var(--content-0)}.PpaxP2:disabled,._9K78Fi:disabled{cursor:default}.PpaxP2{gap:var(--space-xs);white-space:nowrap;flex-direction:column;top:0;transform:translate(-50%)}._9K78Fi{top:calc(var(--control-height) - var(--space-xs));width:var(--control-height);height:var(--control-height);z-index:1;justify-content:center;left:0;transform:translate(-50%,-50%)}.vzEDBe{width:var(--space-sm);height:var(--space-sm);background-color:currentColor;border-radius:50%}._0OWJh0{font-size:var(--font-size-sm)}.Mk4xi2{min-width:min(24em, 100vw - var(--space-xl))}.SL0IDQ{gap:var(--space-xs);cursor:text}.mdezg5{width:7ch;min-width:0;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}.mdezg5::selection{background-color:var(--focus-ring);color:var(--surface-0)}.mdezg5:disabled{opacity:.25}.a4R18g{-webkit-user-select:none;user-select:none;color:var(--content-2);flex-shrink:0}.a4R18g[data-disabled]{opacity:.25}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n}from"./iframe-DuAeRvx6.js";import{n as r,t as i}from"./createControlledStoryRender-DHsyXc1B.js";import{i as a,r as o,t as s}from"./Slider-Su14u999.js";var c=t({Disabled:()=>k,MonthsIndexMarks:()=>w,RangeMonthToDaysOutput:()=>D,RangeOpenMonthToDaysOutput:()=>O,RangeOpenWithoutExplicitMiddleOutput:()=>E,RangePlain:()=>T,SingleStep:()=>S,SingleWithMarks:()=>C,__namedExportsOrder:()=>A,default:()=>b});function l(e,t){return i((n,r)=>(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(o,{...n,onChange:e=>{n.onChange(e),r({value:e})},onClearError:()=>{n.onClearError?.(),r({error:void 0})}}),(0,p.jsx)(f,{value:n.value,field:e,unit:t})]}))}function u(e,t){return e===null?`null`:`${e}${t}`}function d(e,t,n=``){let[r,i]=e??[null,null],a=[];return r!==null&&a.push(`${t} >= ${r}${n}`),i!==null&&a.push(`${t} <= ${i}${n}`),a.length>0?a.join(` AND `):`Фильтр не ограничивает значение`}function f({value:e,field:t,unit:n=``,children:r}){let[i,a]=e??[null,null];return(0,p.jsxs)(`div`,{className:`marginTopMd`,children:[(0,p.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,p.jsx)(`pre`,{children:JSON.stringify({value:[i,a],human:`${u(i,n)} — ${u(a,n)}`,filter:d(e,t,n)},null,2)}),r]})}var p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A;function j(){return(j=e((()=>{a(),r(),p=n(),{fn:m}=__STORYBOOK_MODULE_TEST__,h=[{value:0,label:`0`},{value:25,label:`25`},{value:50,label:`50`},{value:75,label:`75`},{value:100,label:`100`}],g=[{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:9,label:`9 мес.`},{value:12,label:`12 мес.`},{value:18,label:`18 мес.`},{value:24,label:`24 мес.`}],_=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],v=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],y=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720},{value:25,label:`Без верхней границы`,outputValue:null}],b={title:`Shared/UI/Slider`,component:s,args:{label:`Слайдер`,value:30,onChange:m(),min:0,max:100,step:5},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Подпись поля над слайдером.`,control:`text`},description:{description:`Пояснение под подписью поля.`,control:`text`},value:{description:`Текущее выбранное значение; в range-сценариях — пара границ.`,control:!1},onChange:{description:`Вызывается после выбора значения или границ.`,control:!1},min:{description:`Минимальная координата шкалы.`,control:`number`},max:{description:`Максимальная координата шкалы.`,control:`number`},step:{description:`Шаг шкалы, когда не заданы допустимые marks.`,control:{type:`number`,min:0,step:.1}},marks:{description:`Дискретные точки выбора; range-marks могут возвращать отдельный outputValue.`,control:!1},marksPosition:{description:`Располагает marks пропорционально значению или равномерно по индексу.`,control:`inline-radio`,options:[`value`,`index`]},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается после успешного изменения значения.`,control:!1},size:{description:`Размер подписи и обёртки поля.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует pointer-, click- и keyboard-взаимодействие.`,control:`boolean`}}},x=i((e,t)=>(0,p.jsx)(s,{...e,onChange:n=>{e.onChange(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),S={render:x,args:{label:`Громкость`,description:`Компактный single-value слайдер со step=5.`,value:35,step:5}},C={render:x,args:{label:`Процент выполнения`,description:`Marks активны, кликабельны и показывают подписи через tooltip.`,value:50,marks:h}},w={render:x,args:{label:`Срок`,min:1,max:24,value:6,marks:g,marksPosition:`index`,description:`Неравномерные значения месяцев расположены с равным визуальным шагом.`}},T={render:l(`progress`,`%`),args:{label:`Процент выполнения`,description:"Обычный range: `value` mark является и координатой шкалы, и значением фильтра.",min:0,max:100,marks:h,value:[25,75]}},E={render:l(`months`,` мес.`),args:{label:`Срок в месяцах`,description:"Открытые границы задаются только крайними `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:_,marksPosition:`index`,value:[null,12]}},D={render:l(`days`,` дн.`),args:{label:`Срок: месяцы на шкале, дни в фильтре`,description:"`value` хранит координату/месяцы, `outputValue` отдаёт наружу дни.",min:1,max:24,marks:v,marksPosition:`index`,value:[90,360]}},O={render:l(`days`,` дн.`),args:{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:y,marksPosition:`index`,value:[null,720]}},k={render:x,args:{label:`Недоступно`,description:`Состояние без интеракций.`,value:40,disabled:!0,marks:h}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: renderSliderStory,
|
|
3
|
+
args: {
|
|
4
|
+
label: "Громкость",
|
|
5
|
+
description: "Компактный single-value слайдер со step=5.",
|
|
6
|
+
value: 35,
|
|
7
|
+
step: 5
|
|
8
|
+
}
|
|
9
|
+
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
10
|
+
render: renderSliderStory,
|
|
11
|
+
args: {
|
|
12
|
+
label: "Процент выполнения",
|
|
13
|
+
description: "Marks активны, кликабельны и показывают подписи через tooltip.",
|
|
14
|
+
value: 50,
|
|
15
|
+
marks: percentMarks
|
|
16
|
+
}
|
|
17
|
+
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
18
|
+
render: renderSliderStory,
|
|
19
|
+
args: {
|
|
20
|
+
label: "Срок",
|
|
21
|
+
min: 1,
|
|
22
|
+
max: 24,
|
|
23
|
+
value: 6,
|
|
24
|
+
marks: monthMarks,
|
|
25
|
+
marksPosition: "index",
|
|
26
|
+
description: "Неравномерные значения месяцев расположены с равным визуальным шагом."
|
|
27
|
+
}
|
|
28
|
+
}`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
|
|
29
|
+
render: createRangeSliderStoryRender("progress", "%"),
|
|
30
|
+
args: {
|
|
31
|
+
label: "Процент выполнения",
|
|
32
|
+
description: "Обычный range: \`value\` mark является и координатой шкалы, и значением фильтра.",
|
|
33
|
+
min: 0,
|
|
34
|
+
max: 100,
|
|
35
|
+
marks: percentMarks,
|
|
36
|
+
value: [25, 75]
|
|
37
|
+
}
|
|
38
|
+
}`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
|
|
39
|
+
render: createRangeSliderStoryRender("months", " мес."),
|
|
40
|
+
args: {
|
|
41
|
+
label: "Срок в месяцах",
|
|
42
|
+
description: "Открытые границы задаются только крайними \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`.",
|
|
43
|
+
min: 0,
|
|
44
|
+
max: 25,
|
|
45
|
+
marks: openMonthMarks,
|
|
46
|
+
marksPosition: "index",
|
|
47
|
+
value: [null, 12]
|
|
48
|
+
}
|
|
49
|
+
}`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
|
|
50
|
+
render: createRangeSliderStoryRender("days", " дн."),
|
|
51
|
+
args: {
|
|
52
|
+
label: "Срок: месяцы на шкале, дни в фильтре",
|
|
53
|
+
description: "\`value\` хранит координату/месяцы, \`outputValue\` отдаёт наружу дни.",
|
|
54
|
+
min: 1,
|
|
55
|
+
max: 24,
|
|
56
|
+
marks: monthToDayMarks,
|
|
57
|
+
marksPosition: "index",
|
|
58
|
+
value: [90, 360]
|
|
59
|
+
}
|
|
60
|
+
}`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
|
|
61
|
+
render: createRangeSliderStoryRender("days", " дн."),
|
|
62
|
+
args: {
|
|
63
|
+
label: "Срок: открытые границы и дни в фильтре",
|
|
64
|
+
description: "Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`.",
|
|
65
|
+
min: 0,
|
|
66
|
+
max: 25,
|
|
67
|
+
marks: openMonthToDayMarks,
|
|
68
|
+
marksPosition: "index",
|
|
69
|
+
value: [null, 720]
|
|
70
|
+
}
|
|
71
|
+
}`,...O.parameters?.docs?.source}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
|
|
72
|
+
render: renderSliderStory,
|
|
73
|
+
args: {
|
|
74
|
+
label: "Недоступно",
|
|
75
|
+
description: "Состояние без интеракций.",
|
|
76
|
+
value: 40,
|
|
77
|
+
disabled: true,
|
|
78
|
+
marks: percentMarks
|
|
79
|
+
}
|
|
80
|
+
}`,...k.parameters?.docs?.source}}},A=[`SingleStep`,`SingleWithMarks`,`MonthsIndexMarks`,`RangePlain`,`RangeOpenWithoutExplicitMiddleOutput`,`RangeMonthToDaysOutput`,`RangeOpenMonthToDaysOutput`,`Disabled`]})))()}export{E as a,C as c,O as i,c as l,w as n,T as o,D as r,S as s,k as t,j as u};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DBSrNt2a.js";import{a as r,i}from"./utils-DUM89eIj.js";import{o as a,s as o}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as s,t as c}from"./Popover-CAmdlvk7.js";import{n as l,t as u}from"./ui.module-CHEKb9Cb.js";import{a as d,c as f,l as p,o as m,r as h,u as g}from"./Input-C2Lss7is.js";import{n as _,t as v}from"./PickerTriggerActions-Bn7w0HQj.js";import{a as y,c as b,d as x,i as S,l as C,n as w,o as T,p as E,s as D,u as O}from"./Slider-DLtF6vGD.js";function k({open:e,disabled:t,setOpen:n}){return(0,B.jsx)(c.Trigger,{passive:!0,children:(0,B.jsx)(`div`,{children:(0,B.jsx)(v,{open:e,disabled:t,openAriaLabel:`Открыть слайдер`,closeAriaLabel:`Закрыть слайдер`,onToggleMouseDown:e=>e.preventDefault(),onToggleClick:()=>n(e=>!e)})})})}function A(e,t){let n=C(e,t);return{start:n[0]===null?`-∞`:String(n[0]),end:n[1]===null?`∞`:String(n[1])}}function j(e,t){let n=e.trim();return n===``||n===t?null:a(n)}function M(e,t,n){let r=t.filter(t=>D(t)===e);if(r.length)return e===null&&n===`end`?r[r.length-1]:r[0]}function N(e,t){return e?.readonlyLabel?.trim()?e.readonlyLabel.trim():typeof e?.label==`string`||typeof e?.label==`number`?String(e.label):t===null?``:String(t)}function P(e,t,n){return N(M(e,t,n),e)}function F(e,t,n){let[r,i]=e,a=r===null,o=i===null;return a&&o?n??``:a?`Меньше ${P(i,t,`end`)}`:o?`Больше ${P(r,t,`start`)}`:r===i?`Равно ${P(r,t,`start`)}`:`От ${P(r,t,`start`)} до ${P(i,t,`end`)}`}function I({value:e,onChange:t,min:n,max:r,step:i,marks:o,marksPosition:s=`value`,className:l,error:u,onClearError:f,label:p,description:m,placeholder:h,disabled:g,size:_}){let{min:v,max:b}=(0,z.useMemo)(()=>E(n,r),[n,r]),S=(0,z.useMemo)(()=>x(o,v,b),[o,v,b]),C=(0,z.useMemo)(()=>({min:v,max:b,step:i,marks:S,marksPosition:s}),[v,b,i,S,s]),T=O(e,C),[D,A]=(0,z.useState)(!1),[j,M]=(0,z.useState)(()=>({sourceValue:T,value:String(T)})),N=j.sourceValue===T?j.value:String(T),P=e=>{M({sourceValue:T,value:e})},F=(0,z.useCallback)(()=>{if(g){M({sourceValue:T,value:String(T)});return}let n=a(N);if(n===void 0){M({sourceValue:T,value:String(T)});return}let r=O(n,C);e!==r&&(t(r),f?.()),M({sourceValue:r,value:String(r)})},[g,N,T,t,f,C,e]);return(0,B.jsxs)(c,{open:D,onOpenChange:A,children:[(0,B.jsx)(d,{label:p,description:m,placeholder:h,disabled:g,size:_,className:l,error:u,value:N,onChange:P,onBlur:F,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),F())},endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:D,disabled:g,setOpen:A})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:y.popoverContent,children:(0,B.jsx)(w,{mode:`single`,min:v,max:b,step:i,marks:S,marksPosition:s,marksDisplay:`full`,value:e,onChange:e=>{t(e),M({sourceValue:e,value:String(e)}),f?.()},disabled:g})})})]})}function L({value:e,onChange:t,min:n,max:i,step:a,marks:o,marksPosition:s=`value`,className:u,error:d,onClearError:f,label:p,description:_,readonlyValueText:v,placeholder:b,disabled:S,size:T}){let{min:D,max:O}=(0,z.useMemo)(()=>E(n,i),[n,i]),M=(0,z.useMemo)(()=>x(o,D,O),[o,D,O]),N=(0,z.useMemo)(()=>({min:D,max:O,step:a,marks:M,marksPosition:s}),[D,O,a,M,s]),P=(0,z.useMemo)(()=>C(e,N),[N,e]),I=(0,z.useMemo)(()=>A(P,N),[P,N]),[L,V]=(0,z.useState)(!1),[H,U]=(0,z.useState)(()=>({sourceValue:P,start:I.start,end:I.end})),[W,G]=(0,z.useState)(P),K=L||R(H.sourceValue,P),q=K?H.start:I.start,J=K?H.end:I.end,ee=e=>{U({sourceValue:P,start:e,end:J})},te=e=>{U({sourceValue:P,start:q,end:e})},{controlId:Y,labelId:X,descriptionId:ne,errorId:re,describedBy:ie}=g({hasLabel:p!=null,hasDescription:!!_,hasError:!!d}),Z=(0,z.useCallback)(()=>{U({sourceValue:P,start:I.start,end:I.end})},[I.end,I.start,P]),Q=(0,z.useCallback)(()=>{if(S){Z();return}let e=j(q,`-∞`),n=j(J,`∞`);if(e===void 0||n===void 0){Z();return}let r=C([e,n],N);R(P,r)||(t(r),f?.());let i=A(r,N);U({sourceValue:r,start:i.start,end:i.end}),G(r)},[S,J,q,P,t,f,Z,N]),ae=(0,z.useCallback)(e=>{let n=C(e,N);R(P,n)||(t(n),f?.());let r=A(n,N);U({sourceValue:n,start:r.start,end:r.end}),G(n)},[P,t,f,N]),$=e=>{!L&&e&&(G(P),U({sourceValue:P,start:I.start,end:I.end})),L&&!e&&!S&&ae(W),V(e)},oe=e=>{e.key===`Enter`&&(e.preventDefault(),Q())},se=e=>{let t=C(e,N);G(t);let n=A(t,N);U({sourceValue:P,start:n.start,end:n.end})},ce=v?F(L?W:P,M,b):void 0;return(0,B.jsxs)(c,{open:L,onOpenChange:$,children:[(0,B.jsx)(m,{label:p,description:_,disabled:S,className:u,size:T,error:d,controlId:Y,labelId:X,descriptionId:ne,errorId:re,children:(0,B.jsx)(h,{endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:L,disabled:S,setOpen:e=>{$(typeof e==`function`?e(L):e)}}),children:({controlClassName:e})=>(0,B.jsx)(`div`,{id:Y,className:r(l.uiInputControlFake,y.rangeInputControl,e),"data-invalid":d?``:void 0,"data-disabled":S||void 0,role:`group`,"aria-invalid":!!d||void 0,"aria-label":typeof p==`string`?p:`Диапазон`,"aria-labelledby":typeof p==`string`?void 0:X,"aria-describedby":ie,children:v?(0,B.jsx)(`span`,{className:r(`flexEllipsis`,!ce&&l.uiPlaceholder),children:ce||b}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:y.rangeSegmentInput,value:q,disabled:S,"aria-label":`Начало диапазона`,onChange:e=>ee(e.target.value),onBlur:Q,onKeyDown:oe}),(0,B.jsx)(`span`,{className:y.rangeSeparator,"data-disabled":S||void 0,children:`-`}),(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:y.rangeSegmentInput,value:J,disabled:S,"aria-label":`Конец диапазона`,onChange:e=>te(e.target.value),onBlur:Q,onKeyDown:oe})]})})})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:y.popoverContent,children:(0,B.jsx)(w,{mode:`range`,min:D,max:O,step:a,marks:M,marksPosition:s,marksDisplay:`full`,value:W,onChange:se,disabled:S})})})]})}function R(e,t){return e[0]===t[0]&&e[1]===t[1]}var z,B;function V(){return(V=e((()=>{z=t(),o(),i(),f(),p(),_(),s(),u(),b(),S(),T(),B=n(),I.__docgenInfo={description:``,methods:[],displayName:`SliderInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks single-слайдера. Single-компонент отдаёт наружу `mark.value`."}}},L.__docgenInfo={description:``,methods:[],displayName:`SliderRangeInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks range-слайдера. `value` задаёт координату на шкале, `outputValue` задаёт публичное значение для потребителя."},readonlyValueText:{required:!1,tsType:{name:`boolean`},description:`Показывает вместо ручных сегментов готовый текст по выбранным marks.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DuAeRvx6.js";import{a as r,i}from"./utils-DUM89eIj.js";import{o as a,s as o}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as s,t as c}from"./Popover-DB3qAxXW.js";import{n as l,t as u}from"./ui.module-DjxH5szp.js";import{a as d,c as f,l as p,o as m,r as h,u as g}from"./Input-B9ykEI3i.js";import{n as _,t as v}from"./PickerTriggerActions-CQDEvDc_.js";import{a as y,c as b,d as x,i as S,l as C,n as w,o as T,p as E,s as D,u as O}from"./Slider-Su14u999.js";function k({open:e,disabled:t,setOpen:n}){return(0,B.jsx)(c.Trigger,{passive:!0,children:(0,B.jsx)(`div`,{children:(0,B.jsx)(v,{open:e,disabled:t,openAriaLabel:`Открыть слайдер`,closeAriaLabel:`Закрыть слайдер`,onToggleMouseDown:e=>e.preventDefault(),onToggleClick:()=>n(e=>!e)})})})}function A(e,t){let n=C(e,t);return{start:n[0]===null?`-∞`:String(n[0]),end:n[1]===null?`∞`:String(n[1])}}function j(e,t){let n=e.trim();return n===``||n===t?null:a(n)}function M(e,t,n){let r=t.filter(t=>D(t)===e);if(r.length)return e===null&&n===`end`?r[r.length-1]:r[0]}function N(e,t){return e?.readonlyLabel?.trim()?e.readonlyLabel.trim():typeof e?.label==`string`||typeof e?.label==`number`?String(e.label):t===null?``:String(t)}function P(e,t,n){return N(M(e,t,n),e)}function F(e,t,n){let[r,i]=e,a=r===null,o=i===null;return a&&o?n??``:a?`Меньше ${P(i,t,`end`)}`:o?`Больше ${P(r,t,`start`)}`:r===i?`Равно ${P(r,t,`start`)}`:`От ${P(r,t,`start`)} до ${P(i,t,`end`)}`}function I({value:e,onChange:t,min:n,max:r,step:i,marks:o,marksPosition:s=`value`,className:l,error:u,onClearError:f,label:p,description:m,placeholder:h,disabled:g,size:_}){let{min:v,max:b}=(0,z.useMemo)(()=>E(n,r),[n,r]),S=(0,z.useMemo)(()=>x(o,v,b),[o,v,b]),C=(0,z.useMemo)(()=>({min:v,max:b,step:i,marks:S,marksPosition:s}),[v,b,i,S,s]),T=O(e,C),[D,A]=(0,z.useState)(!1),[j,M]=(0,z.useState)(()=>({sourceValue:T,value:String(T)})),N=j.sourceValue===T?j.value:String(T),P=e=>{M({sourceValue:T,value:e})},F=(0,z.useCallback)(()=>{if(g){M({sourceValue:T,value:String(T)});return}let n=a(N);if(n===void 0){M({sourceValue:T,value:String(T)});return}let r=O(n,C);e!==r&&(t(r),f?.()),M({sourceValue:r,value:String(r)})},[g,N,T,t,f,C,e]);return(0,B.jsxs)(c,{open:D,onOpenChange:A,children:[(0,B.jsx)(d,{label:p,description:m,placeholder:h,disabled:g,size:_,className:l,error:u,value:N,onChange:P,onBlur:F,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),F())},endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:D,disabled:g,setOpen:A})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:y.popoverContent,children:(0,B.jsx)(w,{mode:`single`,min:v,max:b,step:i,marks:S,marksPosition:s,marksDisplay:`full`,value:e,onChange:e=>{t(e),M({sourceValue:e,value:String(e)}),f?.()},disabled:g})})})]})}function L({value:e,onChange:t,min:n,max:i,step:a,marks:o,marksPosition:s=`value`,className:u,error:d,onClearError:f,label:p,description:_,readonlyValueText:v,placeholder:b,disabled:S,size:T}){let{min:D,max:O}=(0,z.useMemo)(()=>E(n,i),[n,i]),M=(0,z.useMemo)(()=>x(o,D,O),[o,D,O]),N=(0,z.useMemo)(()=>({min:D,max:O,step:a,marks:M,marksPosition:s}),[D,O,a,M,s]),P=(0,z.useMemo)(()=>C(e,N),[N,e]),I=(0,z.useMemo)(()=>A(P,N),[P,N]),[L,V]=(0,z.useState)(!1),[H,U]=(0,z.useState)(()=>({sourceValue:P,start:I.start,end:I.end})),[W,G]=(0,z.useState)(P),K=L||R(H.sourceValue,P),q=K?H.start:I.start,J=K?H.end:I.end,ee=e=>{U({sourceValue:P,start:e,end:J})},te=e=>{U({sourceValue:P,start:q,end:e})},{controlId:Y,labelId:X,descriptionId:ne,errorId:re,describedBy:ie}=g({hasLabel:p!=null,hasDescription:!!_,hasError:!!d}),Z=(0,z.useCallback)(()=>{U({sourceValue:P,start:I.start,end:I.end})},[I.end,I.start,P]),Q=(0,z.useCallback)(()=>{if(S){Z();return}let e=j(q,`-∞`),n=j(J,`∞`);if(e===void 0||n===void 0){Z();return}let r=C([e,n],N);R(P,r)||(t(r),f?.());let i=A(r,N);U({sourceValue:r,start:i.start,end:i.end}),G(r)},[S,J,q,P,t,f,Z,N]),ae=(0,z.useCallback)(e=>{let n=C(e,N);R(P,n)||(t(n),f?.());let r=A(n,N);U({sourceValue:n,start:r.start,end:r.end}),G(n)},[P,t,f,N]),$=e=>{!L&&e&&(G(P),U({sourceValue:P,start:I.start,end:I.end})),L&&!e&&!S&&ae(W),V(e)},oe=e=>{e.key===`Enter`&&(e.preventDefault(),Q())},se=e=>{let t=C(e,N);G(t);let n=A(t,N);U({sourceValue:P,start:n.start,end:n.end})},ce=v?F(L?W:P,M,b):void 0;return(0,B.jsxs)(c,{open:L,onOpenChange:$,children:[(0,B.jsx)(m,{label:p,description:_,disabled:S,className:u,size:T,error:d,controlId:Y,labelId:X,descriptionId:ne,errorId:re,children:(0,B.jsx)(h,{endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:L,disabled:S,setOpen:e=>{$(typeof e==`function`?e(L):e)}}),children:({controlClassName:e})=>(0,B.jsx)(`div`,{id:Y,className:r(l.uiInputControlFake,y.rangeInputControl,e),"data-invalid":d?``:void 0,"data-disabled":S||void 0,role:`group`,"aria-invalid":!!d||void 0,"aria-label":typeof p==`string`?p:`Диапазон`,"aria-labelledby":typeof p==`string`?void 0:X,"aria-describedby":ie,children:v?(0,B.jsx)(`span`,{className:r(`flexEllipsis`,!ce&&l.uiPlaceholder),children:ce||b}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:y.rangeSegmentInput,value:q,disabled:S,"aria-label":`Начало диапазона`,onChange:e=>ee(e.target.value),onBlur:Q,onKeyDown:oe}),(0,B.jsx)(`span`,{className:y.rangeSeparator,"data-disabled":S||void 0,children:`-`}),(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:y.rangeSegmentInput,value:J,disabled:S,"aria-label":`Конец диапазона`,onChange:e=>te(e.target.value),onBlur:Q,onKeyDown:oe})]})})})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:y.popoverContent,children:(0,B.jsx)(w,{mode:`range`,min:D,max:O,step:a,marks:M,marksPosition:s,marksDisplay:`full`,value:W,onChange:se,disabled:S})})})]})}function R(e,t){return e[0]===t[0]&&e[1]===t[1]}var z,B;function V(){return(V=e((()=>{z=t(),o(),i(),f(),p(),_(),s(),u(),b(),S(),T(),B=n(),I.__docgenInfo={description:``,methods:[],displayName:`SliderInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks single-слайдера. Single-компонент отдаёт наружу `mark.value`."}}},L.__docgenInfo={description:``,methods:[],displayName:`SliderRangeInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks range-слайдера. `value` задаёт координату на шкале, `outputValue` задаёт публичное значение для потребителя."},readonlyValueText:{required:!1,tsType:{name:`boolean`},description:`Показывает вместо ручных сегментов готовый текст по выбранным marks.
|
|
2
2
|
Popover остаётся единственным способом изменить значение через слайдер, а потребитель получает изменение при закрытии popover.`}}}})))()}export{L as n,V as r,I 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-DuAeRvx6.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-Dk_BOKmc.js";import{a as p,c as m,d as h,i as g,l as _,n as v,o as y,r as b,s as x,t as S,u as C}from"./SliderInput.stories-oSDfsTGl.js";function w(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(s,{of:C,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,E.jsx)(u,{children:`SliderInput`}),`
|
|
3
3
|
`,(0,E.jsx)(o,{children:`Поля ввода для single и range с popover slider`}),`
|
|
4
4
|
`,(0,E.jsxs)(t.p,{children:[(0,E.jsx)(t.code,{children:`SliderInput`}),` работает с одним числом, а `,(0,E.jsx)(t.code,{children:`SliderRangeInput`}),` — с диапазоном `,(0,E.jsx)(t.code,{children:`[number | null, number | null]`}),`.`]}),`
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{n}from"./iframe-DuAeRvx6.js";import{a as r,s as i}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as a,t as o}from"./createControlledStoryRender-DHsyXc1B.js";import{n as s,r as c,t as l}from"./SliderInput-C6vA0nX0.js";var u=t({Basic:()=>x,DecimalManualInput:()=>C,Disabled:()=>k,MarksSnap:()=>S,RangeInputMonthToDaysOutput:()=>E,RangeInputOpenMonthToDaysOutput:()=>D,RangeInputOpenWithoutExplicitMiddleOutput:()=>T,RangeInputPlain:()=>w,RangeInputReadonlyText:()=>O,__namedExportsOrder:()=>A,default:()=>y});function d(e){return o((t,n)=>(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(s,{...t,onChange:e=>{t.onChange(e),n({value:e})},onClearError:()=>{t.onClearError?.(),n({error:void 0})}}),(0,p.jsx)(f,{value:t.value,field:e})]}))}function f({value:e,field:t,children:n}){let[i,a]=e??[null,null];return(0,p.jsxs)(`div`,{className:`marginTopMd`,children:[(0,p.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,p.jsx)(`pre`,{children:JSON.stringify({value:[i,a],filter:r(t,e)},null,2)}),n]})}var p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A;function j(){return(j=e((()=>{i(),c(),a(),p=n(),{fn:m}=__STORYBOOK_MODULE_TEST__,h=[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}],g=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],_=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],v=[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],y={title:`Shared/UI/SliderInput`,component:l,args:{label:`Порог`,value:12,onChange:m(),min:0,max:100,step:.5},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Подпись поля над числовым вводом.`,control:`text`},description:{description:`Пояснение под подписью поля.`,control:`text`},placeholder:{description:`Текст пустого поля или readonly-диапазона.`,control:`text`},value:{description:`Текущее значение; в range-сценариях — пара бизнес-границ.`,control:!1},onChange:{description:`Вызывается после commit ручного ввода или закрытия popover.`,control:!1},min:{description:`Минимальная координата шкалы в popover.`,control:`number`},max:{description:`Максимальная координата шкалы в popover.`,control:`number`},step:{description:`Шаг ручного ввода и слайдера, если не заданы marks.`,control:{type:`number`,min:0,step:.1}},marks:{description:`Дискретные точки popover-слайдера; range-marks могут возвращать outputValue.`,control:!1},marksPosition:{description:`Располагает marks пропорционально значению или равномерно по индексу.`,control:`inline-radio`,options:[`value`,`index`]},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается после успешного изменения значения.`,control:!1},size:{description:`Размер подписи и поля.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует ручной ввод и открытие popover.`,control:`boolean`}}},b=o((e,t)=>(0,p.jsx)(l,{...e,onChange:n=>{e.onChange(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),x={render:b,args:{label:`Порог`,description:`Ручной ввод и popover slider работают с одним значением.`}},S={render:b,args:{label:`Готовый пресет`,value:40,marks:h}},C={render:b,args:{label:`Десятичное значение`,value:17.5,step:.5}},w={render:d(`progress`),args:{label:`Процент выполнения`,description:"RangeInput без outputValue: наружу отдаётся координата `value`.",min:0,max:100,marks:h,value:[20,80]}},T={render:d(`months`),args:{label:`Срок в месяцах`,description:"У крайних marks `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:g,marksPosition:`index`,value:[null,12]}},E={render:d(`days`),args:{label:`Срок: месяцы на шкале, дни в фильтре`,description:`В поле и фильтре видны дни, а popover показывает месячные marks.`,min:1,max:24,marks:_,marksPosition:`index`,value:[90,360]}},D={render:d(`days`),args:{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:v,marksPosition:`index`,value:[null,720]}},O={render:d(`days`),args:{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,min:0,max:25,marks:v,marksPosition:`index`,value:[90,180],readonlyValueText:!0,placeholder:`Любой срок`},argTypes:{readonlyValueText:{description:`Показывает собранный текст вместо ручных сегментов диапазона.`,control:`boolean`}}},k={render:b,args:{label:`Недоступно`,description:`Поле и popover отключены.`,value:20,disabled:!0,marks:h}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
2
|
+
render: renderSliderInputStory,
|
|
3
|
+
args: {
|
|
4
|
+
label: "Порог",
|
|
5
|
+
description: "Ручной ввод и popover slider работают с одним значением."
|
|
6
|
+
}
|
|
7
|
+
}`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
8
|
+
render: renderSliderInputStory,
|
|
9
|
+
args: {
|
|
10
|
+
label: "Готовый пресет",
|
|
11
|
+
value: 40,
|
|
12
|
+
marks: percentMarks
|
|
13
|
+
}
|
|
14
|
+
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
15
|
+
render: renderSliderInputStory,
|
|
16
|
+
args: {
|
|
17
|
+
label: "Десятичное значение",
|
|
18
|
+
value: 17.5,
|
|
19
|
+
step: 0.5
|
|
20
|
+
}
|
|
21
|
+
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
22
|
+
render: createRangeSliderInputStoryRender("progress"),
|
|
23
|
+
args: {
|
|
24
|
+
label: "Процент выполнения",
|
|
25
|
+
description: "RangeInput без outputValue: наружу отдаётся координата \`value\`.",
|
|
26
|
+
min: 0,
|
|
27
|
+
max: 100,
|
|
28
|
+
marks: percentMarks,
|
|
29
|
+
value: [20, 80]
|
|
30
|
+
}
|
|
31
|
+
}`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
|
|
32
|
+
render: createRangeSliderInputStoryRender("months"),
|
|
33
|
+
args: {
|
|
34
|
+
label: "Срок в месяцах",
|
|
35
|
+
description: "У крайних marks \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`.",
|
|
36
|
+
min: 0,
|
|
37
|
+
max: 25,
|
|
38
|
+
marks: openMonthMarks,
|
|
39
|
+
marksPosition: "index",
|
|
40
|
+
value: [null, 12]
|
|
41
|
+
}
|
|
42
|
+
}`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
|
|
43
|
+
render: createRangeSliderInputStoryRender("days"),
|
|
44
|
+
args: {
|
|
45
|
+
label: "Срок: месяцы на шкале, дни в фильтре",
|
|
46
|
+
description: "В поле и фильтре видны дни, а popover показывает месячные marks.",
|
|
47
|
+
min: 1,
|
|
48
|
+
max: 24,
|
|
49
|
+
marks: monthToDayMarks,
|
|
50
|
+
marksPosition: "index",
|
|
51
|
+
value: [90, 360]
|
|
52
|
+
}
|
|
53
|
+
}`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
|
|
54
|
+
render: createRangeSliderInputStoryRender("days"),
|
|
55
|
+
args: {
|
|
56
|
+
label: "Срок: открытые границы и дни в фильтре",
|
|
57
|
+
description: "Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`.",
|
|
58
|
+
min: 0,
|
|
59
|
+
max: 25,
|
|
60
|
+
marks: openMonthToDayMarks,
|
|
61
|
+
marksPosition: "index",
|
|
62
|
+
value: [null, 720]
|
|
63
|
+
}
|
|
64
|
+
}`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
|
|
65
|
+
render: createRangeSliderInputStoryRender("days"),
|
|
66
|
+
args: {
|
|
67
|
+
label: "Срок текстом",
|
|
68
|
+
description: "В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.",
|
|
69
|
+
min: 0,
|
|
70
|
+
max: 25,
|
|
71
|
+
marks: openMonthToDayMarks,
|
|
72
|
+
marksPosition: "index",
|
|
73
|
+
value: [90, 180],
|
|
74
|
+
readonlyValueText: true,
|
|
75
|
+
placeholder: "Любой срок"
|
|
76
|
+
},
|
|
77
|
+
argTypes: {
|
|
78
|
+
readonlyValueText: {
|
|
79
|
+
description: "Показывает собранный текст вместо ручных сегментов диапазона.",
|
|
80
|
+
control: "boolean"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}`,...O.parameters?.docs?.source}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
|
|
84
|
+
render: renderSliderInputStory,
|
|
85
|
+
args: {
|
|
86
|
+
label: "Недоступно",
|
|
87
|
+
description: "Поле и popover отключены.",
|
|
88
|
+
value: 20,
|
|
89
|
+
disabled: true,
|
|
90
|
+
marks: percentMarks
|
|
91
|
+
}
|
|
92
|
+
}`,...k.parameters?.docs?.source}}},A=[`Basic`,`MarksSnap`,`DecimalManualInput`,`RangeInputPlain`,`RangeInputOpenWithoutExplicitMiddleOutput`,`RangeInputMonthToDaysOutput`,`RangeInputOpenMonthToDaysOutput`,`RangeInputReadonlyText`,`Disabled`]})))()}export{E as a,w as c,j as d,S as i,O as l,C as n,D as o,k as r,T as s,x as t,u};
|
|
@@ -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-DuAeRvx6.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-Dk_BOKmc.js";import{a as p,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./Sortable.stories-B1VPCY57.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:`Sortable`}),`
|
|
3
3
|
`,(0,C.jsxs)(o,{children:[`Headless-набор для сортируемых коллекций на базе `,(0,C.jsx)(t.code,{children:`dnd-kit`}),` с поддержкой list, horizontal и grid-layout`]}),`
|
|
4
4
|
`,(0,C.jsxs)(t.p,{children:[(0,C.jsx)(t.code,{children:`Sortable`}),` не навязывает визуальный вид элементов и используется как композиционный слой поверх `,(0,C.jsx)(t.code,{children:`dnd-kit`}),`.
|