@ryuzaki13/react-foundation-ui 1.8.10 → 1.8.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced-search/index.js +1 -1
- package/dist/chunks/{defaultRenderers-Dbhg2hHc.js → defaultRenderers-u_Vep6Pj.js} +2 -2
- package/dist/chunks/{defaultRenderers-Dbhg2hHc.js.map → defaultRenderers-u_Vep6Pj.js.map} +1 -1
- package/dist/chunks/{multi-select-CHZhWoq6.js → multi-select-DtmRtX6v.js} +2 -2
- package/dist/chunks/multi-select-DtmRtX6v.js.map +1 -0
- package/dist/multi-select/index.js +1 -1
- package/dist/multi-select/ui/MultiSelect.d.ts +1 -1
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/defaultRenderers.d.ts +1 -1
- package/dist/tree-select/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-BqQpQw_L.js → Badge-BojMuOws.js} +1 -1
- package/storybook-static/assets/{Badge.stories-BLEc3pho.js → Badge.stories-C9gJRuIO.js} +1 -1
- package/storybook-static/assets/{BadgeList-DfMo6yit.js → BadgeList-dNEWI7-O.js} +1 -1
- package/storybook-static/assets/{Button-D1w_se49.js → Button-Bbt3JzIY.js} +1 -1
- package/storybook-static/assets/{Button-D6MwkfU8.js → Button-CrTHXWYk.js} +1 -1
- package/storybook-static/assets/{Button.stories-DsEGxbz-.js → Button.stories-BaYXOBeF.js} +1 -1
- package/storybook-static/assets/{CalendarView-FWwbhHMn.js → CalendarView-Dp0zus1o.js} +1 -1
- package/storybook-static/assets/{CheckBox-BIeKlLsQ.js → CheckBox-BiK9yWNt.js} +1 -1
- package/storybook-static/assets/{CheckBox-krtKLFK6.js → CheckBox-UzYHaD6S.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-gV23d8F9.js → CheckBox.stories-C2BOiWZj.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-DF3lA8Cg.js → Color-6AOWCN3U-C5S4wUlD.js} +1 -1
- package/storybook-static/assets/{ContextMenu-Jid_pp7z.js → ContextMenu-BWQln_tb.js} +1 -1
- package/storybook-static/assets/{ContextMenu-CvOaSUdS.js → ContextMenu-D9EZxb7d.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-BMRQo225.js → ContextMenu.stories-U38zPh9_.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-B_3l2oEp.js → CustomOptionButton-COIOrxQn.js} +1 -1
- package/storybook-static/assets/{DateInput-DSwx7eI6.js → DateInput-05Iy69_a.js} +1 -1
- package/storybook-static/assets/{DateInput-Dmfu-QPI.js → DateInput-C-entb-r.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-BcZKAAUH.js → DateInput.stories-NmUXQLDU.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-Dpjei_qk.js → DateRangePresetSelect-BM1L1KOo.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-C4QK2uI5.js → DateRangePresetSelect-CAJzxaq0.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-HuFMQCzg.js → DateRangePresetSelect.stories-CC47XLnD.js} +1 -1
- package/storybook-static/assets/{Detail-mSGrPHPd.js → Detail-CDluXtts.js} +1 -1
- package/storybook-static/assets/{Detail.stories-CNmeyajk.js → Detail.stories-DjniLC4n.js} +1 -1
- package/storybook-static/assets/{Dialog-C4lB95kT.js → Dialog-bw6cHUsz.js} +1 -1
- package/storybook-static/assets/{Dialog-CNPtztC5.js → Dialog-bzRSgGU7.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-DGC2CdmD.js → Dialog.stories-C6Rs6s_p.js} +1 -1
- package/storybook-static/assets/{Disclosure-Bg9Uurzq.js → Disclosure-DelA6FsQ.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-52zq3d3b.js → Disclosure.stories-D7yUinyb.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-htBmjuHs.js → DisclosureGroup-DbK7mU_Q.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CfCr8YB1.js → DocsRenderer-JROSPFPF-v3z0zVN1.js} +1 -1
- package/storybook-static/assets/{DropZone-BsjXindv.js → DropZone-CI3NW4AC.js} +1 -1
- package/storybook-static/assets/{DropZone-DHl97f8Y.js → DropZone-Cyy-ttEO.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-UxmcssH9.js → DropZone.stories-S0HSpGTB.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-Bq4Z7eyk.js → DropdownMenu-Ct1bSZsE.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-Buvm-uo_.js → ExpandableActionPanel-Oj3xlasj.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-DHjq73og.js → ExpandableActionPanel.stories-Ch7CLkpR.js} +1 -1
- package/storybook-static/assets/{Flex-B9W01d7p.js → Flex-UiFm8Tkc.js} +1 -1
- package/storybook-static/assets/{Flex.stories-Y8vGrgl5.js → Flex.stories-CaDiVlBD.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-C06XhNb8.js → FloatingPopover-CTYV9W7T.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-DnBQJjql.js → FormattedTableCell-D-ysSR3p.js} +1 -1
- package/storybook-static/assets/{Grid-BNsdOQE3.js → Grid-CigBXPe2.js} +1 -1
- package/storybook-static/assets/{Grid.stories-hwxpk_k9.js → Grid.stories-ay3z9DQZ.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-L6AaNzcC.js → ImageCropper.stories-Dkce_ugb.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DA4vCb7C.js → ImageRenderer-C9_EmGBW.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-eWJHpmcc.js → ImageRenderer.stories-C7bXaNBI.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-CDZmePLC.js → ImageView.stories-D-ZzGlk8.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-c1s8XOKG.js → ImageViewer.stories-ItcRfxyy.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-CB58FU7X.js → ImageViewerRuntime-eaupID36.js} +1 -1
- package/storybook-static/assets/{Input-CPh1-5MN.js → Input-BUDNR96c.js} +1 -1
- package/storybook-static/assets/{Input-k78uABnO.js → Input-op4j7Beh.js} +1 -1
- package/storybook-static/assets/{Input.stories-Bjo-quWE.js → Input.stories-DwulvJIg.js} +1 -1
- package/storybook-static/assets/{InputDateTime-D6wx8NHg.js → InputDateTime-B_cxOp6k.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-DKYu3IHZ.js → InputDateTime.stories-BueLF4HC.js} +1 -1
- package/storybook-static/assets/{InputFile-B_d9cuuZ.js → InputFile-C8z6TPc1.js} +1 -1
- package/storybook-static/assets/{InputFile-jyLYajsV.js → InputFile-DSg7sugm.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-BdefvDig.js → InputFile.stories-C6XSbIua.js} +1 -1
- package/storybook-static/assets/{InputFiles-8NO4ybbw.js → InputFiles-DeZ84Uu_.js} +1 -1
- package/storybook-static/assets/{InputFiles-Bk5cxV_q.js → InputFiles-DoatLq3q.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-ByWo1zY4.js → InputFiles.stories-BMbE8SJU.js} +1 -1
- package/storybook-static/assets/{InputFilesList-D4SB2px7.js → InputFilesList-CsfDDqaJ.js} +1 -1
- package/storybook-static/assets/{InputImage-DehD0dUv.js → InputImage-D_YnB2Tw.js} +1 -1
- package/storybook-static/assets/{InputImage-Zoi-dxR0.js → InputImage-yJSq98EH.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-Bm6vjE22.js → InputImage.stories-nivUG307.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-B1kglKoK.js → InteractiveComponents-IPkC_Rkg.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-HmO6jYBZ.js → InteractiveComponents.stories-D4VzVKZJ.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-C__JzlAL.js → LayoutPicker-ZHkMi-LM.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-BdaZMF1N.js → LayoutPicker-aMzPN5Do.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-Q1MsCb_7.js → LayoutPicker.stories-DAzpzxn5.js} +1 -1
- package/storybook-static/assets/{Listbox-HDTB2yAv.js → Listbox-BmfQOnrb.js} +1 -1
- package/storybook-static/assets/{Listbox-_2Lhh6GE.js → Listbox-CR5nXC9J.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-C5uX1wxr.js → Listbox.stories-CeOpsKxB.js} +1 -1
- package/storybook-static/assets/{Modal-Blv9Namu.js → Modal-BStp52Zo.js} +1 -1
- package/storybook-static/assets/{Modal.stories-Bh5G9FLw.js → Modal.stories-CwGm5GYE.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-DedM4XGI.js → ModalManagerProvider-B5uUXWF9.js} +1 -1
- package/storybook-static/assets/{MultiSelect-C9a9z0VK.js → MultiSelect-308npb27.js} +1 -1
- package/storybook-static/assets/{MultiSelect-B_2TcTLI.js → MultiSelect-BDs02MZh.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-D5Ly4DPj.js → MultiSelect.stories-DRi_iTp4.js} +1 -1
- package/storybook-static/assets/{NoData-CD8_tH4f.js → NoData-ovaQEE9W.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-MW4gDQQK.js → NotificationsHost-BpeMWhLY.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-BZJG9Nvq.js → NotificationsHost.stories-CgbFboVD.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-DjVOp5BB.js → ODataMultiSelect-qlft9L9L.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-Cpxe83Z0.js → ODataMultiSelect.stories-CMPIoPiy.js} +1 -1
- package/storybook-static/assets/{ODataSelect-C_2GMQva.js → ODataSelect-DKBQArAK.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-C6Wo7X-M.js → ODataSelect.stories-DxYIhtwe.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-1PxW1yEH.js → ODataTreeMultiSelect-DAt6THP3.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-AetogHrA.js → ODataTreeMultiSelect.stories-CBNJP0mP.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-vPvVKIRZ.js → ODataTreeSelect-Bzzt4CQC.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-Cvyu6C2q.js → ODataTreeSelect.stories-CWVvuqOt.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-BtSUY6R7.js → OneStepScroller-BY5lz8qi.js} +1 -1
- package/storybook-static/assets/{Option-D5HVST0Y.js → Option-Rw8xwrPg.js} +1 -1
- package/storybook-static/assets/{OptionButton-DMZn3qex.js → OptionButton-Br48w_Zg.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-BirdSdPT.js → PeriodSelect-8-wpXz6w.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-ccgbEHCS.js → PeriodSelect-DxSRwKw-.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-LnR8MJQQ.js → PeriodSelect.stories-B-qgUzlS.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-DEXowtVB.js → PickerTriggerActions-C5xmysFh.js} +1 -1
- package/storybook-static/assets/{Popover-CfT-5TUj.js → Popover-Ds8PUigp.js} +1 -1
- package/storybook-static/assets/{Popover-B9Pbbd8S.js → Popover-NJwt_vZZ.js} +1 -1
- package/storybook-static/assets/{Popover.stories-DkIh7SkO.js → Popover.stories-CUOFA_Xf.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-BshHlO-z.js → PresetRangeDateInput-DyOpbkON.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-rHxPNjnG.js → PresetRangeDateInput-Xk0bOy3S.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-BToClw-C.js → PresetRangeDateInput.stories-CwjUlXj0.js} +1 -1
- package/storybook-static/assets/{PresetSelect-BND50bCx.js → PresetSelect-Ddmr0niY.js} +1 -1
- package/storybook-static/assets/{README-s-T48I9S.js → README-B4zYJg6u.js} +1 -1
- package/storybook-static/assets/{README-B7XIrdXq.js → README-BHw6MVjD.js} +1 -1
- package/storybook-static/assets/{README-DUA1kfLE.js → README-BdPlV5nA.js} +1 -1
- package/storybook-static/assets/{README-BMmR1B7a.js → README-BzVHwvgo.js} +1 -1
- package/storybook-static/assets/{README-BRNFl9WV.js → README-BzVni2ve.js} +1 -1
- package/storybook-static/assets/{README-8Lm1JpdJ.js → README-C0BwTe5N.js} +1 -1
- package/storybook-static/assets/{README-Y0nGf_0E.js → README-CTIBG4zH.js} +1 -1
- package/storybook-static/assets/{README-zAGDQqES.js → README-CkWglKbS.js} +1 -1
- package/storybook-static/assets/{README-DJlxGqOL.js → README-D-XjRtAE.js} +1 -1
- package/storybook-static/assets/{README-Du53oOl4.js → README-DRnlD7y8.js} +1 -1
- package/storybook-static/assets/{README-D5VR4x0m.js → README-Dki94Nf2.js} +1 -1
- package/storybook-static/assets/{README-DUxV9GhP.js → README-DqQDgJN-.js} +1 -1
- package/storybook-static/assets/{README-Dw1C16bT.js → README-Dx3cpFMr.js} +1 -1
- package/storybook-static/assets/{README-fxPT-NzI.js → README-DzTc6XmY.js} +1 -1
- package/storybook-static/assets/{README-BsxKAG_a.js → README-MzcO5Z_P.js} +1 -1
- package/storybook-static/assets/{RadioButton-D8KuponB.js → RadioButton-DWbkCY8u.js} +1 -1
- package/storybook-static/assets/{RadioButton-BKvo6LIi.js → RadioButton-oSvQ-gQh.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-BabeLrwX.js → RadioButton.stories-GNQ9XJZT.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CsWjbEp2.js → RadioGroup-CvXjGXcV.js} +1 -1
- package/storybook-static/assets/{RadioGroup-jl5PxZpJ.js → RadioGroup-eBYggurL.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-BGoWy9-B.js → RadioGroup.stories-C77j_cPv.js} +1 -1
- package/storybook-static/assets/{Scrollable-CmPEHdW8.js → Scrollable-De6SdhI3.js} +1 -1
- package/storybook-static/assets/{Select-DiN4WVRM.js → Select-Bwc0bEpt.js} +1 -1
- package/storybook-static/assets/{Select-BGM16rM6.js → Select-DQMoVjn4.js} +1 -1
- package/storybook-static/assets/{Select.stories-BEO6vXD_.js → Select.stories-BSIJKJnM.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-B0DuNSqT.js → SerializableSelect-B73irNFR.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-DcI6UQCk.js → SerializableSelect.stories-Z9q6g5v2.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-CwYhFl03.js → SingleDateTimeInput-BHl6srqA.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-C_Itd_An.js → SingleDateTimeInput-Dq9LcjnS.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-kdKdW6al.js → SingleDateTimeInput.stories-C2RuBRAF.js} +1 -1
- package/storybook-static/assets/{Slider-DCEQ39ar.js → Slider-BiyKexKa.js} +1 -1
- package/storybook-static/assets/{Slider-r4NefX-L.js → Slider-CvM0N_kc.js} +1 -1
- package/storybook-static/assets/{Slider.stories-B3M87sif.js → Slider.stories-CdHAMDmY.js} +1 -1
- package/storybook-static/assets/{SliderInput-BmLucI1O.js → SliderInput-Bx_oHUCV.js} +1 -1
- package/storybook-static/assets/{SliderInput-2ThnJzQ4.js → SliderInput-DqHotbhB.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-B64rkErN.js → SliderInput.stories-R5yDhghM.js} +1 -1
- package/storybook-static/assets/{Sortable-Bx0rDd7W.js → Sortable-D7pjTHO0.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-BizbKIHw.js → Sortable.stories-CVLG6pSH.js} +1 -1
- package/storybook-static/assets/{Splitter-DGCB2owx.js → Splitter-B1Du6XI2.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-8Oh14fbm.js → Splitter.stories-D-FRLMCc.js} +1 -1
- package/storybook-static/assets/{StateSelect-BSQUSTgI.js → StateSelect-BJdUEUBc.js} +1 -1
- package/storybook-static/assets/{StateSelect-Dw0Qm14-.js → StateSelect-zl-yZibY.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-C8WPRJNx.js → StateSelect.stories-DgidR5zR.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-K9u9rdE8.js → StringToggle.stories-IucGrtIi.js} +1 -1
- package/storybook-static/assets/{Switch-CtpvrECR.js → Switch-5dCshvVo.js} +1 -1
- package/storybook-static/assets/{Switch-BBuNsdNx.js → Switch-BJrn2lIN.js} +1 -1
- package/storybook-static/assets/{Switch.stories-Bcr4zA7L.js → Switch.stories-Dp_l3_JL.js} +1 -1
- package/storybook-static/assets/{Table-iYeIie6s.js → Table-BFAEcUde.js} +1 -1
- package/storybook-static/assets/{Table.stories-BESdXqZx.js → Table.stories-CohejRQv.js} +1 -1
- package/storybook-static/assets/{Tabs-aqWeCgs4.js → Tabs-CI32QiHf.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-BSnrKg5G.js → Tabs.stories-Cr9d9ipA.js} +1 -1
- package/storybook-static/assets/{TabsBox-CvRq3QA7.js → TabsBox-BlDOUDMF.js} +1 -1
- package/storybook-static/assets/{TagInput-CfKrOpJJ.js → TagInput-YZ7eSv8W.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-CvXZl_qX.js → TagInput.stories-DrOvsiI5.js} +1 -1
- package/storybook-static/assets/{Text-_hP7L82D.js → Text-DK4jN26J.js} +1 -1
- package/storybook-static/assets/{Textarea-C6X20K4X.js → Textarea-CFh5f_lC.js} +1 -1
- package/storybook-static/assets/{Textarea-Ujw8jml9.js → Textarea-DxPuWBZj.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-Bi4BQMxQ.js → Textarea.stories-CUeOGKYc.js} +1 -1
- package/storybook-static/assets/{TimePanel-B3eqkZj8.js → TimePanel-BUhFtwlb.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-BHXkDSMy.js → TimePanel.stories-CpXpMBDN.js} +1 -1
- package/storybook-static/assets/{Toggle-DS-Q4jwI.js → Toggle-BtApzBNH.js} +1 -1
- package/storybook-static/assets/{Toggle-6sjykxYk.js → Toggle-l2AvDbRn.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-BhM1so-Z.js → Toggle.stories-Ca8otmAa.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-BudM77CT.js → TreeMultiSelect-C9QDV63L.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-D2lWYAa2.js → TreeMultiSelect-nXC4ZB5b.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-Bhh1zaAQ.js → TreeMultiSelect.stories-6STRGJbF.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-CJfbJ6Ap.js → TreePickerBase-Cq7fSw3x.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BFD6AKMu.js → TreeSelect-CITef9rp.js} +1 -1
- package/storybook-static/assets/{TreeSelect-B7SG9PV7.js → TreeSelect-rMNyu_KT.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-C-bHnrPH.js → TreeSelect.stories-B-Emz9yW.js} +1 -1
- package/storybook-static/assets/{TreeTable-D-z37qlF.js → TreeTable-CLiP0td3.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-CF_mH9Zz.js → TreeTable.stories-DJb9qt8k.js} +1 -1
- package/storybook-static/assets/{async-D1NpMm55.js → async-SjiCjIjO.js} +1 -1
- package/storybook-static/assets/{blocks-Ddv0ZNIG.js → blocks-DndFRxxW.js} +3 -3
- package/storybook-static/assets/{check-CgNbDbzr.js → check-CLkTJVXe.js} +1 -1
- package/storybook-static/assets/{chevron-down-0EnY_Ds_.js → chevron-down-miCejSEn.js} +1 -1
- package/storybook-static/assets/{chevron-left-D5M5fFYk.js → chevron-left-DhQIPej2.js} +1 -1
- package/storybook-static/assets/{chevron-right-Uz5Iy_m-.js → chevron-right-DfBBx-fr.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-THpLoWLV.js → chunk-W22LQPXL-IdwKKJUw.js} +1 -1
- package/storybook-static/assets/{circle-alert-B6Z--uoZ.js → circle-alert-DOmVf8am.js} +1 -1
- package/storybook-static/assets/{circle-check-DMzkBUqN.js → circle-check-e7eSQ2VD.js} +1 -1
- package/storybook-static/assets/{components-BmKs7c49.js → components-Bm4Cw8Ap.js} +3 -3
- package/storybook-static/assets/{contextMenu-Dct-XhfD.js → contextMenu-DpIKeJju.js} +1 -1
- package/storybook-static/assets/{defaultRenderers-BHXboKuy.js → defaultRenderers-m21aWJXz.js} +1 -1
- package/storybook-static/assets/{download-wey0TOZ0.js → download-eAKjms6q.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-COVT_I6r.js → floating-ui.react-DmilONq6.js} +1 -1
- package/storybook-static/assets/{foundationLib-CRTVZVS8.js → foundationLib-DRrox3tN.js} +1 -1
- package/storybook-static/assets/{hooks-Baxp-XYz.js → hooks-RI5_2AXI.js} +1 -1
- package/storybook-static/assets/iframe-DQo-3eW2.js +1 -0
- package/storybook-static/assets/{iframe-BOu-P2xF.js → iframe-Sr0umHM6.js} +3 -3
- package/storybook-static/assets/{info-gF0pk8a1.js → info-DhJTzwcL.js} +1 -1
- package/storybook-static/assets/{odata-D9Wmxqmj.js → odata-DhISMZkE.js} +1 -1
- package/storybook-static/assets/{odataFetchFn-DfJwHTw8.js → odataFetchFn-Dv6Xi5CI.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-BUio-7WG.js → odataStoryFixtures-lgnWIUp7.js} +1 -1
- package/storybook-static/assets/{persisted-4qmfJLE0.js → persisted-CUFiw53N.js} +1 -1
- package/storybook-static/assets/{react-CN73PS7L.js → react-YFbUKK0m.js} +1 -1
- package/storybook-static/assets/{refresh-cw-BZ2qxodL.js → refresh-cw-C7WnxX9M.js} +1 -1
- package/storybook-static/assets/{settings-2-B33BG8wi.js → settings-2-0NVvyKQl.js} +1 -1
- package/storybook-static/assets/{sortable-CmC4atFR.js → sortable-DDGG-Zfs.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-Di0K55k7.js → syntaxhighlighter-QEQV7K2Y-CxWm8nc8.js} +1 -1
- package/storybook-static/assets/{trash-2-TnhWnKGO.js → trash-2-BnceCuhg.js} +1 -1
- package/storybook-static/assets/{triangle-alert-hZRwHRWu.js → triangle-alert-MPi3GVgt.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-bTXYj3rC.js → useODataSelectBase-hmjK6chS.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-ZcX73Wdh.js → useODataTreeData-CKuavbWc.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-BMGBq6pi.js → usePickerQuery-CtsGhieD.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-CB_TIrYx.js → usePickerTriggerController-EaI8W2G0.js} +1 -1
- package/storybook-static/assets/{x-D86ykZGt.js → x-CqPSvWfo.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/dist/chunks/multi-select-CHZhWoq6.js.map +0 -1
- package/storybook-static/assets/iframe-CDj936Ul.js +0 -1
|
@@ -7,7 +7,7 @@ import { a as s, i as c, n as l, r as u } from "../chunks/modal-Bar-j5a4.js";
|
|
|
7
7
|
import { n as d, t as f } from "../chunks/badge-DUI2ET6q.js";
|
|
8
8
|
import { d as p, f as m } from "../chunks/input-d08WN5FV.js";
|
|
9
9
|
import { t as h } from "../chunks/input-search-BjtTMoRu.js";
|
|
10
|
-
import { n as g } from "../chunks/multi-select-
|
|
10
|
+
import { n as g } from "../chunks/multi-select-DtmRtX6v.js";
|
|
11
11
|
import { t as _ } from "../chunks/table-DcABGh_F.js";
|
|
12
12
|
import { useCallback as v, useMemo as y, useState as b } from "react";
|
|
13
13
|
import { odataQueryFn as x, useODataTableColumns as S } from "@ryuzaki13/react-foundation-api/odata";
|
|
@@ -28,11 +28,11 @@ function o(e) {
|
|
|
28
28
|
return function(t) {
|
|
29
29
|
return {
|
|
30
30
|
text: t[r([t], e.codeKey, e.textKey)] ?? "",
|
|
31
|
-
code: t[e.codeKey] ?? ""
|
|
31
|
+
code: e.hideCode ? void 0 : t[e.codeKey] ?? ""
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
//#endregion
|
|
36
36
|
export { r as i, a as n, n as r, o as t };
|
|
37
37
|
|
|
38
|
-
//# sourceMappingURL=defaultRenderers-
|
|
38
|
+
//# sourceMappingURL=defaultRenderers-u_Vep6Pj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultRenderers-
|
|
1
|
+
{"version":3,"file":"defaultRenderers-u_Vep6Pj.js","names":[],"sources":["../../src/multi-select/ui/defaultRenderers.tsx"],"sourcesContent":["import { formatRussianPlural, type RussianPluralForms } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { type MultiSelectRenderContext } from \"./MultiSelect\";\n\ninterface MultiSelectRendererConfig {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n}\n\nconst ELEMENT_FORMS: RussianPluralForms = {\n\tone: \"элемент\",\n\tfew: \"элемента\",\n\tmany: \"элементов\"\n};\n\nexport function formatOptionCount(count: number) {\n\treturn formatRussianPlural(count, ELEMENT_FORMS);\n}\n\nexport function resolveMultiSelectTextKey(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (textKey) {\n\t\treturn textKey;\n\t}\n\n\tconst sampleItem = items[0];\n\n\tif (!sampleItem) {\n\t\treturn codeKey;\n\t}\n\n\treturn Object.keys(sampleItem).find((key) => key !== codeKey) ?? codeKey;\n}\n\nexport function getDefaultMultiSelectTokenValue(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (items.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (items.length > 1) {\n\t\treturn formatOptionCount(items.length);\n\t}\n\n\tconst resolvedTextKey = resolveMultiSelectTextKey(items, codeKey, textKey);\n\treturn items[0]?.[resolvedTextKey] ?? items[0]?.[codeKey];\n}\n\nexport function createDefaultMultiSelectTokenRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultToken(context: MultiSelectRenderContext) {\n\t\treturn getDefaultMultiSelectTokenValue(context.selectedItems, config.codeKey, config.textKey);\n\t};\n}\n\nexport function createDefaultMultiSelectItemRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultItem(item: CollectionItem /*, state: MultiSelectItemState*/) {\n\t\tconst textKey = resolveMultiSelectTextKey([item], config.codeKey, config.textKey);\n\t\tconst text = item[textKey] ?? \"\";\n\t\tconst code = config.hideCode ? undefined : (item[config.codeKey] ?? \"\");\n\n\t\treturn { text, code };\n\t};\n}\n"],"mappings":";;AAWA,IAAM,IAAoC;CACzC,KAAK;CACL,KAAK;CACL,MAAM;AACP;AAEA,SAAgB,EAAkB,GAAe;CAChD,OAAO,EAAoB,GAAO,CAAa;AAChD;AAEA,SAAgB,EAA0B,GAAyB,GAAiB,GAAkB;CACrG,IAAI,GACH,OAAO;CAGR,IAAM,IAAa,EAAM;CAMzB,OAJK,IAIE,OAAO,KAAK,CAAU,CAAC,CAAC,MAAM,MAAQ,MAAQ,CAAO,KAAK,IAHzD;AAIT;AAEA,SAAgB,EAAgC,GAAyB,GAAiB,GAAkB;CAC3G,IAAI,EAAM,WAAW,GACpB;CAGD,IAAI,EAAM,SAAS,GAClB,OAAO,EAAkB,EAAM,MAAM;CAGtC,IAAM,IAAkB,EAA0B,GAAO,GAAS,CAAO;CACzE,OAAO,EAAM,EAAE,GAAG,MAAoB,EAAM,EAAE,GAAG;AAClD;AAEA,SAAgB,EAAsC,GAAmC;CACxF,OAAO,SAA4B,GAAmC;EACrE,OAAO,EAAgC,EAAQ,eAAe,EAAO,SAAS,EAAO,OAAO;CAC7F;AACD;AAEA,SAAgB,EAAqC,GAAmC;CACvF,OAAO,SAA2B,GAAwD;EAKzF,OAAO;GAAE,MAHI,EADG,EAA0B,CAAC,CAAI,GAAG,EAAO,SAAS,EAAO,OACvD,MAAY;GAGf,MAFF,EAAO,WAAW,KAAA,IAAa,EAAK,EAAO,YAAY;EAEhD;CACrB;AACD"}
|
|
@@ -4,7 +4,7 @@ import { t as n } from "./check-box-CC8CDnSR.js";
|
|
|
4
4
|
import { Option as r, OptionButton as i } from "../option/index.js";
|
|
5
5
|
import { a, f as o, i as s, n as c, r as l, s as u, t as d, u as f, v as p } from "./picker-BcB3rSQt.js";
|
|
6
6
|
import { t as ee } from "./separator-B72Aq-6a.js";
|
|
7
|
-
import { i as te, n as m, t as h } from "./defaultRenderers-
|
|
7
|
+
import { i as te, n as m, t as h } from "./defaultRenderers-u_Vep6Pj.js";
|
|
8
8
|
import { t as g } from "./odata-dependent-C_DCbKY2.js";
|
|
9
9
|
import { n as _, t as v } from "./useODataSelectBase-DR4PrY1j.js";
|
|
10
10
|
import { forwardRef as y, useCallback as ne, useMemo as b, useRef as re, useState as ie } from "react";
|
|
@@ -463,4 +463,4 @@ function N({ label: e, description: t, disabled: n, placeholder: r, size: i, opt
|
|
|
463
463
|
//#endregion
|
|
464
464
|
export { E as a, O as i, A as n, k as r, N as t };
|
|
465
465
|
|
|
466
|
-
//# sourceMappingURL=multi-select-
|
|
466
|
+
//# sourceMappingURL=multi-select-DtmRtX6v.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-select-DtmRtX6v.js","names":[],"sources":["../../src/multi-select/ui/MultiSelect.module.scss","../../src/multi-select/ui/MultiSelectOptionSkeleton.tsx","../../src/multi-select/ui/MultiSelect.tsx","../../src/multi-select/model/useODataMultiSelect.ts","../../src/multi-select/ui/ODataMultiSelect.tsx","../../src/multi-select/ui/ODataDependentSegmentMultiSelect.tsx","../../src/multi-select/ui/ODataDependentMultiSelect.tsx","../../src/multi-select/ui/SerializableMultiSelect.tsx"],"sourcesContent":["@use \"@/styles/mixins\" as *;\n\n.multiSelect {\n\t// Общий контейнер\n\tpadding: 0;\n}\n\n.optionCheckBox {\n\tdisplay: inline-flex;\n\tflex-shrink: 0;\n\n\t--check-box-control-size: auto;\n\tpadding-left: var(--space-sm);\n}\n","import { Text } from \"../../text\";\nimport uiStyles from \"../../ui.module.scss\";\n\ninterface MultiSelectOptionSkeletonProps {\n\ttext: string;\n\tisError?: boolean;\n}\n\n/**\n * Скелетон строки опции для `MultiSelect`. Используется во время загрузки или при отображении ошибок получения списка.\n */\nexport function MultiSelectOptionSkeleton({ text, isError }: MultiSelectOptionSkeletonProps) {\n\treturn (\n\t\t<div className={uiStyles.uiPopupOption}>\n\t\t\t<span className={uiStyles.uiPopupOptionIcon}></span>\n\t\t\t<Text color={isError ? \"error\" : \"primary\"}>{text}</Text>\n\t\t</div>\n\t);\n}\n","import React, { forwardRef, type PropsWithChildren, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { CheckBox } from \"../../check-box\";\nimport { Option, OptionButton } from \"../../option\";\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerStatus,\n\tPickerTrigger,\n\tusePickerDefaultFilter,\n\tusePickerFloatingListbox,\n\tusePickerQuery,\n\tusePickerSelectionLifecycle,\n\tusePickerTriggerController\n} from \"../../picker\";\nimport { Separator } from \"../../separator\";\nimport { type UiBaseProps } from \"../../types\";\n\nimport { createDefaultMultiSelectItemRenderer, createDefaultMultiSelectTokenRenderer, resolveMultiSelectTextKey } from \"./defaultRenderers\";\nimport styles from \"./MultiSelect.module.scss\";\nimport { MultiSelectOptionSkeleton } from \"./MultiSelectOptionSkeleton\";\n\nimport type { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ninterface MultiSelectOptionsProps extends PropsWithChildren {\n\tisNoData?: boolean;\n\t// isLoading?: boolean;\n\terror?: string;\n}\n\nfunction MultiSelectOptionsWrapper({ isNoData, error, children }: MultiSelectOptionsProps) {\n\tif (isNoData) return <PickerStatus emptyState={<MultiSelectOptionSkeleton text=\"Нет данных\" />} />;\n\t// if (isLoading) return <PickerStatus loadingState={<MultiSelectOptionSkeleton text=\"Загрузка...\" />} />;\n\tif (error) return <PickerStatus errorState={<MultiSelectOptionSkeleton isError text=\"Ошибка загрузки\" />} />;\n\n\treturn <>{children}</>;\n}\n\nexport interface MultiSelectItemState {\n\tselected: boolean;\n\tactive: boolean;\n\tdisabled: boolean;\n\tquery: string;\n\thighlightQuery: string;\n}\n\n/**\n * Структурированное содержимое опции множественного выбора. `MultiSelect` владеет\n * интерактивной оболочкой и checkbox-слотом, а renderer отвечает только за данные\n * текстовой части, поэтому единая композиция `OptionButton` сохраняется и для\n * произвольного ReactNode.\n */\nexport interface MultiSelectOptionContent {\n\ttext: string;\n\tcode: string | undefined;\n}\n\nexport interface MultiSelectRenderContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tavailableItems: CollectionItem[];\n\tquery: string;\n\topen: boolean;\n\tclearSelection: () => void;\n\tselectAll: () => void;\n\tdeselectAll: () => void;\n}\n\nexport interface MultiSelectOptionDisableContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tselectedKeys: ReadonlySet<string>;\n\topen: boolean;\n}\n\ntype MultiSelectOptionalRenderer<TContext> = ((context: TContext) => React.ReactNode) | null | false;\n\ninterface MultiSelectRenderers {\n\trenderToken?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderToolbar?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderItem?: (item: CollectionItem, state: MultiSelectItemState) => MultiSelectOptionContent;\n}\n\nexport interface MultiSelectProps<TOption extends Record<string, string> = CollectionItem>\n\textends MultiSelectRenderers, UiBaseProps<TOption[]> {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n\tquery?: string;\n\tdefaultQuery?: string;\n\thighlightQuery?: string;\n\tonQuery?: (value: string) => void;\n\tdefaultFilter?: boolean;\n\titems: TOption[];\n\tgetOptionDisabled?: (item: TOption, context: MultiSelectOptionDisableContext) => boolean;\n\tonOpen?: () => void;\n\tonClose?: (value: TOption[]) => void;\n\terror?: string;\n\tisLoading?: boolean;\n}\n\nconst fallback: CollectionItem[] = [];\n\nfunction getItemKey(item: CollectionItem, codeKey: string) {\n\treturn item[codeKey];\n}\n\nfunction getItemSearchParts(item: CollectionItem, codeKey: string, textKey: string) {\n\treturn Array.from(new Set([item[textKey], item[codeKey], ...Object.values(item)]));\n}\n\nfunction areSelectionsEqual(left: CollectionItem[], right: CollectionItem[], codeKey: string) {\n\tif (left.length !== right.length) {\n\t\treturn false;\n\t}\n\n\tconst rightKeys = new Set(right.map((item) => getItemKey(item, codeKey)));\n\n\treturn left.every((item) => rightKeys.has(getItemKey(item, codeKey)));\n}\n\ninterface MultiSelectOptionEntry {\n\titem: CollectionItem;\n\tindex: number;\n}\n\ninterface MultiSelectOptionGroupProps {\n\tentries: MultiSelectOptionEntry[];\n\tlistId: string;\n\tactiveIndex: number;\n\tselectedKeys: Set<string>;\n\tcodeKey: string;\n\tquery: string;\n\thighlightQuery: string;\n\tgetOptionDisabled?: (item: CollectionItem) => boolean;\n\tgetOptionId: (listId: string, index: number) => string;\n\tsetOptionRef: (index: number, node: HTMLElement | null) => void;\n\ttoggleOption: (item: CollectionItem) => void;\n\tselectOnlyOption: (item: CollectionItem) => void;\n\trenderItem: (item: CollectionItem, state: MultiSelectItemState) => MultiSelectOptionContent;\n}\n\nfunction MultiSelectOptionGroup({\n\tentries,\n\tlistId,\n\tactiveIndex,\n\tselectedKeys,\n\tcodeKey,\n\tquery,\n\thighlightQuery,\n\tgetOptionDisabled,\n\tgetOptionId,\n\tsetOptionRef,\n\ttoggleOption,\n\tselectOnlyOption,\n\trenderItem\n}: MultiSelectOptionGroupProps) {\n\treturn entries.map(({ item, index }) => {\n\t\tconst active = index === activeIndex;\n\t\tconst itemKey = getItemKey(item, codeKey);\n\t\tconst selected = selectedKeys.has(itemKey);\n\t\tconst optionDisabled = getOptionDisabled?.(item) ?? false;\n\t\tconst content = renderItem(item, { selected, active, disabled: optionDisabled, query, highlightQuery });\n\n\t\treturn (\n\t\t\t<Option\n\t\t\t\tkey={`${itemKey}-${index}`}\n\t\t\t\tid={getOptionId(listId, index)}\n\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={selected}\n\t\t\t\taria-disabled={optionDisabled || undefined}\n\t\t\t\tselected={selected}\n\t\t\t\tactive={active}\n\t\t\t\tdisabled={optionDisabled}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={styles.optionCheckBox}\n\t\t\t\t\tonMouseDown={(event) => event.stopPropagation()}\n\t\t\t\t\tonClick={(event) => event.stopPropagation()}>\n\t\t\t\t\t<CheckBox\n\t\t\t\t\t\tvalue={selected}\n\t\t\t\t\t\tdisabled={optionDisabled}\n\t\t\t\t\t\taria-label={`Выбрать ${highlightQuery ?? itemKey}`}\n\t\t\t\t\t\tonChange={() => toggleOption(item)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<OptionButton\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\tdisabled={optionDisabled}\n\t\t\t\t\ttext={content.text}\n\t\t\t\t\tcode={content.code}\n\t\t\t\t\tsearchText={highlightQuery}\n\t\t\t\t\tonMouseDown={(event) => event.preventDefault()}\n\t\t\t\t\tonClick={() => selectOnlyOption(item)}\n\t\t\t\t/>\n\t\t\t</Option>\n\t\t);\n\t});\n}\n\n/**\n * Поле множественного выбора с внутренним черновиком значений и подтверждением выбора при закрытии списка.\n * Подходит как для самостоятельного использования, так и как базовый слой для OData-оберток.\n */\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\tcodeKey,\n\t\t\ttextKey,\n\t\t\thideCode,\n\t\t\titems,\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tplaceholder,\n\t\t\tsize,\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\thighlightQuery,\n\t\t\tonQuery,\n\t\t\tdefaultFilter = true,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tgetOptionDisabled,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\tisLoading,\n\t\t\trenderToken,\n\t\t\trenderToolbar,\n\t\t\trenderItem\n\t\t},\n\t\tref\n\t) => {\n\t\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\t\tconst [open, setOpen] = useState(false);\n\t\tconst triggerMode = \"search-multi\";\n\t\tconst committedSelectedItems = value ?? fallback;\n\t\tconst committedSelectedKeys = useMemo(\n\t\t\t() => new Set(committedSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedItems]\n\t\t);\n\t\tconst availableItems = useMemo(\n\t\t\t() => items.filter((item) => !committedSelectedKeys.has(getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedKeys, items]\n\t\t);\n\t\tconst resolvedTextKey = useMemo(\n\t\t\t() => resolveMultiSelectTextKey([...committedSelectedItems, ...items], codeKey, textKey),\n\t\t\t[codeKey, committedSelectedItems, items, textKey]\n\t\t);\n\t\tconst {\n\t\t\tquery: currentQuery,\n\t\t\tsetQuery,\n\t\t\tresetQueryOnClose\n\t\t} = usePickerQuery({\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\tonQuery,\n\t\t\ttriggerMode\n\t\t});\n\t\tconst handleOpenChange = (nextOpen: boolean) => {\n\t\t\tif (open && !nextOpen && resetQueryOnClose) {\n\t\t\t\tsetQuery(\"\");\n\t\t\t}\n\n\t\t\tsetOpen(nextOpen);\n\t\t};\n\t\tconst filteredCommittedSelectedItems = usePickerDefaultFilter({\n\t\t\toptions: committedSelectedItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst filteredAvailableItems = usePickerDefaultFilter({\n\t\t\toptions: availableItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst visibleOptions = useMemo(\n\t\t\t() => [...filteredCommittedSelectedItems, ...filteredAvailableItems],\n\t\t\t[filteredAvailableItems, filteredCommittedSelectedItems]\n\t\t);\n\t\tconst selectedIndex = filteredCommittedSelectedItems.length > 0 ? 0 : -1;\n\t\tconst {\n\t\t\tdraftValue: draftSelectedItems,\n\t\t\tsetDraftValue: setDraftSelectedItems,\n\t\t\tprepareOpen\n\t\t} = usePickerSelectionLifecycle({\n\t\t\tvalue: committedSelectedItems,\n\t\t\topen,\n\t\t\tonCommit: onChange,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tisEqual: (left, right) => areSelectionsEqual(left, right, codeKey)\n\t\t});\n\t\tconst selectedKeys = useMemo(\n\t\t\t() => new Set(draftSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, draftSelectedItems]\n\t\t);\n\t\tconst optionDisableContext = useMemo<MultiSelectOptionDisableContext>(\n\t\t\t() => ({\n\t\t\t\tselectedItems: draftSelectedItems,\n\t\t\t\tcommittedSelectedItems,\n\t\t\t\tselectedKeys,\n\t\t\t\topen\n\t\t\t}),\n\t\t\t[committedSelectedItems, draftSelectedItems, open, selectedKeys]\n\t\t);\n\t\tconst isOptionDisabled = useCallback(\n\t\t\t(item: CollectionItem) => getOptionDisabled?.(item, optionDisableContext) ?? false,\n\t\t\t[getOptionDisabled, optionDisableContext]\n\t\t);\n\t\tconst {\n\t\t\tactiveIndex,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tgetFloatingProps,\n\t\t\tsetReference,\n\t\t\tsetFloating,\n\t\t\tsetOptionRef,\n\t\t\tclose,\n\t\t\topenList,\n\t\t\ttoggleOpen,\n\t\t\tselectActiveOption,\n\t\t\thandleReferenceKeyDown,\n\t\t\thandleFloatingKeyDown,\n\t\t\tgetOptionId,\n\t\t\tgetActiveOptionId\n\t\t} = usePickerFloatingListbox({\n\t\t\toptions: visibleOptions,\n\t\t\tselectedIndex,\n\t\t\topen,\n\t\t\tonOpenChange: handleOpenChange,\n\t\t\tonSelect: undefined,\n\t\t\tdisabled,\n\t\t\tgetOptionDisabled: isOptionDisabled,\n\t\t\tcloseOnSelect: false,\n\t\t\tallowOpenWithoutOptions: true,\n\t\t\ttriggerMode\n\t\t});\n\n\t\tconst currentHighlightQuery = highlightQuery ?? currentQuery;\n\t\tconst toggleDraftSelection = (item: CollectionItem) => {\n\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst isSelected = currentItems.some((selectedItem) => getItemKey(selectedItem, codeKey) === itemKey);\n\n\t\t\t\tif (isSelected) {\n\t\t\t\t\treturn currentItems.filter((selectedItem) => getItemKey(selectedItem, codeKey) !== itemKey);\n\t\t\t\t}\n\n\t\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\t\treturn currentItems;\n\t\t\t\t}\n\n\t\t\t\treturn [...currentItems, item];\n\t\t\t});\n\t\t};\n\n\t\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\t\tinputRef.current = node;\n\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tref(node);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ref) {\n\t\t\t\tref.current = node;\n\t\t\t}\n\t\t};\n\n\t\tconst clearSelection = () => {\n\t\t\tsetDraftSelectedItems([]);\n\n\t\t\tif (!open) {\n\t\t\t\tonChange([]);\n\t\t\t}\n\t\t};\n\n\t\tconst selectAll = () => {\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst nextItems = [...currentItems];\n\t\t\t\tconst selectedKeys = new Set(currentItems.map((item) => getItemKey(item, codeKey)));\n\n\t\t\t\tfor (const item of visibleOptions) {\n\t\t\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\t\t\tif (!selectedKeys.has(itemKey) && !isOptionDisabled(item)) {\n\t\t\t\t\t\tselectedKeys.add(itemKey);\n\t\t\t\t\t\tnextItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn nextItems;\n\t\t\t});\n\t\t};\n\n\t\tconst deselectAll = () => {\n\t\t\tsetDraftSelectedItems([]);\n\t\t};\n\n\t\tconst selectOnlyOption = (item: CollectionItem) => {\n\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetDraftSelectedItems([item]);\n\t\t\tclose();\n\t\t};\n\n\t\tconst currentSelectedItems = open ? draftSelectedItems : committedSelectedItems;\n\t\tconst hasSelectedItems = currentSelectedItems.length > 0;\n\t\tconst renderContext: MultiSelectRenderContext = {\n\t\t\tselectedItems: currentSelectedItems,\n\t\t\tcommittedSelectedItems,\n\t\t\tavailableItems: filteredAvailableItems,\n\t\t\tquery: currentQuery,\n\t\t\topen,\n\t\t\tclearSelection,\n\t\t\tselectAll,\n\t\t\tdeselectAll\n\t\t};\n\t\tconst tokenRenderer =\n\t\t\trenderToken === undefined ? createDefaultMultiSelectTokenRenderer({ codeKey, textKey: resolvedTextKey }) : renderToken;\n\t\tconst itemRenderer =\n\t\t\trenderItem ??\n\t\t\tcreateDefaultMultiSelectItemRenderer({\n\t\t\t\tcodeKey,\n\t\t\t\ttextKey: resolvedTextKey,\n\t\t\t\thideCode\n\t\t\t});\n\t\tconst tokenNode = typeof tokenRenderer === \"function\" ? tokenRenderer(renderContext) : null;\n\t\tconst toolbarNode = typeof renderToolbar === \"function\" ? renderToolbar(renderContext) : renderToolbar;\n\t\tconst selectedEntries = filteredCommittedSelectedItems.map((item, index) => ({ item, index }));\n\t\tconst itemEntries = filteredAvailableItems.map((item, index) => ({ item, index: index + selectedEntries.length }));\n\t\tconst isNoData = !isLoading && !error && visibleOptions.length === 0;\n\t\tconst triggerController = usePickerTriggerController({\n\t\t\tmode: triggerMode,\n\t\t\topen,\n\t\t\tcurrentQuery,\n\t\t\thasDisplayValue: false,\n\t\t\tinputRef,\n\t\t\tsetQuery,\n\t\t\topenList,\n\t\t\tclose,\n\t\t\ttoggleOpen,\n\t\t\tonBeforeOpen: () => {\n\t\t\t\tif (!open) {\n\t\t\t\t\tprepareOpen();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn (\n\t\t\t<PickerField label={label} description={description} disabled={disabled} size={size} className={styles.multiSelect}>\n\t\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PickerTrigger\n\t\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\toptionCount={items.length}\n\t\t\t\t\t\t\t\tlabel={label}\n\t\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\t\tplaceholderFallback=\"Выберите значения\"\n\t\t\t\t\t\t\t\tvalue={currentQuery}\n\t\t\t\t\t\t\t\tselectedValue={tokenNode}\n\t\t\t\t\t\t\t\thasSelection={hasSelectedItems}\n\t\t\t\t\t\t\t\tshowSelectedValue={hasSelectedItems && currentQuery.length === 0}\n\t\t\t\t\t\t\t\tclearable\n\t\t\t\t\t\t\t\tonClear={clearSelection}\n\t\t\t\t\t\t\t\tclearAriaLabel=\"Очистить все\"\n\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}\n\t\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\trootClassName=\"flex alignItemsCenter\"\n\t\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerInputChange(event.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\tonActivateWhenOpen: () => {\n\t\t\t\t\t\t\t\t\t\t\tif (activeIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst activeItem = visibleOptions[activeIndex];\n\t\t\t\t\t\t\t\t\t\t\t\tif (activeItem) {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleDraftSelection(activeItem);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tselectActiveOption();\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tenableClosedArrowDownOpen: true,\n\t\t\t\t\t\t\t\t\t\tsuppressClosedArrowUp: true\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\t\tactiveOptionId={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\t\tinitialFocus={-1}\n\t\t\t\t\t\t\t\treturnFocus={false}\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\ttoolbar={toolbarNode}\n\t\t\t\t\t\t\t\tselectionActions={\n\t\t\t\t\t\t\t\t\trenderToolbar === undefined ? { onSelectAll: selectAll, onDeselectAll: deselectAll } : undefined\n\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t<MultiSelectOptionsWrapper isNoData={isNoData} error={error}>\n\t\t\t\t\t\t\t\t\t<div className=\"scrollable h100\">\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={selectedEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t{selectedEntries.length > 0 && availableItems.length > 0 && <Separator className=\"marginBlockSm\" />}\n\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={itemEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MultiSelectOptionsWrapper>\n\t\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t</PickerField>\n\t\t);\n\t}\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n","import { ODataCollectionModel, ODataSelectBaseProps } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { mapSelectedItemsToValues, useODataSelectBase } from \"../../select/model/useODataSelectBase\";\n\ninterface UseODataMultiSelectOptions extends Omit<ODataSelectBaseProps, \"model\"> {\n\tmodel: Required<ODataCollectionModel>;\n\tonChange: (keys: string[]) => void;\n}\n\nexport function useODataMultiSelect({ odata, segment, model, value, dependencies, onChange }: UseODataMultiSelectOptions) {\n\tconst odataModel = useODataSelectBase({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue,\n\t\tdependencies\n\t});\n\n\tconst handleChange = (items: CollectionItem[]) => {\n\t\tonChange(mapSelectedItemsToValues(items, odataModel.selectionKey));\n\t};\n\n\treturn {\n\t\t...odataModel,\n\t\thandleChange\n\t};\n}\n","import React from \"react\";\n\nimport { ODataSelectBaseProps, useODataCollectionModel } from \"@ryuzaki13/react-foundation-api/odata\";\n\nimport { UiBaseProps } from \"../../types\";\nimport { useODataMultiSelect } from \"../model/useODataMultiSelect\";\n\nimport { MultiSelect } from \"./MultiSelect\";\n\ntype ODataMultiSelectProps = ODataSelectBaseProps & Omit<UiBaseProps<string[]>, \"placeholder\"> & {};\n\nexport const ODataMultiSelect: React.FC<ODataMultiSelectProps> = ({\n\todata,\n\tsegment,\n\tmodel: initialModel,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tvalue,\n\tdependencies,\n\tonChange,\n\tsize\n}) => {\n\tconst model = useODataCollectionModel(initialModel);\n\tconst odataModel = useODataMultiSelect({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue,\n\t\tdependencies,\n\t\tonChange\n\t});\n\n\treturn (\n\t\t<MultiSelect\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tsize={size}\n\t\t\tcodeKey={odataModel.codeKey}\n\t\t\ttextKey={odataModel.textKey}\n\t\t\thideCode={segment.hideCode ?? odata.hideCode}\n\t\t\titems={odataModel.filteredItems}\n\t\t\tvalue={odataModel.selectedItems}\n\t\t\tonChange={odataModel.handleChange}\n\t\t\tonQuery={odataModel.setQuery}\n\t\t\tquery={odataModel.query}\n\t\t\tdefaultFilter={false}\n\t\t\thighlightQuery={odataModel.debouncedQuery}\n\t\t\tisLoading={odataModel.isLoading}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={odataModel.placeholder}\n\t\t\terror={odataModel.isError ? \"Ошибка загрузки\" : undefined}\n\t\t/>\n\t);\n};\n","import { useCallback } from \"react\";\n\nimport { useODataDependentSelection } from \"../../odata-dependent\";\n\nimport { ODataMultiSelect } from \"./ODataMultiSelect\";\n\nimport type { ODataDependentSegmentControlProps } from \"../../odata-dependent\";\n\nexport type ODataDependentSegmentMultiSelectProps = ODataDependentSegmentControlProps;\n\nexport function ODataDependentSegmentMultiSelect(props: ODataDependentSegmentMultiSelectProps) {\n\tconst { item, disabled, label, description, size, width = 15 } = props;\n\tconst selection = useODataDependentSelection(props);\n\tconst { updateSegment } = selection;\n\tconst widthStyle = `calc(${width}em + var(--width-add))`;\n\n\tconst handleSelectionChange = useCallback(\n\t\t(keys: string[]) => {\n\t\t\tupdateSegment(item.id, keys);\n\t\t},\n\t\t[item.id, updateSegment]\n\t);\n\n\treturn (\n\t\t<div style={{ maxWidth: widthStyle, minWidth: widthStyle }}>\n\t\t\t<ODataMultiSelect\n\t\t\t\todata={item.odata}\n\t\t\t\tsegment={item.segment}\n\t\t\t\tmodel={item.model}\n\t\t\t\tdependencies={selection.values}\n\t\t\t\tvalue={selection.values[item.id]}\n\t\t\t\tonChange={handleSelectionChange}\n\t\t\t\tdisabled={disabled || selection.isSegmentDisabled(item.id)}\n\t\t\t\tlabel={label}\n\t\t\t\tdescription={description}\n\t\t\t\tsize={size}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","import { flattenODataDependentServices, type ODataDependentBaseProps } from \"@ryuzaki13/react-foundation-api/odata\";\n\nimport { useODataDependentSelection } from \"../../odata-dependent\";\n\nimport { ODataDependentSegmentMultiSelect } from \"./ODataDependentSegmentMultiSelect\";\n\nimport type { UseODataDependentSelectionOptions } from \"../../odata-dependent\";\n\nexport type ODataDependentMultiSelectProps = Omit<ODataDependentBaseProps, \"dependencies\" | \"value\"> &\n\tUseODataDependentSelectionOptions & {\n\t\t/**\n\t\t * Ширина одного элемента в `em` единицах.\n\t\t *\n\t\t * @default 15\n\t\t */\n\t\twidth?: number;\n\t};\n\nexport function ODataDependentMultiSelect(props: ODataDependentMultiSelectProps) {\n\tconst { width = 15, odata, segments, model, values, defaultValues, onChange, selectionMode, segmentOrder } = props;\n\tconst selection = useODataDependentSelection({ values, defaultValues, onChange });\n\tconst segmentSelectionProps =\n\t\tselectionMode === \"sequential\" ? { selectionMode: \"sequential\" as const, segmentOrder } : { selectionMode, segmentOrder };\n\tconst items = flattenODataDependentServices([\n\t\t{\n\t\t\todata,\n\t\t\tsegments,\n\t\t\tmodel\n\t\t}\n\t]);\n\n\treturn items.map((item) => (\n\t\t<ODataDependentSegmentMultiSelect\n\t\t\tkey={item.id}\n\t\t\titem={item}\n\t\t\tvalues={selection.values}\n\t\t\tonChange={selection.updateValues}\n\t\t\t{...segmentSelectionProps}\n\t\t\twidth={width}\n\t\t/>\n\t));\n}\n","import { MultiSelect } from \"./MultiSelect\";\n\nimport type { UiBaseProps } from \"../../types\";\nimport type { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ntype SerializableOptionRecord = Record<string, unknown>;\n\ntype SerializableOptionKeyField<TOption extends SerializableOptionRecord> = {\n\t[K in keyof TOption]: Extract<TOption[K], string> extends never ? never : K;\n}[keyof TOption];\n\nexport interface SerializableMultiSelectProps<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n> extends UiBaseProps<Extract<TOption[TOptionKey], string>[]> {\n\toptions: readonly TOption[];\n\toptionKey: TOptionKey;\n\toptionLabel: TOptionLabel;\n\trenderCode?: true;\n}\n\nfunction getSerializableOptionKey<TOption extends SerializableOptionRecord, TOptionKey extends SerializableOptionKeyField<TOption>>(\n\toption: TOption,\n\toptionKey: TOptionKey\n): Extract<TOption[TOptionKey], string> {\n\treturn option[optionKey] as Extract<TOption[TOptionKey], string>;\n}\n\nfunction getSerializableOptionLabel<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>(option: TOption, optionLabel: TOptionLabel, optionKey: TOptionKey): string {\n\tconst label = option[optionLabel];\n\n\tif (typeof label === \"string\") {\n\t\treturn label;\n\t}\n\n\tconst key = getSerializableOptionKey(option, optionKey);\n\treturn typeof key === \"string\" ? key : String(key);\n}\n\nexport function SerializableMultiSelect<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder,\n\tsize,\n\toptions,\n\tvalue,\n\tonChange,\n\toptionKey,\n\toptionLabel,\n\trenderCode\n}: SerializableMultiSelectProps<TOption, TOptionKey, TOptionLabel>) {\n\t// Как будто можно не мемоизировать, нет смысла\n\tconst items = options.map<CollectionItem>((option) => ({\n\t\tkey: String(getSerializableOptionKey(option, optionKey)),\n\t\ttext: getSerializableOptionLabel(option, optionLabel, optionKey)\n\t}));\n\tconst selectedKeys = new Set((value ?? []).map((item) => String(item)));\n\tconst selectedItems = items.filter((item) => selectedKeys.has(item.key));\n\n\treturn (\n\t\t<MultiSelect\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\titems={items}\n\t\t\tcodeKey=\"key\"\n\t\t\ttextKey=\"text\"\n\t\t\thideCode={renderCode ? undefined : true}\n\t\t\tvalue={selectedItems}\n\t\t\tonChange={(nextItems) => onChange(nextItems.map((item) => item.key) as Extract<TOption[TOptionKey], string>[])}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;ACWA,SAAgB,EAA0B,EAAE,SAAM,cAA2C;CAC5F,OACC,kBAAC,OAAD;EAAK,WAAW,EAAS;EAAzB,UAAA,CACC,kBAAC,QAAD,EAAM,WAAW,EAAS,kBAAyB,CAAA,GACnD,kBAAC,GAAD;GAAM,OAAO,IAAU,UAAU;GAAY,UAAA;EAAW,CAAA,CACpD;;AAEP;;;ACYA,SAAS,GAA0B,EAAE,aAAU,UAAO,eAAqC;CAK1F,OAJI,IAAiB,kBAAC,GAAD,EAAc,YAAY,kBAAC,GAAD,EAA2B,MAAK,aAAc,CAAA,EAAI,CAAA,IAE7F,IAAc,kBAAC,GAAD,EAAc,YAAY,kBAAC,GAAD;EAA2B,SAAA;EAAQ,MAAK;CAAmB,CAAA,EAAI,CAAA,IAEpG,kBAAA,IAAA,EAAG,YAAW,CAAA;AACtB;AAiEA,IAAM,KAA6B,CAAC;AAEpC,SAAS,EAAW,GAAsB,GAAiB;CAC1D,OAAO,EAAK;AACb;AAEA,SAAS,EAAmB,GAAsB,GAAiB,GAAiB;CACnF,OAAO,MAAM,qBAAK,IAAI,IAAI;EAAC,EAAK;EAAU,EAAK;EAAU,GAAG,OAAO,OAAO,CAAI;CAAC,CAAC,CAAC;AAClF;AAEA,SAAS,GAAmB,GAAwB,GAAyB,GAAiB;CAC7F,IAAI,EAAK,WAAW,EAAM,QACzB,OAAO;CAGR,IAAM,IAAY,IAAI,IAAI,EAAM,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC;CAExE,OAAO,EAAK,OAAO,MAAS,EAAU,IAAI,EAAW,GAAM,CAAO,CAAC,CAAC;AACrE;AAuBA,SAAS,GAAuB,EAC/B,YACA,WACA,gBACA,iBACA,YACA,UACA,mBACA,sBACA,gBACA,iBACA,iBACA,sBACA,kBAC+B;CAC/B,OAAO,EAAQ,KAAK,EAAE,SAAM,eAAY;EACvC,IAAM,IAAS,MAAU,GACnB,IAAU,EAAW,GAAM,CAAO,GAClC,IAAW,EAAa,IAAI,CAAO,GACnC,IAAiB,IAAoB,CAAI,KAAK,IAC9C,IAAU,GAAW,GAAM;GAAE;GAAU;GAAQ,UAAU;GAAgB;GAAO;EAAe,CAAC;EAEtG,OACC,kBAAC,GAAD;GAEC,IAAI,EAAY,GAAQ,CAAK;GAC7B,MAAM,MAAS,EAAa,GAAO,CAAI;GACvC,MAAK;GACL,iBAAe;GACf,iBAAe,KAAkB,KAAA;GACvB;GACF;GACR,UAAU;GATX,UAAA,CAUC,kBAAC,OAAD;IACC,WAAW,GAAO;IAClB,cAAc,MAAU,EAAM,gBAAgB;IAC9C,UAAU,MAAU,EAAM,gBAAgB;IAC1C,UAAA,kBAAC,GAAD;KACC,OAAO;KACP,UAAU;KACV,cAAY,WAAW,KAAkB;KACzC,gBAAgB,EAAa,CAAI;IACjC,CAAA;GACG,CAAA,GACL,kBAAC,GAAD;IACC,UAAU;IACV,UAAU;IACV,MAAM,EAAQ;IACd,MAAM,EAAQ;IACd,YAAY;IACZ,cAAc,MAAU,EAAM,eAAe;IAC7C,eAAe,GAAiB,CAAI;GACpC,CAAA,CACM;EA7BF,GAAA,GAAG,EAAQ,GAAG,GA6BZ;CAEV,CAAC;AACF;AAMA,IAAa,IAAc,GAEzB,EACC,YACA,YACA,aACA,UACA,UACA,aACA,UACA,gBACA,gBACA,SACA,WACA,kBACA,mBACA,YACA,mBAAgB,IAChB,WACA,YACA,sBACA,aACA,UACA,cACA,iBACA,kBACA,kBAED,MACI;CACJ,IAAM,IAAW,GAAgC,IAAI,GAC/C,CAAC,GAAM,MAAW,GAAS,EAAK,GAChC,IAAc,gBACd,IAAyB,KAAS,IAClC,KAAwB,QACvB,IAAI,IAAI,EAAuB,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC,GAC7E,CAAC,GAAS,CAAsB,CACjC,GACM,KAAiB,QAChB,EAAM,QAAQ,MAAS,CAAC,GAAsB,IAAI,EAAW,GAAM,CAAO,CAAC,CAAC,GAClF;EAAC;EAAS;EAAuB;CAAK,CACvC,GACM,IAAkB,QACjB,GAA0B,CAAC,GAAG,GAAwB,GAAG,CAAK,GAAG,GAAS,CAAO,GACvF;EAAC;EAAS;EAAwB;EAAO;CAAO,CACjD,GACM,EACL,OAAO,GACP,cACA,0BACG,EAAe;EAClB;EACA;EACA;EACA;CACD,CAAC,GACK,MAAoB,MAAsB;EAK/C,AAJI,KAAQ,CAAC,KAAY,MACxB,GAAS,EAAE,GAGZ,GAAQ,CAAQ;CACjB,GACM,IAAiC,EAAuB;EAC7D,SAAS;EACT,OAAO;EACP,SAAS;EACT,gBAAgB,MAAS,EAAmB,GAAM,GAAS,CAAe;CAC3E,CAAC,GACK,IAAyB,EAAuB;EACrD,SAAS;EACT,OAAO;EACP,SAAS;EACT,gBAAgB,MAAS,EAAmB,GAAM,GAAS,CAAe;CAC3E,CAAC,GACK,IAAiB,QAChB,CAAC,GAAG,GAAgC,GAAG,CAAsB,GACnE,CAAC,GAAwB,CAA8B,CACxD,GACM,KAAgB,EAA+B,SAAS,IAAI,IAAI,IAChE,EACL,YAAY,GACZ,eAAe,GACf,oBACG,EAA4B;EAC/B,OAAO;EACP;EACA,UAAU;EACV;EACA;EACA,UAAU,GAAM,MAAU,GAAmB,GAAM,GAAO,CAAO;CAClE,CAAC,GACK,IAAe,QACd,IAAI,IAAI,EAAmB,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC,GACzE,CAAC,GAAS,CAAkB,CAC7B,GACM,KAAuB,SACrB;EACN,eAAe;EACf;EACA;EACA;CACD,IACA;EAAC;EAAwB;EAAoB;EAAM;CAAY,CAChE,GACM,IAAmB,IACvB,MAAyB,IAAoB,GAAM,EAAoB,KAAK,IAC7E,CAAC,GAAmB,EAAoB,CACzC,GACM,EACL,gBACA,aACA,oBACA,sBACA,kBACA,iBACA,kBACA,WACA,cACA,gBACA,wBACA,4BACA,2BACA,iBACA,0BACG,EAAyB;EAC5B,SAAS;EACT;EACA;EACA,cAAc;EACd,UAAU,KAAA;EACV;EACA,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB;CACD,CAAC,GAEK,KAAwB,KAAkB,GAC1C,KAAwB,MAAyB;EACtD,IAAM,IAAU,EAAW,GAAM,CAAO;EAExC,GAAuB,MACH,EAAa,MAAM,MAAiB,EAAW,GAAc,CAAO,MAAM,CAEzF,IACI,EAAa,QAAQ,MAAiB,EAAW,GAAc,CAAO,MAAM,CAAO,IAGvF,EAAiB,CAAI,IACjB,IAGD,CAAC,GAAG,GAAc,CAAI,CAC7B;CACF,GAEM,MAAgB,MAAkC;EAGvD,IAFA,EAAS,UAAU,GAEf,OAAO,KAAQ,YAAY;GAC9B,EAAI,CAAI;GACR;EACD;EAEA,AAAI,MACH,EAAI,UAAU;CAEhB,GAEM,WAAuB;EAG5B,AAFA,EAAsB,CAAC,CAAC,GAEnB,KACJ,EAAS,CAAC,CAAC;CAEb,GAEM,WAAkB;EACvB,GAAuB,MAAiB;GACvC,IAAM,IAAY,CAAC,GAAG,CAAY,GAC5B,IAAe,IAAI,IAAI,EAAa,KAAK,MAAS,EAAW,GAAM,CAAO,CAAC,CAAC;GAElF,KAAK,IAAM,KAAQ,GAAgB;IAClC,IAAM,IAAU,EAAW,GAAM,CAAO;IAExC,AAAI,CAAC,EAAa,IAAI,CAAO,KAAK,CAAC,EAAiB,CAAI,MACvD,EAAa,IAAI,CAAO,GACxB,EAAU,KAAK,CAAI;GAErB;GAEA,OAAO;EACR,CAAC;CACF,GAEM,UAAoB;EACzB,EAAsB,CAAC,CAAC;CACzB,GAEM,MAAoB,MAAyB;EAC9C,EAAiB,CAAI,MAIzB,EAAsB,CAAC,CAAI,CAAC,GAC5B,GAAM;CACP,GAEM,KAAuB,IAAO,IAAqB,GACnD,KAAmB,GAAqB,SAAS,GACjD,KAA0C;EAC/C,eAAe;EACf;EACA,gBAAgB;EAChB,OAAO;EACP;EACA;EACA;EACA;CACD,GACM,KACL,OAAgB,KAAA,IAAY,EAAsC;EAAE;EAAS,SAAS;CAAgB,CAAC,IAAI,IACtG,KACL,MACA,EAAqC;EACpC;EACA,SAAS;EACT;CACD,CAAC,GACI,KAAY,OAAO,MAAkB,aAAa,GAAc,EAAa,IAAI,MACjF,KAAc,OAAO,KAAkB,aAAa,EAAc,EAAa,IAAI,GACnF,IAAkB,EAA+B,KAAK,GAAM,OAAW;EAAE;EAAM;CAAM,EAAE,GACvF,KAAc,EAAuB,KAAK,GAAM,OAAW;EAAE;EAAM,OAAO,IAAQ,EAAgB;CAAO,EAAE,GAC3G,KAAW,CAAC,KAAa,CAAC,KAAS,EAAe,WAAW,GAC7D,IAAoB,EAA2B;EACpD,MAAM;EACN;EACA;EACA,iBAAiB;EACjB;EACA;EACA;EACA;EACA;EACA,oBAAoB;GACnB,AAAK,KACJ,GAAY;EAEd;CACD,CAAC;CAED,OACC,kBAAC,GAAD;EAAoB;EAAoB;EAAuB;EAAgB;EAAM,WAAW,GAAO;EACpG,WAAA,EAAE,cAAW,YAAS,qBAAkB;GACzC,IAAM,IAAS,GAAG,EAAU;GAE5B,OACC,kBAAA,IAAA,EAAA,UAAA,CACC,kBAAC,GAAD;IACC,KAAK;IACL,SAAS;IACT,IAAI;IACJ,MAAK;IACL,MAAK;IACL,cAAa;IACF;IACD;IACJ;IACN,aAAa,EAAM;IACZ;IACM;IACb,qBAAoB;IACpB,OAAO;IACP,eAAe;IACf,cAAc;IACd,mBAAmB,MAAoB,EAAa,WAAW;IAC/D,WAAA;IACA,SAAS;IACT,gBAAe;IACf,mBAAmB,EAAkB;IACrC,eAAe,EAAkB;IACjC,mBAAiB;IACjB,oBAAkB;IAClB,iBAAc;IACd,iBAAe;IACf,iBAAe,IAAO,IAAS,KAAA;IAC/B,qBAAkB;IAClB,yBAAuB,IAAO,GAAkB,CAAM,IAAI,KAAA;IAC1D,eAAc;IACd,WAAW,MAAU;KACpB,EAAkB,yBAAyB,EAAM,OAAO,KAAK;IAC9D;IACA,SAAS,EAAkB;IAC3B,UAAU,MAAU;KACnB,EAAkB,mBAAmB,EAAM,aAAa;IACzD;IACA,YAAY,MAAU;KACrB,GAAuB,CAAK,GAExB,GAAM,oBAIV,EAAkB,qBAAqB;MACtC;MACA,0BAA0B;OACzB,IAAI,KAAe,GAAG;QACrB,IAAM,IAAa,EAAe;QAClC,IAAI,GAAY;SACf,EAAqB,CAAU;SAC/B;QACD;OACD;OAEA,GAAmB;MACpB;MACA,2BAA2B;MAC3B,uBAAuB;KACxB,CAAC;IACF;GACA,CAAA,GAED,kBAAC,GAAD;IACO;IACG;IACO;IACR;IACC;IACT,eAAe;IACf,gBAAgB,IAAO,GAAkB,CAAM,IAAI,KAAA;IACtC;IACK;IAClB,WAAW;IACX,cAAc;IACd,aAAa;IACb,UAAU;IACV,SAAS;IACT,kBACC,MAAkB,KAAA,IAAY;KAAE,aAAa;KAAW,eAAe;IAAY,IAAI,KAAA;IAExF,UAAA,kBAAC,IAAD;KAAqC;KAAiB;KACrD,UAAA,kBAAC,OAAD;MAAK,WAAU;MAAf,UAAA;OACC,kBAAC,IAAD;QACC,SAAS;QACD;QACK;QACC;QACL;QACT,OAAO;QACP,gBAAgB;QAChB,mBAAmB;QACN;QACC;QACd,cAAc;QACI;QAClB,YAAY;OACZ,CAAA;OAEA,EAAgB,SAAS,KAAK,GAAe,SAAS,KAAK,kBAAC,IAAD,EAAW,WAAU,gBAAiB,CAAA;OAElG,kBAAC,IAAD;QACC,SAAS;QACD;QACK;QACC;QACL;QACT,OAAO;QACP,gBAAgB;QAChB,mBAAmB;QACN;QACC;QACd,cAAc;QACI;QAClB,YAAY;OACZ,CAAA;MACG;;IACqB,CAAA;GACf,CAAA,CACZ,EAAA,CAAA;EAEJ;CACY,CAAA;AAEf,CACD;AAEA,EAAY,cAAc;;;ACrkB1B,SAAgB,EAAoB,EAAE,UAAO,YAAS,UAAO,UAAO,iBAAc,eAAwC;CACzH,IAAM,IAAa,EAAmB;EACrC;EACA;EACA;EACA;EACA;CACD,CAAC,GAEK,KAAgB,MAA4B;EACjD,EAAS,EAAyB,GAAO,EAAW,YAAY,CAAC;CAClE;CAEA,OAAO;EACN,GAAG;EACH;CACD;AACD;;;AChBA,IAAa,KAAqD,EACjE,UACA,YACA,OAAO,GACP,UACA,gBACA,aACA,UACA,iBACA,aACA,cACK;CAEL,IAAM,IAAa,EAAoB;EACtC;EACA;EACA,OAJa,GAAwB,CAIrC;EACA;EACA;EACA;CACD,CAAC;CAED,OACC,kBAAC,GAAD;EACQ;EACM;EACP;EACN,SAAS,EAAW;EACpB,SAAS,EAAW;EACpB,UAAU,EAAQ,YAAY,EAAM;EACpC,OAAO,EAAW;EAClB,OAAO,EAAW;EAClB,UAAU,EAAW;EACrB,SAAS,EAAW;EACpB,OAAO,EAAW;EAClB,eAAe;EACf,gBAAgB,EAAW;EAC3B,WAAW,EAAW;EACZ;EACV,aAAa,EAAW;EACxB,OAAO,EAAW,UAAU,oBAAoB,KAAA;CAChD,CAAA;AAEH;;;AC5CA,SAAgB,EAAiC,GAA8C;CAC9F,IAAM,EAAE,SAAM,aAAU,UAAO,gBAAa,SAAM,WAAQ,OAAO,GAC3D,IAAY,EAA2B,CAAK,GAC5C,EAAE,qBAAkB,GACpB,IAAa,QAAQ,EAAM,yBAE3B,IAAwB,IAC5B,MAAmB;EACnB,EAAc,EAAK,IAAI,CAAI;CAC5B,GACA,CAAC,EAAK,IAAI,CAAa,CACxB;CAEA,OACC,kBAAC,OAAD;EAAK,OAAO;GAAE,UAAU;GAAY,UAAU;EAAW;EACxD,UAAA,kBAAC,GAAD;GACC,OAAO,EAAK;GACZ,SAAS,EAAK;GACd,OAAO,EAAK;GACZ,cAAc,EAAU;GACxB,OAAO,EAAU,OAAO,EAAK;GAC7B,UAAU;GACV,UAAU,KAAY,EAAU,kBAAkB,EAAK,EAAE;GAClD;GACM;GACP;EACN,CAAA;CACG,CAAA;AAEP;;;ACrBA,SAAgB,EAA0B,GAAuC;CAChF,IAAM,EAAE,WAAQ,IAAI,UAAO,aAAU,UAAO,WAAQ,kBAAe,aAAU,kBAAe,oBAAiB,GACvG,IAAY,EAA2B;EAAE;EAAQ;EAAe;CAAS,CAAC,GAC1E,IACL,MAAkB,eAAe;EAAE,eAAe;EAAuB;CAAa,IAAI;EAAE;EAAe;CAAa;CASzH,OARc,GAA8B,CAC3C;EACC;EACA;EACA;CACD,CACD,CAEO,CAAA,CAAM,KAAK,MACjB,kBAAC,GAAD;EAEO;EACN,QAAQ,EAAU;EAClB,UAAU,EAAU;EACpB,GAAI;EACG;CACP,GANK,EAAK,EAMV,CACD;AACF;;;ACnBA,SAAS,EACR,GACA,GACuC;CACvC,OAAO,EAAO;AACf;AAEA,SAAS,EAIP,GAAiB,GAA2B,GAA+B;CAC5E,IAAM,IAAQ,EAAO;CAErB,IAAI,OAAO,KAAU,UACpB,OAAO;CAGR,IAAM,IAAM,EAAyB,GAAQ,CAAS;CACtD,OAAO,OAAO,KAAQ,WAAW,IAAM,OAAO,CAAG;AAClD;AAEA,SAAgB,EAId,EACD,UACA,gBACA,aACA,gBACA,SACA,YACA,UACA,aACA,cACA,gBACA,iBACmE;CAEnE,IAAM,IAAQ,EAAQ,KAAqB,OAAY;EACtD,KAAK,OAAO,EAAyB,GAAQ,CAAS,CAAC;EACvD,MAAM,EAA2B,GAAQ,GAAa,CAAS;CAChE,EAAE,GACI,IAAe,IAAI,KAAK,KAAS,CAAC,EAAA,CAAG,KAAK,MAAS,OAAO,CAAI,CAAC,CAAC,GAChE,IAAgB,EAAM,QAAQ,MAAS,EAAa,IAAI,EAAK,GAAG,CAAC;CAEvE,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACG;EACP;EACC;EACP,SAAQ;EACR,SAAQ;EACR,UAAU,MAAa,KAAA;EACvB,OAAO;EACP,WAAW,MAAc,EAAS,EAAU,KAAK,MAAS,EAAK,GAAG,CAA2C;CAC7G,CAAA;AAEH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, r, t as i } from "../chunks/multi-select-
|
|
1
|
+
import { a as e, i as t, n, r, t as i } from "../chunks/multi-select-DtmRtX6v.js";
|
|
2
2
|
export { e as MultiSelect, n as ODataDependentMultiSelect, r as ODataDependentSegmentMultiSelect, t as ODataMultiSelect, i as SerializableMultiSelect };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../src/multi-select/ui/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqF,MAAM,OAAO,CAAC;AAgB1G,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../../src/multi-select/ui/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqF,MAAM,OAAO,CAAC;AAgB1G,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACxC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACzC,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC/C,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,sBAAsB,EAAE,cAAc,EAAE,CAAC;IACzC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,EAAE,OAAO,CAAC;CACd;AAED,KAAK,2BAA2B,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAErG,UAAU,oBAAoB;IAC7B,WAAW,CAAC,EAAE,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;IACpE,aAAa,CAAC,EAAE,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,oBAAoB,KAAK,wBAAwB,CAAC;CAC7F;AAED,MAAM,WAAW,gBAAgB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,cAAc,CACxF,SAAQ,oBAAoB,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,+BAA+B,KAAK,OAAO,CAAC;IACzF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAqGD;;;GAGG;AACH,eAAO,MAAM,WAAW,2GAiYvB,CAAC"}
|
|
@@ -11,7 +11,7 @@ export declare function getDefaultMultiSelectTokenValue(items: CollectionItem[],
|
|
|
11
11
|
export declare function createDefaultMultiSelectTokenRenderer(config: MultiSelectRendererConfig): (context: MultiSelectRenderContext) => string | undefined;
|
|
12
12
|
export declare function createDefaultMultiSelectItemRenderer(config: MultiSelectRendererConfig): (item: CollectionItem) => {
|
|
13
13
|
text: string;
|
|
14
|
-
code: string;
|
|
14
|
+
code: string | undefined;
|
|
15
15
|
};
|
|
16
16
|
export {};
|
|
17
17
|
//# sourceMappingURL=defaultRenderers.d.ts.map
|
|
@@ -2,7 +2,7 @@ import { s as e } from "../chunks/input-d08WN5FV.js";
|
|
|
2
2
|
import { t } from "../chunks/check-box-CC8CDnSR.js";
|
|
3
3
|
import { Option as n, OptionButton as r } from "../option/index.js";
|
|
4
4
|
import { f as i, g as a, i as o, n as s, r as c, s as l, t as u, u as d, v as f } from "../chunks/picker-BcB3rSQt.js";
|
|
5
|
-
import { r as p } from "../chunks/defaultRenderers-
|
|
5
|
+
import { r as p } from "../chunks/defaultRenderers-u_Vep6Pj.js";
|
|
6
6
|
import { useCallback as m, useLayoutEffect as h, useMemo as g, useRef as _, useState as v } from "react";
|
|
7
7
|
import { flattenODataDependentServices as y, sortODataDependentSegmentItemsByChains as b, useODataCollection as x, useODataCollectionChains as S, useODataCollectionModel as C } from "@ryuzaki13/react-foundation-api/odata";
|
|
8
8
|
import { cn as w, findFirstEnabledIndex as T, findLastEnabledIndex as E, findNextEnabledIndex as ee } from "@ryuzaki13/react-foundation-lib/utils";
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-DndFRxxW.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Badge.stories-C9gJRuIO.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:h,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(u,{children:`Badge`}),`
|
|
3
3
|
`,(0,S.jsx)(o,{children:`Компактная текстовая метка для статусов, категорий, фильтров и коротких служебных пометок`}),`
|
|
4
4
|
`,(0,S.jsx)(t.p,{children:`Badge подходит для коротких подписей, которые должны быстро читаться и не перегружать интерфейс:`}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Sr0umHM6.js";import{i,n as a,r as o,t as s}from"./BadgeList-dNEWI7-O.js";var c=t({Appearances:()=>h,Basic:()=>p,RemovableList:()=>_,Sizes:()=>g,Tones:()=>m,__namedExportsOrder:()=>v,default:()=>f}),l,u,d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{l=n(),i(),a(),u=r(),{useArgs:d}=__STORYBOOK_MODULE_PREVIEW_API__,f={title:`Shared/UI/Badge`,component:o,args:{children:`Новый`,size:`md`,tone:`info`,appearance:`solid`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текст внутри бейджа.`,control:`text`},size:{description:`Размер бейджа.`,control:`inline-radio`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон бейджа.`,control:`inline-radio`,options:[`neutral`,`brand`,`success`,`warning`,`error`,`info`]},appearance:{description:`Форма бейджа.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},onRemove:{description:`Показывает кнопку удаления и вызывает обработчик по клику.`,control:!1}}},p={render:function(){let[e]=d();return(0,u.jsx)(o,{...e})}},m={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,u.jsx)(o,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,u.jsx)(o,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,u.jsx)(o,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,u.jsx)(o,{tone:`info`,appearance:`solid`,children:`Информация`})]})},h={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{tone:`neutral`,appearance:`solid`,children:`Solid`}),(0,u.jsx)(o,{tone:`neutral`,appearance:`outline`,children:`Outline`}),(0,u.jsx)(o,{tone:`info`,appearance:`ghost`,children:`Ghost`}),(0,u.jsx)(o,{tone:`warning`,appearance:`transparent`,children:`Transparent`})]})},g={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{size:`xs`,children:`Extra Small`}),(0,u.jsx)(o,{size:`sm`,children:`Small`}),(0,u.jsx)(o,{size:`md`,children:`Medium`}),(0,u.jsx)(o,{size:`lg`,children:`Large`}),(0,u.jsx)(o,{size:`xl`,children:`Extra Large`})]})},_={render:()=>{let[e,t]=(0,l.useState)([`Фильтр A`,`Фильтр B`,`Фильтр C`]);return(0,u.jsx)(s,{children:e.map(e=>(0,u.jsx)(o,{tone:`info`,appearance:`outline`,onRemove:()=>t(t=>t.filter(t=>t!==e)),children:e},e))})}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: function Render() {
|
|
3
3
|
const [args] = useArgs<BadgeStoryArgs>();
|
|
4
4
|
return <Badge {...args} />;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-CqPSvWfo.js";import{n as i}from"./iframe-Sr0umHM6.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{a as s,l as c}from"./array-D-_yMMUK-BQ0uu1hZ.js";import{n as l,t as u}from"./FloatingPopover-CTYV9W7T.js";import{a as d,i as f,r as p,t as m}from"./uiClasses-B9c6dZuu.js";import{n as h,t as g}from"./FlexContainer-BWyPlTMB.js";function _({maxChar:e,placement:t=`left`,closeDelay:n=0,maxWidth:r,children:i,block:a,state:o,textWrap:s,textWrapProps:l}){let d=c(i);if(!d.length||e&&d.length<e)return(0,v.jsx)(`span`,{children:d});let f=s??`div`,p={style:{display:a?`block`:`inline-block`,width:e?`${e-3}ch`:`auto`},className:`textOverflow`},m={...l,...p,style:{...l?.style,...p.style},className:[l?.className,p.className].filter(Boolean).join(` `)};return(0,v.jsx)(u,{state:o,placement:t,openOnHover:!0,content:d,closeDelay:n,maxWidth:r,children:(0,v.jsx)(f,{...m,children:d})})}var v;function y(){return(y=e((()=>{s(),l(),v=i(),_.__docgenInfo={description:``,methods:[],displayName:`TextOverflow`,props:{children:{required:!0,tsType:{name:`string`},description:``},maxChar:{required:!1,tsType:{name:`number`},description:``},maxWidth:{required:!1,tsType:{name:`number`},description:`Максимальная ширина тултипа в em.`},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"left"`,computed:!1}},closeDelay:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},block:{required:!1,tsType:{name:`literal`,value:`true`},description:`Для работы text-overflow элемент обязан быть блочным или inline-block.
|
|
2
2
|
Если в качестве обёртки передается инлайновый компонент, то он будет
|
|
3
3
|
перезаписан через стили на display: block или inline-block в зависимости
|
|
4
4
|
от установки данного пропса.`},state:{required:!1,tsType:{name:`union`,raw:`"information" | "error" | "warning" | "success" | "negative"`,elements:[{name:`literal`,value:`"information"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"negative"`}]},description:``},textWrap:{required:!1,tsType:{name:`T`},description:``},textWrapProps:{required:!1,tsType:{name:`Omit`,elements:[{name:`ComponentProps`,elements:[{name:`T`}],raw:`ComponentProps<T>`},{name:`literal`,value:`"children"`}],raw:`Omit<ComponentProps<T>, "children">`},description:``}}}})))()}var b,x,S,C,w,T,E,D,O,k;function A(){return(A=e((()=>{b=`qBtmnH`,x=`p-HsHY`,S=`u9tQAE`,C=`FRScRz`,w=`W13uQO`,T=`_3IRcM9`,E=`R3ybI7`,D=`DdWAaC`,O=`_5cXBQF`,k={badge:b,passive:x,sizeXs:S,sizeSm:C,sizeMd:w,sizeLg:T,sizeXl:E,content:D,removeButton:O}})))()}function j({children:e,size:t=`sm`,tone:n,appearance:i,className:o,onRemove:s}){let c=n??`neutral`,l=d({tone:n,appearance:i,fallbackTone:c,fallbackAppearance:c===`neutral`?`outline`:`solid`});return(0,M.jsxs)(`div`,{className:a(k.badge,N[t],p(l.tone),m(l.appearance),!s&&k.passive,o),children:[(0,M.jsx)(_,{maxChar:25,placement:`top`,block:!0,textWrapProps:{className:k.content},children:String(e)}),s&&(0,M.jsx)(`button`,{type:`button`,onClick:s,className:k.removeButton,"aria-label":`Удалить бейдж`,"data-ui":`badge-remove-button`,"data-action":`remove-badge`,children:(0,M.jsx)(r,{})})]})}var M,N;function P(){return(P=e((()=>{o(),n(),y(),f(),A(),M=i(),N={xs:k.sizeXs,sm:k.sizeSm,md:k.sizeMd,lg:k.sizeLg,xl:k.sizeXl},j.__docgenInfo={description:`Компактный индикатор для статусов, категорий и коротких служебных меток.`,methods:[],displayName:`Badge`,props:{children:{required:!0,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},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:``,defaultValue:{value:`"sm"`,computed:!1}},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},appearance:{required:!1,tsType:{name:`union`,raw:`"solid" | "outline" | "ghost" | "transparent"`,elements:[{name:`literal`,value:`"solid"`},{name:`literal`,value:`"outline"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"transparent"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},onRemove:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function F({children:e}){return(0,L.jsx)(g,{inline:!0,wrap:!0,gap:`sm`,align:`baseline`,children:I.Children.map(e,(e,t)=>(0,L.jsx)(I.Fragment,{children:e},t))})}var I,L;function R(){return(R=e((()=>{I=t(),h(),L=i(),F.__docgenInfo={description:"Контейнер для группы `Badge`, который выстраивает элементы в единый список с предсказуемыми отступами. Используется для компактного вывода набора меток или фильтров.",methods:[],displayName:`BadgeList`,props:{children:{required:!0,tsType:{name:`Array`,elements:[{name:`ReactElement`,elements:[{name:`union`,raw:`typeof Badge | null | undefined | false`,elements:[{name:`Badge`},{name:`null`},{name:`undefined`},{name:`literal`,value:`false`}]}],raw:`ReactElement<typeof Badge | null | undefined | false>`}],raw:`ReactElement<typeof Badge | null | undefined | false>[]`},description:``}}}})))()}export{P as i,R as n,j as r,F as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-DndFRxxW.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./Button.stories-BaYXOBeF.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:h,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(u,{children:`Button`}),`
|
|
3
3
|
`,(0,x.jsx)(o,{children:`Базовая action-кнопка дизайн-системы для пользовательских действий, подтверждений и быстрых операций`}),`
|
|
4
4
|
`,(0,x.jsxs)(t.p,{children:[(0,x.jsx)(t.code,{children:`Button`}),` используется как универсальная кнопка интерфейса: в формах, тулбарах, модальных окнах, карточках, таблицах и компактных icon-only сценариях.`]}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-
|
|
1
|
+
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Sr0umHM6.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./FloatingPopover-CTYV9W7T.js";import{n as c,t as l}from"./ui.module-Cat84Nza.js";import{a as u,i as d,r as f,t as p}from"./uiClasses-B9c6dZuu.js";var m,h,g,_,v;function y(){return(y=t((()=>{m=`wLOHwj`,h=`lFsM-Y`,g=`LPob63`,_=`tsaGtv`,v={button:m,iconOnly:h,buttonInner:g,buttonIcon:_}})))()}var b,x,S;function C(){return(C=t((()=>{b=e(n(),1),a(),o(),l(),d(),y(),x=r(),S=(0,b.forwardRef)(function({children:e,disabled:t,className:n,icon:r,iconEnd:a,title:o,variant:l,tone:d,appearance:m,type:h=`button`,"aria-label":g,..._},y){let S=b.Children.count(e)>0,C=!!r&&!S,w=u({variant:l,tone:d,appearance:m,fallbackAppearance:d&&d!==`neutral`?`solid`:`outline`}),T=C?g??o:g,E=(0,x.jsx)(`button`,{..._,ref:y,type:h,disabled:t,"aria-label":T,className:i(c.uiElement,c.uiInputControl,v.button,f(w.tone),p(w.appearance),C?v.iconOnly:``,`textNoWrap`,n??``),children:(0,x.jsxs)(`span`,{className:v.buttonInner,children:[r&&!a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r}),S&&(0,x.jsx)(`span`,{className:`flexEllipsis`,children:e}),r&&a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r})]})});return o?(0,x.jsx)(s,{placement:`bottom`,tooltip:!0,content:(0,x.jsx)(x.Fragment,{children:o}),children:E}):E}),S.__docgenInfo={description:'Базовая кнопка дизайн-системы для пользовательских действий.\nПоддерживает состояния, tone + appearance, иконки и безопасный `type="button"` по умолчанию.',methods:[],displayName:`Button`,props:{variant:{required:!1,tsType:{name:`union`,raw:`| "transparent"
|
|
2
2
|
| "ghost"
|
|
3
3
|
| "neutral"
|
|
4
4
|
| "brand"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./check-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./check-CLkTJVXe.js";import{n as i,t as a}from"./download-eAKjms6q.js";import{i as o,n as s,r as c}from"./iframe-Sr0umHM6.js";import{n as l,t as u}from"./Button-CrTHXWYk.js";var d,f;function p(){return(p=e((()=>{o(),d=[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]],f=c(`bell`,d)})))()}var m,h;function g(){return(g=e((()=>{o(),m=[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]],h=c(`plus`,m)})))()}var _=t({Basic:()=>x,ComposableScheme:()=>C,Variants:()=>S,WithIcons:()=>w,__namedExportsOrder:()=>T,default:()=>b}),v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{p(),n(),i(),g(),l(),v=s(),{useArgs:y}=__STORYBOOK_MODULE_PREVIEW_API__,b={title:`Shared/UI/Button`,component:u,args:{children:`Действие`,variant:`neutralOutline`,disabled:!1,iconEnd:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текстовое содержимое кнопки.`,control:`text`},variant:{description:"Готовая схема для обратной совместимости. Если заданы `tone` или `appearance`, они имеют приоритет.",control:`select`,options:[`neutral`,`neutralOutline`,`ghost`,`brand`,`error`,`warning`,`success`,`info`,`brandOutline`,`errorOutline`,`warningOutline`,`successOutline`,`infoOutline`,`transparent`]},tone:{description:`Цветовой тон кнопки.`,control:`inline-radio`,options:[`neutral`,`brand`,`error`,`warning`,`success`,`info`]},appearance:{description:`Визуальная форма кнопки.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},icon:{description:`Иконка слева или справа от текста.`,control:!1},iconEnd:{description:`Перемещает иконку в конец кнопки.`,control:`boolean`},type:{description:"Тип нативной кнопки; по умолчанию безопасный `button`.",control:`select`,options:[`button`,`submit`,`reset`]},disabled:{description:`Блокирует нажатие.`,control:`boolean`}}},x={render:function(){let[e]=y();return(0,v.jsx)(u,{...e})}},S={render:()=>(0,v.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,v.jsx)(u,{variant:`neutral`,children:`Neutral Solid`}),(0,v.jsx)(u,{variant:`neutralOutline`,children:`Neutral Outline`}),(0,v.jsx)(u,{variant:`ghost`,children:`Ghost`}),(0,v.jsx)(u,{variant:`brand`,children:`Brand Solid`}),(0,v.jsx)(u,{variant:`brandOutline`,children:`Brand Outline`}),(0,v.jsx)(u,{variant:`info`,children:`Info Solid`}),(0,v.jsx)(u,{variant:`success`,children:`Success Solid`}),(0,v.jsx)(u,{variant:`warning`,children:`Warning Solid`}),(0,v.jsx)(u,{variant:`error`,children:`Error Solid`}),(0,v.jsx)(u,{variant:`infoOutline`,children:`Info Outline`}),(0,v.jsx)(u,{variant:`successOutline`,children:`Success Outline`}),(0,v.jsx)(u,{variant:`warningOutline`,children:`Warning Outline`}),(0,v.jsx)(u,{variant:`errorOutline`,children:`Error Outline`}),(0,v.jsx)(u,{variant:`transparent`,children:`Transparent`})]}),args:{children:`Действие`}},C={render:()=>(0,v.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,v.jsx)(u,{tone:`neutral`,appearance:`solid`,children:`Neutral Solid`}),(0,v.jsx)(u,{tone:`neutral`,appearance:`outline`,children:`Neutral Outline`}),(0,v.jsx)(u,{tone:`neutral`,appearance:`ghost`,children:`Neutral Ghost`}),(0,v.jsx)(u,{tone:`brand`,appearance:`solid`,children:`Brand Solid`}),(0,v.jsx)(u,{tone:`brand`,appearance:`outline`,children:`Brand Outline`}),(0,v.jsx)(u,{tone:`brand`,appearance:`ghost`,children:`Brand Ghost`}),(0,v.jsx)(u,{tone:`brand`,appearance:`transparent`,children:`Brand Transparent`}),(0,v.jsx)(u,{tone:`info`,appearance:`outline`,children:`Info Outline`}),(0,v.jsx)(u,{tone:`success`,appearance:`solid`,children:`Success Solid`}),(0,v.jsx)(u,{tone:`error`,appearance:`transparent`,children:`Error Transparent`})]})},w={render:()=>(0,v.jsxs)(`div`,{style:{display:`flex`,gap:12,flexWrap:`wrap`},children:[(0,v.jsx)(u,{icon:(0,v.jsx)(a,{}),children:`Скачать`}),(0,v.jsx)(u,{icon:(0,v.jsx)(h,{}),tone:`info`,appearance:`solid`,children:`Создать`}),(0,v.jsx)(u,{icon:(0,v.jsx)(r,{}),iconEnd:!0,tone:`success`,appearance:`solid`,children:`Подтвердить`}),(0,v.jsx)(u,{icon:(0,v.jsx)(f,{}),title:`Уведомления`})]}),args:{children:`Действие`}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: function Render() {
|
|
3
3
|
const [args] = useArgs<ButtonProps>();
|
|
4
4
|
return <Button {...args} />;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-left-D5M5fFYk.js";import{n as i,t as a}from"./chevron-right-Uz5Iy_m-.js";import{i as o,n as s,r as c}from"./iframe-BOu-P2xF.js";import{a as l,i as u}from"./utils-tg3ibbzi.js";import{C as d,b as f,c as p,h as m,m as h,n as g,o as _,w as v,x as y,y as b}from"./formatters-CBgrBeSA-CqB1pZxS.js";import{n as x,t as S}from"./Button-D6MwkfU8.js";var C,w;function T(){return(T=e((()=>{o(),C=[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M8 13h.01`,key:`1sbv64`}],[`path`,{d:`M12 13h.01`,key:`y0uutt`}],[`path`,{d:`M16 13h.01`,key:`wip0gl`}],[`path`,{d:`M8 17h.01`,key:`p3bg7i`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M16 17h.01`,key:`ql8jdd`}]],w=c(`calendar-days`,C)})))()}function ee(e){return e===`month`?`month`:e===`year`?`year`:`day`}function E(e,t){return k.indexOf(e)>=k.indexOf(t)}function te(e,t){let n=ee(e);return E(n,t)?n:t}function D(e,t){return!e||!t?!1:e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()}function ne(e,t,n){if(!e||!t||!n)return!1;let r=Math.min(t.start.getTime(),n.start.getTime()),i=Math.max(t.end.getTime(),n.end.getTime());return e.start.getTime()>=r&&e.end.getTime()<=i}function O({date:e,value:t,hoveredDate:n,selectsRange:r,selectionOptions:i}){let a=g(e,i),o=!r&&t instanceof Date?t:null,s=g(o,i);if(!r||!Array.isArray(t))return{selected:_(e,s),range:!1,rangeStart:!1,rangeEnd:!1};let[c,l]=t,u=g(c,i),d=g(l??(c?n:null),i),f=D(a,u),p=D(a,d);return{selected:!1,range:ne(a,u,d)&&!f&&!p,rangeStart:f,rangeEnd:p}}var k,re,ie;function A(){return(A=e((()=>{b(),k=[`day`,`month`,`year`],re=[`day`,`week`,`month`,`year`],ie=[`friday`,`saturday`,`sunday`]})))()}var ae,oe,se,ce,le,ue,de,fe,j,M,N,P,F,I,L,R,z;function B(){return(B=e((()=>{ae=`Dshr-j`,oe=`esetVt`,se=`i-LJYe`,ce=`XZsnCH`,le=`_2KDjTS`,ue=`o-freG`,de=`GcV08-`,fe=`UCrE-I`,j=`L2V3uq`,M=`Te9oCq`,N=`cUF2pQ`,P=`d1L5uw`,F=`LU0M9Y`,I=`MR3y5p`,L=`VDqDpm`,R=`CLR-7m`,z={dayView:ae,weekdays:oe,weekday:se,daysGrid:ce,week:le,day:ue,disabled:de,outsideMonth:fe,periodSelection:j,periodPreview:M,selected:N,range:P,rangeStart:F,rangeEnd:I,weekend:L,now:R}})))()}var V,H,pe,me,U;function he(){return(he=e((()=>{V=t(),b(),u(),B(),H=s(),pe=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],me=new Intl.DateTimeFormat(`ru-RU`,{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}),U=({now:e,currentDate:t,value:n,onChange:r,minDate:i,maxDate:a,selectsRange:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,f]=(0,V.useState)(null),m={selectionMode:s,weekEndDay:c},v=(()=>{let e=t.getFullYear(),n=t.getMonth(),r=h(e,n,1),i=h(e,n+1,0),a=r.getDay()===0?6:r.getDay()-1,o=42-(a+i.getDate()),s=[],c=h(e,n,0).getDate();for(let t=a;t>0;--t)s.push(h(e,n-1,c-t+1));for(let t=1;t<=i.getDate();t+=1)s.push(h(e,n,t));for(let t=1;t<=o;t+=1)s.push(h(e,n+1,t));let l=[];for(let e=0;e<s.length;e+=7)l.push(s.slice(e,e+7));return l})(),b=o&&Array.isArray(n)?n[0]:null,x=o&&Array.isArray(n)?n[1]:null,S=g(o?null:n,m),C=g(u,m),w=x??(b?C?.end??null:null),T=s===`week`,ee=T&&(!o||!b),E=e=>{if(!o||!b||!w)return!1;let t=d(e).getTime(),n=b.getTime(),r=w.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)},te=e=>!y(g(e,m),{minDate:i,maxDate:a}),D=(e,t)=>{t||(T&&f(e),!(!o||!b||x)&&(T||f(e)))};return(0,H.jsxs)(`div`,{className:z.dayView,children:[(0,H.jsx)(`div`,{className:z.weekdays,children:pe.map(e=>(0,H.jsx)(`div`,{className:z.weekday,children:e},e))}),(0,H.jsx)(`div`,{className:z.daysGrid,onMouseLeave:()=>{(T||!x)&&f(null)},children:v.map((n,i)=>(0,H.jsx)(`div`,{className:z.week,children:n.map((n,a)=>{let o=n.getMonth()===t.getMonth(),c=_(n,S),u=ee&&_(n,C),d=E(n),f=p(n,b),m=p(n,w),h=p(n,e),g=te(n);return(0,H.jsx)(`button`,{type:`button`,onClick:()=>!g&&r(n),onMouseEnter:()=>D(n,g),disabled:g,"data-ui":`calendar-day-button`,"data-action":`select-calendar-day`,className:l(z.day,{[z.outsideMonth]:!o,[z.periodSelection]:s===`week`,[z.periodPreview]:u&&!c,[z.selected]:c,[z.range]:d&&!f&&!m,[z.rangeStart]:f,[z.rangeEnd]:m,[z.disabled]:g,[z.weekend]:a>4,[z.now]:h}),"aria-label":me.format(n),"aria-pressed":c||d||f||m,children:n.getDate()},`${i}-${a}`)})},i))})]})},U.__docgenInfo={description:`Отображает сетку дней месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarDayView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}var ge,_e,ve,ye,be,xe,W,Se,G;function Ce(){return(Ce=e((()=>{ge=`p5pRGW`,_e=`pUHpxD`,ve=`lwWv-z`,ye=`_8gn-3z`,be=`b57d-c`,xe=`nGc5FO`,W=`JLqjri`,Se=`UQMYwg`,G={monthView:ge,monthsGrid:_e,month:ve,disabled:ye,range:be,selected:xe,rangeStart:W,rangeEnd:Se}})))()}var we,K,Te,Ee,q;function De(){return(De=e((()=>{we=t(),b(),u(),A(),Ce(),K=s(),Te=new Intl.DateTimeFormat(`ru-RU`,{month:`short`}),Ee=new Intl.DateTimeFormat(`ru-RU`,{month:`long`,year:`numeric`}),q=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:i,selectsRange:a,selectsPeriod:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,d]=(0,we.useState)(null),f=Array.from({length:12},(e,t)=>t),p=e.getFullYear(),m={selectionMode:s,weekEndDay:c},_=a&&Array.isArray(t)?t[0]:null,v=a&&Array.isArray(t)?t[1]:null,b=e=>Te.format(h(p,e,1)),x=e=>{if(!r&&!i)return!1;let t=h(p,e,1),n=h(p,e+1,0,23,59,59);return o?!y(g(t,m),{minDate:r,maxDate:i}):!!(r&&n<r||i&&t>i)},S=(e,t)=>{!a||!_||v||t||d(e)};return(0,K.jsx)(`div`,{className:G.monthView,children:(0,K.jsx)(`div`,{className:G.monthsGrid,onMouseLeave:()=>{v||d(null)},children:f.map(e=>{let r=x(e),i=h(p,e,1),o=O({date:i,value:t,hoveredDate:u,selectsRange:a,selectionOptions:m});return(0,K.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(i),onMouseEnter:()=>S(i,r),disabled:r,"data-ui":`calendar-month-button`,"data-action":`select-calendar-month`,className:l(G.month,{[G.selected]:o.selected,[G.range]:o.range,[G.rangeStart]:o.rangeStart,[G.rangeEnd]:o.rangeEnd,[G.disabled]:r}),"aria-label":Ee.format(i),"aria-pressed":o.selected||o.range||o.rangeStart||o.rangeEnd,children:b(e)},e)})})})},q.__docgenInfo={description:`Отображает выбор месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarMonthView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}var Oe,ke,J;function Ae(){return(Ae=e((()=>{Oe=`E35KE6`,ke=`L14Qef`,J={calendarView:Oe,calendarHeader:ke}})))()}var je,Me,Ne,Pe,Fe,Ie,Le,Re,Y;function ze(){return(ze=e((()=>{je=`_--xW7O`,Me=`-N-5Jk`,Ne=`hhY92S`,Pe=`IhX7jj`,Fe=`NWNpWj`,Ie=`d1SfcV`,Le=`Gkui4r`,Re=`_0dVZLW`,Y={yearView:je,yearsGrid:Me,year:Ne,disabled:Pe,range:Fe,selected:Ie,rangeStart:Le,rangeEnd:Re}})))()}var Be,X,Z;function Ve(){return(Ve=e((()=>{Be=t(),b(),u(),A(),ze(),X=s(),Z=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:i,selectsRange:a,selectsPeriod:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,d]=(0,Be.useState)(null),f=Math.floor(e.getFullYear()/12)*12,p=Array.from({length:12},(e,t)=>f+t),m={selectionMode:s,weekEndDay:c},_=a&&Array.isArray(t)?t[0]:null,v=a&&Array.isArray(t)?t[1]:null,b=e=>{if(!r&&!i)return!1;let t=h(e,0,1),n=h(e,11,31,23,59,59);return o?!y(g(t,m),{minDate:r,maxDate:i}):!!(r&&n<r||i&&t>i)},x=(e,t)=>{!a||!_||v||t||d(e)};return(0,X.jsx)(`div`,{className:Y.yearView,children:(0,X.jsx)(`div`,{className:Y.yearsGrid,onMouseLeave:()=>{v||d(null)},children:p.map(e=>{let r=b(e),i=h(e,0,1),o=O({date:i,value:t,hoveredDate:u,selectsRange:a,selectionOptions:m});return(0,X.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(i),onMouseEnter:()=>x(i,r),disabled:r,"data-ui":`calendar-year-button`,"data-action":`select-calendar-year`,className:l(Y.year,{[Y.selected]:o.selected,[Y.range]:o.range,[Y.rangeStart]:o.rangeStart,[Y.rangeEnd]:o.rangeEnd,[Y.disabled]:r}),"aria-label":e.toString(),"aria-pressed":o.selected||o.range||o.rangeStart||o.rangeEnd,children:e},e)})})})},Z.__docgenInfo={description:`Отображает выбор года в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarYearView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}function He(e,t){if(t&&f(e)&&e[0]instanceof Date)return e[0];if(!t&&e instanceof Date)return e}function Ue({view:e,datePickerLevel:t,selectionMode:n=`day`,weekEndDay:i=`sunday`,onViewChange:o,...s}){let[c]=(0,Q.useState)(()=>d(new Date)),l=He(s.value,s.selectsRange),u=l?.getTime()??null,[f,p]=(0,Q.useState)(()=>({sourceValueTime:u,currentDate:l??d(new Date)})),h=l&&f.sourceValueTime!==u?l:f.currentDate,_=s.currentDate??h,b={selectionMode:n,weekEndDay:i},x=e=>{let t=typeof e==`function`?e(_):e;s.currentDate===void 0&&p({sourceValueTime:u,currentDate:t}),s.onCurrentDateChange?.(t)},C=()=>{if(e===`day`){x(e=>m(e,-1));return}if(e===`month`){x(e=>v(e,-1));return}x(e=>v(e,-12))},w=()=>{if(e===`day`){x(e=>m(e,1));return}if(e===`month`){x(e=>v(e,1));return}x(e=>v(e,12))};return(0,$.jsxs)(`div`,{className:J.calendarView,children:[(()=>{let t=``;if(e===`day`)t=_.toLocaleDateString(`ru-RU`,{month:`long`,year:`numeric`});else if(e===`month`)t=_.getFullYear().toString();else{let e=Math.floor(_.getFullYear()/12)*12;t=`${e} - ${e+11}`}return(0,$.jsxs)(`div`,{className:J.calendarHeader,children:[(0,$.jsx)(S,{icon:(0,$.jsx)(r,{}),onClick:C,variant:`ghost`,"aria-label":`Предыдущий`,"data-action":`calendar-previous`}),(0,$.jsx)(S,{onClick:()=>{e===`day`?o(`month`):e===`month`&&o(`year`)},variant:`ghost`,className:`flex1`,"data-ui":`calendar-view-switch-button`,"data-action":`calendar-switch-view`,children:t}),(0,$.jsx)(S,{icon:(0,$.jsx)(a,{}),onClick:w,variant:`ghost`,"aria-label":`Следующий`,"data-ui":`calendar-next-button`,"data-action":`calendar-next`})]})})(),(()=>{let r=e=>{let t=g(e,b);if(!(!t||!y(t,{minDate:s.minDate,maxDate:s.maxDate}))){if(s.selectsRange){let e=null,n=null;if(Array.isArray(s.value)&&([e,n]=s.value),!e||n){s.onChange([t.start,null]);return}let r=g(e,b);if(!r)return;if(t.start<r.start){s.onChange([t.start,r.end]);return}s.onChange([r.start,t.end]);return}s.onChange(t.start)}},a=e=>{if(x(e),n===`month`||!E(`day`,t)){r(e);return}o(`day`)},l=e=>{if(x(e),n===`year`||!E(`month`,t)){r(e);return}o(`month`)};switch(e){case`day`:return(0,$.jsx)(U,{now:c,currentDate:_,value:s.value,onChange:r,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectionMode:n,weekEndDay:i});case`month`:return(0,$.jsx)(q,{currentDate:_,value:s.value,onChange:a,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectsPeriod:n===`month`||!E(`day`,t),selectionMode:n,weekEndDay:i});case`year`:return(0,$.jsx)(Z,{currentDate:_,value:s.value,onChange:l,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectsPeriod:n===`year`||!E(`month`,t),selectionMode:n,weekEndDay:i});default:return null}})()]})}var Q,$;function We(){return(We=e((()=>{Q=t(),b(),n(),i(),x(),A(),he(),De(),Ae(),Ve(),$=s(),Ue.__docgenInfo={description:`Отображает календарь выбора даты в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarView`,props:{view:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},datePickerLevel:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},selectionMode:{required:!1,tsType:{name:`CalendarPeriodSelectionMode`},description:``,defaultValue:{value:`"day"`,computed:!1}},weekEndDay:{required:!1,tsType:{name:`CalendarWeekEndDay`},description:``,defaultValue:{value:`"sunday"`,computed:!1}},onViewChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(view: CalendarType) => void`,signature:{arguments:[{type:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},name:`view`}],return:{name:`void`}}},description:``},selectsRange:{required:!1,tsType:{name:`boolean`},description:``},value:{required:!0,tsType:{name:`union`,raw:`Date | NullableDateRange | null`,elements:[{name:`Date`},{name:`NullableDateRange`},{name:`null`}]},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(date: Date | NullableDateRange) => void`,signature:{arguments:[{type:{name:`union`,raw:`Date | NullableDateRange`,elements:[{name:`Date`},{name:`NullableDateRange`}]},name:`date`}],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},currentDate:{required:!1,tsType:{name:`Date`},description:``},onCurrentDateChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(date: Date) => void`,signature:{arguments:[{type:{name:`Date`},name:`date`}],return:{name:`void`}}},description:``}}}})))()}export{A as a,w as c,ie as i,T as l,We as n,E as o,re as r,te as s,Ue as t};
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-left-DhQIPej2.js";import{n as i,t as a}from"./chevron-right-DfBBx-fr.js";import{i as o,n as s,r as c}from"./iframe-Sr0umHM6.js";import{a as l,i as u}from"./utils-tg3ibbzi.js";import{C as d,b as f,c as p,h as m,m as h,n as g,o as _,w as v,x as y,y as b}from"./formatters-CBgrBeSA-CqB1pZxS.js";import{n as x,t as S}from"./Button-CrTHXWYk.js";var C,w;function T(){return(T=e((()=>{o(),C=[[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M8 13h.01`,key:`1sbv64`}],[`path`,{d:`M12 13h.01`,key:`y0uutt`}],[`path`,{d:`M16 13h.01`,key:`wip0gl`}],[`path`,{d:`M8 17h.01`,key:`p3bg7i`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M16 17h.01`,key:`ql8jdd`}]],w=c(`calendar-days`,C)})))()}function ee(e){return e===`month`?`month`:e===`year`?`year`:`day`}function E(e,t){return k.indexOf(e)>=k.indexOf(t)}function te(e,t){let n=ee(e);return E(n,t)?n:t}function D(e,t){return!e||!t?!1:e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()}function ne(e,t,n){if(!e||!t||!n)return!1;let r=Math.min(t.start.getTime(),n.start.getTime()),i=Math.max(t.end.getTime(),n.end.getTime());return e.start.getTime()>=r&&e.end.getTime()<=i}function O({date:e,value:t,hoveredDate:n,selectsRange:r,selectionOptions:i}){let a=g(e,i),o=!r&&t instanceof Date?t:null,s=g(o,i);if(!r||!Array.isArray(t))return{selected:_(e,s),range:!1,rangeStart:!1,rangeEnd:!1};let[c,l]=t,u=g(c,i),d=g(l??(c?n:null),i),f=D(a,u),p=D(a,d);return{selected:!1,range:ne(a,u,d)&&!f&&!p,rangeStart:f,rangeEnd:p}}var k,re,ie;function A(){return(A=e((()=>{b(),k=[`day`,`month`,`year`],re=[`day`,`week`,`month`,`year`],ie=[`friday`,`saturday`,`sunday`]})))()}var ae,oe,se,ce,le,ue,de,fe,j,M,N,P,F,I,L,R,z;function B(){return(B=e((()=>{ae=`Dshr-j`,oe=`esetVt`,se=`i-LJYe`,ce=`XZsnCH`,le=`_2KDjTS`,ue=`o-freG`,de=`GcV08-`,fe=`UCrE-I`,j=`L2V3uq`,M=`Te9oCq`,N=`cUF2pQ`,P=`d1L5uw`,F=`LU0M9Y`,I=`MR3y5p`,L=`VDqDpm`,R=`CLR-7m`,z={dayView:ae,weekdays:oe,weekday:se,daysGrid:ce,week:le,day:ue,disabled:de,outsideMonth:fe,periodSelection:j,periodPreview:M,selected:N,range:P,rangeStart:F,rangeEnd:I,weekend:L,now:R}})))()}var V,H,pe,me,U;function he(){return(he=e((()=>{V=t(),b(),u(),B(),H=s(),pe=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],me=new Intl.DateTimeFormat(`ru-RU`,{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}),U=({now:e,currentDate:t,value:n,onChange:r,minDate:i,maxDate:a,selectsRange:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,f]=(0,V.useState)(null),m={selectionMode:s,weekEndDay:c},v=(()=>{let e=t.getFullYear(),n=t.getMonth(),r=h(e,n,1),i=h(e,n+1,0),a=r.getDay()===0?6:r.getDay()-1,o=42-(a+i.getDate()),s=[],c=h(e,n,0).getDate();for(let t=a;t>0;--t)s.push(h(e,n-1,c-t+1));for(let t=1;t<=i.getDate();t+=1)s.push(h(e,n,t));for(let t=1;t<=o;t+=1)s.push(h(e,n+1,t));let l=[];for(let e=0;e<s.length;e+=7)l.push(s.slice(e,e+7));return l})(),b=o&&Array.isArray(n)?n[0]:null,x=o&&Array.isArray(n)?n[1]:null,S=g(o?null:n,m),C=g(u,m),w=x??(b?C?.end??null:null),T=s===`week`,ee=T&&(!o||!b),E=e=>{if(!o||!b||!w)return!1;let t=d(e).getTime(),n=b.getTime(),r=w.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)},te=e=>!y(g(e,m),{minDate:i,maxDate:a}),D=(e,t)=>{t||(T&&f(e),!(!o||!b||x)&&(T||f(e)))};return(0,H.jsxs)(`div`,{className:z.dayView,children:[(0,H.jsx)(`div`,{className:z.weekdays,children:pe.map(e=>(0,H.jsx)(`div`,{className:z.weekday,children:e},e))}),(0,H.jsx)(`div`,{className:z.daysGrid,onMouseLeave:()=>{(T||!x)&&f(null)},children:v.map((n,i)=>(0,H.jsx)(`div`,{className:z.week,children:n.map((n,a)=>{let o=n.getMonth()===t.getMonth(),c=_(n,S),u=ee&&_(n,C),d=E(n),f=p(n,b),m=p(n,w),h=p(n,e),g=te(n);return(0,H.jsx)(`button`,{type:`button`,onClick:()=>!g&&r(n),onMouseEnter:()=>D(n,g),disabled:g,"data-ui":`calendar-day-button`,"data-action":`select-calendar-day`,className:l(z.day,{[z.outsideMonth]:!o,[z.periodSelection]:s===`week`,[z.periodPreview]:u&&!c,[z.selected]:c,[z.range]:d&&!f&&!m,[z.rangeStart]:f,[z.rangeEnd]:m,[z.disabled]:g,[z.weekend]:a>4,[z.now]:h}),"aria-label":me.format(n),"aria-pressed":c||d||f||m,children:n.getDate()},`${i}-${a}`)})},i))})]})},U.__docgenInfo={description:`Отображает сетку дней месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarDayView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}var ge,_e,ve,ye,be,xe,W,Se,G;function Ce(){return(Ce=e((()=>{ge=`p5pRGW`,_e=`pUHpxD`,ve=`lwWv-z`,ye=`_8gn-3z`,be=`b57d-c`,xe=`nGc5FO`,W=`JLqjri`,Se=`UQMYwg`,G={monthView:ge,monthsGrid:_e,month:ve,disabled:ye,range:be,selected:xe,rangeStart:W,rangeEnd:Se}})))()}var we,K,Te,Ee,q;function De(){return(De=e((()=>{we=t(),b(),u(),A(),Ce(),K=s(),Te=new Intl.DateTimeFormat(`ru-RU`,{month:`short`}),Ee=new Intl.DateTimeFormat(`ru-RU`,{month:`long`,year:`numeric`}),q=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:i,selectsRange:a,selectsPeriod:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,d]=(0,we.useState)(null),f=Array.from({length:12},(e,t)=>t),p=e.getFullYear(),m={selectionMode:s,weekEndDay:c},_=a&&Array.isArray(t)?t[0]:null,v=a&&Array.isArray(t)?t[1]:null,b=e=>Te.format(h(p,e,1)),x=e=>{if(!r&&!i)return!1;let t=h(p,e,1),n=h(p,e+1,0,23,59,59);return o?!y(g(t,m),{minDate:r,maxDate:i}):!!(r&&n<r||i&&t>i)},S=(e,t)=>{!a||!_||v||t||d(e)};return(0,K.jsx)(`div`,{className:G.monthView,children:(0,K.jsx)(`div`,{className:G.monthsGrid,onMouseLeave:()=>{v||d(null)},children:f.map(e=>{let r=x(e),i=h(p,e,1),o=O({date:i,value:t,hoveredDate:u,selectsRange:a,selectionOptions:m});return(0,K.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(i),onMouseEnter:()=>S(i,r),disabled:r,"data-ui":`calendar-month-button`,"data-action":`select-calendar-month`,className:l(G.month,{[G.selected]:o.selected,[G.range]:o.range,[G.rangeStart]:o.rangeStart,[G.rangeEnd]:o.rangeEnd,[G.disabled]:r}),"aria-label":Ee.format(i),"aria-pressed":o.selected||o.range||o.rangeStart||o.rangeEnd,children:b(e)},e)})})})},q.__docgenInfo={description:`Отображает выбор месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarMonthView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}var Oe,ke,J;function Ae(){return(Ae=e((()=>{Oe=`E35KE6`,ke=`L14Qef`,J={calendarView:Oe,calendarHeader:ke}})))()}var je,Me,Ne,Pe,Fe,Ie,Le,Re,Y;function ze(){return(ze=e((()=>{je=`_--xW7O`,Me=`-N-5Jk`,Ne=`hhY92S`,Pe=`IhX7jj`,Fe=`NWNpWj`,Ie=`d1SfcV`,Le=`Gkui4r`,Re=`_0dVZLW`,Y={yearView:je,yearsGrid:Me,year:Ne,disabled:Pe,range:Fe,selected:Ie,rangeStart:Le,rangeEnd:Re}})))()}var Be,X,Z;function Ve(){return(Ve=e((()=>{Be=t(),b(),u(),A(),ze(),X=s(),Z=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:i,selectsRange:a,selectsPeriod:o,selectionMode:s=`day`,weekEndDay:c=`sunday`})=>{let[u,d]=(0,Be.useState)(null),f=Math.floor(e.getFullYear()/12)*12,p=Array.from({length:12},(e,t)=>f+t),m={selectionMode:s,weekEndDay:c},_=a&&Array.isArray(t)?t[0]:null,v=a&&Array.isArray(t)?t[1]:null,b=e=>{if(!r&&!i)return!1;let t=h(e,0,1),n=h(e,11,31,23,59,59);return o?!y(g(t,m),{minDate:r,maxDate:i}):!!(r&&n<r||i&&t>i)},x=(e,t)=>{!a||!_||v||t||d(e)};return(0,X.jsx)(`div`,{className:Y.yearView,children:(0,X.jsx)(`div`,{className:Y.yearsGrid,onMouseLeave:()=>{v||d(null)},children:p.map(e=>{let r=b(e),i=h(e,0,1),o=O({date:i,value:t,hoveredDate:u,selectsRange:a,selectionOptions:m});return(0,X.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(i),onMouseEnter:()=>x(i,r),disabled:r,"data-ui":`calendar-year-button`,"data-action":`select-calendar-year`,className:l(Y.year,{[Y.selected]:o.selected,[Y.range]:o.range,[Y.rangeStart]:o.rangeStart,[Y.rangeEnd]:o.rangeEnd,[Y.disabled]:r}),"aria-label":e.toString(),"aria-pressed":o.selected||o.range||o.rangeStart||o.rangeEnd,children:e},e)})})})},Z.__docgenInfo={description:`Отображает выбор года в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarYearView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})))()}function He(e,t){if(t&&f(e)&&e[0]instanceof Date)return e[0];if(!t&&e instanceof Date)return e}function Ue({view:e,datePickerLevel:t,selectionMode:n=`day`,weekEndDay:i=`sunday`,onViewChange:o,...s}){let[c]=(0,Q.useState)(()=>d(new Date)),l=He(s.value,s.selectsRange),u=l?.getTime()??null,[f,p]=(0,Q.useState)(()=>({sourceValueTime:u,currentDate:l??d(new Date)})),h=l&&f.sourceValueTime!==u?l:f.currentDate,_=s.currentDate??h,b={selectionMode:n,weekEndDay:i},x=e=>{let t=typeof e==`function`?e(_):e;s.currentDate===void 0&&p({sourceValueTime:u,currentDate:t}),s.onCurrentDateChange?.(t)},C=()=>{if(e===`day`){x(e=>m(e,-1));return}if(e===`month`){x(e=>v(e,-1));return}x(e=>v(e,-12))},w=()=>{if(e===`day`){x(e=>m(e,1));return}if(e===`month`){x(e=>v(e,1));return}x(e=>v(e,12))};return(0,$.jsxs)(`div`,{className:J.calendarView,children:[(()=>{let t=``;if(e===`day`)t=_.toLocaleDateString(`ru-RU`,{month:`long`,year:`numeric`});else if(e===`month`)t=_.getFullYear().toString();else{let e=Math.floor(_.getFullYear()/12)*12;t=`${e} - ${e+11}`}return(0,$.jsxs)(`div`,{className:J.calendarHeader,children:[(0,$.jsx)(S,{icon:(0,$.jsx)(r,{}),onClick:C,variant:`ghost`,"aria-label":`Предыдущий`,"data-action":`calendar-previous`}),(0,$.jsx)(S,{onClick:()=>{e===`day`?o(`month`):e===`month`&&o(`year`)},variant:`ghost`,className:`flex1`,"data-ui":`calendar-view-switch-button`,"data-action":`calendar-switch-view`,children:t}),(0,$.jsx)(S,{icon:(0,$.jsx)(a,{}),onClick:w,variant:`ghost`,"aria-label":`Следующий`,"data-ui":`calendar-next-button`,"data-action":`calendar-next`})]})})(),(()=>{let r=e=>{let t=g(e,b);if(!(!t||!y(t,{minDate:s.minDate,maxDate:s.maxDate}))){if(s.selectsRange){let e=null,n=null;if(Array.isArray(s.value)&&([e,n]=s.value),!e||n){s.onChange([t.start,null]);return}let r=g(e,b);if(!r)return;if(t.start<r.start){s.onChange([t.start,r.end]);return}s.onChange([r.start,t.end]);return}s.onChange(t.start)}},a=e=>{if(x(e),n===`month`||!E(`day`,t)){r(e);return}o(`day`)},l=e=>{if(x(e),n===`year`||!E(`month`,t)){r(e);return}o(`month`)};switch(e){case`day`:return(0,$.jsx)(U,{now:c,currentDate:_,value:s.value,onChange:r,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectionMode:n,weekEndDay:i});case`month`:return(0,$.jsx)(q,{currentDate:_,value:s.value,onChange:a,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectsPeriod:n===`month`||!E(`day`,t),selectionMode:n,weekEndDay:i});case`year`:return(0,$.jsx)(Z,{currentDate:_,value:s.value,onChange:l,minDate:s.minDate,maxDate:s.maxDate,selectsRange:s.selectsRange,selectsPeriod:n===`year`||!E(`month`,t),selectionMode:n,weekEndDay:i});default:return null}})()]})}var Q,$;function We(){return(We=e((()=>{Q=t(),b(),n(),i(),x(),A(),he(),De(),Ae(),Ve(),$=s(),Ue.__docgenInfo={description:`Отображает календарь выбора даты в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarView`,props:{view:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},datePickerLevel:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},selectionMode:{required:!1,tsType:{name:`CalendarPeriodSelectionMode`},description:``,defaultValue:{value:`"day"`,computed:!1}},weekEndDay:{required:!1,tsType:{name:`CalendarWeekEndDay`},description:``,defaultValue:{value:`"sunday"`,computed:!1}},onViewChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(view: CalendarType) => void`,signature:{arguments:[{type:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},name:`view`}],return:{name:`void`}}},description:``},selectsRange:{required:!1,tsType:{name:`boolean`},description:``},value:{required:!0,tsType:{name:`union`,raw:`Date | NullableDateRange | null`,elements:[{name:`Date`},{name:`NullableDateRange`},{name:`null`}]},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(date: Date | NullableDateRange) => void`,signature:{arguments:[{type:{name:`union`,raw:`Date | NullableDateRange`,elements:[{name:`Date`},{name:`NullableDateRange`}]},name:`date`}],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},currentDate:{required:!1,tsType:{name:`Date`},description:``},onCurrentDateChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(date: Date) => void`,signature:{arguments:[{type:{name:`Date`},name:`date`}],return:{name:`void`}}},description:``}}}})))()}export{A as a,w as c,ie as i,T as l,We as n,E as o,re as r,te as s,Ue as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./check-
|
|
1
|
+
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./check-CLkTJVXe.js";import{i as a,n as o,r as s}from"./iframe-Sr0umHM6.js";import{a as c,i as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./ui.module-Cat84Nza.js";import{i as f,r as p}from"./uiClasses-B9c6dZuu.js";import{n as m,t as h}from"./CheckBox.module-BOAVN-Ny.js";var g,_;function v(){return(v=t((()=>{a(),g=[[`path`,{d:`M5 12h14`,key:`1ays0h`}]],_=s(`minus`,g)})))()}function y({label:e,description:t,placeholder:n,disabled:r,size:a,className:o,onChange:s,value:l,noWrap:d,id:f,tone:m=`neutral`,indeterminate:g=!1,...v}){let y=(0,b.useId)(),S=f??y,C=t?`${S}-description`:void 0,w=e??n,T=l??!1,E=e=>{e&&(e.indeterminate=g)};return(0,x.jsxs)(`div`,{className:c(u.uiElement,a&&u.uiSizable,a&&u[a],r&&u.disabled,o),"aria-disabled":r||void 0,children:[(0,x.jsxs)(`div`,{className:h.row,children:[(0,x.jsxs)(`div`,{className:c(h.wrapper,p(m)),children:[(0,x.jsx)(`input`,{...v,ref:E,id:S,type:`checkbox`,checked:T,disabled:r,"aria-checked":g?`mixed`:T,"aria-describedby":C,className:c(u.uiSelectionControl,h.input,g&&h.inputIndeterminate),onChange:()=>s?.(!T)}),(0,x.jsx)(`div`,{className:c(u.uiSelectionIcon,h.icon),"aria-hidden":`true`,children:g?(0,x.jsx)(_,{}):(0,x.jsx)(i,{})})]}),w&&(0,x.jsx)(`label`,{htmlFor:S,className:c(u.uiLabelBase,d&&`textNoWrap`),children:w})]}),t&&(0,x.jsx)(`p`,{id:C,className:u.uiDescription,children:t})]})}var b,x;function S(){return(S=t((()=>{b=e(n(),1),l(),r(),v(),d(),f(),m(),x=o(),y.__docgenInfo={description:`Компонент флажка для выбора булевого значения в формах и списках.
|
|
2
2
|
Поддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.`,methods:[],displayName:`CheckBox`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}},noWrap:{required:!1,tsType:{name:`boolean`},description:``},indeterminate:{required:!1,tsType:{name:`boolean`},description:'Показывает частично выбранную группу и публикует `aria-checked="mixed"`.',defaultValue:{value:`false`,computed:!1}}},composes:[`Omit`]}})))()}export{S as n,y as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-DndFRxxW.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./CheckBox.stories-C2BOiWZj.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:v,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(u,{children:`CheckBox`}),`
|
|
3
3
|
`,(0,x.jsx)(o,{children:`Флажок для булевых полей с общими UI-схемами tone и appearance`}),`
|
|
4
4
|
`,(0,x.jsx)(t.p,{children:`CheckBox уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
package/storybook-static/assets/{CheckBox.stories-gV23d8F9.js → CheckBox.stories-C2BOiWZj.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./CheckBox-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./CheckBox-BiK9yWNt.js";import{n as a}from"./iframe-Sr0umHM6.js";import{n as o,t as s}from"./createControlledStoryRender-BouhvX-R.js";var c=t({Controlled:()=>p,Disabled:()=>g,Sizes:()=>h,Tones:()=>m,__namedExportsOrder:()=>_,default:()=>f}),l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{l=n(),o(),r(),u=a(),d=s((e,t)=>(0,u.jsx)(i,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),f={title:`Shared/UI/CheckBox`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст основной подписи чекбокса.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Текст подписи, если `label` не задан.",control:`text`},value:{description:`Текущее состояние чекбокса.`,control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},disabled:{description:`Блокирует взаимодействие с элементом.`,control:`boolean`},size:{description:`Размер визуального контрола и текста.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон чекбокса.`,control:`inline-radio`,options:[`neutral`,`brand`,`error`,`warning`,`success`,`info`]},noWrap:{description:`Не переносит текст подписи на новую строку.`,control:`boolean`},indeterminate:{description:'Показывает частично выбранное состояние с `aria-checked="mixed"`.',control:`boolean`}}},p={render:d,args:{label:`Принимать условия`,description:`Подтверждение условий использования сервиса.`,value:!1,size:`md`,disabled:!1,tone:`neutral`}},m={render:()=>{let[e,t]=(0,l.useState)({neutral:!0,info:!0,success:!0,warning:!0,error:!0});return(0,u.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`neutral`,`info`,`success`,`warning`,`error`].map(n=>(0,u.jsx)(i,{tone:n,label:`Тон ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},h={render:()=>{let[e,t]=(0,l.useState)({xs:!1,sm:!0,md:!1,lg:!0,xl:!1});return(0,u.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(n=>(0,u.jsx)(i,{size:n,label:`Размер ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},g={render:d,args:{label:`Недоступный чекбокс`,description:`Изменение недоступно из-за прав доступа.`,value:!0,disabled:!0,tone:`neutral`}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: renderCheckBoxStory,
|
|
3
3
|
args: {
|
|
4
4
|
label: "Принимать условия",
|