@ryuzaki13/react-foundation-ui 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/disclosure/Disclosure.d.ts.map +1 -1
- package/dist/disclosure/index.js +30 -32
- package/dist/disclosure/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -1
- package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
- package/storybook-static/assets/Badge-BqGrcxAM.js +139 -0
- package/storybook-static/assets/Badge.stories-D-4FPPMr.js +51 -0
- package/storybook-static/assets/Button-Dk2YMZua.js +12 -0
- package/storybook-static/assets/{Button-DI6wOTM7.js → Button-iCkwBEDP.js} +47 -47
- package/storybook-static/assets/Button.stories-BkV_xVnD.js +75 -0
- package/storybook-static/assets/{CheckBox-CS0rOTN7.js → CheckBox-BQhsynyB.js} +1 -1
- package/storybook-static/assets/{CheckBox-CfKXKU4v.js → CheckBox-C-f5AsCI.js} +31 -31
- package/storybook-static/assets/CheckBox.stories-7V9WkaKi.js +60 -0
- package/storybook-static/assets/Color-KMSTOMOX-CYcFidZH.js +1 -0
- package/storybook-static/assets/ContextMenu-DinzhWx_.js +40 -0
- package/storybook-static/assets/{ContextMenu.stories-CA00sUQt.js → ContextMenu.stories-B9O_FkLB.js} +1 -1
- package/storybook-static/assets/DateInput-BT_5pRV0.js +40 -0
- package/storybook-static/assets/DateInput-CvJvdtwa.js +1 -0
- package/storybook-static/assets/{DateInput.stories-CJGnhCiR.js → DateInput.stories-BDKMX9K3.js} +1 -1
- package/storybook-static/assets/DateRangePresetSelect-Bck3ITZr.js +30 -0
- package/storybook-static/assets/DateRangePresetSelect-CPZ6FKGz.js +3 -0
- package/storybook-static/assets/DateRangePresetSelect.stories-D5fRZmWy.js +11 -0
- package/storybook-static/assets/Detail-DBH4WUCF.js +40 -0
- package/storybook-static/assets/Detail.stories-Kvnqo8Un.js +44 -0
- package/storybook-static/assets/{Dialog-0w_W0UBz.js → Dialog-Cv_od09Q.js} +22 -22
- package/storybook-static/assets/Dialog.stories-CY8mr-2o.js +31 -0
- package/storybook-static/assets/Disclosure-BVz61VJq.js +32 -0
- package/storybook-static/assets/Disclosure-DzVnkjef.css +1 -0
- package/storybook-static/assets/Disclosure.stories-CufTvUiK.js +41 -0
- package/storybook-static/assets/DocsRenderer-JROSPFPF-BJw82UhU.js +2 -0
- package/storybook-static/assets/DropZone-DOvkWmBD.js +36 -0
- package/storybook-static/assets/{DropZone.stories-Bu49NSVJ.js → DropZone.stories-K1bqdB2U.js} +2 -2
- package/storybook-static/assets/DropdownMenu-Cx08nIaY.js +1 -0
- package/storybook-static/assets/{ExpandableActionPanel.stories-RVXBbnyj.js → ExpandableActionPanel.stories-BZ3P24ES.js} +2 -2
- package/storybook-static/assets/Flex-Brzvr0YX.js +3 -0
- package/storybook-static/assets/Flex-CVjyrD9i.js +61 -0
- package/storybook-static/assets/{Flex.stories-D_fFJrsW.js → Flex.stories-B9dkwuh5.js} +1 -1
- package/storybook-static/assets/{Grid-C4-fxCy0.js → Grid-DhASlspp.js} +1 -1
- package/storybook-static/assets/Grid-blnYLgOs.js +61 -0
- package/storybook-static/assets/{Grid.stories--x7HLm1q.js → Grid.stories-DafgjrQm.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-C2u8bHWN.js → ImageCropper.stories-638pLg4D.js} +1 -1
- package/storybook-static/assets/ImageRenderer-C6DwGwQl.js +2 -0
- package/storybook-static/assets/{ImageRenderer.stories-CYRDsS3Z.js → ImageRenderer.stories-DJJiqQFU.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-C0ykBKDk.js → ImageView.stories-DVeX-CzY.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-BusMvSz_.js → ImageViewer.stories-NqiR5Eyj.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-ZP6H6hET.js → ImageViewerRuntime-C0uGYGQl.js} +2 -2
- package/storybook-static/assets/Input-4QsBT-dh.js +39 -0
- package/storybook-static/assets/Input-CjJUuLEX.js +3 -0
- package/storybook-static/assets/Input.stories-DX8FX7AI.js +38 -0
- package/storybook-static/assets/InputDateTime-C6cR1WP9.js +39 -0
- package/storybook-static/assets/InputDateTime.stories-DPK8Y5p2.js +35 -0
- package/storybook-static/assets/{InputFile-D-_aZBxg.js → InputFile-BwI_udQQ.js} +26 -26
- package/storybook-static/assets/InputFile.stories-BdWP2iBM.js +36 -0
- package/storybook-static/assets/InputFiles-CPY6AJQJ.js +1 -0
- package/storybook-static/assets/{InputFiles-B9PdmFK9.js → InputFiles-CfmNIDk_.js} +26 -26
- package/storybook-static/assets/InputFiles.stories-DnXD0hgD.js +33 -0
- package/storybook-static/assets/{InputImage-khPwoIhV.js → InputImage-CgjrjJiq.js} +26 -26
- package/storybook-static/assets/{InputImage.stories-CCa46Nzq.js → InputImage.stories-CFHzEXGv.js} +1 -1
- package/storybook-static/assets/LayoutPicker-BfwRb9HQ.js +66 -0
- package/storybook-static/assets/{LayoutPicker.stories-B1dO6RKC.js → LayoutPicker.stories-C9sMcU1k.js} +3 -3
- package/storybook-static/assets/Listbox-B2FoYInE.js +38 -0
- package/storybook-static/assets/Listbox.stories-BnGRDEMg.js +47 -0
- package/storybook-static/assets/{Modal-DXYu3gK_.js → Modal-Bd8v3vU8.js} +32 -32
- package/storybook-static/assets/Modal.stories-CmYJeAAz.js +180 -0
- package/storybook-static/assets/MultiSelect-BeRfLM-g.js +2 -0
- package/storybook-static/assets/MultiSelect-Bswj23vq.js +56 -0
- package/storybook-static/assets/MultiSelect.stories-iKlesibJ.js +29 -0
- package/storybook-static/assets/{NotificationsHost-BxAkGSYp.js → NotificationsHost-Cf0puFJk.js} +22 -22
- package/storybook-static/assets/NotificationsHost.stories-DX1niytc.js +25 -0
- package/storybook-static/assets/ODataMultiSelect-BvFXZlGZ.js +53 -0
- package/storybook-static/assets/ODataMultiSelect-CiZ3aEy3.js +1 -0
- package/storybook-static/assets/ODataMultiSelect.stories-BcRrzHnf.js +73 -0
- package/storybook-static/assets/ODataSelect-Bo0yPtod.js +1 -0
- package/storybook-static/assets/{ODataSelect-CzsSdlmh.js → ODataSelect-DgH5G-C_.js} +32 -32
- package/storybook-static/assets/ODataSelect.stories-DEOly20_.js +73 -0
- package/storybook-static/assets/ODataTreeMultiSelect-IKfvxL7p.js +17 -0
- package/storybook-static/assets/ODataTreeMultiSelect.stories-uPDVAyMu.js +28 -0
- package/storybook-static/assets/ODataTreeSelect-BujgjSkl.js +16 -0
- package/storybook-static/assets/ODataTreeSelect.stories-BzlUExoW.js +21 -0
- package/storybook-static/assets/{PeriodSelect-DIfJTfdB.js → PeriodSelect-BJIPDLq1.js} +31 -31
- package/storybook-static/assets/{PeriodSelect.stories-BAMIsSGE.js → PeriodSelect.stories-D12q6-YO.js} +1 -1
- package/storybook-static/assets/{Popover-6znIdvNB.js → Popover-D25DhaiJ.js} +29 -29
- package/storybook-static/assets/{Popover.stories-AXvTs-mK.js → Popover.stories-CF3zUe0j.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-oSisVT1i.js → PresetRangeDateInput-CDw6HtWA.js} +19 -19
- package/storybook-static/assets/PresetRangeDateInput.stories-BQZI6HOn.js +15 -0
- package/storybook-static/assets/{RadioButton-BGlASGNa.js → RadioButton-BgEBxZJi.js} +27 -27
- package/storybook-static/assets/{RadioButton.stories-COLQdM1e.js → RadioButton.stories-BkFGEJXb.js} +2 -2
- package/storybook-static/assets/{RadioGroup-C2AUzTxU.js → RadioGroup-C-K84fCC.js} +26 -26
- package/storybook-static/assets/RadioGroup-Jq-lWcgE.js +1 -0
- package/storybook-static/assets/RadioGroup.stories-DyuW8DaF.js +42 -0
- package/storybook-static/assets/Select-BrRZA3Up.js +12 -0
- package/storybook-static/assets/{Select-CfXC3kDv.js → Select-ChYAdfkx.js} +35 -35
- package/storybook-static/assets/Select.stories-D-onxXmT.js +46 -0
- package/storybook-static/assets/SelectOptionContent-Cwd0p14r.js +1 -0
- package/storybook-static/assets/SerializableSelect-CcBh49iS.js +4 -0
- package/storybook-static/assets/{SerializableSelect-C7WrrCz1.js → SerializableSelect-D9BlCZ4x.js} +32 -32
- package/storybook-static/assets/SerializableSelect.stories-BXMFTNDx.js +43 -0
- package/storybook-static/assets/SingleDateTimeInput-cHIGelrz.js +53 -0
- package/storybook-static/assets/SingleDateTimeInput.stories-BdPyEPUr.js +78 -0
- package/storybook-static/assets/Slider-Cb_nb9P2.js +63 -0
- package/storybook-static/assets/Slider.stories-CoKGxwRT.js +77 -0
- package/storybook-static/assets/SliderInput-DyxDl1Mo.js +58 -0
- package/storybook-static/assets/{SliderInput.stories-BIqyZKyF.js → SliderInput.stories-DgbBm38V.js} +1 -1
- package/storybook-static/assets/Sortable-DC3bPcbn.js +72 -0
- package/storybook-static/assets/{Sortable.stories-CULILQbA.js → Sortable.stories-B_IhqW5F.js} +1 -1
- package/storybook-static/assets/{Splitter-Q7gof-78.js → Splitter-CGw6p5-z.js} +39 -39
- package/storybook-static/assets/Splitter.stories-DNlOAJY9.js +22 -0
- package/storybook-static/assets/{StateSelect-DClswKAK.js → StateSelect-cU_bLcpU.js} +25 -25
- package/storybook-static/assets/{StateSelect.stories-CoUBhZeT.js → StateSelect.stories-D0Z05ltu.js} +2 -2
- package/storybook-static/assets/Switch-C-3mRPBf.js +36 -0
- package/storybook-static/assets/Switch.stories-Csqx8bKj.js +26 -0
- package/storybook-static/assets/Table-4x8XIQpa.js +197 -0
- package/storybook-static/assets/{Table.stories-DyksB7KO.js → Table.stories-DLsx7_5W.js} +1 -1
- package/storybook-static/assets/Tabs-BYxa2MdO.js +72 -0
- package/storybook-static/assets/{Tabs.stories-BtRnStqw.js → Tabs.stories-Bs2uE5X2.js} +1 -1
- package/storybook-static/assets/TagInput.stories-8_Uk7z4a.js +18 -0
- package/storybook-static/assets/{Textarea-B52Vh_xt.js → Textarea-C9do4TkE.js} +26 -26
- package/storybook-static/assets/Textarea.stories-khYPBnjL.js +27 -0
- package/storybook-static/assets/TimePanel-DAQw6BvJ.js +1 -0
- package/storybook-static/assets/{TimePanel.stories-06TyPpQJ.js → TimePanel.stories-D8uZoVpL.js} +1 -1
- package/storybook-static/assets/{Toggle-CkcafyNI.js → Toggle-C4pQIuyy.js} +26 -26
- package/storybook-static/assets/Toggle.stories-DhF17j-W.js +30 -0
- package/storybook-static/assets/TreeMultiSelect-B6_6vRxE.js +15 -0
- package/storybook-static/assets/TreeMultiSelect-Drs35VVA.js +1 -0
- package/storybook-static/assets/TreeMultiSelect.stories-D6YSwiei.js +31 -0
- package/storybook-static/assets/{TreePickerBase-xKDnzQR_.js → TreePickerBase-DCognf3p.js} +2 -2
- package/storybook-static/assets/TreeSelect-CAAu7_OB.js +15 -0
- package/storybook-static/assets/TreeSelect-DxdqUuJ6.js +1 -0
- package/storybook-static/assets/TreeSelect.stories-BqF-qAB9.js +16 -0
- package/storybook-static/assets/TreeTable-TKNA-uIN.js +175 -0
- package/storybook-static/assets/{TreeTable.stories-DCLa6mJm.js → TreeTable.stories-yeAD18Zw.js} +2 -2
- package/storybook-static/assets/WithTooltip-7X4HQR7L-CxfB6hD8.js +9 -0
- package/storybook-static/assets/{base-table-BeZYmflf.js → base-table-ByITBr1J.js} +1 -1
- package/storybook-static/assets/blocks-0RiOsxIK.js +285 -0
- package/storybook-static/assets/button-B1ZGqKIL.js +1 -0
- package/storybook-static/assets/{check-box-9iBlFoJu.js → check-box-NnScD6BH.js} +1 -1
- package/storybook-static/assets/chunk-3LY4VQVK-DprWWQ6L.js +6 -0
- package/storybook-static/assets/{chunk-LITCR56V-DpYf_5IK.js → chunk-LITCR56V-CsoWERay.js} +2 -2
- package/storybook-static/assets/contextMenu-B7OY9AUe.js +2 -0
- package/storybook-static/assets/error-B-BZQLMk.js +1 -0
- package/storybook-static/assets/flex-DjZzX5cW.js +1 -0
- package/storybook-static/assets/floating-ui.react-6aWiJn-w.js +1 -0
- package/storybook-static/assets/formatter-L2YTDE3Q-Bhbxmhyr.js +1 -0
- package/storybook-static/assets/{formatters-DEfKcq5B.js → formatters-3Nbt_zpw.js} +1 -1
- package/storybook-static/assets/grid-CXx-3eN4.js +1 -0
- package/storybook-static/assets/{hooks-DlpluSIv.js → hooks-cOC2wx_S.js} +1 -1
- package/storybook-static/assets/{iframe-YecJO4uV.js → iframe-GmIo3IOR.js} +199 -197
- package/storybook-static/assets/input-BZoBzauA.js +1 -0
- package/storybook-static/assets/{mdx-react-shim-B6MYoAcj.js → mdx-react-shim-DQ40dZsI.js} +1 -1
- package/storybook-static/assets/media-CaNRzUMK.js +1 -0
- package/storybook-static/assets/misc-DSZ85X5k.js +5 -0
- package/storybook-static/assets/notifications-dwTsOfAG.js +1 -0
- package/storybook-static/assets/odata-BXYPW5TY.js +1 -0
- package/storybook-static/assets/odata-service-CdmjwNQZ.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-DePPyMUW.js → odataStoryFixtures-qHROzCso.js} +1 -1
- package/storybook-static/assets/picker-Ly9fNo5I.js +2 -0
- package/storybook-static/assets/popover-hHS3Q1Eb.js +2 -0
- package/storybook-static/assets/preset-select-DSUOhzZJ.js +5 -0
- package/storybook-static/assets/{react-18-BAqYtx7S.js → react-18-C8dLShAR.js} +1 -1
- package/storybook-static/assets/react-CufbfMTd.js +9 -0
- package/storybook-static/assets/react-dom-B1EOrd4K.js +1 -0
- package/storybook-static/assets/select-CjW1dQXg.js +1 -0
- package/storybook-static/assets/slider-CKtA1jkD.js +2 -0
- package/storybook-static/assets/sortable-C7z1FJM0.js +1 -0
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-yen8I1rd.js → syntaxhighlighter-RTCFPKCB-DUS1jW_J.js} +2 -2
- package/storybook-static/assets/text-Cw7Vu082.js +4 -0
- package/storybook-static/assets/theming-Ce0TAFtT.js +39 -0
- package/storybook-static/assets/ui-Dlg5NgOB.js +1 -0
- package/storybook-static/assets/useODataSelectBase-BE8nJXZo.js +1 -0
- package/storybook-static/assets/useODataTreeData-Dli9NQVP.js +1 -0
- package/storybook-static/assets/utils-B73_kE2n.js +1 -0
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.html +16 -6
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-1/manager-bundle.js +352 -0
- package/storybook-static/sb-addons/chromatic-com-storybook-1/manager-bundle.js.LEGAL.txt +31 -0
- package/storybook-static/sb-addons/vitest-4/manager-bundle.js +3 -0
- package/storybook-static/assets/Badge-BF_YR6xV.js +0 -139
- package/storybook-static/assets/Badge.stories-BFSvBuGf.js +0 -51
- package/storybook-static/assets/Button-DYvP70oK.js +0 -12
- package/storybook-static/assets/Button.stories-BiQzoIrP.js +0 -75
- package/storybook-static/assets/CheckBox.stories-C8SMoVuj.js +0 -60
- package/storybook-static/assets/Color-KMSTOMOX-C5d1F69R.js +0 -1
- package/storybook-static/assets/ContextMenu-BWOMwM1T.js +0 -40
- package/storybook-static/assets/DateInput-BKr2L_zl.js +0 -40
- package/storybook-static/assets/DateInput-BbkCHe27.js +0 -1
- package/storybook-static/assets/DateRangePresetSelect-5OVfqIc_.js +0 -30
- package/storybook-static/assets/DateRangePresetSelect-BH9oi-dO.js +0 -3
- package/storybook-static/assets/DateRangePresetSelect.stories-C2f4Itxx.js +0 -11
- package/storybook-static/assets/Detail-DNjE_8Oj.js +0 -40
- package/storybook-static/assets/Detail.stories-IufkpH_4.js +0 -44
- package/storybook-static/assets/Dialog.stories-_67SGh82.js +0 -31
- package/storybook-static/assets/Disclosure--JVKZyWJ.js +0 -32
- package/storybook-static/assets/Disclosure-CCmAxXkT.css +0 -1
- package/storybook-static/assets/Disclosure.stories-Th8T0PUj.js +0 -41
- package/storybook-static/assets/DocsRenderer-JROSPFPF-DLwDf2Zo.js +0 -2
- package/storybook-static/assets/DropZone-BzPiDQeZ.js +0 -36
- package/storybook-static/assets/DropdownMenu-Bcrg1qHr.js +0 -1
- package/storybook-static/assets/Flex-CXJVQ7iV.js +0 -3
- package/storybook-static/assets/Flex-GGgh6HSs.js +0 -61
- package/storybook-static/assets/Grid-vh3IGIQd.js +0 -61
- package/storybook-static/assets/ImageRenderer-mEqm-Dqi.js +0 -2
- package/storybook-static/assets/Input-C-oHXpFa.js +0 -39
- package/storybook-static/assets/Input-VtBvr4ox.js +0 -3
- package/storybook-static/assets/Input.stories-DjNJP6jZ.js +0 -38
- package/storybook-static/assets/InputDateTime-B4QhXUqG.js +0 -39
- package/storybook-static/assets/InputDateTime.stories-DQD1hY4X.js +0 -35
- package/storybook-static/assets/InputFile.stories-CSC1SCs1.js +0 -36
- package/storybook-static/assets/InputFiles-Ds1zu7US.js +0 -1
- package/storybook-static/assets/InputFiles.stories-C-bGspU1.js +0 -33
- package/storybook-static/assets/LayoutPicker-BAAa_g3x.js +0 -66
- package/storybook-static/assets/Listbox-C4HBbYNr.js +0 -38
- package/storybook-static/assets/Listbox.stories-BwJ6G_Mg.js +0 -47
- package/storybook-static/assets/Modal.stories-BfQSWo-S.js +0 -180
- package/storybook-static/assets/MultiSelect-CEbf7bLL.js +0 -56
- package/storybook-static/assets/MultiSelect-ZiS4jg7j.js +0 -2
- package/storybook-static/assets/MultiSelect.stories-OSUoI8LD.js +0 -29
- package/storybook-static/assets/NotificationsHost.stories-DeTweOqX.js +0 -25
- package/storybook-static/assets/ODataMultiSelect-C_BdWtjv.js +0 -1
- package/storybook-static/assets/ODataMultiSelect-DOtG5b5p.js +0 -53
- package/storybook-static/assets/ODataMultiSelect.stories-DZgOPx8i.js +0 -73
- package/storybook-static/assets/ODataSelect-BK-HaXVe.js +0 -1
- package/storybook-static/assets/ODataSelect.stories-4fGnGP41.js +0 -73
- package/storybook-static/assets/ODataTreeMultiSelect-BBVM-8ki.js +0 -17
- package/storybook-static/assets/ODataTreeMultiSelect.stories-CzufPwpi.js +0 -28
- package/storybook-static/assets/ODataTreeSelect-DGwHzeKD.js +0 -16
- package/storybook-static/assets/ODataTreeSelect.stories-jkE8YwLl.js +0 -21
- package/storybook-static/assets/PresetRangeDateInput.stories-CEu1DDCF.js +0 -15
- package/storybook-static/assets/RadioGroup-Qfnk8dQO.js +0 -1
- package/storybook-static/assets/RadioGroup.stories-C8ddz6t6.js +0 -42
- package/storybook-static/assets/Select-BOgkP515.js +0 -12
- package/storybook-static/assets/Select.stories-ByNbkZdw.js +0 -46
- package/storybook-static/assets/SelectOptionContent-C3tgB8Dy.js +0 -1
- package/storybook-static/assets/SerializableSelect-BuXvepIG.js +0 -4
- package/storybook-static/assets/SerializableSelect.stories-B1mK7D6g.js +0 -43
- package/storybook-static/assets/SingleDateTimeInput-BkkBQM0V.js +0 -53
- package/storybook-static/assets/SingleDateTimeInput.stories-DCnQnNLe.js +0 -78
- package/storybook-static/assets/Slider-Bi-_w_Lt.js +0 -63
- package/storybook-static/assets/Slider.stories-BZJ1spgB.js +0 -77
- package/storybook-static/assets/SliderInput-CCP08d7j.js +0 -58
- package/storybook-static/assets/Sortable-CrA3MIiN.js +0 -72
- package/storybook-static/assets/Splitter.stories-DSkP_EnV.js +0 -22
- package/storybook-static/assets/Switch-D3d-7utL.js +0 -36
- package/storybook-static/assets/Switch.stories-CBiv810D.js +0 -26
- package/storybook-static/assets/Table-BBWi4z9z.js +0 -197
- package/storybook-static/assets/Tabs-BTI_vnhE.js +0 -72
- package/storybook-static/assets/TagInput.stories-Bb__MtM6.js +0 -18
- package/storybook-static/assets/Textarea.stories-DvJ7sb9D.js +0 -27
- package/storybook-static/assets/TimePanel-B5xztB0K.js +0 -1
- package/storybook-static/assets/Toggle.stories-BTUFEVjs.js +0 -30
- package/storybook-static/assets/TreeMultiSelect-CMrKE4N1.js +0 -1
- package/storybook-static/assets/TreeMultiSelect-CoQ-vqxS.js +0 -15
- package/storybook-static/assets/TreeMultiSelect.stories-Dc1IZAee.js +0 -31
- package/storybook-static/assets/TreeSelect-BLgkcb_I.js +0 -1
- package/storybook-static/assets/TreeSelect-Bd_WmDmc.js +0 -15
- package/storybook-static/assets/TreeSelect.stories-N-FbNe6W.js +0 -16
- package/storybook-static/assets/TreeTable-dwNY6Pon.js +0 -175
- package/storybook-static/assets/WithTooltip-7X4HQR7L-D2JhGs1w.js +0 -9
- package/storybook-static/assets/blocks-D8vTJCXn.js +0 -285
- package/storybook-static/assets/button-Cz3fiO2B.js +0 -1
- package/storybook-static/assets/chunk-3LY4VQVK-CB9E5tjQ.js +0 -6
- package/storybook-static/assets/contextMenu-BzZSIfMh.js +0 -2
- package/storybook-static/assets/error-DI-le3_4.js +0 -1
- package/storybook-static/assets/flex-BriuFrFs.js +0 -1
- package/storybook-static/assets/floating-ui.react-CBVzHb-E.js +0 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-BQlCOI4x.js +0 -1
- package/storybook-static/assets/grid-Dtmb5H_R.js +0 -1
- package/storybook-static/assets/input-CVG4hDFt.js +0 -1
- package/storybook-static/assets/jsx-runtime-BBQGix-2.js +0 -1
- package/storybook-static/assets/lucide-react-DoqvsuDx.js +0 -1
- package/storybook-static/assets/media-dT-v0KyQ.js +0 -1
- package/storybook-static/assets/misc-B81k0Tx5.js +0 -5
- package/storybook-static/assets/notifications-CAn9BB3F.js +0 -1
- package/storybook-static/assets/odata-CCAAVsLr.js +0 -1
- package/storybook-static/assets/odata-service-D0evRTVS.js +0 -1
- package/storybook-static/assets/picker-Cs_HmTIT.js +0 -2
- package/storybook-static/assets/popover-CwLg1nVy.js +0 -2
- package/storybook-static/assets/preset-select-LcK3ak1H.js +0 -5
- package/storybook-static/assets/react-DqGAnUZt.js +0 -9
- package/storybook-static/assets/react-dom-Dp-mf7b2.js +0 -1
- package/storybook-static/assets/select-D1j8twIv.js +0 -1
- package/storybook-static/assets/slider-BUne_904.js +0 -2
- package/storybook-static/assets/sortable-BSyQxNy_.js +0 -1
- package/storybook-static/assets/text-CQF6O5fh.js +0 -4
- package/storybook-static/assets/theming-DyCFqSDn.js +0 -39
- package/storybook-static/assets/ui-imSUUVzJ.js +0 -1
- package/storybook-static/assets/useODataSelectBase-C9E-wcFt.js +0 -1
- package/storybook-static/assets/useODataTreeData-CcHumE5U.js +0 -1
- package/storybook-static/assets/utils-Bnd9AQDU.js +0 -1
- /package/storybook-static/sb-addons/{a11y-2 → a11y-3}/manager-bundle.js +0 -0
- /package/storybook-static/sb-addons/{docs-1 → docs-2}/manager-bundle.js +0 -0
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l}from"./blocks-D8vTJCXn.js";import{t as u}from"./jsx-runtime-BBQGix-2.js";import{t as d}from"./mdx-react-shim-B6MYoAcj.js";import{BoxBasic as f,BoxControlled as p,BoxMountStrategies as m,BoxVertical as h,DisabledTabs as g,Empty as _,LayoutPanels as v,LegacyTabs as y,Loading as b,n as x,t as S}from"./Tabs.stories-BtRnStqw.js";function C(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{of:S,parameters:{docs:{toc:!0}}}),`
|
|
2
|
-
`,(0,T.jsx)(c,{children:`Tabs`}),`
|
|
3
|
-
`,(0,T.jsx)(i,{children:`Набор tabs-компонентов с разделением простого scroll-сценария и составного panel-layout сценария`}),`
|
|
4
|
-
`,(0,T.jsxs)(o.p,{children:[`После рефакторинга `,(0,T.jsx)(o.code,{children:`tabs`}),` разделены на два независимых сценария:`]}),`
|
|
5
|
-
`,(0,T.jsxs)(o.ul,{children:[`
|
|
6
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`TabsBox`}),` — простой items-based компонент, который сам управляет областью панели и её прокруткой.`]}),`
|
|
7
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`TabsLayout`}),` — compound-компонент, который управляет только переключением вкладок и каркасом панели.`]}),`
|
|
8
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`Tabs`}),` — deprecated-совместимость для старого API. Используется только как переходный фасад.`]}),`
|
|
9
|
-
`]}),`
|
|
10
|
-
`,(0,T.jsx)(o.h2,{id:`что-выбрать`,children:`Что выбрать`}),`
|
|
11
|
-
`,(0,T.jsxs)(o.ul,{children:[`
|
|
12
|
-
`,(0,T.jsxs)(o.li,{children:[`Выбирай `,(0,T.jsx)(o.code,{children:`TabsBox`}),`, если у вкладки один основной scroll-контент и встроенный padding подходит по умолчанию.`]}),`
|
|
13
|
-
`,(0,T.jsxs)(o.li,{children:[`Выбирай `,(0,T.jsx)(o.code,{children:`TabsLayout`}),`, если внутри панели нужны `,(0,T.jsx)(o.code,{children:`toolbar`}),`, `,(0,T.jsx)(o.code,{children:`footer`}),` или несколько независимых scroll-областей.`]}),`
|
|
14
|
-
`,(0,T.jsxs)(o.li,{children:[`Используй `,(0,T.jsx)(o.code,{children:`Tabs`}),` только для постепенной миграции существующего кода.`]}),`
|
|
15
|
-
`]}),`
|
|
16
|
-
`,(0,T.jsx)(o.h2,{id:`tabsbox`,children:`TabsBox`}),`
|
|
17
|
-
`,(0,T.jsx)(l,{of:f}),`
|
|
18
|
-
`,(0,T.jsx)(n,{of:f}),`
|
|
19
|
-
`,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { TabsBox, type TabsBoxItem } from "@/shared/ui";
|
|
20
|
-
|
|
21
|
-
const items: TabsBoxItem[] = [
|
|
22
|
-
{ id: "profile", title: "Профиль", content: <div>Содержимое профиля</div> },
|
|
23
|
-
{ id: "settings", title: "Настройки", content: <div>Содержимое настроек</div> }
|
|
24
|
-
];
|
|
25
|
-
|
|
26
|
-
export function Example() {
|
|
27
|
-
return <TabsBox items={items} aria-label="Разделы профиля" />;
|
|
28
|
-
}
|
|
29
|
-
`})}),`
|
|
30
|
-
`,(0,T.jsxs)(o.p,{children:[(0,T.jsx)(o.code,{children:`TabsBox`}),` сохраняет встроенный padding панели, поддерживает `,(0,T.jsx)(o.code,{children:`loading`}),`/`,(0,T.jsx)(o.code,{children:`empty`}),` и остаётся подходящим дефолтом для модалок, карточек и классических вкладок с одним scroll-контейнером.`]}),`
|
|
31
|
-
`,(0,T.jsxs)(o.h3,{id:`сценарии-tabsbox`,children:[`Сценарии `,(0,T.jsx)(o.code,{children:`TabsBox`})]}),`
|
|
32
|
-
`,(0,T.jsx)(l,{of:p}),`
|
|
33
|
-
`,(0,T.jsx)(l,{of:h}),`
|
|
34
|
-
`,(0,T.jsx)(l,{of:m}),`
|
|
35
|
-
`,(0,T.jsx)(l,{of:g}),`
|
|
36
|
-
`,(0,T.jsx)(l,{of:b}),`
|
|
37
|
-
`,(0,T.jsx)(l,{of:_}),`
|
|
38
|
-
`,(0,T.jsx)(o.h2,{id:`tabslayout`,children:`TabsLayout`}),`
|
|
39
|
-
`,(0,T.jsx)(l,{of:v}),`
|
|
40
|
-
`,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { Scrollable, TabsLayout } from "@/shared/ui";
|
|
41
|
-
|
|
42
|
-
export function Example() {
|
|
43
|
-
return (
|
|
44
|
-
<TabsLayout bordered h100 aria-label="Панели документа">
|
|
45
|
-
<TabsLayout.Tab id="details" title="Детали">
|
|
46
|
-
<TabsLayout.Toolbar>Панель инструментов</TabsLayout.Toolbar>
|
|
47
|
-
<TabsLayout.Content>
|
|
48
|
-
<Scrollable className="h100">Контент сам управляет scroll.</Scrollable>
|
|
49
|
-
</TabsLayout.Content>
|
|
50
|
-
<TabsLayout.Footer>Футер панели</TabsLayout.Footer>
|
|
51
|
-
</TabsLayout.Tab>
|
|
52
|
-
</TabsLayout>
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
`})}),`
|
|
56
|
-
`,(0,T.jsxs)(o.p,{children:[`Семантика `,(0,T.jsx)(o.code,{children:`TabsLayout`}),` после рефакторинга:`]}),`
|
|
57
|
-
`,(0,T.jsxs)(o.ul,{children:[`
|
|
58
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`Toolbar`}),` и `,(0,T.jsx)(o.code,{children:`Footer`}),` всегда исключены из scroll-контента.`]}),`
|
|
59
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`Content`}),` не получает встроенный `,(0,T.jsx)(o.code,{children:`overflow`}),` и не оборачивается во внутренний padding от tabs-компонента.`]}),`
|
|
60
|
-
`,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`loading`}),` и `,(0,T.jsx)(o.code,{children:`empty`}),` состояния рендерятся снаружи вызывающим кодом.`]}),`
|
|
61
|
-
`]}),`
|
|
62
|
-
`,(0,T.jsx)(o.h2,{id:`deprecated-tabs`,children:`Deprecated Tabs`}),`
|
|
63
|
-
`,(0,T.jsx)(l,{of:y}),`
|
|
64
|
-
`,(0,T.jsxs)(o.p,{children:[(0,T.jsx)(o.code,{children:`Tabs`}),` сохранён только для обратной совместимости. Семантика до/после:`]}),`
|
|
65
|
-
`,(0,T.jsxs)(o.ul,{children:[`
|
|
66
|
-
`,(0,T.jsx)(o.li,{children:`До: один публичный компонент пытался одновременно управлять и tabs-state, и layout панели, и scroll-сценариями.`}),`
|
|
67
|
-
`,(0,T.jsxs)(o.li,{children:[`После: `,(0,T.jsx)(o.code,{children:`Tabs`}),` остаётся тонким фасадом над `,(0,T.jsx)(o.code,{children:`TabsBox`}),`, а новые сценарии идут через отдельные `,(0,T.jsx)(o.code,{children:`TabsBox`}),` и `,(0,T.jsx)(o.code,{children:`TabsLayout`}),`.`]}),`
|
|
68
|
-
`]}),`
|
|
69
|
-
`,(0,T.jsx)(o.h2,{id:`api`,children:`API`}),`
|
|
70
|
-
`,(0,T.jsx)(s,{of:S}),`
|
|
71
|
-
`,(0,T.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
72
|
-
`,(0,T.jsx)(r,{includePrimary:!1})]})}function w(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,T.jsx)(n,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;e((()=>{T=u(),d(),o(),x()}))();export{w as default};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-YecJO4uV.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-Bnd9AQDU.js";import{o,t as s}from"./lucide-react-DoqvsuDx.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";import{o as ee,u}from"./Input-VtBvr4ox.js";import{t as d}from"./input-CVG4hDFt.js";function f(...e){return e.filter(Boolean).join(` `)||void 0}var p=t((()=>{}));function te(e){return e.trim()}function ne(e){return e}function re(e){return`Удалить тег «${e}»`}var m=t((()=>{})),h,g,_,v,y,b,x,S=t((()=>{h=`AoFB3K`,g=`PvaUEA`,_=`FZ-xEM`,v=`-RCqfG`,y=`ggY643`,b=`hiZq-y`,x={control:h,tagList:g,tag:_,tagText:v,removeButton:y,input:b}}));function C({ref:e,value:t,onChange:n,label:r,description:a,placeholder:s,size:l,disabled:d,readOnly:p=!1,error:m,onClearError:h,maxTags:g,normalizeTag:_=te,getTagKey:v=ne,addOnBlur:y=!0,getRemoveButtonAriaLabel:b=re,tokensAriaLabel:S=`Добавленные теги`,inputClassName:C,className:O,id:k,name:A,form:j,required:M,maxLength:N,onKeyDown:P,onPaste:F,onBlur:I,onCompositionStart:L,onCompositionEnd:R,"aria-describedby":z,"aria-labelledby":B,...ie}){let V=(0,w.useRef)(null),H=(0,w.useRef)(null),U=(0,w.useRef)(!1),[W,G]=(0,w.useState)(``),[ae,K]=(0,w.useState)(``),{controlId:q,labelId:J,descriptionId:oe,errorId:se,describedBy:ce}=u({id:k,hasLabel:r!=null,hasDescription:!!a,hasError:!!m}),Y=g===void 0?1/0:Math.max(0,Math.floor(g)),X=d||p,le=f(ce,z),ue=f(J,B);(0,w.useImperativeHandle)(e,()=>{let e=V.current;if(!e)throw Error(`TagInput: внутренний input недоступен при создании imperative handle.`);return e},[]);let Z=e=>{if(X)return;h?.();let r=[...t],i=new Set(r.map(e=>v(e))),a=[],o=0,s=!1;for(let t of e){let e=_(t);if(!e)continue;if(N!==void 0&&e.length>N){K(`Тег «${e}» длиннее допустимого значения.`);continue}let n=v(e);if(i.has(n)){o+=1;continue}if(r.length>=Y){s=!0;break}i.add(n),r.push(e),a.push(e)}a.length>0?(n(r),K(a.length===1?`Добавлен тег «${a[0]}».`:`Добавлено тегов: ${a.length}.`)):s?K(`Достигнуто максимальное количество тегов: ${Y}.`):o>0&&K(`Такой тег уже добавлен.`)},Q=()=>W?(Z(W.split(D)),G(``),!0):!1,$=e=>{if(X)return;let r=t[e];r!==void 0&&(n(t.filter((t,n)=>n!==e)),h?.(),K(`Удалён тег «${r}».`),V.current?.focus())},de=e=>{if(P?.(e),!(e.defaultPrevented||e.nativeEvent.isComposing||U.current||X)){if(e.key===`Enter`||e.key===`,`){(Q()||e.key===`,`)&&e.preventDefault();return}e.key===`Backspace`&&W.length===0&&t.length>0&&(e.preventDefault(),$(t.length-1))}},fe=e=>{if(F?.(e),e.defaultPrevented||X)return;let t=e.clipboardData.getData(`text`);if(!E.test(t))return;e.preventDefault();let n=e.currentTarget.selectionStart??W.length,r=e.currentTarget.selectionEnd??n,i=`${W.slice(0,n)}${t}${W.slice(r)}`;Z(i.split(D)),G(``)};return(0,T.jsxs)(ee,{label:r,description:a,disabled:d,className:O,size:l,error:m,controlId:q,labelId:J,descriptionId:oe,errorId:se,children:[(0,T.jsxs)(`div`,{ref:H,className:i(c.uiControl,m&&c.invalid,x.control),"data-disabled":d?``:void 0,"data-readonly":p?``:void 0,"data-invalid":m?``:void 0,onClick:()=>V.current?.focus(),children:[t.length>0&&(0,T.jsx)(`ul`,{className:x.tagList,"aria-label":S,children:t.map((e,t)=>(0,T.jsxs)(`li`,{className:x.tag,children:[(0,T.jsx)(`span`,{className:x.tagText,children:e}),!X&&(0,T.jsx)(`button`,{type:`button`,className:x.removeButton,onClick:e=>{e.stopPropagation(),$(t)},"aria-label":b(e,t),children:(0,T.jsx)(o,{"aria-hidden":`true`})})]},`${v(e)}-${t}`))}),(0,T.jsx)(`input`,{...ie,ref:V,id:q,form:j,disabled:d,readOnly:p,required:M&&t.length===0,maxLength:N,value:W,placeholder:t.length===0?s:void 0,"aria-invalid":!!m||void 0,"aria-labelledby":ue,"aria-describedby":le,className:i(x.input,C),onChange:e=>{let t=e.target.value,n=E.test(t);if(U.current)G(t);else if(n){let e=t.split(D),n=E.test(t.at(-1)??``)?``:e.pop()??``;Z(e),G(n)}else G(t);(U.current||!n)&&h?.()},onKeyDown:de,onPaste:fe,onCompositionStart:e=>{U.current=!0,L?.(e)},onCompositionEnd:e=>{U.current=!1,R?.(e)},onBlur:e=>{I?.(e);let t=e.relatedTarget,n=t instanceof Node&&H.current?.contains(t);!e.defaultPrevented&&!n&&y&&!X&&Q()}}),A&&t.map((e,t)=>(0,T.jsx)(`input`,{type:`hidden`,name:A,value:e,form:j,disabled:d},`${v(e)}-${t}`))]}),(0,T.jsx)(`span`,{className:`visuallyHidden`,"aria-live":`polite`,"aria-atomic":`true`,children:ae})]})}var w,T,E,D,O=t((()=>{w=e(n(),1),a(),s(),d(),l(),p(),m(),S(),T=r(),E=/[,\r\n]/,D=/[,\r\n]+/,C.__docgenInfo={description:"Controlled-поле для создания коротких строковых тегов.\n\nНовое значение фиксируется по `Enter`, запятой, вставке списка или потере фокуса. Компонент хранит\nтолько незавершённый текст input, а окончательный набор всегда принадлежит потребителю через `value`.",methods:[],displayName:`TagInput`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},ref:{required:!1,tsType:{name:`Ref`,elements:[{name:`HTMLInputElement`}],raw:`Ref<HTMLInputElement>`},description:"Ссылка на внутренний нативный `input`, передаваемая напрямую как React 19 prop."},error:{required:!1,tsType:{name:`string`},description:"Сообщение валидации, связанное с полем через `aria-describedby`."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после изменения черновика или набора тегов.`},readOnly:{required:!1,tsType:{name:`boolean`},description:`Запрещает изменение набора тегов, сохраняя возможность выделять и копировать текст.`,defaultValue:{value:`false`,computed:!1}},maxTags:{required:!1,tsType:{name:`number`},description:`Максимальное количество тегов. Отсутствие значения не ограничивает набор.`},normalizeTag:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Нормализует введённое значение перед проверкой дубликата и добавлением.
|
|
2
|
-
По умолчанию удаляет пробелы в начале и конце.`,defaultValue:{value:`function defaultNormalizeTag(value: string) {
|
|
3
|
-
return value.trim();
|
|
4
|
-
}`,computed:!1}},getTagKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => string`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`string`}}},description:`Возвращает ключ сравнения тегов. Позволяет, например, запретить дубликаты без учёта регистра.
|
|
5
|
-
По умолчанию используется точное строковое сравнение.`,defaultValue:{value:`function defaultGetTagKey(value: string) {
|
|
6
|
-
return value;
|
|
7
|
-
}`,computed:!1}},addOnBlur:{required:!1,tsType:{name:`boolean`},description:`Добавляет непустой черновик при уходе фокуса с input. По умолчанию включено.`,defaultValue:{value:`true`,computed:!1}},getRemoveButtonAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string, index: number) => string`,signature:{arguments:[{type:{name:`string`},name:`value`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Формирует доступное имя кнопки удаления конкретного тега.`,defaultValue:{value:"function defaultGetRemoveButtonAriaLabel(value: string) {\n return `Удалить тег «${value}»`;\n}",computed:!1}},tokensAriaLabel:{required:!1,tsType:{name:`string`},description:`Доступное имя списка уже добавленных тегов.`,defaultValue:{value:`"Добавленные теги"`,computed:!1}},inputClassName:{required:!1,tsType:{name:`string`},description:"CSS-класс непосредственно для внутреннего `input`; `className` применяется к оболочке поля."}},composes:[`Omit`]}})),k,A,j,M,N,P;t((()=>{k=e(n(),1),O(),A=r(),j={title:`Shared/UI/TagInput`,component:C,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Controlled-набор добавленных тегов.`,control:!1},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},maxTags:{description:`Максимальное количество тегов.`,control:`number`},readOnly:{description:`Показывает набор без действий изменения.`,control:`boolean`},normalizeTag:{control:!1},getTagKey:{control:!1},getRemoveButtonAriaLabel:{control:!1}}},M={render:e=>{let[t,n]=(0,k.useState)([`Новости`,`Колледж`]);return(0,A.jsx)(C,{...e,label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:t,onChange:n,maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)})}},N={args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},M.parameters={...M.parameters,docs:{...M.parameters?.docs,source:{originalSource:`{
|
|
8
|
-
render: args => {
|
|
9
|
-
const [value, setValue] = useState<readonly string[]>(["Новости", "Колледж"]);
|
|
10
|
-
return <TagInput {...args} label="Теги материала" description="Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк." placeholder="Добавить тег" value={value} onChange={setValue} maxTags={10} getTagKey={tag => tag.toLocaleLowerCase("ru")} />;
|
|
11
|
-
}
|
|
12
|
-
}`,...M.parameters?.docs?.source}}},N.parameters={...N.parameters,docs:{...N.parameters?.docs,source:{originalSource:`{
|
|
13
|
-
args: {
|
|
14
|
-
label: "Теги материала",
|
|
15
|
-
value: ["Новости", "Колледж"],
|
|
16
|
-
readOnly: true
|
|
17
|
-
}
|
|
18
|
-
}`,...N.parameters?.docs?.source}}},P=[`Controlled`,`ReadOnly`]}))();export{M as Controlled,N as ReadOnly,P as __namedExportsOrder,j as default};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-YecJO4uV.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-Bnd9AQDU.js";import{n as s,t as c}from"./ui.module-wFHXkJzp.js";import{o as l,u}from"./Input-VtBvr4ox.js";import{t as d}from"./input-CVG4hDFt.js";var f,p,m=n((()=>{f=`TjY2iu`,p={textarea:f}}));function h({label:e,description:t,className:n,disabled:r,size:i,value:o,onChange:c,error:d,onClearError:f,id:m,...h}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=u({id:m,hasLabel:e!=null,hasDescription:!!t,hasError:!!d});return(0,g.jsx)(l,{label:e,description:t,disabled:r,size:i,error:d,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,g.jsx)(`textarea`,{...h,id:_,disabled:r,value:o,"aria-invalid":!!d||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":d?``:void 0,className:a(s.uiControl,p.textarea,`scrollable`,n),onChange:e=>{c?.(e.target.value),d&&f&&f()}})})}var g,_=n((()=>{o(),d(),c(),m(),g=i(),h.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})),v=e({Controlled:()=>S,Disabled:()=>w,WithValue:()=>C,__namedExportsOrder:()=>T,default:()=>x}),y,b,x,S,C,w,T,E=n((()=>{y=t(r(),1),_(),b=i(),x={title:`Shared/UI/Textarea`,component:h,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,rows:4,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},rows:{description:`Количество видимых строк.`,control:`number`},cols:{description:`Ширина в количестве символов.`,control:`number`},disabled:{description:`Блокирует редактирование.`,control:`boolean`},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},S={args:{value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Первичный комментарий`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},C={args:{rows:5,value:``,onChange:()=>void 0},render:e=>{let[t,n]=(0,y.useState)(`Шаблонный текст для редактирования.`);return(0,b.jsx)(h,{...e,value:t,onChange:n})}},w={args:{disabled:!0,value:`Редактирование недоступно.`,onChange:()=>void 0},render:e=>(0,b.jsx)(h,{...e})},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
args: {
|
|
3
|
-
value: "",
|
|
4
|
-
onChange: () => undefined
|
|
5
|
-
},
|
|
6
|
-
render: args => {
|
|
7
|
-
const [value, setValue] = useState("Первичный комментарий");
|
|
8
|
-
return <Textarea {...args} value={value} onChange={setValue} />;
|
|
9
|
-
}
|
|
10
|
-
}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
11
|
-
args: {
|
|
12
|
-
rows: 5,
|
|
13
|
-
value: "",
|
|
14
|
-
onChange: () => undefined
|
|
15
|
-
},
|
|
16
|
-
render: args => {
|
|
17
|
-
const [value, setValue] = useState("Шаблонный текст для редактирования.");
|
|
18
|
-
return <Textarea {...args} value={value} onChange={setValue} />;
|
|
19
|
-
}
|
|
20
|
-
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
21
|
-
args: {
|
|
22
|
-
disabled: true,
|
|
23
|
-
value: "Редактирование недоступно.",
|
|
24
|
-
onChange: () => undefined
|
|
25
|
-
},
|
|
26
|
-
render: args => <Textarea {...args} />
|
|
27
|
-
}`,...w.parameters?.docs?.source}}},T=[`Controlled`,`WithValue`,`Disabled`]}));E();export{S as Controlled,w as Disabled,C as WithValue,T as __namedExportsOrder,x as default,E as n,v as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-YecJO4uV.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-Bnd9AQDU.js";import{R as o,t as s,v as c}from"./formatters-DEfKcq5B.js";import{i as l,r as u}from"./date-segments-CzU9k5bl.js";function d(e=0,t=0){return c(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return c(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):c(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w,T=t((()=>{u(),s(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)}));function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}var te=t((()=>{T()}));function E(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function D(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function k(e,t,n){return n<=0||t<=0?0:E(Math.round(e/t),n)}var A=t((()=>{})),j,M,N,P,F,I,L,R=t((()=>{j=`GLhdJ6`,M=`_2xLNL2`,N=`dgX32S`,P=`WfOtQ9`,F=`XIdSMi`,I=`_--Hsbk`,L={wheelPicker:j,viewport:M,scroller:N,items:P,item:F,selectionFrame:I}}));function z({items:e,value:t,onChange:n,ariaLabel:r,disabled:a,className:o,minHeight:s=H,visibleRows:c=U,formatItem:l,getItemKey:u}){let d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=(0,B.useRef)(null),m=(0,B.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,B.useState)(0),_=D(h,s),v=ne(_,c),y=re(_,v),b=(0,B.useRef)(m),x=(0,B.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,B.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=k(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,B.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},W)},[S]);(0,B.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,B.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=E(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,B.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,B.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=E(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,V.jsx)(`div`,{ref:d,className:i(L.wheelPicker,o),style:T,children:(0,V.jsxs)(`div`,{className:L.viewport,children:[(0,V.jsx)(`div`,{ref:f,className:L.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":r,"aria-disabled":a||void 0,onKeyDown:w,children:(0,V.jsx)(`div`,{className:L.items,children:e.map((e,t)=>{let r=t===m;return(0,V.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:L.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,V.jsx)(`div`,{className:L.selectionFrame,"aria-hidden":`true`})]})})}var B,V,H,U,W,ie=t((()=>{B=e(n(),1),a(),A(),R(),V=r(),H=192,U=7,W=96,z.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})),ae=t((()=>{ie()})),G,K,q,J,Y,X,Z,oe=t((()=>{G=`_5-SSnO`,K=`s1NHua`,q=`KQC9-8`,J=`WDu02W`,Y=`_9mEhfD`,X=`N-Fzjk`,Z={timePanel:G,hint:K,fields:q,field:J,label:Y,wheel:X}}));function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:Z.timePanel,children:(0,$.jsx)(`p`,{className:Z.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:Z.timePanel,children:(0,$.jsxs)(`div`,{className:Z.fields,children:[(0,$.jsxs)(`label`,{className:Z.field,children:[(0,$.jsx)(`span`,{className:Z.label,children:`Часы`}),(0,$.jsx)(z,{className:Z.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:Z.field,children:[(0,$.jsx)(`span`,{className:Z.label,children:`Минуты`}),(0,$.jsx)(z,{className:Z.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $,se=t((()=>{ae(),te(),oe(),$=r(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}}));export{f as a,h as c,_ as d,d as i,g as l,se as n,T as o,y as r,m as s,Q as t,p as u};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-YecJO4uV.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-Bnd9AQDU.js";import{n as s,t as c}from"./ui.module-wFHXkJzp.js";var l,u,d,f,p,m,h,g,_,v=n((()=>{l=`FFyoOs`,u=`zPYy7T`,d=`j6ek6R`,f=`HFTPXI`,p=`_0RK4xF`,m=`kDPnKt`,h=`DQHqws`,g=`nCQ9v4`,_={row:l,wrapper:u,input:d,track:f,thumb:p,unchecked:m,checked:h,option:g}}));function y({label:e,description:t,placeholder:n,disabled:r,size:i,className:o,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,b.useId)(),g=u??h,v=t?`${g}-description`:void 0,y=e??n,S=!!l,C=!y&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=y?(0,x.jsx)(`label`,{htmlFor:g,className:s.uiLabel,children:y}):null;return(0,x.jsxs)(`div`,{className:a(s.uiElement,r&&s.disabled,i&&s.uiSizable,i&&s[i],o),"aria-disabled":r||void 0,children:[(0,x.jsxs)(`div`,{className:_.row,children:[p===`before`&&w,(0,x.jsxs)(`div`,{className:_.wrapper,children:[(0,x.jsx)(`input`,{...m,id:g,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:a(s.uiInputControl,_.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,x.jsxs)(`div`,{className:_.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,x.jsx)(`div`,{className:_.thumb}),(0,x.jsx)(`div`,{className:a(_.option,_.unchecked),children:f}),(0,x.jsx)(`div`,{className:a(_.option,_.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,x.jsx)(`p`,{id:v,className:s.uiDescription,children:t})]})}var b,x,S=n((()=>{b=t(r(),1),o(),c(),v(),x=i(),y.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})),C=e({Controlled:()=>D,Disabled:()=>k,LabelAfter:()=>O,__namedExportsOrder:()=>A,default:()=>E}),w,T,E,D,O,k,A,j=n((()=>{w=t(r(),1),S(),T=i(),E={title:`Shared/UI/Toggle`,component:y,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},D={render:e=>{let[t,n]=(0,w.useState)(e.value??!1);return(0,T.jsx)(y,{...e,value:t,onChange:n})},args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},O={render:e=>{let[t,n]=(0,w.useState)(e.value??!0);return(0,T.jsx)(y,{...e,value:t,onChange:n})},args:{label:`Уведомления`,value:!0,labelPosition:`after`}},k={args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: args => {
|
|
3
|
-
const [value, setValue] = useState(args.value ?? false);
|
|
4
|
-
return <Toggle {...args} value={value} onChange={setValue} />;
|
|
5
|
-
},
|
|
6
|
-
args: {
|
|
7
|
-
label: "Режим синхронизации",
|
|
8
|
-
description: "Мгновенное переключение состояния.",
|
|
9
|
-
value: false,
|
|
10
|
-
checkedText: "ВКЛ",
|
|
11
|
-
uncheckedText: "ВЫКЛ",
|
|
12
|
-
labelPosition: "before"
|
|
13
|
-
}
|
|
14
|
-
}`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
|
|
15
|
-
render: args => {
|
|
16
|
-
const [value, setValue] = useState(args.value ?? true);
|
|
17
|
-
return <Toggle {...args} value={value} onChange={setValue} />;
|
|
18
|
-
},
|
|
19
|
-
args: {
|
|
20
|
-
label: "Уведомления",
|
|
21
|
-
value: true,
|
|
22
|
-
labelPosition: "after"
|
|
23
|
-
}
|
|
24
|
-
}`,...O.parameters?.docs?.source}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
|
|
25
|
-
args: {
|
|
26
|
-
label: "Недоступный переключатель",
|
|
27
|
-
value: true,
|
|
28
|
-
disabled: true
|
|
29
|
-
}
|
|
30
|
-
}`,...k.parameters?.docs?.source}}},A=[`Controlled`,`LabelAfter`,`Disabled`]}));j();export{D as Controlled,k as Disabled,O as LabelAfter,A as __namedExportsOrder,E as default,j as n,C as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-YecJO4uV.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,t as a}from"./picker-Cs_HmTIT.js";import{i as o,n as s,r as c,t as l}from"./MultiSelect-ZiS4jg7j.js";import{n as u,t as d}from"./ODataMultiSelect-C_BdWtjv.js";import{a as f,c as p,i as m,n as h,o as g,r as _,s as v,t as y,u as b}from"./TreePickerBase-xKDnzQR_.js";var x,S,C,w=t((()=>{x=e(n(),1),u(),S=r(),C=({item:e,values:t,onChange:n,width:r=15})=>{let[i,a]=(0,x.useState)({}),o=t??i,s=`calc(${r}em + var(--width-add))`,c=(0,x.useCallback)(r=>{let i={...o,[e.id]:r};t||a(i),n?.(i)},[e.id,n,o,t]);return(0,S.jsx)(`div`,{style:{maxWidth:s,minWidth:s},children:(0,S.jsx)(d,{odata:e.odata,segment:e.segment,model:e.model,dependencies:o,value:o[e.id],onChange:c})})},C.__docgenInfo={description:``,methods:[],displayName:`ODataDependentSegmentMultiSelect`,props:{width:{defaultValue:{value:`15`,computed:!1},required:!1}}}})),T=t((()=>{n(),r()}));function E(e,t){return e[t]}function D(e,t,n){let r=e[t];if(typeof r==`string`)return r;let i=E(e,n);return typeof i==`string`?i:String(i)}function O({label:e,description:t,disabled:n,placeholder:r,size:i,options:a,value:o,onChange:s,optionKey:c,optionLabel:u,renderCode:d}){let f=a.map(e=>({key:String(E(e,c)),text:D(e,u,c)})),p=new Set((o??[]).map(e=>String(e))),m=f.filter(e=>p.has(e.key));return(0,k.jsx)(l,{label:e,description:t,disabled:n,placeholder:r,size:i,items:f,codeKey:`key`,textKey:`text`,hideCode:d?void 0:!0,value:m,onChange:e=>s(e.map(e=>e.key))})}var k,A=t((()=>{s(),k=r(),O.__docgenInfo={description:``,methods:[],displayName:`SerializableMultiSelect`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},options:{required:!0,tsType:{name:`unknown`},description:``},optionKey:{required:!0,tsType:{name:`TOptionKey`},description:``},optionLabel:{required:!0,tsType:{name:`TOptionLabel`},description:``},renderCode:{required:!1,tsType:{name:`literal`,value:`true`},description:``}}}})),j=t((()=>{s(),o(),T(),w(),u(),A()})),M=t((()=>{j()}));function N(e,t){if(e.size!==0){if(e.size===1){let n=t.nodeById.get([...e][0]);return n?n.label:void 0}return`${e.size} элементов`}}function P(e,t,n){let r=p(e,n),i=p(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function F({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:a,nodes:o,value:s,onChange:l,query:u,defaultQuery:d,onQuery:h,isLoading:g,error:x,optionsLayout:S=`tree`}){let[C,w]=(0,I.useState)(!1),T=(0,I.useMemo)(()=>_(o),[o]),{draftValue:E,setDraftValue:D,prepareOpen:O}=i({value:s,open:C,onCommit:l,isEqual:(e,t)=>P(e,t,T)}),k=C?E:s,A=(0,I.useMemo)(()=>p(k,T),[k,T]),j=(0,I.useMemo)(()=>f(A,T),[A,T]),M=(0,I.useMemo)(()=>N(A,T),[A,T]);return(0,L.jsx)(y,{label:e,description:t,disabled:n,placeholder:r,size:a,nodes:o,selectedIds:j.selectedIds,partialIds:j.partialIds,selectionMode:`multi`,optionsLayout:S,open:C,onOpenChange:e=>{e&&!C&&O(),w(e)},bulkActions:{onSelectAll:()=>{D(b(m(T),T))},onDeselectAll:()=>D({})},triggerMode:`search`,selectedSummary:M?(0,L.jsx)(c,{value:M}):void 0,query:u,defaultQuery:d,onQuery:h,onNodeActivate:e=>{D(t=>v(t,e.id,T))},onClearSelection:()=>{D({}),C||l({})},isLoading:g,error:x})}var I,L,R=t((()=>{I=e(n(),1),M(),a(),g(),h(),L=r(),F.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}}},composes:[`Omit`]}}));export{R as n,F as t};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-D8vTJCXn.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B6MYoAcj.js";import{Basic as p,MixedSelection as m,ParentCompression as h,n as g,t as _}from"./TreeMultiSelect.stories-Dc1IZAee.js";function v(e){let o={code:`code`,h2:`h2`,p:`p`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
|
|
2
|
-
`,(0,b.jsx)(c,{children:`TreeMultiSelect`}),`
|
|
3
|
-
`,(0,b.jsx)(i,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
|
|
4
|
-
`,(0,b.jsxs)(o.p,{children:[(0,b.jsx)(o.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
|
|
5
|
-
`,(0,b.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
6
|
-
`,(0,b.jsx)(u,{}),`
|
|
7
|
-
`,(0,b.jsx)(n,{of:p}),`
|
|
8
|
-
`,(0,b.jsx)(o.h2,{id:`сценарии`,children:`Сценарии`}),`
|
|
9
|
-
`,(0,b.jsx)(l,{of:p}),`
|
|
10
|
-
`,(0,b.jsx)(l,{of:h}),`
|
|
11
|
-
`,(0,b.jsx)(l,{of:m}),`
|
|
12
|
-
`,(0,b.jsx)(o.h2,{id:`api`,children:`API`}),`
|
|
13
|
-
`,(0,b.jsx)(s,{of:_}),`
|
|
14
|
-
`,(0,b.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
15
|
-
`,(0,b.jsx)(r,{includePrimary:!1})]})}function y(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,b.jsx)(n,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;e((()=>{b=d(),f(),o(),g()}))();export{y as default};
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-YecJO4uV.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./TreeMultiSelect-CMrKE4N1.js";import{n as s,t as c}from"./treeStoryFixtures-Cd984L7t.js";var l=e({BalancedColumns:()=>v,Basic:()=>h,MixedSelection:()=>_,ParentCompression:()=>g,RightEdgeColumns:()=>y,__namedExportsOrder:()=>b,default:()=>m});function u({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=c}){let[a,s]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{label:t,description:n,nodes:i,value:a,onChange:s,optionsLayout:r}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(a)]})]})}var d,f,p,m,h,g,_,v,y,b,x=n((()=>{d=t(r(),1),a(),s(),f=i(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m={title:`Shared/UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:c,value:{},onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},h={render:()=>(0,f.jsx)(u,{initialValue:{OWNER:[`P0001`]}})},g={render:()=>(0,f.jsx)(u,{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,initialValue:{REGION:[`R01`]}})},_={render:()=>(0,f.jsx)(u,{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,initialValue:{BRANCH:[`B0101`],OWNER:[`P0004`]}})},v={render:()=>(0,f.jsx)(u,{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,initialValue:{BRANCH:[`B0101`]}})},y={render:()=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(u,{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p})})})},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: () => <StatefulTreeMultiSelect initialValue={{
|
|
3
|
-
OWNER: ["P0001"]
|
|
4
|
-
}} />
|
|
5
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
6
|
-
render: () => <StatefulTreeMultiSelect label="Компрессия parent" description="Когда выбран весь subtree, наружу может уйти только родительский узел." initialValue={{
|
|
7
|
-
REGION: ["R01"]
|
|
8
|
-
}} />
|
|
9
|
-
}`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
|
|
10
|
-
render: () => <StatefulTreeMultiSelect label="Смешанный выбор" description="Пример mixed frontier по соседним уровням." initialValue={{
|
|
11
|
-
BRANCH: ["B0101"],
|
|
12
|
-
OWNER: ["P0004"]
|
|
13
|
-
}} />
|
|
14
|
-
}`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
|
|
15
|
-
render: () => <StatefulTreeMultiSelect label="Все уровни в столбцах" description="Popover подбирает число столбцов по количеству опций и доступному viewport." optionsLayout="columns" initialValue={{
|
|
16
|
-
BRANCH: ["B0101"]
|
|
17
|
-
}} />
|
|
18
|
-
}`,...v.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
|
|
19
|
-
render: () => <div style={{
|
|
20
|
-
display: "flex",
|
|
21
|
-
minHeight: "calc(100vh - 32px)",
|
|
22
|
-
alignItems: "center",
|
|
23
|
-
justifyContent: "flex-end"
|
|
24
|
-
}}>
|
|
25
|
-
<div style={{
|
|
26
|
-
width: 260
|
|
27
|
-
}}>
|
|
28
|
-
<StatefulTreeMultiSelect label="Контрол у правой границы" description="Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport." optionsLayout="columns" nodes={rightEdgeTreeNodes} />
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
}`,...y.parameters?.docs?.source}}},b=[`Basic`,`ParentCompression`,`MixedSelection`,`BalancedColumns`,`RightEdgeColumns`]}));x();export{v as BalancedColumns,h as Basic,_ as MixedSelection,g as ParentCompression,y as RightEdgeColumns,b as __namedExportsOrder,m as default,x as n,l as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-YecJO4uV.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{l as i,n as a,o,r as s,t as c}from"./TreePickerBase-xKDnzQR_.js";function l(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function u({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:a,nodes:o,value:u,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,clearable:y=!1}){let b=(0,d.useMemo)(()=>s(o),[o]),x=i(u,b),S=x?b.nodeById.get(x):void 0;return(0,f.jsx)(c,{label:e,description:t,disabled:n,placeholder:r,size:a,nodes:o,selectedIds:x?new Set([x]):new Set,partialIds:new Set,selectionMode:`single`,triggerMode:`search`,selectedSummaryText:l(S),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:y?()=>p(void 0):void 0,isLoading:_,error:v})}var d,f,p=t((()=>{d=e(n(),1),o(),a(),f=r(),u.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}}},composes:[`Omit`]}}));export{p as n,u as t};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-D8vTJCXn.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B6MYoAcj.js";import{Basic as p,Empty as m,SelectParent as h,n as g,t as _}from"./TreeSelect.stories-N-FbNe6W.js";function v(e){let o={code:`code`,h2:`h2`,p:`p`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
|
|
2
|
-
`,(0,b.jsx)(c,{children:`TreeSelect`}),`
|
|
3
|
-
`,(0,b.jsx)(i,{children:`Single-select для выбора одного узла из дерева`}),`
|
|
4
|
-
`,(0,b.jsxs)(o.p,{children:[(0,b.jsx)(o.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
|
|
5
|
-
`,(0,b.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
6
|
-
`,(0,b.jsx)(u,{}),`
|
|
7
|
-
`,(0,b.jsx)(n,{of:p}),`
|
|
8
|
-
`,(0,b.jsx)(o.h2,{id:`сценарии`,children:`Сценарии`}),`
|
|
9
|
-
`,(0,b.jsx)(l,{of:p}),`
|
|
10
|
-
`,(0,b.jsx)(l,{of:h}),`
|
|
11
|
-
`,(0,b.jsx)(l,{of:m}),`
|
|
12
|
-
`,(0,b.jsx)(o.h2,{id:`api`,children:`API`}),`
|
|
13
|
-
`,(0,b.jsx)(s,{of:_}),`
|
|
14
|
-
`,(0,b.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
|
|
15
|
-
`,(0,b.jsx)(r,{includePrimary:!1})]})}function y(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,b.jsx)(n,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;e((()=>{b=d(),f(),o(),g()}))();export{y as default};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-YecJO4uV.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./TreeSelect-BLgkcb_I.js";import{n as s,t as c}from"./treeStoryFixtures-Cd984L7t.js";var l=e({Basic:()=>m,Empty:()=>g,SelectParent:()=>h,__namedExportsOrder:()=>_,default:()=>p});function u({initialValue:e,label:t=`TreeSelect`,description:n}){let[r,i]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{label:t,description:n,nodes:c,value:r,onChange:i}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,r?`${r.codeKey}=${r.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v=n((()=>{d=t(r(),1),a(),s(),f=i(),p={title:`Shared/UI/TreeSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:c,value:void 0,onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},m={render:()=>(0,f.jsx)(u,{initialValue:{codeKey:`BRANCH`,value:`B0101`}})},h={render:()=>(0,f.jsx)(u,{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,initialValue:{codeKey:`REGION`,value:`R01`}})},g={args:{nodes:[],description:`Состояние без доступных узлов.`}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: () => <StatefulTreeSelect initialValue={{
|
|
3
|
-
codeKey: "BRANCH",
|
|
4
|
-
value: "B0101"
|
|
5
|
-
}} />
|
|
6
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
7
|
-
render: () => <StatefulTreeSelect label="Выбор родителя" description="Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел." initialValue={{
|
|
8
|
-
codeKey: "REGION",
|
|
9
|
-
value: "R01"
|
|
10
|
-
}} />
|
|
11
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
args: {
|
|
13
|
-
nodes: [],
|
|
14
|
-
description: "Состояние без доступных узлов."
|
|
15
|
-
}
|
|
16
|
-
}`,...g.parameters?.docs?.source}}},_=[`Basic`,`SelectParent`,`Empty`]}));v();export{m as Basic,g as Empty,h as SelectParent,_ as __namedExportsOrder,p as default,v as n,l as t};
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-D8vTJCXn.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B6MYoAcj.js";import{Basic as p,CollapsedByDefault as m,Empty as h,Fetching as g,Loading as _,MultiSelect as v,WithDefaultExpandedBranch as y,WithDisabledRows as b,WithFormattedTreeColumn as x,WithFormulaColumn as S,WithHiddenZero as C,WithMergedDuplicates as w,WithODataMetadataAdapter as T,WithUseODataTableColumnsBuildHook as E,WithUseODataTableColumnsEnrichHook as D,n as O,t as k}from"./TreeTable.stories-DCLa6mJm.js";function A(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(a,{of:k,parameters:{docs:{toc:!0}}}),`
|
|
2
|
-
`,(0,M.jsx)(c,{children:`TreeTable`}),`
|
|
3
|
-
`,(0,M.jsx)(i,{children:`Древовидная таблица для плоских OData-данных на базе TanStack Table`}),`
|
|
4
|
-
`,(0,M.jsxs)(o.p,{children:[(0,M.jsx)(o.code,{children:`TreeTable`}),` предназначен для сценариев, где данные приходят плоским списком, но в UI должны выглядеть как дерево.
|
|
5
|
-
Компонент использует тот же базовый табличный каркас, что и `,(0,M.jsx)(o.code,{children:`Table`}),`, поэтому у них совпадают базовые states, выбор строк и табличная структура, а различия сосредоточены в tree-логике.
|
|
6
|
-
`,(0,M.jsx)(o.code,{children:`TreeTable`}),` использует тот же formatting-runtime, что и `,(0,M.jsx)(o.code,{children:`Table`}),`, но вычисляет formatting до tree-shell, не смешивая его с логикой раскрытия дерева.`]}),`
|
|
7
|
-
`,(0,M.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
|
|
8
|
-
`,(0,M.jsx)(u,{}),`
|
|
9
|
-
`,(0,M.jsx)(n,{of:p}),`
|
|
10
|
-
`,(0,M.jsx)(o.pre,{children:(0,M.jsx)(o.code,{className:`language-tsx`,children:`import { TreeTable, type TableColumnDef } from "@/shared/ui";
|
|
11
|
-
|
|
12
|
-
interface MetricRow {
|
|
13
|
-
id: string;
|
|
14
|
-
parentId: string | null;
|
|
15
|
-
label: string;
|
|
16
|
-
jan: string;
|
|
17
|
-
feb: string;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const columns: TableColumnDef<MetricRow>[] = [
|
|
21
|
-
{
|
|
22
|
-
id: "label",
|
|
23
|
-
accessorKey: "label",
|
|
24
|
-
header: "Показатель",
|
|
25
|
-
meta: { width: "18em" }
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: "jan",
|
|
29
|
-
accessorKey: "jan",
|
|
30
|
-
header: "янв",
|
|
31
|
-
meta: { width: "8em", align: "right" }
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: "feb",
|
|
35
|
-
accessorKey: "feb",
|
|
36
|
-
header: "фев",
|
|
37
|
-
meta: { width: "8em", align: "right" }
|
|
38
|
-
}
|
|
39
|
-
];
|
|
40
|
-
|
|
41
|
-
export function Example({ rows }: { rows: MetricRow[] }) {
|
|
42
|
-
return (
|
|
43
|
-
<TreeTable
|
|
44
|
-
data={rows}
|
|
45
|
-
columns={columns}
|
|
46
|
-
hierarchy={{
|
|
47
|
-
getRowId: (row) => row.id,
|
|
48
|
-
getParentRowId: (row) => row.parentId
|
|
49
|
-
}}
|
|
50
|
-
selectionMode="single"
|
|
51
|
-
expandFirstLevel
|
|
52
|
-
height="22em"
|
|
53
|
-
indentSize={1}
|
|
54
|
-
/>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
`})}),`
|
|
58
|
-
`,(0,M.jsx)(o.h2,{id:`форматирование-ячеек`,children:`Форматирование ячеек`}),`
|
|
59
|
-
`,(0,M.jsxs)(o.p,{children:[(0,M.jsx)(o.code,{children:`TreeTable`}),` поддерживает тот же `,(0,M.jsx)(o.code,{children:`meta.formatting`}),`, что и `,(0,M.jsx)(o.code,{children:`Table`}),`:`]}),`
|
|
60
|
-
`,(0,M.jsxs)(o.ul,{children:[`
|
|
61
|
-
`,(0,M.jsxs)(o.li,{children:[`typed formatting по `,(0,M.jsx)(o.code,{children:`role/type`}),`;`]}),`
|
|
62
|
-
`,(0,M.jsx)(o.li,{children:`formula-based колонки;`}),`
|
|
63
|
-
`,(0,M.jsx)(o.li,{children:`pipeline display-formatting;`}),`
|
|
64
|
-
`,(0,M.jsxs)(o.li,{children:[(0,M.jsx)(o.code,{children:`emptyWhenZero`}),` для скрытия нулей;`]}),`
|
|
65
|
-
`,(0,M.jsxs)(o.li,{children:[`optional OData adapter для автоматического получения `,(0,M.jsx)(o.code,{children:`role/type`}),`.`]}),`
|
|
66
|
-
`]}),`
|
|
67
|
-
`,(0,M.jsx)(o.p,{children:`Семантика важна:`}),`
|
|
68
|
-
`,(0,M.jsxs)(o.ul,{children:[`
|
|
69
|
-
`,(0,M.jsx)(o.li,{children:`formatting вычисляется до tree-shell;`}),`
|
|
70
|
-
`,(0,M.jsxs)(o.li,{children:[`затем результат заворачивается в древовидную ячейку только для `,(0,M.jsx)(o.code,{children:`treeColumnId`}),`;`]}),`
|
|
71
|
-
`,(0,M.jsxs)(o.li,{children:[`кастомный `,(0,M.jsx)(o.code,{children:`cell`}),` по-прежнему важнее `,(0,M.jsx)(o.code,{children:`meta.formatting`}),`;`]}),`
|
|
72
|
-
`,(0,M.jsxs)(o.li,{children:[(0,M.jsx)(o.code,{children:`TreeTable`}),` сам не ходит в OData и остаётся пригодным для plain local data.`]}),`
|
|
73
|
-
`]}),`
|
|
74
|
-
`,(0,M.jsx)(o.pre,{children:(0,M.jsx)(o.code,{className:`language-tsx`,children:`const columns: TableColumnDef<Row>[] = [
|
|
75
|
-
{
|
|
76
|
-
id: "amount",
|
|
77
|
-
accessorKey: "amount",
|
|
78
|
-
header: "Сумма",
|
|
79
|
-
meta: {
|
|
80
|
-
align: "right",
|
|
81
|
-
formatting: {
|
|
82
|
-
role: "measure",
|
|
83
|
-
type: "decimal",
|
|
84
|
-
formattersPipeline: pipelineConfig
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
];
|
|
89
|
-
`})}),`
|
|
90
|
-
`,(0,M.jsx)(o.p,{children:`Для OData build-сценария колонки можно сгенерировать из metadata:`}),`
|
|
91
|
-
`,(0,M.jsx)(o.pre,{children:(0,M.jsx)(o.code,{className:`language-tsx`,children:`import { createTableColumnsFromODataMetadata } from "@ryuzaki13/react-foundation-lib/table";
|
|
92
|
-
|
|
93
|
-
const columns = createTableColumnsFromODataMetadata(metadata.columns);
|
|
94
|
-
`})}),`
|
|
95
|
-
`,(0,M.jsxs)(o.p,{children:[`Тот же сценарий удобнее собрать через `,(0,M.jsx)(o.code,{children:`useODataTableColumns(...)`}),`, а не через ручной вызов helper:`]}),`
|
|
96
|
-
`,(0,M.jsx)(o.pre,{children:(0,M.jsx)(o.code,{className:`language-tsx`,children:`import { useODataTableColumns } from "@ryuzaki13/react-foundation-api/odata";
|
|
97
|
-
import { TreeTable } from "@/shared/ui";
|
|
98
|
-
|
|
99
|
-
function FinanceTree({ rows }: { rows: MetricRow[] }) {
|
|
100
|
-
const { columns, metadata, isLoading } = useODataTableColumns<MetricRow>({
|
|
101
|
-
service: "ZFI_REPORTING_SRV",
|
|
102
|
-
entity: "FinanceSet",
|
|
103
|
-
mode: "build"
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
return (
|
|
107
|
-
<TreeTable
|
|
108
|
-
title={metadata?.title ?? "Финансовая иерархия"}
|
|
109
|
-
data={rows}
|
|
110
|
-
columns={columns}
|
|
111
|
-
hierarchy={{
|
|
112
|
-
getRowId: (row) => row.id,
|
|
113
|
-
getParentRowId: (row) => row.parentId
|
|
114
|
-
}}
|
|
115
|
-
isLoading={isLoading}
|
|
116
|
-
expandFirstLevel
|
|
117
|
-
/>
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
`})}),`
|
|
121
|
-
`,(0,M.jsxs)(o.p,{children:[(0,M.jsx)(o.code,{children:`enrich`}),` для `,(0,M.jsx)(o.code,{children:`TreeTable`}),` работает так же, как и для `,(0,M.jsx)(o.code,{children:`Table`}),`: hook сохраняет ручные колонки дерева и дозаполняет их `,(0,M.jsx)(o.code,{children:`meta.formatting.role/type`}),`.`]}),`
|
|
122
|
-
`,(0,M.jsx)(o.h2,{id:`слияние-дубликатов`,children:`Слияние дубликатов`}),`
|
|
123
|
-
`,(0,M.jsxs)(o.p,{children:[(0,M.jsx)(o.code,{children:`TreeTable`}),` поддерживает тот же `,(0,M.jsx)(o.code,{children:`meta.mergeDuplicates`}),`, что и плоская таблица, но с дополнительным ограничением: объединение работает только внутри одной глубины `,(0,M.jsx)(o.code,{children:`row.depth`}),`.`]}),`
|
|
124
|
-
`,(0,M.jsx)(o.p,{children:`Важно:`}),`
|
|
125
|
-
`,(0,M.jsxs)(o.ul,{children:[`
|
|
126
|
-
`,(0,M.jsxs)(o.li,{children:[`tree-колонка с expander не участвует в слиянии, даже если на ней включён `,(0,M.jsx)(o.code,{children:`mergeDuplicates`}),`;`]}),`
|
|
127
|
-
`,(0,M.jsxs)(o.li,{children:[`сравнение идёт по raw-значению `,(0,M.jsx)(o.code,{children:`cell.getValue()`}),`;`]}),`
|
|
128
|
-
`,(0,M.jsx)(o.li,{children:`повторяющееся значение остаётся только в первой строке группы, а ниже рендерятся пустые ячейки;`}),`
|
|
129
|
-
`,(0,M.jsx)(o.li,{children:`если между двумя одинаковыми значениями есть строка другой глубины, объединение разрывается.`}),`
|
|
130
|
-
`]}),`
|
|
131
|
-
`,(0,M.jsx)(o.h2,{id:`что-важно-знать`,children:`Что важно знать`}),`
|
|
132
|
-
`,(0,M.jsxs)(o.ul,{children:[`
|
|
133
|
-
`,(0,M.jsxs)(o.li,{children:[`Компонент принимает плоский массив строк и сам восстанавливает иерархию по `,(0,M.jsx)(o.code,{children:`id`}),` и `,(0,M.jsx)(o.code,{children:`parentId`}),`.`]}),`
|
|
134
|
-
`,(0,M.jsx)(o.li,{children:`Если родитель не найден, строка не теряется и отображается как корневая.`}),`
|
|
135
|
-
`,(0,M.jsx)(o.li,{children:`Циклические связи не приводят к бесконечной рекурсии: проблемный фрагмент дерева отсекается.`}),`
|
|
136
|
-
`,(0,M.jsxs)(o.li,{children:[(0,M.jsx)(o.code,{children:`defaultExpandedRowIds`}),` дополняет `,(0,M.jsx)(o.code,{children:`expandFirstLevel`}),` только на первом появлении данных.`]}),`
|
|
137
|
-
`,(0,M.jsxs)(o.li,{children:[(0,M.jsx)(o.code,{children:`indentSize`}),` можно задавать числом или строкой; число трактуется как `,(0,M.jsx)(o.code,{children:`em`}),`.`]}),`
|
|
138
|
-
`,(0,M.jsxs)(o.li,{children:[`Поведение `,(0,M.jsx)(o.code,{children:`selectionMode`}),` совпадает с `,(0,M.jsx)(o.code,{children:`Table`}),`, а различие между компонентами сосредоточено в раскрытии веток и tree-cell.`]}),`
|
|
139
|
-
`,(0,M.jsx)(o.li,{children:`Tree-shell и formatting остаются разделёнными слоями: раскрытие веток не зависит от formulas/pipeline.`}),`
|
|
140
|
-
`]}),`
|
|
141
|
-
`,(0,M.jsx)(o.h2,{id:`сценарии`,children:`Сценарии`}),`
|
|
142
|
-
`,(0,M.jsx)(o.h3,{id:`базовый-режим`,children:`Базовый режим`}),`
|
|
143
|
-
`,(0,M.jsx)(l,{of:p}),`
|
|
144
|
-
`,(0,M.jsx)(o.h3,{id:`множественный-выбор`,children:`Множественный выбор`}),`
|
|
145
|
-
`,(0,M.jsx)(l,{of:v}),`
|
|
146
|
-
`,(0,M.jsx)(o.h3,{id:`дерево-свёрнуто-по-умолчанию`,children:`Дерево свёрнуто по умолчанию`}),`
|
|
147
|
-
`,(0,M.jsx)(l,{of:m}),`
|
|
148
|
-
`,(0,M.jsx)(o.h3,{id:`предраскрытая-ветка`,children:`Предраскрытая ветка`}),`
|
|
149
|
-
`,(0,M.jsx)(l,{of:y}),`
|
|
150
|
-
`,(0,M.jsx)(o.h3,{id:`строки-с-ограничением-выбора`,children:`Строки с ограничением выбора`}),`
|
|
151
|
-
`,(0,M.jsx)(l,{of:b}),`
|
|
152
|
-
`,(0,M.jsx)(o.h3,{id:`фоновое-обновление-данных`,children:`Фоновое обновление данных`}),`
|
|
153
|
-
`,(0,M.jsx)(l,{of:g}),`
|
|
154
|
-
`,(0,M.jsx)(o.h3,{id:`пустое-дерево`,children:`Пустое дерево`}),`
|
|
155
|
-
`,(0,M.jsx)(l,{of:h}),`
|
|
156
|
-
`,(0,M.jsx)(o.h3,{id:`первичная-загрузка`,children:`Первичная загрузка`}),`
|
|
157
|
-
`,(0,M.jsx)(l,{of:_}),`
|
|
158
|
-
`,(0,M.jsx)(o.h3,{id:`formula-based-колонка`,children:`Formula-based колонка`}),`
|
|
159
|
-
`,(0,M.jsx)(l,{of:S}),`
|
|
160
|
-
`,(0,M.jsx)(o.h3,{id:`форматирование-tree-колонки`,children:`Форматирование tree-колонки`}),`
|
|
161
|
-
`,(0,M.jsx)(l,{of:x}),`
|
|
162
|
-
`,(0,M.jsx)(o.h3,{id:`скрытие-нулевых-значений`,children:`Скрытие нулевых значений`}),`
|
|
163
|
-
`,(0,M.jsx)(l,{of:C}),`
|
|
164
|
-
`,(0,M.jsx)(o.h3,{id:`слияние-дубликатов-1`,children:`Слияние дубликатов`}),`
|
|
165
|
-
`,(0,M.jsx)(l,{of:w}),`
|
|
166
|
-
`,(0,M.jsx)(o.h3,{id:`odata-metadata-adapter`,children:`OData metadata adapter`}),`
|
|
167
|
-
`,(0,M.jsx)(l,{of:T}),`
|
|
168
|
-
`,(0,M.jsx)(o.h3,{id:`useodatatablecolumns-build`,children:`useODataTableColumns: build`}),`
|
|
169
|
-
`,(0,M.jsx)(l,{of:E}),`
|
|
170
|
-
`,(0,M.jsx)(o.h3,{id:`useodatatablecolumns-enrich`,children:`useODataTableColumns: enrich`}),`
|
|
171
|
-
`,(0,M.jsx)(l,{of:D}),`
|
|
172
|
-
`,(0,M.jsx)(o.h2,{id:`api`,children:`API`}),`
|
|
173
|
-
`,(0,M.jsx)(s,{of:k}),`
|
|
174
|
-
`,(0,M.jsx)(o.h2,{id:`все-stories`,children:`Все stories`}),`
|
|
175
|
-
`,(0,M.jsx)(r,{includePrimary:!1})]})}function j(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,M.jsx)(n,{...e,children:(0,M.jsx)(A,{...e})}):A(e)}var M;e((()=>{M=d(),f(),o(),O()}))();export{j as default};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n,m as r,p as i,u as a}from"./iframe-YecJO4uV.js";import{C as o,a as s,h as c,l,w as u}from"./theming-DyCFqSDn.js";import{i as d,r as f}from"./chunk-3LY4VQVK-CB9E5tjQ.js";import{t as p}from"./react-dom-Dp-mf7b2.js";import{n as m,t as h}from"./chunk-242VQQM5-Dtm7LRbQ.js";function g(e){return e?(e.nodeName||``).toLowerCase():null}function _(e){if(e==null)return window;if(e.toString()!==`[object Window]`){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function v(e){return e instanceof _(e).Element||e instanceof Element}function y(e){return e instanceof _(e).HTMLElement||e instanceof HTMLElement}function b(e){return typeof ShadowRoot>`u`?!1:e instanceof _(e).ShadowRoot||e instanceof ShadowRoot}function x(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];!y(i)||!g(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(e){var t=r[e];t===!1?i.removeAttribute(e):i.setAttribute(e,t===!0?``:t)}))})}function S(e){var t=e.state,n={popper:{position:t.options.strategy,left:`0`,top:`0`,margin:`0`},arrow:{position:`absolute`},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var r=t.elements[e],i=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]=``,e},{});!y(r)||!g(r)||(Object.assign(r.style,a),Object.keys(i).forEach(function(e){r.removeAttribute(e)}))})}}function C(e){return e.split(`-`)[0]}function w(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(e){return e.brand+`/`+e.version}).join(` `):navigator.userAgent}function T(){return!/^((?!chrome|android).)*safari/i.test(w())}function E(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),i=1,a=1;t&&y(e)&&(i=e.offsetWidth>0&&Z(r.width)/e.offsetWidth||1,a=e.offsetHeight>0&&Z(r.height)/e.offsetHeight||1);var o=(v(e)?_(e):window).visualViewport,s=!T()&&n,c=(r.left+(s&&o?o.offsetLeft:0))/i,l=(r.top+(s&&o?o.offsetTop:0))/a,u=r.width/i,d=r.height/a;return{width:u,height:d,top:l,right:c+u,bottom:l+d,left:c,x:c,y:l}}function D(e){var t=E(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function O(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&b(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function k(e){return _(e).getComputedStyle(e)}function A(e){return[`table`,`td`,`th`].indexOf(g(e))>=0}function j(e){return((v(e)?e.ownerDocument:e.document)||window.document).documentElement}function M(e){return g(e)===`html`?e:e.assignedSlot||e.parentNode||(b(e)?e.host:null)||j(e)}function N(e){return!y(e)||k(e).position===`fixed`?null:e.offsetParent}function P(e){var t=/firefox/i.test(w());if(/Trident/i.test(w())&&y(e)&&k(e).position===`fixed`)return null;var n=M(e);for(b(n)&&(n=n.host);y(n)&&[`html`,`body`].indexOf(g(n))<0;){var r=k(n);if(r.transform!==`none`||r.perspective!==`none`||r.contain===`paint`||[`transform`,`perspective`].indexOf(r.willChange)!==-1||t&&r.willChange===`filter`||t&&r.filter&&r.filter!==`none`)return n;n=n.parentNode}return null}function F(e){for(var t=_(e),n=N(e);n&&A(n)&&k(n).position===`static`;)n=N(n);return n&&(g(n)===`html`||g(n)===`body`&&k(n).position===`static`)?t:n||P(e)||t}function ee(e){return[`top`,`bottom`].indexOf(e)>=0?`x`:`y`}function I(e,t,n){return X(e,gt(t,n))}function te(e,t,n){var r=I(e,t,n);return r>n?n:r}function ne(){return{top:0,right:0,bottom:0,left:0}}function re(e){return Object.assign({},ne(),e)}function ie(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}function ae(e){var t,n=e.state,r=e.name,i=e.options,a=n.elements.arrow,o=n.modifiersData.popperOffsets,s=C(n.placement),c=ee(s),l=[J,q].indexOf(s)>=0?`height`:`width`;if(!(!a||!o)){var u=_t(i.padding,n),d=D(a),f=c===`y`?G:J,p=c===`y`?K:q,m=n.rects.reference[l]+n.rects.reference[c]-o[c]-n.rects.popper[l],h=o[c]-n.rects.reference[c],g=F(a),_=g?c===`y`?g.clientHeight||0:g.clientWidth||0:0,v=m/2-h/2,y=u[f],b=_-d[l]-u[p],x=_/2-d[l]/2+v,S=I(y,x,b),w=c;n.modifiersData[r]=(t={},t[w]=S,t.centerOffset=S-x,t)}}function oe(e){var t=e.state,n=e.options.element,r=n===void 0?`[data-popper-arrow]`:n;r!=null&&(typeof r==`string`&&(r=t.elements.popper.querySelector(r),!r)||O(t.elements.popper,r)&&(t.elements.arrow=r))}function L(e){return e.split(`-`)[1]}function se(e,t){var n=e.x,r=e.y,i=t.devicePixelRatio||1;return{x:Z(n*i)/i||0,y:Z(r*i)/i||0}}function ce(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.variation,o=e.offsets,s=e.position,c=e.gpuAcceleration,l=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=o.x,p=f===void 0?0:f,m=o.y,h=m===void 0?0:m,g=typeof u==`function`?u({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var v=o.hasOwnProperty(`x`),y=o.hasOwnProperty(`y`),b=J,x=G,S=window;if(l){var C=F(n),w=`clientHeight`,T=`clientWidth`;if(C===_(n)&&(C=j(n),k(C).position!==`static`&&s===`absolute`&&(w=`scrollHeight`,T=`scrollWidth`)),C=C,i===G||(i===J||i===q)&&a===st){x=K;var E=d&&C===S&&S.visualViewport?S.visualViewport.height:C[w];h-=E-r.height,h*=c?1:-1}if(i===J||(i===G||i===K)&&a===st){b=q;var D=d&&C===S&&S.visualViewport?S.visualViewport.width:C[T];p-=D-r.width,p*=c?1:-1}}var O=Object.assign({position:s},l&&yt),A=u===!0?se({x:p,y:h},_(n)):{x:p,y:h};if(p=A.x,h=A.y,c){var M;return Object.assign({},O,(M={},M[x]=y?`0`:``,M[b]=v?`0`:``,M.transform=(S.devicePixelRatio||1)<=1?`translate(`+p+`px, `+h+`px)`:`translate3d(`+p+`px, `+h+`px, 0)`,M))}return Object.assign({},O,(t={},t[x]=y?h+`px`:``,t[b]=v?p+`px`:``,t.transform=``,t))}function le(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=r===void 0?!0:r,a=n.adaptive,o=a===void 0?!0:a,s=n.roundOffsets,c=s===void 0?!0:s,l={placement:C(t.placement),variation:L(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i,isFixed:t.options.strategy===`fixed`};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ce(Object.assign({},l,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ce(Object.assign({},l,{offsets:t.modifiersData.arrow,position:`absolute`,adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}function ue(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=i===void 0?!0:i,o=r.resize,s=o===void 0?!0:o,c=_(t.elements.popper),l=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&l.forEach(function(e){e.addEventListener(`scroll`,n.update,xt)}),s&&c.addEventListener(`resize`,n.update,xt),function(){a&&l.forEach(function(e){e.removeEventListener(`scroll`,n.update,xt)}),s&&c.removeEventListener(`resize`,n.update,xt)}}function R(e){return e.replace(/left|right|bottom|top/g,function(e){return Ct[e]})}function de(e){return e.replace(/start|end/g,function(e){return wt[e]})}function z(e){var t=_(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function fe(e){return E(j(e)).left+z(e).scrollLeft}function pe(e,t){var n=_(e),r=j(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;var l=T();(l||!l&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:a,height:o,x:s+fe(e),y:c}}function me(e){var t=j(e),n=z(e),r=e.ownerDocument?.body,i=X(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),a=X(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),o=-n.scrollLeft+fe(e),s=-n.scrollTop;return k(r||t).direction===`rtl`&&(o+=X(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:a,x:o,y:s}}function he(e){var t=k(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function ge(e){return[`html`,`body`,`#document`].indexOf(g(e))>=0?e.ownerDocument.body:y(e)&&he(e)?e:ge(M(e))}function B(e,t){t===void 0&&(t=[]);var n=ge(e),r=n===e.ownerDocument?.body,i=_(n),a=r?[i].concat(i.visualViewport||[],he(n)?n:[]):n,o=t.concat(a);return r?o:o.concat(B(M(a)))}function _e(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function ve(e,t){var n=E(e,!1,t===`fixed`);return n.top+=e.clientTop,n.left+=e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function ye(e,t,n){return t===lt?_e(pe(e,n)):v(t)?ve(t,n):_e(me(j(e)))}function be(e){var t=B(M(e)),n=[`absolute`,`fixed`].indexOf(k(e).position)>=0&&y(e)?F(e):e;return v(n)?t.filter(function(e){return v(e)&&O(e,n)&&g(e)!==`body`}):[]}function V(e,t,n,r){var i=t===`clippingParents`?be(e):[].concat(t),a=[].concat(i,[n]),o=a[0],s=a.reduce(function(t,n){var i=ye(e,n,r);return t.top=X(i.top,t.top),t.right=gt(i.right,t.right),t.bottom=gt(i.bottom,t.bottom),t.left=X(i.left,t.left),t},ye(e,o,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function H(e){var t=e.reference,n=e.element,r=e.placement,i=r?C(r):null,a=r?L(r):null,o=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,c;switch(i){case G:c={x:o,y:t.y-n.height};break;case K:c={x:o,y:t.y+t.height};break;case q:c={x:t.x+t.width,y:s};break;case J:c={x:t.x-n.width,y:s};break;default:c={x:t.x,y:t.y}}var l=i?ee(i):null;if(l!=null){var u=l===`y`?`height`:`width`;switch(a){case Y:c[l]=c[l]-(t[u]/2-n[u]/2);break;case st:c[l]=c[l]+(t[u]/2-n[u]/2);break;default:}}return c}function xe(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=r===void 0?e.placement:r,a=n.strategy,o=a===void 0?e.strategy:a,s=n.boundary,c=s===void 0?ct:s,l=n.rootBoundary,u=l===void 0?lt:l,d=n.elementContext,f=d===void 0?ut:d,p=n.altBoundary,m=p===void 0?!1:p,h=n.padding,g=h===void 0?0:h,_=re(typeof g==`number`?ie(g,ot):g),y=f===ut?dt:ut,b=e.rects.popper,x=e.elements[m?y:f],S=V(v(x)?x:x.contextElement||j(e.elements.popper),c,u,o),C=E(e.elements.reference),w=H({reference:C,element:b,strategy:`absolute`,placement:i}),T=_e(Object.assign({},b,w)),D=f===ut?T:C,O={top:S.top-D.top+_.top,bottom:D.bottom-S.bottom+_.bottom,left:S.left-D.left+_.left,right:D.right-S.right+_.right},k=e.modifiersData.offset;if(f===ut&&k){var A=k[i];Object.keys(O).forEach(function(e){var t=[q,K].indexOf(e)>=0?1:-1,n=[G,K].indexOf(e)>=0?`y`:`x`;O[e]+=A[n]*t})}return O}function Se(e,t){t===void 0&&(t={});var n=t,r=n.placement,i=n.boundary,a=n.rootBoundary,o=n.padding,s=n.flipVariations,c=n.allowedAutoPlacements,l=c===void 0?pt:c,u=L(r),d=u?s?ft:ft.filter(function(e){return L(e)===u}):ot,f=d.filter(function(e){return l.indexOf(e)>=0});f.length===0&&(f=d);var p=f.reduce(function(t,n){return t[n]=xe(e,{placement:n,boundary:i,rootBoundary:a,padding:o})[C(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}function Ce(e){if(C(e)===at)return[];var t=R(e);return[de(e),t,de(t)]}function we(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!0:o,c=n.fallbackPlacements,l=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,h=n.allowedAutoPlacements,g=t.options.placement,_=C(g)===g,v=c||(_||!m?[R(g)]:Ce(g)),y=[g].concat(v).reduce(function(e,n){return e.concat(C(n)===at?Se(t,{placement:n,boundary:u,rootBoundary:d,padding:l,flipVariations:m,allowedAutoPlacements:h}):n)},[]),b=t.rects.reference,x=t.rects.popper,S=new Map,w=!0,T=y[0],E=0;E<y.length;E++){var D=y[E],O=C(D),k=L(D)===Y,A=[G,K].indexOf(O)>=0,j=A?`width`:`height`,M=xe(t,{placement:D,boundary:u,rootBoundary:d,altBoundary:f,padding:l}),N=A?k?q:J:k?K:G;b[j]>x[j]&&(N=R(N));var P=R(N),F=[];if(a&&F.push(M[O]<=0),s&&F.push(M[N]<=0,M[P]<=0),F.every(function(e){return e})){T=D,w=!1;break}S.set(D,F)}if(w)for(var ee=m?3:1,I=function(e){var t=y.find(function(t){var n=S.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return T=t,`break`},te=ee;te>0&&I(te)!==`break`;te--);t.placement!==T&&(t.modifiersData[r]._skip=!0,t.placement=T,t.reset=!0)}}function Te(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ee(e){return[G,q,K,J].some(function(t){return e[t]>=0})}function De(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,a=t.modifiersData.preventOverflow,o=xe(t,{elementContext:`reference`}),s=xe(t,{altBoundary:!0}),c=Te(o,r),l=Te(s,i,a),u=Ee(c),d=Ee(l);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:l,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}function Oe(e,t,n){var r=C(e),i=[J,G].indexOf(r)>=0?-1:1,a=typeof n==`function`?n(Object.assign({},t,{placement:e})):n,o=a[0],s=a[1];return o||=0,s=(s||0)*i,[J,q].indexOf(r)>=0?{x:s,y:o}:{x:o,y:s}}function ke(e){var t=e.state,n=e.options,r=e.name,i=n.offset,a=i===void 0?[0,0]:i,o=pt.reduce(function(e,n){return e[n]=Oe(n,t.rects,a),e},{}),s=o[t.placement],c=s.x,l=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=l),t.modifiersData[r]=o}function Ae(e){var t=e.state,n=e.name;t.modifiersData[n]=H({reference:t.rects.reference,element:t.rects.popper,strategy:`absolute`,placement:t.placement})}function je(e){return e===`x`?`y`:`x`}function Me(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,a=i===void 0?!0:i,o=n.altAxis,s=o===void 0?!1:o,c=n.boundary,l=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,h=m===void 0?0:m,g=xe(t,{boundary:c,rootBoundary:l,padding:d,altBoundary:u}),_=C(t.placement),v=L(t.placement),y=!v,b=ee(_),x=je(b),S=t.modifiersData.popperOffsets,w=t.rects.reference,T=t.rects.popper,E=typeof h==`function`?h(Object.assign({},t.rects,{placement:t.placement})):h,O=typeof E==`number`?{mainAxis:E,altAxis:E}:Object.assign({mainAxis:0,altAxis:0},E),k=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,A={x:0,y:0};if(S){if(a){var j=b===`y`?G:J,M=b===`y`?K:q,N=b===`y`?`height`:`width`,P=S[b],re=P+g[j],ie=P-g[M],ae=p?-T[N]/2:0,oe=v===Y?w[N]:T[N],se=v===Y?-T[N]:-w[N],ce=t.elements.arrow,le=p&&ce?D(ce):{width:0,height:0},ue=t.modifiersData[`arrow#persistent`]?t.modifiersData[`arrow#persistent`].padding:ne(),R=ue[j],de=ue[M],z=I(0,w[N],le[N]),fe=y?w[N]/2-ae-z-R-O.mainAxis:oe-z-R-O.mainAxis,pe=y?-w[N]/2+ae+z+de+O.mainAxis:se+z+de+O.mainAxis,me=t.elements.arrow&&F(t.elements.arrow),he=me?b===`y`?me.clientTop||0:me.clientLeft||0:0,ge=k?.[b]??0,B=P+fe-ge-he,_e=P+pe-ge,ve=I(p?gt(re,B):re,P,p?X(ie,_e):ie);S[b]=ve,A[b]=ve-P}if(s){var ye=b===`x`?G:J,be=b===`x`?K:q,V=S[x],H=x===`y`?`height`:`width`,Se=V+g[ye],Ce=V-g[be],we=[G,J].indexOf(_)!==-1,Te=k?.[x]??0,Ee=we?Se:V-w[H]-T[H]-Te+O.altAxis,De=we?V+w[H]+T[H]-Te-O.altAxis:Ce,Oe=p&&we?te(Ee,V,De):I(p?Ee:Se,V,p?De:Ce);S[x]=Oe,A[x]=Oe-V}t.modifiersData[r]=A}}function Ne(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Pe(e){return e===_(e)||!y(e)?z(e):Ne(e)}function Fe(e){var t=e.getBoundingClientRect(),n=Z(t.width)/e.offsetWidth||1,r=Z(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Ie(e,t,n){n===void 0&&(n=!1);var r=y(t),i=y(t)&&Fe(t),a=j(t),o=E(e,i,n),s={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((g(t)!==`body`||he(a))&&(s=Pe(t)),y(t)?(c=E(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):a&&(c.x=fe(a))),{x:o.left+s.scrollLeft-c.x,y:o.top+s.scrollTop-c.y,width:o.width,height:o.height}}function Le(e){var t=new Map,n=new Set,r=[];e.forEach(function(e){t.set(e.name,e)});function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}}),r.push(e)}return e.forEach(function(e){n.has(e.name)||i(e)}),r}function Re(e){var t=Le(e);return mt.reduce(function(e,n){return e.concat(t.filter(function(e){return e.phase===n}))},[])}function ze(e){var t;return function(){return t||=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})}),t}}function Be(e){var t=e.reduce(function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e},{});return Object.keys(t).map(function(e){return t[e]})}function Ve(){return![...arguments].some(function(e){return!(e&&typeof e.getBoundingClientRect==`function`)})}function He(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,r=n===void 0?[]:n,i=t.defaultOptions,a=i===void 0?At:i;return function(e,t,n){n===void 0&&(n=a);var i={placement:`bottom`,orderedModifiers:[],options:Object.assign({},At,a),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},o=[],s=!1,c={state:i,setOptions:function(n){var o=typeof n==`function`?n(i.options):n;u(),i.options=Object.assign({},a,i.options,o),i.scrollParents={reference:v(e)?B(e):e.contextElement?B(e.contextElement):[],popper:B(t)};var s=Re(Be([].concat(r,i.options.modifiers)));return i.orderedModifiers=s.filter(function(e){return e.enabled}),l(),c.update()},forceUpdate:function(){if(!s){var e=i.elements,t=e.reference,n=e.popper;if(Ve(t,n)){i.rects={reference:Ie(t,F(n),i.options.strategy===`fixed`),popper:D(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach(function(e){return i.modifiersData[e.name]=Object.assign({},e.data)});for(var r=0;r<i.orderedModifiers.length;r++){if(i.reset===!0){i.reset=!1,r=-1;continue}var a=i.orderedModifiers[r],o=a.fn,l=a.options,u=l===void 0?{}:l,d=a.name;typeof o==`function`&&(i=o({state:i,options:u,name:d,instance:c})||i)}}}},update:ze(function(){return new Promise(function(e){c.forceUpdate(),e(i)})}),destroy:function(){u(),s=!0}};if(!Ve(e,t))return c;c.setOptions(n).then(function(e){!s&&n.onFirstUpdate&&n.onFirstUpdate(e)});function l(){i.orderedModifiers.forEach(function(e){var t=e.name,n=e.options,r=n===void 0?{}:n,a=e.effect;if(typeof a==`function`){var s=a({state:i,name:t,instance:c,options:r});o.push(s||function(){})}})}function u(){o.forEach(function(e){return e()}),o=[]}return c}}function Ue(e){var t=W.useRef(e);return t.current=e,W.useCallback(function(){return t.current},[])}function We(e){var t=e.initial,n=e.value,r=e.onChange,i=r===void 0?Ft:r;if(t===void 0&&n===void 0)throw TypeError(`Either "value" or "initial" variable must be set. Now both are undefined`);var a=W.useState(t),o=a[0],s=a[1],c=Ue(o),l=W.useCallback(function(e){var t=c(),n=typeof e==`function`?e(t):e;typeof n.persist==`function`&&n.persist(),s(n),typeof i==`function`&&i(n)},[c,i]),u=n!==void 0;return[u?n:o,u?i:l]}function Ge(e,t){return e===void 0&&(e=0),t===void 0&&(t=0),function(){return{width:0,height:0,top:t,right:e,bottom:t,left:e,x:0,y:0,toJSON:function(){return null}}}}function Ke(e,t){var n,r,i;e===void 0&&(e={}),t===void 0&&(t={});var a=Object.keys(Rt).reduce(function(e,t){var n;return o({},e,(n={},n[t]=e[t]===void 0?Rt[t]:e[t],n))},e),s=W.useMemo(function(){return[{name:`offset`,options:{offset:a.offset}}]},Array.isArray(a.offset)?a.offset:[]),c=o({},t,{placement:t.placement||a.placement,modifiers:t.modifiers||s}),l=W.useState(null),u=l[0],d=l[1],f=W.useState(null),p=f[0],m=f[1],g=We({initial:a.defaultVisible,value:a.visible,onChange:a.onVisibleChange}),_=g[0],v=g[1],y=W.useRef();W.useEffect(function(){return function(){return clearTimeout(y.current)}},[]);var b=Pt(a.followCursor?Lt:u,p,c),x=b.styles,S=b.attributes,C=h(b,It),w=C.update,T=Ue({visible:_,triggerRef:u,tooltipRef:p,finalConfig:a}),E=W.useCallback(function(e){return Array.isArray(a.trigger)?a.trigger.includes(e):a.trigger===e},Array.isArray(a.trigger)?a.trigger:[a.trigger]),D=W.useCallback(function(){clearTimeout(y.current),y.current=window.setTimeout(function(){return v(!1)},a.delayHide)},[a.delayHide,v]),O=W.useCallback(function(){clearTimeout(y.current),y.current=window.setTimeout(function(){return v(!0)},a.delayShow)},[a.delayShow,v]),k=W.useCallback(function(){T().visible?D():O()},[T,D,O]);W.useEffect(function(){if(T().finalConfig.closeOnOutsideClick){var e=function(e){var t,n=T(),r=n.tooltipRef,i=n.triggerRef,a=(e.composedPath==null||(t=e.composedPath())==null?void 0:t[0])||e.target;a instanceof Node&&r!=null&&i!=null&&!r.contains(a)&&!i.contains(a)&&D()};return document.addEventListener(`mousedown`,e),function(){return document.removeEventListener(`mousedown`,e)}}},[T,D]),W.useEffect(function(){if(!(u==null||!E(`click`)))return u.addEventListener(`click`,k),function(){return u.removeEventListener(`click`,k)}},[u,E,k]),W.useEffect(function(){if(!(u==null||!E(`double-click`)))return u.addEventListener(`dblclick`,k),function(){return u.removeEventListener(`dblclick`,k)}},[u,E,k]),W.useEffect(function(){if(!(u==null||!E(`right-click`))){var e=function(e){e.preventDefault(),k()};return u.addEventListener(`contextmenu`,e),function(){return u.removeEventListener(`contextmenu`,e)}}},[u,E,k]),W.useEffect(function(){if(!(u==null||!E(`focus`)))return u.addEventListener(`focus`,O),u.addEventListener(`blur`,D),function(){u.removeEventListener(`focus`,O),u.removeEventListener(`blur`,D)}},[u,E,O,D]),W.useEffect(function(){if(!(u==null||!E(`hover`)))return u.addEventListener(`mouseenter`,O),u.addEventListener(`mouseleave`,D),function(){u.removeEventListener(`mouseenter`,O),u.removeEventListener(`mouseleave`,D)}},[u,E,O,D]),W.useEffect(function(){if(!(p==null||!E(`hover`)||!T().finalConfig.interactive))return p.addEventListener(`mouseenter`,O),p.addEventListener(`mouseleave`,D),function(){p.removeEventListener(`mouseenter`,O),p.removeEventListener(`mouseleave`,D)}},[p,E,O,D,T]);var A=C==null||(n=C.state)==null||(r=n.modifiersData)==null||(i=r.hide)==null?void 0:i.isReferenceHidden;return W.useEffect(function(){a.closeOnTriggerHidden&&A&&D()},[a.closeOnTriggerHidden,D,A]),W.useEffect(function(){if(!a.followCursor||u==null)return;function e(e){var t=e.clientX,n=e.clientY;Lt.getBoundingClientRect=Ge(t,n),w?.()}return u.addEventListener(`mousemove`,e),function(){return u.removeEventListener(`mousemove`,e)}},[a.followCursor,u,w]),W.useEffect(function(){if(!(p==null||w==null||a.mutationObserverOptions==null)){var e=new MutationObserver(w);return e.observe(p,a.mutationObserverOptions),function(){return e.disconnect()}}},[a.mutationObserverOptions,p,w]),o({getArrowProps:function(e){return e===void 0&&(e={}),o({},e,S.arrow,{style:o({},e.style,x.arrow),"data-popper-arrow":!0})},getTooltipProps:function(e){return e===void 0&&(e={}),o({},e,{style:o({},e.style,x.popper)},S.popper,{"data-popper-interactive":a.interactive})},setTooltipRef:m,setTriggerRef:d,tooltipRef:p,triggerRef:u,visible:_},C)}var U,qe,W,Je,Ye,Xe,Ze,Qe,$e,et,tt,nt,rt,it,G,K,q,J,at,ot,Y,st,ct,lt,ut,dt,ft,pt,mt,ht,X,gt,Z,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt,Rt,zt,Q,$,Bt,Vt,Ht,Ut,Wt,Gt,Kt,qt;t((()=>{m(),u(),f(),r(),U=e(n(),1),qe=e(p(),1),W=e(n(),1),n(),Je=e(n(),1),Ye=e(n(),1),Xe=e(n(),1),Ze=e(p(),1),n(),s(),Qe=a({"../../node_modules/react-fast-compare/index.js"(e,t){var n=typeof Element<`u`,r=typeof Map==`function`,i=typeof Set==`function`,a=typeof ArrayBuffer==`function`&&!!ArrayBuffer.isView;function o(e,t){if(e===t)return!0;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(e.constructor!==t.constructor)return!1;var s,c,l;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(!o(e[c],t[c]))return!1;return!0}var u;if(r&&e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;for(u=e.entries();!(c=u.next()).done;)if(!o(c.value[1],t.get(c.value[0])))return!1;return!0}if(i&&e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(u=e.entries();!(c=u.next()).done;)if(!t.has(c.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(s=e.length,s!=t.length)return!1;for(c=s;c--!==0;)if(e[c]!==t[c])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&typeof e.valueOf==`function`&&typeof t.valueOf==`function`)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&typeof e.toString==`function`&&typeof t.toString==`function`)return e.toString()===t.toString();if(l=Object.keys(e),s=l.length,s!==Object.keys(t).length)return!1;for(c=s;c--!==0;)if(!Object.prototype.hasOwnProperty.call(t,l[c]))return!1;if(n&&e instanceof Element)return!1;for(c=s;c--!==0;)if(!((l[c]===`_owner`||l[c]===`__v`||l[c]===`__o`)&&e.$$typeof)&&!o(e[l[c]],t[l[c]]))return!1;return!0}return e!==e&&t!==t}t.exports=function(e,t){try{return o(e,t)}catch(e){if((e.message||``).match(/stack|recursion/i))return console.warn(`react-fast-compare cannot handle circular refs`),!1;throw e}}}}),$e=a({"../../node_modules/warning/warning.js"(e,t){t.exports=function(){}}}),et=i(d(),1),{deprecate:tt}=__STORYBOOK_MODULE_CLIENT_LOGGER__,{global:nt}=__STORYBOOK_MODULE_GLOBAL__,Je.createContext(),Je.createContext(),rt=function(e){return e.reduce(function(e,t){var n=t[0];return e[n]=t[1],e},{})},it=typeof window<`u`&&window.document&&window.document.createElement?Ye.useLayoutEffect:Ye.useEffect,G=`top`,K=`bottom`,q=`right`,J=`left`,at=`auto`,ot=[G,K,q,J],Y=`start`,st=`end`,ct=`clippingParents`,lt=`viewport`,ut=`popper`,dt=`reference`,ft=ot.reduce(function(e,t){return e.concat([t+`-`+Y,t+`-`+st])},[]),pt=[].concat(ot,[at]).reduce(function(e,t){return e.concat([t,t+`-`+Y,t+`-`+st])},[]),mt=[`beforeRead`,`read`,`afterRead`,`beforeMain`,`main`,`afterMain`,`beforeWrite`,`write`,`afterWrite`],ht={name:`applyStyles`,enabled:!0,phase:`write`,fn:x,effect:S,requires:[`computeStyles`]},X=Math.max,gt=Math.min,Z=Math.round,_t=function(e,t){return e=typeof e==`function`?e(Object.assign({},t.rects,{placement:t.placement})):e,re(typeof e==`number`?ie(e,ot):e)},vt={name:`arrow`,enabled:!0,phase:`main`,fn:ae,effect:oe,requires:[`popperOffsets`],requiresIfExists:[`preventOverflow`]},yt={top:`auto`,right:`auto`,bottom:`auto`,left:`auto`},bt={name:`computeStyles`,enabled:!0,phase:`beforeWrite`,fn:le,data:{}},xt={passive:!0},St={name:`eventListeners`,enabled:!0,phase:`write`,fn:function(){},effect:ue,data:{}},Ct={left:`right`,right:`left`,bottom:`top`,top:`bottom`},wt={start:`end`,end:`start`},Tt={name:`flip`,enabled:!0,phase:`main`,fn:we,requiresIfExists:[`offset`],data:{_skip:!1}},Et={name:`hide`,enabled:!0,phase:`main`,requiresIfExists:[`preventOverflow`],fn:De},Dt={name:`offset`,enabled:!0,phase:`main`,requires:[`popperOffsets`],fn:ke},Ot={name:`popperOffsets`,enabled:!0,phase:`read`,fn:Ae,data:{}},kt={name:`preventOverflow`,enabled:!0,phase:`main`,fn:Me,requiresIfExists:[`offset`]},At={placement:`bottom`,modifiers:[],strategy:`absolute`},He(),He({defaultModifiers:[St,Ot,bt,ht]}),jt=He({defaultModifiers:[St,Ot,bt,ht,Dt,Tt,kt,vt,Et]}),Mt=i(Qe()),Nt=[],Pt=function(e,t,n){n===void 0&&(n={});var r=Xe.useRef(null),i={onFirstUpdate:n.onFirstUpdate,placement:n.placement||`bottom`,strategy:n.strategy||`absolute`,modifiers:n.modifiers||Nt},a=Xe.useState({styles:{popper:{position:i.strategy,left:`0`,top:`0`},arrow:{position:`absolute`}},attributes:{}}),o=a[0],s=a[1],c=Xe.useMemo(function(){return{name:`updateState`,enabled:!0,phase:`write`,fn:function(e){var t=e.state,n=Object.keys(t.elements);Ze.flushSync(function(){s({styles:rt(n.map(function(e){return[e,t.styles[e]||{}]})),attributes:rt(n.map(function(e){return[e,t.attributes[e]]}))})})},requires:[`computeStyles`]}},[]),l=Xe.useMemo(function(){var e={onFirstUpdate:i.onFirstUpdate,placement:i.placement,strategy:i.strategy,modifiers:[].concat(i.modifiers,[c,{name:`applyStyles`,enabled:!1}])};return(0,Mt.default)(r.current,e)?r.current||e:(r.current=e,e)},[i.onFirstUpdate,i.placement,i.strategy,i.modifiers,c]),u=Xe.useRef();return it(function(){u.current&&u.current.setOptions(l)},[l]),it(function(){if(!(e==null||t==null)){var r=(n.createPopper||jt)(e,t,l);return u.current=r,function(){r.destroy(),u.current=null}}},[e,t,n.createPopper]),{state:u.current?u.current.state:null,styles:o.styles,attributes:o.attributes,update:u.current?u.current.update:null,forceUpdate:u.current?u.current.forceUpdate:null}},i($e()),Ft=function(){},It=[`styles`,`attributes`],Lt={getBoundingClientRect:Ge()},Rt={closeOnOutsideClick:!0,closeOnTriggerHidden:!1,defaultVisible:!1,delayHide:0,delayShow:0,followCursor:!1,interactive:!1,mutationObserverOptions:{attributes:!0,childList:!0,subtree:!0},offset:[0,6],trigger:`hover`},{document:zt}=nt,Q=(0,et.default)(1e3)((e,t,n,r=0)=>t.split(`-`)[0]===e?n:r),$=8,Bt=l.div({position:`absolute`,borderStyle:`solid`},({placement:e})=>{let t=0,n=0;switch(!0){case e.startsWith(`left`)||e.startsWith(`right`):n=8;break;case e.startsWith(`top`)||e.startsWith(`bottom`):t=8;break;default:}return{transform:`translate3d(${t}px, ${n}px, 0px)`}},({theme:e,color:t,placement:n})=>({bottom:`${Q(`top`,n,`${$*-1}px`,`auto`)}`,top:`${Q(`bottom`,n,`${$*-1}px`,`auto`)}`,right:`${Q(`left`,n,`${$*-1}px`,`auto`)}`,left:`${Q(`right`,n,`${$*-1}px`,`auto`)}`,borderBottomWidth:`${Q(`top`,n,`0`,$)}px`,borderTopWidth:`${Q(`bottom`,n,`0`,$)}px`,borderRightWidth:`${Q(`left`,n,`0`,$)}px`,borderLeftWidth:`${Q(`right`,n,`0`,$)}px`,borderTopColor:Q(`top`,n,e.color[t]||t||e.base===`light`?c(e.background.app):e.background.app,`transparent`),borderBottomColor:Q(`bottom`,n,e.color[t]||t||e.base===`light`?c(e.background.app):e.background.app,`transparent`),borderLeftColor:Q(`left`,n,e.color[t]||t||e.base===`light`?c(e.background.app):e.background.app,`transparent`),borderRightColor:Q(`right`,n,e.color[t]||t||e.base===`light`?c(e.background.app):e.background.app,`transparent`)})),Vt=l.div(({hidden:e})=>({display:e?`none`:`inline-block`,zIndex:2147483647,colorScheme:`light dark`}),({theme:e,color:t,hasChrome:n})=>n?{background:t&&e.color[t]||t||e.base===`light`?c(e.background.app):e.background.app,filter:`
|
|
2
|
-
drop-shadow(0px 5px 5px rgba(0,0,0,0.05))
|
|
3
|
-
drop-shadow(0 1px 3px rgba(0,0,0,0.1))
|
|
4
|
-
`,borderRadius:e.appBorderRadius+2,fontSize:e.typography.size.s1}:{}),Ht=U.forwardRef(({placement:e=`top`,hasChrome:t=!0,children:n,arrowProps:r={},tooltipRef:i,color:a,withArrows:o,...s},c)=>U.createElement(Vt,{"data-testid":`tooltip`,hasChrome:t,ref:c,...s,color:a},t&&o&&U.createElement(Bt,{placement:e,...r,color:a}),n)),Ht.displayName=`Tooltip`,Ut=l.div`
|
|
5
|
-
display: inline-block;
|
|
6
|
-
cursor: ${e=>e.trigger===`hover`||e.trigger?.includes(`hover`)?`default`:`pointer`};
|
|
7
|
-
`,Wt=l.g`
|
|
8
|
-
cursor: ${e=>e.trigger===`hover`||e.trigger?.includes(`hover`)?`default`:`pointer`};
|
|
9
|
-
`,Gt=({svg:e=!1,trigger:t=`click`,closeOnOutsideClick:n=!1,placement:r=`top`,modifiers:i=[{name:`preventOverflow`,options:{padding:8}},{name:`offset`,options:{offset:[8,8]}},{name:`arrow`,options:{padding:8}}],hasChrome:a=!0,defaultVisible:o=!1,withArrows:s,offset:c,tooltip:l,children:u,closeOnTriggerHidden:d,mutationObserverOptions:f,delayHide:p=t===`hover`?200:0,visible:m,interactive:h,delayShow:g=t===`hover`?400:0,strategy:_,followCursor:v,onVisibleChange:y,portalContainer:b,...x})=>{let S=e?Wt:Ut,{getArrowProps:C,getTooltipProps:w,setTooltipRef:T,setTriggerRef:E,visible:D,state:O}=Ke({trigger:t,placement:r,defaultVisible:o,delayHide:p,interactive:h,closeOnOutsideClick:n,closeOnTriggerHidden:d,onVisibleChange:y,delayShow:g,followCursor:v,mutationObserverOptions:f,visible:m,offset:c},{modifiers:i,strategy:_}),k=(typeof b==`string`?zt.querySelector(b):b)||zt.body,A=D?U.createElement(Ht,{placement:O?.placement,ref:T,hasChrome:a,arrowProps:C(),withArrows:s,...w()},typeof l==`function`?l({onHide:()=>y(!1)}):l):null;return U.createElement(U.Fragment,null,U.createElement(S,{trigger:t,ref:E,...x},u),D&&qe.createPortal(A,k))},Kt=({startOpen:e=!1,onVisibleChange:t,...n})=>{let[r,i]=(0,U.useState)(e),a=(0,U.useCallback)(e=>{t&&t(e)===!1||i(e)},[t]);return(0,U.useEffect)(()=>{let e=()=>a(!1),t=t=>{t.key===`Escape`&&e()};zt.addEventListener(`keydown`,t,!1);let n=Array.from(zt.getElementsByTagName(`iframe`)),r=[];return n.forEach(t=>{let n=()=>{try{t.contentWindow.document&&(t.contentWindow.document.addEventListener(`click`,e),r.push(()=>{try{t.contentWindow.document.removeEventListener(`click`,e)}catch{}}))}catch{}};n(),t.addEventListener(`load`,n),r.push(()=>{t.removeEventListener(`load`,n)})}),()=>{zt.removeEventListener(`keydown`,t),r.forEach(e=>{e()})}}),U.createElement(Gt,{...n,visible:r,onVisibleChange:a})},qt=e=>(tt(`WithTooltipPure is deprecated and will be removed in Storybook 11. Please use WithTooltip instead.`),U.createElement(Gt,{"data-deprecated":`WithTooltipPure`,...e}))}))();export{Kt as WithTooltip,qt as WithTooltipPure};
|