@ryuzaki13/react-foundation-ui 1.0.8 → 1.0.12
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/README.md +457 -10
- package/dist/advanced-search/index.js +11 -11
- package/dist/badge/index.js +1 -1
- package/dist/base-table/index.js +1 -1
- package/dist/button/index.js +2 -23
- package/dist/check-box/index.js +1 -1
- package/dist/chunks/{CalendarView-DjeTJkTT.js → CalendarView-DCQjO2ho.js} +2 -2
- package/dist/chunks/{CalendarView-DjeTJkTT.js.map → CalendarView-DCQjO2ho.js.map} +1 -1
- package/dist/chunks/{odata-DSW7z3nh.js → SelectOptionContent-lfEtHXfO.js} +404 -381
- package/dist/chunks/SelectOptionContent-lfEtHXfO.js.map +1 -0
- package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js → TextEditorLexicalClient-Bca3FOUs.js} +8 -8
- package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js.map → TextEditorLexicalClient-Bca3FOUs.js.map} +1 -1
- package/dist/chunks/{BadgeList-DYgun2rf.js → badge-BfbLPk0z.js} +2 -2
- package/dist/chunks/badge-BfbLPk0z.js.map +1 -0
- package/dist/chunks/{base-table-CoQlKABk.js → base-table-CiYSRI_J.js} +4 -4
- package/dist/chunks/{base-table-CoQlKABk.js.map → base-table-CiYSRI_J.js.map} +1 -1
- package/dist/chunks/button-CC0Jdx1j.js +72 -0
- package/dist/chunks/button-CC0Jdx1j.js.map +1 -0
- package/dist/chunks/{CheckBox-BowNqqd3.js → check-box-BowNqqd3.js} +1 -1
- package/dist/chunks/check-box-BowNqqd3.js.map +1 -0
- package/dist/chunks/{DropdownMenu-DQeR3y7M.js → context-menu-DQeR3y7M.js} +1 -1
- package/dist/chunks/context-menu-DQeR3y7M.js.map +1 -0
- package/dist/chunks/{DateInput-BTJ-QTUx.js → date-input-DjAQ75n9.js} +5 -5
- package/dist/chunks/date-input-DjAQ75n9.js.map +1 -0
- package/dist/chunks/{DateRangePresetSelect-UgsfaOeM.js → date-range-preset-select-UgsfaOeM.js} +1 -1
- package/dist/chunks/date-range-preset-select-UgsfaOeM.js.map +1 -0
- package/dist/chunks/{Flex-DUYSL5TE.js → flex-CPO6xlPR.js} +38 -33
- package/dist/chunks/{Flex-DUYSL5TE.js.map → flex-CPO6xlPR.js.map} +1 -1
- package/dist/chunks/{Grid-ByIIytjh.js → grid-ByIIytjh.js} +1 -1
- package/dist/chunks/{Grid-ByIIytjh.js.map → grid-ByIIytjh.js.map} +1 -1
- package/dist/chunks/{Input-anSjiM9b.js → input-CZLUUggm.js} +10 -2
- package/dist/chunks/input-CZLUUggm.js.map +1 -0
- package/dist/chunks/{InputFiles-XBQxkHdB.js → input-files-aB8iaqGk.js} +5 -5
- package/dist/chunks/input-files-aB8iaqGk.js.map +1 -0
- package/dist/chunks/{input-search-B_njjJuV.js → input-search-eMvnvgV0.js} +2 -2
- package/dist/chunks/{input-search-B_njjJuV.js.map → input-search-eMvnvgV0.js.map} +1 -1
- package/dist/chunks/{misc-DoqZBMof.js → misc-1PxS8OWD.js} +2 -2
- package/dist/chunks/{misc-DoqZBMof.js.map → misc-1PxS8OWD.js.map} +1 -1
- package/dist/chunks/{modal-ByNRME3b.js → modal-C0j0hEIt.js} +5 -5
- package/dist/chunks/{modal-ByNRME3b.js.map → modal-C0j0hEIt.js.map} +1 -1
- package/dist/chunks/multi-select-r0ekR6Bh.js +541 -0
- package/dist/chunks/multi-select-r0ekR6Bh.js.map +1 -0
- package/dist/chunks/{picker-Du7Y4-el.js → picker-beNX-cW9.js} +11 -11
- package/dist/chunks/{picker-Du7Y4-el.js.map → picker-beNX-cW9.js.map} +1 -1
- package/dist/chunks/{RadioGroup-B9XjkcOy.js → radio-group-B9XjkcOy.js} +1 -1
- package/dist/chunks/radio-group-B9XjkcOy.js.map +1 -0
- package/dist/chunks/select-CFbZS7fx.js +284 -0
- package/dist/chunks/select-CFbZS7fx.js.map +1 -0
- package/dist/chunks/{table-Dc3AqMzP.js → table-BR2VqeEg.js} +2 -2
- package/dist/chunks/{table-Dc3AqMzP.js.map → table-BR2VqeEg.js.map} +1 -1
- package/dist/chunks/{toolbar-BCZNdRXM.js → toolbar-XCDeS2Li.js} +2 -2
- package/dist/chunks/{toolbar-BCZNdRXM.js.map → toolbar-XCDeS2Li.js.map} +1 -1
- package/dist/chunks/{useODataSelectBase-BbeKdq6x.js → useODataSelectBase-BxAvhDww.js} +2 -2
- package/dist/chunks/{useODataSelectBase-BbeKdq6x.js.map → useODataSelectBase-BxAvhDww.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-range-preset-select/index.js +1 -1
- package/dist/date-time-input/index.js +458 -2
- package/dist/date-time-input/index.js.map +1 -0
- package/dist/detail/index.js +80 -2
- package/dist/detail/index.js.map +1 -0
- package/dist/dialog/index.js +50 -2
- package/dist/dialog/index.js.map +1 -0
- package/dist/disclosure/index.js +49 -2
- package/dist/disclosure/index.js.map +1 -0
- package/dist/drop-zone/index.js +98 -2
- package/dist/drop-zone/index.js.map +1 -0
- package/dist/errors/index.js +1 -1
- package/dist/expandable-action-panel/index.js +82 -2
- package/dist/expandable-action-panel/index.js.map +1 -0
- package/dist/flex/index.js +2 -14
- package/dist/grid/index.js +1 -1
- package/dist/image/index.js +5 -5
- package/dist/input/index.js +2 -14
- package/dist/input-date-time/index.js +258 -2
- package/dist/input-date-time/index.js.map +1 -0
- package/dist/input-file/index.js +105 -2
- package/dist/input-file/index.js.map +1 -0
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +100 -2
- package/dist/input-image/index.js.map +1 -0
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +1171 -2
- package/dist/layout-picker/index.js.map +1 -0
- package/dist/list/index.js +2 -2
- package/dist/listbox/index.js +81 -2
- package/dist/listbox/index.js.map +1 -0
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +2 -3
- package/dist/notifications/index.js +151 -3
- package/dist/notifications/index.js.map +1 -0
- package/dist/picker/index.js +1 -1
- package/dist/preset-range-date-input/index.js +52 -3
- package/dist/preset-range-date-input/index.js.map +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js +48 -2
- package/dist/radio-button/index.js.map +1 -0
- package/dist/radio-group/index.js +1 -1
- package/dist/select/index.js +2 -4
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +695 -2
- package/dist/slider/index.js.map +1 -0
- package/dist/splitter/index.js +168 -2
- package/dist/splitter/index.js.map +1 -0
- package/dist/state-select/index.js +78 -2
- package/dist/state-select/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +81 -2
- package/dist/switch/index.js.map +1 -0
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +384 -2
- package/dist/tabs/index.js.map +1 -0
- package/dist/text-editor/index.js +3 -3
- package/dist/text-editor/toolbar/index.js +1 -1
- package/dist/textarea/index.js +44 -2
- package/dist/textarea/index.js.map +1 -0
- package/dist/toggle/index.js +73 -2
- package/dist/toggle/index.js.map +1 -0
- package/dist/toolbar/index.js +2 -3
- package/dist/toolbar/index.js.map +1 -1
- package/dist/tree-select/index.js +569 -89
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-table/index.js +1 -1
- package/package.json +5 -304
- package/src/styles/_base.scss +11 -3
- package/src/styles/config/_index.scss +97 -113
- package/src/styles/mixins/_mixin.scss +4 -4
- package/src/styles/themes/dark/_default.scss +0 -17
- package/storybook-static/assets/Badge-Cr7bAbxa.css +1 -0
- package/storybook-static/assets/Badge-Q8iX86Mn.js +139 -0
- package/storybook-static/assets/Badge.stories-BEMBzR2f.js +51 -0
- package/storybook-static/assets/Button-BN8Cuwsy.css +1 -0
- package/storybook-static/assets/Button-BUkCW8Zg.js +12 -0
- package/storybook-static/assets/Button-CfX05aoR.js +124 -0
- package/storybook-static/assets/Button.stories-BoNLZb6w.js +75 -0
- package/storybook-static/assets/CheckBox-B1xm2kwz.css +1 -0
- package/storybook-static/assets/CheckBox-CcXGzkSE.js +42 -0
- package/storybook-static/assets/CheckBox-DTSi8Yok.js +2 -0
- package/storybook-static/assets/CheckBox.module-Hr3mvdAC.js +1 -0
- package/storybook-static/assets/CheckBox.stories-Bo53TxC7.js +60 -0
- package/storybook-static/assets/Color-KMSTOMOX-Mbprgrbi.js +1 -0
- package/storybook-static/assets/ContextMenu-DYlSojIE.js +40 -0
- package/storybook-static/assets/ContextMenu.stories-BJr53bsq.js +90 -0
- package/storybook-static/assets/DateInput-Bc-MiPp1.css +1 -0
- package/storybook-static/assets/DateInput-BrmilavO.js +40 -0
- package/storybook-static/assets/DateInput-C72jV86j.js +1 -0
- package/storybook-static/assets/DateInput.stories-0hU_T1iZ.js +115 -0
- package/storybook-static/assets/DateRangePresetSelect-BklzgpCR.js +3 -0
- package/storybook-static/assets/DateRangePresetSelect-C7gJVkMB.js +30 -0
- package/storybook-static/assets/DateRangePresetSelect.stories-DQKDcAdP.js +11 -0
- package/storybook-static/assets/Detail-BKSBSfTO.css +1 -0
- package/storybook-static/assets/Detail-BMu0MY4h.js +40 -0
- package/storybook-static/assets/Detail.stories-CgBJjWQd.js +44 -0
- package/storybook-static/assets/Dialog-M7Uy3LiO.js +40 -0
- package/storybook-static/assets/Dialog.stories-BZ0opvaJ.js +31 -0
- package/storybook-static/assets/Disclosure-BXnfHC6v.js +29 -0
- package/storybook-static/assets/Disclosure-zNgXNDkm.css +1 -0
- package/storybook-static/assets/Disclosure.stories-C7wh6KJU.js +35 -0
- package/storybook-static/assets/DocsRenderer-JROSPFPF-BjXFJaat.js +2 -0
- package/storybook-static/assets/DropZone-C7HIN5ml.css +1 -0
- package/storybook-static/assets/DropZone-cd1aCNT1.js +36 -0
- package/storybook-static/assets/DropZone.stories-CVu731Lk.js +44 -0
- package/storybook-static/assets/DropdownMenu-B97Ad5Dg.js +1 -0
- package/storybook-static/assets/DropdownMenu-BgzIzwzM.css +1 -0
- package/storybook-static/assets/ExpandableActionPanel-D7q9two4.css +1 -0
- package/storybook-static/assets/ExpandableActionPanel.stories-k-eTxMyV.js +20 -0
- package/storybook-static/assets/Flex-BQkqAqL5.js +61 -0
- package/storybook-static/assets/Flex-C_VnI9xY.js +3 -0
- package/storybook-static/assets/Flex-IXK2se1Y.css +1 -0
- package/storybook-static/assets/Flex.stories-C1VO9Ct3.js +300 -0
- package/storybook-static/assets/Grid-Dr3BuEgd.js +61 -0
- package/storybook-static/assets/Grid-K9R_IHaw.css +1 -0
- package/storybook-static/assets/Grid-y8wKyEwc.js +163 -0
- package/storybook-static/assets/Grid.stories-6WUp6Tof.js +495 -0
- package/storybook-static/assets/Input-B7DWcGCL.js +3 -0
- package/storybook-static/assets/Input-BioMOZju.css +1 -0
- package/storybook-static/assets/Input-yly8wxYE.js +39 -0
- package/storybook-static/assets/Input.stories-CkVqvY-C.js +38 -0
- package/storybook-static/assets/InputDateTime-Cv8gmBe0.css +1 -0
- package/storybook-static/assets/InputDateTime-DHirw8rp.js +39 -0
- package/storybook-static/assets/InputDateTime.stories-Dci_81MA.js +35 -0
- package/storybook-static/assets/InputFile-DBFfWIkJ.js +37 -0
- package/storybook-static/assets/InputFile-hNjZ_wlG.css +1 -0
- package/storybook-static/assets/InputFile.stories-Bar27dP5.js +36 -0
- package/storybook-static/assets/InputFiles-ByK52qUe.css +1 -0
- package/storybook-static/assets/InputFiles-DPz7PiOC.js +1 -0
- package/storybook-static/assets/InputFiles-tULKp1KR.js +37 -0
- package/storybook-static/assets/InputFiles.stories-CkZ8et32.js +33 -0
- package/storybook-static/assets/InputImage-C-pnIXhT.css +1 -0
- package/storybook-static/assets/InputImage-D8VckxKl.js +37 -0
- package/storybook-static/assets/InputImage.stories-Dq8ORce3.js +51 -0
- package/storybook-static/assets/LayoutPicker-9tLTatHF.css +1 -0
- package/storybook-static/assets/LayoutPicker-l3XFAkqv.js +65 -0
- package/storybook-static/assets/LayoutPicker.stories-BjUmm2cg.js +449 -0
- package/storybook-static/assets/Listbox-B_6QVPAJ.js +38 -0
- package/storybook-static/assets/Listbox.stories-Cf_ApbmT.js +47 -0
- package/storybook-static/assets/Modal-BL_cTIW7.css +1 -0
- package/storybook-static/assets/Modal-BzienAaa.js +54 -0
- package/storybook-static/assets/Modal.stories-cPIHRa9a.js +180 -0
- package/storybook-static/assets/MultiSelect-CK2D25RA.js +56 -0
- package/storybook-static/assets/MultiSelect-CUQV67Ev.css +1 -0
- package/storybook-static/assets/MultiSelect-CjGBd2pC.js +2 -0
- package/storybook-static/assets/MultiSelect.stories--f_FoBzR.js +29 -0
- package/storybook-static/assets/NotificationsHost-D5Pvn4eu.css +1 -0
- package/storybook-static/assets/NotificationsHost-DKmlmqh0.js +44 -0
- package/storybook-static/assets/NotificationsHost.stories-1bPUJXfm.js +25 -0
- package/storybook-static/assets/ODataMultiSelect-BWUXuzlr.js +53 -0
- package/storybook-static/assets/ODataMultiSelect.stories-DA0f6SUG.js +73 -0
- package/storybook-static/assets/ODataSelect-D7GAFOcM.js +1 -0
- package/storybook-static/assets/ODataSelect-aNdHSjo_.js +52 -0
- package/storybook-static/assets/ODataSelect.stories-CjXA9Y9l.js +73 -0
- package/storybook-static/assets/ODataTreeMultiSelect-DKodulQ8.js +17 -0
- package/storybook-static/assets/ODataTreeMultiSelect.stories-BjRcb4W0.js +24 -0
- package/storybook-static/assets/ODataTreeSelect-Ck8HCh74.js +16 -0
- package/storybook-static/assets/ODataTreeSelect.stories-BgDj08mH.js +21 -0
- package/storybook-static/assets/PeriodSelect-Db7QmUfi.js +35 -0
- package/storybook-static/assets/PeriodSelect.stories-BI6yLRCK.js +23 -0
- package/storybook-static/assets/Popover-DR-r8iC5.js +45 -0
- package/storybook-static/assets/Popover.stories-ReRFMWiO.js +69 -0
- package/storybook-static/assets/PresetRangeDateInput-tSpiPAT9.js +31 -0
- package/storybook-static/assets/PresetRangeDateInput.stories-LVQa2_DG.js +15 -0
- package/storybook-static/assets/RadioButton-C-RjN-wY.css +1 -0
- package/storybook-static/assets/RadioButton-sEzdlL1y.js +38 -0
- package/storybook-static/assets/RadioButton.stories-CR0km0zF.js +36 -0
- package/storybook-static/assets/RadioGroup-BtNCd3Je.js +1 -0
- package/storybook-static/assets/RadioGroup-D-J7t20C.css +1 -0
- package/storybook-static/assets/RadioGroup-DR0H6Z0w.js +42 -0
- package/storybook-static/assets/RadioGroup.stories-FEqmkrs7.js +42 -0
- package/storybook-static/assets/Select-CO4ZHP9h.css +1 -0
- package/storybook-static/assets/Select-CUAevk01.js +57 -0
- package/storybook-static/assets/Select-DYVS7SCZ.js +9 -0
- package/storybook-static/assets/Select.stories-Df_c0IfC.js +37 -0
- package/storybook-static/assets/SelectOptionContent-B7W0Mned.js +1 -0
- package/storybook-static/assets/SerializableSelect-D63xBqOT.js +48 -0
- package/storybook-static/assets/SerializableSelect-DwCnuBgv.js +4 -0
- package/storybook-static/assets/SerializableSelect.stories-BLPXVOtP.js +43 -0
- package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +1 -0
- package/storybook-static/assets/SingleDateTimeInput-xMkDodYz.js +53 -0
- package/storybook-static/assets/SingleDateTimeInput.stories-kcuSwx76.js +78 -0
- package/storybook-static/assets/Slider-BHZgpCjC.js +63 -0
- package/storybook-static/assets/Slider.stories-Bias_Soq.js +77 -0
- package/storybook-static/assets/SliderInput-jzFZcWr7.js +58 -0
- package/storybook-static/assets/SliderInput.stories-B7w8bp86.js +67 -0
- package/storybook-static/assets/Sortable-DcmDaPBw.js +72 -0
- package/storybook-static/assets/Sortable.stories-CwhHGCih.js +141 -0
- package/storybook-static/assets/Splitter-Bn7AJiD_.js +83 -0
- package/storybook-static/assets/Splitter-D-LmmQad.css +1 -0
- package/storybook-static/assets/Splitter.stories-CSvjKF-O.js +22 -0
- package/storybook-static/assets/StateSelect-MIGiXD10.js +36 -0
- package/storybook-static/assets/StateSelect-pIMkhj9A.css +1 -0
- package/storybook-static/assets/StateSelect.stories-BGDCnVqb.js +47 -0
- package/storybook-static/assets/Switch-C5zxOq_O.js +36 -0
- package/storybook-static/assets/Switch-DGYGWtPw.css +1 -0
- package/storybook-static/assets/Switch.stories-BmCl_Ts5.js +26 -0
- package/storybook-static/assets/Table-BGvRn9y0.css +1 -0
- package/storybook-static/assets/Table-CoySXvs5.js +197 -0
- package/storybook-static/assets/Table.stories-CA7ARhwC.js +122 -0
- package/storybook-static/assets/Tabs-BLkTB6pp.css +1 -0
- package/storybook-static/assets/Tabs-CQdzU18E.js +72 -0
- package/storybook-static/assets/Tabs.stories-SBWTpiy2.js +58 -0
- package/storybook-static/assets/Textarea-Bo-I0cnE.js +37 -0
- package/storybook-static/assets/Textarea-CPNMR88I.css +1 -0
- package/storybook-static/assets/Textarea.stories-C1wO9PKR.js +27 -0
- package/storybook-static/assets/TimePanel-0-mzaXky.js +1 -0
- package/storybook-static/assets/TimePanel-Bh98qsCo.css +1 -0
- package/storybook-static/assets/TimePanel.stories-C1VM13qN.js +25 -0
- package/storybook-static/assets/Toggle-B9H63WWC.js +37 -0
- package/storybook-static/assets/Toggle-DHulCX3T.css +1 -0
- package/storybook-static/assets/Toggle.stories-CKlGFcZW.js +30 -0
- package/storybook-static/assets/TreeMultiSelect-AXIl2Ge2.js +15 -0
- package/storybook-static/assets/TreeMultiSelect-Ci3bUpmv.js +1 -0
- package/storybook-static/assets/TreeMultiSelect.stories-CXGt4Q_u.js +14 -0
- package/storybook-static/assets/TreePickerBase-Md6Mt9qF.js +19 -0
- package/storybook-static/assets/TreePickerBase-qreyVjhY.css +1 -0
- package/storybook-static/assets/TreeSelect-BWoURakw.js +15 -0
- package/storybook-static/assets/TreeSelect-bOgRYtQQ.js +1 -0
- package/storybook-static/assets/TreeSelect.stories-By0h6wRi.js +16 -0
- package/storybook-static/assets/TreeTable--ZoksUiw.css +1 -0
- package/storybook-static/assets/TreeTable-C52Jh7O_.js +175 -0
- package/storybook-static/assets/TreeTable.stories-BH9Q8NPP.js +83 -0
- package/storybook-static/assets/WithTooltip-7X4HQR7L-DQXHhZoH.js +9 -0
- package/storybook-static/assets/axe-GLfyhAYL.js +20 -0
- package/storybook-static/assets/base-table-BNO0lnTL.css +1 -0
- package/storybook-static/assets/base-table-BSkQBgdx.js +18 -0
- package/storybook-static/assets/blocks-CwEU-ME1.js +285 -0
- package/storybook-static/assets/button-Bl3Hu8CS.js +1 -0
- package/storybook-static/assets/check-box-BrnNQnSi.js +1 -0
- package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +1 -0
- package/storybook-static/assets/chunk-3LY4VQVK-BxHCYS2R.js +6 -0
- package/storybook-static/assets/chunk-LITCR56V-euffoZAN.js +18 -0
- package/storybook-static/assets/contextMenu-Do6qEwKB.js +2 -0
- package/storybook-static/assets/date-segments-CzU9k5bl.js +1 -0
- package/storybook-static/assets/error-RVOk7zpw.js +1 -0
- package/storybook-static/assets/file-hArYcyES.js +1 -0
- package/storybook-static/assets/flex-DuYzsEBQ.js +1 -0
- package/storybook-static/assets/floating-ui.react-BR04wkLx.js +1 -0
- package/storybook-static/assets/formatter-L2YTDE3Q-Cdp-Jp2M.js +1 -0
- package/storybook-static/assets/formatters-yIBztcem.js +3 -0
- package/storybook-static/assets/grid-D0WOuGlB.js +1 -0
- package/storybook-static/assets/hooks-BEB2Gqy0.js +5 -0
- package/storybook-static/assets/iframe-SfMJGCsn.js +1117 -0
- package/storybook-static/assets/input-Be5K9_B7.js +1 -0
- package/storybook-static/assets/jsx-runtime-BBQGix-2.js +1 -0
- package/storybook-static/assets/lucide-react-CK2oyDtF.js +1 -0
- package/storybook-static/assets/matchers-JIUQ3HVY-BPS-eazD.js +28 -0
- package/storybook-static/assets/mdx-react-shim-DnKFgFHy.js +1 -0
- package/storybook-static/assets/media-Djn0SUaN.js +1 -0
- package/storybook-static/assets/misc-CPvLzCFJ.js +5 -0
- package/storybook-static/assets/misc-CerLA5Xh.css +1 -0
- package/storybook-static/assets/notifications-Zk996KvR.js +1 -0
- package/storybook-static/assets/odata-C2BNbnc9.js +1 -0
- package/storybook-static/assets/odata-service-8sDCOQ3I.js +1 -0
- package/storybook-static/assets/odataStoryFixtures-BBfdskiC.js +25 -0
- package/storybook-static/assets/picker-BmTTr59E.css +1 -0
- package/storybook-static/assets/picker-De4ZbESe.js +1 -0
- package/storybook-static/assets/popover-BiQHI7Wi.css +1 -0
- package/storybook-static/assets/popover-DWA5VOMQ.js +2 -0
- package/storybook-static/assets/preload-helper-B45gAKPr.js +1 -0
- package/storybook-static/assets/preset-select-DozCGhmu.js +5 -0
- package/storybook-static/assets/react-18-CfpYK14y.js +9 -0
- package/storybook-static/assets/react-BWN-5oQj.js +9 -0
- package/storybook-static/assets/react-dom-CncQzc_h.js +1 -0
- package/storybook-static/assets/select-BPvMbVDe.js +1 -0
- package/storybook-static/assets/slider-39Mty47U.js +2 -0
- package/storybook-static/assets/slider-DMDFRH6B.css +1 -0
- package/storybook-static/assets/sortable-CgCCp3dq.js +1 -0
- package/storybook-static/assets/sortable-DiBavgm0.css +1 -0
- package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-Di6cCrDX.js +6 -0
- package/storybook-static/assets/text-BxA8yj6Z.js +4 -0
- package/storybook-static/assets/theming-DZauqOKI.js +39 -0
- package/storybook-static/assets/treeStoryFixtures-Cd984L7t.js +1 -0
- package/storybook-static/assets/ui-CmVy0trY.js +1 -0
- package/storybook-static/assets/ui-ZWM9zG1I.css +1 -0
- package/storybook-static/assets/ui.module-DS2qtZts.js +1 -0
- package/storybook-static/assets/uiClasses-CZ_HVS3Y.js +1 -0
- package/storybook-static/assets/useODataSelectBase-D33B4x2W.js +1 -0
- package/storybook-static/assets/useODataTreeData-CDdzN-LC.js +1 -0
- package/storybook-static/assets/utils-CReRlw17.js +1 -0
- package/storybook-static/favicon-wrapper.svg +46 -0
- package/storybook-static/favicon.svg +1 -0
- package/storybook-static/iframe.html +709 -0
- package/storybook-static/index.html +146 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/sb-addons/a11y-2/manager-bundle.js +57 -0
- package/storybook-static/sb-addons/docs-1/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +630 -0
- package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
- package/storybook-static/sb-common-assets/favicon.svg +1 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-runtime.js +76714 -0
- package/storybook-static/sb-manager/globals.js +24 -0
- package/storybook-static/sb-manager/manager-stores.js +23 -0
- package/storybook-static/sb-manager/runtime.js +27451 -0
- package/storybook-static/vite-inject-mocker-entry.js +2 -0
- package/dist/badge/stories/Badge.stories.d.ts +0 -54
- package/dist/badge/stories/Badge.stories.d.ts.map +0 -1
- package/dist/badge/stories/Badge.stories.js +0 -147
- package/dist/badge/stories/Badge.stories.js.map +0 -1
- package/dist/button/index.js.map +0 -1
- package/dist/button/stories/Button.stories.d.ts +0 -69
- package/dist/button/stories/Button.stories.d.ts.map +0 -1
- package/dist/button/stories/Button.stories.js +0 -223
- package/dist/button/stories/Button.stories.js.map +0 -1
- package/dist/check-box/stories/CheckBox.stories.d.ts +0 -58
- package/dist/check-box/stories/CheckBox.stories.d.ts.map +0 -1
- package/dist/check-box/stories/CheckBox.stories.js +0 -150
- package/dist/check-box/stories/CheckBox.stories.js.map +0 -1
- package/dist/chunks/BadgeList-DYgun2rf.js.map +0 -1
- package/dist/chunks/Button-CCWuggdA.js +0 -55
- package/dist/chunks/Button-CCWuggdA.js.map +0 -1
- package/dist/chunks/CheckBox-BowNqqd3.js.map +0 -1
- package/dist/chunks/DateInput-BTJ-QTUx.js.map +0 -1
- package/dist/chunks/DateRangePresetSelect-UgsfaOeM.js.map +0 -1
- package/dist/chunks/Detail-DHDMsg8q.js +0 -80
- package/dist/chunks/Detail-DHDMsg8q.js.map +0 -1
- package/dist/chunks/Dialog-CFIvGxER.js +0 -50
- package/dist/chunks/Dialog-CFIvGxER.js.map +0 -1
- package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +0 -49
- package/dist/chunks/DisclosureGroup-CfRTkl6Z.js.map +0 -1
- package/dist/chunks/DropZone-DgDMu4Iw.js +0 -98
- package/dist/chunks/DropZone-DgDMu4Iw.js.map +0 -1
- package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +0 -1
- package/dist/chunks/Input-anSjiM9b.js.map +0 -1
- package/dist/chunks/InputDateTime-BGLJ_pbV.js +0 -258
- package/dist/chunks/InputDateTime-BGLJ_pbV.js.map +0 -1
- package/dist/chunks/InputFile-B5E0prk_.js +0 -105
- package/dist/chunks/InputFile-B5E0prk_.js.map +0 -1
- package/dist/chunks/InputFiles-XBQxkHdB.js.map +0 -1
- package/dist/chunks/InputImage-Bs6cFQIo.js +0 -100
- package/dist/chunks/InputImage-Bs6cFQIo.js.map +0 -1
- package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js +0 -82
- package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js.map +0 -1
- package/dist/chunks/Listbox-BZlp5qHz.js +0 -81
- package/dist/chunks/Listbox-BZlp5qHz.js.map +0 -1
- package/dist/chunks/MultiSelect-DblDAklj.js +0 -422
- package/dist/chunks/MultiSelect-DblDAklj.js.map +0 -1
- package/dist/chunks/NotificationsHost-_icJx4xR.js +0 -151
- package/dist/chunks/NotificationsHost-_icJx4xR.js.map +0 -1
- package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js +0 -53
- package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js.map +0 -1
- package/dist/chunks/RadioButton-D0uA0rX_.js +0 -48
- package/dist/chunks/RadioButton-D0uA0rX_.js.map +0 -1
- package/dist/chunks/RadioGroup-B9XjkcOy.js.map +0 -1
- package/dist/chunks/Select-ClBs-16a.js +0 -182
- package/dist/chunks/Select-ClBs-16a.js.map +0 -1
- package/dist/chunks/SelectOptionContent-CI7wq9Oi.js +0 -27
- package/dist/chunks/SelectOptionContent-CI7wq9Oi.js.map +0 -1
- package/dist/chunks/SerializableSelect-Ds8wp2_p.js +0 -33
- package/dist/chunks/SerializableSelect-Ds8wp2_p.js.map +0 -1
- package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js +0 -331
- package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js.map +0 -1
- package/dist/chunks/Splitter-BFkVGVRb.js +0 -168
- package/dist/chunks/Splitter-BFkVGVRb.js.map +0 -1
- package/dist/chunks/StateSelect-BzUsurDe.js +0 -78
- package/dist/chunks/StateSelect-BzUsurDe.js.map +0 -1
- package/dist/chunks/Switch-B57Qmy1z.js +0 -81
- package/dist/chunks/Switch-B57Qmy1z.js.map +0 -1
- package/dist/chunks/Textarea-CLyGS1h9.js +0 -44
- package/dist/chunks/Textarea-CLyGS1h9.js.map +0 -1
- package/dist/chunks/TimePanel-b4saqoUY.js +0 -135
- package/dist/chunks/TimePanel-b4saqoUY.js.map +0 -1
- package/dist/chunks/Toggle-DVqOQXmt.js +0 -73
- package/dist/chunks/Toggle-DVqOQXmt.js.map +0 -1
- package/dist/chunks/TreeMultiSelect-mIG8VKx8.js +0 -40
- package/dist/chunks/TreeMultiSelect-mIG8VKx8.js.map +0 -1
- package/dist/chunks/TreePickerBase-C9HEABt5.js +0 -423
- package/dist/chunks/TreePickerBase-C9HEABt5.js.map +0 -1
- package/dist/chunks/TreeSelect-B9rb_fbI.js +0 -37
- package/dist/chunks/TreeSelect-B9rb_fbI.js.map +0 -1
- package/dist/chunks/layout-picker-CSLuIUVZ.js +0 -1171
- package/dist/chunks/layout-picker-CSLuIUVZ.js.map +0 -1
- package/dist/chunks/multi-select-ei7LHBCv.js +0 -126
- package/dist/chunks/multi-select-ei7LHBCv.js.map +0 -1
- package/dist/chunks/odata-DSW7z3nh.js.map +0 -1
- package/dist/chunks/select-Ds7_EAGN.js +0 -81
- package/dist/chunks/select-Ds7_EAGN.js.map +0 -1
- package/dist/chunks/slider-uU26AeGu.js +0 -695
- package/dist/chunks/slider-uU26AeGu.js.map +0 -1
- package/dist/chunks/tabs-DlnVVMJl.js +0 -384
- package/dist/chunks/tabs-DlnVVMJl.js.map +0 -1
- package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js +0 -113
- package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js.map +0 -1
- package/dist/context-menu/stories/ContextMenu.stories.d.ts +0 -16
- package/dist/context-menu/stories/ContextMenu.stories.d.ts.map +0 -1
- package/dist/context-menu/stories/ContextMenu.stories.js +0 -136
- package/dist/context-menu/stories/ContextMenu.stories.js.map +0 -1
- package/dist/date-input/stories/DateInput.stories.d.ts +0 -132
- package/dist/date-input/stories/DateInput.stories.d.ts.map +0 -1
- package/dist/date-input/stories/DateInput.stories.js +0 -247
- package/dist/date-input/stories/DateInput.stories.js.map +0 -1
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts +0 -22
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts.map +0 -1
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +0 -41
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js.map +0 -1
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts +0 -95
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts.map +0 -1
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +0 -195
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.js.map +0 -1
- package/dist/date-time-input/stories/TimePanel.stories.d.ts +0 -26
- package/dist/date-time-input/stories/TimePanel.stories.d.ts.map +0 -1
- package/dist/date-time-input/stories/TimePanel.stories.js +0 -53
- package/dist/date-time-input/stories/TimePanel.stories.js.map +0 -1
- package/dist/detail/stories/Detail.stories.d.ts +0 -67
- package/dist/detail/stories/Detail.stories.d.ts.map +0 -1
- package/dist/detail/stories/Detail.stories.js +0 -170
- package/dist/detail/stories/Detail.stories.js.map +0 -1
- package/dist/dialog/stories/Dialog.stories.d.ts +0 -50
- package/dist/dialog/stories/Dialog.stories.d.ts.map +0 -1
- package/dist/dialog/stories/Dialog.stories.js +0 -89
- package/dist/dialog/stories/Dialog.stories.js.map +0 -1
- package/dist/disclosure/stories/Disclosure.stories.d.ts +0 -35
- package/dist/disclosure/stories/Disclosure.stories.d.ts.map +0 -1
- package/dist/disclosure/stories/Disclosure.stories.js +0 -70
- package/dist/disclosure/stories/Disclosure.stories.js.map +0 -1
- package/dist/drop-zone/stories/DropZone.stories.d.ts +0 -63
- package/dist/drop-zone/stories/DropZone.stories.d.ts.map +0 -1
- package/dist/drop-zone/stories/DropZone.stories.js +0 -97
- package/dist/drop-zone/stories/DropZone.stories.js.map +0 -1
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts +0 -44
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts.map +0 -1
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +0 -117
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js.map +0 -1
- package/dist/flex/index.js.map +0 -1
- package/dist/flex/stories/Flex.stories.d.ts +0 -24
- package/dist/flex/stories/Flex.stories.d.ts.map +0 -1
- package/dist/flex/stories/Flex.stories.js +0 -607
- package/dist/flex/stories/Flex.stories.js.map +0 -1
- package/dist/grid/stories/Grid.stories.d.ts +0 -24
- package/dist/grid/stories/Grid.stories.d.ts.map +0 -1
- package/dist/grid/stories/Grid.stories.js +0 -840
- package/dist/grid/stories/Grid.stories.js.map +0 -1
- package/dist/input/index.js.map +0 -1
- package/dist/input/stories/Input.stories.d.ts +0 -69
- package/dist/input/stories/Input.stories.d.ts.map +0 -1
- package/dist/input/stories/Input.stories.js +0 -132
- package/dist/input/stories/Input.stories.js.map +0 -1
- package/dist/input-date-time/stories/InputDateTime.stories.d.ts +0 -69
- package/dist/input-date-time/stories/InputDateTime.stories.d.ts.map +0 -1
- package/dist/input-date-time/stories/InputDateTime.stories.js +0 -125
- package/dist/input-date-time/stories/InputDateTime.stories.js.map +0 -1
- package/dist/input-file/stories/InputFile.stories.d.ts +0 -85
- package/dist/input-file/stories/InputFile.stories.d.ts.map +0 -1
- package/dist/input-file/stories/InputFile.stories.js +0 -158
- package/dist/input-file/stories/InputFile.stories.js.map +0 -1
- package/dist/input-files/stories/InputFiles.stories.d.ts +0 -86
- package/dist/input-files/stories/InputFiles.stories.d.ts.map +0 -1
- package/dist/input-files/stories/InputFiles.stories.js +0 -158
- package/dist/input-files/stories/InputFiles.stories.js.map +0 -1
- package/dist/input-image/stories/InputImage.stories.d.ts +0 -81
- package/dist/input-image/stories/InputImage.stories.d.ts.map +0 -1
- package/dist/input-image/stories/InputImage.stories.js +0 -174
- package/dist/input-image/stories/InputImage.stories.js.map +0 -1
- package/dist/layout-picker/stories/LayoutPicker.stories.d.ts +0 -873
- package/dist/layout-picker/stories/LayoutPicker.stories.d.ts.map +0 -1
- package/dist/layout-picker/stories/LayoutPicker.stories.js +0 -422
- package/dist/layout-picker/stories/LayoutPicker.stories.js.map +0 -1
- package/dist/listbox/stories/Listbox.stories.d.ts +0 -76
- package/dist/listbox/stories/Listbox.stories.d.ts.map +0 -1
- package/dist/listbox/stories/Listbox.stories.js +0 -140
- package/dist/listbox/stories/Listbox.stories.js.map +0 -1
- package/dist/modal/stories/Modal.stories.d.ts +0 -74
- package/dist/modal/stories/Modal.stories.d.ts.map +0 -1
- package/dist/modal/stories/Modal.stories.js +0 -320
- package/dist/modal/stories/Modal.stories.js.map +0 -1
- package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts +0 -67
- package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts.map +0 -1
- package/dist/multi-select/ui/stories/MultiSelect.stories.js +0 -114
- package/dist/multi-select/ui/stories/MultiSelect.stories.js.map +0 -1
- package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +0 -44
- package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +0 -1
- package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts +0 -21
- package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts.map +0 -1
- package/dist/notifications/ui/stories/NotificationsHost.stories.js +0 -326
- package/dist/notifications/ui/stories/NotificationsHost.stories.js.map +0 -1
- package/dist/period-select/stories/PeriodSelect.stories.d.ts +0 -96
- package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +0 -1
- package/dist/period-select/stories/PeriodSelect.stories.js +0 -166
- package/dist/period-select/stories/PeriodSelect.stories.js.map +0 -1
- package/dist/popover/stories/Popover.stories.d.ts +0 -10
- package/dist/popover/stories/Popover.stories.d.ts.map +0 -1
- package/dist/popover/stories/Popover.stories.js +0 -75
- package/dist/popover/stories/Popover.stories.js.map +0 -1
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts +0 -22
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts.map +0 -1
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +0 -45
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js.map +0 -1
- package/dist/radio-button/stories/RadioButton.stories.d.ts +0 -60
- package/dist/radio-button/stories/RadioButton.stories.d.ts.map +0 -1
- package/dist/radio-button/stories/RadioButton.stories.js +0 -121
- package/dist/radio-button/stories/RadioButton.stories.js.map +0 -1
- package/dist/radio-group/stories/RadioGroup.stories.d.ts +0 -74
- package/dist/radio-group/stories/RadioGroup.stories.d.ts.map +0 -1
- package/dist/radio-group/stories/RadioGroup.stories.js +0 -146
- package/dist/radio-group/stories/RadioGroup.stories.js.map +0 -1
- package/dist/select/stories/ODataSelect.stories.d.ts +0 -46
- package/dist/select/stories/ODataSelect.stories.d.ts.map +0 -1
- package/dist/select/stories/Select.stories.d.ts +0 -127
- package/dist/select/stories/Select.stories.d.ts.map +0 -1
- package/dist/select/stories/Select.stories.js +0 -214
- package/dist/select/stories/Select.stories.js.map +0 -1
- package/dist/select/stories/SerializableSelect.stories.d.ts +0 -91
- package/dist/select/stories/SerializableSelect.stories.d.ts.map +0 -1
- package/dist/select/stories/SerializableSelect.stories.js +0 -165
- package/dist/select/stories/SerializableSelect.stories.js.map +0 -1
- package/dist/select/stories/odataStoryCollection.d.ts +0 -2
- package/dist/select/stories/odataStoryCollection.d.ts.map +0 -1
- package/dist/select/stories/odataStoryFixtures.d.ts +0 -35
- package/dist/select/stories/odataStoryFixtures.d.ts.map +0 -1
- package/dist/slider/stories/Slider.stories.d.ts +0 -29
- package/dist/slider/stories/Slider.stories.d.ts.map +0 -1
- package/dist/slider/stories/Slider.stories.js +0 -310
- package/dist/slider/stories/Slider.stories.js.map +0 -1
- package/dist/slider/stories/SliderInput.stories.d.ts +0 -30
- package/dist/slider/stories/SliderInput.stories.d.ts.map +0 -1
- package/dist/slider/stories/SliderInput.stories.js +0 -282
- package/dist/slider/stories/SliderInput.stories.js.map +0 -1
- package/dist/sortable/stories/Sortable.stories.d.ts +0 -58
- package/dist/sortable/stories/Sortable.stories.d.ts.map +0 -1
- package/dist/sortable/stories/Sortable.stories.js +0 -255
- package/dist/sortable/stories/Sortable.stories.js.map +0 -1
- package/dist/splitter/stories/Splitter.stories.d.ts +0 -66
- package/dist/splitter/stories/Splitter.stories.d.ts.map +0 -1
- package/dist/splitter/stories/Splitter.stories.js +0 -223
- package/dist/splitter/stories/Splitter.stories.js.map +0 -1
- package/dist/state-select/stories/StateSelect.stories.d.ts +0 -70
- package/dist/state-select/stories/StateSelect.stories.d.ts.map +0 -1
- package/dist/state-select/stories/StateSelect.stories.js +0 -145
- package/dist/state-select/stories/StateSelect.stories.js.map +0 -1
- package/dist/switch/stories/Switch.stories.d.ts +0 -59
- package/dist/switch/stories/Switch.stories.d.ts.map +0 -1
- package/dist/switch/stories/Switch.stories.js +0 -90
- package/dist/switch/stories/Switch.stories.js.map +0 -1
- package/dist/table/stories/Table.stories.d.ts +0 -155
- package/dist/table/stories/Table.stories.d.ts.map +0 -1
- package/dist/tabs/stories/Tabs.stories.d.ts +0 -94
- package/dist/tabs/stories/Tabs.stories.d.ts.map +0 -1
- package/dist/tabs/stories/Tabs.stories.js +0 -283
- package/dist/tabs/stories/Tabs.stories.js.map +0 -1
- package/dist/textarea/stories/Textarea.stories.d.ts +0 -64
- package/dist/textarea/stories/Textarea.stories.d.ts.map +0 -1
- package/dist/textarea/stories/Textarea.stories.js +0 -98
- package/dist/textarea/stories/Textarea.stories.js.map +0 -1
- package/dist/toggle/stories/Toggle.stories.d.ts +0 -61
- package/dist/toggle/stories/Toggle.stories.d.ts.map +0 -1
- package/dist/toggle/stories/Toggle.stories.js +0 -102
- package/dist/toggle/stories/Toggle.stories.js.map +0 -1
- package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +0 -55
- package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +0 -1
- package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +0 -54
- package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +0 -1
- package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts +0 -35
- package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts.map +0 -1
- package/dist/tree-select/stories/TreeMultiSelect.stories.js +0 -64
- package/dist/tree-select/stories/TreeMultiSelect.stories.js.map +0 -1
- package/dist/tree-select/stories/TreeSelect.stories.d.ts +0 -35
- package/dist/tree-select/stories/TreeSelect.stories.d.ts.map +0 -1
- package/dist/tree-select/stories/TreeSelect.stories.js +0 -66
- package/dist/tree-select/stories/TreeSelect.stories.js.map +0 -1
- package/dist/tree-select/stories/treeStoryFixtures.d.ts +0 -3
- package/dist/tree-select/stories/treeStoryFixtures.d.ts.map +0 -1
- package/dist/tree-table/stories/TreeTable.stories.d.ts +0 -158
- package/dist/tree-table/stories/TreeTable.stories.d.ts.map +0 -1
- package/src/styles/fonts.scss +0 -47
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./Select-ClBs-16a.js";
|
|
2
|
-
import { useMemo as t } from "react";
|
|
3
|
-
import { cn as n } from "@ryuzaki13/react-foundation-lib/utils";
|
|
4
|
-
import { DEFAULT_VALUE_STATES as r, VALUE_STATE_COLOR_TOKENS as i } from "@ryuzaki13/react-foundation-lib/formatters";
|
|
5
|
-
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
-
var c = {
|
|
7
|
-
button: "p4nQdZ",
|
|
8
|
-
valueContainer: "_94tg5v",
|
|
9
|
-
swatch: "HyK7Zs",
|
|
10
|
-
optionsPalette: "Mm4hrB",
|
|
11
|
-
optionsDetailed: "clxxBQ",
|
|
12
|
-
option: "_5pJ7o-",
|
|
13
|
-
optionPalette: "VV6hKN",
|
|
14
|
-
optionDetailed: "cuQNP0",
|
|
15
|
-
optionMeta: "w7nIOT",
|
|
16
|
-
optionMetaIcon: "ed-Afj",
|
|
17
|
-
optionMetaLabel: "Lbxloe"
|
|
18
|
-
};
|
|
19
|
-
//#endregion
|
|
20
|
-
//#region src/state-select/StateSelect.tsx
|
|
21
|
-
function l({ state: e, className: t }) {
|
|
22
|
-
return /* @__PURE__ */ o("span", {
|
|
23
|
-
className: n(c.swatch, t),
|
|
24
|
-
"data-empty": e === "none" ? "" : void 0,
|
|
25
|
-
style: { "--state-color": i[e] }
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
function u(e) {
|
|
29
|
-
return !!(e?.icon || e?.label);
|
|
30
|
-
}
|
|
31
|
-
function d(e, t) {
|
|
32
|
-
return typeof t?.label == "string" && t.label.trim() ? t.label : e || "empty";
|
|
33
|
-
}
|
|
34
|
-
function f(e) {
|
|
35
|
-
return u(e) ? /* @__PURE__ */ s("span", {
|
|
36
|
-
className: c.optionMeta,
|
|
37
|
-
children: [e?.icon ? /* @__PURE__ */ o("span", {
|
|
38
|
-
className: c.optionMetaIcon,
|
|
39
|
-
children: e.icon
|
|
40
|
-
}) : null, e?.label ? /* @__PURE__ */ o("span", {
|
|
41
|
-
className: c.optionMetaLabel,
|
|
42
|
-
children: e.label
|
|
43
|
-
}) : null]
|
|
44
|
-
}) : null;
|
|
45
|
-
}
|
|
46
|
-
function p(e, t) {
|
|
47
|
-
return /* @__PURE__ */ s("div", {
|
|
48
|
-
className: c.valueContainer,
|
|
49
|
-
children: [/* @__PURE__ */ o(l, { state: e }), f(t)]
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function m({ label: i, description: m, disabled: h, placeholder: g, size: _, value: v, onChange: y, options: b = r, stateMeta: x, className: S, clearable: C }) {
|
|
53
|
-
let w = t(() => Array.from(new Set(b)), [b]), T = w.some((e) => u(x?.[e]));
|
|
54
|
-
return /* @__PURE__ */ o(e, {
|
|
55
|
-
label: i,
|
|
56
|
-
description: m,
|
|
57
|
-
disabled: h,
|
|
58
|
-
placeholder: g,
|
|
59
|
-
size: _,
|
|
60
|
-
value: v,
|
|
61
|
-
onChange: y,
|
|
62
|
-
options: w,
|
|
63
|
-
className: S,
|
|
64
|
-
clearable: C,
|
|
65
|
-
getOptionKey: (e) => e || "__empty_state__",
|
|
66
|
-
getOptionLabel: (e) => x?.[e]?.label ?? e,
|
|
67
|
-
getOptionAriaLabel: (e) => d(e, x?.[e]),
|
|
68
|
-
renderValue: (e) => p(e, x?.[e]),
|
|
69
|
-
renderOption: (e) => /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(l, { state: e }), T ? f(x?.[e]) : null] }),
|
|
70
|
-
buttonClassName: c.button,
|
|
71
|
-
optionsContentClassName: n(T ? c.optionsDetailed : c.optionsPalette),
|
|
72
|
-
getOptionClassName: () => n(c.option, T ? c.optionDetailed : c.optionPalette)
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
//#endregion
|
|
76
|
-
export { m as t };
|
|
77
|
-
|
|
78
|
-
//# sourceMappingURL=StateSelect-BzUsurDe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StateSelect-BzUsurDe.js","names":[],"sources":["../../src/state-select/StateSelect.module.scss","../../src/state-select/StateSelect.tsx"],"sourcesContent":[".button {\n\tpadding-left: var(--space-sm);\n}\n\n.valueContainer {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n\twidth: 100%;\n\tmin-height: 1.5em;\n\tmin-width: 0;\n}\n\n.swatch {\n\t--state-color: transparent;\n\n\twidth: 1.25em;\n\theight: 1.25em;\n\tflex-shrink: 0;\n\tdisplay: inline-block;\n\tborder-radius: var(--radius-xs);\n\tborder: var(--border-width) solid var(--border-0);\n\tbackground-color: var(--state-color);\n\n\t&[data-empty] {\n\t\tbackground-color: var(--surface-0);\n\t\tbackground-image: repeating-linear-gradient(135deg, var(--border-0), var(--border-0) 0.25em, transparent 0.25em, transparent 0.5em);\n\t}\n}\n\n// .options {\n// \tpadding: var(--space-xs);\n// }\n\n.optionsPalette {\n\t--input-width: auto;\n\n\tdisplay: grid;\n\tgrid-template-columns: repeat(5, minmax(0, 1fr));\n\tgap: var(--space-xs);\n}\n\n.optionsDetailed {\n\t--input-width: 16em;\n}\n\n.option {\n\tborder-radius: var(--radius-sm);\n\toutline: none;\n\tuser-select: none;\n}\n\n.optionPalette {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: var(--space-sm);\n\tmin-width: 2.25em;\n}\n\n.optionDetailed {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n\tpadding: var(--space-xs) var(--space-sm);\n}\n\n.optionMeta {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: var(--space-xs);\n\tmin-width: 0;\n}\n\n.optionMetaIcon {\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n.optionMetaLabel {\n\tmin-width: 0;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n}\n","import { CSSProperties, ReactNode, useMemo } from \"react\";\n\nimport { DEFAULT_VALUE_STATES, VALUE_STATE_COLOR_TOKENS } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { State } from \"@ryuzaki13/react-foundation-lib/types\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { Select, SelectProps } from \"../select\";\nimport { UiBaseProps } from \"../types\";\n\nimport styles from \"./StateSelect.module.scss\";\n\nexport type StateMeta = {\n\tlabel?: ReactNode;\n\ticon?: ReactNode;\n};\n\nexport interface StateSelectProps extends Omit<UiBaseProps<State | undefined>, \"placeholder\"> {\n\tplaceholder?: string;\n\toptions?: readonly State[];\n\tstateMeta?: Partial<Record<State, StateMeta>>;\n\tclassName?: string;\n\tclearable?: boolean;\n}\n\ninterface StateSwatchProps {\n\tstate: State;\n\tclassName?: string;\n}\n\nfunction StateSwatch({ state, className }: StateSwatchProps) {\n\treturn (\n\t\t<span\n\t\t\tclassName={cn(styles.swatch, className)}\n\t\t\tdata-empty={state === \"none\" ? \"\" : undefined}\n\t\t\tstyle={{ \"--state-color\": VALUE_STATE_COLOR_TOKENS[state] } as CSSProperties}\n\t\t/>\n\t);\n}\n\nfunction hasStateMeta(meta: StateMeta | undefined): boolean {\n\treturn Boolean(meta?.icon || meta?.label);\n}\n\nfunction resolveStateAriaLabel(state: State, meta: StateMeta | undefined): string {\n\tif (typeof meta?.label === \"string\" && meta.label.trim()) {\n\t\treturn meta.label;\n\t}\n\n\treturn state || \"empty\";\n}\n\nfunction renderStateMeta(meta: StateMeta | undefined) {\n\tif (!hasStateMeta(meta)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<span className={styles.optionMeta}>\n\t\t\t{meta?.icon ? <span className={styles.optionMetaIcon}>{meta.icon}</span> : null}\n\t\t\t{meta?.label ? <span className={styles.optionMetaLabel}>{meta.label}</span> : null}\n\t\t</span>\n\t);\n}\n\nfunction renderStateValue(state: State, meta: StateMeta | undefined) {\n\treturn (\n\t\t<div className={styles.valueContainer}>\n\t\t\t<StateSwatch state={state} />\n\t\t\t{renderStateMeta(meta)}\n\t\t</div>\n\t);\n}\n\n/**\n * Специализированный селект для выбора цветового или статусного состояния. Используется там, где значению соответствует визуальный swatch.\n */\nexport function StateSelect({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder,\n\tsize,\n\tvalue,\n\tonChange,\n\toptions = DEFAULT_VALUE_STATES,\n\tstateMeta,\n\tclassName,\n\tclearable\n}: StateSelectProps) {\n\tconst stateOptions = useMemo(() => Array.from(new Set(options)), [options]);\n\tconst hasDetailedOptions = stateOptions.some((stateOption) => hasStateMeta(stateMeta?.[stateOption]));\n\n\tconst sharedSelectProps: Pick<\n\t\tSelectProps<State>,\n\t\t| \"getOptionKey\"\n\t\t| \"getOptionLabel\"\n\t\t| \"getOptionAriaLabel\"\n\t\t| \"renderValue\"\n\t\t| \"renderOption\"\n\t\t| \"buttonClassName\"\n\t\t| \"optionsContentClassName\"\n\t\t| \"getOptionClassName\"\n\t> = {\n\t\tgetOptionKey: (stateOption) => stateOption || \"__empty_state__\",\n\t\tgetOptionLabel: (stateOption) => stateMeta?.[stateOption]?.label ?? stateOption,\n\t\tgetOptionAriaLabel: (stateOption) => resolveStateAriaLabel(stateOption, stateMeta?.[stateOption]),\n\t\trenderValue: (stateOption) => renderStateValue(stateOption, stateMeta?.[stateOption]),\n\t\trenderOption: (stateOption) => (\n\t\t\t<>\n\t\t\t\t<StateSwatch state={stateOption} />\n\t\t\t\t{hasDetailedOptions ? renderStateMeta(stateMeta?.[stateOption]) : null}\n\t\t\t</>\n\t\t),\n\t\tbuttonClassName: styles.button,\n\t\toptionsContentClassName: cn(/*styles.options,*/ hasDetailedOptions ? styles.optionsDetailed : styles.optionsPalette),\n\t\tgetOptionClassName: () => cn(styles.option, hasDetailedOptions ? styles.optionDetailed : styles.optionPalette)\n\t};\n\n\treturn (\n\t\t<Select\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\tvalue={value}\n\t\t\tonChange={onChange}\n\t\t\toptions={stateOptions}\n\t\t\tclassName={className}\n\t\t\tclearable={clearable}\n\t\t\t{...sharedSelectProps}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AC6BA,SAAS,EAAY,EAAE,UAAO,gBAA+B;CAC5D,OACC,kBAAC,QAAD;EACC,WAAW,EAAG,EAAO,QAAQ,CAAS;EACtC,cAAY,MAAU,SAAS,KAAK,KAAA;EACpC,OAAO,EAAE,iBAAiB,EAAyB,GAAO;CAC1D,CAAA;AAEH;AAEA,SAAS,EAAa,GAAsC;CAC3D,OAAO,GAAQ,GAAM,QAAQ,GAAM;AACpC;AAEA,SAAS,EAAsB,GAAc,GAAqC;CAKjF,OAJI,OAAO,GAAM,SAAU,YAAY,EAAK,MAAM,KAAK,IAC/C,EAAK,QAGN,KAAS;AACjB;AAEA,SAAS,EAAgB,GAA6B;CAKrD,OAJK,EAAa,CAAI,IAKrB,kBAAC,QAAD;EAAM,WAAW,EAAO;YAAxB,CACE,GAAM,OAAO,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAiB,EAAK;EAAW,CAAA,IAAI,MAC1E,GAAM,QAAQ,kBAAC,QAAD;GAAM,WAAW,EAAO;aAAkB,EAAK;EAAY,CAAA,IAAI,IACzE;MAPC;AAST;AAEA,SAAS,EAAiB,GAAc,GAA6B;CACpE,OACC,kBAAC,OAAD;EAAK,WAAW,EAAO;YAAvB,CACC,kBAAC,GAAD,EAAoB,SAAQ,CAAA,GAC3B,EAAgB,CAAI,CACjB;;AAEP;AAKA,SAAgB,EAAY,EAC3B,UACA,gBACA,aACA,gBACA,SACA,UACA,aACA,aAAU,GACV,cACA,cACA,gBACoB;CACpB,IAAM,IAAe,QAAc,MAAM,KAAK,IAAI,IAAI,CAAO,CAAC,GAAG,CAAC,CAAO,CAAC,GACpE,IAAqB,EAAa,MAAM,MAAgB,EAAa,IAAY,EAAY,CAAC;CA4BpG,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACG;EACP;EACC;EACG;EACV,SAAS;EACE;EACA;EA1BZ,eAAe,MAAgB,KAAe;EAC9C,iBAAiB,MAAgB,IAAY,EAAY,EAAE,SAAS;EACpE,qBAAqB,MAAgB,EAAsB,GAAa,IAAY,EAAY;EAChG,cAAc,MAAgB,EAAiB,GAAa,IAAY,EAAY;EACpF,eAAe,MACd,kBAAA,GAAA,EAAA,UAAA,CACC,kBAAC,GAAD,EAAa,OAAO,EAAc,CAAA,GACjC,IAAqB,EAAgB,IAAY,EAAY,IAAI,IACjE,EAAA,CAAA;EAEH,iBAAiB,EAAO;EACxB,yBAAyB,EAAuB,IAAqB,EAAO,kBAAkB,EAAO,cAAc;EACnH,0BAA0B,EAAG,EAAO,QAAQ,IAAqB,EAAO,iBAAiB,EAAO,aAAa;CAgB5G,CAAA;AAEH"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./ui.module-BisoTevy.js";
|
|
2
|
-
import { useId as t } from "react";
|
|
3
|
-
import { cn as n } from "@ryuzaki13/react-foundation-lib/utils";
|
|
4
|
-
import { BanIcon as r, CheckCircle2Icon as i } from "lucide-react";
|
|
5
|
-
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
-
var c = {
|
|
7
|
-
switchWrapper: "Or5LYA",
|
|
8
|
-
switch: "qge3io",
|
|
9
|
-
iconWrapper: "w0AMfA",
|
|
10
|
-
auto: "P1x4lq",
|
|
11
|
-
checked: "-ZVOZo"
|
|
12
|
-
};
|
|
13
|
-
//#endregion
|
|
14
|
-
//#region src/switch/Switch.tsx
|
|
15
|
-
function l(l) {
|
|
16
|
-
let { label: u, description: d, disabled: f, checkedIcon: p = /* @__PURE__ */ o(i, {}), uncheckedIcon: m = /* @__PURE__ */ o(r, {}), className: h, type: g, id: _, size: v, placeholder: y, onChange: b, value: x, triState: S, ...C } = l, w = t(), T = _ ?? w, E = d ? `${T}-description` : void 0, D = u ? `${T}-label` : void 0, O = () => {
|
|
17
|
-
if (!l.triState) {
|
|
18
|
-
l.onChange(!l.value);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
if (l.value === void 0) {
|
|
22
|
-
l.onChange(!0);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (l.value === !0) {
|
|
26
|
-
l.onChange(!1);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
l.value === !1 && l.onChange(void 0);
|
|
30
|
-
}, k = typeof l.value == "boolean" ? l.value : !1, A = l.triState && typeof l.value != "boolean", j = C["aria-label"] ?? (u ? void 0 : "Переключатель");
|
|
31
|
-
return /* @__PURE__ */ s("div", {
|
|
32
|
-
className: n(e.uiElement, f && e.disabled),
|
|
33
|
-
"aria-disabled": f || void 0,
|
|
34
|
-
children: [
|
|
35
|
-
u && /* @__PURE__ */ s("div", {
|
|
36
|
-
id: D,
|
|
37
|
-
className: e.uiLabel,
|
|
38
|
-
children: [u, ":"]
|
|
39
|
-
}),
|
|
40
|
-
d && /* @__PURE__ */ o("p", {
|
|
41
|
-
id: E,
|
|
42
|
-
className: e.uiDescription,
|
|
43
|
-
children: d
|
|
44
|
-
}),
|
|
45
|
-
/* @__PURE__ */ o("button", {
|
|
46
|
-
...C,
|
|
47
|
-
id: T,
|
|
48
|
-
type: g ?? "button",
|
|
49
|
-
role: "switch",
|
|
50
|
-
disabled: f,
|
|
51
|
-
"aria-checked": k,
|
|
52
|
-
"aria-describedby": E,
|
|
53
|
-
"aria-labelledby": D,
|
|
54
|
-
"aria-label": j,
|
|
55
|
-
"aria-disabled": f,
|
|
56
|
-
"data-ui": "switch",
|
|
57
|
-
"data-action": "toggle-switch",
|
|
58
|
-
onClick: O,
|
|
59
|
-
className: n(e.uiInputControl, c.switchWrapper, h),
|
|
60
|
-
children: /* @__PURE__ */ o("div", {
|
|
61
|
-
className: c.switch,
|
|
62
|
-
"data-disabled": f || void 0,
|
|
63
|
-
children: A ? /* @__PURE__ */ o("div", {
|
|
64
|
-
className: n(c.iconWrapper, c.auto, c.checked),
|
|
65
|
-
children: "Auto"
|
|
66
|
-
}) : /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o("div", {
|
|
67
|
-
className: n(c.iconWrapper, !l.value && c.checked),
|
|
68
|
-
children: m
|
|
69
|
-
}), /* @__PURE__ */ o("div", {
|
|
70
|
-
className: n(c.iconWrapper, l.value && c.checked),
|
|
71
|
-
children: p
|
|
72
|
-
})] })
|
|
73
|
-
})
|
|
74
|
-
})
|
|
75
|
-
]
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
//#endregion
|
|
79
|
-
export { l as t };
|
|
80
|
-
|
|
81
|
-
//# sourceMappingURL=Switch-B57Qmy1z.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Switch-B57Qmy1z.js","names":[],"sources":["../../src/switch/Switch.module.scss","../../src/switch/Switch.tsx"],"sourcesContent":[".switchWrapper {\n\t--size: calc(var(--control-height) - calc(var(--border-width) * 4));\n\n\tdisplay: block;\n\tpadding: 0 var(--border-width);\n}\n\n.switch {\n\twidth: calc(var(--control-height) * 2);\n\tdisplay: flex;\n\tjustify-content: space-between;\n\n\t&[data-disabled] {\n\t\tsvg {\n\t\t\tcolor: var(--content-2);\n\t\t}\n\t}\n}\n\n.iconWrapper {\n\tborder-radius: var(--radius-xs);\n\twidth: var(--size);\n\theight: var(--size);\n\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\topacity: 0.25;\n\n\tsvg {\n\t\tdisplay: block;\n\t\tcolor: var(--content-0);\n\t}\n\n\t&.auto {\n\t\twidth: 100%;\n\t\tflex: 1 1 100%;\n\t}\n\n\t&.checked {\n\t\tbackground-color: var(--surface-2);\n\t\topacity: 1;\n\t}\n}\n","import React, { useId } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { BanIcon, CheckCircle2Icon } from \"lucide-react\";\n\nimport { UiBaseProps } from \"../types\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Switch.module.scss\";\n\ntype BaseSwitchProps = {\n\tcheckedIcon?: React.ReactNode;\n\tuncheckedIcon?: React.ReactNode;\n};\n\ntype BiStateSwitchProps = BaseSwitchProps &\n\tUiBaseProps<boolean> & {\n\t\ttriState?: false;\n\t};\n\ntype TriStateSwitchProps = BaseSwitchProps &\n\tUiBaseProps<boolean | undefined> & {\n\t\ttriState: true;\n\t};\n\ntype SwitchProps = (TriStateSwitchProps | BiStateSwitchProps) &\n\tOmit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"children\" | \"onChange\" | \"value\">;\n\n/**\n * Переключатель boolean-состояния в виде слайдера. Подходит для быстрых настроек и включения/отключения опций.\n */\nexport function Switch(props: SwitchProps) {\n\tconst {\n\t\tlabel,\n\t\tdescription,\n\t\tdisabled,\n\t\tcheckedIcon = <CheckCircle2Icon />,\n\t\tuncheckedIcon = <BanIcon />,\n\t\tclassName,\n\t\ttype,\n\t\tid: externalId,\n\t\tsize,\n\t\tplaceholder,\n\t\tonChange: _onChange,\n\t\tvalue: _value,\n\t\ttriState: _triState,\n\t\t...buttonProps\n\t} = props;\n\tconst autoId = useId();\n\tconst id = externalId ?? autoId;\n\tconst descriptionId = description ? `${id}-description` : undefined;\n\tconst labelId = label ? `${id}-label` : undefined;\n\tvoid size;\n\tvoid placeholder;\n\tvoid _onChange;\n\tvoid _value;\n\tvoid _triState;\n\n\tconst handleChange = () => {\n\t\tif (!props.triState) {\n\t\t\tprops.onChange(!props.value);\n\t\t\treturn;\n\t\t}\n\n\t\tif (props.value === undefined) {\n\t\t\tprops.onChange(true);\n\t\t\treturn;\n\t\t}\n\n\t\tif (props.value === true) {\n\t\t\tprops.onChange(false);\n\t\t\treturn;\n\t\t}\n\n\t\tif (props.value === false) {\n\t\t\tprops.onChange(undefined);\n\t\t}\n\t};\n\n\tconst isChecked = typeof props.value === \"boolean\" ? props.value : false;\n\tconst showAutoState = props.triState && typeof props.value !== \"boolean\";\n\tconst ariaLabel = buttonProps[\"aria-label\"] ?? (!label ? \"Переключатель\" : undefined);\n\n\treturn (\n\t\t<div className={cn(uiStyles.uiElement, disabled && uiStyles.disabled)} aria-disabled={disabled || undefined}>\n\t\t\t{label && (\n\t\t\t\t<div id={labelId} className={uiStyles.uiLabel}>\n\t\t\t\t\t{label}:\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{description && (\n\t\t\t\t<p id={descriptionId} className={uiStyles.uiDescription}>\n\t\t\t\t\t{description}\n\t\t\t\t</p>\n\t\t\t)}\n\t\t\t<button\n\t\t\t\t{...buttonProps}\n\t\t\t\tid={id}\n\t\t\t\ttype={type ?? \"button\"}\n\t\t\t\trole=\"switch\"\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-checked={isChecked}\n\t\t\t\taria-describedby={descriptionId}\n\t\t\t\taria-labelledby={labelId}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\taria-disabled={disabled}\n\t\t\t\tdata-ui=\"switch\"\n\t\t\t\tdata-action=\"toggle-switch\"\n\t\t\t\tonClick={handleChange}\n\t\t\t\tclassName={cn(uiStyles.uiInputControl, styles.switchWrapper, className)}>\n\t\t\t\t<div className={styles.switch} data-disabled={disabled || undefined}>\n\t\t\t\t\t{showAutoState ? (\n\t\t\t\t\t\t<div className={cn(styles.iconWrapper, styles.auto, styles.checked)}>Auto</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className={cn(styles.iconWrapper, !props.value && styles.checked)}>{uncheckedIcon}</div>\n\t\t\t\t\t\t\t<div className={cn(styles.iconWrapper, props.value && styles.checked)}>{checkedIcon}</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</button>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;AC+BA,SAAgB,EAAO,GAAoB;CAC1C,IAAM,EACL,UACA,gBACA,aACA,iBAAc,kBAAC,GAAD,CAAmB,CAAA,GACjC,mBAAgB,kBAAC,GAAD,CAAU,CAAA,GAC1B,cACA,SACA,IAAI,GACJ,SACA,gBACA,UAAU,GACV,OAAO,GACP,UAAU,GACV,GAAG,MACA,GACE,IAAS,EAAM,GACf,IAAK,KAAc,GACnB,IAAgB,IAAc,GAAG,EAAG,gBAAgB,KAAA,GACpD,IAAU,IAAQ,GAAG,EAAG,UAAU,KAAA,GAOlC,UAAqB;EAC1B,IAAI,CAAC,EAAM,UAAU;GACpB,EAAM,SAAS,CAAC,EAAM,KAAK;GAC3B;EACD;EAEA,IAAI,EAAM,UAAU,KAAA,GAAW;GAC9B,EAAM,SAAS,EAAI;GACnB;EACD;EAEA,IAAI,EAAM,UAAU,IAAM;GACzB,EAAM,SAAS,EAAK;GACpB;EACD;EAEA,AAAI,EAAM,UAAU,MACnB,EAAM,SAAS,KAAA,CAAS;CAE1B,GAEM,IAAY,OAAO,EAAM,SAAU,YAAY,EAAM,QAAQ,IAC7D,IAAgB,EAAM,YAAY,OAAO,EAAM,SAAU,WACzD,IAAY,EAAY,kBAAmB,IAA0B,KAAA,IAAlB;CAEzD,OACC,kBAAC,OAAD;EAAK,WAAW,EAAG,EAAS,WAAW,KAAY,EAAS,QAAQ;EAAG,iBAAe,KAAY,KAAA;YAAlG;GACE,KACA,kBAAC,OAAD;IAAK,IAAI;IAAS,WAAW,EAAS;cAAtC,CACE,GAAM,GACH;;GAEL,KACA,kBAAC,KAAD;IAAG,IAAI;IAAe,WAAW,EAAS;cACxC;GACC,CAAA;GAEJ,kBAAC,UAAD;IACC,GAAI;IACA;IACJ,MAAM,KAAQ;IACd,MAAK;IACK;IACV,gBAAc;IACd,oBAAkB;IAClB,mBAAiB;IACjB,cAAY;IACZ,iBAAe;IACf,WAAQ;IACR,eAAY;IACZ,SAAS;IACT,WAAW,EAAG,EAAS,gBAAgB,EAAO,eAAe,CAAS;cACtE,kBAAC,OAAD;KAAK,WAAW,EAAO;KAAQ,iBAAe,KAAY,KAAA;eACxD,IACA,kBAAC,OAAD;MAAK,WAAW,EAAG,EAAO,aAAa,EAAO,MAAM,EAAO,OAAO;gBAAG;KAAS,CAAA,IAE9E,kBAAA,GAAA,EAAA,UAAA,CACC,kBAAC,OAAD;MAAK,WAAW,EAAG,EAAO,aAAa,CAAC,EAAM,SAAS,EAAO,OAAO;gBAAI;KAAmB,CAAA,GAC5F,kBAAC,OAAD;MAAK,WAAW,EAAG,EAAO,aAAa,EAAM,SAAS,EAAO,OAAO;gBAAI;KAAiB,CAAA,CACxF,EAAA,CAAA;IAEC,CAAA;GACE,CAAA;EACJ;;AAEP"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./ui.module-BisoTevy.js";
|
|
2
|
-
import { c as t, o as n } from "./Input-anSjiM9b.js";
|
|
3
|
-
import { cn as r } from "@ryuzaki13/react-foundation-lib/utils";
|
|
4
|
-
import { jsx as i } from "react/jsx-runtime";
|
|
5
|
-
var a = { textarea: "TjY2iu" };
|
|
6
|
-
//#endregion
|
|
7
|
-
//#region src/textarea/Textarea.tsx
|
|
8
|
-
function o({ label: o, description: s, className: c, disabled: l, size: u, value: d, onChange: f, error: p, onClearError: m, id: h, ...g }) {
|
|
9
|
-
let { controlId: _, labelId: v, descriptionId: y, errorId: b, describedBy: x } = t({
|
|
10
|
-
id: h,
|
|
11
|
-
hasLabel: o != null,
|
|
12
|
-
hasDescription: !!s,
|
|
13
|
-
hasError: !!p
|
|
14
|
-
});
|
|
15
|
-
return /* @__PURE__ */ i(n, {
|
|
16
|
-
label: o,
|
|
17
|
-
description: s,
|
|
18
|
-
disabled: l,
|
|
19
|
-
size: u,
|
|
20
|
-
error: p,
|
|
21
|
-
controlId: _,
|
|
22
|
-
labelId: v,
|
|
23
|
-
descriptionId: y,
|
|
24
|
-
errorId: b,
|
|
25
|
-
children: /* @__PURE__ */ i("textarea", {
|
|
26
|
-
...g,
|
|
27
|
-
id: _,
|
|
28
|
-
disabled: l,
|
|
29
|
-
value: d,
|
|
30
|
-
"aria-invalid": !!p || void 0,
|
|
31
|
-
"aria-labelledby": v,
|
|
32
|
-
"aria-describedby": x,
|
|
33
|
-
"data-invalid": p ? "" : void 0,
|
|
34
|
-
className: r(e.uiControl, a.textarea, "scrollable", c),
|
|
35
|
-
onChange: (e) => {
|
|
36
|
-
f?.(e.target.value), p && m && m();
|
|
37
|
-
}
|
|
38
|
-
})
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
//#endregion
|
|
42
|
-
export { o as t };
|
|
43
|
-
|
|
44
|
-
//# sourceMappingURL=Textarea-CLyGS1h9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea-CLyGS1h9.js","names":[],"sources":["../../src/textarea/Textarea.module.scss","../../src/textarea/Textarea.tsx"],"sourcesContent":[".textarea {\n\twidth: 100%;\n\tmin-height: 6em;\n\tresize: vertical;\n\tpadding: var(--space-sm);\n\tdisplay: block;\n}\n","import { TextareaHTMLAttributes } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { InputUI, useInputFieldIds } from \"../input\";\nimport { UiBaseProps } from \"../types\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Textarea.module.scss\";\n\nexport interface TextareaProps\n\textends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, \"children\" | \"onChange\" | \"size\" | \"value\">, UiBaseProps<string> {\n\terror?: string;\n\tonClearError?: () => void;\n}\n\n/**\n * Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.\n */\nexport function Textarea({\n\tlabel,\n\tdescription,\n\tclassName,\n\tdisabled,\n\tsize,\n\tvalue,\n\tonChange,\n\terror,\n\tonClearError,\n\tid: externalId,\n\t...props\n}: TextareaProps) {\n\tconst { controlId, labelId, descriptionId, errorId, describedBy } = useInputFieldIds({\n\t\tid: externalId,\n\t\thasLabel: label !== undefined && label !== null,\n\t\thasDescription: !!description,\n\t\thasError: !!error\n\t});\n\n\treturn (\n\t\t<InputUI\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tsize={size}\n\t\t\terror={error}\n\t\t\tcontrolId={controlId}\n\t\t\tlabelId={labelId}\n\t\t\tdescriptionId={descriptionId}\n\t\t\terrorId={errorId}>\n\t\t\t<textarea\n\t\t\t\t{...props}\n\t\t\t\tid={controlId}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tvalue={value}\n\t\t\t\taria-invalid={!!error || undefined}\n\t\t\t\taria-labelledby={labelId}\n\t\t\t\taria-describedby={describedBy}\n\t\t\t\tdata-invalid={error ? \"\" : undefined}\n\t\t\t\tclassName={cn(uiStyles.uiControl, styles.textarea, \"scrollable\", className)}\n\t\t\t\tonChange={(event) => {\n\t\t\t\t\tonChange?.(event.target.value);\n\t\t\t\t\tif (error && onClearError) {\n\t\t\t\t\t\tonClearError();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\t\t</InputUI>\n\t);\n}\n"],"mappings":";;;;;;;ACmBA,SAAgB,EAAS,EACxB,UACA,gBACA,cACA,aACA,SACA,UACA,aACA,UACA,iBACA,IAAI,GACJ,GAAG,KACc;CACjB,IAAM,EAAE,cAAW,YAAS,kBAAe,YAAS,mBAAgB,EAAiB;EACpF,IAAI;EACJ,UAAU,KAAiC;EAC3C,gBAAgB,CAAC,CAAC;EAClB,UAAU,CAAC,CAAC;CACb,CAAC;CAED,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACJ;EACC;EACI;EACF;EACM;EACN;YACT,kBAAC,YAAD;GACC,GAAI;GACJ,IAAI;GACM;GACH;GACP,gBAAc,CAAC,CAAC,KAAS,KAAA;GACzB,mBAAiB;GACjB,oBAAkB;GAClB,gBAAc,IAAQ,KAAK,KAAA;GAC3B,WAAW,EAAG,EAAS,WAAW,EAAO,UAAU,cAAc,CAAS;GAC1E,WAAW,MAAU;IAEpB,AADA,IAAW,EAAM,OAAO,KAAK,GACzB,KAAS,KACZ,EAAa;GAEf;EACA,CAAA;CACO,CAAA;AAEX"}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./wheel-picker-FS58cRsQ.js";
|
|
2
|
-
import { createCalendarDate as t, parseDate as n } from "@ryuzaki13/react-foundation-lib/formatters";
|
|
3
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
|
-
import { parseDateSegmentMask as a } from "@ryuzaki13/react-foundation-lib/date-segments";
|
|
5
|
-
//#region src/date-time-input/lib/dateTimeValue.ts
|
|
6
|
-
var o = "dd.MM.yyyy HH:mm", s = "HH:mm", c = 1970, l = 0, u = 1;
|
|
7
|
-
a(s);
|
|
8
|
-
function d(e = 0, n = 0) {
|
|
9
|
-
return t(c, l, u, e, n, 0, 0);
|
|
10
|
-
}
|
|
11
|
-
function f(e = "date-time") {
|
|
12
|
-
return e === "time" ? s : o;
|
|
13
|
-
}
|
|
14
|
-
function p(e, t = "date-time") {
|
|
15
|
-
if (e == null) return null;
|
|
16
|
-
let r = n(e);
|
|
17
|
-
return r ? t === "time" ? d(r.getHours(), r.getMinutes()) : r : null;
|
|
18
|
-
}
|
|
19
|
-
function m(e, t, n, r = "date-time") {
|
|
20
|
-
let i = p(e, r);
|
|
21
|
-
if (!i) return !1;
|
|
22
|
-
if (r === "time") {
|
|
23
|
-
let e = i.getHours() * 60 + i.getMinutes(), r = t ? p(t, "time") : null, a = n ? p(n, "time") : null;
|
|
24
|
-
return !(r && e < r.getHours() * 60 + r.getMinutes() || a && e > a.getHours() * 60 + a.getMinutes());
|
|
25
|
-
}
|
|
26
|
-
return !(t && i < t || n && i > n);
|
|
27
|
-
}
|
|
28
|
-
function h(e, n) {
|
|
29
|
-
let r = p(n), i = r?.getHours() ?? 0, a = r?.getMinutes() ?? 0;
|
|
30
|
-
return t(e.getFullYear(), e.getMonth(), e.getDate(), i, a, 0, 0);
|
|
31
|
-
}
|
|
32
|
-
function g(e, n, r, i = "date-time") {
|
|
33
|
-
return i === "time" ? d(n, r) : t(e.getFullYear(), e.getMonth(), e.getDate(), n, r, 0, 0);
|
|
34
|
-
}
|
|
35
|
-
function _(e, t, n = "date-time") {
|
|
36
|
-
return n === "time" ? p(e, "time") ?? d() : p(e, n) ?? t;
|
|
37
|
-
}
|
|
38
|
-
function v(e, t, n, r = "date-time") {
|
|
39
|
-
let i = p(e, r) ?? e, a = t ? p(t, r) : null, o = n ? p(n, r) : null, s = !!a && i.getFullYear() === a.getFullYear() && i.getMonth() === a.getMonth() && i.getDate() === a.getDate(), c = !!o && i.getFullYear() === o.getFullYear() && i.getMonth() === o.getMonth() && i.getDate() === o.getDate(), l = s ? a.getHours() : 0, u = c ? o.getHours() : 23, d = s && l === u ? a.getMinutes() : 0, f = c && l === u ? o.getMinutes() : 59, m = l > u || l === u && d > f;
|
|
40
|
-
return {
|
|
41
|
-
disabled: m,
|
|
42
|
-
minHour: l,
|
|
43
|
-
maxHour: u,
|
|
44
|
-
minMinuteByHour: (e) => m ? 0 : s && e === l ? a.getMinutes() : 0,
|
|
45
|
-
maxMinuteByHour: (e) => m ? 59 : c && e === u ? o.getMinutes() : 59
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function y(e, t, n, r, i, a = "date-time") {
|
|
49
|
-
let o = v(e, r, i, a);
|
|
50
|
-
if (o.disabled) return {
|
|
51
|
-
hours: 0,
|
|
52
|
-
minutes: 0
|
|
53
|
-
};
|
|
54
|
-
let s = Math.min(Math.max(t, o.minHour), o.maxHour), c = o.minMinuteByHour(s), l = o.maxMinuteByHour(s);
|
|
55
|
-
return {
|
|
56
|
-
hours: s,
|
|
57
|
-
minutes: Math.min(Math.max(n, c), l)
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region src/date-time-input/lib/timePanelState.ts
|
|
62
|
-
function b(e, t, n, r = "date-time") {
|
|
63
|
-
let i = v(e, t, n, r), a = e.getHours(), o = e.getMinutes(), s = i.minMinuteByHour(a), c = i.maxMinuteByHour(a);
|
|
64
|
-
return i.disabled ? {
|
|
65
|
-
disabled: !0,
|
|
66
|
-
selectedHour: a,
|
|
67
|
-
selectedMinute: o,
|
|
68
|
-
hours: [],
|
|
69
|
-
minutes: []
|
|
70
|
-
} : {
|
|
71
|
-
disabled: !1,
|
|
72
|
-
selectedHour: a,
|
|
73
|
-
selectedMinute: o,
|
|
74
|
-
hours: Array.from({ length: i.maxHour - i.minHour + 1 }, (e, t) => i.minHour + t),
|
|
75
|
-
minutes: Array.from({ length: c - s + 1 }, (e, t) => s + t)
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
var x = {
|
|
79
|
-
timePanel: "_5-SSnO",
|
|
80
|
-
hint: "s1NHua",
|
|
81
|
-
fields: "KQC9-8",
|
|
82
|
-
field: "WDu02W",
|
|
83
|
-
label: "_9mEhfD",
|
|
84
|
-
wheel: "N-Fzjk"
|
|
85
|
-
};
|
|
86
|
-
//#endregion
|
|
87
|
-
//#region src/date-time-input/ui/TimePanel.tsx
|
|
88
|
-
function S({ value: t, disabled: n, minDate: a, maxDate: o, mode: s = "date-time", onChange: c }) {
|
|
89
|
-
let l = b(t, a, o, s), u = (e) => String(e).padStart(2, "0");
|
|
90
|
-
return l.disabled ? /* @__PURE__ */ r("div", {
|
|
91
|
-
className: x.timePanel,
|
|
92
|
-
children: /* @__PURE__ */ r("p", {
|
|
93
|
-
className: x.hint,
|
|
94
|
-
children: "Для выбранного дня нет доступного времени в заданном диапазоне."
|
|
95
|
-
})
|
|
96
|
-
}) : /* @__PURE__ */ r("div", {
|
|
97
|
-
className: x.timePanel,
|
|
98
|
-
children: /* @__PURE__ */ i("div", {
|
|
99
|
-
className: x.fields,
|
|
100
|
-
children: [/* @__PURE__ */ i("label", {
|
|
101
|
-
className: x.field,
|
|
102
|
-
children: [/* @__PURE__ */ r("span", {
|
|
103
|
-
className: x.label,
|
|
104
|
-
children: "Часы"
|
|
105
|
-
}), /* @__PURE__ */ r(e, {
|
|
106
|
-
className: x.wheel,
|
|
107
|
-
items: l.hours,
|
|
108
|
-
value: l.selectedHour,
|
|
109
|
-
onChange: (e) => c(e, l.selectedMinute),
|
|
110
|
-
ariaLabel: "Выбор часов",
|
|
111
|
-
disabled: n,
|
|
112
|
-
formatItem: u
|
|
113
|
-
})]
|
|
114
|
-
}), /* @__PURE__ */ i("label", {
|
|
115
|
-
className: x.field,
|
|
116
|
-
children: [/* @__PURE__ */ r("span", {
|
|
117
|
-
className: x.label,
|
|
118
|
-
children: "Минуты"
|
|
119
|
-
}), /* @__PURE__ */ r(e, {
|
|
120
|
-
className: x.wheel,
|
|
121
|
-
items: l.minutes,
|
|
122
|
-
value: l.selectedMinute,
|
|
123
|
-
onChange: (e) => c(l.selectedHour, e),
|
|
124
|
-
ariaLabel: "Выбор минут",
|
|
125
|
-
disabled: n,
|
|
126
|
-
formatItem: u
|
|
127
|
-
})]
|
|
128
|
-
})]
|
|
129
|
-
})
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
//#endregion
|
|
133
|
-
export { m as a, p as c, f as i, _ as l, y as n, h as o, d as r, g as s, S as t };
|
|
134
|
-
|
|
135
|
-
//# sourceMappingURL=TimePanel-b4saqoUY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TimePanel-b4saqoUY.js","names":[],"sources":["../../src/date-time-input/lib/dateTimeValue.ts","../../src/date-time-input/lib/timePanelState.ts","../../src/date-time-input/ui/TimePanel.module.scss","../../src/date-time-input/ui/TimePanel.tsx"],"sourcesContent":["import { dateToIndexedSegmentValues, indexedSegmentsToDate, parseDateSegmentMask } from \"@ryuzaki13/react-foundation-lib/date-segments\";\nimport {\n\tcreateCalendarDate,\n\ttype DateFormatPreset,\n\tformatDate,\n\tparseDate,\n\tparseDateByPattern\n} from \"@ryuzaki13/react-foundation-lib/formatters\";\n\nexport type DateTimeInputMode = \"date-time\" | \"time\";\n\n/**\n * Фиксированный формат нового поля даты-времени.\n */\nexport const DATE_TIME_INPUT_FORMAT = \"dd.MM.yyyy HH:mm\";\nexport const TIME_INPUT_FORMAT = \"HH:mm\";\n\nconst DATE_TIME_INPUT_PRESET_NAME = \"__date_time_input__\";\nconst TIME_INPUT_PRESET_NAME = \"__time_input__\";\nconst TIME_ONLY_BASE_YEAR = 1970;\nconst TIME_ONLY_BASE_MONTH = 0;\nconst TIME_ONLY_BASE_DAY = 1;\nconst TIME_SEGMENTS = parseDateSegmentMask(TIME_INPUT_FORMAT);\n\n/**\n * Создаёт техническую базовую дату для режима выбора только времени.\n */\nexport function createTimeOnlyBaseDate(hours = 0, minutes = 0): Date {\n\treturn createCalendarDate(TIME_ONLY_BASE_YEAR, TIME_ONLY_BASE_MONTH, TIME_ONLY_BASE_DAY, hours, minutes, 0, 0);\n}\n\n/**\n * Возвращает формат пользовательского ввода для выбранного режима.\n */\nexport function getDateTimeInputFormat(mode: DateTimeInputMode = \"date-time\"): string {\n\treturn mode === \"time\" ? TIME_INPUT_FORMAT : DATE_TIME_INPUT_FORMAT;\n}\n\n/**\n * Создаёт временную предустановку форматирования для нового поля даты-времени.\n */\nexport function createDateTimeInputPreset(mode: DateTimeInputMode = \"date-time\"): DateFormatPreset {\n\treturn {\n\t\tname: mode === \"time\" ? TIME_INPUT_PRESET_NAME : DATE_TIME_INPUT_PRESET_NAME,\n\t\tpattern: getDateTimeInputFormat(mode),\n\t\tlocale: \"ru-RU\",\n\t\tinvalidFallback: \"\"\n\t};\n}\n\n/**\n * Нормализует внешнее значение к валидному Date без timezone-сдвига.\n */\nexport function normalizeDateTimeValue(value: Date | null | undefined, mode: DateTimeInputMode = \"date-time\"): Date | null {\n\tif (value == null) return null;\n\n\tconst parsedValue = parseDate(value);\n\tif (!parsedValue) return null;\n\n\tif (mode === \"time\") {\n\t\treturn createTimeOnlyBaseDate(parsedValue.getHours(), parsedValue.getMinutes());\n\t}\n\n\treturn parsedValue;\n}\n\n/**\n * Форматирует значение поля даты-времени в фиксированный пользовательский формат.\n */\nexport function formatDateTimeInputValue(value: Date | null | undefined, mode: DateTimeInputMode = \"date-time\"): string {\n\tif (!value) return \"\";\n\treturn formatDate(normalizeDateTimeValue(value, mode), createDateTimeInputPreset(mode));\n}\n\n/**\n * Строго парсит строку пользовательского ввода в Date.\n */\nexport function parseDateTimeInputValue(value: string, mode: DateTimeInputMode = \"date-time\"): Date | null {\n\tif (mode === \"time\") {\n\t\tconst match = /^\\d{2}:\\d{2}$/.exec(value.trim());\n\t\tif (!match) return null;\n\n\t\tconst values = dateToIndexedSegmentValues(createTimeOnlyBaseDate(), TIME_SEGMENTS);\n\t\tvalues.set(0, value.slice(0, 2));\n\t\tvalues.set(2, value.slice(3, 5));\n\n\t\treturn indexedSegmentsToDate(TIME_SEGMENTS, values, {\n\t\t\tdefaultDate: createTimeOnlyBaseDate()\n\t\t});\n\t}\n\n\tconst parsed = parseDateByPattern(value, DATE_TIME_INPUT_FORMAT);\n\tif (!parsed || parsed.kind !== \"date-time\") return null;\n\n\treturn parsed.date;\n}\n\n/**\n * Проверяет, попадает ли дата-время в допустимый диапазон.\n */\nexport function isDateTimeWithinRange(value: Date, minDate?: Date, maxDate?: Date, mode: DateTimeInputMode = \"date-time\"): boolean {\n\tconst normalizedValue = normalizeDateTimeValue(value, mode);\n\tif (!normalizedValue) return false;\n\n\tif (mode === \"time\") {\n\t\tconst valueMinutes = normalizedValue.getHours() * 60 + normalizedValue.getMinutes();\n\t\tconst normalizedMinDate = minDate ? normalizeDateTimeValue(minDate, \"time\") : null;\n\t\tconst normalizedMaxDate = maxDate ? normalizeDateTimeValue(maxDate, \"time\") : null;\n\n\t\tif (normalizedMinDate) {\n\t\t\tconst minMinutes = normalizedMinDate.getHours() * 60 + normalizedMinDate.getMinutes();\n\t\t\tif (valueMinutes < minMinutes) return false;\n\t\t}\n\n\t\tif (normalizedMaxDate) {\n\t\t\tconst maxMinutes = normalizedMaxDate.getHours() * 60 + normalizedMaxDate.getMinutes();\n\t\t\tif (valueMinutes > maxMinutes) return false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tif (minDate && normalizedValue < minDate) return false;\n\tif (maxDate && normalizedValue > maxDate) return false;\n\n\treturn true;\n}\n\n/**\n * Переносит дату выбранного дня, сохраняя часы и минуты базового значения.\n */\nexport function mergeDateWithTime(datePart: Date, timeSource?: Date | null): Date {\n\tconst source = normalizeDateTimeValue(timeSource);\n\tconst hours = source?.getHours() ?? 0;\n\tconst minutes = source?.getMinutes() ?? 0;\n\n\treturn createCalendarDate(datePart.getFullYear(), datePart.getMonth(), datePart.getDate(), hours, minutes, 0, 0);\n}\n\n/**\n * Переносит часы и минуты в базовую календарную дату.\n */\nexport function mergeTimeIntoDate(baseDate: Date, hours: number, minutes: number, mode: DateTimeInputMode = \"date-time\"): Date {\n\tif (mode === \"time\") {\n\t\treturn createTimeOnlyBaseDate(hours, minutes);\n\t}\n\n\treturn createCalendarDate(baseDate.getFullYear(), baseDate.getMonth(), baseDate.getDate(), hours, minutes, 0, 0);\n}\n\n/**\n * Создаёт рабочую дату для picker-сценариев без выбранного значения.\n */\nexport function resolvePickerBaseDate(value: Date | null | undefined, fallbackDate: Date, mode: DateTimeInputMode = \"date-time\"): Date {\n\tif (mode === \"time\") {\n\t\treturn normalizeDateTimeValue(value, \"time\") ?? createTimeOnlyBaseDate();\n\t}\n\n\treturn normalizeDateTimeValue(value, mode) ?? fallbackDate;\n}\n\n/**\n * Возвращает границы часов и минут для выбранного календарного дня.\n */\nexport function getTimeRangeForDay(\n\tday: Date,\n\tminDate?: Date,\n\tmaxDate?: Date,\n\tmode: DateTimeInputMode = \"date-time\"\n): {\n\tdisabled: boolean;\n\tminHour: number;\n\tmaxHour: number;\n\tminMinuteByHour: (hour: number) => number;\n\tmaxMinuteByHour: (hour: number) => number;\n} {\n\tconst normalizedDay = normalizeDateTimeValue(day, mode) ?? day;\n\tconst normalizedMinDate = minDate ? normalizeDateTimeValue(minDate, mode) : null;\n\tconst normalizedMaxDate = maxDate ? normalizeDateTimeValue(maxDate, mode) : null;\n\tconst isSameMinDay =\n\t\t!!normalizedMinDate &&\n\t\tnormalizedDay.getFullYear() === normalizedMinDate.getFullYear() &&\n\t\tnormalizedDay.getMonth() === normalizedMinDate.getMonth() &&\n\t\tnormalizedDay.getDate() === normalizedMinDate.getDate();\n\tconst isSameMaxDay =\n\t\t!!normalizedMaxDate &&\n\t\tnormalizedDay.getFullYear() === normalizedMaxDate.getFullYear() &&\n\t\tnormalizedDay.getMonth() === normalizedMaxDate.getMonth() &&\n\t\tnormalizedDay.getDate() === normalizedMaxDate.getDate();\n\n\tconst minHour = isSameMinDay ? normalizedMinDate!.getHours() : 0;\n\tconst maxHour = isSameMaxDay ? normalizedMaxDate!.getHours() : 23;\n\tconst minMinuteAtBoundary = isSameMinDay && minHour === maxHour ? normalizedMinDate!.getMinutes() : 0;\n\tconst maxMinuteAtBoundary = isSameMaxDay && minHour === maxHour ? normalizedMaxDate!.getMinutes() : 59;\n\tconst disabled = minHour > maxHour || (minHour === maxHour && minMinuteAtBoundary > maxMinuteAtBoundary);\n\n\treturn {\n\t\tdisabled,\n\t\tminHour,\n\t\tmaxHour,\n\t\tminMinuteByHour: (hour) => {\n\t\t\tif (disabled) return 0;\n\t\t\treturn isSameMinDay && hour === minHour ? normalizedMinDate!.getMinutes() : 0;\n\t\t},\n\t\tmaxMinuteByHour: (hour) => {\n\t\t\tif (disabled) return 59;\n\t\t\treturn isSameMaxDay && hour === maxHour ? normalizedMaxDate!.getMinutes() : 59;\n\t\t}\n\t};\n}\n\n/**\n * Ограничивает часы и минуты допустимым диапазоном текущего дня.\n */\nexport function clampTimeForDay(\n\tday: Date,\n\thours: number,\n\tminutes: number,\n\tminDate?: Date,\n\tmaxDate?: Date,\n\tmode: DateTimeInputMode = \"date-time\"\n): { hours: number; minutes: number } {\n\tconst range = getTimeRangeForDay(day, minDate, maxDate, mode);\n\tif (range.disabled) {\n\t\treturn { hours: 0, minutes: 0 };\n\t}\n\n\tconst clampedHour = Math.min(Math.max(hours, range.minHour), range.maxHour);\n\tconst minMinute = range.minMinuteByHour(clampedHour);\n\tconst maxMinute = range.maxMinuteByHour(clampedHour);\n\tconst clampedMinute = Math.min(Math.max(minutes, minMinute), maxMinute);\n\n\treturn {\n\t\thours: clampedHour,\n\t\tminutes: clampedMinute\n\t};\n}\n","import { getTimeRangeForDay } from \"./dateTimeValue\";\n\nimport type { DateTimeInputMode } from \"./dateTimeValue\";\n\n/**\n * Состояние и доступные значения для панели выбора времени.\n */\nexport interface TimePanelState {\n\tdisabled: boolean;\n\tselectedHour: number;\n\tselectedMinute: number;\n\thours: number[];\n\tminutes: number[];\n}\n\n/**\n * Собирает состояние часов и минут для панели выбора времени.\n */\nexport function buildTimePanelState(value: Date, minDate?: Date, maxDate?: Date, mode: DateTimeInputMode = \"date-time\"): TimePanelState {\n\tconst timeRange = getTimeRangeForDay(value, minDate, maxDate, mode);\n\tconst selectedHour = value.getHours();\n\tconst selectedMinute = value.getMinutes();\n\tconst minuteMin = timeRange.minMinuteByHour(selectedHour);\n\tconst minuteMax = timeRange.maxMinuteByHour(selectedHour);\n\n\tif (timeRange.disabled) {\n\t\treturn {\n\t\t\tdisabled: true,\n\t\t\tselectedHour,\n\t\t\tselectedMinute,\n\t\t\thours: [],\n\t\t\tminutes: []\n\t\t};\n\t}\n\n\treturn {\n\t\tdisabled: false,\n\t\tselectedHour,\n\t\tselectedMinute,\n\t\thours: Array.from({ length: timeRange.maxHour - timeRange.minHour + 1 }, (_, index) => timeRange.minHour + index),\n\t\tminutes: Array.from({ length: minuteMax - minuteMin + 1 }, (_, index) => minuteMin + index)\n\t};\n}\n",".timePanel {\n\theight: 100%;\n}\n\n.hint {\n\tfont-size: var(--font-size-xs);\n\tcolor: var(--content-1);\n}\n\n.fields {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, minmax(0, 1fr));\n\tgap: var(--space-sm);\n\tmin-height: 10em;\n\theight: 100%;\n}\n\n.field {\n\tdisplay: grid;\n\tgrid-template-rows: auto 1fr;\n\tgap: var(--space-xs);\n\tmin-height: 0;\n}\n\n.label {\n\t// font-size: var(--font-size-sm);\n\tcolor: var(--content-1);\n}\n\n.wheel {\n\tmin-height: 10em;\n}\n","import { WheelPicker } from \"../../wheel-picker\";\nimport { buildTimePanelState } from \"../lib/timePanelState\";\n\nimport styles from \"./TimePanel.module.scss\";\n\nimport type { DateTimeInputMode } from \"../lib\";\n\n/**\n * Пропсы панели выбора времени.\n */\nexport interface TimePanelProps {\n\tvalue: Date;\n\tdisabled?: boolean;\n\tminDate?: Date;\n\tmaxDate?: Date;\n\tmode?: DateTimeInputMode;\n\tonChange: (hours: number, minutes: number) => void;\n}\n\n/**\n * Переиспользуемая панель выбора времени поверх internal wheel-picker.\n */\nexport function TimePanel({ value, disabled, minDate, maxDate, mode = \"date-time\", onChange }: TimePanelProps) {\n\tconst state = buildTimePanelState(value, minDate, maxDate, mode);\n\n\t/**\n\t * Форматирует двузначное значение времени.\n\t */\n\tconst formatValue = (timePart: number) => String(timePart).padStart(2, \"0\");\n\n\tif (state.disabled) {\n\t\treturn (\n\t\t\t<div className={styles.timePanel}>\n\t\t\t\t<p className={styles.hint}>Для выбранного дня нет доступного времени в заданном диапазоне.</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={styles.timePanel}>\n\t\t\t<div className={styles.fields}>\n\t\t\t\t<label className={styles.field}>\n\t\t\t\t\t<span className={styles.label}>Часы</span>\n\t\t\t\t\t<WheelPicker\n\t\t\t\t\t\tclassName={styles.wheel}\n\t\t\t\t\t\titems={state.hours}\n\t\t\t\t\t\tvalue={state.selectedHour}\n\t\t\t\t\t\tonChange={(hours) => onChange(hours, state.selectedMinute)}\n\t\t\t\t\t\tariaLabel=\"Выбор часов\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tformatItem={formatValue}\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\n\t\t\t\t<label className={styles.field}>\n\t\t\t\t\t<span className={styles.label}>Минуты</span>\n\t\t\t\t\t<WheelPicker\n\t\t\t\t\t\tclassName={styles.wheel}\n\t\t\t\t\t\titems={state.minutes}\n\t\t\t\t\t\tvalue={state.selectedMinute}\n\t\t\t\t\t\tonChange={(minutes) => onChange(state.selectedHour, minutes)}\n\t\t\t\t\t\tariaLabel=\"Выбор минут\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tformatItem={formatValue}\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;AAcA,IAAa,IAAyB,oBACzB,IAAoB,SAI3B,IAAsB,MACtB,IAAuB,GACvB,IAAqB;AACL,EAAqB,CAAiB;AAK5D,SAAgB,EAAuB,IAAQ,GAAG,IAAU,GAAS;CACpE,OAAO,EAAmB,GAAqB,GAAsB,GAAoB,GAAO,GAAS,GAAG,CAAC;AAC9G;AAKA,SAAgB,EAAuB,IAA0B,aAAqB;CACrF,OAAO,MAAS,SAAS,IAAoB;AAC9C;AAiBA,SAAgB,EAAuB,GAAgC,IAA0B,aAA0B;CAC1H,IAAI,KAAS,MAAM,OAAO;CAE1B,IAAM,IAAc,EAAU,CAAK;CAOnC,OANK,IAED,MAAS,SACL,EAAuB,EAAY,SAAS,GAAG,EAAY,WAAW,CAAC,IAGxE,IANkB;AAO1B;AAoCA,SAAgB,EAAsB,GAAa,GAAgB,GAAgB,IAA0B,aAAsB;CAClI,IAAM,IAAkB,EAAuB,GAAO,CAAI;CAC1D,IAAI,CAAC,GAAiB,OAAO;CAE7B,IAAI,MAAS,QAAQ;EACpB,IAAM,IAAe,EAAgB,SAAS,IAAI,KAAK,EAAgB,WAAW,GAC5E,IAAoB,IAAU,EAAuB,GAAS,MAAM,IAAI,MACxE,IAAoB,IAAU,EAAuB,GAAS,MAAM,IAAI;EAY9E,OALA,EALI,KAEC,IADe,EAAkB,SAAS,IAAI,KAAK,EAAkB,WAAW,KAIjF,KAEC,IADe,EAAkB,SAAS,IAAI,KAAK,EAAkB,WAAW;CAKtF;CAKA,OAFA,EADI,KAAW,IAAkB,KAC7B,KAAW,IAAkB;AAGlC;AAKA,SAAgB,EAAkB,GAAgB,GAAgC;CACjF,IAAM,IAAS,EAAuB,CAAU,GAC1C,IAAQ,GAAQ,SAAS,KAAK,GAC9B,IAAU,GAAQ,WAAW,KAAK;CAExC,OAAO,EAAmB,EAAS,YAAY,GAAG,EAAS,SAAS,GAAG,EAAS,QAAQ,GAAG,GAAO,GAAS,GAAG,CAAC;AAChH;AAKA,SAAgB,EAAkB,GAAgB,GAAe,GAAiB,IAA0B,aAAmB;CAK9H,OAJI,MAAS,SACL,EAAuB,GAAO,CAAO,IAGtC,EAAmB,EAAS,YAAY,GAAG,EAAS,SAAS,GAAG,EAAS,QAAQ,GAAG,GAAO,GAAS,GAAG,CAAC;AAChH;AAKA,SAAgB,EAAsB,GAAgC,GAAoB,IAA0B,aAAmB;CAKtI,OAJI,MAAS,SACL,EAAuB,GAAO,MAAM,KAAK,EAAuB,IAGjE,EAAuB,GAAO,CAAI,KAAK;AAC/C;AAKA,SAAgB,EACf,GACA,GACA,GACA,IAA0B,aAOzB;CACD,IAAM,IAAgB,EAAuB,GAAK,CAAI,KAAK,GACrD,IAAoB,IAAU,EAAuB,GAAS,CAAI,IAAI,MACtE,IAAoB,IAAU,EAAuB,GAAS,CAAI,IAAI,MACtE,IACL,CAAC,CAAC,KACF,EAAc,YAAY,MAAM,EAAkB,YAAY,KAC9D,EAAc,SAAS,MAAM,EAAkB,SAAS,KACxD,EAAc,QAAQ,MAAM,EAAkB,QAAQ,GACjD,IACL,CAAC,CAAC,KACF,EAAc,YAAY,MAAM,EAAkB,YAAY,KAC9D,EAAc,SAAS,MAAM,EAAkB,SAAS,KACxD,EAAc,QAAQ,MAAM,EAAkB,QAAQ,GAEjD,IAAU,IAAe,EAAmB,SAAS,IAAI,GACzD,IAAU,IAAe,EAAmB,SAAS,IAAI,IACzD,IAAsB,KAAgB,MAAY,IAAU,EAAmB,WAAW,IAAI,GAC9F,IAAsB,KAAgB,MAAY,IAAU,EAAmB,WAAW,IAAI,IAC9F,IAAW,IAAU,KAAY,MAAY,KAAW,IAAsB;CAEpF,OAAO;EACN;EACA;EACA;EACA,kBAAkB,MACb,IAAiB,IACd,KAAgB,MAAS,IAAU,EAAmB,WAAW,IAAI;EAE7E,kBAAkB,MACb,IAAiB,KACd,KAAgB,MAAS,IAAU,EAAmB,WAAW,IAAI;CAE9E;AACD;AAKA,SAAgB,EACf,GACA,GACA,GACA,GACA,GACA,IAA0B,aACW;CACrC,IAAM,IAAQ,EAAmB,GAAK,GAAS,GAAS,CAAI;CAC5D,IAAI,EAAM,UACT,OAAO;EAAE,OAAO;EAAG,SAAS;CAAE;CAG/B,IAAM,IAAc,KAAK,IAAI,KAAK,IAAI,GAAO,EAAM,OAAO,GAAG,EAAM,OAAO,GACpE,IAAY,EAAM,gBAAgB,CAAW,GAC7C,IAAY,EAAM,gBAAgB,CAAW;CAGnD,OAAO;EACN,OAAO;EACP,SAJqB,KAAK,IAAI,KAAK,IAAI,GAAS,CAAS,GAAG,CAInD;CACV;AACD;;;AC1NA,SAAgB,EAAoB,GAAa,GAAgB,GAAgB,IAA0B,aAA6B;CACvI,IAAM,IAAY,EAAmB,GAAO,GAAS,GAAS,CAAI,GAC5D,IAAe,EAAM,SAAS,GAC9B,IAAiB,EAAM,WAAW,GAClC,IAAY,EAAU,gBAAgB,CAAY,GAClD,IAAY,EAAU,gBAAgB,CAAY;CAYxD,OAVI,EAAU,WACN;EACN,UAAU;EACV;EACA;EACA,OAAO,CAAC;EACR,SAAS,CAAC;CACX,IAGM;EACN,UAAU;EACV;EACA;EACA,OAAO,MAAM,KAAK,EAAE,QAAQ,EAAU,UAAU,EAAU,UAAU,EAAE,IAAI,GAAG,MAAU,EAAU,UAAU,CAAK;EAChH,SAAS,MAAM,KAAK,EAAE,QAAQ,IAAY,IAAY,EAAE,IAAI,GAAG,MAAU,IAAY,CAAK;CAC3F;AACD;;;;;;;;;;;AEpBA,SAAgB,EAAU,EAAE,UAAO,aAAU,YAAS,YAAS,UAAO,aAAa,eAA4B;CAC9G,IAAM,IAAQ,EAAoB,GAAO,GAAS,GAAS,CAAI,GAKzD,KAAe,MAAqB,OAAO,CAAQ,CAAC,CAAC,SAAS,GAAG,GAAG;CAU1E,OARI,EAAM,WAER,kBAAC,OAAD;EAAK,WAAW,EAAO;YACtB,kBAAC,KAAD;GAAG,WAAW,EAAO;aAAM;EAAkE,CAAA;CACzF,CAAA,IAKN,kBAAC,OAAD;EAAK,WAAW,EAAO;YACtB,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB,CACC,kBAAC,SAAD;IAAO,WAAW,EAAO;cAAzB,CACC,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAO;IAAU,CAAA,GACzC,kBAAC,GAAD;KACC,WAAW,EAAO;KAClB,OAAO,EAAM;KACb,OAAO,EAAM;KACb,WAAW,MAAU,EAAS,GAAO,EAAM,cAAc;KACzD,WAAU;KACA;KACV,YAAY;IACZ,CAAA,CACK;OAEP,kBAAC,SAAD;IAAO,WAAW,EAAO;cAAzB,CACC,kBAAC,QAAD;KAAM,WAAW,EAAO;eAAO;IAAY,CAAA,GAC3C,kBAAC,GAAD;KACC,WAAW,EAAO;KAClB,OAAO,EAAM;KACb,OAAO,EAAM;KACb,WAAW,MAAY,EAAS,EAAM,cAAc,CAAO;KAC3D,WAAU;KACA;KACV,YAAY;IACZ,CAAA,CACK;KACH;;CACD,CAAA;AAEP"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./ui.module-BisoTevy.js";
|
|
2
|
-
import { useId as t } from "react";
|
|
3
|
-
import { cn as n } from "@ryuzaki13/react-foundation-lib/utils";
|
|
4
|
-
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
-
var a = {
|
|
6
|
-
row: "FFyoOs",
|
|
7
|
-
wrapper: "zPYy7T",
|
|
8
|
-
input: "j6ek6R",
|
|
9
|
-
track: "HFTPXI",
|
|
10
|
-
thumb: "_0RK4xF",
|
|
11
|
-
unchecked: "kDPnKt",
|
|
12
|
-
checked: "DQHqws",
|
|
13
|
-
option: "nCQ9v4"
|
|
14
|
-
};
|
|
15
|
-
//#endregion
|
|
16
|
-
//#region src/toggle/Toggle.tsx
|
|
17
|
-
function o({ label: o, description: s, placeholder: c, disabled: l, size: u, className: d, onChange: f, value: p, id: m, checkedText: h = "ВКЛ", uncheckedText: g = "ВЫКЛ", labelPosition: _ = "before", ...v }) {
|
|
18
|
-
let y = t(), b = m ?? y, x = s ? `${b}-description` : void 0, S = o ?? c, C = !!p, w = !S && !v["aria-label"] ? `${g} / ${h}` : void 0, T = S ? /* @__PURE__ */ r("label", {
|
|
19
|
-
htmlFor: b,
|
|
20
|
-
className: e.uiLabel,
|
|
21
|
-
children: S
|
|
22
|
-
}) : null;
|
|
23
|
-
return /* @__PURE__ */ i("div", {
|
|
24
|
-
className: n(e.uiElement, l && e.disabled, u && e.uiSizable, u && e[u], d),
|
|
25
|
-
"aria-disabled": l || void 0,
|
|
26
|
-
children: [/* @__PURE__ */ i("div", {
|
|
27
|
-
className: a.row,
|
|
28
|
-
children: [
|
|
29
|
-
_ === "before" && T,
|
|
30
|
-
/* @__PURE__ */ i("div", {
|
|
31
|
-
className: a.wrapper,
|
|
32
|
-
children: [/* @__PURE__ */ r("input", {
|
|
33
|
-
...v,
|
|
34
|
-
id: b,
|
|
35
|
-
type: "checkbox",
|
|
36
|
-
role: "switch",
|
|
37
|
-
checked: C,
|
|
38
|
-
disabled: l,
|
|
39
|
-
"aria-checked": C,
|
|
40
|
-
"aria-describedby": x,
|
|
41
|
-
"aria-label": w,
|
|
42
|
-
className: n(e.uiInputControl, a.input),
|
|
43
|
-
onChange: (e) => f?.(e.currentTarget.checked)
|
|
44
|
-
}), /* @__PURE__ */ i("div", {
|
|
45
|
-
className: a.track,
|
|
46
|
-
"data-disabled": l || void 0,
|
|
47
|
-
"aria-hidden": "true",
|
|
48
|
-
children: [
|
|
49
|
-
/* @__PURE__ */ r("div", { className: a.thumb }),
|
|
50
|
-
/* @__PURE__ */ r("div", {
|
|
51
|
-
className: n(a.option, a.unchecked),
|
|
52
|
-
children: g
|
|
53
|
-
}),
|
|
54
|
-
/* @__PURE__ */ r("div", {
|
|
55
|
-
className: n(a.option, a.checked),
|
|
56
|
-
children: h
|
|
57
|
-
})
|
|
58
|
-
]
|
|
59
|
-
})]
|
|
60
|
-
}),
|
|
61
|
-
_ === "after" && T
|
|
62
|
-
]
|
|
63
|
-
}), s && /* @__PURE__ */ r("p", {
|
|
64
|
-
id: x,
|
|
65
|
-
className: e.uiDescription,
|
|
66
|
-
children: s
|
|
67
|
-
})]
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
//#endregion
|
|
71
|
-
export { o as t };
|
|
72
|
-
|
|
73
|
-
//# sourceMappingURL=Toggle-DVqOQXmt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle-DVqOQXmt.js","names":[],"sources":["../../src/toggle/Toggle.module.scss","../../src/toggle/Toggle.tsx"],"sourcesContent":["@use \"@/styles/mixins\" as *;\n\n.row {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-sm);\n}\n\n.wrapper {\n\tposition: relative;\n\tdisplay: flex;\n\tflex: 1 0 auto;\n\tmin-width: calc(var(--drp-ui-width-xs, var(--ui-width-xs)) - var(--width-add));\n}\n\n.input {\n\twidth: 100%;\n\tmargin: 0;\n\tpadding: 0;\n\tappearance: none;\n\tcursor: pointer;\n\n\t&:checked + .track {\n\t\t.thumb {\n\t\t\ttransform: translateX(100%);\n\t\t}\n\n\t\t.unchecked {\n\t\t\tcolor: var(--content-2);\n\t\t}\n\n\t\t.checked {\n\t\t\tcolor: var(--status-neutral-on-fill);\n\t\t}\n\t}\n\n\t&:focus-visible + .track {\n\t\t@include focusVisible;\n\t}\n}\n\n.track {\n\t.unchecked {\n\t\tcolor: var(--status-neutral-on-fill);\n\t}\n\n\t.checked {\n\t\tcolor: var(--content-2);\n\t}\n\n\tposition: absolute;\n\tinset: calc(var(--border-width) * 2);\n\tpointer-events: none;\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, minmax(0, 1fr));\n\talign-items: center;\n\tmin-width: 6.5em;\n\tpadding: 0;\n\toverflow: hidden;\n\n\t&[data-disabled] {\n\t\t.thumb {\n\t\t\topacity: var(--disabled-opacity);\n\t\t}\n\t}\n}\n\n.option {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0 var(--space-sm);\n\tline-height: 1;\n\twhite-space: nowrap;\n\tuser-select: none;\n\tpointer-events: none;\n\tposition: relative;\n\tz-index: 1;\n\ttransition: color var(--transition-fast) linear;\n}\n\n.thumb {\n\tposition: absolute;\n\ttop: 0; // var(--border-width);\n\tleft: 0; //var(--border-width);\n\twidth: 50%; // calc(50% - var(--border-width));\n\theight: 100%; // calc(100% - var(--border-width) * 2);\n\tborder-radius: var(--radius-xs);\n\tbackground-color: var(--status-neutral-fill);\n\ttransition:\n\t\ttransform var(--transition-fast) ease-in-out,\n\t\topacity var(--transition-fast) ease-in-out;\n}\n","import React, { useId } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { UiBaseProps } from \"../types\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport styles from \"./Toggle.module.scss\";\n\ntype ToggleLabelPosition = \"before\" | \"after\";\n\nexport interface ToggleProps\n\textends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\" | \"checked\" | \"value\" | \"onChange\" | \"type\">, UiBaseProps<boolean> {\n\tcheckedText?: string;\n\tuncheckedText?: string;\n\tlabelPosition?: ToggleLabelPosition;\n}\n\n/**\n * Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.\n */\nexport function Toggle({\n\tlabel,\n\tdescription,\n\tplaceholder,\n\tdisabled,\n\tsize,\n\tclassName,\n\tonChange,\n\tvalue,\n\tid: externalId,\n\tcheckedText = \"ВКЛ\",\n\tuncheckedText = \"ВЫКЛ\",\n\tlabelPosition = \"before\",\n\t...props\n}: ToggleProps) {\n\tconst autoId = useId();\n\tconst id = externalId ?? autoId;\n\tconst descriptionId = description ? `${id}-description` : undefined;\n\tconst text = label ?? placeholder;\n\tconst isChecked = Boolean(value);\n\tconst fallbackAriaLabel = !text && !props[\"aria-label\"] ? `${uncheckedText} / ${checkedText}` : undefined;\n\n\tconst labelElement = text ? (\n\t\t<label htmlFor={id} className={uiStyles.uiLabel}>\n\t\t\t{text}\n\t\t</label>\n\t) : null;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={cn(uiStyles.uiElement, disabled && uiStyles.disabled, size && uiStyles.uiSizable, size && uiStyles[size], className)}\n\t\t\taria-disabled={disabled || undefined}>\n\t\t\t<div className={styles.row}>\n\t\t\t\t{labelPosition === \"before\" && labelElement}\n\t\t\t\t<div className={styles.wrapper}>\n\t\t\t\t\t<input\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t\tid={id}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\trole=\"switch\"\n\t\t\t\t\t\tchecked={isChecked}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\taria-checked={isChecked}\n\t\t\t\t\t\taria-describedby={descriptionId}\n\t\t\t\t\t\taria-label={fallbackAriaLabel}\n\t\t\t\t\t\tclassName={cn(uiStyles.uiInputControl, styles.input)}\n\t\t\t\t\t\tonChange={(event) => onChange?.(event.currentTarget.checked)}\n\t\t\t\t\t/>\n\t\t\t\t\t<div className={styles.track} data-disabled={disabled || undefined} aria-hidden=\"true\">\n\t\t\t\t\t\t<div className={styles.thumb} />\n\t\t\t\t\t\t<div className={cn(styles.option, styles.unchecked)}>{uncheckedText}</div>\n\t\t\t\t\t\t<div className={cn(styles.option, styles.checked)}>{checkedText}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{labelPosition === \"after\" && labelElement}\n\t\t\t</div>\n\t\t\t{description && (\n\t\t\t\t<p id={descriptionId} className={uiStyles.uiDescription}>\n\t\t\t\t\t{description}\n\t\t\t\t</p>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;ACqBA,SAAgB,EAAO,EACtB,UACA,gBACA,gBACA,aACA,SACA,cACA,aACA,UACA,IAAI,GACJ,iBAAc,OACd,mBAAgB,QAChB,mBAAgB,UAChB,GAAG,KACY;CACf,IAAM,IAAS,EAAM,GACf,IAAK,KAAc,GACnB,IAAgB,IAAc,GAAG,EAAG,gBAAgB,KAAA,GACpD,IAAO,KAAS,GAChB,IAAY,EAAQ,GACpB,IAAoB,CAAC,KAAQ,CAAC,EAAM,gBAAgB,GAAG,EAAc,KAAK,MAAgB,KAAA,GAE1F,IAAe,IACpB,kBAAC,SAAD;EAAO,SAAS;EAAI,WAAW,EAAS;YACtC;CACK,CAAA,IACJ;CAEJ,OACC,kBAAC,OAAD;EACC,WAAW,EAAG,EAAS,WAAW,KAAY,EAAS,UAAU,KAAQ,EAAS,WAAW,KAAQ,EAAS,IAAO,CAAS;EAC9H,iBAAe,KAAY,KAAA;YAF5B,CAGC,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAvB;IACE,MAAkB,YAAY;IAC/B,kBAAC,OAAD;KAAK,WAAW,EAAO;eAAvB,CACC,kBAAC,SAAD;MACC,GAAI;MACA;MACJ,MAAK;MACL,MAAK;MACL,SAAS;MACC;MACV,gBAAc;MACd,oBAAkB;MAClB,cAAY;MACZ,WAAW,EAAG,EAAS,gBAAgB,EAAO,KAAK;MACnD,WAAW,MAAU,IAAW,EAAM,cAAc,OAAO;KAC3D,CAAA,GACD,kBAAC,OAAD;MAAK,WAAW,EAAO;MAAO,iBAAe,KAAY,KAAA;MAAW,eAAY;gBAAhF;OACC,kBAAC,OAAD,EAAK,WAAW,EAAO,MAAQ,CAAA;OAC/B,kBAAC,OAAD;QAAK,WAAW,EAAG,EAAO,QAAQ,EAAO,SAAS;kBAAI;OAAmB,CAAA;OACzE,kBAAC,OAAD;QAAK,WAAW,EAAG,EAAO,QAAQ,EAAO,OAAO;kBAAI;OAAiB,CAAA;MACjE;OACD;;IACJ,MAAkB,WAAW;GAC1B;MACJ,KACA,kBAAC,KAAD;GAAG,IAAI;GAAe,WAAW,EAAS;aACxC;EACC,CAAA,CAEA;;AAEP"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { a as e, i as t, n, r, t as i } from "./TreePickerBase-C9HEABt5.js";
|
|
2
|
-
import { useMemo as a } from "react";
|
|
3
|
-
import { jsx as o } from "react/jsx-runtime";
|
|
4
|
-
//#region src/tree-select/TreeMultiSelect.tsx
|
|
5
|
-
function s(e, t) {
|
|
6
|
-
if (e.size !== 0) {
|
|
7
|
-
if (e.size === 1) {
|
|
8
|
-
let n = t.nodeById.get([...e][0]);
|
|
9
|
-
return n ? n.code && n.code !== n.label ? `${n.label} · ${n.code}` : n.label : void 0;
|
|
10
|
-
}
|
|
11
|
-
return `Выбрано ${e.size} узл.`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function c({ label: c, description: l, disabled: u, placeholder: d = "Выберите значения", size: f, nodes: p, value: m, onChange: h, query: g, defaultQuery: _, onQuery: v, isLoading: y, error: b }) {
|
|
15
|
-
let x = a(() => n(p), [p]), S = a(() => e(m, x), [x, m]), C = a(() => r(S, x), [S, x]), w = a(() => s(S, x), [S, x]);
|
|
16
|
-
return /* @__PURE__ */ o(i, {
|
|
17
|
-
label: c,
|
|
18
|
-
description: l,
|
|
19
|
-
disabled: u,
|
|
20
|
-
placeholder: d,
|
|
21
|
-
size: f,
|
|
22
|
-
nodes: p,
|
|
23
|
-
selectedIds: C.selectedIds,
|
|
24
|
-
partialIds: C.partialIds,
|
|
25
|
-
selectionMode: "multi",
|
|
26
|
-
triggerMode: "search",
|
|
27
|
-
selectedSummary: w,
|
|
28
|
-
query: g,
|
|
29
|
-
defaultQuery: _,
|
|
30
|
-
onQuery: v,
|
|
31
|
-
onNodeActivate: (e) => h(t(m, e.id, x)),
|
|
32
|
-
onClearSelection: () => h({}),
|
|
33
|
-
isLoading: y,
|
|
34
|
-
error: b
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { c as t };
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=TreeMultiSelect-mIG8VKx8.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeMultiSelect-mIG8VKx8.js","names":[],"sources":["../../src/tree-select/TreeMultiSelect.tsx"],"sourcesContent":["import { useMemo } from \"react\";\n\nimport { UiBaseProps } from \"../types\";\n\nimport { createTreeNodeIndex, getTreeNodeSelectionState, toggleTreeMultiSelection, treeMultiValueToSelectedIds } from \"./model/treeUtils\";\nimport { TreePickerBase } from \"./TreePickerBase\";\nimport { TreeMultiSelectValue, TreeSelectNode } from \"./types\";\n\nexport interface TreeMultiSelectProps extends Omit<UiBaseProps<TreeMultiSelectValue>, \"placeholder\"> {\n\tnodes: readonly TreeSelectNode[];\n\tplaceholder?: string;\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tisLoading?: boolean;\n\terror?: string;\n}\n\nfunction formatTreeMultiSummary(selectedIds: Set<string>, treeIndex: ReturnType<typeof createTreeNodeIndex>) {\n\tif (selectedIds.size === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (selectedIds.size === 1) {\n\t\tconst selectedNode = treeIndex.nodeById.get([...selectedIds][0]);\n\n\t\tif (!selectedNode) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (selectedNode.code && selectedNode.code !== selectedNode.label) {\n\t\t\treturn `${selectedNode.label} · ${selectedNode.code}`;\n\t\t}\n\n\t\treturn selectedNode.label;\n\t}\n\n\treturn `Выбрано ${selectedIds.size} узл.`;\n}\n\nexport function TreeMultiSelect({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder = \"Выберите значения\",\n\tsize,\n\tnodes,\n\tvalue,\n\tonChange,\n\tquery,\n\tdefaultQuery,\n\tonQuery,\n\tisLoading,\n\terror\n}: TreeMultiSelectProps) {\n\tconst treeIndex = useMemo(() => createTreeNodeIndex(nodes), [nodes]);\n\tconst selectedIds = useMemo(() => treeMultiValueToSelectedIds(value, treeIndex), [treeIndex, value]);\n\tconst selectionState = useMemo(() => getTreeNodeSelectionState(selectedIds, treeIndex), [selectedIds, treeIndex]);\n\tconst selectedSummary = useMemo(() => formatTreeMultiSummary(selectedIds, treeIndex), [selectedIds, treeIndex]);\n\n\treturn (\n\t\t<TreePickerBase\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\tnodes={nodes}\n\t\t\tselectedIds={selectionState.selectedIds}\n\t\t\tpartialIds={selectionState.partialIds}\n\t\t\tselectionMode=\"multi\"\n\t\t\ttriggerMode=\"search\"\n\t\t\tselectedSummary={selectedSummary}\n\t\t\tquery={query}\n\t\t\tdefaultQuery={defaultQuery}\n\t\t\tonQuery={onQuery}\n\t\t\tonNodeActivate={(node) => onChange(toggleTreeMultiSelection(value, node.id, treeIndex))}\n\t\t\tonClearSelection={() => onChange({})}\n\t\t\tisLoading={isLoading}\n\t\t\terror={error}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;AAkBA,SAAS,EAAuB,GAA0B,GAAmD;CACxG,MAAY,SAAS,GAIzB;MAAI,EAAY,SAAS,GAAG;GAC3B,IAAM,IAAe,EAAU,SAAS,IAAI,CAAC,GAAG,CAAW,CAAC,CAAC,EAAE;GAU/D,OARK,IAID,EAAa,QAAQ,EAAa,SAAS,EAAa,QACpD,GAAG,EAAa,MAAM,KAAK,EAAa,SAGzC,EAAa,QAPnB;EAQF;EAEA,OAAO,WAAW,EAAY,KAAK;CAFnC;AAGD;AAEA,SAAgB,EAAgB,EAC/B,UACA,gBACA,aACA,iBAAc,qBACd,SACA,UACA,UACA,aACA,UACA,iBACA,YACA,cACA,YACwB;CACxB,IAAM,IAAY,QAAc,EAAoB,CAAK,GAAG,CAAC,CAAK,CAAC,GAC7D,IAAc,QAAc,EAA4B,GAAO,CAAS,GAAG,CAAC,GAAW,CAAK,CAAC,GAC7F,IAAiB,QAAc,EAA0B,GAAa,CAAS,GAAG,CAAC,GAAa,CAAS,CAAC,GAC1G,IAAkB,QAAc,EAAuB,GAAa,CAAS,GAAG,CAAC,GAAa,CAAS,CAAC;CAE9G,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACG;EACP;EACC;EACP,aAAa,EAAe;EAC5B,YAAY,EAAe;EAC3B,eAAc;EACd,aAAY;EACK;EACV;EACO;EACL;EACT,iBAAiB,MAAS,EAAS,EAAyB,GAAO,EAAK,IAAI,CAAS,CAAC;EACtF,wBAAwB,EAAS,CAAC,CAAC;EACxB;EACJ;CACP,CAAA;AAEH"}
|