@ryuzaki13/react-foundation-ui 1.8.11 → 1.8.13
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/chunks/defaultRenderers-u_Vep6Pj.js.map +1 -1
- package/dist/chunks/multi-select-DtmRtX6v.js.map +1 -1
- package/dist/chunks/select-MN6zDPKM.js.map +1 -1
- package/dist/chunks/useODataSelectBase-DR4PrY1j.js.map +1 -1
- package/dist/multi-select/model/useODataMultiSelect.d.ts +1 -1
- package/dist/multi-select/model/useODataMultiSelect.d.ts.map +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/SerializableMultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/defaultRenderers.d.ts +1 -1
- package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
- package/dist/select/model/useODataSelect.d.ts +1 -1
- package/dist/select/model/useODataSelect.d.ts.map +1 -1
- package/dist/select/model/useODataSelectBase.d.ts +1 -1
- package/dist/select/model/useODataSelectBase.d.ts.map +1 -1
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-select/model/buildODataTreeNodes.d.ts +1 -1
- package/dist/tree-select/model/buildODataTreeNodes.d.ts.map +1 -1
- package/package.json +3 -3
- package/storybook-static/assets/{Badge-BojMuOws.js → Badge-BFhBl7yM.js} +1 -1
- package/storybook-static/assets/{Badge.stories-C9gJRuIO.js → Badge.stories-BEu55X4s.js} +1 -1
- package/storybook-static/assets/{BadgeList-dNEWI7-O.js → BadgeList-mqmnGtRR.js} +1 -1
- package/storybook-static/assets/{Button-Bbt3JzIY.js → Button-CESdnWrO.js} +1 -1
- package/storybook-static/assets/{Button-CrTHXWYk.js → Button-_YPAu9sd.js} +1 -1
- package/storybook-static/assets/{Button.stories-BaYXOBeF.js → Button.stories-B0Y_T17B.js} +1 -1
- package/storybook-static/assets/{CalendarView-Dp0zus1o.js → CalendarView-DLuO2Ywz.js} +1 -1
- package/storybook-static/assets/{CheckBox-BiK9yWNt.js → CheckBox-CGiNmAPT.js} +1 -1
- package/storybook-static/assets/{CheckBox-UzYHaD6S.js → CheckBox-l0pbBm9z.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-C2BOiWZj.js → CheckBox.stories-ROPAnqh8.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-C5S4wUlD.js → Color-6AOWCN3U-kPaRN0HS.js} +1 -1
- package/storybook-static/assets/{ContextMenu-D9EZxb7d.js → ContextMenu-Bob4DtRn.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BWQln_tb.js → ContextMenu-DxfUAeJS.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-U38zPh9_.js → ContextMenu.stories-DCJmWy5n.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-COIOrxQn.js → CustomOptionButton-DuEz9CXt.js} +1 -1
- package/storybook-static/assets/DateInput-BQ8SoeLE.js +1 -0
- package/storybook-static/assets/{DateInput-C-entb-r.js → DateInput-DmNLD4Dz.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-NmUXQLDU.js → DateInput.stories-sTpYf7Ob.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BM1L1KOo.js → DateRangePresetSelect-DRq4eJ2n.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CAJzxaq0.js → DateRangePresetSelect-fgJfLaLO.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-CC47XLnD.js → DateRangePresetSelect.stories-ib7Qh_BB.js} +1 -1
- package/storybook-static/assets/{Detail-CDluXtts.js → Detail-CJniLn1R.js} +1 -1
- package/storybook-static/assets/{Detail.stories-DjniLC4n.js → Detail.stories-BXjdNaL-.js} +1 -1
- package/storybook-static/assets/{Dialog-bzRSgGU7.js → Dialog-D6a_qzr3.js} +1 -1
- package/storybook-static/assets/{Dialog-bw6cHUsz.js → Dialog-DOYnnXlU.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-C6Rs6s_p.js → Dialog.stories-B1cZLRK3.js} +1 -1
- package/storybook-static/assets/{Disclosure-DelA6FsQ.js → Disclosure-Chh5o_0s.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-D7yUinyb.js → Disclosure.stories-Cvdvf7V8.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-DbK7mU_Q.js → DisclosureGroup-CRnQOgVj.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-v3z0zVN1.js → DocsRenderer-JROSPFPF-BBiErkeC.js} +1 -1
- package/storybook-static/assets/{DropZone-CI3NW4AC.js → DropZone-Bm5gqdi9.js} +1 -1
- package/storybook-static/assets/{DropZone-Cyy-ttEO.js → DropZone-C4L7JAlq.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-S0HSpGTB.js → DropZone.stories-BhA9q8Qv.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-Ct1bSZsE.js → DropdownMenu-DtZNSUHF.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-Oj3xlasj.js → ExpandableActionPanel-0ugXlJy_.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-Ch7CLkpR.js → ExpandableActionPanel.stories-CLgMlA9k.js} +1 -1
- package/storybook-static/assets/{Flex-UiFm8Tkc.js → Flex-CJlia-8f.js} +1 -1
- package/storybook-static/assets/{Flex.stories-CaDiVlBD.js → Flex.stories-DCvfi1EY.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-CTYV9W7T.js → FloatingPopover-CsnfPiwV.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-D-ysSR3p.js → FormattedTableCell-Dz5xWVYO.js} +1 -1
- package/storybook-static/assets/{Grid-CigBXPe2.js → Grid-C-KwTRAM.js} +1 -1
- package/storybook-static/assets/{Grid.stories-ay3z9DQZ.js → Grid.stories-CzbqknNR.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-Dkce_ugb.js → ImageCropper.stories-DaE-gm-b.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-C9_EmGBW.js → ImageRenderer-IsNCXCrZ.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-C7bXaNBI.js → ImageRenderer.stories-BbsjUEfJ.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-D-ZzGlk8.js → ImageView.stories-DY0UITYz.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-ItcRfxyy.js → ImageViewer.stories--9q9b9nv.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-eaupID36.js → ImageViewerRuntime-CNEH3XGN.js} +1 -1
- package/storybook-static/assets/{Input-op4j7Beh.js → Input-DLubbE7P.js} +1 -1
- package/storybook-static/assets/{Input-BUDNR96c.js → Input-Dw2JblYt.js} +1 -1
- package/storybook-static/assets/{Input.stories-DwulvJIg.js → Input.stories-DQeyDULG.js} +1 -1
- package/storybook-static/assets/{InputDateTime-B_cxOp6k.js → InputDateTime-BRzl8Vrt.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-BueLF4HC.js → InputDateTime.stories-BJTj5v8J.js} +1 -1
- package/storybook-static/assets/{InputFile-DSg7sugm.js → InputFile-B8UroZji.js} +1 -1
- package/storybook-static/assets/{InputFile-C8z6TPc1.js → InputFile-DPftxjGw.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-C6XSbIua.js → InputFile.stories-C7yyqHqc.js} +1 -1
- package/storybook-static/assets/{InputFiles-DoatLq3q.js → InputFiles-BQVXHVLy.js} +1 -1
- package/storybook-static/assets/{InputFiles-DeZ84Uu_.js → InputFiles-UD_9S7-N.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-BMbE8SJU.js → InputFiles.stories-DjjJS5pZ.js} +1 -1
- package/storybook-static/assets/{InputFilesList-CsfDDqaJ.js → InputFilesList-BNjijD3Y.js} +1 -1
- package/storybook-static/assets/{InputImage-yJSq98EH.js → InputImage-C-pHr-Sx.js} +1 -1
- package/storybook-static/assets/{InputImage-D_YnB2Tw.js → InputImage-DbcbqIhY.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-nivUG307.js → InputImage.stories-D-TC9r9t.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-IPkC_Rkg.js → InteractiveComponents-DbhWgM9y.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-D4VzVKZJ.js → InteractiveComponents.stories-B4mkVSea.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-ZHkMi-LM.js → LayoutPicker-BoV_E3qt.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-aMzPN5Do.js → LayoutPicker-w1EsRpYP.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-DAzpzxn5.js → LayoutPicker.stories--ChGnGxf.js} +1 -1
- package/storybook-static/assets/{Listbox-CR5nXC9J.js → Listbox-CzZRsr6a.js} +1 -1
- package/storybook-static/assets/{Listbox-BmfQOnrb.js → Listbox-qZdTi11b.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-CeOpsKxB.js → Listbox.stories-C9k_1850.js} +1 -1
- package/storybook-static/assets/{Modal-BStp52Zo.js → Modal-DCpul8QM.js} +1 -1
- package/storybook-static/assets/{Modal.stories-CwGm5GYE.js → Modal.stories-Cy0Xd4LF.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-B5uUXWF9.js → ModalManagerProvider-BrPVMcHV.js} +1 -1
- package/storybook-static/assets/{MultiSelect-308npb27.js → MultiSelect-BEQdl-F4.js} +1 -1
- package/storybook-static/assets/{MultiSelect-BDs02MZh.js → MultiSelect-Dy4X94E2.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-DRi_iTp4.js → MultiSelect.stories-FuzejJmz.js} +1 -1
- package/storybook-static/assets/{NoData-ovaQEE9W.js → NoData-BsQ9EfkA.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-BpeMWhLY.js → NotificationsHost-BSrODvw7.js} +1 -1
- package/storybook-static/assets/NotificationsHost.stories-DeiWspcY.js +29 -0
- package/storybook-static/assets/{ODataMultiSelect-qlft9L9L.js → ODataMultiSelect-BEz9gcd2.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-CMPIoPiy.js → ODataMultiSelect.stories-BwMgAkbE.js} +2 -2
- package/storybook-static/assets/{ODataSelect-DKBQArAK.js → ODataSelect-BgC7GHOv.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-DxYIhtwe.js → ODataSelect.stories-DEIRAB-s.js} +2 -2
- package/storybook-static/assets/{ODataTreeMultiSelect-DAt6THP3.js → ODataTreeMultiSelect-WyZZuX0_.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CBNJP0mP.js → ODataTreeMultiSelect.stories-B6cxuagy.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-Bzzt4CQC.js → ODataTreeSelect-OJGi3-S7.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-CWVvuqOt.js → ODataTreeSelect.stories-wGRGErCH.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-BY5lz8qi.js → OneStepScroller-DycQ3RuL.js} +1 -1
- package/storybook-static/assets/{Option-Rw8xwrPg.js → Option-taxbFfjo.js} +1 -1
- package/storybook-static/assets/{OptionButton-Br48w_Zg.js → OptionButton-Q0QaPCII.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-8-wpXz6w.js → PeriodSelect-DUJ2nF3F.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-DxSRwKw-.js → PeriodSelect-DnM7x-uC.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-B-qgUzlS.js → PeriodSelect.stories-Db0bqe3J.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-C5xmysFh.js → PickerTriggerActions-CGJd7xmR.js} +1 -1
- package/storybook-static/assets/{Popover-NJwt_vZZ.js → Popover-B6oidz5p.js} +1 -1
- package/storybook-static/assets/{Popover-Ds8PUigp.js → Popover-Tbhf8T81.js} +1 -1
- package/storybook-static/assets/{Popover.stories-CUOFA_Xf.js → Popover.stories-DE1LxZvv.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DyOpbkON.js → PresetRangeDateInput-CQ5FfmrL.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-Xk0bOy3S.js → PresetRangeDateInput-DfgoR0My.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-CwjUlXj0.js → PresetRangeDateInput.stories-CgoYAYBG.js} +1 -1
- package/storybook-static/assets/{PresetSelect-Ddmr0niY.js → PresetSelect-BPtAknAr.js} +1 -1
- package/storybook-static/assets/README--TpGcM95.js +110 -0
- package/storybook-static/assets/{README-MzcO5Z_P.js → README-4iBHWAP5.js} +1 -1
- package/storybook-static/assets/README-98KIgy5G.js +75 -0
- package/storybook-static/assets/README-B6II8p0W.js +154 -0
- package/storybook-static/assets/{README-CkWglKbS.js → README-B6vU5_7I.js} +1 -1
- package/storybook-static/assets/README-BFJVjjZR.js +325 -0
- package/storybook-static/assets/README-BIT4HlFP.js +441 -0
- package/storybook-static/assets/{README-DqQDgJN-.js → README-BK6Epio1.js} +1 -1
- package/storybook-static/assets/{README-DRnlD7y8.js → README-BRlPB5_k.js} +1 -1
- package/storybook-static/assets/README-BTFpEaXG.js +64 -0
- package/storybook-static/assets/README-BWhXgC_o.js +226 -0
- package/storybook-static/assets/README-BbNHvOoR.js +101 -0
- package/storybook-static/assets/README-BbunUo8b.js +118 -0
- package/storybook-static/assets/README-BmYpfZKr.js +1844 -0
- package/storybook-static/assets/README-Bu5uvhAT.js +230 -0
- package/storybook-static/assets/README-Bx6fvSBE.js +1282 -0
- package/storybook-static/assets/README-Bx6gIGiA.js +69 -0
- package/storybook-static/assets/README-ByhxsX44.js +324 -0
- package/storybook-static/assets/README-Byi1FFpw.js +98 -0
- package/storybook-static/assets/README-C3Is3a3B.js +208 -0
- package/storybook-static/assets/{README-C0BwTe5N.js → README-C6prwAXw.js} +1 -1
- package/storybook-static/assets/{README-BzVni2ve.js → README-C9S83J_G.js} +1 -1
- package/storybook-static/assets/{README-BHw6MVjD.js → README-CGgxP5Zo.js} +1 -1
- package/storybook-static/assets/README-CJ2ZVG2U.js +2124 -0
- package/storybook-static/assets/README-CNGCAm5d.js +95 -0
- package/storybook-static/assets/README-Cb_q420B.js +90 -0
- package/storybook-static/assets/README-CtIDPNJ3.js +186 -0
- package/storybook-static/assets/README-CzO3Dchr.js +64 -0
- package/storybook-static/assets/README-D0rzQthv.js +264 -0
- package/storybook-static/assets/README-DEQu7djz.js +1704 -0
- package/storybook-static/assets/README-DFihT_sm.js +296 -0
- package/storybook-static/assets/{README-CTIBG4zH.js → README-DMiWsyv_.js} +1 -1
- package/storybook-static/assets/README-DOx8lXXk.js +82 -0
- package/storybook-static/assets/{README-DzTc6XmY.js → README-DPhDjr43.js} +1 -1
- package/storybook-static/assets/{README-Dki94Nf2.js → README-D_NqWPa9.js} +1 -1
- package/storybook-static/assets/README-DhJ5Rb1w.js +355 -0
- package/storybook-static/assets/README-DlwhWCvQ.js +1146 -0
- package/storybook-static/assets/README-Dxi73a2Q.js +740 -0
- package/storybook-static/assets/README-Dycov6NP.js +583 -0
- package/storybook-static/assets/README-GTBkSG4_.js +3591 -0
- package/storybook-static/assets/README-Gfd9tLTw.js +672 -0
- package/storybook-static/assets/{README-B4zYJg6u.js → README-Kfawetke.js} +1 -1
- package/storybook-static/assets/{README-BzVHwvgo.js → README-UDBM7ZMT.js} +1 -1
- package/storybook-static/assets/{README-D-XjRtAE.js → README-VTWQxLm_.js} +1 -1
- package/storybook-static/assets/README-YHNWrTZv.js +400 -0
- package/storybook-static/assets/README-_0Otw0eD.js +448 -0
- package/storybook-static/assets/README-aw2Xu9xu.js +158 -0
- package/storybook-static/assets/README-eg1emlll.js +192 -0
- package/storybook-static/assets/README-iqQHdhZ4.js +416 -0
- package/storybook-static/assets/{README-BdPlV5nA.js → README-llxZAtCj.js} +1 -1
- package/storybook-static/assets/README-wFnEIGl4.js +95 -0
- package/storybook-static/assets/{README-Dx3cpFMr.js → README-webB1yH0.js} +1 -1
- package/storybook-static/assets/README-wtreGRCe.js +208 -0
- package/storybook-static/assets/{RadioButton-DWbkCY8u.js → RadioButton-CNOLDk_o.js} +1 -1
- package/storybook-static/assets/{RadioButton-oSvQ-gQh.js → RadioButton-Ce05_q7s.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-GNQ9XJZT.js → RadioButton.stories-CPd4lTl0.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CvXjGXcV.js → RadioGroup-BtfD5Szd.js} +1 -1
- package/storybook-static/assets/{RadioGroup-eBYggurL.js → RadioGroup-Ccm7G-dv.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-C77j_cPv.js → RadioGroup.stories-D-RRPHwi.js} +1 -1
- package/storybook-static/assets/{Scrollable-De6SdhI3.js → Scrollable-DvdBIeig.js} +1 -1
- package/storybook-static/assets/{Select-DQMoVjn4.js → Select-8PV9PBKF.js} +1 -1
- package/storybook-static/assets/{Select-Bwc0bEpt.js → Select-G04B41FM.js} +1 -1
- package/storybook-static/assets/{Select.stories-BSIJKJnM.js → Select.stories-Cf6CBhV8.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-B73irNFR.js → SerializableSelect-CdQdHIVp.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-Z9q6g5v2.js → SerializableSelect.stories-0AKUGpbS.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-Dq9LcjnS.js → SingleDateTimeInput-DWT1ORhL.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BHl6srqA.js → SingleDateTimeInput-DattLt6w.js} +1 -1
- package/storybook-static/assets/SingleDateTimeInput.stories-BLJV3jzV.js +48 -0
- package/storybook-static/assets/{Slider-CvM0N_kc.js → Slider-DKEI4cDd.js} +1 -1
- package/storybook-static/assets/{Slider-BiyKexKa.js → Slider-Dci-mJt_.js} +1 -1
- package/storybook-static/assets/{Slider.stories-CdHAMDmY.js → Slider.stories-Dp7oQueF.js} +1 -1
- package/storybook-static/assets/{SliderInput-DqHotbhB.js → SliderInput-BGPQmlgY.js} +1 -1
- package/storybook-static/assets/{SliderInput-Bx_oHUCV.js → SliderInput-BhjqGOKt.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-R5yDhghM.js → SliderInput.stories-DXNhRU3X.js} +1 -1
- package/storybook-static/assets/{Sortable-D7pjTHO0.js → Sortable-CMd9l1Gd.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-CVLG6pSH.js → Sortable.stories-BN1cFEFJ.js} +1 -1
- package/storybook-static/assets/{Splitter-B1Du6XI2.js → Splitter-GL65TlI9.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-D-FRLMCc.js → Splitter.stories-q5PlI6rB.js} +1 -1
- package/storybook-static/assets/{StateSelect-zl-yZibY.js → StateSelect-Byik5-iZ.js} +1 -1
- package/storybook-static/assets/{StateSelect-BJdUEUBc.js → StateSelect-CT0JF2V6.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-DgidR5zR.js → StateSelect.stories-pPEPmgnN.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-IucGrtIi.js → StringToggle.stories-BQlFmCE7.js} +1 -1
- package/storybook-static/assets/{Switch-BJrn2lIN.js → Switch--xGPiYk-.js} +1 -1
- package/storybook-static/assets/{Switch-5dCshvVo.js → Switch-DhaLI9CG.js} +1 -1
- package/storybook-static/assets/{Switch.stories-Dp_l3_JL.js → Switch.stories-5DisgIyj.js} +1 -1
- package/storybook-static/assets/{Table-BFAEcUde.js → Table-Bf6MicdG.js} +1 -1
- package/storybook-static/assets/{Table.stories-CohejRQv.js → Table.stories-CS7rQgj9.js} +2 -2
- package/storybook-static/assets/{Tabs-CI32QiHf.js → Tabs-B4y4y8Ap.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-Cr9d9ipA.js → Tabs.stories-C0SpdGkh.js} +1 -1
- package/storybook-static/assets/{TabsBox-BlDOUDMF.js → TabsBox-C5LLLhnj.js} +1 -1
- package/storybook-static/assets/{TagInput-YZ7eSv8W.js → TagInput-D4BpuCoH.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-DrOvsiI5.js → TagInput.stories-rn2wtZP_.js} +1 -1
- package/storybook-static/assets/{Text-DK4jN26J.js → Text-BhBt9e7C.js} +1 -1
- package/storybook-static/assets/{Textarea-CFh5f_lC.js → Textarea-B-Hz7ujq.js} +1 -1
- package/storybook-static/assets/{Textarea-DxPuWBZj.js → Textarea-BHHxY5sd.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-CUeOGKYc.js → Textarea.stories-CZ2kWz20.js} +1 -1
- package/storybook-static/assets/{TimePanel-BUhFtwlb.js → TimePanel-Cg8fgFsn.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-CpXpMBDN.js → TimePanel.stories-BxdwtK2e.js} +1 -1
- package/storybook-static/assets/{Toggle-l2AvDbRn.js → Toggle-BWwfk9fi.js} +1 -1
- package/storybook-static/assets/{Toggle-BtApzBNH.js → Toggle-Ce9rbjBc.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-Ca8otmAa.js → Toggle.stories-0fzcmzKy.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-C9QDV63L.js → TreeMultiSelect-B06Y0lIc.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-nXC4ZB5b.js → TreeMultiSelect-CrAdR_jM.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-6STRGJbF.js → TreeMultiSelect.stories-CAVoj56E.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-Cq7fSw3x.js → TreePickerBase-qU2xPlar.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CITef9rp.js → TreeSelect-BIHydJFy.js} +1 -1
- package/storybook-static/assets/{TreeSelect-rMNyu_KT.js → TreeSelect-BKnWu0C7.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-B-Emz9yW.js → TreeSelect.stories-Dp_8ybAf.js} +1 -1
- package/storybook-static/assets/{TreeTable-CLiP0td3.js → TreeTable-pVXjU9dG.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-DJb9qt8k.js → TreeTable.stories-CV_8Ui6R.js} +2 -2
- package/storybook-static/assets/{blocks-DndFRxxW.js → blocks-BY40djCc.js} +3 -3
- package/storybook-static/assets/{check-CLkTJVXe.js → check-CVkPTDzp.js} +1 -1
- package/storybook-static/assets/{chevron-down-miCejSEn.js → chevron-down-BtNO4Vhe.js} +1 -1
- package/storybook-static/assets/{chevron-left-DhQIPej2.js → chevron-left-kceSK3sZ.js} +1 -1
- package/storybook-static/assets/{chevron-right-DfBBx-fr.js → chevron-right-BA_LO2El.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-IdwKKJUw.js → chunk-W22LQPXL-yJiFPv6e.js} +1 -1
- package/storybook-static/assets/{circle-alert-DOmVf8am.js → circle-alert-B2m4a1zz.js} +1 -1
- package/storybook-static/assets/{circle-check-e7eSQ2VD.js → circle-check-Cfjhotlm.js} +1 -1
- package/storybook-static/assets/{components-Bm4Cw8Ap.js → components-D6yV8PLX.js} +3 -3
- package/storybook-static/assets/{contextMenu-DpIKeJju.js → contextMenu-B0pQBIW0.js} +1 -1
- package/storybook-static/assets/{defaultRenderers-m21aWJXz.js → defaultRenderers-DfmnIuod.js} +1 -1
- package/storybook-static/assets/{download-eAKjms6q.js → download-Lba8elK9.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-DmilONq6.js → floating-ui.react-BFNvfMpU.js} +1 -1
- package/storybook-static/assets/formatters-D33Uh3si-CxrG0jsB.js +1 -0
- package/storybook-static/assets/foundationApi-DZhnQ2cC.js +59 -0
- package/storybook-static/assets/foundationLib-CoVTo22U.js +30 -0
- package/storybook-static/assets/{hooks-RI5_2AXI.js → hooks-Cc6eXN6U.js} +1 -1
- package/storybook-static/assets/iframe-BXM-JBuH.js +1 -0
- package/storybook-static/assets/{iframe-Sr0umHM6.js → iframe-o7sH2IXC.js} +4 -4
- package/storybook-static/assets/{info-DhJTzwcL.js → info-BpsVP_dM.js} +1 -1
- package/storybook-static/assets/odata-CXsbxsRY.js +1 -0
- package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +3 -0
- package/storybook-static/assets/{odataStoryFixtures-lgnWIUp7.js → odataStoryFixtures-Dj_bzRqh.js} +1 -1
- package/storybook-static/assets/{react-YFbUKK0m.js → react-DeJ0JTHb.js} +1 -1
- package/storybook-static/assets/{refresh-cw-C7WnxX9M.js → refresh-cw-BvGyjEXe.js} +1 -1
- package/storybook-static/assets/{settings-2-0NVvyKQl.js → settings-2-BdXxnHos.js} +1 -1
- package/storybook-static/assets/{sortable-DDGG-Zfs.js → sortable-XkyN-9r5.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-CxWm8nc8.js → syntaxhighlighter-QEQV7K2Y-Cafn3LV1.js} +1 -1
- package/storybook-static/assets/{trash-2-BnceCuhg.js → trash-2-uPH9-fND.js} +1 -1
- package/storybook-static/assets/{triangle-alert-MPi3GVgt.js → triangle-alert-tT01vSMw.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-hmjK6chS.js → useODataSelectBase-B2LlOwPZ.js} +1 -1
- package/storybook-static/assets/useODataTreeData-CU7Rqcb9.js +1 -0
- package/storybook-static/assets/{usePickerQuery-CtsGhieD.js → usePickerQuery-D8GHQ6KR.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-EaI8W2G0.js → usePickerTriggerController-CcK1jmDy.js} +1 -1
- package/storybook-static/assets/{x-CqPSvWfo.js → x-BlAURbAH.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/assets/DateInput-05Iy69_a.js +0 -1
- package/storybook-static/assets/NotificationsHost.stories-CgbFboVD.js +0 -29
- package/storybook-static/assets/SingleDateTimeInput.stories-C2RuBRAF.js +0 -48
- package/storybook-static/assets/async-SjiCjIjO.js +0 -625
- package/storybook-static/assets/formatters-CBgrBeSA-CqB1pZxS.js +0 -1
- package/storybook-static/assets/foundationLib-DRrox3tN.js +0 -25
- package/storybook-static/assets/iframe-DQo-3eW2.js +0 -1
- package/storybook-static/assets/odata-DhISMZkE.js +0 -1
- package/storybook-static/assets/odata-service-B6TxBSLm-Bq8Ya67E.js +0 -3
- package/storybook-static/assets/odataFetchFn-Dv6Xi5CI.js +0 -763
- package/storybook-static/assets/persisted-CUFiw53N.js +0 -600
- package/storybook-static/assets/useODataTreeData-CKuavbWc.js +0 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-o7sH2IXC.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BY40djCc.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Interaction/Context Menu State`}),`
|
|
2
|
+
`,(0,c.jsxs)(t.h1,{id:`состояние-и-anchors-контекстного-меню-через-ryuzaki13react-foundation-libcontext-menu`,children:[`Состояние и anchors контекстного меню через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/context-menu`})]}),`
|
|
3
|
+
`,(0,c.jsx)(t.p,{children:`Модуль описывает открытое/закрытое состояние контекстного меню, источник открытия и два вида anchor: DOM element или экранная точка. Также он создаёт virtual anchor для Floating UI.`}),`
|
|
4
|
+
`,(0,c.jsx)(t.p,{children:`Модуль не содержит React hook и не рисует меню.`}),`
|
|
5
|
+
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
6
|
+
`,(0,c.jsxs)(t.ul,{children:[`
|
|
7
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
|
|
8
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
|
|
9
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85`,children:`Модель данных`})}),`
|
|
10
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%BE%D1%87%D0%BA%D0%B8`,children:`Получение точки`})}),`
|
|
11
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#createvirtualanchor`,children:(0,c.jsx)(t.code,{children:`createVirtualAnchor`})})}),`
|
|
12
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#state-helpers`,children:`State helpers`})}),`
|
|
13
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#react-reducer-recipe`,children:`React reducer recipe`})}),`
|
|
14
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#floating-ui-recipe`,children:`Floating UI recipe`})}),`
|
|
15
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%8C`,children:`Доступность`})}),`
|
|
16
|
+
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9-api-%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8`,children:`Полный API и ошибки`})}),`
|
|
17
|
+
`]}),`
|
|
18
|
+
`,(0,c.jsx)(t.h2,{id:`назначение-и-границы`,children:`Назначение и границы`}),`
|
|
19
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-text`,children:`click/contextmenu/keyboard
|
|
20
|
+
│
|
|
21
|
+
├─ element anchor
|
|
22
|
+
└─ point {x,y}
|
|
23
|
+
│
|
|
24
|
+
▼
|
|
25
|
+
MenuState
|
|
26
|
+
│
|
|
27
|
+
▼
|
|
28
|
+
host React/Floating UI/menu component
|
|
29
|
+
`})}),`
|
|
30
|
+
`,(0,c.jsx)(t.p,{children:`Модуль:`}),`
|
|
31
|
+
`,(0,c.jsxs)(t.ul,{children:[`
|
|
32
|
+
`,(0,c.jsx)(t.li,{children:`не добавляет event listeners;`}),`
|
|
33
|
+
`,(0,c.jsxs)(t.li,{children:[`не вызывает `,(0,c.jsx)(t.code,{children:`preventDefault`}),`;`]}),`
|
|
34
|
+
`,(0,c.jsx)(t.li,{children:`не хранит global state;`}),`
|
|
35
|
+
`,(0,c.jsx)(t.li,{children:`не позиционирует floating element;`}),`
|
|
36
|
+
`,(0,c.jsx)(t.li,{children:`не закрывает меню по Escape/outside click;`}),`
|
|
37
|
+
`,(0,c.jsx)(t.li,{children:`не управляет focus/ARIA;`}),`
|
|
38
|
+
`,(0,c.jsx)(t.li,{children:`не клонирует DOM elements.`}),`
|
|
39
|
+
`]}),`
|
|
40
|
+
`,(0,c.jsxs)(t.p,{children:[`Готовый visual primitive находится в `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/context-menu`}),`.`]}),`
|
|
41
|
+
`,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
|
|
42
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
|
|
43
|
+
closeMenu,
|
|
44
|
+
createVirtualAnchor,
|
|
45
|
+
getMenuPointFromEvent,
|
|
46
|
+
getMenuPointFromRect,
|
|
47
|
+
initialMenuState,
|
|
48
|
+
openMenu,
|
|
49
|
+
toggleMenu
|
|
50
|
+
} from "@ryuzaki13/react-foundation-lib/context-menu";
|
|
51
|
+
|
|
52
|
+
import type {
|
|
53
|
+
ElementMenuAnchor,
|
|
54
|
+
MenuAnchor,
|
|
55
|
+
MenuOpenSource,
|
|
56
|
+
MenuPoint,
|
|
57
|
+
MenuState,
|
|
58
|
+
OpenMenuPayload,
|
|
59
|
+
PointMenuAnchor
|
|
60
|
+
} from "@ryuzaki13/react-foundation-lib/context-menu";
|
|
61
|
+
`})}),`
|
|
62
|
+
`,(0,c.jsxs)(t.p,{children:[`Functions pure, но types/anchors используют DOM `,(0,c.jsx)(t.code,{children:`Element`}),`/`,(0,c.jsx)(t.code,{children:`HTMLElement`}),`. Публичный subpath не импортирует Floating UI runtime.`]}),`
|
|
63
|
+
`,(0,c.jsx)(t.h2,{id:`модель-данных`,children:`Модель данных`}),`
|
|
64
|
+
`,(0,c.jsx)(t.h3,{id:`point`,children:`Point`}),`
|
|
65
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`interface MenuPoint {
|
|
66
|
+
x: number;
|
|
67
|
+
y: number;
|
|
68
|
+
}
|
|
69
|
+
`})}),`
|
|
70
|
+
`,(0,c.jsx)(t.p,{children:`Координаты соответствуют viewport/client coordinates, а не page scroll coordinates.`}),`
|
|
71
|
+
`,(0,c.jsx)(t.h3,{id:`источник-открытия`,children:`Источник открытия`}),`
|
|
72
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type MenuOpenSource = "click" | "contextmenu" | "keyboard" | "programmatic";
|
|
73
|
+
`})}),`
|
|
74
|
+
`,(0,c.jsx)(t.p,{children:`Source помогает UI выбирать focus/animation/recovery, но helpers сами не меняют поведение по source.`}),`
|
|
75
|
+
`,(0,c.jsx)(t.h3,{id:`anchors`,children:`Anchors`}),`
|
|
76
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type ElementMenuAnchor = {
|
|
77
|
+
type: "element";
|
|
78
|
+
element: HTMLElement;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
type PointMenuAnchor = {
|
|
82
|
+
type: "point";
|
|
83
|
+
point: MenuPoint;
|
|
84
|
+
contextElement?: Element | null;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
type MenuAnchor = ElementMenuAnchor | PointMenuAnchor;
|
|
88
|
+
`})}),`
|
|
89
|
+
`,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`contextElement`}),` помогает Floating UI определить document/layout context для virtual element.`]}),`
|
|
90
|
+
`,(0,c.jsx)(t.h3,{id:`state`,children:`State`}),`
|
|
91
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`interface MenuState {
|
|
92
|
+
open: boolean;
|
|
93
|
+
source: MenuOpenSource | null;
|
|
94
|
+
anchor: MenuAnchor | null;
|
|
95
|
+
}
|
|
96
|
+
`})}),`
|
|
97
|
+
`,(0,c.jsx)(t.p,{children:`Нормальное закрытое состояние:`}),`
|
|
98
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`{
|
|
99
|
+
open: false,
|
|
100
|
+
source: null,
|
|
101
|
+
anchor: null
|
|
102
|
+
}
|
|
103
|
+
`})}),`
|
|
104
|
+
`,(0,c.jsx)(t.h2,{id:`получение-точки`,children:`Получение точки`}),`
|
|
105
|
+
`,(0,c.jsx)(t.h3,{id:`getmenupointfromevent`,children:(0,c.jsx)(t.code,{children:`getMenuPointFromEvent`})}),`
|
|
106
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`function onContextMenu(event: React.MouseEvent<HTMLElement>) {
|
|
107
|
+
event.preventDefault();
|
|
108
|
+
|
|
109
|
+
const point = getMenuPointFromEvent(event);
|
|
110
|
+
// { x: event.clientX, y: event.clientY }.
|
|
111
|
+
}
|
|
112
|
+
`})}),`
|
|
113
|
+
`,(0,c.jsxs)(t.p,{children:[`Функции нужен только structural object с `,(0,c.jsx)(t.code,{children:`clientX`}),`/`,(0,c.jsx)(t.code,{children:`clientY`}),`, поэтому подходят native и React mouse events.`]}),`
|
|
114
|
+
`,(0,c.jsxs)(t.p,{children:[`Она не вызывает `,(0,c.jsx)(t.code,{children:`preventDefault`}),` и не проверяет finite coordinates.`]}),`
|
|
115
|
+
`,(0,c.jsx)(t.h3,{id:`getmenupointfromrect`,children:(0,c.jsx)(t.code,{children:`getMenuPointFromRect`})}),`
|
|
116
|
+
`,(0,c.jsx)(t.p,{children:`Возвращает геометрический центр rect:`}),`
|
|
117
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const point = getMenuPointFromRect({
|
|
118
|
+
left: 10,
|
|
119
|
+
top: 20,
|
|
120
|
+
width: 80,
|
|
121
|
+
height: 40
|
|
122
|
+
});
|
|
123
|
+
// { x: 50, y: 40 }.
|
|
124
|
+
`})}),`
|
|
125
|
+
`,(0,c.jsxs)(t.p,{children:[`Подходит для keyboard opening от центра `,(0,c.jsx)(t.code,{children:`element.getBoundingClientRect()`}),`:`]}),`
|
|
126
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const point = getMenuPointFromRect(button.getBoundingClientRect());
|
|
127
|
+
`})}),`
|
|
128
|
+
`,(0,c.jsx)(t.h2,{id:`createvirtualanchor`,children:(0,c.jsx)(t.code,{children:`createVirtualAnchor`})}),`
|
|
129
|
+
`,(0,c.jsxs)(t.p,{children:[`Создаёт object с `,(0,c.jsx)(t.code,{children:`getBoundingClientRect`}),`, представляющий точку нулевого размера:`]}),`
|
|
130
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const virtualAnchor = createVirtualAnchor({ x: 120, y: 240 }, triggerElement);
|
|
131
|
+
`})}),`
|
|
132
|
+
`,(0,c.jsx)(t.p,{children:`Возвращаемый rect:`}),`
|
|
133
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`{
|
|
134
|
+
x: 120,
|
|
135
|
+
y: 240,
|
|
136
|
+
top: 240,
|
|
137
|
+
left: 120,
|
|
138
|
+
bottom: 240,
|
|
139
|
+
right: 120,
|
|
140
|
+
width: 0,
|
|
141
|
+
height: 0,
|
|
142
|
+
toJSON: () => undefined
|
|
143
|
+
}
|
|
144
|
+
`})}),`
|
|
145
|
+
`,(0,c.jsxs)(t.p,{children:[`Если `,(0,c.jsx)(t.code,{children:`contextElement`}),` равен `,(0,c.jsx)(t.code,{children:`null`}),`/`,(0,c.jsx)(t.code,{children:`undefined`}),`, в результате поле становится `,(0,c.jsx)(t.code,{children:`undefined`}),`.`]}),`
|
|
146
|
+
`,(0,c.jsxs)(t.p,{children:[`Point object читается при каждом `,(0,c.jsx)(t.code,{children:`getBoundingClientRect`}),`. Не мутируйте его; создайте новый anchor при изменении координат.`]}),`
|
|
147
|
+
`,(0,c.jsx)(t.h2,{id:`state-helpers`,children:`State helpers`}),`
|
|
148
|
+
`,(0,c.jsx)(t.h3,{id:`initialmenustate`,children:(0,c.jsx)(t.code,{children:`initialMenuState`})}),`
|
|
149
|
+
`,(0,c.jsx)(t.p,{children:`Экспортируется один module-level object. Рассматривайте его как readonly-константу и не мутируйте:`}),`
|
|
150
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const [state, setState] = useState<MenuState>(initialMenuState);
|
|
151
|
+
`})}),`
|
|
152
|
+
`,(0,c.jsx)(t.h3,{id:`openmenu`,children:(0,c.jsx)(t.code,{children:`openMenu`})}),`
|
|
153
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const state = openMenu({
|
|
154
|
+
source: "contextmenu",
|
|
155
|
+
anchor: {
|
|
156
|
+
type: "point",
|
|
157
|
+
point: { x: 100, y: 200 }
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
`})}),`
|
|
161
|
+
`,(0,c.jsxs)(t.p,{children:[`Всегда возвращает новый state `,(0,c.jsx)(t.code,{children:`{ open: true, source, anchor }`}),`. Anchor/element переносятся по ссылке.`]}),`
|
|
162
|
+
`,(0,c.jsx)(t.h3,{id:`closemenu`,children:(0,c.jsx)(t.code,{children:`closeMenu`})}),`
|
|
163
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const closed = closeMenu(opened);
|
|
164
|
+
`})}),`
|
|
165
|
+
`,(0,c.jsxs)(t.p,{children:[`Открытое состояние превращается в canonical closed state. Если `,(0,c.jsx)(t.code,{children:`state.open === false`}),` и `,(0,c.jsx)(t.code,{children:`state.anchor === null`}),`, возвращается исходная ссылка `,(0,c.jsx)(t.code,{children:`state`}),`, что удобно для reducer no-op.`]}),`
|
|
166
|
+
`,(0,c.jsxs)(t.p,{children:[`Передавайте согласованное состояние. Если вручную создать `,(0,c.jsx)(t.code,{children:`{ open:false, source:"click", anchor:null }`}),`, `,(0,c.jsx)(t.code,{children:`closeMenu`}),` вернёт его без очистки source.`]}),`
|
|
167
|
+
`,(0,c.jsx)(t.h3,{id:`togglemenu`,children:(0,c.jsx)(t.code,{children:`toggleMenu`})}),`
|
|
168
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const next = toggleMenu(current, payload);
|
|
169
|
+
`})}),`
|
|
170
|
+
`,(0,c.jsxs)(t.ul,{children:[`
|
|
171
|
+
`,(0,c.jsxs)(t.li,{children:[`если `,(0,c.jsx)(t.code,{children:`current.open === true`}),`, закрывает меню и игнорирует payload;`]}),`
|
|
172
|
+
`,(0,c.jsxs)(t.li,{children:[`если меню закрыто, вызывает `,(0,c.jsx)(t.code,{children:`openMenu(payload)`}),`.`]}),`
|
|
173
|
+
`]}),`
|
|
174
|
+
`,(0,c.jsxs)(t.p,{children:[`Toggle подходит для click button. Для `,(0,c.jsx)(t.code,{children:`contextmenu`}),` чаще нужен явный `,(0,c.jsx)(t.code,{children:`openMenu`}),`, чтобы повторный right-click перемещал anchor, а не закрывал меню.`]}),`
|
|
175
|
+
`,(0,c.jsx)(t.h2,{id:`react-reducer-recipe`,children:`React reducer recipe`}),`
|
|
176
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-tsx`,children:`const [menu, setMenu] = useState<MenuState>(initialMenuState);
|
|
177
|
+
|
|
178
|
+
function handleContextMenu(event: React.MouseEvent<HTMLElement>) {
|
|
179
|
+
event.preventDefault();
|
|
180
|
+
|
|
181
|
+
setMenu(
|
|
182
|
+
openMenu({
|
|
183
|
+
source: "contextmenu",
|
|
184
|
+
anchor: {
|
|
185
|
+
type: "point",
|
|
186
|
+
point: getMenuPointFromEvent(event),
|
|
187
|
+
contextElement: event.currentTarget
|
|
188
|
+
}
|
|
189
|
+
})
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
function handleClose() {
|
|
194
|
+
setMenu((current) => closeMenu(current));
|
|
195
|
+
}
|
|
196
|
+
`})}),`
|
|
197
|
+
`,(0,c.jsxs)(t.p,{children:[`Не сохраняйте `,(0,c.jsx)(t.code,{children:`MenuState`}),` в JSON/localStorage: он может содержать `,(0,c.jsx)(t.code,{children:`HTMLElement`}),`.`]}),`
|
|
198
|
+
`,(0,c.jsx)(t.h2,{id:`floating-ui-recipe`,children:`Floating UI recipe`}),`
|
|
199
|
+
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const reference =
|
|
200
|
+
menu.anchor?.type === "element"
|
|
201
|
+
? menu.anchor.element
|
|
202
|
+
: menu.anchor?.type === "point"
|
|
203
|
+
? createVirtualAnchor(menu.anchor.point, menu.anchor.contextElement)
|
|
204
|
+
: null;
|
|
205
|
+
`})}),`
|
|
206
|
+
`,(0,c.jsxs)(t.p,{children:[`Передайте `,(0,c.jsx)(t.code,{children:`reference`}),` в public API выбранного Floating UI wrapper. Не импортируйте private package files.`]}),`
|
|
207
|
+
`,(0,c.jsx)(t.h2,{id:`доступность`,children:`Доступность`}),`
|
|
208
|
+
`,(0,c.jsx)(t.p,{children:`Host обязан реализовать:`}),`
|
|
209
|
+
`,(0,c.jsxs)(t.ul,{children:[`
|
|
210
|
+
`,(0,c.jsx)(t.li,{children:`открытие клавишей Context Menu/Shift+F10 или принятой командой;`}),`
|
|
211
|
+
`,(0,c.jsx)(t.li,{children:`focus первого/выбранного item;`}),`
|
|
212
|
+
`,(0,c.jsx)(t.li,{children:`Arrow/Home/End navigation;`}),`
|
|
213
|
+
`,(0,c.jsx)(t.li,{children:`закрытие по Escape и возврат focus;`}),`
|
|
214
|
+
`,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`role="menu"`}),`/`,(0,c.jsx)(t.code,{children:`menuitem`}),` только если semantics действительно menu;`]}),`
|
|
215
|
+
`,(0,c.jsx)(t.li,{children:`disabled items;`}),`
|
|
216
|
+
`,(0,c.jsx)(t.li,{children:`outside click и focus dismissal;`}),`
|
|
217
|
+
`,(0,c.jsx)(t.li,{children:`сохранение trigger element для keyboard recovery.`}),`
|
|
218
|
+
`]}),`
|
|
219
|
+
`,(0,c.jsx)(t.p,{children:`Для keyboard source element anchor обычно лучше point без pointer coordinates.`}),`
|
|
220
|
+
`,(0,c.jsx)(t.h2,{id:`полный-api-и-ошибки`,children:`Полный API и ошибки`}),`
|
|
221
|
+
`,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Export`}),(0,c.jsx)(t.th,{children:`Назначение`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`getMenuPointFromEvent`})}),(0,c.jsx)(t.td,{children:`Читает client coordinates`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`getMenuPointFromRect`})}),(0,c.jsx)(t.td,{children:`Центр rect`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`createVirtualAnchor`})}),(0,c.jsx)(t.td,{children:`Point-like DOMRect provider`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`initialMenuState`})}),(0,c.jsx)(t.td,{children:`Canonical closed state`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`openMenu`})}),(0,c.jsx)(t.td,{children:`Новый opened state`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`closeMenu`})}),(0,c.jsx)(t.td,{children:`Закрывает/очищает state`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`toggleMenu`})}),(0,c.jsxs)(t.td,{children:[`Toggle по `,(0,c.jsx)(t.code,{children:`open`})]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`MenuPoint`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ x, y }`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`MenuOpenSource`})}),(0,c.jsx)(t.td,{children:`Источник открытия`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`MenuAnchor`})}),(0,c.jsx)(t.td,{children:`Element/point union`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`MenuState`})}),(0,c.jsx)(t.td,{children:`Полное state`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`OpenMenuPayload`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ source, anchor }`})})]})]})]}),`
|
|
222
|
+
`,(0,c.jsx)(t.p,{children:`Типичные ошибки:`}),`
|
|
223
|
+
`,(0,c.jsxs)(t.ul,{children:[`
|
|
224
|
+
`,(0,c.jsxs)(t.li,{children:[`Использовать `,(0,c.jsx)(t.code,{children:`pageX/pageY`}),` вместо client coordinates.`]}),`
|
|
225
|
+
`,(0,c.jsxs)(t.li,{children:[`Вызывать toggle при каждом `,(0,c.jsx)(t.code,{children:`contextmenu`}),` и неожиданно закрывать открытое меню.`]}),`
|
|
226
|
+
`,(0,c.jsxs)(t.li,{children:[`Мутировать `,(0,c.jsx)(t.code,{children:`initialMenuState`}),`.`]}),`
|
|
227
|
+
`,(0,c.jsx)(t.li,{children:`Persist DOM element.`}),`
|
|
228
|
+
`,(0,c.jsx)(t.li,{children:`Считать virtual anchor готовым positioner-ом.`}),`
|
|
229
|
+
`,(0,c.jsx)(t.li,{children:`Не возвращать focus после keyboard menu.`}),`
|
|
230
|
+
`]})]})}function s(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}var c;function l(){return(l=e((()=>{c=t(),r(),a()})))()}l();export{s as default};
|