@ryuzaki13/react-foundation-ui 1.0.7 → 1.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced-search/index.js +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-uvFboXlh.js → TextEditorLexicalClient-Bca3FOUs.js} +8 -8
- package/dist/chunks/{TextEditorLexicalClient-uvFboXlh.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-CaKGXluL.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-BYUl3UFn.js → input-CZLUUggm.js} +12 -4
- package/dist/chunks/input-CZLUUggm.js.map +1 -0
- package/dist/chunks/{InputFiles-gIxOPv5y.js → input-files-aB8iaqGk.js} +5 -5
- package/dist/chunks/input-files-aB8iaqGk.js.map +1 -0
- package/dist/chunks/{input-search-BR4LDmyb.js → input-search-eMvnvgV0.js} +2 -2
- package/dist/chunks/{input-search-BR4LDmyb.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-DGXq3ikg.js → picker-beNX-cW9.js} +11 -11
- package/dist/chunks/{picker-DGXq3ikg.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/Input.d.ts +2 -2
- package/dist/input/Input.d.ts.map +1 -1
- 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 +21 -37
- 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-CaKGXluL.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-DdFdnC9X.js +0 -98
- package/dist/chunks/DropZone-DdFdnC9X.js.map +0 -1
- package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +0 -1
- package/dist/chunks/Input-BYUl3UFn.js.map +0 -1
- package/dist/chunks/InputDateTime-DBkWb0lk.js +0 -258
- package/dist/chunks/InputDateTime-DBkWb0lk.js.map +0 -1
- package/dist/chunks/InputFile-Bo3CN73O.js +0 -105
- package/dist/chunks/InputFile-Bo3CN73O.js.map +0 -1
- package/dist/chunks/InputFiles-gIxOPv5y.js.map +0 -1
- package/dist/chunks/InputImage-k4l1J_tm.js +0 -100
- package/dist/chunks/InputImage-k4l1J_tm.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-B0nfMSpS.js +0 -422
- package/dist/chunks/MultiSelect-B0nfMSpS.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-C5HqkOCG.js +0 -53
- package/dist/chunks/PresetRangeDateInput-C5HqkOCG.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-B6kxgxK2.js +0 -182
- package/dist/chunks/Select-B6kxgxK2.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-CVGFjCGK.js +0 -33
- package/dist/chunks/SerializableSelect-CVGFjCGK.js.map +0 -1
- package/dist/chunks/SingleDateTimeInput-D2fDMQnI.js +0 -331
- package/dist/chunks/SingleDateTimeInput-D2fDMQnI.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-CEp7kGGg.js +0 -78
- package/dist/chunks/StateSelect-CEp7kGGg.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-T8gXua35.js +0 -44
- package/dist/chunks/Textarea-T8gXua35.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-BcPr2Phe.js +0 -40
- package/dist/chunks/TreeMultiSelect-BcPr2Phe.js.map +0 -1
- package/dist/chunks/TreePickerBase-ClXn2q3u.js +0 -423
- package/dist/chunks/TreePickerBase-ClXn2q3u.js.map +0 -1
- package/dist/chunks/TreeSelect-DYWkgryS.js +0 -37
- package/dist/chunks/TreeSelect-DYWkgryS.js.map +0 -1
- package/dist/chunks/layout-picker-C1sizRYa.js +0 -1171
- package/dist/chunks/layout-picker-C1sizRYa.js.map +0 -1
- package/dist/chunks/multi-select-DCY3fonG.js +0 -126
- package/dist/chunks/multi-select-DCY3fonG.js.map +0 -1
- package/dist/chunks/odata-DSW7z3nh.js.map +0 -1
- package/dist/chunks/select-Di99RAVO.js +0 -81
- package/dist/chunks/select-Di99RAVO.js.map +0 -1
- package/dist/chunks/slider-BqeYbdrg.js +0 -695
- package/dist/chunks/slider-BqeYbdrg.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,422 +0,0 @@
|
|
|
1
|
-
import { Text as e } from "../text/index.js";
|
|
2
|
-
import { t } from "./ui.module-BisoTevy.js";
|
|
3
|
-
import { t as n } from "./Grid-ByIIytjh.js";
|
|
4
|
-
import { t as r } from "./CheckBox-BowNqqd3.js";
|
|
5
|
-
import { a as i, c as a, d as o, f as s, i as c, l, n as ee, r as u, t as d, u as f } from "./picker-DGXq3ikg.js";
|
|
6
|
-
import { t as p } from "./separator-B72Aq-6a.js";
|
|
7
|
-
import { t as m } from "./SelectOptionContent-CI7wq9Oi.js";
|
|
8
|
-
import { forwardRef as h, useCallback as g, useMemo as _, useRef as te, useState as ne } from "react";
|
|
9
|
-
import { cn as re } from "@ryuzaki13/react-foundation-lib/utils";
|
|
10
|
-
import { XIcon as ie } from "lucide-react";
|
|
11
|
-
import { Fragment as ae, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
12
|
-
//#region src/multi-select/ui/MultiSelectOption.tsx
|
|
13
|
-
function b({ item: e, textKey: t, codeKey: n, highlight: r }) {
|
|
14
|
-
return /* @__PURE__ */ v(m, {
|
|
15
|
-
label: e[t],
|
|
16
|
-
code: n && e[n],
|
|
17
|
-
highlight: r
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
var x = {
|
|
21
|
-
multiSelect: "_9oSdQi",
|
|
22
|
-
multiSelectTokens: "iobHig",
|
|
23
|
-
multiSelectToken: "yatXso",
|
|
24
|
-
selectAllButton: "h2aA6E"
|
|
25
|
-
};
|
|
26
|
-
//#endregion
|
|
27
|
-
//#region src/multi-select/ui/MultiSelectOptionsToolbar.tsx
|
|
28
|
-
function S({ onSelectAll: e, onDeselectAll: t }) {
|
|
29
|
-
return /* @__PURE__ */ y(n.Container, {
|
|
30
|
-
gap: "xs",
|
|
31
|
-
templateColumns: "1fr 1fr",
|
|
32
|
-
children: [/* @__PURE__ */ v("button", {
|
|
33
|
-
type: "button",
|
|
34
|
-
className: x.selectAllButton,
|
|
35
|
-
onClick: e,
|
|
36
|
-
"data-ui": "multi-select-select-all",
|
|
37
|
-
"data-action": "select-all",
|
|
38
|
-
children: "Выбрать все"
|
|
39
|
-
}), /* @__PURE__ */ v("button", {
|
|
40
|
-
type: "button",
|
|
41
|
-
className: x.selectAllButton,
|
|
42
|
-
onClick: t,
|
|
43
|
-
"data-ui": "multi-select-deselect-all",
|
|
44
|
-
"data-action": "deselect-all",
|
|
45
|
-
children: "Снять выбор"
|
|
46
|
-
})]
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
//#endregion
|
|
50
|
-
//#region src/multi-select/ui/MultiSelectToken.tsx
|
|
51
|
-
function C({ value: e }) {
|
|
52
|
-
return e ? /* @__PURE__ */ v("div", {
|
|
53
|
-
className: x.multiSelectTokens,
|
|
54
|
-
children: /* @__PURE__ */ v("div", {
|
|
55
|
-
className: x.multiSelectToken,
|
|
56
|
-
children: e
|
|
57
|
-
})
|
|
58
|
-
}) : null;
|
|
59
|
-
}
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region src/multi-select/ui/defaultRenderers.tsx
|
|
62
|
-
function w(e, t, n) {
|
|
63
|
-
if (n) return n;
|
|
64
|
-
let r = e[0];
|
|
65
|
-
return r ? Object.keys(r).find((e) => e !== t) ?? t : t;
|
|
66
|
-
}
|
|
67
|
-
function oe(e, t, n) {
|
|
68
|
-
if (e.length === 0) return;
|
|
69
|
-
if (e.length > 1) return `${e.length} элемент${e.length > 5 ? "ов" : "а"})`;
|
|
70
|
-
let r = w(e, t, n);
|
|
71
|
-
return e[0]?.[r] ?? e[0]?.[t];
|
|
72
|
-
}
|
|
73
|
-
function se(e) {
|
|
74
|
-
return function(t) {
|
|
75
|
-
return /* @__PURE__ */ v(C, { value: oe(t.selectedItems, e.codeKey, e.textKey) });
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
function ce(e) {
|
|
79
|
-
return /* @__PURE__ */ v(S, {
|
|
80
|
-
onSelectAll: e.selectAll,
|
|
81
|
-
onDeselectAll: e.deselectAll
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function le(e) {
|
|
85
|
-
return function(t, n) {
|
|
86
|
-
return /* @__PURE__ */ v(b, {
|
|
87
|
-
item: t,
|
|
88
|
-
selected: n.selected,
|
|
89
|
-
highlight: n.highlightQuery,
|
|
90
|
-
textKey: w([t], e.codeKey, e.textKey),
|
|
91
|
-
codeKey: e.hideCode ? void 0 : e.codeKey
|
|
92
|
-
});
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
//#endregion
|
|
96
|
-
//#region src/multi-select/ui/MultiSelectOptionSkeleton.tsx
|
|
97
|
-
function T({ text: n, isError: r }) {
|
|
98
|
-
return /* @__PURE__ */ y("div", {
|
|
99
|
-
className: t.uiPopupOption,
|
|
100
|
-
children: [/* @__PURE__ */ v("span", { className: t.uiPopupOptionIcon }), /* @__PURE__ */ v(e, {
|
|
101
|
-
color: r ? "error" : "primary",
|
|
102
|
-
children: n
|
|
103
|
-
})]
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
//#endregion
|
|
107
|
-
//#region src/multi-select/ui/MultiSelect.tsx
|
|
108
|
-
function ue({ isNoData: e, isLoading: t, error: n, children: r }) {
|
|
109
|
-
return e ? /* @__PURE__ */ v(f, { emptyState: /* @__PURE__ */ v(T, { text: "Нет данных" }) }) : t ? /* @__PURE__ */ v(f, { loadingState: /* @__PURE__ */ v(T, { text: "Загрузка..." }) }) : n ? /* @__PURE__ */ v(f, { errorState: /* @__PURE__ */ v(T, {
|
|
110
|
-
isError: !0,
|
|
111
|
-
text: "Ошибка загрузки"
|
|
112
|
-
}) }) : /* @__PURE__ */ v(ae, { children: r });
|
|
113
|
-
}
|
|
114
|
-
var de = [];
|
|
115
|
-
function E(e, t) {
|
|
116
|
-
return e[t];
|
|
117
|
-
}
|
|
118
|
-
function fe(e, t, n) {
|
|
119
|
-
return Array.from(/* @__PURE__ */ new Set([
|
|
120
|
-
e[n],
|
|
121
|
-
e[t],
|
|
122
|
-
...Object.values(e)
|
|
123
|
-
]));
|
|
124
|
-
}
|
|
125
|
-
function pe(e, t, n) {
|
|
126
|
-
if (e.length !== t.length) return !1;
|
|
127
|
-
let r = new Set(t.map((e) => E(e, n)));
|
|
128
|
-
return e.every((e) => r.has(E(e, n)));
|
|
129
|
-
}
|
|
130
|
-
function D({ entries: e, listId: n, activeIndex: i, selectedKeys: a, codeKey: o, query: s, highlightQuery: c, getOptionDisabled: l, getOptionId: ee, setOptionRef: u, toggleOption: d, selectOnlyOption: f, renderItem: p }) {
|
|
131
|
-
return e.map(({ item: e, index: m }) => {
|
|
132
|
-
let h = m === i, g = a.has(E(e, o)), _ = l?.(e) ?? !1;
|
|
133
|
-
return /* @__PURE__ */ y("div", {
|
|
134
|
-
id: ee(n, m),
|
|
135
|
-
ref: (e) => u(m, e),
|
|
136
|
-
role: "option",
|
|
137
|
-
"aria-selected": g,
|
|
138
|
-
"aria-disabled": _ || void 0,
|
|
139
|
-
className: re(t.uiSelectOption, _ && t.disabled, g && t.selected, h && t.uiPopupOptionActive),
|
|
140
|
-
onMouseDown: (e) => {
|
|
141
|
-
e.preventDefault();
|
|
142
|
-
},
|
|
143
|
-
children: [/* @__PURE__ */ v("div", {
|
|
144
|
-
onClick: (e) => {
|
|
145
|
-
e.stopPropagation();
|
|
146
|
-
},
|
|
147
|
-
children: /* @__PURE__ */ v(r, {
|
|
148
|
-
value: g,
|
|
149
|
-
disabled: _,
|
|
150
|
-
onChange: () => {
|
|
151
|
-
_ || d(e);
|
|
152
|
-
},
|
|
153
|
-
onClick: (e) => {
|
|
154
|
-
e.stopPropagation();
|
|
155
|
-
},
|
|
156
|
-
onMouseDown: (e) => {
|
|
157
|
-
e.stopPropagation();
|
|
158
|
-
}
|
|
159
|
-
})
|
|
160
|
-
}), /* @__PURE__ */ v("div", {
|
|
161
|
-
className: "overflowHidden",
|
|
162
|
-
onClick: () => {
|
|
163
|
-
_ || f(e);
|
|
164
|
-
},
|
|
165
|
-
children: p(e, {
|
|
166
|
-
selected: g,
|
|
167
|
-
active: h,
|
|
168
|
-
disabled: _,
|
|
169
|
-
query: s,
|
|
170
|
-
highlightQuery: c
|
|
171
|
-
})
|
|
172
|
-
})]
|
|
173
|
-
}, `${E(e, o)}-${m}`);
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
var O = h(({ codeKey: e, textKey: n, hideCode: r, items: f, value: m, onChange: h, label: re, description: b, placeholder: S, size: C, query: oe, defaultQuery: T, highlightQuery: O, onQuery: me, defaultFilter: he = !0, onOpen: ge, onClose: _e, getOptionDisabled: k, disabled: A, error: j, isLoading: M, renderToken: N, renderToolbar: P, renderItem: ve }, F) => {
|
|
177
|
-
let I = te(null), [L, ye] = ne(!1), R = "search-multi", z = m ?? de, be = _(() => new Set(z.map((t) => E(t, e))), [e, z]), xe = _(() => f.filter((t) => !be.has(E(t, e))), [
|
|
178
|
-
e,
|
|
179
|
-
be,
|
|
180
|
-
f
|
|
181
|
-
]), B = _(() => w([...z, ...f], e, n), [
|
|
182
|
-
e,
|
|
183
|
-
z,
|
|
184
|
-
f,
|
|
185
|
-
n
|
|
186
|
-
]), { query: V, setQuery: Se } = u({
|
|
187
|
-
open: L,
|
|
188
|
-
query: oe,
|
|
189
|
-
defaultQuery: T,
|
|
190
|
-
onQuery: me,
|
|
191
|
-
triggerMode: R
|
|
192
|
-
}), H = i({
|
|
193
|
-
options: z,
|
|
194
|
-
query: V,
|
|
195
|
-
enabled: he,
|
|
196
|
-
getSearchText: (t) => fe(t, e, B)
|
|
197
|
-
}), U = i({
|
|
198
|
-
options: xe,
|
|
199
|
-
query: V,
|
|
200
|
-
enabled: he,
|
|
201
|
-
getSearchText: (t) => fe(t, e, B)
|
|
202
|
-
}), W = _(() => [...H, ...U], [U, H]), Ce = H.length > 0 ? 0 : -1, { draftValue: G, setDraftValue: K, prepareOpen: we } = ee({
|
|
203
|
-
value: z,
|
|
204
|
-
open: L,
|
|
205
|
-
onCommit: h,
|
|
206
|
-
onOpen: ge,
|
|
207
|
-
onClose: _e,
|
|
208
|
-
isEqual: (t, n) => pe(t, n, e)
|
|
209
|
-
}), q = _(() => new Set(G.map((t) => E(t, e))), [e, G]), Te = _(() => ({
|
|
210
|
-
selectedItems: G,
|
|
211
|
-
committedSelectedItems: z,
|
|
212
|
-
selectedKeys: q,
|
|
213
|
-
open: L
|
|
214
|
-
}), [
|
|
215
|
-
z,
|
|
216
|
-
G,
|
|
217
|
-
L,
|
|
218
|
-
q
|
|
219
|
-
]), J = g((e) => k?.(e, Te) ?? !1, [k, Te]), { activeIndex: Y, context: Ee, floatingStyles: De, getFloatingProps: Oe, setReference: ke, setFloating: Ae, setOptionRef: je, close: Me, openList: Ne, toggleOpen: Pe, selectActiveOption: Fe, handleReferenceKeyDown: Ie, handleFloatingKeyDown: Le, getOptionId: Re, getActiveOptionId: ze } = c({
|
|
220
|
-
options: W,
|
|
221
|
-
selectedIndex: Ce,
|
|
222
|
-
open: L,
|
|
223
|
-
onOpenChange: ye,
|
|
224
|
-
onSelect: void 0,
|
|
225
|
-
disabled: A,
|
|
226
|
-
getOptionDisabled: J,
|
|
227
|
-
closeOnSelect: !1,
|
|
228
|
-
allowOpenWithoutOptions: !0,
|
|
229
|
-
triggerMode: R
|
|
230
|
-
}), Be = O ?? V, X = (t) => {
|
|
231
|
-
let n = E(t, e);
|
|
232
|
-
K((r) => r.some((t) => E(t, e) === n) ? r.filter((t) => E(t, e) !== n) : J(t) ? r : [...r, t]);
|
|
233
|
-
}, Ve = (e) => {
|
|
234
|
-
if (I.current = e, typeof F == "function") {
|
|
235
|
-
F(e);
|
|
236
|
-
return;
|
|
237
|
-
}
|
|
238
|
-
F && (F.current = e);
|
|
239
|
-
}, He = () => {
|
|
240
|
-
K([]), L || h([]);
|
|
241
|
-
}, Ue = () => {
|
|
242
|
-
K((t) => {
|
|
243
|
-
let n = [...t], r = new Set(t.map((t) => E(t, e)));
|
|
244
|
-
for (let t of W) {
|
|
245
|
-
let i = E(t, e);
|
|
246
|
-
!r.has(i) && !J(t) && (r.add(i), n.push(t));
|
|
247
|
-
}
|
|
248
|
-
return n;
|
|
249
|
-
});
|
|
250
|
-
}, We = () => {
|
|
251
|
-
K([]);
|
|
252
|
-
}, Ge = (e) => {
|
|
253
|
-
J(e) || (K([e]), Me());
|
|
254
|
-
}, Ke = L ? G : z, Z = Ke.length > 0, qe = {
|
|
255
|
-
selectedItems: Ke,
|
|
256
|
-
committedSelectedItems: z,
|
|
257
|
-
availableItems: U,
|
|
258
|
-
query: V,
|
|
259
|
-
open: L,
|
|
260
|
-
clearSelection: He,
|
|
261
|
-
selectAll: Ue,
|
|
262
|
-
deselectAll: We
|
|
263
|
-
}, Je = N === void 0 ? se({
|
|
264
|
-
codeKey: e,
|
|
265
|
-
textKey: B
|
|
266
|
-
}) : N, Ye = P === void 0 ? ce : P, Xe = ve ?? le({
|
|
267
|
-
codeKey: e,
|
|
268
|
-
textKey: B,
|
|
269
|
-
hideCode: r
|
|
270
|
-
}), Ze = typeof Je == "function" ? Je(qe) : null, Qe = typeof Ye == "function" ? Ye(qe) : null, Q = H.map((e, t) => ({
|
|
271
|
-
item: e,
|
|
272
|
-
index: t
|
|
273
|
-
})), $e = U.map((e, t) => ({
|
|
274
|
-
item: e,
|
|
275
|
-
index: t + Q.length
|
|
276
|
-
})), et = !M && !j && W.length === 0, $ = d({
|
|
277
|
-
mode: R,
|
|
278
|
-
open: L,
|
|
279
|
-
currentQuery: V,
|
|
280
|
-
hasDisplayValue: !1,
|
|
281
|
-
inputRef: I,
|
|
282
|
-
setQuery: Se,
|
|
283
|
-
openList: Ne,
|
|
284
|
-
close: Me,
|
|
285
|
-
toggleOpen: Pe,
|
|
286
|
-
onBeforeOpen: () => {
|
|
287
|
-
L || we();
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
return /* @__PURE__ */ v(s, {
|
|
291
|
-
label: re,
|
|
292
|
-
description: b,
|
|
293
|
-
disabled: A,
|
|
294
|
-
placeholder: S,
|
|
295
|
-
size: C,
|
|
296
|
-
className: x.multiSelect,
|
|
297
|
-
children: ({ controlId: n, labelId: r, describedBy: i }) => {
|
|
298
|
-
let s = `${n}-listbox`;
|
|
299
|
-
return /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(a, {
|
|
300
|
-
ref: Ve,
|
|
301
|
-
rootRef: ke,
|
|
302
|
-
id: n,
|
|
303
|
-
type: "text",
|
|
304
|
-
role: "combobox",
|
|
305
|
-
autoComplete: "off",
|
|
306
|
-
disabled: A,
|
|
307
|
-
value: V,
|
|
308
|
-
placeholder: Z ? void 0 : S,
|
|
309
|
-
"aria-labelledby": r,
|
|
310
|
-
"aria-describedby": i,
|
|
311
|
-
"aria-haspopup": "listbox",
|
|
312
|
-
"aria-expanded": L,
|
|
313
|
-
"aria-controls": L ? s : void 0,
|
|
314
|
-
"aria-autocomplete": "list",
|
|
315
|
-
"aria-activedescendant": L ? ze(s) : void 0,
|
|
316
|
-
rootClassName: "flex alignItemsCenter",
|
|
317
|
-
endAdornment: /* @__PURE__ */ y(l, {
|
|
318
|
-
open: L,
|
|
319
|
-
disabled: A,
|
|
320
|
-
onToggleMouseDown: $.handleToggleMouseDown,
|
|
321
|
-
onToggleClick: $.handleToggleClick,
|
|
322
|
-
children: [Ze, /* @__PURE__ */ v("button", {
|
|
323
|
-
type: "button",
|
|
324
|
-
disabled: !Z,
|
|
325
|
-
className: t.uiClearButton,
|
|
326
|
-
"data-ui": "multi-select-clear-button",
|
|
327
|
-
"data-action": "clear-multi-select",
|
|
328
|
-
onClick: He,
|
|
329
|
-
"aria-label": "Очистить все",
|
|
330
|
-
children: /* @__PURE__ */ v(ie, {})
|
|
331
|
-
})]
|
|
332
|
-
}),
|
|
333
|
-
onChange: (e) => {
|
|
334
|
-
$.handleTriggerInputChange(e.target.value);
|
|
335
|
-
},
|
|
336
|
-
onClick: $.handleTriggerClick,
|
|
337
|
-
onFocus: (e) => {
|
|
338
|
-
$.handleTriggerFocus(e.currentTarget);
|
|
339
|
-
},
|
|
340
|
-
onKeyDown: (e) => {
|
|
341
|
-
Ie(e), !e.defaultPrevented && $.handleTriggerKeyDown({
|
|
342
|
-
event: e,
|
|
343
|
-
onActivateWhenOpen: () => {
|
|
344
|
-
if (Y >= 0) {
|
|
345
|
-
let e = W[Y];
|
|
346
|
-
if (e) {
|
|
347
|
-
X(e);
|
|
348
|
-
return;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
Fe();
|
|
352
|
-
},
|
|
353
|
-
enableClosedArrowDownOpen: !0,
|
|
354
|
-
suppressClosedArrowUp: !0
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
}), /* @__PURE__ */ v(o, {
|
|
358
|
-
open: L,
|
|
359
|
-
context: Ee,
|
|
360
|
-
floatingStyles: De,
|
|
361
|
-
listId: s,
|
|
362
|
-
labelId: r,
|
|
363
|
-
descriptionId: i,
|
|
364
|
-
activeOptionId: L ? ze(s) : void 0,
|
|
365
|
-
setFloating: Ae,
|
|
366
|
-
getFloatingProps: Oe,
|
|
367
|
-
onKeyDown: Le,
|
|
368
|
-
initialFocus: -1,
|
|
369
|
-
returnFocus: !1,
|
|
370
|
-
tabIndex: -1,
|
|
371
|
-
className: t.uiPopupOptions,
|
|
372
|
-
header: Qe,
|
|
373
|
-
children: /* @__PURE__ */ v(ue, {
|
|
374
|
-
isNoData: et,
|
|
375
|
-
isLoading: M,
|
|
376
|
-
error: j,
|
|
377
|
-
children: /* @__PURE__ */ y("div", {
|
|
378
|
-
className: "scrollable h100",
|
|
379
|
-
children: [
|
|
380
|
-
/* @__PURE__ */ v(D, {
|
|
381
|
-
entries: Q,
|
|
382
|
-
listId: s,
|
|
383
|
-
activeIndex: Y,
|
|
384
|
-
selectedKeys: q,
|
|
385
|
-
codeKey: e,
|
|
386
|
-
query: V,
|
|
387
|
-
highlightQuery: Be,
|
|
388
|
-
getOptionDisabled: J,
|
|
389
|
-
getOptionId: Re,
|
|
390
|
-
setOptionRef: je,
|
|
391
|
-
toggleOption: X,
|
|
392
|
-
selectOnlyOption: Ge,
|
|
393
|
-
renderItem: Xe
|
|
394
|
-
}),
|
|
395
|
-
Q.length > 0 && xe.length > 0 && /* @__PURE__ */ v(p, { className: "marginBlockSm" }),
|
|
396
|
-
/* @__PURE__ */ v(D, {
|
|
397
|
-
entries: $e,
|
|
398
|
-
listId: s,
|
|
399
|
-
activeIndex: Y,
|
|
400
|
-
selectedKeys: q,
|
|
401
|
-
codeKey: e,
|
|
402
|
-
query: V,
|
|
403
|
-
highlightQuery: Be,
|
|
404
|
-
getOptionDisabled: J,
|
|
405
|
-
getOptionId: Re,
|
|
406
|
-
setOptionRef: je,
|
|
407
|
-
toggleOption: X,
|
|
408
|
-
selectOnlyOption: Ge,
|
|
409
|
-
renderItem: Xe
|
|
410
|
-
})
|
|
411
|
-
]
|
|
412
|
-
})
|
|
413
|
-
})
|
|
414
|
-
})] });
|
|
415
|
-
}
|
|
416
|
-
});
|
|
417
|
-
});
|
|
418
|
-
O.displayName = "MultiSelect";
|
|
419
|
-
//#endregion
|
|
420
|
-
export { C as n, O as t };
|
|
421
|
-
|
|
422
|
-
//# sourceMappingURL=MultiSelect-B0nfMSpS.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect-B0nfMSpS.js","names":[],"sources":["../../src/multi-select/ui/MultiSelectOption.tsx","../../src/multi-select/ui/MultiSelect.module.scss","../../src/multi-select/ui/MultiSelectOptionsToolbar.tsx","../../src/multi-select/ui/MultiSelectToken.tsx","../../src/multi-select/ui/defaultRenderers.tsx","../../src/multi-select/ui/MultiSelectOptionSkeleton.tsx","../../src/multi-select/ui/MultiSelect.tsx"],"sourcesContent":["import { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { SelectOptionContent } from \"../../select/SelectOptionContent\";\n\ninterface MultiSelectOptionProps {\n\titem: CollectionItem;\n\ttextKey: string;\n\tcodeKey?: string;\n\thighlight?: string;\n\tselected: boolean;\n}\n\n/**\n * Отдельная опция внутри `MultiSelect`. Отрисовывает состояние выбора и подсветку текста для найденных совпадений.\n */\nexport function MultiSelectOption({ item, textKey, codeKey, highlight }: MultiSelectOptionProps) {\n\treturn <SelectOptionContent label={item[textKey]} code={codeKey && item[codeKey]} highlight={highlight} />;\n}\n","@use \"@/styles/mixins\" as *;\n\n.multiSelect {\n\t// Общий контейнер\n\tpadding: 0;\n}\n\n.multiSelectTokens {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\n\theight: calc(100% - var(--space-sm));\n\tmax-width: calc(100% - var(--control-height) * 2);\n\n\t// overflow: hidden;\n\n\t&:empty {\n\t\tdisplay: none;\n\t}\n}\n\n.multiSelectToken {\n\t// font-size: var(--font-size-sm);\n\n\t// flex: 1 1 0%;\n\t// min-width: 0;\n\tmax-width: 70%;\n\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tword-break: normal;\n\ttext-overflow: ellipsis;\n\n\tpointer-events: none;\n}\n\n.selectAllButton {\n\t// font-size: var(--font-size-sm);\n\tpadding-block: var(--space-xs);\n\tborder-radius: var(--radius-sm);\n\n\t&:hover {\n\t\t// color: var(--content-accent);\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n","import { Grid } from \"../../grid\";\n\nimport styles from \"./MultiSelect.module.scss\";\n\n/**\n * Панель массовых действий для `MultiSelect`. Позволяет быстро выбрать все доступные элементы или снять выбор.\n */\nexport function MultiSelectOptionsToolbar({ onSelectAll, onDeselectAll }: { onSelectAll: () => void; onDeselectAll: () => void }) {\n\treturn (\n\t\t<Grid.Container gap=\"xs\" templateColumns=\"1fr 1fr\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectAllButton}\n\t\t\t\tonClick={onSelectAll}\n\t\t\t\tdata-ui=\"multi-select-select-all\"\n\t\t\t\tdata-action=\"select-all\">\n\t\t\t\tВыбрать все\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectAllButton}\n\t\t\t\tonClick={onDeselectAll}\n\t\t\t\tdata-ui=\"multi-select-deselect-all\"\n\t\t\t\tdata-action=\"deselect-all\">\n\t\t\t\tСнять выбор\n\t\t\t</button>\n\t\t</Grid.Container>\n\t);\n}\n","import styles from \"./MultiSelect.module.scss\";\n\ninterface MultiSelectTokenProps {\n\tvalue: string | undefined;\n}\n\n/**\n * Токен выбранного значения в `MultiSelect`. Показывает выбранный элемент и кнопку его удаления из текущего набора.\n */\nexport function MultiSelectToken({ value }: MultiSelectTokenProps) {\n\tif (!value) return null;\n\n\treturn (\n\t\t<div className={styles.multiSelectTokens}>\n\t\t\t<div className={styles.multiSelectToken}>{value}</div>\n\t\t</div>\n\t);\n}\n","import { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { MultiSelectOption } from \"./MultiSelectOption\";\nimport { MultiSelectOptionsToolbar } from \"./MultiSelectOptionsToolbar\";\nimport { MultiSelectToken } from \"./MultiSelectToken\";\n\nimport type { MultiSelectItemState, MultiSelectRenderContext } from \"./MultiSelect\";\n\ninterface MultiSelectRendererConfig {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n}\n\nexport function resolveMultiSelectTextKey(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (textKey) {\n\t\treturn textKey;\n\t}\n\n\tconst sampleItem = items[0];\n\n\tif (!sampleItem) {\n\t\treturn codeKey;\n\t}\n\n\treturn Object.keys(sampleItem).find((key) => key !== codeKey) ?? codeKey;\n}\n\nexport function getDefaultMultiSelectTokenValue(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (items.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (items.length > 1) {\n\t\treturn `${items.length} элемент${items.length > 5 ? \"ов\" : \"а\"})`;\n\t}\n\n\tconst resolvedTextKey = resolveMultiSelectTextKey(items, codeKey, textKey);\n\treturn items[0]?.[resolvedTextKey] ?? items[0]?.[codeKey];\n}\n\nexport function createDefaultMultiSelectTokenRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultToken(context: MultiSelectRenderContext) {\n\t\treturn <MultiSelectToken value={getDefaultMultiSelectTokenValue(context.selectedItems, config.codeKey, config.textKey)} />;\n\t};\n}\n\nexport function renderDefaultMultiSelectToolbar(context: MultiSelectRenderContext) {\n\treturn <MultiSelectOptionsToolbar onSelectAll={context.selectAll} onDeselectAll={context.deselectAll} />;\n}\n\nexport function createDefaultMultiSelectItemRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultItem(item: CollectionItem, state: MultiSelectItemState) {\n\t\treturn (\n\t\t\t<MultiSelectOption\n\t\t\t\titem={item}\n\t\t\t\tselected={state.selected}\n\t\t\t\thighlight={state.highlightQuery}\n\t\t\t\ttextKey={resolveMultiSelectTextKey([item], config.codeKey, config.textKey)}\n\t\t\t\tcodeKey={config.hideCode ? undefined : config.codeKey}\n\t\t\t/>\n\t\t);\n\t};\n}\n","import { Text } from \"../../text\";\nimport uiStyles from \"../../ui.module.scss\";\n\ninterface MultiSelectOptionSkeletonProps {\n\ttext: string;\n\tisError?: boolean;\n}\n\n/**\n * Скелетон строки опции для `MultiSelect`. Используется во время загрузки или при отображении ошибок получения списка.\n */\nexport function MultiSelectOptionSkeleton({ text, isError }: MultiSelectOptionSkeletonProps) {\n\treturn (\n\t\t<div className={uiStyles.uiPopupOption}>\n\t\t\t<span className={uiStyles.uiPopupOptionIcon}></span>\n\t\t\t<Text color={isError ? \"error\" : \"primary\"}>{text}</Text>\n\t\t</div>\n\t);\n}\n","import React, { forwardRef, type PropsWithChildren, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { XIcon } from \"lucide-react\";\n\nimport { CheckBox } from \"../../check-box\";\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerStatus,\n\tPickerTriggerActions,\n\tPickerTriggerInput,\n\tusePickerDefaultFilter,\n\tusePickerFloatingListbox,\n\tusePickerQuery,\n\tusePickerSelectionLifecycle,\n\tusePickerTriggerController\n} from \"../../picker\";\nimport { Separator } from \"../../separator\";\nimport { type UiBaseProps } from \"../../types\";\nimport uiStyles from \"../../ui.module.scss\";\n\nimport {\n\tcreateDefaultMultiSelectItemRenderer,\n\tcreateDefaultMultiSelectTokenRenderer,\n\trenderDefaultMultiSelectToolbar,\n\tresolveMultiSelectTextKey\n} from \"./defaultRenderers\";\nimport styles from \"./MultiSelect.module.scss\";\nimport { MultiSelectOptionSkeleton } from \"./MultiSelectOptionSkeleton\";\n\nimport type { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ninterface MultiSelectOptionsProps extends PropsWithChildren {\n\tisNoData?: boolean;\n\tisLoading?: boolean;\n\terror?: string;\n}\n\nfunction MultiSelectOptionsWrapper({ isNoData, isLoading, error, children }: MultiSelectOptionsProps) {\n\tif (isNoData) return <PickerStatus emptyState={<MultiSelectOptionSkeleton text=\"Нет данных\" />} />;\n\tif (isLoading) return <PickerStatus loadingState={<MultiSelectOptionSkeleton text=\"Загрузка...\" />} />;\n\tif (error) return <PickerStatus errorState={<MultiSelectOptionSkeleton isError text=\"Ошибка загрузки\" />} />;\n\n\treturn <>{children}</>;\n}\n\nexport interface MultiSelectItemState {\n\tselected: boolean;\n\tactive: boolean;\n\tdisabled: boolean;\n\tquery: string;\n\thighlightQuery: string;\n}\n\nexport interface MultiSelectRenderContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tavailableItems: CollectionItem[];\n\tquery: string;\n\topen: boolean;\n\tclearSelection: () => void;\n\tselectAll: () => void;\n\tdeselectAll: () => void;\n}\n\nexport interface MultiSelectOptionDisableContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tselectedKeys: ReadonlySet<string>;\n\topen: boolean;\n}\n\ntype MultiSelectOptionalRenderer<TContext> = ((context: TContext) => React.ReactNode) | null | false;\n\ninterface MultiSelectRenderers {\n\trenderToken?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderToolbar?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderItem?: (item: CollectionItem, state: MultiSelectItemState) => React.ReactNode;\n}\n\nexport interface MultiSelectProps<TOption extends Record<string, string> = CollectionItem>\n\textends MultiSelectRenderers, UiBaseProps<TOption[]> {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n\tquery?: string;\n\tdefaultQuery?: string;\n\thighlightQuery?: string;\n\tonQuery?: (value: string) => void;\n\tdefaultFilter?: boolean;\n\titems: TOption[];\n\tgetOptionDisabled?: (item: TOption, context: MultiSelectOptionDisableContext) => boolean;\n\tonOpen?: () => void;\n\tonClose?: (value: TOption[]) => void;\n\terror?: string;\n\tisLoading?: boolean;\n}\n\nconst fallback: CollectionItem[] = [];\n\nfunction getItemKey(item: CollectionItem, codeKey: string) {\n\treturn item[codeKey];\n}\n\nfunction getItemSearchParts(item: CollectionItem, codeKey: string, textKey: string) {\n\treturn Array.from(new Set([item[textKey], item[codeKey], ...Object.values(item)]));\n}\n\nfunction areSelectionsEqual(left: CollectionItem[], right: CollectionItem[], codeKey: string) {\n\tif (left.length !== right.length) {\n\t\treturn false;\n\t}\n\n\tconst rightKeys = new Set(right.map((item) => getItemKey(item, codeKey)));\n\n\treturn left.every((item) => rightKeys.has(getItemKey(item, codeKey)));\n}\n\ninterface MultiSelectOptionEntry {\n\titem: CollectionItem;\n\tindex: number;\n}\n\ninterface MultiSelectOptionGroupProps {\n\tentries: MultiSelectOptionEntry[];\n\tlistId: string;\n\tactiveIndex: number;\n\tselectedKeys: Set<string>;\n\tcodeKey: string;\n\tquery: string;\n\thighlightQuery: string;\n\tgetOptionDisabled?: (item: CollectionItem) => boolean;\n\tgetOptionId: (listId: string, index: number) => string;\n\tsetOptionRef: (index: number, node: HTMLElement | null) => void;\n\ttoggleOption: (item: CollectionItem) => void;\n\tselectOnlyOption: (item: CollectionItem) => void;\n\trenderItem: (item: CollectionItem, state: MultiSelectItemState) => React.ReactNode;\n}\n\nfunction MultiSelectOptionGroup({\n\tentries,\n\tlistId,\n\tactiveIndex,\n\tselectedKeys,\n\tcodeKey,\n\tquery,\n\thighlightQuery,\n\tgetOptionDisabled,\n\tgetOptionId,\n\tsetOptionRef,\n\ttoggleOption,\n\tselectOnlyOption,\n\trenderItem\n}: MultiSelectOptionGroupProps) {\n\treturn entries.map(({ item, index }) => {\n\t\tconst active = index === activeIndex;\n\t\tconst selected = selectedKeys.has(getItemKey(item, codeKey));\n\t\tconst optionDisabled = getOptionDisabled?.(item) ?? false;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={`${getItemKey(item, codeKey)}-${index}`}\n\t\t\t\tid={getOptionId(listId, index)}\n\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={selected}\n\t\t\t\taria-disabled={optionDisabled || undefined}\n\t\t\t\tclassName={cn(\n\t\t\t\t\tuiStyles.uiSelectOption,\n\t\t\t\t\toptionDisabled && uiStyles.disabled,\n\t\t\t\t\tselected && uiStyles.selected,\n\t\t\t\t\tactive && uiStyles.uiPopupOptionActive\n\t\t\t\t)}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}}>\n\t\t\t\t\t<CheckBox\n\t\t\t\t\t\tvalue={selected}\n\t\t\t\t\t\tdisabled={optionDisabled}\n\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\tif (!optionDisabled) {\n\t\t\t\t\t\t\t\ttoggleOption(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"overflowHidden\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tif (!optionDisabled) {\n\t\t\t\t\t\t\tselectOnlyOption(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{renderItem(item, { selected, active, disabled: optionDisabled, query, highlightQuery })}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t});\n}\n\n/**\n * Поле множественного выбора с внутренним черновиком значений и подтверждением выбора при закрытии списка.\n * Подходит как для самостоятельного использования, так и как базовый слой для OData-оберток.\n */\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\tcodeKey,\n\t\t\ttextKey,\n\t\t\thideCode,\n\t\t\titems,\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tplaceholder,\n\t\t\tsize,\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\thighlightQuery,\n\t\t\tonQuery,\n\t\t\tdefaultFilter = true,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tgetOptionDisabled,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\tisLoading,\n\t\t\trenderToken,\n\t\t\trenderToolbar,\n\t\t\trenderItem\n\t\t},\n\t\tref\n\t) => {\n\t\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\t\tconst [open, setOpen] = useState(false);\n\t\tconst triggerMode = \"search-multi\";\n\t\tconst committedSelectedItems = value ?? fallback;\n\t\tconst committedSelectedKeys = useMemo(\n\t\t\t() => new Set(committedSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedItems]\n\t\t);\n\t\tconst availableItems = useMemo(\n\t\t\t() => items.filter((item) => !committedSelectedKeys.has(getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedKeys, items]\n\t\t);\n\t\tconst resolvedTextKey = useMemo(\n\t\t\t() => resolveMultiSelectTextKey([...committedSelectedItems, ...items], codeKey, textKey),\n\t\t\t[codeKey, committedSelectedItems, items, textKey]\n\t\t);\n\t\tconst { query: currentQuery, setQuery } = usePickerQuery({\n\t\t\topen,\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\tonQuery,\n\t\t\ttriggerMode\n\t\t});\n\t\tconst filteredCommittedSelectedItems = usePickerDefaultFilter({\n\t\t\toptions: committedSelectedItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst filteredAvailableItems = usePickerDefaultFilter({\n\t\t\toptions: availableItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst visibleOptions = useMemo(\n\t\t\t() => [...filteredCommittedSelectedItems, ...filteredAvailableItems],\n\t\t\t[filteredAvailableItems, filteredCommittedSelectedItems]\n\t\t);\n\t\tconst selectedIndex = filteredCommittedSelectedItems.length > 0 ? 0 : -1;\n\t\tconst {\n\t\t\tdraftValue: draftSelectedItems,\n\t\t\tsetDraftValue: setDraftSelectedItems,\n\t\t\tprepareOpen\n\t\t} = usePickerSelectionLifecycle({\n\t\t\tvalue: committedSelectedItems,\n\t\t\topen,\n\t\t\tonCommit: onChange,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tisEqual: (left, right) => areSelectionsEqual(left, right, codeKey)\n\t\t});\n\t\tconst selectedKeys = useMemo(\n\t\t\t() => new Set(draftSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, draftSelectedItems]\n\t\t);\n\t\tconst optionDisableContext = useMemo<MultiSelectOptionDisableContext>(\n\t\t\t() => ({\n\t\t\t\tselectedItems: draftSelectedItems,\n\t\t\t\tcommittedSelectedItems,\n\t\t\t\tselectedKeys,\n\t\t\t\topen\n\t\t\t}),\n\t\t\t[committedSelectedItems, draftSelectedItems, open, selectedKeys]\n\t\t);\n\t\tconst isOptionDisabled = useCallback(\n\t\t\t(item: CollectionItem) => getOptionDisabled?.(item, optionDisableContext) ?? false,\n\t\t\t[getOptionDisabled, optionDisableContext]\n\t\t);\n\t\tconst {\n\t\t\tactiveIndex,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tgetFloatingProps,\n\t\t\tsetReference,\n\t\t\tsetFloating,\n\t\t\tsetOptionRef,\n\t\t\tclose,\n\t\t\topenList,\n\t\t\ttoggleOpen,\n\t\t\tselectActiveOption,\n\t\t\thandleReferenceKeyDown,\n\t\t\thandleFloatingKeyDown,\n\t\t\tgetOptionId,\n\t\t\tgetActiveOptionId\n\t\t} = usePickerFloatingListbox({\n\t\t\toptions: visibleOptions,\n\t\t\tselectedIndex,\n\t\t\topen,\n\t\t\tonOpenChange: setOpen,\n\t\t\tonSelect: undefined,\n\t\t\tdisabled,\n\t\t\tgetOptionDisabled: isOptionDisabled,\n\t\t\tcloseOnSelect: false,\n\t\t\tallowOpenWithoutOptions: true,\n\t\t\ttriggerMode\n\t\t});\n\n\t\tconst currentHighlightQuery = highlightQuery ?? currentQuery;\n\t\tconst toggleDraftSelection = (item: CollectionItem) => {\n\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst isSelected = currentItems.some((selectedItem) => getItemKey(selectedItem, codeKey) === itemKey);\n\n\t\t\t\tif (isSelected) {\n\t\t\t\t\treturn currentItems.filter((selectedItem) => getItemKey(selectedItem, codeKey) !== itemKey);\n\t\t\t\t}\n\n\t\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\t\treturn currentItems;\n\t\t\t\t}\n\n\t\t\t\treturn [...currentItems, item];\n\t\t\t});\n\t\t};\n\n\t\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\t\tinputRef.current = node;\n\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tref(node);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ref) {\n\t\t\t\tref.current = node;\n\t\t\t}\n\t\t};\n\n\t\tconst clearSelection = () => {\n\t\t\tsetDraftSelectedItems([]);\n\n\t\t\tif (!open) {\n\t\t\t\tonChange([]);\n\t\t\t}\n\t\t};\n\n\t\tconst selectAll = () => {\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst nextItems = [...currentItems];\n\t\t\t\tconst selectedKeys = new Set(currentItems.map((item) => getItemKey(item, codeKey)));\n\n\t\t\t\tfor (const item of visibleOptions) {\n\t\t\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\t\t\tif (!selectedKeys.has(itemKey) && !isOptionDisabled(item)) {\n\t\t\t\t\t\tselectedKeys.add(itemKey);\n\t\t\t\t\t\tnextItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn nextItems;\n\t\t\t});\n\t\t};\n\n\t\tconst deselectAll = () => {\n\t\t\tsetDraftSelectedItems([]);\n\t\t};\n\n\t\tconst selectOnlyOption = (item: CollectionItem) => {\n\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetDraftSelectedItems([item]);\n\t\t\tclose();\n\t\t};\n\n\t\tconst currentSelectedItems = open ? draftSelectedItems : committedSelectedItems;\n\t\tconst hasSelectedItems = currentSelectedItems.length > 0;\n\t\tconst renderContext: MultiSelectRenderContext = {\n\t\t\tselectedItems: currentSelectedItems,\n\t\t\tcommittedSelectedItems,\n\t\t\tavailableItems: filteredAvailableItems,\n\t\t\tquery: currentQuery,\n\t\t\topen,\n\t\t\tclearSelection,\n\t\t\tselectAll,\n\t\t\tdeselectAll\n\t\t};\n\t\tconst tokenRenderer =\n\t\t\trenderToken === undefined ? createDefaultMultiSelectTokenRenderer({ codeKey, textKey: resolvedTextKey }) : renderToken;\n\t\tconst toolbarRenderer = renderToolbar === undefined ? renderDefaultMultiSelectToolbar : renderToolbar;\n\t\tconst itemRenderer =\n\t\t\trenderItem ??\n\t\t\tcreateDefaultMultiSelectItemRenderer({\n\t\t\t\tcodeKey,\n\t\t\t\ttextKey: resolvedTextKey,\n\t\t\t\thideCode\n\t\t\t});\n\t\tconst tokenNode = typeof tokenRenderer === \"function\" ? tokenRenderer(renderContext) : null;\n\t\tconst toolbarNode = typeof toolbarRenderer === \"function\" ? toolbarRenderer(renderContext) : null;\n\t\t// const hasToken = tokenNode !== null && tokenNode !== undefined;\n\t\tconst selectedEntries = filteredCommittedSelectedItems.map((item, index) => ({ item, index }));\n\t\tconst itemEntries = filteredAvailableItems.map((item, index) => ({ item, index: index + selectedEntries.length }));\n\t\tconst isNoData = !isLoading && !error && visibleOptions.length === 0;\n\t\tconst triggerController = usePickerTriggerController({\n\t\t\tmode: triggerMode,\n\t\t\topen,\n\t\t\tcurrentQuery,\n\t\t\thasDisplayValue: false,\n\t\t\tinputRef,\n\t\t\tsetQuery,\n\t\t\topenList,\n\t\t\tclose,\n\t\t\ttoggleOpen,\n\t\t\tonBeforeOpen: () => {\n\t\t\t\tif (!open) {\n\t\t\t\t\tprepareOpen();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn (\n\t\t\t<PickerField\n\t\t\t\tlabel={label}\n\t\t\t\tdescription={description}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={styles.multiSelect}>\n\t\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PickerTriggerInput\n\t\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\tvalue={currentQuery}\n\t\t\t\t\t\t\t\tplaceholder={hasSelectedItems ? undefined : placeholder}\n\t\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\trootClassName=\"flex alignItemsCenter\"\n\t\t\t\t\t\t\t\tendAdornment={\n\t\t\t\t\t\t\t\t\t<PickerTriggerActions\n\t\t\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}>\n\t\t\t\t\t\t\t\t\t\t{tokenNode}\n\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={!hasSelectedItems}\n\t\t\t\t\t\t\t\t\t\t\tclassName={uiStyles.uiClearButton}\n\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"multi-select-clear-button\"\n\t\t\t\t\t\t\t\t\t\t\tdata-action=\"clear-multi-select\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={clearSelection}\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Очистить все\">\n\t\t\t\t\t\t\t\t\t\t\t<XIcon />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</PickerTriggerActions>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerInputChange(event.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\tonActivateWhenOpen: () => {\n\t\t\t\t\t\t\t\t\t\t\tif (activeIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst activeItem = visibleOptions[activeIndex];\n\t\t\t\t\t\t\t\t\t\t\t\tif (activeItem) {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleDraftSelection(activeItem);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tselectActiveOption();\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tenableClosedArrowDownOpen: true,\n\t\t\t\t\t\t\t\t\t\tsuppressClosedArrowUp: true\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\t\tactiveOptionId={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\t\tinitialFocus={-1}\n\t\t\t\t\t\t\t\treturnFocus={false}\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tclassName={uiStyles.uiPopupOptions}\n\t\t\t\t\t\t\t\theader={toolbarNode}>\n\t\t\t\t\t\t\t\t<MultiSelectOptionsWrapper isNoData={isNoData} isLoading={isLoading} error={error}>\n\t\t\t\t\t\t\t\t\t<div className=\"scrollable h100\">\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={selectedEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t{selectedEntries.length > 0 && availableItems.length > 0 && <Separator className=\"marginBlockSm\" />}\n\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={itemEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MultiSelectOptionsWrapper>\n\t\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t</PickerField>\n\t\t);\n\t}\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"mappings":";;;;;;;;;;;;AAeA,SAAgB,EAAkB,EAAE,SAAM,YAAS,YAAS,gBAAqC;CAChG,OAAO,kBAAC,GAAD;EAAqB,OAAO,EAAK;EAAU,MAAM,KAAW,EAAK;EAAqB;CAAY,CAAA;AAC1G;;;;;;;;;AEVA,SAAgB,EAA0B,EAAE,gBAAa,oBAAyE;CACjI,OACC,kBAAC,EAAK,WAAN;EAAgB,KAAI;EAAK,iBAAgB;YAAzC,CACC,kBAAC,UAAD;GACC,MAAK;GACL,WAAW,EAAO;GAClB,SAAS;GACT,WAAQ;GACR,eAAY;aAAa;EAElB,CAAA,GACR,kBAAC,UAAD;GACC,MAAK;GACL,WAAW,EAAO;GAClB,SAAS;GACT,WAAQ;GACR,eAAY;aAAe;EAEpB,CAAA,CACO;;AAElB;;;ACnBA,SAAgB,EAAiB,EAAE,YAAgC;CAGlE,OAFK,IAGJ,kBAAC,OAAD;EAAK,WAAW,EAAO;YACtB,kBAAC,OAAD;GAAK,WAAW,EAAO;aAAmB;EAAW,CAAA;CACjD,CAAA,IALa;AAOpB;;;ACHA,SAAgB,EAA0B,GAAyB,GAAiB,GAAkB;CACrG,IAAI,GACH,OAAO;CAGR,IAAM,IAAa,EAAM;CAMzB,OAJK,IAIE,OAAO,KAAK,CAAU,CAAC,CAAC,MAAM,MAAQ,MAAQ,CAAO,KAAK,IAHzD;AAIT;AAEA,SAAgB,GAAgC,GAAyB,GAAiB,GAAkB;CAC3G,IAAI,EAAM,WAAW,GACpB;CAGD,IAAI,EAAM,SAAS,GAClB,OAAO,GAAG,EAAM,OAAO,UAAU,EAAM,SAAS,IAAI,OAAO,IAAI;CAGhE,IAAM,IAAkB,EAA0B,GAAO,GAAS,CAAO;CACzE,OAAO,EAAM,EAAE,GAAG,MAAoB,EAAM,EAAE,GAAG;AAClD;AAEA,SAAgB,GAAsC,GAAmC;CACxF,OAAO,SAA4B,GAAmC;EACrE,OAAO,kBAAC,GAAD,EAAkB,OAAO,GAAgC,EAAQ,eAAe,EAAO,SAAS,EAAO,OAAO,EAAI,CAAA;CAC1H;AACD;AAEA,SAAgB,GAAgC,GAAmC;CAClF,OAAO,kBAAC,GAAD;EAA2B,aAAa,EAAQ;EAAW,eAAe,EAAQ;CAAc,CAAA;AACxG;AAEA,SAAgB,GAAqC,GAAmC;CACvF,OAAO,SAA2B,GAAsB,GAA6B;EACpF,OACC,kBAAC,GAAD;GACO;GACN,UAAU,EAAM;GAChB,WAAW,EAAM;GACjB,SAAS,EAA0B,CAAC,CAAI,GAAG,EAAO,SAAS,EAAO,OAAO;GACzE,SAAS,EAAO,WAAW,KAAA,IAAY,EAAO;EAC9C,CAAA;CAEH;AACD;;;ACpDA,SAAgB,EAA0B,EAAE,SAAM,cAA2C;CAC5F,OACC,kBAAC,OAAD;EAAK,WAAW,EAAS;YAAzB,CACC,kBAAC,QAAD,EAAM,WAAW,EAAS,kBAAyB,CAAA,GACnD,kBAAC,GAAD;GAAM,OAAO,IAAU,UAAU;aAAY;EAAW,CAAA,CACpD;;AAEP;;;ACqBA,SAAS,GAA0B,EAAE,aAAU,cAAW,UAAO,eAAqC;CAKrG,OAJI,IAAiB,kBAAC,GAAD,EAAc,YAAY,kBAAC,GAAD,EAA2B,MAAK,aAAc,CAAA,EAAI,CAAA,IAC7F,IAAkB,kBAAC,GAAD,EAAc,cAAc,kBAAC,GAAD,EAA2B,MAAK,cAAe,CAAA,EAAI,CAAA,IACjG,IAAc,kBAAC,GAAD,EAAc,YAAY,kBAAC,GAAD;EAA2B,SAAA;EAAQ,MAAK;CAAmB,CAAA,EAAI,CAAA,IAEpG,kBAAA,IAAA,EAAG,YAAW,CAAA;AACtB;AAsDA,IAAM,KAA6B,CAAC;AAEpC,SAAS,EAAW,GAAsB,GAAiB;CAC1D,OAAO,EAAK;AACb;AAEA,SAAS,GAAmB,GAAsB,GAAiB,GAAiB;CACnF,OAAO,MAAM,qBAAK,IAAI,IAAI;EAAC,EAAK;EAAU,EAAK;EAAU,GAAG,OAAO,OAAO,CAAI;CAAC,CAAC,CAAC;AAClF;AAEA,SAAS,GAAmB,GAAwB,GAAyB,GAAiB;CAC7F,IAAI,EAAK,WAAW,EAAM,QACzB,OAAO;CAGR,IAAM,IAAY,IAAI,IAAI,EAAM,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC;CAExE,OAAO,EAAK,OAAO,MAAS,EAAU,IAAI,EAAW,GAAM,CAAO,CAAC,CAAC;AACrE;AAuBA,SAAS,EAAuB,EAC/B,YACA,WACA,gBACA,iBACA,YACA,UACA,mBACA,sBACA,iBACA,iBACA,iBACA,qBACA,iBAC+B;CAC/B,OAAO,EAAQ,KAAK,EAAE,SAAM,eAAY;EACvC,IAAM,IAAS,MAAU,GACnB,IAAW,EAAa,IAAI,EAAW,GAAM,CAAO,CAAC,GACrD,IAAiB,IAAoB,CAAI,KAAK;EAEpD,OACC,kBAAC,OAAD;GAEC,IAAI,GAAY,GAAQ,CAAK;GAC7B,MAAM,MAAS,EAAa,GAAO,CAAI;GACvC,MAAK;GACL,iBAAe;GACf,iBAAe,KAAkB,KAAA;GACjC,WAAW,GACV,EAAS,gBACT,KAAkB,EAAS,UAC3B,KAAY,EAAS,UACrB,KAAU,EAAS,mBACpB;GACA,cAAc,MAAU;IACvB,EAAM,eAAe;GACtB;aAfD,CAgBC,kBAAC,OAAD;IACC,UAAU,MAAU;KACnB,EAAM,gBAAgB;IACvB;cACA,kBAAC,GAAD;KACC,OAAO;KACP,UAAU;KACV,gBAAgB;MACf,AAAK,KACJ,EAAa,CAAI;KAEnB;KACA,UAAU,MAAU;MACnB,EAAM,gBAAgB;KACvB;KACA,cAAc,MAAU;MACvB,EAAM,gBAAgB;KACvB;IACA,CAAA;GACG,CAAA,GACL,kBAAC,OAAD;IACC,WAAU;IACV,eAAe;KACd,AAAK,KACJ,EAAiB,CAAI;IAEvB;cACC,EAAW,GAAM;KAAE;KAAU;KAAQ,UAAU;KAAgB;KAAO;IAAe,CAAC;GACnF,CAAA,CACD;KA5CC,GAAG,EAAW,GAAM,CAAO,EAAE,GAAG,GA4CjC;CAEP,CAAC;AACF;AAMA,IAAa,IAAc,GAEzB,EACC,YACA,YACA,aACA,UACA,UACA,aACA,WACA,gBACA,gBACA,SACA,WACA,iBACA,mBACA,aACA,oBAAgB,IAChB,YACA,aACA,sBACA,aACA,UACA,cACA,gBACA,kBACA,kBAED,MACI;CACJ,IAAM,IAAW,GAAgC,IAAI,GAC/C,CAAC,GAAM,MAAW,GAAS,EAAK,GAChC,IAAc,gBACd,IAAyB,KAAS,IAClC,KAAwB,QACvB,IAAI,IAAI,EAAuB,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC,GAC7E,CAAC,GAAS,CAAsB,CACjC,GACM,KAAiB,QAChB,EAAM,QAAQ,MAAS,CAAC,GAAsB,IAAI,EAAW,GAAM,CAAO,CAAC,CAAC,GAClF;EAAC;EAAS;EAAuB;CAAK,CACvC,GACM,IAAkB,QACjB,EAA0B,CAAC,GAAG,GAAwB,GAAG,CAAK,GAAG,GAAS,CAAO,GACvF;EAAC;EAAS;EAAwB;EAAO;CAAO,CACjD,GACM,EAAE,OAAO,GAAc,iBAAa,EAAe;EACxD;EACA;EACA;EACA;EACA;CACD,CAAC,GACK,IAAiC,EAAuB;EAC7D,SAAS;EACT,OAAO;EACP,SAAS;EACT,gBAAgB,MAAS,GAAmB,GAAM,GAAS,CAAe;CAC3E,CAAC,GACK,IAAyB,EAAuB;EACrD,SAAS;EACT,OAAO;EACP,SAAS;EACT,gBAAgB,MAAS,GAAmB,GAAM,GAAS,CAAe;CAC3E,CAAC,GACK,IAAiB,QAChB,CAAC,GAAG,GAAgC,GAAG,CAAsB,GACnE,CAAC,GAAwB,CAA8B,CACxD,GACM,KAAgB,EAA+B,SAAS,IAAI,IAAI,IAChE,EACL,YAAY,GACZ,eAAe,GACf,oBACG,GAA4B;EAC/B,OAAO;EACP;EACA,UAAU;EACV;EACA;EACA,UAAU,GAAM,MAAU,GAAmB,GAAM,GAAO,CAAO;CAClE,CAAC,GACK,IAAe,QACd,IAAI,IAAI,EAAmB,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC,GACzE,CAAC,GAAS,CAAkB,CAC7B,GACM,KAAuB,SACrB;EACN,eAAe;EACf;EACA;EACA;CACD,IACA;EAAC;EAAwB;EAAoB;EAAM;CAAY,CAChE,GACM,IAAmB,GACvB,MAAyB,IAAoB,GAAM,EAAoB,KAAK,IAC7E,CAAC,GAAmB,EAAoB,CACzC,GACM,EACL,gBACA,aACA,oBACA,sBACA,kBACA,iBACA,kBACA,WACA,cACA,gBACA,wBACA,4BACA,2BACA,iBACA,0BACG,EAAyB;EAC5B,SAAS;EACT;EACA;EACA,cAAc;EACd,UAAU,KAAA;EACV;EACA,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB;CACD,CAAC,GAEK,KAAwB,KAAkB,GAC1C,KAAwB,MAAyB;EACtD,IAAM,IAAU,EAAW,GAAM,CAAO;EAExC,GAAuB,MACH,EAAa,MAAM,MAAiB,EAAW,GAAc,CAAO,MAAM,CAEzF,IACI,EAAa,QAAQ,MAAiB,EAAW,GAAc,CAAO,MAAM,CAAO,IAGvF,EAAiB,CAAI,IACjB,IAGD,CAAC,GAAG,GAAc,CAAI,CAC7B;CACF,GAEM,MAAgB,MAAkC;EAGvD,IAFA,EAAS,UAAU,GAEf,OAAO,KAAQ,YAAY;GAC9B,EAAI,CAAI;GACR;EACD;EAEA,AAAI,MACH,EAAI,UAAU;CAEhB,GAEM,WAAuB;EAG5B,AAFA,EAAsB,CAAC,CAAC,GAEnB,KACJ,EAAS,CAAC,CAAC;CAEb,GAEM,WAAkB;EACvB,GAAuB,MAAiB;GACvC,IAAM,IAAY,CAAC,GAAG,CAAY,GAC5B,IAAe,IAAI,IAAI,EAAa,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC;GAElF,KAAK,IAAM,KAAQ,GAAgB;IAClC,IAAM,IAAU,EAAW,GAAM,CAAO;IAExC,AAAI,CAAC,EAAa,IAAI,CAAO,KAAK,CAAC,EAAiB,CAAI,MACvD,EAAa,IAAI,CAAO,GACxB,EAAU,KAAK,CAAI;GAErB;GAEA,OAAO;EACR,CAAC;CACF,GAEM,WAAoB;EACzB,EAAsB,CAAC,CAAC;CACzB,GAEM,MAAoB,MAAyB;EAC9C,EAAiB,CAAI,MAIzB,EAAsB,CAAC,CAAI,CAAC,GAC5B,GAAM;CACP,GAEM,KAAuB,IAAO,IAAqB,GACnD,IAAmB,GAAqB,SAAS,GACjD,KAA0C;EAC/C,eAAe;EACf;EACA,gBAAgB;EAChB,OAAO;EACP;EACA;EACA;EACA;CACD,GACM,KACL,MAAgB,KAAA,IAAY,GAAsC;EAAE;EAAS,SAAS;CAAgB,CAAC,IAAI,GACtG,KAAkB,MAAkB,KAAA,IAAY,KAAkC,GAClF,KACL,MACA,GAAqC;EACpC;EACA,SAAS;EACT;CACD,CAAC,GACI,KAAY,OAAO,MAAkB,aAAa,GAAc,EAAa,IAAI,MACjF,KAAc,OAAO,MAAoB,aAAa,GAAgB,EAAa,IAAI,MAEvF,IAAkB,EAA+B,KAAK,GAAM,OAAW;EAAE;EAAM;CAAM,EAAE,GACvF,KAAc,EAAuB,KAAK,GAAM,OAAW;EAAE;EAAM,OAAO,IAAQ,EAAgB;CAAO,EAAE,GAC3G,KAAW,CAAC,KAAa,CAAC,KAAS,EAAe,WAAW,GAC7D,IAAoB,EAA2B;EACpD,MAAM;EACN;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA;EACA,oBAAoB;GACnB,AAAK,KACJ,GAAY;EAEd;CACD,CAAC;CAED,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACG;EACP;EACN,WAAW,EAAO;aAChB,EAAE,cAAW,YAAS,qBAAkB;GACzC,IAAM,IAAS,GAAG,EAAU;GAE5B,OACC,kBAAA,IAAA,EAAA,UAAA,CACC,kBAAC,GAAD;IACC,KAAK;IACL,SAAS;IACT,IAAI;IACJ,MAAK;IACL,MAAK;IACL,cAAa;IACH;IACV,OAAO;IACP,aAAa,IAAmB,KAAA,IAAY;IAC5C,mBAAiB;IACjB,oBAAkB;IAClB,iBAAc;IACd,iBAAe;IACf,iBAAe,IAAO,IAAS,KAAA;IAC/B,qBAAkB;IAClB,yBAAuB,IAAO,GAAkB,CAAM,IAAI,KAAA;IAC1D,eAAc;IACd,cACC,kBAAC,GAAD;KACO;KACI;KACV,mBAAmB,EAAkB;KACrC,eAAe,EAAkB;eAJlC,CAKE,IAED,kBAAC,UAAD;MACC,MAAK;MACL,UAAU,CAAC;MACX,WAAW,EAAS;MACpB,WAAQ;MACR,eAAY;MACZ,SAAS;MACT,cAAW;gBACX,kBAAC,IAAD,CAAQ,CAAA;KACD,CAAA,CACa;;IAEvB,WAAW,MAAU;KACpB,EAAkB,yBAAyB,EAAM,OAAO,KAAK;IAC9D;IACA,SAAS,EAAkB;IAC3B,UAAU,MAAU;KACnB,EAAkB,mBAAmB,EAAM,aAAa;IACzD;IACA,YAAY,MAAU;KACrB,GAAuB,CAAK,GAExB,GAAM,oBAIV,EAAkB,qBAAqB;MACtC;MACA,0BAA0B;OACzB,IAAI,KAAe,GAAG;QACrB,IAAM,IAAa,EAAe;QAClC,IAAI,GAAY;SACf,EAAqB,CAAU;SAC/B;QACD;OACD;OAEA,GAAmB;MACpB;MACA,2BAA2B;MAC3B,uBAAuB;KACxB,CAAC;IACF;GACA,CAAA,GAED,kBAAC,GAAD;IACO;IACG;IACO;IACR;IACC;IACT,eAAe;IACf,gBAAgB,IAAO,GAAkB,CAAM,IAAI,KAAA;IACtC;IACK;IAClB,WAAW;IACX,cAAc;IACd,aAAa;IACb,UAAU;IACV,WAAW,EAAS;IACpB,QAAQ;cACR,kBAAC,IAAD;KAAqC;KAAqB;KAAkB;eAC3E,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACC,kBAAC,GAAD;QACC,SAAS;QACD;QACK;QACC;QACL;QACT,OAAO;QACP,gBAAgB;QAChB,mBAAmB;QACN;QACC;QACd,cAAc;QACI;QAClB,YAAY;OACZ,CAAA;OAEA,EAAgB,SAAS,KAAK,GAAe,SAAS,KAAK,kBAAC,GAAD,EAAW,WAAU,gBAAiB,CAAA;OAElG,kBAAC,GAAD;QACC,SAAS;QACD;QACK;QACC;QACL;QACT,OAAO;QACP,gBAAgB;QAChB,mBAAmB;QACN;QACC;QACd,cAAc;QACI;QAClB,YAAY;OACZ,CAAA;MACG;;IACqB,CAAA;GACf,CAAA,CACZ,EAAA,CAAA;EAEJ;CACY,CAAA;AAEf,CACD;AAEA,EAAY,cAAc"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { i as e } from "./Flex-DUYSL5TE.js";
|
|
2
|
-
import { t } from "./Button-CCWuggdA.js";
|
|
3
|
-
import { createContext as n, useContext as r, useEffect as i, useMemo as a } from "react";
|
|
4
|
-
import { cn as o } from "@ryuzaki13/react-foundation-lib/utils";
|
|
5
|
-
import { bindNotifications as s, createNotificationsStore as c } from "@ryuzaki13/react-foundation-lib/notifications";
|
|
6
|
-
import { AlertCircleIcon as l, CheckCircle2Icon as u, InfoIcon as d, TriangleAlertIcon as f, XIcon as p } from "lucide-react";
|
|
7
|
-
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
8
|
-
import { createMissingContextError as g } from "@ryuzaki13/react-foundation-lib/error";
|
|
9
|
-
import { useStore as _ } from "zustand";
|
|
10
|
-
//#region src/notifications/model/NotificationsProvider.tsx
|
|
11
|
-
var v = n(null);
|
|
12
|
-
function y({ children: e }) {
|
|
13
|
-
let t = a(() => c(), []);
|
|
14
|
-
return i(() => s(t), [t]), /* @__PURE__ */ m(v.Provider, {
|
|
15
|
-
value: t,
|
|
16
|
-
children: e
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
function b() {
|
|
20
|
-
let e = r(v);
|
|
21
|
-
if (!e) throw g({
|
|
22
|
-
hookName: "useNotificationApi",
|
|
23
|
-
providerName: "NotificationsProvider"
|
|
24
|
-
});
|
|
25
|
-
return e;
|
|
26
|
-
}
|
|
27
|
-
function x() {
|
|
28
|
-
return _(b(), (e) => e.items);
|
|
29
|
-
}
|
|
30
|
-
function S() {
|
|
31
|
-
let e = _(b(), (e) => e.actions), t = (t) => (n, r) => e.push({
|
|
32
|
-
type: t,
|
|
33
|
-
message: n,
|
|
34
|
-
...r
|
|
35
|
-
});
|
|
36
|
-
return {
|
|
37
|
-
...e,
|
|
38
|
-
success: t("success"),
|
|
39
|
-
info: t("info"),
|
|
40
|
-
warning: t("warning"),
|
|
41
|
-
error: t("error")
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function C(e) {
|
|
45
|
-
return _(b(), (t) => t.items.find((t) => t.id === e));
|
|
46
|
-
}
|
|
47
|
-
var w = {
|
|
48
|
-
container: "STGQ3g",
|
|
49
|
-
card: "RaiISE",
|
|
50
|
-
info: "cM81wO",
|
|
51
|
-
success: "nH2cuZ",
|
|
52
|
-
warning: "A2glD7",
|
|
53
|
-
error: "yWjijS",
|
|
54
|
-
header: "_1HO2ne",
|
|
55
|
-
content: "OyRJpj",
|
|
56
|
-
copy: "vrCrow",
|
|
57
|
-
icon: "A0X-ma",
|
|
58
|
-
kicker: "AkHvPV",
|
|
59
|
-
title: "_4YDLB5",
|
|
60
|
-
message: "CK3Bqv",
|
|
61
|
-
actions: "nLmQut"
|
|
62
|
-
}, T = {
|
|
63
|
-
info: {
|
|
64
|
-
title: "Информация",
|
|
65
|
-
Icon: d
|
|
66
|
-
},
|
|
67
|
-
success: {
|
|
68
|
-
title: "Успешно",
|
|
69
|
-
Icon: u
|
|
70
|
-
},
|
|
71
|
-
warning: {
|
|
72
|
-
title: "Предупреждение",
|
|
73
|
-
Icon: f
|
|
74
|
-
},
|
|
75
|
-
error: {
|
|
76
|
-
title: "Ошибка",
|
|
77
|
-
Icon: l
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
function E() {
|
|
81
|
-
let n = x(), { dismiss: r } = S();
|
|
82
|
-
return /* @__PURE__ */ m("div", {
|
|
83
|
-
className: w.container,
|
|
84
|
-
"aria-label": "Область уведомлений",
|
|
85
|
-
"aria-live": "polite",
|
|
86
|
-
"aria-relevant": "additions text",
|
|
87
|
-
children: n.map((n) => {
|
|
88
|
-
let i = T[n.type], a = n.title ?? i.title, s = i.Icon;
|
|
89
|
-
return /* @__PURE__ */ m("article", {
|
|
90
|
-
role: n.type === "error" ? "alert" : "status",
|
|
91
|
-
"aria-atomic": "true",
|
|
92
|
-
className: o(w.card, w[n.type]),
|
|
93
|
-
children: /* @__PURE__ */ h(e, {
|
|
94
|
-
align: "start",
|
|
95
|
-
justify: "between",
|
|
96
|
-
gap: "sm",
|
|
97
|
-
className: w.header,
|
|
98
|
-
children: [/* @__PURE__ */ h(e, {
|
|
99
|
-
align: "start",
|
|
100
|
-
gap: "sm",
|
|
101
|
-
className: w.content,
|
|
102
|
-
children: [/* @__PURE__ */ m("span", {
|
|
103
|
-
className: w.icon,
|
|
104
|
-
"aria-hidden": "true",
|
|
105
|
-
children: /* @__PURE__ */ m(s, {})
|
|
106
|
-
}), /* @__PURE__ */ h("div", {
|
|
107
|
-
className: w.copy,
|
|
108
|
-
children: [
|
|
109
|
-
/* @__PURE__ */ m("div", {
|
|
110
|
-
className: w.kicker,
|
|
111
|
-
children: i.title
|
|
112
|
-
}),
|
|
113
|
-
n.title ? /* @__PURE__ */ m("div", {
|
|
114
|
-
className: w.title,
|
|
115
|
-
children: a
|
|
116
|
-
}) : null,
|
|
117
|
-
/* @__PURE__ */ m("div", {
|
|
118
|
-
className: w.message,
|
|
119
|
-
children: n.message
|
|
120
|
-
}),
|
|
121
|
-
n.actions?.length ? /* @__PURE__ */ m("div", {
|
|
122
|
-
className: w.actions,
|
|
123
|
-
children: n.actions.map((e) => /* @__PURE__ */ m(t, {
|
|
124
|
-
tone: e.tone ?? n.type,
|
|
125
|
-
appearance: "outline",
|
|
126
|
-
"data-ui": "notification-action-button",
|
|
127
|
-
"data-action": "notification-action",
|
|
128
|
-
onClick: () => void e.onClick(),
|
|
129
|
-
children: e.label
|
|
130
|
-
}, e.label))
|
|
131
|
-
}) : null
|
|
132
|
-
]
|
|
133
|
-
})]
|
|
134
|
-
}), n.dismissible === !1 ? null : /* @__PURE__ */ m(t, {
|
|
135
|
-
icon: /* @__PURE__ */ m(p, {}),
|
|
136
|
-
appearance: "ghost",
|
|
137
|
-
tone: n.type,
|
|
138
|
-
onClick: () => r(n.id),
|
|
139
|
-
"aria-label": "Закрыть уведомление",
|
|
140
|
-
"data-ui": "notification-dismiss-button",
|
|
141
|
-
"data-action": "dismiss-notification"
|
|
142
|
-
})]
|
|
143
|
-
})
|
|
144
|
-
}, n.id);
|
|
145
|
-
})
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
//#endregion
|
|
149
|
-
export { S as a, x as i, y as n, C as r, E as t };
|
|
150
|
-
|
|
151
|
-
//# sourceMappingURL=NotificationsHost-_icJx4xR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationsHost-_icJx4xR.js","names":[],"sources":["../../src/notifications/model/NotificationsProvider.tsx","../../src/notifications/ui/Notification.module.scss","../../src/notifications/ui/NotificationsHost.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport { createContext, PropsWithChildren, useContext, useEffect, useMemo } from \"react\";\n\nimport { createMissingContextError } from \"@ryuzaki13/react-foundation-lib/error\";\nimport {\n\tbindNotifications,\n\tcreateNotificationsStore,\n\tNotificationId,\n\tNotificationPushInput,\n\tNotificationsStoreApi,\n\tNotificationType\n} from \"@ryuzaki13/react-foundation-lib/notifications\";\nimport { useStore } from \"zustand\";\n\nconst NotificationsContext = createContext<NotificationsStoreApi | null>(null);\n\n/**\n * Провайдер уведомлений приложения. Хранит состояние списка уведомлений и предоставляет хуки доступа к нему.\n */\nexport function NotificationsProvider({ children }: PropsWithChildren) {\n\tconst store = useMemo(() => createNotificationsStore(), []);\n\n\tuseEffect(() => {\n\t\treturn bindNotifications(store);\n\t}, [store]);\n\n\treturn <NotificationsContext.Provider value={store}>{children}</NotificationsContext.Provider>;\n}\n\nfunction useNotificationApi() {\n\tconst ctx = useContext(NotificationsContext);\n\tif (!ctx) {\n\t\tthrow createMissingContextError({\n\t\t\thookName: \"useNotificationApi\",\n\t\t\tproviderName: \"NotificationsProvider\"\n\t\t});\n\t}\n\treturn ctx;\n}\n\nexport function useNotifications() {\n\tconst api = useNotificationApi();\n\treturn useStore(api, (s) => s.items);\n}\n\nexport function useNotify() {\n\tconst api = useNotificationApi();\n\tconst actions = useStore(api, (s) => s.actions);\n\n\tconst mk = (type: NotificationType) => (message: string, opts?: Omit<NotificationPushInput, \"type\" | \"message\">) =>\n\t\tactions.push({ type, message, ...opts });\n\n\treturn {\n\t\t...actions,\n\t\tsuccess: mk(\"success\"),\n\t\tinfo: mk(\"info\"),\n\t\twarning: mk(\"warning\"),\n\t\terror: mk(\"error\")\n\t};\n}\n\nexport function useNotificationById(id: NotificationId) {\n\tconst api = useNotificationApi();\n\treturn useStore(api, (s) => s.items.find((n) => n.id === id));\n}\n","@use \"@/styles/mixins\" as *;\n\n.container {\n\tposition: fixed;\n\tz-index: var(--z-notify);\n\tbottom: 0;\n\tleft: 0;\n\tdisplay: grid;\n\tgap: var(--space-sm);\n\tpadding: var(--space-lg);\n\twidth: min(28em, calc(100dvw - var(--space-lg) * 2));\n\tpointer-events: none;\n}\n\n.card {\n\t--notify-accent: var(--border-1);\n\t--notify-accent-surface: var(--surface-1);\n\t--notify-accent-text: var(--content-accent);\n\n\tposition: relative;\n\toverflow: hidden;\n\tpointer-events: auto;\n\twidth: 100%;\n\tpadding: var(--space-md);\n\t// border: var(--border);\n\tborder-left: 0.3125em solid var(--notify-accent);\n\tborder-radius: var(--radius-md);\n\tbackground: linear-gradient(37deg, var(--notify-accent-surface), var(--surface-0));\n\tcolor: var(--content-0);\n\tbox-shadow: var(--shadow-md);\n}\n\n.info {\n\t--notify-accent: var(--status-info-border);\n\t--notify-accent-surface: var(--status-info-soft);\n\t--notify-accent-text: var(--status-info-text);\n}\n\n.success {\n\t--notify-accent: var(--status-success-border);\n\t--notify-accent-surface: var(--status-success-soft);\n\t--notify-accent-text: var(--status-success-text);\n}\n\n.warning {\n\t--notify-accent: var(--status-warning-border);\n\t--notify-accent-surface: var(--status-warning-soft);\n\t--notify-accent-text: var(--status-warning-text);\n}\n\n.error {\n\t--notify-accent: var(--status-error-border);\n\t--notify-accent-surface: var(--status-error-soft);\n\t--notify-accent-text: var(--status-error-text);\n}\n\n.header,\n.content,\n.copy {\n\tmin-width: 0;\n}\n\n.content {\n\tmin-width: 0;\n\tflex: 1;\n}\n\n.icon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\twidth: var(--control-height);\n\theight: var(--control-height);\n\tborder-radius: 50%;\n\tbackground-color: var(--notify-accent-surface);\n\tcolor: var(--notify-accent-text);\n\tborder: var(--border-width) solid color-mix(in srgb, var(--notify-accent) 22%, transparent);\n\n\tsvg {\n\t\twidth: 1.125em;\n\t\theight: 1.125em;\n\t}\n}\n\n.kicker {\n\tmargin-bottom: var(--space-xs);\n\tcolor: var(--notify-accent-text);\n\tfont-size: var(--font-size-xs);\n\tfont-weight: 600;\n\tfont-variation-settings: \"wght\" 600;\n\tletter-spacing: 0.04em;\n\ttext-transform: uppercase;\n}\n\n.title {\n\tcolor: var(--notify-accent-text);\n\tfont-weight: 600;\n\tfont-variation-settings: \"wght\" 600;\n}\n\n.message {\n\tmargin-top: var(--space-xs);\n\tcolor: var(--content-0);\n\twhite-space: pre-wrap;\n\tword-break: break-word;\n}\n\n.actions {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--space-xs);\n\tmargin-top: var(--space-sm);\n}\n\n@include mobile {\n\t.container {\n\t\tpadding: var(--space-md);\n\t\twidth: min(100dvw, calc(100dvw - var(--space-md) * 2));\n\t}\n}\n","import { NotificationType } from \"@ryuzaki13/react-foundation-lib/notifications\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AlertCircleIcon, CheckCircle2Icon, InfoIcon, TriangleAlertIcon, XIcon } from \"lucide-react\";\n\nimport { Button } from \"../../button\";\nimport { FlexContainer } from \"../../flex\";\nimport { useNotifications, useNotify } from \"../model/NotificationsProvider\";\n\nimport styles from \"./Notification.module.scss\";\n\nconst notificationConfig: Record<\n\tNotificationType,\n\t{\n\t\ttitle: string;\n\t\tIcon: typeof InfoIcon;\n\t}\n> = {\n\tinfo: {\n\t\ttitle: \"Информация\",\n\t\tIcon: InfoIcon\n\t},\n\tsuccess: {\n\t\ttitle: \"Успешно\",\n\t\tIcon: CheckCircle2Icon\n\t},\n\twarning: {\n\t\ttitle: \"Предупреждение\",\n\t\tIcon: TriangleAlertIcon\n\t},\n\terror: {\n\t\ttitle: \"Ошибка\",\n\t\tIcon: AlertCircleIcon\n\t}\n};\n\n/**\n * Хост для визуального отображения очереди уведомлений.\n * Обычно монтируется один раз на уровне приложения рядом с провайдером уведомлений.\n */\nexport function NotificationsHost() {\n\tconst items = useNotifications();\n\tconst { dismiss } = useNotify();\n\n\treturn (\n\t\t<div className={styles.container} aria-label=\"Область уведомлений\" aria-live=\"polite\" aria-relevant=\"additions text\">\n\t\t\t{items.map((notification) => {\n\t\t\t\tconst config = notificationConfig[notification.type];\n\t\t\t\tconst title = notification.title ?? config.title;\n\t\t\t\tconst Icon = config.Icon;\n\n\t\t\t\treturn (\n\t\t\t\t\t<article\n\t\t\t\t\t\tkey={notification.id}\n\t\t\t\t\t\trole={notification.type === \"error\" ? \"alert\" : \"status\"}\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\tclassName={cn(styles.card, styles[notification.type])}>\n\t\t\t\t\t\t<FlexContainer align=\"start\" justify=\"between\" gap=\"sm\" className={styles.header}>\n\t\t\t\t\t\t\t<FlexContainer align=\"start\" gap=\"sm\" className={styles.content}>\n\t\t\t\t\t\t\t\t<span className={styles.icon} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t<div className={styles.copy}>\n\t\t\t\t\t\t\t\t\t<div className={styles.kicker}>{config.title}</div>\n\t\t\t\t\t\t\t\t\t{notification.title ? <div className={styles.title}>{title}</div> : null}\n\t\t\t\t\t\t\t\t\t<div className={styles.message}>{notification.message}</div>\n\n\t\t\t\t\t\t\t\t\t{notification.actions?.length ? (\n\t\t\t\t\t\t\t\t\t\t<div className={styles.actions}>\n\t\t\t\t\t\t\t\t\t\t\t{notification.actions.map((action) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={action.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttone={action.tone ?? notification.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"notification-action-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-action=\"notification-action\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => void action.onClick()}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</FlexContainer>\n\n\t\t\t\t\t\t\t{notification.dismissible !== false ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={<XIcon />}\n\t\t\t\t\t\t\t\t\tappearance=\"ghost\"\n\t\t\t\t\t\t\t\t\ttone={notification.type}\n\t\t\t\t\t\t\t\t\tonClick={() => dismiss(notification.id)}\n\t\t\t\t\t\t\t\t\taria-label=\"Закрыть уведомление\"\n\t\t\t\t\t\t\t\t\tdata-ui=\"notification-dismiss-button\"\n\t\t\t\t\t\t\t\t\tdata-action=\"dismiss-notification\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</FlexContainer>\n\t\t\t\t\t</article>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|