@ryuzaki13/react-foundation-ui 1.10.1 → 1.11.1
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 +4 -4
- package/dist/base-table/index.js +1 -1
- package/dist/button/index.js +1 -1
- package/dist/chunks/{CalendarView-BK-Q6GVc.js → CalendarView-Bhaov_XE.js} +2 -2
- package/dist/chunks/{CalendarView-BK-Q6GVc.js.map → CalendarView-Bhaov_XE.js.map} +1 -1
- package/dist/chunks/{TextEditorLexicalClient-C8jKCbsp.js → TextEditorLexicalClient-CqPOrgcQ.js} +3 -3
- package/dist/chunks/{TextEditorLexicalClient-C8jKCbsp.js.map → TextEditorLexicalClient-CqPOrgcQ.js.map} +1 -1
- package/dist/chunks/{base-table-BNtd1xSl.js → base-table-DswaYoH-.js} +3 -3
- package/dist/chunks/{base-table-BNtd1xSl.js.map → base-table-DswaYoH-.js.map} +1 -1
- package/dist/chunks/{button-BYWHD2TV.js → button-BaUlN-nt.js} +2 -2
- package/dist/chunks/{button-BYWHD2TV.js.map → button-BaUlN-nt.js.map} +1 -1
- package/dist/chunks/{context-menu-CCAr_R-t.js → context-menu-HC7Vteb5.js} +66 -59
- package/dist/chunks/context-menu-HC7Vteb5.js.map +1 -0
- package/dist/chunks/{date-input-DXXKeLcq.js → date-input-DkLfO3Ng.js} +3 -3
- package/dist/chunks/{date-input-DXXKeLcq.js.map → date-input-DkLfO3Ng.js.map} +1 -1
- package/dist/chunks/{misc-CV0XwJf3.js → misc-DeGboAt-.js} +2 -2
- package/dist/chunks/{misc-CV0XwJf3.js.map → misc-DeGboAt-.js.map} +1 -1
- package/dist/chunks/{modal-Bmd9iBw1.js → modal-BGAi96zR.js} +3 -3
- package/dist/chunks/{modal-Bmd9iBw1.js.map → modal-BGAi96zR.js.map} +1 -1
- package/dist/chunks/{popover-BMboZXoQ.js → popover-Bne-Ljbs.js} +62 -61
- package/dist/chunks/{popover-BMboZXoQ.js.map → popover-Bne-Ljbs.js.map} +1 -1
- package/dist/chunks/{table-C3sKpYHL.js → table-aozLLSJk.js} +2 -2
- package/dist/chunks/{table-C3sKpYHL.js.map → table-aozLLSJk.js.map} +1 -1
- package/dist/context-menu/components/ContextMenuTrigger.d.ts +2 -0
- package/dist/context-menu/components/ContextMenuTrigger.d.ts.map +1 -1
- package/dist/context-menu/components/MenuContext.d.ts +2 -2
- package/dist/context-menu/components/MenuContext.d.ts.map +1 -1
- package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-time-input/index.js +2 -2
- package/dist/expandable-action-panel/index.js +2 -2
- package/dist/image/index.js +2 -2
- package/dist/list/index.js +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/popover/FloatingPopover.d.ts.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/text/index.js +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/tree-table/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-jMoGaWlH.js → Badge-B0pMNo6u.js} +1 -1
- package/storybook-static/assets/{Badge.stories-DCRYgiFn.js → Badge.stories-DmJySgC9.js} +1 -1
- package/storybook-static/assets/{BadgeList-hUxkrQKk.js → BadgeList-CPMgBZNy.js} +1 -1
- package/storybook-static/assets/{Button-CN90zPTE.js → Button-BQCqsOSh.js} +1 -1
- package/storybook-static/assets/{Button-BLZxiBx_.js → Button-DdP87Kjo.js} +1 -1
- package/storybook-static/assets/{Button.stories-C3IDTh6L.js → Button.stories-B95Gfrv6.js} +1 -1
- package/storybook-static/assets/{CalendarView-Da3lEn5n.js → CalendarView-Dkx103Eo.js} +1 -1
- package/storybook-static/assets/{CheckBox-C88r1nU9.js → CheckBox-6jhHJHNx.js} +1 -1
- package/storybook-static/assets/{CheckBox-BDPsgkY9.js → CheckBox-CEiyvt0g.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-CLL1W22k.js → CheckBox.stories-C-ry0F3S.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-BeYazCuF.js → Color-6AOWCN3U-C7ZBfvPD.js} +1 -1
- package/storybook-static/assets/{ContextMenu-CEmrtmjw.js → ContextMenu-B7zzWFcl.js} +1 -1
- package/storybook-static/assets/ContextMenu-BXr3AZy_.js +1 -0
- package/storybook-static/assets/{ContextMenu.stories-CJdQ3DxK.js → ContextMenu.stories-BixTxzOj.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-BlBnyItt.js → CustomOptionButton-B4TQxEG7.js} +1 -1
- package/storybook-static/assets/{DateInput-BOeTDc10.js → DateInput-CiNA_ASr.js} +1 -1
- package/storybook-static/assets/{DateInput-BplJWRap.js → DateInput-Dd18xSEj.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-Dvsg67Q7.js → DateInput.stories-BEsG3vsL.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BNAtaJ9P.js → DateRangePresetSelect-CPYFDKex.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CQlubR_0.js → DateRangePresetSelect-Ccz7NfDd.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-iaVAJzrk.js → DateRangePresetSelect.stories-opQhou6g.js} +1 -1
- package/storybook-static/assets/{Detail-DDYBXrvC.js → Detail-iNp-Y0oX.js} +1 -1
- package/storybook-static/assets/{Detail.stories-DNRTPZcT.js → Detail.stories-wMP_UVa0.js} +1 -1
- package/storybook-static/assets/{Dialog-_8-5uCF4.js → Dialog-C61I39GX.js} +1 -1
- package/storybook-static/assets/{Dialog-D60NKiU7.js → Dialog-DvJy6JL7.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-LMG0RjuL.js → Dialog.stories-BA49irYS.js} +1 -1
- package/storybook-static/assets/{Disclosure-DTCWb38a.js → Disclosure-CuKVlkDs.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-D98Sqa6B.js → Disclosure.stories-DGEYHdsF.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-rjsQrwwz.js → DisclosureGroup-DhU1dNC8.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-C8rtPh64.js → DocsRenderer-JROSPFPF-BkpUvEnq.js} +1 -1
- package/storybook-static/assets/{DropZone-Cc-Nr7qt.js → DropZone-7ceW1dn3.js} +1 -1
- package/storybook-static/assets/{DropZone-xZSakToS.js → DropZone-C78CmTpa.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-BrNYMWdp.js → DropZone.stories-ufjhh7h-.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-CKHgBr1G.js → DropdownMenu-n6JW93BD.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-CaRPw6Wm.js → ExpandableActionPanel-Hr0krU6W.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-D84EsMIi.js → ExpandableActionPanel.stories-DhvuWFNv.js} +1 -1
- package/storybook-static/assets/{Flex-ksn1ULug.js → Flex-B94m_qyY.js} +1 -1
- package/storybook-static/assets/{Flex.stories-CImsjHxn.js → Flex.stories-B8AaUI7D.js} +1 -1
- package/storybook-static/assets/FloatingPopover-DJiX84PM.js +1 -0
- package/storybook-static/assets/{FormattedTableCell-DIPPfMCP.js → FormattedTableCell-_E06deOh.js} +1 -1
- package/storybook-static/assets/{Grid-COjPAy0V.js → Grid-kT9nG3ti.js} +1 -1
- package/storybook-static/assets/{Grid.stories-DInra2zZ.js → Grid.stories-CIpqBZEV.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-BaN5T0Sj.js → ImageCropper.stories-lLmE-m8y.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-BiX7KYHn.js → ImageRenderer-CumAPDzJ.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-DRA0tvY5.js → ImageRenderer.stories-DRBkO7a5.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-DmgrraU8.js → ImageView.stories-CJPbRo4F.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-B1lcBTZL.js → ImageViewer.stories-Dga7I4WU.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-Ba0P6JkW.js → ImageViewerRuntime-B2Mqo_WZ.js} +1 -1
- package/storybook-static/assets/{Input-BE3ev4c3.js → Input-C1R3JI6C.js} +1 -1
- package/storybook-static/assets/{Input-DWaSzRT6.js → Input-aN_k-nwG.js} +1 -1
- package/storybook-static/assets/{Input.stories-BwSh-rG5.js → Input.stories-CamuqrIq.js} +1 -1
- package/storybook-static/assets/{InputDateTime-Bzcathpr.js → InputDateTime-DLGntd6J.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-BKSNyeGW.js → InputDateTime.stories-DKS2OEea.js} +1 -1
- package/storybook-static/assets/{InputFile-BkcqAe9e.js → InputFile-Co7tvxPX.js} +1 -1
- package/storybook-static/assets/{InputFile-B1xshCl7.js → InputFile-VpaVOpAd.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-DNzDLdnM.js → InputFile.stories-DXdlBxEU.js} +1 -1
- package/storybook-static/assets/{InputFiles-Beh9VGnI.js → InputFiles-BTCuD668.js} +1 -1
- package/storybook-static/assets/{InputFiles-DoIpCwD8.js → InputFiles-DvkMwKO7.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-D463o_2j.js → InputFiles.stories-DrTZMej-.js} +1 -1
- package/storybook-static/assets/{InputFilesList-XBhxIwzm.js → InputFilesList-CGjnqnzc.js} +1 -1
- package/storybook-static/assets/{InputImage-BxplZPLz.js → InputImage-DiEO91jk.js} +1 -1
- package/storybook-static/assets/{InputImage-DFOKaSvG.js → InputImage-Ipb-FcJa.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-9_4PdNVX.js → InputImage.stories-ttixjbus.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-gVX-Co65.js → InteractiveComponents-B4gMe903.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-xGm6Qn3p.js → InteractiveComponents.stories-Bao1bjuz.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CAIUGlYR.js → LayoutPicker-CbOMOuPf.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DyNgBEDt.js → LayoutPicker-CuHY0iUU.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-DjWIoqq_.js → LayoutPicker.stories-DYrG4wtT.js} +1 -1
- package/storybook-static/assets/{Listbox-DdUSWuvx.js → Listbox-BL0ioHxs.js} +1 -1
- package/storybook-static/assets/{Listbox-C1nug1gi.js → Listbox-BxHmY5ET.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-CgXZhffL.js → Listbox.stories-DJyYFh1U.js} +1 -1
- package/storybook-static/assets/{Modal-C2JN8byf.js → Modal-Q7o1iqet.js} +1 -1
- package/storybook-static/assets/{Modal.stories-CEF1CDMw.js → Modal.stories-DwIrHxPr.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-DpQegT4s.js → ModalManagerProvider-41HvR5kw.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DI65H684.js → MultiSelect-CJesPVwA.js} +1 -1
- package/storybook-static/assets/{MultiSelect-4BySiqWq.js → MultiSelect-HPQ3mNkL.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-BMINO4tp.js → MultiSelect.stories-Bb2GHyNF.js} +1 -1
- package/storybook-static/assets/{NoData-BF8QLM-6.js → NoData-CGqnBZTW.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-CoKBvP6W.js → NotificationsHost-CwzaWa75.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-ABBuJJZn.js → NotificationsHost.stories-CcPBctyV.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-8jdLzrag.js → ODataMultiSelect-C_M7IJ-E.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-Bbx2pEhr.js → ODataMultiSelect.stories-CEWZoIYN.js} +1 -1
- package/storybook-static/assets/{ODataSelect-CCBMuL_6.js → ODataSelect-CeQ91U4i.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-IRVdMUYS.js → ODataSelect.stories-OpbcMtd0.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-CMYSul4g.js → ODataTreeMultiSelect-By-iwUlb.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-B-7VuEMx.js → ODataTreeMultiSelect.stories-DjediQp3.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-wABuQQ8m.js → ODataTreeSelect-C4fBiCfR.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-B4PexyPP.js → ODataTreeSelect.stories-BRVIyV0K.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-Bsx2cAbW.js → OneStepScroller-BeOhzxOb.js} +1 -1
- package/storybook-static/assets/{Option-Bi34xfha.js → Option-BALI2Izw.js} +1 -1
- package/storybook-static/assets/{OptionButton-sAMQ-B-2.js → OptionButton-Cu_hyVYx.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-DvbYBRp0.js → PeriodSelect-C0tZpOZ2.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-D8M2m7Ae.js → PeriodSelect-D7ZyNQQj.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-CF9om3YB.js → PeriodSelect.stories-CaKpWoBI.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-DQ6Irt2H.js → PickerTriggerActions-CouIkvlG.js} +1 -1
- package/storybook-static/assets/Popover-BNl3GC6I.js +2 -0
- package/storybook-static/assets/{Popover-CoKI13TR.js → Popover-VojsocpB.js} +1 -1
- package/storybook-static/assets/{Popover.stories-D8WTwZ-k.js → Popover.stories-voeYCJAG.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-kYlehlXI.js → PresetRangeDateInput-BAsiw0m9.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-C8-UkEaY.js → PresetRangeDateInput-DTFvAuEG.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-Bw2Olt9n.js → PresetRangeDateInput.stories-BpytrxVn.js} +1 -1
- package/storybook-static/assets/{PresetSelect-L0tuYJEl.js → PresetSelect-DqsBg04y.js} +1 -1
- package/storybook-static/assets/{README-D5yuEPPv.js → README-6evrAby4.js} +1 -1
- package/storybook-static/assets/{README-D_zvxXbp.js → README-822aEKM9.js} +1 -1
- package/storybook-static/assets/{README-DdW8haTK.js → README-B2JDHSDg.js} +1 -1
- package/storybook-static/assets/{README-ChqY7Icu.js → README-B4L4Qms9.js} +1 -1
- package/storybook-static/assets/{README-VcApJaXd.js → README-BH_ofrva.js} +1 -1
- package/storybook-static/assets/{README-BxwHKa3w.js → README-BIY0CXzT.js} +1 -1
- package/storybook-static/assets/{README-CrYAH16i.js → README-BRJb1GLe.js} +1 -1
- package/storybook-static/assets/{README-CO3dUhsD.js → README-BV9yMaZH.js} +1 -1
- package/storybook-static/assets/{README-C33_zdBH.js → README-BVJkWNdT.js} +1 -1
- package/storybook-static/assets/{README-1v-Ux6-4.js → README-BVZEvH2e.js} +1 -1
- package/storybook-static/assets/{README-CZLMmuEJ.js → README-BuA3_CmY.js} +1 -1
- package/storybook-static/assets/{README-q3ocfiGy.js → README-BvWWZXkg.js} +1 -1
- package/storybook-static/assets/{README-DvMUuU1d.js → README-BvwvQC0S.js} +1 -1
- package/storybook-static/assets/{README-BN-M1WU0.js → README-Bwn32UEx.js} +1 -1
- package/storybook-static/assets/{README-CFpRXUWW.js → README-C-Pfk84O.js} +1 -1
- package/storybook-static/assets/{README-CjqrGvr8.js → README-C78L4rcb.js} +1 -1
- package/storybook-static/assets/{README-DIlnpVMH.js → README-C9NwfMMB.js} +1 -1
- package/storybook-static/assets/{README-Dp6_DOef.js → README-CBcr-aZ-.js} +1 -1
- package/storybook-static/assets/{README-BQsFSC9n.js → README-CFx77m4x.js} +1 -1
- package/storybook-static/assets/{README-CXPodKHT.js → README-CGU1FPkG.js} +1 -1
- package/storybook-static/assets/{README-Cab4zgqv.js → README-CNGBJoj9.js} +1 -1
- package/storybook-static/assets/{README-BocI24Kg.js → README-CNwWDpPA.js} +1 -1
- package/storybook-static/assets/{README-BQ2U05OE.js → README-CP8A3pUx.js} +1 -1
- package/storybook-static/assets/{README-BrCC1uJU.js → README-CRPSrjud.js} +1 -1
- package/storybook-static/assets/{README-Cyb-5mOG.js → README-CSnzw2D-.js} +1 -1
- package/storybook-static/assets/{README-NmcS3YJ6.js → README-CZrtJjG5.js} +1 -1
- package/storybook-static/assets/{README-gpDcs_LH.js → README-CshGb2DJ.js} +1 -1
- package/storybook-static/assets/{README-CDufFsWQ.js → README-CxvHN56L.js} +1 -1
- package/storybook-static/assets/{README-B10YW1sd.js → README-D01CDD_h.js} +1 -1
- package/storybook-static/assets/{README-CmhWsQkb.js → README-D0tDmHet.js} +1 -1
- package/storybook-static/assets/{README-0xG00EW_.js → README-D1eYEpJo.js} +1 -1
- package/storybook-static/assets/{README-BzHuSALx.js → README-D2ulcVfy.js} +1 -1
- package/storybook-static/assets/{README-B1ksGK8E.js → README-D5JHlt8a.js} +1 -1
- package/storybook-static/assets/{README-gft7Uab5.js → README-D6Vv7boA.js} +1 -1
- package/storybook-static/assets/{README-CjCfW25k.js → README-D95b9s0-.js} +1 -1
- package/storybook-static/assets/{README-xgO81XJN.js → README-DLMl2PNQ.js} +1 -1
- package/storybook-static/assets/{README-DBqfDDoK.js → README-DPWMkaF9.js} +1 -1
- package/storybook-static/assets/{README-BnVbW7Gs.js → README-DTdq97bt.js} +1 -1
- package/storybook-static/assets/{README-UELPBLbA.js → README-DaTftOiF.js} +1 -1
- package/storybook-static/assets/{README-BVQt8mtd.js → README-DlSdPLoj.js} +1 -1
- package/storybook-static/assets/{README-DZwnGvV1.js → README-DpbDg5ce.js} +1 -1
- package/storybook-static/assets/{README-DrwiMWd7.js → README-Dt7VgalJ.js} +1 -1
- package/storybook-static/assets/{README-BXPXMULk.js → README-JfTIbTxa.js} +1 -1
- package/storybook-static/assets/{README-S2VOLhWx.js → README-KslesuPp.js} +1 -1
- package/storybook-static/assets/{README-CHEiSVyW.js → README-RqmpGW_K.js} +1 -1
- package/storybook-static/assets/{README-N9wZCeCb.js → README-SmqCd027.js} +1 -1
- package/storybook-static/assets/{README-BPWfZ4-n.js → README-V9-IwPwN.js} +1 -1
- package/storybook-static/assets/{README-D13Q95J6.js → README-eGS9MpcY.js} +1 -1
- package/storybook-static/assets/{README-DlIoOZ58.js → README-pEhV0D6Q.js} +1 -1
- package/storybook-static/assets/{README-DIa084ap.js → README-qYd4IxwX.js} +1 -1
- package/storybook-static/assets/{README-rfp-yzSZ.js → README-y2sdEYQd.js} +1 -1
- package/storybook-static/assets/{README-DSqT3qTl.js → README-ymNGc5K0.js} +1 -1
- package/storybook-static/assets/{RadioButton-DJEpCllJ.js → RadioButton-Ba9QfrAy.js} +1 -1
- package/storybook-static/assets/{RadioButton-CoPal8pt.js → RadioButton-CnpzlpUJ.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-CrNbB_Qs.js → RadioButton.stories-BnN4pgGe.js} +1 -1
- package/storybook-static/assets/{RadioGroup-DBlvBC8z.js → RadioGroup-BykHY9bQ.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Dv_q57B4.js → RadioGroup-Snp96mXk.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CdafywwL.js → RadioGroup.stories-ElfRHSzd.js} +1 -1
- package/storybook-static/assets/{Scrollable-CVZxkb7b.js → Scrollable-CZQNMT37.js} +1 -1
- package/storybook-static/assets/{Select-BtuStcTW.js → Select-7gK0WOKA.js} +1 -1
- package/storybook-static/assets/{Select-B7fM7XXA.js → Select-DB19StkW.js} +1 -1
- package/storybook-static/assets/{Select.stories-D2i9D1wO.js → Select.stories-B-x2u4Ka.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-DsjutVwZ.js → SerializableSelect-RdiASBU7.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-C4qr93lP.js → SerializableSelect.stories-D3oi1vVq.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-jOTDUNrw.js → SingleDateTimeInput-ekp5dih9.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-CV1HjRhb.js → SingleDateTimeInput-lU6cGbfx.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-yb4i7Se-.js → SingleDateTimeInput.stories-CL-wJh62.js} +1 -1
- package/storybook-static/assets/{Slider-DGAxIRgF.js → Slider-BaGjYkeA.js} +1 -1
- package/storybook-static/assets/{Slider-DbiTyk2d.js → Slider-TYTl3yDT.js} +1 -1
- package/storybook-static/assets/{Slider.stories-BIPqFQgF.js → Slider.stories-B1Q15yer.js} +1 -1
- package/storybook-static/assets/{SliderInput-DPmmdNSI.js → SliderInput-D7HC0Qy7.js} +1 -1
- package/storybook-static/assets/{SliderInput-DEbF8pTt.js → SliderInput-DQCecLsI.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-DpNI0YBv.js → SliderInput.stories-Dks-x9HE.js} +1 -1
- package/storybook-static/assets/{Sortable-BYYO2Rd5.js → Sortable-BNy1ZMbQ.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-CAig11WS.js → Sortable.stories-Cb6IiB1t.js} +1 -1
- package/storybook-static/assets/{Splitter-k76UJpxB.js → Splitter-DIgl2n1Z.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CuaNuNp7.js → Splitter.stories-BIjaaFzl.js} +1 -1
- package/storybook-static/assets/{StateSelect-BSx0a0xn.js → StateSelect-B6gJ8hJa.js} +1 -1
- package/storybook-static/assets/{StateSelect-BdvIKDtX.js → StateSelect-zOqdyaQn.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-Cn2k7xLt.js → StateSelect.stories-BO-IgbhM.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-BzYQZVOT.js → StringToggle.stories-D4f7Fbw8.js} +1 -1
- package/storybook-static/assets/{Switch-DtsM7AlJ.js → Switch-CJrR8E7p.js} +1 -1
- package/storybook-static/assets/{Switch-WXicw9j3.js → Switch-D5xdNKsi.js} +1 -1
- package/storybook-static/assets/{Switch.stories-DSJ6cmJH.js → Switch.stories-9rHvE9GC.js} +1 -1
- package/storybook-static/assets/{Table-DG3Ysl0M.js → Table-BndDbNw8.js} +1 -1
- package/storybook-static/assets/{Table.stories-DZld4Wa8.js → Table.stories-CJCfJUjh.js} +1 -1
- package/storybook-static/assets/{Tabs-BUkYwc0R.js → Tabs-CP10ZNq4.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-Bxj65iOe.js → Tabs.stories-C9yRAUoL.js} +1 -1
- package/storybook-static/assets/{TabsBox-BufsM8ff.js → TabsBox-CF6lsJX9.js} +1 -1
- package/storybook-static/assets/{TagInput-ButGKwPX.js → TagInput-CNuIR1Js.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-BdBPL9C4.js → TagInput.stories-EHAVYqjD.js} +1 -1
- package/storybook-static/assets/{Text-CfVgVnx4.js → Text-Dk57_ZbR.js} +1 -1
- package/storybook-static/assets/{Textarea-BlRdt8GB.js → Textarea-BE9dNCqI.js} +1 -1
- package/storybook-static/assets/{Textarea-Cw0dpv9O.js → Textarea-C62-_iti.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-DIztJwoG.js → Textarea.stories-DKvABJTj.js} +1 -1
- package/storybook-static/assets/{TimePanel-BaHjWmQy.js → TimePanel-x3TlepfZ.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-CLhOwXWZ.js → TimePanel.stories-DaZB0D5G.js} +1 -1
- package/storybook-static/assets/{Toggle-DS0d4WQL.js → Toggle-BC4e-JyH.js} +1 -1
- package/storybook-static/assets/{Toggle-CeEIN_2z.js → Toggle-FZ3jr9eC.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-qQruW7gc.js → Toggle.stories-bBbcFQPg.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-C19YnmWz.js → TreeMultiSelect-BY0kKT3J.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-xvnFdWRY.js → TreeMultiSelect-BsA8SRFS.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-CfvfyxYD.js → TreeMultiSelect.stories-CuYZx8Ye.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-CtEPKSbm.js → TreePickerBase-Cy2h0kPW.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BnLvixZ5.js → TreeSelect-CurHAVQd.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CBkH-AEV.js → TreeSelect-DFQ3bXsn.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-Ee033WTq.js → TreeSelect.stories-CWIRI6gz.js} +1 -1
- package/storybook-static/assets/{TreeTable-Bj-wmrBR.js → TreeTable-cuDoXkMK.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-BIOrVNfx.js → TreeTable.stories-C2QEYgml.js} +1 -1
- package/storybook-static/assets/{blocks-DFW8ghoN.js → blocks-Bc4j9MF9.js} +3 -3
- package/storybook-static/assets/{check-7oGyK4Lh.js → check-BgL33jfp.js} +1 -1
- package/storybook-static/assets/{chevron-down-BBUXCskk.js → chevron-down-R3Jdqzrn.js} +1 -1
- package/storybook-static/assets/{chevron-left-C9RcDRYm.js → chevron-left-mLWJvyEZ.js} +1 -1
- package/storybook-static/assets/{chevron-right-Bz2dxTCT.js → chevron-right-CPZF-d1L.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-BFc9wUX9.js → chunk-W22LQPXL-C62lx28p.js} +1 -1
- package/storybook-static/assets/{circle-alert-DxODWI3W.js → circle-alert-F3LNsip3.js} +1 -1
- package/storybook-static/assets/{circle-check-Dt98F3HY.js → circle-check-B-PCEcP6.js} +1 -1
- package/storybook-static/assets/{components-C9PL8fDL.js → components-EKvM9m9t.js} +3 -3
- package/storybook-static/assets/contextMenu-DXU_cSyO.js +2 -0
- package/storybook-static/assets/{download-Cicfr3Yq.js → download-_gpfOcUw.js} +1 -1
- package/storybook-static/assets/floating-ui.react-DWG5_l50.js +1 -0
- package/storybook-static/assets/{foundationApi-Czup-_8C.js → foundationApi-Bf1RvCy6.js} +1 -1
- package/storybook-static/assets/{foundationLib-CvOU0kH6.js → foundationLib-BqFATCRV.js} +1 -1
- package/storybook-static/assets/{hooks-D1LxuSK1.js → hooks-CVQS96HT.js} +2 -2
- package/storybook-static/assets/iframe-C-PXkEVa.js +1 -0
- package/storybook-static/assets/{iframe-CB9pifff.js → iframe-DB62bexO.js} +3 -3
- package/storybook-static/assets/{info-H3kL_ony.js → info-_jHhDMxQ.js} +1 -1
- package/storybook-static/assets/{odata-DZHQPho8.js → odata-CSE2o56k.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-Dv4IyA2E.js → odataStoryFixtures-CnD5g3U7.js} +1 -1
- package/storybook-static/assets/{react-D9ony7ur.js → react-CKPG354p.js} +1 -1
- package/storybook-static/assets/{refresh-cw-C1wTVwsA.js → refresh-cw-gwn6yl4E.js} +1 -1
- package/storybook-static/assets/{settings-2-CYAxQ8JZ.js → settings-2-CI-uItnb.js} +1 -1
- package/storybook-static/assets/{sortable-D3dOipv-.js → sortable-D9YLnSq2.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-BEAJBt17.js → syntaxhighlighter-QEQV7K2Y-D1Qwwr3j.js} +1 -1
- package/storybook-static/assets/{trash-2-DFYiqA7Y.js → trash-2-C8HzUkes.js} +1 -1
- package/storybook-static/assets/{triangle-alert-DT66rGfn.js → triangle-alert-CiqmLtau.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-SGoINsPA.js → useODataSelectBase-CIQ0s0Kh.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-Bd0rjQ8C.js → useODataTreeData-DrVyNvfl.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-jINMRgys.js → usePickerQuery-DgtD9ozg.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-C0xxhsv5.js → usePickerTriggerController-CeQZVvq6.js} +1 -1
- package/storybook-static/assets/{x-DgcBZVW3.js → x-fspKtNh2.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/dist/chunks/context-menu-CCAr_R-t.js.map +0 -1
- package/storybook-static/assets/ContextMenu-BvDbyzAk.js +0 -1
- package/storybook-static/assets/FloatingPopover-Cmz412EM.js +0 -1
- package/storybook-static/assets/Popover-Y5ZKg3I8.js +0 -2
- package/storybook-static/assets/contextMenu-BOrF5Hzw.js +0 -2
- package/storybook-static/assets/floating-ui.react-j2x4WoIe.js +0 -1
- package/storybook-static/assets/iframe-BhNcQkWA.js +0 -1
|
@@ -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{a as r,i,t as a}from"./chunk-IMSF75WX-CGYlPTyG.js";import{i as o,n as s,r as c,t as l}from"./chunk-W22LQPXL-
|
|
1
|
+
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{a as r,i,t as a}from"./chunk-IMSF75WX-CGYlPTyG.js";import{i as o,n as s,r as c,t as l}from"./chunk-W22LQPXL-C62lx28p.js";import{a as u,u as d,w as f}from"./theming-BgT2grXK.js";import{n as p,t as m}from"./chunk-DRQKCCAG-DvsmU7ha.js";import{t as h}from"./chunk-242VQQM5-bHL6qIJq.js";function g(e){"@babel/helpers - typeof";return g=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function ee(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function te(e,t){if(e==null)return{};var n,r,i=h(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function y(){return(y=t((()=>{})))()}function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function x(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function S(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],`${e[0]}.${e[1]}`,`${e[1]}.${e[0]}`];if(t===3)return[e[0],e[1],e[2],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}`];if(t>=4)return[e[0],e[1],e[2],e[3],`${e[0]}.${e[1]}`,`${e[0]}.${e[2]}`,`${e[0]}.${e[3]}`,`${e[1]}.${e[0]}`,`${e[1]}.${e[2]}`,`${e[1]}.${e[3]}`,`${e[2]}.${e[0]}`,`${e[2]}.${e[1]}`,`${e[2]}.${e[3]}`,`${e[3]}.${e[0]}`,`${e[3]}.${e[1]}`,`${e[3]}.${e[2]}`,`${e[0]}.${e[1]}.${e[2]}`,`${e[0]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[1]}`,`${e[0]}.${e[2]}.${e[3]}`,`${e[0]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[0]}.${e[2]}`,`${e[1]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[0]}`,`${e[1]}.${e[2]}.${e[3]}`,`${e[1]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[2]}`,`${e[2]}.${e[0]}.${e[1]}`,`${e[2]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[0]}`,`${e[2]}.${e[1]}.${e[3]}`,`${e[2]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[1]}`,`${e[3]}.${e[0]}.${e[1]}`,`${e[3]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[1]}.${e[2]}`,`${e[3]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[1]}`,`${e[0]}.${e[1]}.${e[2]}.${e[3]}`,`${e[0]}.${e[1]}.${e[3]}.${e[2]}`,`${e[0]}.${e[2]}.${e[1]}.${e[3]}`,`${e[0]}.${e[2]}.${e[3]}.${e[1]}`,`${e[0]}.${e[3]}.${e[1]}.${e[2]}`,`${e[0]}.${e[3]}.${e[2]}.${e[1]}`,`${e[1]}.${e[0]}.${e[2]}.${e[3]}`,`${e[1]}.${e[0]}.${e[3]}.${e[2]}`,`${e[1]}.${e[2]}.${e[0]}.${e[3]}`,`${e[1]}.${e[2]}.${e[3]}.${e[0]}`,`${e[1]}.${e[3]}.${e[0]}.${e[2]}`,`${e[1]}.${e[3]}.${e[2]}.${e[0]}`,`${e[2]}.${e[0]}.${e[1]}.${e[3]}`,`${e[2]}.${e[0]}.${e[3]}.${e[1]}`,`${e[2]}.${e[1]}.${e[0]}.${e[3]}`,`${e[2]}.${e[1]}.${e[3]}.${e[0]}`,`${e[2]}.${e[3]}.${e[0]}.${e[1]}`,`${e[2]}.${e[3]}.${e[1]}.${e[0]}`,`${e[3]}.${e[0]}.${e[1]}.${e[2]}`,`${e[3]}.${e[0]}.${e[2]}.${e[1]}`,`${e[3]}.${e[1]}.${e[0]}.${e[2]}`,`${e[3]}.${e[1]}.${e[2]}.${e[0]}`,`${e[3]}.${e[2]}.${e[0]}.${e[1]}`,`${e[3]}.${e[2]}.${e[1]}.${e[0]}`]}function C(e){if(e.length===0||e.length===1)return e;var t=e.join(`.`);return qe[t]||(qe[t]=S(e)),qe[t]}function w(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return C(e.filter(function(e){return e!==`token`})).reduce(function(e,t){return x(x({},e),n[t])},t)}function T(e){return e.join(` `)}function E(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return D({node:r,stylesheet:e,useInlineStyles:t,key:`code-segment-${n}-${i}`})})}}function D(e){var t=e.node,n=e.stylesheet,r=e.style,i=r===void 0?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,c=t.type,l=t.tagName,u=t.value;if(c===`text`)return u;if(l){var d=E(n,a),p;if(!a)p=x(x({},s),{},{className:T(s.className)});else{var m=Object.keys(n).reduce(function(e,t){return t.split(`.`).forEach(function(t){e.includes(t)||e.push(t)}),e},[]),h=s.className&&s.className.includes(`token`)?[`token`]:[],g=s.className&&h.concat(s.className.filter(function(e){return!m.includes(e)}));p=x(x({},s),{},{className:T(g)||void 0,style:w(s.className,Object.assign({},s.style,i),n)})}var _=d(t.children);return pe.createElement(l,f({key:o},p),_)}}function O(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function k(e){if(Array.isArray(e))return O(e)}function A(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function ne(e,t){if(e){if(typeof e==`string`)return O(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}function j(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function M(e){return k(e)||A(e)||ne(e)||j()}function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?N(Object(n),!0).forEach(function(t){ee(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function re(e){return e.match(st)}function ie(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return z.createElement(`span`,{key:`line-${t}`,className:`react-syntax-highlighter-line-number`,style:typeof r==`function`?r(i):r},`${i}
|
|
3
3
|
`)})}function ae(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=r===void 0?{float:`left`,paddingRight:`10px`}:r,a=e.numberStyle,o=a===void 0?{}:a,s=e.startingLineNumber;return z.createElement(`code`,{style:Object.assign({},n,i)},ie({lines:t.replace(/\n$/,``).split(`
|
|
4
4
|
`),style:o,startingLineNumber:s}))}function oe(e){return`${e.toString().length}.25em`}function se(e,t){return{type:`element`,tagName:`span`,properties:{key:`line-number--${e}`,className:[`comment`,`linenumber`,`react-syntax-highlighter-line-number`],style:t},children:[{type:`text`,value:e}]}}function ce(e,t,n){var r={display:`inline-block`,minWidth:oe(n),paddingRight:`1em`,textAlign:`right`,userSelect:`none`},i=typeof e==`function`?e(t):e;return P(P({},r),i)}function F(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=o===void 0?{}:o,c=e.className,l=c===void 0?[]:c,u=e.showLineNumbers,d=e.wrapLongLines,f=e.wrapLines,p=f!==void 0&&f?P({},typeof s==`function`?s(n):s):{};if(p.className=p.className?[].concat(M(p.className.trim().split(/\s+/)),M(l)):l,n&&a){var m=ce(r,n,i);t.unshift(se(n,m))}return d&u&&(p.style=P({display:`flex`},p.style)),{type:`element`,tagName:`span`,properties:p,children:t}}function le(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var i=e[r];if(i.type===`text`)n.push(F({children:[i],className:M(new Set(t))}));else if(i.children){var a=t.concat(i.properties.className);le(i.children,a).forEach(function(e){return n.push(e)})}}return n}function ue(e,t,n,r,i,a,o,s,c){var l,u=le(e.value),d=[],f=-1,p=0;function m(e,a){return F({children:e,lineNumber:a,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function h(e,t){if(r&&t&&i){var n=ce(s,t,o);e.unshift(se(t,n))}return e}function g(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||r.length>0?m(e,n,r):h(e,n)}for(var _=function(){var e=u[p],t=e.children[0].value;if(re(t)){var n=t.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-DB62bexO.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],i=n(`trash-2`,r)})))()}export{a as n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-DB62bexO.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],i=n(`triangle-alert`,r)})))()}export{a as n,i as t};
|
package/storybook-static/assets/{useODataSelectBase-SGoINsPA.js → useODataSelectBase-CIQ0s0Kh.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r}from"./odata-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r}from"./odata-CSE2o56k.js";import{S as i,y as a}from"./formatters-D33Uh3si-Df97arf9.js";function o(e,t){return t.indexOf(e)}function s({values:e,defaultValues:t,onChange:n,selectionMode:r=`independent`,segmentOrder:i=[]}){let[a,s]=(0,c.useState)(()=>t??{}),l=e??a,u=(0,c.useCallback)(t=>{e===void 0&&s(t),n?.(t)},[n,e]),d=(0,c.useCallback)(e=>{if(r===`independent`)return!1;let t=o(e,i);return t<0||i.slice(0,t).some(e=>!l[e]?.length)},[l,i,r]);return{values:l,updateValues:u,updateSegment:(0,c.useCallback)((e,t)=>{if(d(e))return;let n={...l,[e]:[...t]};if(r===`sequential`){let t=o(e,i);for(let e of i.slice(t+1))e in n&&(n[e]=[])}u(n)},[d,l,i,r,u]),isSegmentDisabled:d}}var c;function l(){return(l=e((()=>{c=t()})))()}function u(e){return e?.length?[...new Set(e)].sort():[]}function d(e,t,n){let r=[];for(let i of Object.keys(t).sort()){if(i===e)continue;let t=u(n?.[i]);t.length&&r.push(`${i}:${t.join(_)}`)}return r.join(g)}function f(e){let t=new Map;if(!e)return t;for(let n of e.split(g)){let e=n.indexOf(`:`);if(e<0)continue;let r=n.slice(0,e),i=n.slice(e+1).split(_).filter(Boolean);r&&i.length&&t.set(r,i)}return t}function p({odata:e,segment:t,model:n,value:a,dependencies:o}){let[s,c]=(0,h.useState)(``),[l,u]=(0,h.useState)(``),{codeKey:p,searchDebounceDelay:m,minSearchCodeLength:g,minSearchTextLength:_}=n,{data:v,textKey:y,isLoading:b,isError:x,getItems:S,separatedItems:C,findSourceItemsByKeys:w,setFilteredItems:T,debounce:E}=r({odata:e,model:n}),D=C.length,O=t.selectText&&y?y:p,k=(0,h.useMemo)(()=>v?d(p,v.keyPairsMap,o):``,[v,p,o]);(0,h.useEffect)(()=>{if(!v)return;let e=v.chain.findIndex(e=>e.codeKey===p),t=f(k),n=e=>{let n=v.chain[e].codeKey,r=t.get(n);if(r?.length)return w(n,r)};for(let t=v.chain.length-1;t>e;t--){let e=n(t);if(e){T(e);return}}for(let t=0;t<e;t++){let e=n(t);if(e){T(e);return}}T(void 0)},[v,k,p,w,T]),(0,h.useEffect)(()=>{E(`search`,()=>{u(s.trim().toLowerCase())},m)},[E,s,m]);let A=(0,h.useMemo)(()=>{if(!a?.length||!O)return[];let e=new Set(a);return C.filter(t=>e.has(t[O]))},[C,O,a]);return{query:s,setQuery:c,debouncedQuery:l,selectedItems:A,filteredItems:(0,h.useMemo)(()=>{if(!v)return[];if(!(l.length>=_))return S(void 0,A);let e=l.length>=_,n=!t.hideCode&&l.length>=g&&!Number.isNaN(Number(l));return S((t,r)=>!!(t&&r&&(n&&i(t,l)||e&&r.toLowerCase().includes(l))),A)},[l,S,g,_,v,t.hideCode,A]),itemsCount:D,isLoading:b,isError:x,codeKey:p,textKey:y,selectionKey:O,placeholder:t.placeholder}}function m(e,t){return e.map(e=>e[t])}var h,g,_;function v(){return(v=e((()=>{h=t(),n(),a(),g=``,_=``})))()}export{s as a,l as i,m as n,p as r,v as t};
|
package/storybook-static/assets/{useODataTreeData-Bd0rjQ8C.js → useODataTreeData-DrVyNvfl.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r,o as i,r as a,s as o,t as s}from"./odata-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{a as n,n as r,o as i,r as a,s as o,t as s}from"./odata-CSE2o56k.js";import{C as c,w as l}from"./odata-service-CWkHASdw-CXhFi03v.js";function u(e,t,n){return e?`${e}/${t}:${n}`:`${t}:${n}`}function d(e,t,n){let r=n[t];return r&&e[r]||e[t]}function f(e){return[...new Set(e.filter(Boolean))].join(` `)}function p(e){return{id:u(e.parentId,e.codeKey,e.value),codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:f([e.value,e.label,e.code]),sortCode:e.sortCode,children:[],childByBranchKey:new Map}}function m(e,t){e.sort((e,n)=>{let r=t?e.sortCode:e.label,i=t?n.sortCode:n.label;return l(r,i)||l(e.sortCode,n.sortCode)});for(let n of e)m(n.children,t)}function h(e){return{id:e.id,codeKey:e.codeKey,value:e.value,label:e.label,code:e.code,searchText:e.searchText,children:e.children.length>0?e.children.map(h):void 0}}function g({items:e,orderedCodeKeys:t,keyPairsMap:n,hiddenCodeKeys:r,textValueCodeKeys:i,allowEmptyCodeKeys:a,sortByCode:o=!0}){if(t.length===0||e.length===0)return[];let s=[],c=new Map;for(let o of e){let e;for(let l of t){let t=String(o[l]??``);if(!t&&!a?.has(l))break;let u=String(d(o,l,n)??``),f=i?.has(l)?u:t,m=`${l}:${f}`,h=e?e.childByBranchKey:c,g=h.get(m);g||(g=p({parentId:e?.id,codeKey:l,value:f,label:u,code:r.has(l)?void 0:t,sortCode:t}),h.set(m,g),e?e.children.push(g):s.push(g)),e=g}}return m(s,o),s.map(h)}function _(){return(_=e((()=>{c()})))()}function v(e,t,n){return i(e,t,n)}function y(){return(y=e((()=>{n()})))()}function b(e,t,n){return s([{odata:e,segments:t,model:n}])}function x(e){return e[0]?.id}function S({odata:e,segments:t,model:n,segmentOrder:i,allowEmptyCodeKeys:s}){let c=`${e.service}.${e.target}`,l=(0,C.useMemo)(()=>b(e,t,n),[e,t,n]),u=a([e]),d=(0,C.useMemo)(()=>v(l,u,i),[l,u,i]),f=(0,C.useMemo)(()=>d.map(e=>e.id),[d]),p=(0,C.useMemo)(()=>new Set(s),[s]),m=x(d)??Object.keys(t)[0],h=o({codeKey:m,...n}),_=r({odata:e,model:h}),{hiddenCodeKeys:y,textValueCodeKeys:S}=(0,C.useMemo)(()=>{let t=new Set,n=new Set;for(let r of d)(r.segment.hideCode??e.hideCode)&&t.add(r.id),r.segment.selectText&&n.add(r.id);return{hiddenCodeKeys:t,textValueCodeKeys:n}},[e.hideCode,d]),w=(0,C.useMemo)(()=>g({items:_.data?.items??[],orderedCodeKeys:f,keyPairsMap:_.data?.keyPairsMap??{},hiddenCodeKeys:y,textValueCodeKeys:S,allowEmptyCodeKeys:p,sortByCode:e.sortByCode}),[p,_.data?.items,_.data?.keyPairsMap,y,e.sortByCode,f,S]),T=d[0]?.segment.placeholder??`Выберите значение`,E=!!u[c]?.length;return{nodes:w,orderedSegmentItems:d,orderedCodeKeys:f,isLoading:_.isLoading,isError:_.isError,placeholder:T,hasResolvedChain:E}}var C;function w(){return(w=e((()=>{C=t(),n(),_(),y()})))()}export{S as n,w as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-DB62bexO.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./ui.module-31LPbZGK.js";import{a as s}from"./usePickerTriggerController-CeQZVvq6.js";import{c,s as l}from"./Option-BALI2Izw.js";function u({emptyState:e,errorState:t}){let n=t??e;return n==null?null:(0,d.jsx)(`div`,{className:r(a.uiPopupOption,l.status,t!==void 0&&l.statusError),"aria-disabled":!0,children:n})}var d;function f(){return(f=e((()=>{i(),o(),c(),d=n(),u.__docgenInfo={description:``,methods:[],displayName:`PickerStatus`,props:{emptyState:{required:!1,tsType:{name:`ReactNode`},description:``},errorState:{required:!1,tsType:{name:`ReactNode`},description:``}}}})))()}function p({query:e,defaultQuery:t,onQuery:n,resetOnClose:r,triggerMode:i}){let a=e!==void 0,[o,c]=(0,m.useState)(t??``),l=a?e??``:o,u=r??(!i||s(i).resetQueryOnClose),d=e=>{a||c(e),n?.(e)};return{query:l,setQuery:d,clearQuery:()=>d(``),resetQueryOnClose:u}}var m;function h(){return(h=e((()=>{m=t()})))()}export{f as i,p as n,u as r,h as t};
|
|
@@ -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-fspKtNh2.js";import{n as i}from"./iframe-DB62bexO.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,r as c,t as l}from"./floating-ui.react-DWG5_l50.js";import{n as u,t as d}from"./ui.module-31LPbZGK.js";import{n as f,r as p,t as m}from"./react-CKPG354p.js";import{d as h,i as g,l as _,r as v,s as y,u as b}from"./Input-aN_k-nwG.js";import{c as x,i as S,r as ee,s as C}from"./Option-BALI2Izw.js";import{n as w,t as T}from"./PickerTriggerActions-CouIkvlG.js";import{n as E,t as D}from"./hooks-CVQS96HT.js";function O({id:e,label:t,description:n,disabled:r,size:i,className:a,error:o,children:s}){let{controlId:c,labelId:l,descriptionId:u,errorId:d,describedBy:f}=h({id:e,hasLabel:t!=null,hasDescription:!!n,hasError:!!o});return(0,k.jsx)(y,{label:t,description:n,disabled:r,size:i,className:a,error:o,controlId:c,labelId:l,descriptionId:u,errorId:d,children:s({controlId:c,labelId:l,descriptionId:u,errorId:d,describedBy:f})})}var k;function A(){return(A=e((()=>{_(),b(),k=i(),O.__docgenInfo={description:``,methods:[],displayName:`PickerField`,props:{id:{required:!1,tsType:{name:`string`},description:``},className:{required:!1,tsType:{name:`string`},description:``},error:{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(context: PickerFieldContext) => ReactNode`,signature:{arguments:[{type:{name:`PickerFieldContext`},name:`context`}],return:{name:`ReactNode`}}},description:``}},composes:[`Omit`]}})))()}function j({disabled:e,ariaLabel:t=`Очистить выбор`,onClear:n}){let i=e=>{e.preventDefault(),e.stopPropagation()};return(0,M.jsx)(`button`,{type:`button`,disabled:e,className:u.uiClearButton,"data-ui":`picker-clear-button`,"data-action":`clear-picker`,onMouseDown:i,onClick:e=>{i(e),n()},"aria-label":t,children:(0,M.jsx)(r,{})})}var M;function N(){return(N=e((()=>{n(),d(),M=i(),j.__docgenInfo={description:`Единое действие очистки выбранного значения во всех clearable picker-компонентах.`,methods:[],displayName:`PickerClearButton`,props:{disabled:{required:!1,tsType:{name:`boolean`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Очистить выбор"`,computed:!1}},onClear:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function P(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(Array.isArray(e)){let t=e.map(P).filter(e=>!!e).map(e=>e.trim()).filter(Boolean);return t.length?t.join(` `):void 0}if((0,F.isValidElement)(e))return typeof e.props.searchText==`string`?e.props.searchText:P(e.props.children)}var F;function I(){return(I=e((()=>{F=t()})))()}function te({placeholder:e,label:t,optionCount:n,fallback:r=`Выберите значение`}){let i=P(t);return`${e??i??r} <${n}>`}function L(){return(L=e((()=>{I()})))()}function ne(e){e.stopPropagation()}function R({open:e,context:t,floatingStyles:n,listId:r,labelId:i,popupAriaLabel:a,descriptionId:o,activeOptionId:c,ariaMultiselectable:u,popupRole:d=`listbox`,setFloating:m,getFloatingProps:h,onKeyDown:g,initialFocus:_=-1,returnFocus:v=!1,tabIndex:y=0,className:b,maxWidth:x,layoutClassName:S,bodyClassName:w,toolbar:T,selectionActions:E,children:D}){return(0,z.jsx)(p,{children:e&&(0,z.jsx)(s,{children:(0,z.jsx)(l,{context:t,modal:!1,initialFocus:_,returnFocus:v,children:(0,z.jsx)(f.div,{ref:m,style:{...n,maxWidth:x},initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},...h({id:r,role:d,tabIndex:y,"aria-labelledby":i,"aria-label":i?void 0:a,"aria-describedby":o,"aria-activedescendant":c,"aria-multiselectable":u||void 0,onMouseDown:ne,onKeyDown:g,className:C.popupPositioner}),children:(0,z.jsx)(ee,{className:b,layoutClassName:S,bodyClassName:w,toolbar:T,selectionActions:E,scrollable:!1,children:D})})})})})}var z;function B(){return(B=e((()=>{c(),m(),x(),S(),z=i(),R.__docgenInfo={description:``,methods:[],displayName:`PickerPopup`,props:{open:{required:!0,tsType:{name:`boolean`},description:``},context:{required:!0,tsType:{name:`FloatingContext`},description:``},floatingStyles:{required:!0,tsType:{name:`CSSProperties`},description:``},listId:{required:!0,tsType:{name:`string`},description:``},labelId:{required:!1,tsType:{name:`string`},description:``},popupAriaLabel:{required:!1,tsType:{name:`string`},description:``},descriptionId:{required:!1,tsType:{name:`string`},description:``},activeOptionId:{required:!1,tsType:{name:`string`},description:``},ariaMultiselectable:{required:!1,tsType:{name:`boolean`},description:``},popupRole:{required:!1,tsType:{name:`union`,raw:`"listbox" | "dialog"`,elements:[{name:`literal`,value:`"listbox"`},{name:`literal`,value:`"dialog"`}]},description:``,defaultValue:{value:`"listbox"`,computed:!1}},setFloating:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: HTMLElement | null) => void`,signature:{arguments:[{type:{name:`union`,raw:`HTMLElement | null`,elements:[{name:`HTMLElement`},{name:`null`}]},name:`node`}],return:{name:`void`}}},description:``},getFloatingProps:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(userProps?: Record<string, unknown>) => Record<string, unknown>`,signature:{arguments:[{type:{name:`Record`,elements:[{name:`string`},{name:`unknown`}],raw:`Record<string, unknown>`},name:`userProps`}],return:{name:`Record`,elements:[{name:`string`},{name:`unknown`}],raw:`Record<string, unknown>`}}},description:``},onKeyDown:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(event: KeyboardEvent<HTMLElement>) => void`,signature:{arguments:[{type:{name:`KeyboardEvent`,elements:[{name:`HTMLElement`}],raw:`KeyboardEvent<HTMLElement>`},name:`event`}],return:{name:`void`}}},description:``},initialFocus:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`-1`,computed:!1}},returnFocus:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},tabIndex:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``},maxWidth:{required:!1,tsType:{name:`CSSProperties["maxWidth"]`,raw:`CSSProperties["maxWidth"]`},description:``},layoutClassName:{required:!1,tsType:{name:`string`},description:``},bodyClassName:{required:!1,tsType:{name:`string`},description:``},toolbar:{required:!1,tsType:{name:`union`,raw:`ReactNode | false`,elements:[{name:`ReactNode`},{name:`literal`,value:`false`}]},description:``},selectionActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
|
|
2
2
|
onSelectAll: () => void;
|
|
3
3
|
onDeselectAll: () => void;
|
|
4
4
|
selectAllButtonRef?: Ref<HTMLButtonElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,r as n}from"./iframe-DB62bexO.js";var r,i;function a(){return(a=e((()=>{t(),r=[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]],i=n(`x`,r)})))()}export{a as n,i as t};
|
|
@@ -552,13 +552,13 @@
|
|
|
552
552
|
}
|
|
553
553
|
</script>
|
|
554
554
|
|
|
555
|
-
<script type="module" crossorigin src="./assets/iframe-
|
|
555
|
+
<script type="module" crossorigin src="./assets/iframe-C-PXkEVa.js"></script>
|
|
556
556
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-DkW27tQK.js">
|
|
557
557
|
<link rel="modulepreload" crossorigin href="./assets/preload-helper-wdlQj8DP.js">
|
|
558
558
|
<link rel="modulepreload" crossorigin href="./assets/react-BZJXY1be.js">
|
|
559
559
|
<link rel="modulepreload" crossorigin href="./assets/chunk-KJHJLCBK-yRlRMfNs.js">
|
|
560
560
|
<link rel="modulepreload" crossorigin href="./assets/chunk-IMSF75WX-CGYlPTyG.js">
|
|
561
|
-
<link rel="modulepreload" crossorigin href="./assets/iframe-
|
|
561
|
+
<link rel="modulepreload" crossorigin href="./assets/iframe-DB62bexO.js">
|
|
562
562
|
<link rel="stylesheet" crossorigin href="./assets/iframe-B-mSv97o.css">
|
|
563
563
|
</head>
|
|
564
564
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"generatedAt":
|
|
1
|
+
{"generatedAt":1788716260072,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.32"},"knownPackages":{"testPackages":{"@chromatic-com/storybook":"5.3.0","@storybook/addon-vitest":"10.5.10","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.3","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.11","playwright":"1.62.1","vitest":"4.1.11"},"stateManagementPackages":{"zustand":"5.0.0"},"dataFetchingPackages":{"@tanstack/react-query":"5.101.4"},"routerPackages":{"@tanstack/react-router":"1.170.23"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":1,"applicationFileCount":9,"storybookVersion":"10.5.10","storybookVersionSpecifier":"^10.5.5","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.5.10"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.3.0"},"@storybook/addon-docs":{"version":"10.5.10"},"@storybook/addon-a11y":{"version":"10.5.10"},"@storybook/addon-vitest":{"version":"10.5.10"}},"packageJsonType":"module"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu-CCAr_R-t.js","names":[],"sources":["../../src/context-menu/components/helpers.ts","../../src/context-menu/components/MenuContext.tsx","../../src/context-menu/components/ContextMenuTrigger.tsx","../../src/context-menu/ContextMenu.module.scss","../../src/context-menu/components/MenuContent.tsx","../../src/context-menu/components/MenuGroupLabel.tsx","../../src/context-menu/components/MenuItem.tsx","../../src/context-menu/components/MenuRoot.tsx","../../src/context-menu/components/MenuSeparator.tsx","../../src/context-menu/components/RadialMenuContent.tsx","../../src/context-menu/components/RadialMenuItem.tsx","../../src/context-menu/components/ContextMenu.tsx","../../src/context-menu/components/DropdownMenuTrigger.tsx","../../src/context-menu/components/DropdownMenu.tsx"],"sourcesContent":["import React from \"react\";\n\nexport function assignRef<T>(ref: React.Ref<T> | undefined, value: T) {\n\tif (!ref) return;\n\n\tif (typeof ref === \"function\") {\n\t\tref(value);\n\t\treturn;\n\t}\n\n\t(ref as React.MutableRefObject<T>).current = value;\n}\n\nexport function composeMouseHandlers<T extends HTMLElement>(\n\tuserHandler: ((event: React.MouseEvent<T>) => void) | undefined,\n\tlibraryHandler: (event: React.MouseEvent<T>) => void\n) {\n\treturn (event: React.MouseEvent<T>) => {\n\t\tuserHandler?.(event);\n\t\tif (event.defaultPrevented) return;\n\t\tlibraryHandler(event);\n\t};\n}\n\nexport function composeKeyboardHandlers<T extends HTMLElement>(\n\tuserHandler: ((event: React.KeyboardEvent<T>) => void) | undefined,\n\tlibraryHandler: (event: React.KeyboardEvent<T>) => void\n) {\n\treturn (event: React.KeyboardEvent<T>) => {\n\t\tuserHandler?.(event);\n\t\tif (event.defaultPrevented) return;\n\t\tlibraryHandler(event);\n\t};\n}\n","import { createContext, useContext } from \"react\";\n\nimport { createMissingContextError } from \"@ryuzaki13/react-foundation-lib/error\";\n\nimport type { MenuOpenSource, MenuPoint } from \"@ryuzaki13/react-foundation-lib/context-menu\";\n\nexport type MenuTriggerMode = \"click\" | \"contextmenu\";\n\ninterface MenuContextValue {\n\tmode: MenuTriggerMode;\n\topen: boolean;\n\topenSource: MenuOpenSource | null;\n\tanchorPoint: MenuPoint | null;\n\tfloatingStyles: React.CSSProperties;\n\tfloatingRef: React.RefObject<HTMLElement | null>;\n\ttriggerRef: React.RefObject<HTMLElement | null>;\n\tsetFloating: (node: HTMLElement | null) => void;\n\tregisterTriggerElement: (node: HTMLElement | null) => void;\n\tonTriggerClick: (event: React.MouseEvent<HTMLElement>) => void;\n\tonTriggerContextMenu: (event: React.MouseEvent<HTMLElement>) => void;\n\tonTriggerKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\n\tcloseMenu: () => void;\n}\n\nexport const MenuContext = createContext<MenuContextValue | null>(null);\n\nexport function useMenuContext() {\n\tconst context = useContext(MenuContext);\n\tif (!context) {\n\t\tthrow createMissingContextError({\n\t\t\thookName: \"useMenuContext\",\n\t\t\tproviderName: \"MenuRoot\"\n\t\t});\n\t}\n\treturn context;\n}\n","import React, { cloneElement } from \"react\";\n\nimport { assignRef, composeKeyboardHandlers, composeMouseHandlers } from \"./helpers\";\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface ContextMenuTriggerProps {\n\tchildren: React.ReactElement<React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }>;\n}\n\nexport const ContextMenuTrigger: React.FC<ContextMenuTriggerProps> = ({ children }) => {\n\tconst { mode, open, registerTriggerElement, onTriggerContextMenu, onTriggerKeyDown } = useMenuContext();\n\n\tif (mode !== \"contextmenu\") {\n\t\tthrow new Error(\"ContextMenu.Trigger must be used within <ContextMenu>\");\n\t}\n\n\treturn cloneElement(children, {\n\t\tref: (node: HTMLElement | null) => {\n\t\t\tconst childRef = (children.props as { ref?: React.Ref<HTMLElement> }).ref;\n\t\t\tassignRef(childRef, node);\n\t\t\tregisterTriggerElement(node);\n\t\t},\n\t\t\"aria-haspopup\": \"menu\",\n\t\t\"aria-expanded\": open,\n\t\tonContextMenu: composeMouseHandlers(children.props.onContextMenu, onTriggerContextMenu),\n\t\tonKeyDown: composeKeyboardHandlers(children.props.onKeyDown, onTriggerKeyDown)\n\t});\n};\n","@use \"@/styles/mixins\" as *;\n\n.menuPositioner {\n\tz-index: var(--z-dropdown);\n\toutline: none;\n}\n\n.menuOptions {\n\t--menu-max-height: calc(100dvh - var(--space-xl));\n\t--menu-min-width: 14em;\n\t--menu-max-width: min(24em, calc(100dvw - var(--space-xl)));\n\t--input-width: var(--menu-min-width);\n\n\tmin-width: var(--menu-min-width);\n\tmax-width: var(--menu-max-width);\n\tmax-height: var(--menu-max-height);\n}\n\n.radialPanel {\n\tposition: fixed;\n\twidth: var(--radial-panel-size);\n\theight: var(--radial-panel-size);\n\tz-index: var(--z-context-menu, var(--z-dropdown));\n\toutline: none;\n\tpointer-events: none;\n}\n\n.radialRing {\n\tposition: absolute;\n\tinset: calc(var(--radial-item-size) / 2);\n\tborder: var(--border);\n\tborder-radius: 50%;\n\tbackground:\n\t\tradial-gradient(circle, color-mix(in srgb, var(--surface-0) 96%, transparent) 0 36%, transparent 37%),\n\t\tcolor-mix(in srgb, var(--surface-0) 88%, transparent);\n\tbox-shadow: var(--shadow-md);\n\tpointer-events: none;\n}\n\n.radialCenterButton {\n\tposition: absolute;\n\tleft: 50%;\n\ttop: 50%;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: calc(var(--radial-item-size) * 0.72);\n\theight: calc(var(--radial-item-size) * 0.72);\n\tpadding: var(--space-xs);\n\ttransform: translate(-50%, -50%);\n\tborder: var(--border);\n\tborder-radius: 50%;\n\tbackground-color: var(--surface-0);\n\tcolor: var(--content-0);\n\tbox-shadow: var(--shadow-sm);\n\tpointer-events: auto;\n\ttransition:\n\t\tbackground-color var(--transition-fast) ease,\n\t\tborder-color var(--transition-fast) ease,\n\t\tcolor var(--transition-fast) ease,\n\t\ttransform var(--transition-fast) ease;\n\n\t&:focus {\n\t\tbackground-color: var(--surface-1);\n\t\tborder-color: var(--border-1);\n\t}\n\n\t@include hover(true) {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-accent);\n\t\tcursor: pointer;\n\t\ttransform: translate(-50%, -50%) scale(1.06);\n\t}\n}\n\n.radialCenterButtonText {\n\tmax-width: 100%;\n\toverflow: hidden;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tfont-size: var(--font-size-sm);\n\tline-height: 1.1;\n}\n\n.radialItems {\n\tposition: absolute;\n\tinset: 0;\n\tpointer-events: none;\n}\n\n.radialItemSlot {\n\tposition: absolute;\n\tleft: 50%;\n\ttop: 50%;\n\twidth: var(--radial-item-size);\n\theight: var(--radial-item-size);\n\ttransform: rotate(var(--radial-item-angle)) translate(var(--radial-radius)) rotate(calc(var(--radial-item-angle) * -1))\n\t\ttranslate(-50%, -50%);\n\tpointer-events: none;\n}\n\n.radialItem {\n\tdisplay: grid;\n\tgrid-template-rows: 1fr auto;\n\talign-items: center;\n\tjustify-items: center;\n\tgap: 0.15rem;\n\twidth: 100%;\n\theight: 100%;\n\tpadding: var(--space-xs);\n\tborder: var(--border);\n\tborder-radius: 50%;\n\tbackground-color: var(--surface-0);\n\tcolor: var(--content-0);\n\tbox-shadow: var(--shadow-sm);\n\tpointer-events: auto;\n\ttransition:\n\t\tbackground-color var(--transition-fast) ease,\n\t\tborder-color var(--transition-fast) ease,\n\t\tcolor var(--transition-fast) ease,\n\t\ttransform var(--transition-fast) ease;\n\n\t&:focus {\n\t\tbackground-color: var(--surface-1);\n\t\tborder-color: var(--border-1);\n\t}\n\n\t&:disabled,\n\t&[aria-disabled=\"true\"] {\n\t\tcursor: default;\n\t\tcolor: var(--content-2);\n\t\topacity: 0.52;\n\t\tpointer-events: none;\n\t}\n\n\t@include hover(true) {\n\t\tbackground-color: var(--surface-accent);\n\t\tcolor: var(--content-accent);\n\t\tcursor: pointer;\n\t\ttransform: scale(1.06);\n\t}\n}\n\n.radialItemIcon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmin-width: var(--space-md);\n\tmin-height: var(--space-md);\n\n\t> svg {\n\t\twidth: var(--space-md);\n\t\theight: var(--space-md);\n\t}\n}\n\n.radialItemText {\n\tmax-width: 100%;\n\toverflow: hidden;\n\ttext-align: center;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tfont-size: var(--font-size-sm);\n}\n","import React, { useCallback } from \"react\";\n\nimport { useClickOutside, useEscapeDismiss, useOverlayFocus } from \"@ryuzaki13/react-foundation-lib/dom\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { createPortal } from \"react-dom\";\n\nimport { PickerOptions } from \"../../picker\";\nimport styles from \"../ContextMenu.module.scss\";\n\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface MenuContentProps {\n\tchildren: React.ReactNode | ((ctx: { closeMenu: () => void }) => React.ReactNode);\n\tclassName?: string;\n\tcloseOnOutside?: boolean;\n\tcloseOnEscape?: boolean;\n\tdisableOutsideClick?: boolean;\n\trestoreFocus?: boolean;\n}\n\nexport const MenuContent: React.FC<MenuContentProps> = ({\n\tchildren,\n\tclassName,\n\tcloseOnOutside = true,\n\tcloseOnEscape = true,\n\tdisableOutsideClick = false,\n\trestoreFocus = true\n}) => {\n\tconst { open, floatingStyles, floatingRef, triggerRef, setFloating, closeMenu } = useMenuContext();\n\n\tconst getNavigableItems = useCallback(() => {\n\t\tconst floatingElement = floatingRef.current;\n\t\tif (!floatingElement) return [];\n\n\t\treturn Array.from(floatingElement.querySelectorAll<HTMLElement>('[data-menu-item=\"true\"]:not([data-disabled=\"true\"])'));\n\t}, [floatingRef]);\n\n\tuseOverlayFocus<HTMLElement>({\n\t\tactive: open,\n\t\tinitialFocus: (container) => getNavigableItems()[0] ?? container,\n\t\trestoreFocus,\n\t\trestoreFocusTarget: () => triggerRef.current,\n\t\tcontainerRef: floatingRef\n\t});\n\n\tuseEscapeDismiss({\n\t\tactive: open,\n\t\tenabled: closeOnEscape,\n\t\tonDismiss: closeMenu,\n\t\tcontainerRef: floatingRef\n\t});\n\n\tconst outsideClose = useCallback(() => {\n\t\tif (!open || disableOutsideClick) return;\n\t\tif (closeOnOutside) {\n\t\t\tcloseMenu();\n\t\t}\n\t}, [open, disableOutsideClick, closeOnOutside, closeMenu]);\n\n\tuseClickOutside([floatingRef as React.RefObject<HTMLElement>, triggerRef as React.RefObject<HTMLElement>], outsideClose);\n\n\tconst onMenuKeyDown = useCallback(\n\t\t(event: React.KeyboardEvent<HTMLElement>) => {\n\t\t\tconst items = getNavigableItems();\n\t\t\tif (items.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst activeElement = document.activeElement as HTMLElement | null;\n\t\t\tconst currentIndex = activeElement ? items.indexOf(activeElement) : -1;\n\n\t\t\tif (event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex = currentIndex >= 0 ? (currentIndex + 1) % items.length : 0;\n\t\t\t\titems[nextIndex]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex = currentIndex >= 0 ? (currentIndex - 1 + items.length) % items.length : items.length - 1;\n\t\t\t\titems[nextIndex]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\titems[0]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\titems[items.length - 1]?.focus();\n\t\t\t}\n\t\t},\n\t\t[getNavigableItems]\n\t);\n\n\tif (typeof document === \"undefined\") return null;\n\n\treturn createPortal(\n\t\t<AnimatePresence>\n\t\t\t{open && (\n\t\t\t\t<motion.div\n\t\t\t\t\tref={setFloating}\n\t\t\t\t\tstyle={floatingStyles}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\tclassName={styles.menuPositioner}\n\t\t\t\t\tonKeyDown={onMenuKeyDown}\n\t\t\t\t\tinitial={{ opacity: 0, scale: 0.96, y: -2 }}\n\t\t\t\t\tanimate={{ opacity: 1, scale: 1, y: 0 }}\n\t\t\t\t\texit={{ opacity: 0, scale: 0.96, y: -2 }}\n\t\t\t\t\ttransition={{ duration: 0.14, ease: \"easeOut\" }}>\n\t\t\t\t\t<PickerOptions className={cn(styles.menuOptions, className)}>\n\t\t\t\t\t\t{typeof children === \"function\" ? children({ closeMenu }) : children}\n\t\t\t\t\t</PickerOptions>\n\t\t\t\t</motion.div>\n\t\t\t)}\n\t\t</AnimatePresence>,\n\t\tdocument.body\n\t);\n};\n","import React from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\n\nexport interface MenuGroupLabelProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const MenuGroupLabel: React.FC<MenuGroupLabelProps> = ({ children, className }) => {\n\treturn <div className={cn(uiStyles.uiPopupGroupLabel, className)}>{children}</div>;\n};\n","import { type HTMLAttributeAnchorTarget, type MouseEvent, type ReactNode, useCallback } from \"react\";\n\nimport { Option, OptionButton, OptionLink } from \"../../option\";\n\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface MenuItemProps {\n\tchildren: string;\n\ticon?: ReactNode;\n\thotKey?: string;\n\tclassName?: string;\n\tdisabled?: boolean;\n\thref?: string;\n\ttarget?: HTMLAttributeAnchorTarget;\n\trel?: string;\n\tcloseOnSelect?: boolean;\n\tonSelect?: (event: MouseEvent<HTMLElement>) => void;\n}\n\nexport function MenuItem({\n\tchildren,\n\ticon,\n\thotKey,\n\tclassName,\n\tdisabled,\n\thref,\n\ttarget,\n\trel,\n\tcloseOnSelect = true,\n\tonSelect\n}: MenuItemProps) {\n\tconst { closeMenu } = useMenuContext();\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement>) => {\n\t\t\tif (disabled) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonSelect?.(event);\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\tif (closeOnSelect) {\n\t\t\t\tcloseMenu();\n\t\t\t}\n\t\t},\n\t\t[disabled, onSelect, closeOnSelect, closeMenu]\n\t);\n\n\tif (href) {\n\t\treturn (\n\t\t\t<Option disabled={disabled} className={className}>\n\t\t\t\t<OptionLink\n\t\t\t\t\ticon={icon}\n\t\t\t\t\thotkey={hotKey}\n\t\t\t\t\ttext={children}\n\t\t\t\t\thref={href}\n\t\t\t\t\ttarget={target}\n\t\t\t\t\trel={rel}\n\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\tdata-menu-item=\"true\"\n\t\t\t\t\tdata-disabled={disabled ? \"true\" : undefined}\n\t\t\t\t\tdata-ui=\"context-menu-item\"\n\t\t\t\t\tdata-action=\"select-context-menu-item\"\n\t\t\t\t\tonClick={handleClick as React.MouseEventHandler<HTMLAnchorElement>}\n\t\t\t\t/>\n\t\t\t</Option>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Option disabled={disabled} className={className}>\n\t\t\t<OptionButton\n\t\t\t\ticon={icon}\n\t\t\t\thotkey={hotKey}\n\t\t\t\ttext={children}\n\t\t\t\trole=\"menuitem\"\n\t\t\t\ttabIndex={-1}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tdata-menu-item=\"true\"\n\t\t\t\tdata-disabled={disabled ? \"true\" : undefined}\n\t\t\t\tdata-ui=\"context-menu-item\"\n\t\t\t\tdata-action=\"select-context-menu-item\"\n\t\t\t\tonClick={handleClick as React.MouseEventHandler<HTMLButtonElement>}\n\t\t\t/>\n\t\t</Option>\n\t);\n}\n","import React, { useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { autoUpdate, flip, offset, Placement, shift, useFloating } from \"@floating-ui/react\";\nimport {\n\tcloseMenu,\n\tcreateVirtualAnchor,\n\tgetMenuPointFromEvent,\n\tgetMenuPointFromRect,\n\tinitialMenuState,\n\topenMenu\n} from \"@ryuzaki13/react-foundation-lib/context-menu\";\n\nimport { MenuContext, MenuTriggerMode } from \"./MenuContext\";\n\ninterface MenuRootProps {\n\tchildren: React.ReactNode;\n\tmode: MenuTriggerMode;\n\tplacement?: Placement;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}\n\nexport function MenuRoot({\n\tchildren,\n\tmode,\n\tplacement = mode === \"click\" ? \"bottom-start\" : \"right-start\",\n\topen: controlledOpen,\n\tdefaultOpen,\n\tonOpenChange\n}: MenuRootProps) {\n\tconst [menuState, setMenuState] = useState(initialMenuState);\n\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen ?? false);\n\tconst isControlled = controlledOpen !== undefined;\n\tconst open = isControlled ? controlledOpen : uncontrolledOpen;\n\tconst triggerElementRef = useRef<HTMLElement | null>(null);\n\n\tconst { refs, floatingStyles, update } = useFloating({\n\t\tplacement,\n\t\tstrategy: mode === \"contextmenu\" ? \"fixed\" : \"absolute\",\n\t\ttransform: false,\n\t\tmiddleware: [offset(6), flip({ padding: 8 }), shift({ padding: 8 })],\n\t\twhileElementsMounted: autoUpdate\n\t});\n\n\tconst setOpen = useCallback(\n\t\t(nextOpen: boolean) => {\n\t\t\tif (!isControlled) {\n\t\t\t\tsetUncontrolledOpen(nextOpen);\n\t\t\t}\n\t\t\tonOpenChange?.(nextOpen);\n\t\t\tif (!nextOpen) {\n\t\t\t\tsetMenuState((state) => closeMenu(state));\n\t\t\t}\n\t\t},\n\t\t[isControlled, onOpenChange]\n\t);\n\n\tconst closeMenuHandler = useCallback(() => {\n\t\tsetOpen(false);\n\t}, [setOpen]);\n\n\tconst openAtElement = useCallback(\n\t\t(element: HTMLElement, source: \"click\" | \"keyboard\") => {\n\t\t\trefs.setReference(element);\n\t\t\tsetMenuState(\n\t\t\t\topenMenu({\n\t\t\t\t\tsource,\n\t\t\t\t\tanchor: {\n\t\t\t\t\t\ttype: \"element\",\n\t\t\t\t\t\telement\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\tsetOpen(true);\n\t\t},\n\t\t[refs, setOpen]\n\t);\n\n\tconst openAtPoint = useCallback(\n\t\t(point: { x: number; y: number }, source: \"contextmenu\" | \"keyboard\", contextElement?: HTMLElement | null) => {\n\t\t\trefs.setReference(createVirtualAnchor(point, contextElement));\n\t\t\tsetMenuState(\n\t\t\t\topenMenu({\n\t\t\t\t\tsource,\n\t\t\t\t\tanchor: {\n\t\t\t\t\t\ttype: \"point\",\n\t\t\t\t\t\tpoint,\n\t\t\t\t\t\tcontextElement\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t\tsetOpen(true);\n\t\t\tupdate();\n\t\t},\n\t\t[refs, setOpen, update]\n\t);\n\n\tconst registerTriggerElement = useCallback(\n\t\t(node: HTMLElement | null) => {\n\t\t\ttriggerElementRef.current = node;\n\t\t\tif (mode === \"click\") {\n\t\t\t\trefs.setReference(node);\n\t\t\t}\n\t\t},\n\t\t[mode, refs]\n\t);\n\n\tconst onTriggerClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement>) => {\n\t\t\tif (mode !== \"click\") return;\n\t\t\tconst element = event.currentTarget;\n\n\t\t\tif (open && menuState.anchor?.type === \"element\" && menuState.anchor.element === element) {\n\t\t\t\tcloseMenuHandler();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\topenAtElement(element, \"click\");\n\t\t},\n\t\t[mode, open, menuState.anchor, closeMenuHandler, openAtElement]\n\t);\n\n\tconst onTriggerContextMenu = useCallback(\n\t\t(event: React.MouseEvent<HTMLElement>) => {\n\t\t\tif (mode !== \"contextmenu\") return;\n\t\t\tevent.preventDefault();\n\n\t\t\tconst element = event.currentTarget;\n\t\t\tconst point = getMenuPointFromEvent(event);\n\t\t\topenAtPoint(point, \"contextmenu\", element);\n\t\t},\n\t\t[mode, openAtPoint]\n\t);\n\n\tconst onTriggerKeyDown = useCallback(\n\t\t(event: React.KeyboardEvent<HTMLElement>) => {\n\t\t\tconst isContextMenuKeyboardOpen = event.key === \"ContextMenu\" || (event.shiftKey && event.key === \"F10\");\n\t\t\tif (!isContextMenuKeyboardOpen) return;\n\n\t\t\tevent.preventDefault();\n\t\t\tconst element = event.currentTarget;\n\n\t\t\tif (mode === \"click\") {\n\t\t\t\topenAtElement(element, \"keyboard\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst point = getMenuPointFromRect(element.getBoundingClientRect());\n\t\t\topenAtPoint(point, \"keyboard\", element);\n\t\t},\n\t\t[mode, openAtElement, openAtPoint]\n\t);\n\n\tconst visible = open && menuState.anchor !== null;\n\tconst anchorPoint = useMemo(() => {\n\t\tif (!menuState.anchor) return null;\n\n\t\tif (menuState.anchor.type === \"point\") {\n\t\t\treturn menuState.anchor.point;\n\t\t}\n\n\t\tconst rect = menuState.anchor.element.getBoundingClientRect();\n\t\treturn getMenuPointFromRect(rect);\n\t}, [menuState.anchor]);\n\n\tconst value = useMemo(\n\t\t() => ({\n\t\t\tmode,\n\t\t\topen: visible,\n\t\t\topenSource: menuState.source,\n\t\t\tanchorPoint,\n\t\t\tfloatingStyles,\n\t\t\tfloatingRef: refs.floating,\n\t\t\ttriggerRef: triggerElementRef,\n\t\t\tsetFloating: refs.setFloating,\n\t\t\tregisterTriggerElement,\n\t\t\tonTriggerClick,\n\t\t\tonTriggerContextMenu,\n\t\t\tonTriggerKeyDown,\n\t\t\tcloseMenu: closeMenuHandler\n\t\t}),\n\t\t[\n\t\t\tmode,\n\t\t\tvisible,\n\t\t\tmenuState.source,\n\t\t\tanchorPoint,\n\t\t\tfloatingStyles,\n\t\t\trefs.floating,\n\t\t\trefs.setFloating,\n\t\t\tregisterTriggerElement,\n\t\t\tonTriggerClick,\n\t\t\tonTriggerContextMenu,\n\t\t\tonTriggerKeyDown,\n\t\t\tcloseMenuHandler\n\t\t]\n\t);\n\n\treturn <MenuContext.Provider value={value}>{children}</MenuContext.Provider>;\n}\n","import React from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\n\nexport interface MenuSeparatorProps {\n\tclassName?: string;\n}\n\nexport const MenuSeparator: React.FC<MenuSeparatorProps> = ({ className }) => {\n\treturn <div role=\"separator\" className={cn(uiStyles.uiPopupOptionSeparator, className)} />;\n};\n","import React, { Children, useCallback, useEffect, useMemo } from \"react\";\n\nimport { useClickOutside, useEscapeDismiss, useOverlayFocus } from \"@ryuzaki13/react-foundation-lib/dom\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { createPortal } from \"react-dom\";\n\nimport styles from \"../ContextMenu.module.scss\";\n\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface RadialMenuContentProps {\n\tchildren: React.ReactNode | ((ctx: { closeMenu: () => void }) => React.ReactNode);\n\tclassName?: string;\n\tcloseOnOutside?: boolean;\n\tcloseOnEscape?: boolean;\n\tdisableOutsideClick?: boolean;\n\trestoreFocus?: boolean;\n\tradius?: number;\n\titemSize?: number;\n\tcloseLabel?: string;\n}\n\nfunction clamp(value: number, min: number, max: number) {\n\tif (max < min) return min;\n\treturn Math.min(Math.max(value, min), max);\n}\n\nexport const RadialMenuContent: React.FC<RadialMenuContentProps> = ({\n\tchildren,\n\tclassName,\n\tcloseOnOutside = true,\n\tcloseOnEscape = true,\n\tdisableOutsideClick = false,\n\trestoreFocus = true,\n\tradius = 76,\n\titemSize = 64,\n\tcloseLabel = \"Закрыть\"\n}) => {\n\tconst { open, anchorPoint, floatingRef, triggerRef, setFloating, closeMenu } = useMenuContext();\n\n\tconst resolvedChildren = typeof children === \"function\" ? children({ closeMenu }) : children;\n\tconst itemNodes = useMemo(() => Children.toArray(resolvedChildren), [resolvedChildren]);\n\tconst itemCount = itemNodes.length;\n\tconst panelSize = radius * 2 + itemSize;\n\n\tconst panelPoint = useMemo(() => {\n\t\tif (typeof window === \"undefined\" || !anchorPoint) return null;\n\n\t\t// Радиальное меню центрируется на точке вызова, но не выходит за границы viewport.\n\t\tconst safeOffset = panelSize / 2 + 8;\n\t\treturn {\n\t\t\tx: clamp(anchorPoint.x, safeOffset, window.innerWidth - safeOffset),\n\t\t\ty: clamp(anchorPoint.y, safeOffset, window.innerHeight - safeOffset)\n\t\t};\n\t}, [anchorPoint, panelSize]);\n\n\tconst getNavigableItems = useCallback(() => {\n\t\tconst floatingElement = floatingRef.current;\n\t\tif (!floatingElement) return [];\n\n\t\treturn Array.from(floatingElement.querySelectorAll<HTMLElement>('[data-menu-item=\"true\"]:not([data-disabled=\"true\"])'));\n\t}, [floatingRef]);\n\n\tuseOverlayFocus<HTMLElement>({\n\t\tactive: open,\n\t\tinitialFocus: (container) => getNavigableItems()[0] ?? container,\n\t\trestoreFocus,\n\t\trestoreFocusTarget: () => triggerRef.current,\n\t\tcontainerRef: floatingRef\n\t});\n\n\tuseEffect(() => {\n\t\tif (!open || !anchorPoint) return;\n\n\t\tlet rafId = 0;\n\n\t\t/**\n\t\t * Повторный правый клик при уже открытом меню меняет только якорь, поэтому общий\n\t\t * эффект начального фокуса не перезапускается. Возвращаем фокус в меню явно.\n\t\t */\n\t\tconst focusMenuOnReposition = () => {\n\t\t\tconst focusTarget = getNavigableItems()[0] ?? floatingRef.current;\n\t\t\tfocusTarget?.focus();\n\t\t};\n\n\t\trafId = window.requestAnimationFrame(focusMenuOnReposition);\n\t\treturn () => window.cancelAnimationFrame(rafId);\n\t}, [open, anchorPoint, getNavigableItems, floatingRef]);\n\n\tuseEscapeDismiss({\n\t\tactive: open,\n\t\tenabled: closeOnEscape,\n\t\tonDismiss: closeMenu,\n\t\tcontainerRef: floatingRef\n\t});\n\n\tconst outsideClose = useCallback(() => {\n\t\tif (!open || disableOutsideClick) return;\n\t\tif (closeOnOutside) {\n\t\t\tcloseMenu();\n\t\t}\n\t}, [open, disableOutsideClick, closeOnOutside, closeMenu]);\n\n\tuseClickOutside([floatingRef as React.RefObject<HTMLElement>, triggerRef as React.RefObject<HTMLElement>], outsideClose);\n\n\tconst onMenuKeyDown = useCallback(\n\t\t(event: React.KeyboardEvent<HTMLElement>) => {\n\t\t\tconst items = getNavigableItems();\n\t\t\tif (items.length === 0) return;\n\n\t\t\tconst activeElement = document.activeElement as HTMLElement | null;\n\t\t\tconst currentIndex = activeElement ? items.indexOf(activeElement) : -1;\n\n\t\t\tif (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex = currentIndex >= 0 ? (currentIndex + 1) % items.length : 0;\n\t\t\t\titems[nextIndex]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst nextIndex = currentIndex >= 0 ? (currentIndex - 1 + items.length) % items.length : items.length - 1;\n\t\t\t\titems[nextIndex]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"Home\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\titems[0]?.focus();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (event.key === \"End\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t\titems[items.length - 1]?.focus();\n\t\t\t}\n\t\t},\n\t\t[getNavigableItems]\n\t);\n\n\tif (typeof document === \"undefined\") return null;\n\n\treturn createPortal(\n\t\t<AnimatePresence>\n\t\t\t{open && panelPoint && (\n\t\t\t\t<motion.div\n\t\t\t\t\tref={setFloating}\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--radial-panel-size\": `${panelSize}px`,\n\t\t\t\t\t\t\t\"--radial-radius\": `${radius}px`,\n\t\t\t\t\t\t\t\"--radial-item-size\": `${itemSize}px`,\n\t\t\t\t\t\t\tleft: panelPoint.x - panelSize / 2,\n\t\t\t\t\t\t\ttop: panelPoint.y - panelSize / 2,\n\t\t\t\t\t\t\ttransformOrigin: \"center\"\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\trole=\"menu\"\n\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\tclassName={cn(styles.radialPanel, className)}\n\t\t\t\t\tonKeyDown={onMenuKeyDown}\n\t\t\t\t\tinitial={{ opacity: 0, scale: 0.78 }}\n\t\t\t\t\tanimate={{ opacity: 1, scale: 1 }}\n\t\t\t\t\texit={{ opacity: 0, scale: 0.78 }}\n\t\t\t\t\ttransition={{ duration: 0.16, ease: \"easeOut\" }}>\n\t\t\t\t\t<div className={styles.radialRing} aria-hidden=\"true\" />\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\tclassName={styles.radialCenterButton}\n\t\t\t\t\t\taria-label={closeLabel}\n\t\t\t\t\t\tdata-menu-item=\"true\"\n\t\t\t\t\t\tdata-radial-close=\"true\"\n\t\t\t\t\t\tonClick={closeMenu}>\n\t\t\t\t\t\t<span className={styles.radialCenterButtonText}>{closeLabel}</span>\n\t\t\t\t\t</button>\n\t\t\t\t\t<div className={styles.radialItems}>\n\t\t\t\t\t\t{itemNodes.map((item, index) => {\n\t\t\t\t\t\t\tconst angle = itemCount > 0 ? -90 + (360 / itemCount) * index : -90;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t// Индекс допустим: порядок пунктов полностью задает геометрию кольца.\n\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\tclassName={styles.radialItemSlot}\n\t\t\t\t\t\t\t\t\tstyle={{ \"--radial-item-angle\": `${angle}deg` } as React.CSSProperties}>\n\t\t\t\t\t\t\t\t\t{item}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</motion.div>\n\t\t\t)}\n\t\t</AnimatePresence>,\n\t\tdocument.body\n\t);\n};\n","import React, { useCallback } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport styles from \"../ContextMenu.module.scss\";\n\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface RadialMenuItemProps {\n\tchildren: React.ReactNode;\n\ticon?: React.ReactNode;\n\tclassName?: string;\n\tdisabled?: boolean;\n\tcloseOnSelect?: boolean;\n\tonSelect?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const RadialMenuItem: React.FC<RadialMenuItemProps> = ({ children, icon, className, disabled, closeOnSelect = true, onSelect }) => {\n\tconst { closeMenu } = useMenuContext();\n\n\tconst handleClick = useCallback(\n\t\t(event: React.MouseEvent<HTMLButtonElement>) => {\n\t\t\tif (disabled) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonSelect?.(event);\n\t\t\tif (event.defaultPrevented) return;\n\n\t\t\tif (closeOnSelect) {\n\t\t\t\tcloseMenu();\n\t\t\t}\n\t\t},\n\t\t[disabled, onSelect, closeOnSelect, closeMenu]\n\t);\n\n\treturn (\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\trole=\"menuitem\"\n\t\t\ttabIndex={-1}\n\t\t\tdisabled={disabled}\n\t\t\taria-disabled={disabled}\n\t\t\tdata-menu-item=\"true\"\n\t\t\tdata-disabled={disabled ? \"true\" : undefined}\n\t\t\tdata-ui=\"radial-menu-item\"\n\t\t\tdata-action=\"select-radial-menu-item\"\n\t\t\tclassName={cn(styles.radialItem, className)}\n\t\t\tonClick={handleClick}>\n\t\t\t{icon && <span className={styles.radialItemIcon}>{icon}</span>}\n\t\t\t<span className={styles.radialItemText}>{children}</span>\n\t\t</button>\n\t);\n};\n","/* eslint-disable react-refresh/only-export-components */\nimport React from \"react\";\n\nimport { Placement } from \"@floating-ui/react\";\n\nimport { ContextMenuTrigger } from \"./ContextMenuTrigger\";\nimport { MenuContent } from \"./MenuContent\";\nimport { MenuGroupLabel } from \"./MenuGroupLabel\";\nimport { MenuItem } from \"./MenuItem\";\nimport { MenuRoot } from \"./MenuRoot\";\nimport { MenuSeparator } from \"./MenuSeparator\";\nimport { RadialMenuContent } from \"./RadialMenuContent\";\nimport { RadialMenuItem } from \"./RadialMenuItem\";\n\nexport interface ContextMenuProps {\n\tchildren: React.ReactNode;\n\tplacement?: Placement;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}\n\nconst ContextMenuRoot: React.FC<ContextMenuProps> = ({ children, placement, open, defaultOpen, onOpenChange }) => {\n\treturn (\n\t\t<MenuRoot mode=\"contextmenu\" placement={placement} open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n\t\t\t{children}\n\t\t</MenuRoot>\n\t);\n};\n\nexport const ContextMenu = Object.assign(ContextMenuRoot, {\n\tTrigger: ContextMenuTrigger,\n\tContent: MenuContent,\n\tRadialContent: RadialMenuContent,\n\tItem: MenuItem,\n\tRadialItem: RadialMenuItem,\n\tSeparator: MenuSeparator,\n\tGroupLabel: MenuGroupLabel\n});\n","import React, { cloneElement } from \"react\";\n\nimport { assignRef, composeKeyboardHandlers, composeMouseHandlers } from \"./helpers\";\nimport { useMenuContext } from \"./MenuContext\";\n\nexport interface DropdownMenuTriggerProps {\n\tchildren: React.ReactElement<React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }>;\n}\n\nexport const DropdownMenuTrigger: React.FC<DropdownMenuTriggerProps> = ({ children }) => {\n\tconst { mode, open, registerTriggerElement, onTriggerClick, onTriggerKeyDown } = useMenuContext();\n\n\tif (mode !== \"click\") {\n\t\tthrow new Error(\"DropdownMenu.Trigger must be used within <DropdownMenu>\");\n\t}\n\n\treturn cloneElement(children, {\n\t\tref: (node: HTMLElement | null) => {\n\t\t\tconst childRef = (children.props as { ref?: React.Ref<HTMLElement> }).ref;\n\t\t\tassignRef(childRef, node);\n\t\t\tregisterTriggerElement(node);\n\t\t},\n\t\t\"aria-haspopup\": \"menu\",\n\t\t\"aria-expanded\": open,\n\t\tonClick: composeMouseHandlers(children.props.onClick, onTriggerClick),\n\t\tonKeyDown: composeKeyboardHandlers(children.props.onKeyDown, onTriggerKeyDown)\n\t});\n};\n","/* eslint-disable react-refresh/only-export-components */\nimport React from \"react\";\n\nimport { Placement } from \"@floating-ui/react\";\n\nimport { DropdownMenuTrigger } from \"./DropdownMenuTrigger\";\nimport { MenuContent } from \"./MenuContent\";\nimport { MenuGroupLabel } from \"./MenuGroupLabel\";\nimport { MenuItem } from \"./MenuItem\";\nimport { MenuRoot } from \"./MenuRoot\";\nimport { MenuSeparator } from \"./MenuSeparator\";\n\nexport interface DropdownMenuProps {\n\tchildren: React.ReactNode;\n\tplacement?: Placement;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}\n\nconst DropdownMenuRoot: React.FC<DropdownMenuProps> = ({ children, placement, open, defaultOpen, onOpenChange }) => {\n\treturn (\n\t\t<MenuRoot mode=\"click\" placement={placement} open={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n\t\t\t{children}\n\t\t</MenuRoot>\n\t);\n};\n\nexport const DropdownMenu = Object.assign(DropdownMenuRoot, {\n\tTrigger: DropdownMenuTrigger,\n\tContent: MenuContent,\n\tItem: MenuItem,\n\tSeparator: MenuSeparator,\n\tGroupLabel: MenuGroupLabel\n});\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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-CB9pifff.js";import{t as i}from"./react-dom-BzEl8usk.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{i as s,n as c,r as l,t as u}from"./OptionButton-sAMQ-B-2.js";import{a as d,d as f,g as p,m as ee,p as m,r as h}from"./floating-ui.react-j2x4WoIe.js";import{a as g,i as _,n as v,r as y}from"./dom-DBd_DWF8.js";import{n as b}from"./error-De9R4E_F.js";import{n as x,t as S}from"./ui.module-31LPbZGK.js";import{n as C,r as w,t as T}from"./react-D9ony7ur.js";import{i as E,n as D,r as O,t as k}from"./Option-Bi34xfha.js";function A(e,t){if(e){if(typeof e==`function`){e(t);return}e.current=t}}function te(e,t){return n=>{e?.(n),!n.defaultPrevented&&t(n)}}function ne(e,t){return n=>{e?.(n),!n.defaultPrevented&&t(n)}}function re(){return(re=t((()=>{})))()}function j(){let e=(0,M.useContext)(N);if(!e)throw b({hookName:`useMenuContext`,providerName:`MenuRoot`});return e}var M,N;function P(){return(P=t((()=>{M=n(),N=(0,M.createContext)(null)})))()}var ie,F;function ae(){return(ae=t((()=>{ie=n(),P(),F=({children:e})=>{let{mode:t,open:n,registerTriggerElement:r,onTriggerContextMenu:i,onTriggerKeyDown:a}=j();if(t!==`contextmenu`)throw Error(`ContextMenu.Trigger must be used within <ContextMenu>`);return(0,ie.cloneElement)(e,{ref:t=>{let n=e.props.ref;A(n,t),r(t)},"aria-haspopup":`menu`,"aria-expanded":n,onContextMenu:te(e.props.onContextMenu,i),onKeyDown:ne(e.props.onKeyDown,a)})},F.__docgenInfo={description:``,methods:[],displayName:`ContextMenuTrigger`,props:{children:{required:!0,tsType:{name:`ReactReactElement`,raw:`React.ReactElement<React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }>`,elements:[{name:`intersection`,raw:`React.HTMLAttributes<HTMLElement> & { ref?: React.Ref<HTMLElement> }`,elements:[{name:`ReactHTMLAttributes`,raw:`React.HTMLAttributes<HTMLElement>`,elements:[{name:`HTMLElement`}]},{name:`signature`,type:`object`,raw:`{ ref?: React.Ref<HTMLElement> }`,signature:{properties:[{key:`ref`,value:{name:`ReactRef`,raw:`React.Ref<HTMLElement>`,elements:[{name:`HTMLElement`}],required:!1}}]}}]}]},description:``}}}})))()}var oe,se,ce,le,ue,de,fe,pe,me,he,ge,I;function L(){return(L=t((()=>{oe=`MsGee8`,se=`_5yVJwD`,ce=`f9wo9l`,le=`_9IPwGF`,ue=`CAmmlz`,de=`_5KEBWR`,fe=`L28onY`,pe=`Pg-1Y3`,me=`ObIrS2`,he=`_0jf5vt`,ge=`zKwsQF`,I={menuPositioner:oe,menuOptions:se,radialPanel:ce,radialRing:le,radialCenterButton:ue,radialCenterButtonText:de,radialItems:fe,radialItemSlot:pe,radialItem:me,radialItemIcon:he,radialItemText:ge}})))()}var R,_e,z,ve;function ye(){return(ye=t((()=>{R=e(n(),1),y(),o(),T(),_e=i(),E(),L(),P(),z=r(),ve=({children:e,className:t,closeOnOutside:n=!0,closeOnEscape:r=!0,disableOutsideClick:i=!1,restoreFocus:o=!0})=>{let{open:s,floatingStyles:c,floatingRef:l,triggerRef:u,setFloating:d,closeMenu:f}=j(),p=(0,R.useCallback)(()=>{let e=l.current;return e?Array.from(e.querySelectorAll(`[data-menu-item="true"]:not([data-disabled="true"])`)):[]},[l]);g({active:s,initialFocus:e=>p()[0]??e,restoreFocus:o,restoreFocusTarget:()=>u.current,containerRef:l}),v({active:s,enabled:r,onDismiss:f,containerRef:l});let ee=(0,R.useCallback)(()=>{!s||i||n&&f()},[s,i,n,f]);_([l,u],ee);let m=(0,R.useCallback)(e=>{let t=p();if(t.length===0)return;let n=document.activeElement,r=n?t.indexOf(n):-1;if(e.key===`ArrowDown`){e.preventDefault(),t[r>=0?(r+1)%t.length:0]?.focus();return}if(e.key===`ArrowUp`){e.preventDefault(),t[r>=0?(r-1+t.length)%t.length:t.length-1]?.focus();return}if(e.key===`Home`){e.preventDefault(),t[0]?.focus();return}e.key===`End`&&(e.preventDefault(),t[t.length-1]?.focus())},[p]);return typeof document>`u`?null:(0,_e.createPortal)((0,z.jsx)(w,{children:s&&(0,z.jsx)(C.div,{ref:d,style:c,role:`menu`,tabIndex:-1,className:I.menuPositioner,onKeyDown:m,initial:{opacity:0,scale:.96,y:-2},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.96,y:-2},transition:{duration:.14,ease:`easeOut`},children:(0,z.jsx)(O,{className:a(I.menuOptions,t),children:typeof e==`function`?e({closeMenu:f}):e})})}),document.body)}})))()}var be,B;function V(){return(V=t((()=>{n(),o(),S(),be=r(),B=({children:e,className:t})=>(0,be.jsx)(`div`,{className:a(x.uiPopupGroupLabel,t),children:e}),B.__docgenInfo={description:``,methods:[],displayName:`MenuGroupLabel`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}function xe({ref:e,icon:t,text:n,searchText:r,code:i,hotkey:o,...s}){return(0,H.jsx)(`a`,{...s,ref:e,className:a(x.uiOptionLink,s.className),children:(0,H.jsx)(l,{icon:t,text:n,searchText:r,...i===void 0?{hotkey:o}:{code:i}})})}var H;function Se(){return(Se=t((()=>{o(),S(),s(),H=r(),xe.__docgenInfo={description:`Основное link-действие внутри внешней оболочки Option.`,methods:[],displayName:`OptionLink`,props:{icon:{required:!1,tsType:{name:`ReactNode`},description:``},text:{required:!0,tsType:{name:`string`},description:``},searchText:{required:!1,tsType:{name:`string`},description:``},emphasizeContent:{required:!1,tsType:{name:`boolean`},description:``},ref:{required:!1,tsType:{name:`Ref`,elements:[{name:`HTMLAnchorElement`}],raw:`Ref<HTMLAnchorElement>`},description:``}}}})))()}function U({children:e,icon:t,hotKey:n,className:r,disabled:i,href:a,target:o,rel:s,closeOnSelect:c=!0,onSelect:l}){let{closeMenu:d}=j(),f=(0,Ce.useCallback)(e=>{if(i){e.preventDefault(),e.stopPropagation();return}l?.(e),!e.defaultPrevented&&c&&d()},[i,l,c,d]);return a?(0,W.jsx)(k,{disabled:i,className:r,children:(0,W.jsx)(xe,{icon:t,hotkey:n,text:e,href:a,target:o,rel:s,role:`menuitem`,tabIndex:-1,"aria-disabled":i,"data-menu-item":`true`,"data-disabled":i?`true`:void 0,"data-ui":`context-menu-item`,"data-action":`select-context-menu-item`,onClick:f})}):(0,W.jsx)(k,{disabled:i,className:r,children:(0,W.jsx)(u,{icon:t,hotkey:n,text:e,role:`menuitem`,tabIndex:-1,disabled:i,"data-menu-item":`true`,"data-disabled":i?`true`:void 0,"data-ui":`context-menu-item`,"data-action":`select-context-menu-item`,onClick:f})})}var Ce,W;function G(){return(G=t((()=>{Ce=n(),D(),c(),Se(),P(),W=r(),U.__docgenInfo={description:``,methods:[],displayName:`MenuItem`,props:{children:{required:!0,tsType:{name:`string`},description:``},icon:{required:!1,tsType:{name:`ReactNode`},description:``},hotKey:{required:!1,tsType:{name:`string`},description:``},className:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},href:{required:!1,tsType:{name:`string`},description:``},target:{required:!1,tsType:{name:`HTMLAttributeAnchorTarget`},description:``},rel:{required:!1,tsType:{name:`string`},description:``},closeOnSelect:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},onSelect:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(event: MouseEvent<HTMLElement>) => void`,signature:{arguments:[{type:{name:`MouseEvent`,elements:[{name:`HTMLElement`}],raw:`MouseEvent<HTMLElement>`},name:`event`}],return:{name:`void`}}},description:``}}}})))()}function we(e){return{x:e.clientX,y:e.clientY}}function Te(e){return{x:e.left+e.width/2,y:e.top+e.height/2}}function Ee(e,t){return{contextElement:t??void 0,getBoundingClientRect:()=>({x:e.x,y:e.y,top:e.y,left:e.x,bottom:e.y,right:e.x,width:0,height:0,toJSON:()=>{}})}}function De(e){return{open:!0,source:e.source,anchor:e.anchor}}function Oe(e){return!e.open&&e.anchor===null?e:{open:!1,source:null,anchor:null}}var ke;function Ae(){return(Ae=t((()=>{ke={open:!1,source:null,anchor:null}})))()}function K({children:e,mode:t,placement:n=t===`click`?`bottom-start`:`right-start`,open:r,defaultOpen:i,onOpenChange:a}){let[o,s]=(0,q.useState)(ke),[c,l]=(0,q.useState)(i??!1),u=r!==void 0,h=u?r:c,g=(0,q.useRef)(null),{refs:_,floatingStyles:v,update:y}=d({placement:n,strategy:t===`contextmenu`?`fixed`:`absolute`,transform:!1,middleware:[m(6),f({padding:8}),ee({padding:8})],whileElementsMounted:p}),b=(0,q.useCallback)(e=>{u||l(e),a?.(e),e||s(e=>Oe(e))},[u,a]),x=(0,q.useCallback)(()=>{b(!1)},[b]),S=(0,q.useCallback)((e,t)=>{_.setReference(e),s(De({source:t,anchor:{type:`element`,element:e}})),b(!0)},[_,b]),C=(0,q.useCallback)((e,t,n)=>{_.setReference(Ee(e,n)),s(De({source:t,anchor:{type:`point`,point:e,contextElement:n}})),b(!0),y()},[_,b,y]),w=(0,q.useCallback)(e=>{g.current=e,t===`click`&&_.setReference(e)},[t,_]),T=(0,q.useCallback)(e=>{if(t!==`click`)return;let n=e.currentTarget;if(h&&o.anchor?.type===`element`&&o.anchor.element===n){x();return}S(n,`click`)},[t,h,o.anchor,x,S]),E=(0,q.useCallback)(e=>{if(t!==`contextmenu`)return;e.preventDefault();let n=e.currentTarget,r=we(e);C(r,`contextmenu`,n)},[t,C]),D=(0,q.useCallback)(e=>{if(!(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`))return;e.preventDefault();let n=e.currentTarget;if(t===`click`){S(n,`keyboard`);return}let r=Te(n.getBoundingClientRect());C(r,`keyboard`,n)},[t,S,C]),O=h&&o.anchor!==null,k=(0,q.useMemo)(()=>o.anchor?o.anchor.type===`point`?o.anchor.point:Te(o.anchor.element.getBoundingClientRect()):null,[o.anchor]),A=(0,q.useMemo)(()=>({mode:t,open:O,openSource:o.source,anchorPoint:k,floatingStyles:v,floatingRef:_.floating,triggerRef:g,setFloating:_.setFloating,registerTriggerElement:w,onTriggerClick:T,onTriggerContextMenu:E,onTriggerKeyDown:D,closeMenu:x}),[t,O,o.source,k,v,_.floating,_.setFloating,w,T,E,D,x]);return(0,je.jsx)(N.Provider,{value:A,children:e})}var q,je;function J(){return(J=t((()=>{q=e(n(),1),h(),Ae(),P(),je=r(),K.__docgenInfo={description:``,methods:[],displayName:`MenuRoot`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},mode:{required:!0,tsType:{name:`union`,raw:`"click" | "contextmenu"`,elements:[{name:`literal`,value:`"click"`},{name:`literal`,value:`"contextmenu"`}]},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`mode === "click" ? "bottom-start" : "right-start"`,computed:!1}},open:{required:!1,tsType:{name:`boolean`},description:``},defaultOpen:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``}}}})))()}var Me,Y;function X(){return(X=t((()=>{n(),o(),S(),Me=r(),Y=({className:e})=>(0,Me.jsx)(`div`,{role:`separator`,className:a(x.uiPopupOptionSeparator,e)}),Y.__docgenInfo={description:``,methods:[],displayName:`MenuSeparator`,props:{className:{required:!1,tsType:{name:`string`},description:``}}}})))()}function Ne(e,t,n){return n<t?t:Math.min(Math.max(e,t),n)}var Z,Pe,Q,Fe;function Ie(){return(Ie=t((()=>{Z=e(n(),1),y(),o(),T(),Pe=i(),L(),P(),Q=r(),Fe=({children:e,className:t,closeOnOutside:n=!0,closeOnEscape:r=!0,disableOutsideClick:i=!1,restoreFocus:o=!0,radius:s=76,itemSize:c=64,closeLabel:l=`Закрыть`})=>{let{open:u,anchorPoint:d,floatingRef:f,triggerRef:p,setFloating:ee,closeMenu:m}=j(),h=typeof e==`function`?e({closeMenu:m}):e,y=(0,Z.useMemo)(()=>Z.Children.toArray(h),[h]),b=y.length,x=s*2+c,S=(0,Z.useMemo)(()=>{if(typeof window>`u`||!d)return null;let e=x/2+8;return{x:Ne(d.x,e,window.innerWidth-e),y:Ne(d.y,e,window.innerHeight-e)}},[d,x]),T=(0,Z.useCallback)(()=>{let e=f.current;return e?Array.from(e.querySelectorAll(`[data-menu-item="true"]:not([data-disabled="true"])`)):[]},[f]);g({active:u,initialFocus:e=>T()[0]??e,restoreFocus:o,restoreFocusTarget:()=>p.current,containerRef:f}),(0,Z.useEffect)(()=>{if(!u||!d)return;let e=0;return e=window.requestAnimationFrame(()=>{(T()[0]??f.current)?.focus()}),()=>window.cancelAnimationFrame(e)},[u,d,T,f]),v({active:u,enabled:r,onDismiss:m,containerRef:f});let E=(0,Z.useCallback)(()=>{!u||i||n&&m()},[u,i,n,m]);_([f,p],E);let D=(0,Z.useCallback)(e=>{let t=T();if(t.length===0)return;let n=document.activeElement,r=n?t.indexOf(n):-1;if(e.key===`ArrowRight`||e.key===`ArrowDown`){e.preventDefault(),t[r>=0?(r+1)%t.length:0]?.focus();return}if(e.key===`ArrowLeft`||e.key===`ArrowUp`){e.preventDefault(),t[r>=0?(r-1+t.length)%t.length:t.length-1]?.focus();return}if(e.key===`Home`){e.preventDefault(),t[0]?.focus();return}e.key===`End`&&(e.preventDefault(),t[t.length-1]?.focus())},[T]);return typeof document>`u`?null:(0,Pe.createPortal)((0,Q.jsx)(w,{children:u&&S&&(0,Q.jsxs)(C.div,{ref:ee,style:{"--radial-panel-size":`${x}px`,"--radial-radius":`${s}px`,"--radial-item-size":`${c}px`,left:S.x-x/2,top:S.y-x/2,transformOrigin:`center`},role:`menu`,tabIndex:-1,className:a(I.radialPanel,t),onKeyDown:D,initial:{opacity:0,scale:.78},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.78},transition:{duration:.16,ease:`easeOut`},children:[(0,Q.jsx)(`div`,{className:I.radialRing,"aria-hidden":`true`}),(0,Q.jsx)(`button`,{type:`button`,role:`menuitem`,className:I.radialCenterButton,"aria-label":l,"data-menu-item":`true`,"data-radial-close":`true`,onClick:m,children:(0,Q.jsx)(`span`,{className:I.radialCenterButtonText,children:l})}),(0,Q.jsx)(`div`,{className:I.radialItems,children:y.map((e,t)=>{let n=b>0?-90+360/b*t:-90;return(0,Q.jsx)(`div`,{className:I.radialItemSlot,style:{"--radial-item-angle":`${n}deg`},children:e},t)})})]})}),document.body)}})))()}var Le,$,Re;function ze(){return(ze=t((()=>{Le=e(n(),1),o(),L(),P(),$=r(),Re=({children:e,icon:t,className:n,disabled:r,closeOnSelect:i=!0,onSelect:o})=>{let{closeMenu:s}=j(),c=(0,Le.useCallback)(e=>{if(r){e.preventDefault(),e.stopPropagation();return}o?.(e),!e.defaultPrevented&&i&&s()},[r,o,i,s]);return(0,$.jsxs)(`button`,{type:`button`,role:`menuitem`,tabIndex:-1,disabled:r,"aria-disabled":r,"data-menu-item":`true`,"data-disabled":r?`true`:void 0,"data-ui":`radial-menu-item`,"data-action":`select-radial-menu-item`,className:a(I.radialItem,n),onClick:c,children:[t&&(0,$.jsx)(`span`,{className:I.radialItemIcon,children:t}),(0,$.jsx)(`span`,{className:I.radialItemText,children:e})]})},Re.__docgenInfo={description:``,methods:[],displayName:`RadialMenuItem`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},icon:{required:!1,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},closeOnSelect:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},onSelect:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(event: React.MouseEvent<HTMLButtonElement>) => void`,signature:{arguments:[{type:{name:`ReactMouseEvent`,raw:`React.MouseEvent<HTMLButtonElement>`,elements:[{name:`HTMLButtonElement`}]},name:`event`}],return:{name:`void`}}},description:``}}}})))()}var Be,Ve,He;function Ue(){return(Ue=t((()=>{n(),ae(),ye(),V(),G(),J(),X(),Ie(),ze(),Be=r(),Ve=({children:e,placement:t,open:n,defaultOpen:r,onOpenChange:i})=>(0,Be.jsx)(K,{mode:`contextmenu`,placement:t,open:n,defaultOpen:r,onOpenChange:i,children:e}),He=Object.assign(Ve,{Trigger:F,Content:ve,RadialContent:Fe,Item:U,RadialItem:Re,Separator:Y,GroupLabel:B}),Ve.__docgenInfo={description:``,methods:[],displayName:`ContextMenuRoot`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``},open:{required:!1,tsType:{name:`boolean`},description:``},defaultOpen:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``}}}})))()}export{te as _,K as a,G as c,ve as d,ye as f,ne as g,A as h,X as i,B as l,j as m,Ue as n,J as o,P as p,Y as r,U as s,He as t,V as u,re as v};
|
|
@@ -1 +0,0 @@
|
|
|
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-CB9pifff.js";import{t as i}from"./react-dom-BzEl8usk.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{a as s,c,d as l,g as u,i as d,l as f,m as p,o as m,p as h,r as g,s as _}from"./floating-ui.react-j2x4WoIe.js";function v(e,t){if(!t?.arrow)return{};let{x:n,y:r}=t.arrow,i=e.split(`-`)[0],a={top:`bottom`,right:`left`,bottom:`top`,left:`right`}[i],o={top:`rotate(180deg)`,right:`rotate(-90deg)`,bottom:`rotate(0deg)`,left:`rotate(90deg)`}[i];return{pointerEvents:`none`,position:`absolute`,zIndex:-5,width:`16px`,height:`16px`,left:n==null?``:`${n}px`,top:r==null?``:`${r}px`,transform:o,[a]:`-16px`}}var y,b,x;function S(){return(S=t((()=>{y=n(),b=r(),x=(0,y.forwardRef)(({placement:e,middlewareData:t},n)=>(0,b.jsx)(`div`,{ref:n,style:v(e,t),children:(0,b.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`var(--border-2)`,stroke:`var(--border-2)`,strokeWidth:`var(--border-width)`,style:{display:`block`},children:(0,b.jsx)(`polygon`,{points:`8,8 16,16 0,16`})})})),x.__docgenInfo={description:``,methods:[],displayName:`FloatingArrow`,props:{placement:{required:!0,tsType:{name:`Placement`},description:``},middlewareData:{required:!0,tsType:{name:`MiddlewareData`},description:``}}}})))()}var C,w,T,E,D,O,k,A;function j(){return(j=t((()=>{C=`sZ0x6w`,w=`_538Ejd`,T=`fqciCO`,E=`sHkUiQ`,D=`bpGNoX`,O=`tYnRg-`,k=`_8lflEh`,A={tooltipPanel:C,tooltip:w,negative:T,information:E,error:D,warning:O,success:k}})))()}var M,N,P,F;function I(){return(I=t((()=>{M=e(n(),1),g(),o(),N=i(),S(),j(),P=r(),F=({content:e,children:t,openOnHover:n=!0,placement:r=`bottom`,openDelay:i=200,closeDelay:o=100,maxWidth:g,state:v,tooltip:y,positionUpdateKey:b})=>{let[S,C]=(0,M.useState)(!1),w=(0,M.useRef)(null),{refs:T,floatingStyles:E,middlewareData:D,context:O,placement:k,update:j}=s({open:S,onOpenChange:C,placement:r,middleware:[h(8),l({fallbackAxisSideDirection:`end`,fallbackPlacements:[`top`,`right`,`bottom`]}),p({padding:8}),f({element:w,padding:8})],whileElementsMounted:u});(0,M.useLayoutEffect)(()=>{S&&j()},[S,b,j]);let F=m(O,{enabled:n,move:!1,delay:{open:i,close:o}}),I=d(O),L=c(O),{getReferenceProps:R,getFloatingProps:z}=_([F,I,L]);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{ref:T.setReference,...R(),style:{lineHeight:1},children:t}),S&&(0,N.createPortal)((0,P.jsxs)(`div`,{ref:T.setFloating,style:{...E,zIndex:`var(--z-tooltip)`,maxWidth:g?`${g}em`:void 0},...z(),role:`tooltip`,className:a(A.tooltipPanel,y&&A.tooltip,v&&A[v]),children:[e,(0,P.jsx)(x,{ref:w,placement:k,middlewareData:D})]}),document.body)]})},F.__docgenInfo={description:``,methods:[],displayName:`FloatingPopover`,props:{content:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},openOnHover:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"bottom"`,computed:!1}},openDelay:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`200`,computed:!1}},closeDelay:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`100`,computed:!1}},maxWidth:{required:!1,tsType:{name:`number`},description:``},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:``},tooltip:{required:!1,tsType:{name:`literal`,value:`true`},description:``},positionUpdateKey:{required:!1,tsType:{name:`unknown`},description:"Изменяется вместе с CSS-координатой trigger, когда её изменение не отслеживается `autoUpdate`.\nПосле commit React выполняется повторный расчёт позиции открытой floating-панели."}}}})))()}export{S as i,I as n,x as r,F as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
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-CB9pifff.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{a as o,d as s,g as c,h as l,l as u,m as d,n as f,p,r as m}from"./floating-ui.react-j2x4WoIe.js";import{a as h,i as g,n as _,r as v}from"./dom-DBd_DWF8.js";import{i as y,r as b}from"./FloatingPopover-Cmz412EM.js";import{n as x}from"./error-De9R4E_F.js";function S({availableWidth:e,availableHeight:t,floating:n}){n.style.setProperty(`--popover-available-width`,`${Math.max(0,e)}px`),n.style.setProperty(`--popover-available-height`,`${Math.max(0,t)}px`)}var C,w,T,E;function D(){return(D=t((()=>{C=`JK2Y7t`,w=`_5QtpCJ`,T=`hZuysP`,E={popover:C,primary:w,secondary:T}})))()}function O(){let e=(0,k.useContext)(A);if(!e)throw x({hookName:`usePopoverContext`,providerName:`Popover`});return e}var k,A;function j(){return(j=t((()=>{k=n(),A=(0,k.createContext)(null)})))()}var M,N,P;function F(){return(F=t((()=>{M=e(n(),1),m(),v(),a(),y(),D(),j(),N=r(),P=({children:e,onClose:t,closeOnOutside:n=!0,closeOnEscape:r=!0,disableOutsideClick:a=!1,background:o=`secondary`})=>{let{open:s,setOpen:c,refs:l,floatingStyles:u,middlewareData:d,placement:p,arrowRef:m}=O(),v=(0,M.useRef)(null),y=(0,M.useCallback)(e=>{v.current=e,l.setFloating(e)},[l]),x=h({active:s,initialFocus:`container`,restoreFocus:!0,containerRef:v}),S=(0,M.useCallback)(()=>{s&&(c(!1),t?.())},[c,t,s]);_({active:s,enabled:r,onDismiss:S,containerRef:x});let C=(0,M.useCallback)(()=>{!s||a||n&&S()},[s,a,n,S]);return g([l.floating,l.reference],C),s?(0,N.jsx)(f,{children:(0,N.jsxs)(`div`,{ref:y,style:u,className:i(E.popover,E[o]),role:`dialog`,"aria-modal":`true`,tabIndex:-1,children:[typeof e==`function`?e({setClose:S}):e,(0,N.jsx)(b,{ref:m,placement:p,middlewareData:d})]})}):null},P.__docgenInfo={description:`Содержимое Popover, отображаемое в портале.`,methods:[],displayName:`PopoverContent`,props:{children:{required:!0,tsType:{name:`union`,raw:`React.ReactNode | ((ctx: { setClose: () => void }) => React.ReactNode)`,elements:[{name:`ReactReactNode`,raw:`React.ReactNode`},{name:`unknown`}]},description:``},onClose:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},closeOnOutside:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},closeOnEscape:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},disableOutsideClick:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},background:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`}]},description:``,defaultValue:{value:`"secondary"`,computed:!1}}}}})))()}var I,L;function R(){return(R=t((()=>{I=n(),j(),L=({passive:e,children:t})=>{let{open:n,setOpen:r,refs:i}=O(),a=(0,I.useCallback)(n=>{t.props.onClick&&t.props.onClick(n),!n.defaultPrevented&&(n.preventDefault(),n.stopPropagation(),!e&&r(e=>!e))},[t,r,e]);return(0,I.cloneElement)(t,{ref:i.setReference,"aria-expanded":n,onClick:a})},L.__docgenInfo={description:``,methods:[],displayName:`PopoverTrigger`,props:{passive:{required:!1,tsType:{name:`literal`,value:`true`},description:``},children:{required:!0,tsType:{name:`ReactReactElement`,raw:`React.ReactElement<React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }>`,elements:[{name:`intersection`,raw:`React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }`,elements:[{name:`ReactHTMLAttributes`,raw:`React.HTMLAttributes<Element>`,elements:[{name:`Element`}]},{name:`signature`,type:`object`,raw:`{ ref?: React.Ref<Element> }`,signature:{properties:[{key:`ref`,value:{name:`ReactRef`,raw:`React.Ref<Element>`,elements:[{name:`Element`}],required:!1}}]}}]}]},description:``}}}})))()}var z,B,V,H,U;function W(){return(W=t((()=>{z=e(n(),1),m(),F(),j(),R(),B=r(),V=16,H=({children:e,open:t,defaultOpen:n,onOpenChange:r,placement:i=`bottom`})=>{let[a,f]=(0,z.useState)(n??!1),m=t!==void 0,h=m?t:a,g=(0,z.useCallback)(e=>{let t=typeof e==`function`?e(h):e;m||f(t),r?.(t)},[m,r,h]),_=(0,z.useRef)(null),{refs:v,floatingStyles:y,middlewareData:b,placement:x}=o({open:h,onOpenChange:g,placement:i,middleware:[p(8),s({padding:V}),d({padding:V}),l({padding:V,apply({availableWidth:e,availableHeight:t,elements:n}){S({availableWidth:e,availableHeight:t,floating:n.floating})}}),u({element:_.current})],whileElementsMounted:c});return(0,B.jsx)(A.Provider,{value:{open:h,setOpen:g,refs:v,floatingStyles:y,placement:x,middlewareData:b,arrowRef:_},children:e})},U=Object.assign(H,{Trigger:L,Content:P}),H.__docgenInfo={description:`Контролируемый Popover.
|
|
2
|
-
Используется в связке с Popover.Trigger и Popover.Content.`,methods:[],displayName:`PopoverRoot`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"bottom"`,computed:!1}},open:{required:!1,tsType:{name:`boolean`},description:``},defaultOpen:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``}}}})))()}export{W as n,U as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CB9pifff.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{c as i,l as a,m as o}from"./blocks-DFW8ghoN.js";var s;function c(){return(c=e((()=>{s='# Context Menu\n\nУниверсальный модуль меню с двумя сценариями открытия:\n\n- `DropdownMenu` — открытие по обычному клику.\n- `ContextMenu` — открытие строго по событию `contextmenu` (правый клик), также поддержан клавиатурный вызов `Shift+F10` и клавиша `ContextMenu`.\n\nРеализация разделена на:\n\n- функциональный слой в `src/shared/lib/context-menu`;\n- UI-слой в `src/shared/ui/basic/context-menu`.\n\nМодуль готов к production-использованию: поддерживает controlled/uncontrolled режим, позиционирование через `floating-ui`, анимацию через `motion`, базовую a11y-разметку и клавиатурную навигацию.\n\n---\n\n## Быстрый старт\n\n```tsx\nimport { ContextMenu, DropdownMenu } from "@/shared/ui";\n```\n\n### Обычное меню (по клику)\n\n```tsx\n<DropdownMenu>\n <DropdownMenu.Trigger>\n <button type="button">Действия</button>\n </DropdownMenu.Trigger>\n\n <DropdownMenu.Content>\n <DropdownMenu.Item>Редактировать</DropdownMenu.Item>\n <DropdownMenu.Item>Копировать</DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.Item>Удалить</DropdownMenu.Item>\n </DropdownMenu.Content>\n</DropdownMenu>\n```\n\n### Контекстное меню (по правому клику)\n\n```tsx\n<ContextMenu>\n <ContextMenu.Trigger>\n <div style={{ width: 320, height: 180 }}>Нажмите правой кнопкой мыши</div>\n </ContextMenu.Trigger>\n\n <ContextMenu.Content>\n <ContextMenu.Item>Переименовать</ContextMenu.Item>\n <ContextMenu.Item>Дублировать</ContextMenu.Item>\n <ContextMenu.Separator />\n <ContextMenu.Item>Переместить в корзину</ContextMenu.Item>\n </ContextMenu.Content>\n</ContextMenu>\n```\n\n### Радиальное контекстное меню\n\nРадиальное меню подходит для короткого набора частых действий, которые удобно выбирать вокруг точки вызова. Для длинных списков, групп, разделителей и вложенных сценариев используйте обычный `ContextMenu.Content`.\n\n```tsx\n<ContextMenu>\n <ContextMenu.Trigger>\n <div style={{ width: 320, height: 180 }}>Нажмите правой кнопкой мыши</div>\n </ContextMenu.Trigger>\n\n <ContextMenu.RadialContent>\n <ContextMenu.RadialItem icon={<PencilLine />}>Править</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Copy />}>Копия</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Pin />}>Закрепить</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Eye />}>Просмотр</ContextMenu.RadialItem>\n </ContextMenu.RadialContent>\n</ContextMenu>\n```\n\nВ v1 радиальное меню поддерживает выбор только кликом по пункту. Выбор жестом по направлению движения и отпусканию кнопки мыши не реализован.\n\n---\n\n## API: UI-слой\n\n## `DropdownMenu`\n\nRoot-компонент для меню, открываемого по клику.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| -------------- | ---------------------------------- | ---------------- | ---------------------------------------------------------------------------------- |\n| `children` | `React.ReactNode` | — | Композиция из `Trigger`, `Content` и опционально `Item`, `Separator`, `GroupLabel` |\n| `placement` | `Placement` (`@floating-ui/react`) | `"bottom-start"` | Позиция меню относительно trigger-элемента |\n| `open` | `boolean` | — | Controlled-состояние открытия |\n| `defaultOpen` | `boolean` | `false` | Начальное состояние в uncontrolled-режиме |\n| `onOpenChange` | `(open: boolean) => void` | — | Колбэк изменения состояния |\n\n---\n\n## `ContextMenu`\n\nRoot-компонент для меню, открываемого по `contextmenu`.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| -------------- | ---------------------------------- | --------------- | ---------------------------------------------------------------------------------- |\n| `children` | `React.ReactNode` | — | Композиция из `Trigger`, `Content` и опционально `Item`, `Separator`, `GroupLabel` |\n| `placement` | `Placement` (`@floating-ui/react`) | `"right-start"` | Позиция меню относительно точки правого клика |\n| `open` | `boolean` | — | Controlled-состояние открытия |\n| `defaultOpen` | `boolean` | `false` | Начальное состояние в uncontrolled-режиме |\n| `onOpenChange` | `(open: boolean) => void` | — | Колбэк изменения состояния |\n\n---\n\n## `ContextMenu.RadialContent`\n\nКольцевой контейнер для коротких контекстных команд вокруг точки открытия.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------------- | -------------------------------------------------------------------------- | ------------ | --------------------------------------------- |\n| `children` | `React.ReactNode \\| ((ctx: { closeMenu: () => void }) => React.ReactNode)` | — | Набор `ContextMenu.RadialItem` |\n| `className` | `string` | — | Дополнительный CSS-класс контейнера |\n| `closeOnOutside` | `boolean` | `true` | Закрывать ли меню при клике вне него |\n| `closeOnEscape` | `boolean` | `true` | Закрывать ли меню по клавише `Escape` |\n| `disableOutsideClick` | `boolean` | `false` | Полностью выключить закрытие по клику снаружи |\n| `restoreFocus` | `boolean` | `true` | Возвращать ли фокус в trigger после закрытия |\n| `radius` | `number` | `76` | Радиус раскладки пунктов в пикселях |\n| `itemSize` | `number` | `64` | Размер одного пункта в пикселях |\n| `closeLabel` | `string` | `"Закрыть"` | Текст и `aria-label` центральной кнопки |\n\n### Поведение\n\n- Рендер в `document.body` через портал.\n- Центрируется на точке правого клика или на центре trigger-элемента при `Shift+F10`.\n- Центральная кнопка закрывает меню и не участвует в раскладке `RadialItem`.\n- Не выходит за границы viewport.\n- Навигация с клавиатуры: `ArrowLeft`, `ArrowRight`, `ArrowUp`, `ArrowDown`, `Home`, `End`, `Escape`.\n- Оптимальный диапазон — 4-8 пунктов.\n\n---\n\n## `ContextMenu.RadialItem`\n\nПункт радиального меню.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------- | ------------------------------------------------------ | ------------ | --------------------------- |\n| `children` | `React.ReactNode` | — | Подпись пункта |\n| `icon` | `React.ReactNode` | — | Иконка над подписью |\n| `className` | `string` | — | Дополнительный CSS-класс |\n| `disabled` | `boolean` | `false` | Блокирует выбор пункта |\n| `closeOnSelect` | `boolean` | `true` | Закрывать меню после выбора |\n| `onSelect` | `(event: React.MouseEvent<HTMLButtonElement>) => void` | — | Обработчик выбора |\n\n---\n\n## `*.Trigger`\n\nКомпоненты-триггеры:\n\n- `DropdownMenu.Trigger`\n- `ContextMenu.Trigger`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ---------- | -------------------- | ------------ | ------------------------------------------------------------------- |\n| `children` | `React.ReactElement` | — | Единственный дочерний элемент, в который пробрасываются обработчики |\n\n### Важные детали\n\n- Для `DropdownMenu.Trigger` используется `onClick`.\n- Для `ContextMenu.Trigger` используется `onContextMenu` (с `preventDefault()`).\n- В оба trigger-компонента добавляются `aria-haspopup="menu"` и `aria-expanded`.\n- Вызов через клавиатуру работает в обоих триггерах: `Shift+F10` и `ContextMenu`.\n\n---\n\n## `*.Content`\n\nКомпонент отображения меню:\n\n- `DropdownMenu.Content`\n- `ContextMenu.Content`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------------- | -------------------------------------------------------------------------- | ------------ | ---------------------------------------------- |\n| `children` | `React.ReactNode \\| ((ctx: { closeMenu: () => void }) => React.ReactNode)` | — | Контент меню или render-function с `closeMenu` |\n| `className` | `string` | — | Дополнительный CSS-класс контейнера меню |\n| `closeOnOutside` | `boolean` | `true` | Закрывать ли меню при клике вне него |\n| `closeOnEscape` | `boolean` | `true` | Закрывать ли меню по клавише `Escape` |\n| `disableOutsideClick` | `boolean` | `false` | Полностью выключить закрытие по клику снаружи |\n\n### Поведение по умолчанию\n\n- Рендер в `document.body` через портал.\n- Роль контейнера: `role="menu"`.\n- Автофокус на первый доступный пункт меню.\n- Навигация с клавиатуры:\n- `ArrowDown`, `ArrowUp`\n- `Home`, `End`\n- `Escape`\n\n---\n\n## `*.Item`\n\nПункт меню:\n\n- `DropdownMenu.Item`\n- `ContextMenu.Item`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------- | ------------------------------------------------ | ------------ | ---------------------------------- |\n| `children` | `React.ReactNode` | — | Текст/контент пункта |\n| `icon` | `React.ReactNode` | — | Иконка слева |\n| `hotKey` | `string` | — | Подсказка сочетания клавиш справа |\n| `className` | `string` | — | Дополнительный CSS-класс |\n| `disabled` | `boolean` | `false` | Блокирует выбор пункта |\n| `href` | `string` | — | Рендер как `<a>` вместо `<button>` |\n| `target` | `string` | — | Атрибут ссылки |\n| `rel` | `string` | — | Атрибут ссылки |\n| `closeOnSelect` | `boolean` | `true` | Закрывать меню после выбора |\n| `onSelect` | `(event: React.MouseEvent<HTMLElement>) => void` | — | Обработчик выбора |\n\n### Поведение\n\n- Если передан `href`, рендерится ссылка `<a role="menuitem">`.\n- Если `href` не передан, рендерится `<button role="menuitem">`.\n- Если `disabled`, выбор блокируется и закрытие не выполняется.\n\n---\n\n## `*.Separator`\n\nРазделитель группы пунктов.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ----------- | -------- | ------------ | ------------------------ |\n| `className` | `string` | — | Дополнительный CSS-класс |\n\n---\n\n## `*.GroupLabel`\n\nЛейбл группы пунктов.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ----------- | ----------------- | ------------ | ------------------------ |\n| `children` | `React.ReactNode` | — | Текст группы |\n| `className` | `string` | — | Дополнительный CSS-класс |\n\n---\n\n## API: функциональный слой (`src/shared/lib/context-menu`)\n\nИмпорт:\n\n```ts\nimport {\n initialMenuState,\n openMenu,\n closeMenu,\n toggleMenu,\n getMenuPointFromEvent,\n getMenuPointFromRect,\n createVirtualAnchor\n} from "@/shared/lib/context-menu";\n```\n\n### Типы\n\n```ts\ninterface MenuPoint {\n x: number;\n y: number;\n}\n\ntype MenuOpenSource = "click" | "contextmenu" | "keyboard" | "programmatic";\n\ntype MenuAnchor = { type: "element"; element: HTMLElement } | { type: "point"; point: MenuPoint; contextElement?: Element | null };\n\ninterface MenuState {\n open: boolean;\n source: MenuOpenSource | null;\n anchor: MenuAnchor | null;\n}\n\ninterface OpenMenuPayload {\n source: MenuOpenSource;\n anchor: MenuAnchor;\n}\n```\n\n### Функции состояния\n\n| Функция | Сигнатура | Назначение |\n| ------------------ | ----------------------------------------------------------- | ------------------------------------- |\n| `initialMenuState` | `MenuState` | Начальное состояние закрытого меню |\n| `openMenu` | `(payload: OpenMenuPayload) => MenuState` | Создать состояние открытого меню |\n| `closeMenu` | `(state: MenuState) => MenuState` | Закрыть меню и очистить anchor/source |\n| `toggleMenu` | `(state: MenuState, payload: OpenMenuPayload) => MenuState` | Переключить состояние |\n\n### Функции позиционирования\n\n| Функция | Сигнатура | Назначение |\n| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- |\n| `getMenuPointFromEvent` | `(event: { clientX: number; clientY: number }) => MenuPoint` | Получить координаты из mouse event |\n| `getMenuPointFromRect` | `(rect: { left: number; top: number; width: number; height: number }) => MenuPoint` | Получить центр прямоугольника |\n| `createVirtualAnchor` | `(point: MenuPoint, contextElement?: Element \\| null) => { getBoundingClientRect(): DOMRect; contextElement?: Element }` | Создать virtual anchor для `floating-ui` |\n\n---\n\n## Примеры использования\n\n## 1) Controlled `DropdownMenu`\n\n```tsx\nconst [open, setOpen] = useState(false);\n\nreturn (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenu.Trigger>\n <button type="button">{open ? "Скрыть" : "Показать"} меню</button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n <DropdownMenu.Item onSelect={() => console.log("Edit")}>Редактировать</DropdownMenu.Item>\n <DropdownMenu.Item onSelect={() => setOpen(false)}>Закрыть вручную</DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n);\n```\n\n## 2) Controlled `ContextMenu`\n\n```tsx\nconst [open, setOpen] = useState(false);\n\nreturn (\n <ContextMenu open={open} onOpenChange={setOpen}>\n <ContextMenu.Trigger>\n <div tabIndex={0}>Правая кнопка мыши</div>\n </ContextMenu.Trigger>\n <ContextMenu.Content>\n <ContextMenu.Item onSelect={() => alert("Открыть")}>Открыть</ContextMenu.Item>\n </ContextMenu.Content>\n </ContextMenu>\n);\n```\n\n## 3) Группы, иконки, горячие клавиши\n\n```tsx\n<DropdownMenu>\n <DropdownMenu.Trigger>\n <button type="button">Меню</button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n <DropdownMenu.GroupLabel>Документ</DropdownMenu.GroupLabel>\n <DropdownMenu.Item icon={<FilePenLine size={14} />} hotKey="Ctrl+E">\n Редактировать\n </DropdownMenu.Item>\n <DropdownMenu.Item icon={<Copy size={14} />} hotKey="Ctrl+C">\n Копировать\n </DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.GroupLabel>Опасные</DropdownMenu.GroupLabel>\n <DropdownMenu.Item icon={<Trash2 size={14} />} hotKey="Del">\n Удалить\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n</DropdownMenu>\n```\n\n## 4) Пункт-ссылка\n\n```tsx\n<ContextMenu.Item href="/docs/123" target="_blank" rel="noreferrer">\n Открыть документацию\n</ContextMenu.Item>\n```\n\n## 5) Оставлять меню открытым после выбора\n\n```tsx\n<DropdownMenu.Item closeOnSelect={false} onSelect={() => setFilter("active")}>\n Только активные\n</DropdownMenu.Item>\n```\n\n## 6) Render-function контента с `closeMenu`\n\n```tsx\n<ContextMenu.Content>\n {({ closeMenu }) => (\n <div>\n <ContextMenu.Item onSelect={() => runCommand("rename")}>Переименовать</ContextMenu.Item>\n <button type="button" onClick={closeMenu}>\n Закрыть\n </button>\n </div>\n )}\n</ContextMenu.Content>\n```\n\n## 7) Асинхронный `onSelect` с ручным закрытием\n\n```tsx\n<DropdownMenu.Item\n closeOnSelect={false}\n onSelect={async () => {\n await saveDraft();\n notify("Черновик сохранен");\n }}>\n Сохранить черновик\n</DropdownMenu.Item>\n```\n\n## 8) Отключить закрытие по клику вне меню\n\n```tsx\n<DropdownMenu.Content disableOutsideClick closeOnEscape>\n <DropdownMenu.Item>Пункт</DropdownMenu.Item>\n</DropdownMenu.Content>\n```\n\n## 9) Кастомные стили контейнера\n\n```tsx\n<ContextMenu.Content className="myContextMenu">\n <ContextMenu.Item>Кастомный пункт</ContextMenu.Item>\n</ContextMenu.Content>\n```\n\n```scss\n.myContextMenu {\n min-width: 18rem;\n max-width: 28rem;\n}\n```\n\n## 10) Использование low-level функций `shared/lib/context-menu`\n\n```ts\nimport { closeMenu, initialMenuState, openMenu, toggleMenu } from "@/shared/lib/context-menu";\n\nlet state = initialMenuState;\n\nstate = openMenu({\n source: "programmatic",\n anchor: {\n type: "point",\n point: { x: 100, y: 200 }\n }\n});\n\nstate = toggleMenu(state, {\n source: "click",\n anchor: {\n type: "point",\n point: { x: 120, y: 220 }\n }\n});\n\nstate = closeMenu(state);\n```\n\n---\n\n## Доступность и клавиатура\n\n- `Trigger` получает `aria-haspopup="menu"` и `aria-expanded`.\n- Контент рендерится с `role="menu"`.\n- Элементы действий рендерятся с `role="menuitem"`.\n- Поддержка клавиш:\n- `Shift+F10` / `ContextMenu` для открытия;\n- `ArrowUp` / `ArrowDown` для перемещения;\n- `Home` / `End` для перехода к первому/последнему пункту;\n- `Escape` для закрытия.\n\n---\n\n## Storybook\n\nИстории находятся в:\n\n- `src/shared/ui/atomic/context-menu/stories/ContextMenu.stories.tsx`\n\nОсновные сценарии:\n\n- `DropdownMenu / Базовый`\n- `ContextMenu / По правому клику`\n- `DropdownMenu / Контролируемый`\n\n---\n\n## Внутренние детали реализации\n\n- Позиционирование: `@floating-ui/react`.\n- Анимация открытия/закрытия: `motion/react` (`AnimatePresence`, `motion.div`).\n- Для совместимости с анимацией позиционирование `floating-ui` переведено на `top/left` (`transform: false`), чтобы исключить конфликт `transform` со стороны `motion`.\n\n---\n\n## Тесты\n\nПокрыты функциональные утилиты слоя `shared/lib/context-menu`:\n\n- `src/shared/lib/context-menu/state.test.ts`\n- `src/shared/lib/context-menu/anchor.test.ts`\n\nЗапуск:\n\n```bash\nnpx vitest run src/shared/lib/context-menu/state.test.ts src/shared/lib/context-menu/anchor.test.ts\n```\n'})))()}function l(e){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a,{title:`Документация/ContextMenu`}),`
|
|
2
|
-
`,(0,d.jsx)(i,{children:s})]})}function u(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}var d;function f(){return(f=e((()=>{d=t(),r(),o(),c()})))()}f();export{u as default};
|
|
@@ -1 +0,0 @@
|
|
|
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-CB9pifff.js";import{t as i}from"./react-dom-BzEl8usk.js";function a(){return typeof window<`u`}function o(e){return l(e)?(e.nodeName||``).toLowerCase():`#document`}function s(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function c(e){return((l(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function l(e){return a()?e instanceof Node||e instanceof s(e).Node:!1}function u(e){return a()?e instanceof Element||e instanceof s(e).Element:!1}function d(e){return a()?e instanceof HTMLElement||e instanceof s(e).HTMLElement:!1}function f(e){return!a()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof s(e).ShadowRoot}function p(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=b(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function m(e){return/^(table|td|th)$/.test(o(e))}function h(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}function g(e){let t=u(e)?b(e):e;return O(t.transform)||O(t.translate)||O(t.scale)||O(t.rotate)||O(t.perspective)||!v()&&(O(t.backdropFilter)||O(t.filter))||E.test(t.willChange||``)||D.test(t.contain||``)}function _(e){let t=S(e);for(;d(t)&&!y(t);){if(g(t))return t;if(h(t))return null;t=S(t)}return null}function v(){return k??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),k}function y(e){return/^(html|body|#document)$/.test(o(e))}function b(e){return s(e).getComputedStyle(e)}function x(e){return u(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function S(e){if(o(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||f(e)&&e.host||c(e);return f(t)?t.host:t}function C(e){let t=S(e);return y(t)?(e.ownerDocument||e).body:d(t)&&p(t)?t:C(t)}function w(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=C(e),i=r===e.ownerDocument?.body,a=s(r);if(i){let e=T(a);return t.concat(a,a.visualViewport||[],p(r)?r:[],e&&n?w(e):[])}return t.concat(r,w(r,[],n))}function T(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var E,D,O,k;function A(){return(A=t((()=>{E=/transform|translate|scale|rotate|perspective|filter/,D=/paint|layout|strict|content/,O=e=>!!e&&e!==`none`})))()}function j(e,t,n){return H(e,V(t,n))}function M(e,t){return typeof e==`function`?e(t):e}function N(e){return e.split(`-`)[0]}function P(e){return e.split(`-`)[1]}function F(e){return e===`x`?`y`:`x`}function I(e){return e===`y`?`height`:`width`}function L(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ee(e){return F(L(e))}function te(e,t,n){n===void 0&&(n=!1);let r=P(e),i=ee(e),a=I(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=re(o)),[o,re(o)]}function R(e){let t=re(e);return[z(e),t,z(t)]}function z(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}function B(e,t,n){switch(e){case`top`:case`bottom`:return n?t?me:pe:t?pe:me;case`left`:case`right`:return t?he:ge;default:return[]}}function ne(e,t,n,r){let i=P(e),a=B(N(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(z)))),a}function re(e){let t=N(e);return fe[t]+e.slice(t.length)}function ie(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function ae(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ie(e)}function oe(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var se,ce,le,V,H,ue,de,U,fe,pe,me,he,ge;function _e(){return(_e=t((()=>{se=[`top`,`right`,`bottom`,`left`],ce=[`start`,`end`],le=se.reduce((e,t)=>e.concat(t,t+`-`+ce[0],t+`-`+ce[1]),[]),V=Math.min,H=Math.max,ue=Math.round,de=Math.floor,U=e=>({x:e,y:e}),fe={left:`right`,right:`left`,bottom:`top`,top:`bottom`},pe=[`left`,`right`],me=[`right`,`left`],he=[`top`,`bottom`],ge=[`bottom`,`top`]})))()}var ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,Ke,qe,Je;function Ye(){return(Ye=t((()=>{ve=[`input:not([inert]):not([inert] *)`,`select:not([inert]):not([inert] *)`,`textarea:not([inert]):not([inert] *)`,`a[href]:not([inert]):not([inert] *)`,`area[href]:not([inert]):not([inert] *)`,`button:not([inert]):not([inert] *)`,`[tabindex]:not(slot):not([inert]):not([inert] *)`,`audio[controls]:not([inert]):not([inert] *)`,`video[controls]:not([inert]):not([inert] *)`,`[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)`,`details>summary:first-of-type:not([inert]):not([inert] *)`,`details:not([inert]):not([inert] *)`],ye=ve.join(`,`),be=typeof Element>`u`,xe=be?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Se=!be&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},Ce=function(e,t){t===void 0&&(t=!0);var n=e?.getAttribute?.call(e,`inert`);return n===``||n===`true`||t&&e&&(typeof e.closest==`function`?e.closest(`[inert]`):Ce(e.parentNode))},we=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Te=function(e,t,n){if(Ce(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(ye));return t&&xe.call(e,ye)&&r.unshift(e),r=r.filter(n),r},Ee=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!Ce(a,!1)){if(a.tagName===`SLOT`){var o=a.assignedElements(),s=Ee(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{xe.call(a,ye)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!Ce(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=Ee(c===!0?a.children:c.children,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:a,candidates:u})}else i.unshift.apply(i,a.children)}}}return r},De=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Oe=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||we(e))&&!De(e)?0:e.tabIndex},ke=function(e,t){var n=Oe(e);return n<0&&t&&!De(e)?0:n},Ae=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},je=function(e){return e.tagName===`INPUT`},Me=function(e){return je(e)&&e.type===`hidden`},Ne=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},Pe=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},Fe=function(e){if(!e.name)return!0;var t=e.form||Se(e),n=function(e){return t.querySelectorAll(`input[type="radio"][name="`+e+`"]`)},r;if(typeof window<`u`&&window.CSS!==void 0&&typeof window.CSS.escape==`function`)r=n(window.CSS.escape(e.name));else try{r=n(e.name)}catch(e){return console.error(`Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s`,e.message),!1}var i=Pe(r,e.form);return!i||i===e},Ie=function(e){return je(e)&&e.type===`radio`},Le=function(e){return Ie(e)&&!Fe(e)},Re=function(e){var t=e&&Se(e),n=t?.host,r=!1;if(t&&t!==e){var i,a,o;for(r=!!((i=n)!=null&&(a=i.ownerDocument)!=null&&a.contains(n)||e!=null&&(o=e.ownerDocument)!=null&&o.contains(e));!r&&n;){var s,c;t=Se(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},ze=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},Be=function(e,t){var n=t.displayCheck,r=t.getShadowRoot;if(n===`full-native`&&`checkVisibility`in e)return!e.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});var i=getComputedStyle(e).visibility;if(i===`hidden`||i===`collapse`)return!0;var a=xe.call(e,`details>summary:first-of-type`)?e.parentElement:e;if(xe.call(a,`details:not([open]) *`))return!0;if(!n||n===`full`||n===`full-native`||n===`legacy-full`){if(typeof r==`function`){for(var o=e;e;){var s=e.parentElement,c=Se(e);if(s&&!s.shadowRoot&&r(s)===!0)return ze(e);e=e.assignedSlot?e.assignedSlot:!s&&c!==e.ownerDocument?c.host:s}e=o}if(Re(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return ze(e);return!1},Ve=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName===`FIELDSET`&&t.disabled){for(var n=0;n<t.children.length;n++){var r=t.children.item(n);if(r.tagName===`LEGEND`)return xe.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},He=function(e,t){return!(t.disabled||Me(t)||Be(t,e)||Ne(t)||Ve(t))},Ue=function(e,t){return!(Le(t)||Oe(t)<0||!He(e,t))},We=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},Ge=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=ke(a,i),s=i?Ge(e.candidates):a;o===0?i?t.push.apply(t,s):t.push(a):n.push({documentOrder:r,tabIndex:o,item:e,isScope:i,content:s})}),n.sort(Ae).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},Ke=function(e,t){t||={};var n=t.getShadowRoot?Ee([e],t.includeContainer,{filter:Ue.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:We}):Te(e,t.includeContainer,Ue.bind(null,t));return Ge(n)},qe=function(e,t){return t||={},t.getShadowRoot?Ee([e],t.includeContainer,{filter:He.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Te(e,t.includeContainer,He.bind(null,t))},Je=function(e,t){if(t||={},!e)throw Error(`No node provided`);return xe.call(e,ye)!==!1&&Ue(t,e)}})))()}function Xe(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function Ze(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+`/`+n}).join(` `):navigator.userAgent}function Qe(){return/apple/i.test(navigator.vendor)}function $e(){let e=/android/i;return e.test(Xe())||e.test(Ze())}function et(){return Ze().includes(`jsdom/`)}function tt(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function W(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&f(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function G(e){return`composedPath`in e?e.composedPath()[0]:e.target}function nt(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function rt(e){return e.matches(`html,body`)}function K(e){return e?.ownerDocument||document}function it(e){return d(e)&&e.matches(wt)}function at(e){return e?e.getAttribute(`role`)===`combobox`&&it(e):!1}function ot(e){return e?e.hasAttribute(Ct)?e:e.querySelector(`[`+Ct+`]`)||e:null}function st(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...st(e,t.id,n)])}function ct(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function lt(e){e.preventDefault(),e.stopPropagation()}function ut(e){return`nativeEvent`in e}function dt(e){return e.mozInputSource===0&&e.isTrusted?!0:$e()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function ft(e){return et()?!1:!$e()&&e.width===0&&e.height===0||$e()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function pt(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function mt(e){let t=xt.useRef(e);return J(()=>{t.current=e}),t}function q(e){let t=xt.useRef(()=>{});return Et(()=>{t.current=e}),xt.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function ht(e,t){let n=Ke(e,Dt()),r=n.length;if(r===0)return;let i=tt(K(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function gt(e){return ht(K(e).body,1)||e}function _t(e){return ht(K(e).body,-1)||e}function vt(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!W(n,r)}function yt(e){Ke(e,Dt()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function bt(e){e.querySelectorAll(`[data-tabindex]`).forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}var xt,St,Ct,wt,J,Tt,Et,Dt;function Ot(){return(Ot=t((()=>{A(),xt=e(n(),1),St=n(),Ye(),Ct=`data-floating-ui-focusable`,wt=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,J=typeof document<`u`?St.useLayoutEffect:function(){},Tt={...xt},Et=Tt.useInsertionEffect||(e=>e()),Dt=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`})})))()}function kt(e,t,n){let{reference:r,floating:i}=e,a=L(t),o=ee(t),s=I(o),c=N(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=P(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function At(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=M(t,e),p=ae(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=oe(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=oe(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}function jt(e,t,n){return(e?[...n.filter(t=>P(t)===e),...n.filter(t=>P(t)!==e)]:n.filter(e=>N(e)===e)).filter(n=>!e||P(n)===e||(t?z(n)!==n:!1))}async function Mt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=N(n),s=P(n),c=L(n)===`y`,l=Rt.has(o)?-1:1,u=a&&c?-1:1,d=M(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Nt,Pt,Ft,It,Lt,Rt,zt,Bt,Vt;function Ht(){return(Ht=t((()=>{_e(),Nt=50,Pt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:At},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=kt(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Nt&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=kt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ft=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=M(e,t)||{};if(l==null)return{};let d=ae(u),f={x:n,y:r},p=ee(i),m=I(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=V(d[_],T),D=V(d[v],T),O=C-h[m]-D,k=C/2-h[m]/2+w,A=j(E,k,O),N=!c.arrow&&P(i)!=null&&k!==A&&a.reference[m]/2-(k<E?E:D)-h[m]/2<0,F=N?k<E?k-E:k-O:0;return{[p]:f[p]+F,data:{[p]:A,centerOffset:k-A-F,...N&&{alignmentOffset:F}},reset:N}}}),It=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:n,middlewareData:r,placement:i,platform:a,elements:o}=t,{crossAxis:s=!1,alignment:c,allowedPlacements:l=le,autoAlignment:u=!0,...d}=M(e,t),f=c!==void 0||l===le?jt(c||null,u,l):l,p=r.autoPlacement?.index||0,m=f[p];if(m==null)return{};if(i!==m)return{reset:{placement:f[0]}};let h=await a.detectOverflow(t,d),g=te(m,n,await(a.isRTL==null?void 0:a.isRTL(o.floating))),_=[h[N(m)],h[g[0]],h[g[1]]],v=[...r.autoPlacement?.overflows||[],{placement:m,overflows:_}],y=f[p+1];if(y)return{data:{index:p+1,overflows:v},reset:{placement:y}};let b=v.map(e=>{let t=P(e.placement);return[e.placement,t&&s?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),x=b.filter(e=>e[2].slice(0,P(e[0])?2:3).every(e=>e<=0))[0]?.[0]||b[0][0];return x===i?{}:{data:{index:p+1,overflows:v},reset:{placement:x}}}}},Lt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=M(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=N(r),_=L(o),v=N(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[re(o)]:R(o)),x=p!==`none`;!d&&x&&b.push(...ne(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=te(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===L(t)||T.every(e=>L(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=L(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Rt=new Set([`left`,`top`]),zt=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Mt(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Bt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=M(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=L(i),p=F(f),m=u[p],h=u[f],g=(e,t)=>j(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},Vt=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=M(e,t),c=await i.detectOverflow(t,s),l=N(n),u=P(n),d=L(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=V(p-c[m],g),y=V(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*H(c.left,c.right):S=p-2*H(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}}})))()}function Ut(e){let t=b(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=d(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=ue(n)!==a||ue(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Wt(e){return u(e)?e:e.contextElement}function Gt(e){let t=Wt(e);if(!d(t))return U(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ut(t),o=(a?ue(n.width):n.width)/r,s=(a?ue(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}function Kt(e){let t=s(e);return!v()||!t.visualViewport?hn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function qt(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===s(e)}function Jt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Wt(e),o=U(1);t&&(r?u(r)&&(o=Gt(r)):o=Gt(e));let c=qt(a,n,r)?Kt(a):U(0),l=(i.left+c.x)/o.x,d=(i.top+c.y)/o.y,f=i.width/o.x,p=i.height/o.y;if(a&&r){let e=s(a),t=u(r)?s(r):r,n=e,i=T(n);for(;i&&t!==n;){let e=Gt(i),t=i.getBoundingClientRect(),r=b(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;l*=e.x,d*=e.y,f*=e.x,p*=e.y,l+=a,d+=o,n=s(i),i=T(n)}}return oe({width:f,height:p,x:l,y:d})}function Yt(e,t){let n=x(e).scrollLeft;return t?t.left+n:Jt(c(e)).left+n}function Xt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Yt(e,n),y:n.top+t.scrollTop}}function Zt(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,s=c(r),l=t?h(t.floating):!1;if(r===s||l&&a)return n;let u={scrollLeft:0,scrollTop:0},f=U(1),m=U(0),g=d(r);if((g||!a)&&((o(r)!==`body`||p(s))&&(u=x(r)),g)){let e=Jt(r);f=Gt(r),m.x=e.x+r.clientLeft,m.y=e.y+r.clientTop}let _=s&&!g&&!a?Xt(s,u):U(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-u.scrollLeft*f.x+m.x+_.x,y:n.y*f.y-u.scrollTop*f.y+m.y+_.y}}function Qt(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function $t(e){let t=x(e),n=e.ownerDocument.body,r=H(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=H(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Yt(e),o=-t.scrollTop;return b(n).direction===`rtl`&&(a+=H(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}function en(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=s(e),a=c(e),o=i.visualViewport,l=a.clientWidth,u=a.clientHeight,d=0,f=0;if(o){let e=!v()||t===`fixed`;r?e||(d=-o.offsetLeft,f=-o.offsetTop):(l=o.width,u=o.height,e&&(d=o.offsetLeft,f=o.offsetTop))}if(Yt(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=gn&&(l-=o)}return{width:l,height:u,x:d,y:f}}function tn(e,t){let n=Jt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Gt(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function nn(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=en(e,n,t);else if(t===`document`)r=$t(c(e));else if(u(t))r=tn(t,n);else{let n=Kt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return oe(r)}function rn(e,t){let n=t.get(e);if(n)return n;let r=w(e,[],!1).filter(e=>u(e)&&o(e)!==`body`),i=null,a=b(e).position===`fixed`,s=a?S(e):e;for(;u(s)&&!y(s);){let e=b(s),t=g(s),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==s):i=e,s=S(s)}return t.set(e,r),r}function an(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?h(t)?[]:rn(t,this._c):[].concat(n),r],o=nn(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=nn(t,a[e],i);s=H(n.top,s),c=V(n.right,c),l=V(n.bottom,l),u=H(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function on(e){let{width:t,height:n}=Ut(e);return{width:t,height:n}}function sn(e,t,n){let r=d(t),i=c(t),a=n===`fixed`,s=Jt(e,!0,a,t),l={scrollLeft:0,scrollTop:0},u=U(0);if((r||!a)&&((o(t)!==`body`||p(i))&&(l=x(t)),r)){let e=Jt(t,!0,a,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}!r&&i&&(u.x=Yt(i));let f=i&&!r&&!a?Xt(i,l):U(0);return{x:s.left+l.scrollLeft-u.x-f.x,y:s.top+l.scrollTop-u.y-f.y,width:s.width,height:s.height}}function cn(e){return b(e).position===`static`}function ln(e,t){if(!d(e)||b(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return c(e)===n&&(n=n.ownerDocument.body),n}function un(e,t){let n=s(e);if(h(e))return n;if(!d(e)){let t=S(e);for(;t&&!y(t);){if(u(t)&&!cn(t))return t;t=S(t)}return n}let r=ln(e,t);for(;r&&m(r)&&cn(r);)r=ln(r,t);return r&&y(r)&&cn(r)&&!g(r)?n:r||_(e)||n}function dn(e){return b(e).direction===`rtl`}function fn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function pn(e,t,n){let r=null,i,a=c(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function l(n,s){n===void 0&&(n=!1),s===void 0&&(s=1),o();let c=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=c;if(n||t(),!f||!p)return;let m=de(d),h=de(a.clientWidth-(u+f)),g=de(a.clientHeight-(d+p)),_=de(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:H(0,V(1,s))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!fn(c,e.getBoundingClientRect()))return l();if(n!==s){if(!y)return l();n?l(!1,n):i=setTimeout(()=>{l(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let u=s(e),d=()=>l(n);return u.addEventListener(`resize`,d),l(!0),()=>{u.removeEventListener(`resize`,d),o()}}function mn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Wt(e),u=i||a?[...l?w(l):[],...t?w(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?pn(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Jt(e):null;c&&g();function g(){let t=Jt(e);h&&!fn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn;function En(){return(En=t((()=>{Ht(),_e(),A(),hn=U(0),gn=25,_n=async function(e){let t=this.getOffsetParent||un,n=this.getDimensions,r=await n(e.floating);return{reference:sn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},vn={convertOffsetParentRelativeRectToViewportRelativeRect:Zt,getDocumentElement:c,getClippingRect:an,getOffsetParent:un,getElementRects:_n,getClientRects:Qt,getDimensions:on,getScale:Gt,isElement:u,isRTL:dn},yn=zt,bn=It,xn=Bt,Sn=Lt,Cn=Vt,wn=Ft,Tn=(e,t,n)=>{let r=new Map,i=n??{},a={...vn,...i.platform,_c:r};return Pt(e,t,{...i,platform:a})}})))()}function Dn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Dn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Dn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function On(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function kn(e,t){let n=On(e);return Math.round(t*n)/n}function An(e){let t=Y.useRef(e);return Pn(()=>{t.current=e}),t}function jn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=Y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Y.useState(r);Dn(f,r)||p(r);let[m,h]=Y.useState(null),[g,_]=Y.useState(null),v=Y.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=Y.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=Y.useRef(null),C=Y.useRef(null),w=Y.useRef(u),T=c!=null,E=An(c),D=An(i),O=An(l),k=Y.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),Tn(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Dn(w.current,t)&&(w.current=t,Nn.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Pn(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=Y.useRef(!1);Pn(()=>(A.current=!0,()=>{A.current=!1}),[]),Pn(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=Y.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=Y.useMemo(()=>({reference:b,floating:x}),[b,x]),N=Y.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=kn(M.floating,u.x),r=kn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...On(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return Y.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Y,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn;function Hn(){return(Hn=t((()=>{En(),Y=e(n(),1),Mn=n(),Nn=e(i(),1),Pn=typeof document<`u`?Mn.useLayoutEffect:function(){},Fn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:wn({element:r.current,padding:i}).fn(n):r?wn({element:r,padding:i}).fn(n):{}}}},In=(e,t)=>{let n=yn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ln=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Rn=(e,t)=>{let n=Sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},zn=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bn=(e,t)=>{let n=bn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vn=(e,t)=>{let n=Fn(e);return{name:n.name,fn:n.fn,options:[e,t]}}})))()}function Un(){let[e,t]=Z.useState(()=>Dr?kr():void 0);return J(()=>{e??t(kr())},[]),Z.useEffect(()=>{Dr=!0},[]),e}function Wn(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}function Gn(e){return`data-floating-ui-`+e}function X(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}function Kn(e,t,n){if(n&&!pt(n))return 0;if(typeof e==`number`)return e;if(typeof e==`function`){let n=e();return typeof n==`number`?n:n?.[t]}return e?.[t]}function qn(e){return typeof e==`function`?e():e}function Jn(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:a,elements:o}=e,{enabled:s=!0,delay:c=0,handleClose:l=null,mouseOnly:d=!1,restMs:f=0,move:p=!0}=t,m=Pr(),h=Nr(),g=mt(l),_=mt(c),v=mt(n),y=mt(f),b=Z.useRef(),x=Z.useRef(-1),S=Z.useRef(),C=Z.useRef(-1),w=Z.useRef(!0),T=Z.useRef(!1),E=Z.useRef(()=>{}),D=Z.useRef(!1),O=q(()=>{let e=i.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`});Z.useEffect(()=>{if(!s)return;function e(e){let{open:t}=e;t||(X(x),X(C),w.current=!0,D.current=!1)}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[s,a]),Z.useEffect(()=>{if(!s||!g.current||!n)return;function e(e){O()&&r(!1,e,`hover`)}let t=K(o.floating).documentElement;return t.addEventListener(`mouseleave`,e),()=>{t.removeEventListener(`mouseleave`,e)}},[o.floating,n,r,s,g,O]);let k=Z.useCallback(function(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=`hover`);let i=Kn(_.current,`close`,b.current);i&&!S.current?(X(x),x.current=window.setTimeout(()=>r(!1,e,n),i)):t&&(X(x),r(!1,e,n))},[_,r]),A=q(()=>{E.current(),S.current=void 0}),j=q(()=>{if(T.current){let e=K(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(Fr),T.current=!1}}),M=q(()=>i.current.openEvent?[`click`,`mousedown`].includes(i.current.openEvent.type):!1);Z.useEffect(()=>{if(!s)return;function e(e){if(X(x),w.current=!1,d&&!pt(b.current)||qn(y.current)>0&&!Kn(_.current,`open`))return;let t=Kn(_.current,`open`,b.current);t?x.current=window.setTimeout(()=>{v.current||r(!0,e,`hover`)},t):n||r(!0,e,`hover`)}function t(e){if(M()){j();return}E.current();let t=K(o.floating);if(X(C),D.current=!1,g.current&&i.current.floatingContext){n||X(x),S.current=g.current({...i.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){j(),A(),M()||k(e,!0,`safe-polygon`)}});let r=S.current;t.addEventListener(`mousemove`,r),E.current=()=>{t.removeEventListener(`mousemove`,r)};return}(b.current!==`touch`||!W(o.floating,e.relatedTarget))&&k(e)}function a(e){M()||i.current.floatingContext&&(g.current==null||g.current({...i.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){j(),A(),M()||k(e)}})(e))}function c(){X(x)}function l(e){M()||k(e,!1)}if(u(o.domReference)){let r=o.domReference,i=o.floating;return n&&r.addEventListener(`mouseleave`,a),p&&r.addEventListener(`mousemove`,e,{once:!0}),r.addEventListener(`mouseenter`,e),r.addEventListener(`mouseleave`,t),i&&(i.addEventListener(`mouseleave`,a),i.addEventListener(`mouseenter`,c),i.addEventListener(`mouseleave`,l)),()=>{n&&r.removeEventListener(`mouseleave`,a),p&&r.removeEventListener(`mousemove`,e),r.removeEventListener(`mouseenter`,e),r.removeEventListener(`mouseleave`,t),i&&(i.removeEventListener(`mouseleave`,a),i.removeEventListener(`mouseenter`,c),i.removeEventListener(`mouseleave`,l))}}},[o,s,e,d,p,k,A,j,r,n,v,m,_,g,i,M,y]),J(()=>{var e;if(s&&n&&(e=g.current)!=null&&(e=e.__options)!=null&&e.blockPointerEvents&&O()){T.current=!0;let e=o.floating;if(u(o.domReference)&&e){var t;let n=K(o.floating).body;n.setAttribute(Fr,``);let r=o.domReference,i=m==null||(t=m.nodesRef.current.find(e=>e.id===h))==null||(t=t.context)==null?void 0:t.elements.floating;return i&&(i.style.pointerEvents=``),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,e.style.pointerEvents=`auto`,()=>{n.style.pointerEvents=``,r.style.pointerEvents=``,e.style.pointerEvents=``}}}},[s,n,h,o,m,g,O]),J(()=>{n||(b.current=void 0,D.current=!1,A(),j())},[n,A,j]),Z.useEffect(()=>()=>{A(),X(x),X(C),j()},[s,o.domReference,A,j]);let N=Z.useMemo(()=>{function e(e){b.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e;function i(){!w.current&&!v.current&&r(!0,t,`hover`)}d&&!pt(b.current)||n||qn(y.current)===0||D.current&&e.movementX**2+e.movementY**2<2||(X(C),b.current===`touch`?i():(D.current=!0,C.current=window.setTimeout(i,qn(y.current))))}}},[d,r,n,v,y]);return Z.useMemo(()=>s?{reference:N}:{},[s,N])}function Yn(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Ir);let a=()=>e?.focus({preventScroll:n});i?a():Ir=requestAnimationFrame(a)}function Xn(e){return e?.ownerDocument||document}function Zn(e){return e===`inert`?Lr.inert:e===`aria-hidden`?Lr[`aria-hidden`]:Lr.none}function Qn(e){return e?f(e)?e.host:Qn(e.parentNode):null}function $n(e,t,n,r){let i=`data-floating-ui-inert`,a=r?`inert`:n?`aria-hidden`:null,s=Hr(t,e),c=new Set,l=new Set(s),u=[];zr[i]||(zr[i]=new WeakMap);let d=zr[i];s.forEach(f),p(t),c.clear();function f(e){!e||c.has(e)||(c.add(e),e.parentNode&&f(e.parentNode))}function p(e){!e||l.has(e)||[].forEach.call(e.children,e=>{if(o(e)!==`script`){if(c.has(e))p(e);else{let t=a?e.getAttribute(a):null,n=t!==null&&t!==`false`,r=Zn(a),o=(r.get(e)||0)+1,s=(d.get(e)||0)+1;r.set(e,o),d.set(e,s),u.push(e),o===1&&n&&Rr.add(e),s===1&&e.setAttribute(i,``),!n&&a&&e.setAttribute(a,a===`inert`?``:`true`)}}})}return Br++,()=>{u.forEach(e=>{let t=Zn(a),n=(t.get(e)||0)-1,r=(d.get(e)||0)-1;t.set(e,n),d.set(e,r),n||(!Rr.has(e)&&a&&e.removeAttribute(a),Rr.delete(e)),r||e.removeAttribute(i)}),Br--,Br||(Lr.inert=new WeakMap,Lr[`aria-hidden`]=new WeakMap,Lr.none=new WeakMap,Rr=new WeakSet,zr={})}}function er(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=Xn(e[0]).body;return $n(e.concat(Array.from(r.querySelectorAll(`[aria-live],[role="status"],output`))),r,t,n)}function tr(e){e===void 0&&(e={});let{id:t,root:n}=e,r=Ar(),i=Jr(),[a,o]=Z.useState(null),s=Z.useRef(null);return J(()=>()=>{a?.remove(),queueMicrotask(()=>{s.current=null})},[a]),J(()=>{if(!r||s.current)return;let e=t?document.getElementById(t):null;if(!e)return;let n=document.createElement(`div`);n.id=r,n.setAttribute(qr,``),e.appendChild(n),s.current=n,o(n)},[t,r]),J(()=>{if(n===null||!r||s.current)return;let e=n||i?.portalNode;e&&!l(e)&&(e=e.current),e||=document.body;let a=null;t&&(a=document.createElement(`div`),a.id=t,e.appendChild(a));let c=document.createElement(`div`);c.id=r,c.setAttribute(qr,``),e=a||e,e.appendChild(c),s.current=c,o(c)},[t,n,r,i]),a}function nr(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,a=tr({id:n,root:r}),[o,s]=Z.useState(null),c=Z.useRef(null),l=Z.useRef(null),u=Z.useRef(null),d=Z.useRef(null),f=o?.modal,p=o?.open,m=!!o&&!o.modal&&o.open&&i&&!!(r||a);return Z.useEffect(()=>{if(!a||!i||f)return;function e(e){a&&vt(e)&&(e.type===`focusin`?bt:yt)(a)}return a.addEventListener(`focusin`,e,!0),a.addEventListener(`focusout`,e,!0),()=>{a.removeEventListener(`focusin`,e,!0),a.removeEventListener(`focusout`,e,!0)}},[a,i,f]),Z.useEffect(()=>{a&&(p||bt(a))},[p,a]),(0,Q.jsxs)(Kr.Provider,{value:Z.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:c,afterOutsideRef:l,beforeInsideRef:u,afterInsideRef:d,portalNode:a,setFocusManagerState:s}),[i,a]),children:[m&&a&&(0,Q.jsx)(Wr,{"data-type":`outside`,ref:c,onFocus:e=>{if(vt(e,a)){var t;(t=u.current)==null||t.focus()}else _t(o?o.domReference:null)?.focus()}}),m&&a&&(0,Q.jsx)(`span`,{"aria-owns":a.id,style:Gr}),a&&gr.createPortal(t,a),m&&a&&(0,Q.jsx)(Wr,{"data-type":`outside`,ref:l,onFocus:e=>{if(vt(e,a)){var t;(t=d.current)==null||t.focus()}else gt(o?o.domReference:null)?.focus(),o!=null&&o.closeOnFocusOut&&o?.onOpenChange(!1,e.nativeEvent,`focus-out`)}})]})}function rr(e){return Z.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}function ir(){$=$.filter(e=>e.deref()?.isConnected)}function ar(e){ir(),e&&o(e)!==`body`&&($.push(new WeakRef(e)),$.length>Yr&&($=$.slice(-20)))}function or(){return ir(),$[$.length-1]?.deref()}function sr(e){let t=Dt();return Je(e,t)?e:Ke(e,t)[0]||e}function cr(e,t){var n;if(!t.current.includes(`floating`)&&!((n=e.getAttribute(`role`))!=null&&n.includes(`dialog`)))return;let r=Dt(),i=qe(e,r).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Je(e,r)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),a=e.getAttribute(`tabindex`);t.current.includes(`floating`)||i.length===0?a!==`0`&&e.setAttribute(`tabindex`,`0`):(a!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function lr(e){let{context:t,children:n,disabled:r=!1,order:i=[`content`],guards:a=!0,initialFocus:o=0,returnFocus:s=!0,restoreFocus:c=!1,modal:l=!0,visuallyHiddenDismiss:u=!1,closeOnFocusOut:f=!0,outsideElementsInert:p=!1,getInsideElements:m=()=>[]}=e,{open:h,onOpenChange:g,events:_,dataRef:v,elements:{domReference:y,floating:b}}=t,x=q(()=>v.current.floatingContext?.nodeId),S=q(m),C=typeof o==`number`&&o<0,w=at(y)&&C,T=Vr(),E=!T||a,D=!E||T&&p,O=mt(i),k=mt(o),A=mt(s),j=Pr(),M=Jr(),N=Z.useRef(null),P=Z.useRef(null),F=Z.useRef(!1),I=Z.useRef(!1),L=Z.useRef(-1),ee=Z.useRef(-1),te=M!=null,R=ot(b),z=q(function(e){return e===void 0&&(e=R),e?Ke(e,Dt()):[]}),B=q(e=>{let t=z(e);return O.current.map(e=>y&&e===`reference`?y:R&&e===`floating`?R:t).filter(Boolean).flat()});Z.useEffect(()=>{if(r||!l)return;function e(e){if(e.key===`Tab`){W(R,tt(K(R)))&&z().length===0&&!w&<(e);let t=B(),n=G(e);O.current[0]===`reference`&&n===y&&(lt(e),e.shiftKey?Yn(t[t.length-1]):Yn(t[1])),O.current[1]===`floating`&&n===R&&e.shiftKey&&(lt(e),Yn(t[0]))}}let t=K(R);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,y,R,l,O,w,z,B]),Z.useEffect(()=>{if(r||!b)return;function e(e){let t=G(e),n=z().indexOf(t);n!==-1&&(L.current=n)}return b.addEventListener(`focusin`,e),()=>{b.removeEventListener(`focusin`,e)}},[r,b,z]),Z.useEffect(()=>{if(r||!f)return;function e(){I.current=!0,setTimeout(()=>{I.current=!1})}function t(e){let t=e.relatedTarget,n=e.currentTarget,r=G(e);queueMicrotask(()=>{let i=x(),a=!(W(y,t)||W(b,t)||W(t,b)||W(M?.portalNode,t)||t!=null&&t.hasAttribute(Gn(`focus-guard`))||j&&(st(j.nodesRef.current,i).find(e=>W(e.context?.elements.floating,t)||W(e.context?.elements.domReference,t))||ct(j.nodesRef.current,i).find(e=>[e.context?.elements.floating,ot(e.context?.elements.floating)].includes(t)||e.context?.elements.domReference===t)));if(n===y&&R&&cr(R,O),c&&n!==y&&!(r!=null&&r.isConnected)&&tt(K(R))===K(R).body){d(R)&&R.focus();let e=L.current,t=z(),n=t[e]||t[t.length-1]||R;d(n)&&n.focus()}if(v.current.insideReactTree){v.current.insideReactTree=!1;return}(w||!l)&&t&&a&&!I.current&&t!==or()&&(F.current=!0,g(!1,e,`focus-out`))})}let n=!!(!j&&M);function i(){X(ee),v.current.insideReactTree=!0,ee.current=window.setTimeout(()=>{v.current.insideReactTree=!1})}if(b&&d(y))return y.addEventListener(`focusout`,t),y.addEventListener(`pointerdown`,e),b.addEventListener(`focusout`,t),n&&b.addEventListener(`focusout`,i,!0),()=>{y.removeEventListener(`focusout`,t),y.removeEventListener(`pointerdown`,e),b.removeEventListener(`focusout`,t),n&&b.removeEventListener(`focusout`,i,!0)}},[r,y,b,R,l,j,M,g,f,c,z,w,x,O,v]);let ne=Z.useRef(null),re=Z.useRef(null),ie=rr([ne,M?.beforeInsideRef]),ae=rr([re,M?.afterInsideRef]);Z.useEffect(()=>{var e,t;if(r||!b)return;let n=Array.from((M==null||(e=M.portalNode)==null?void 0:e.querySelectorAll(`[`+Gn(`portal`)+`]`))||[]),i=(t=(j?ct(j.nodesRef.current,x()):[]).find(e=>at(e.context?.elements.domReference||null)))==null||(t=t.context)==null?void 0:t.elements.domReference,a=[b,i,...n,...S(),N.current,P.current,ne.current,re.current,M?.beforeOutsideRef.current,M?.afterOutsideRef.current,O.current.includes(`reference`)||w?y:null].filter(e=>e!=null),o=l||w?er(a,!D,D):er(a);return()=>{o()}},[r,y,b,l,O,M,w,E,D,j,x,S]),J(()=>{if(r||!d(R))return;let e=tt(K(R));queueMicrotask(()=>{let t=B(R),n=k.current,r=(typeof n==`number`?t[n]:n.current)||R,i=W(R,e);!C&&!i&&h&&Yn(r,{preventScroll:r===R})})},[r,h,R,C,B,k]),J(()=>{if(r||!R)return;let e=K(R);ar(tt(e));function t(e){let{reason:t,event:n,nested:r}=e;if([`hover`,`safe-polygon`].includes(t)&&n.type===`mouseleave`&&(F.current=!0),t===`outside-press`){if(r)F.current=!1;else if(dt(n)||ft(n))F.current=!1;else{let e=!1;document.createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?F.current=!1:F.current=!0}}}_.on(`openchange`,t);let n=e.createElement(`span`);n.setAttribute(`tabindex`,`-1`),n.setAttribute(`aria-hidden`,`true`),Object.assign(n.style,Ur),te&&y&&y.insertAdjacentElement(`afterend`,n);function i(){if(typeof A.current==`boolean`){let e=y||or();return e&&e.isConnected?e:n}return A.current.current||n}return()=>{_.off(`openchange`,t);let r=tt(e),a=W(b,r)||j&&st(j.nodesRef.current,x(),!1).some(e=>W(e.context?.elements.floating,r)),o=i();queueMicrotask(()=>{let t=sr(o);A.current&&!F.current&&d(t)&&(t===r||r===e.body||a)&&t.focus({preventScroll:!0}),n.remove()})}},[r,b,R,A,v,_,j,te,y,x]),Z.useEffect(()=>(queueMicrotask(()=>{F.current=!1}),()=>{queueMicrotask(ir)}),[r]),J(()=>{if(!r&&M)return M.setFocusManagerState({modal:l,closeOnFocusOut:f,open:h,onOpenChange:g,domReference:y}),()=>{M.setFocusManagerState(null)}},[r,M,l,h,g,f,y]),J(()=>{r||R&&cr(R,O)},[r,R,O]);function oe(e){return r||!u||!l?null:(0,Q.jsx)(Xr,{ref:e===`start`?N:P,onClick:e=>g(!1,e.nativeEvent),children:typeof u==`string`?u:`Dismiss`})}let se=!r&&E&&(!l||!w)&&(te||l);return(0,Q.jsxs)(Q.Fragment,{children:[se&&(0,Q.jsx)(Wr,{"data-type":`inside`,ref:ie,onFocus:e=>{if(l){let e=B();Yn(i[0]===`reference`?e[0]:e[e.length-1])}else if(M!=null&&M.preserveTabOrder&&M.portalNode){if(F.current=!1,vt(e,M.portalNode))gt(y)?.focus();else{var t;(t=M.beforeOutsideRef.current)==null||t.focus()}}}}),!w&&oe(`start`),n,oe(`end`),se&&(0,Q.jsx)(Wr,{"data-type":`inside`,ref:ae,onFocus:e=>{if(l)Yn(B()[0]);else if(M!=null&&M.preserveTabOrder&&M.portalNode){if(f&&(F.current=!0),vt(e,M.portalNode))_t(y)?.focus();else{var t;(t=M.afterOutsideRef.current)==null||t.focus()}}}})]})}function ur(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,elements:i,dataRef:a}=e,{enabled:o=!0,escapeKey:s=!0,outsidePress:c=!0,outsidePressEvent:l=`pointerdown`,referencePress:f=!1,referencePressEvent:p=`pointerdown`,ancestorScroll:m=!1,bubbles:h,capture:g}=t,_=Pr(),x=q(typeof c==`function`?c:()=>!1),C=typeof c==`function`?x:c,T=Z.useRef(!1),{escapeKey:E,outsidePress:D}=$r(h),{escapeKey:O,outsidePress:k}=$r(g),A=Z.useRef(!1),j=q(e=>{if(!n||!o||!s||e.key!==`Escape`||A.current)return;let t=a.current.floatingContext?.nodeId,i=_?st(_.nodesRef.current,t):[];if(!E&&(e.stopPropagation(),i.length>0)){let e=!0;if(i.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}r(!1,ut(e)?e.nativeEvent:e,`escape-key`)}),M=q(e=>{var t;let n=()=>{var t;j(e),(t=G(e))==null||t.removeEventListener(`keydown`,n)};(t=G(e))==null||t.addEventListener(`keydown`,n)}),N=q(e=>{let t=a.current.insideReactTree;a.current.insideReactTree=!1;let n=T.current;if(T.current=!1,l===`click`&&n||t||typeof C==`function`&&!C(e))return;let o=G(e),s=`[`+Gn(`inert`)+`]`,c=K(i.floating).querySelectorAll(s),f=u(o)?o:null;for(;f&&!y(f);){let e=S(f);if(y(e)||!u(e))break;f=e}if(c.length&&u(o)&&!rt(o)&&!W(o,i.floating)&&Array.from(c).every(e=>!W(f,e)))return;if(d(o)&&I){let t=y(o),n=b(o),r=/auto|scroll/,i=t||r.test(n.overflowX),a=t||r.test(n.overflowY),s=i&&o.clientWidth>0&&o.scrollWidth>o.clientWidth,c=a&&o.clientHeight>0&&o.scrollHeight>o.clientHeight,l=n.direction===`rtl`,u=c&&(l?e.offsetX<=o.offsetWidth-o.clientWidth:e.offsetX>o.clientWidth),d=s&&e.offsetY>o.clientHeight;if(u||d)return}let p=a.current.floatingContext?.nodeId,m=_&&st(_.nodesRef.current,p).some(t=>nt(e,t.context?.elements.floating));if(nt(e,i.floating)||nt(e,i.domReference)||m)return;let h=_?st(_.nodesRef.current,p):[];if(h.length>0){let e=!0;if(h.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}r(!1,e,`outside-press`)}),P=q(e=>{var t;let n=()=>{var t;N(e),(t=G(e))==null||t.removeEventListener(l,n)};(t=G(e))==null||t.addEventListener(l,n)});Z.useEffect(()=>{if(!n||!o)return;a.current.__escapeKeyBubbles=E,a.current.__outsidePressBubbles=D;let e=-1;function t(e){r(!1,e,`ancestor-scroll`)}function c(){window.clearTimeout(e),A.current=!0}function d(){e=window.setTimeout(()=>{A.current=!1},v()?5:0)}let f=K(i.floating);s&&(f.addEventListener(`keydown`,O?M:j,O),f.addEventListener(`compositionstart`,c),f.addEventListener(`compositionend`,d)),C&&f.addEventListener(l,k?P:N,k);let p=[];return m&&(u(i.domReference)&&(p=w(i.domReference)),u(i.floating)&&(p=p.concat(w(i.floating))),!u(i.reference)&&i.reference&&i.reference.contextElement&&(p=p.concat(w(i.reference.contextElement)))),p=p.filter(e=>e!==f.defaultView?.visualViewport),p.forEach(e=>{e.addEventListener(`scroll`,t)}),()=>{s&&(f.removeEventListener(`keydown`,O?M:j,O),f.removeEventListener(`compositionstart`,c),f.removeEventListener(`compositionend`,d)),C&&f.removeEventListener(l,k?P:N,k),p.forEach(e=>{e.removeEventListener(`scroll`,t)}),window.clearTimeout(e)}},[a,i,s,C,l,n,r,m,o,E,D,j,O,M,N,k,P]),Z.useEffect(()=>{a.current.insideReactTree=!1},[a,C,l]);let F=Z.useMemo(()=>({onKeyDown:j,...f&&{[Zr[p]]:e=>{r(!1,e.nativeEvent,`reference-press`)},...p!==`click`&&{onClick(e){r(!1,e.nativeEvent,`reference-press`)}}}}),[j,r,f,p]),I=Z.useMemo(()=>{function e(e){e.button===0&&(T.current=!0)}return{onKeyDown:j,onMouseDown:e,onMouseUp:e,[Qr[l]]:()=>{a.current.insideReactTree=!0}}},[j,l,a]);return Z.useMemo(()=>o?{reference:F,floating:I}:{},[o,F,I])}function dr(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=Ar(),a=Z.useRef({}),[o]=Z.useState(()=>Wn()),s=Nr()!=null,[c,l]=Z.useState(r.reference),u=q((e,t,r)=>{a.current.openEvent=e?t:void 0,o.emit(`openchange`,{open:e,event:t,reason:r,nested:s}),n?.(e,t,r)}),d=Z.useMemo(()=>({setPositionReference:l}),[]),f=Z.useMemo(()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference}),[c,r.reference,r.floating]);return Z.useMemo(()=>({dataRef:a,open:t,onOpenChange:u,elements:f,events:o,floatingId:i,refs:d}),[t,u,f,o,i,d])}function fr(e){let{elements:t,...n}=e===void 0?{}:e,{nodeId:r}=n,i=dr({...n,elements:{reference:t?.reference??null,floating:t?.floating??null}}),a=n.rootContext||i,o=a.elements,[s,c]=Z.useState(null),[l,d]=Z.useState(null),f=o?.domReference||s,p=Z.useRef(null),m=Pr();J(()=>{f&&(p.current=f)},[f]);let h=jn({...n,elements:{...o,...l&&{reference:l}}}),g=Z.useCallback(e=>{let t=u(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;d(t),h.refs.setReference(t)},[h.refs]),_=Z.useCallback(e=>{(u(e)||e===null)&&(p.current=e,c(e)),(u(h.refs.reference.current)||h.refs.reference.current===null||e!==null&&!u(e))&&h.refs.setReference(e)},[h.refs]),v=Z.useMemo(()=>({...h.refs,setReference:_,setPositionReference:g,domReference:p}),[h.refs,_,g]),y=Z.useMemo(()=>({...h.elements,domReference:f}),[h.elements,f]),b=Z.useMemo(()=>({...h,...a,refs:v,elements:y,nodeId:r}),[h,v,y,r,a]);return J(()=>{a.dataRef.current.floatingContext=b;let e=m?.nodesRef.current.find(e=>e.id===r);e&&(e.context=b)}),Z.useMemo(()=>({...h,context:b,refs:v,elements:y}),[h,v,y,b])}function pr(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[vr]:t,[yr]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,[_r]:``},...a,...t.map(t=>{let r=t?t[n]:null;return typeof r==`function`?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,a]=t;if(!(i&&[vr,yr].includes(n))){if(n.indexOf(`on`)===0){if(r.has(n)||r.set(n,[]),typeof a==`function`){var o;(o=r.get(n))==null||o.push(a),e[n]=function(){var e=[...arguments];return r.get(n)?.map(t=>t(...e)).find(e=>e!==void 0)}}}else e[n]=a}}),e),{})}}function mr(e){e===void 0&&(e=[]);let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=Z.useCallback(t=>pr(t,e,`reference`),t),a=Z.useCallback(t=>pr(t,e,`floating`),n),o=Z.useCallback(t=>pr(t,e,`item`),r);return Z.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}function hr(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=Ar(),c=r.domReference?.id||s,l=Z.useMemo(()=>ot(r.floating)?.id||i,[r.floating,i]),u=ei.get(o)??o,d=Nr()!=null,f=Z.useMemo(()=>u===`tooltip`||o===`label`?{[`aria-`+(o===`label`?`labelledby`:`describedby`)]:n?l:void 0}:{"aria-expanded":n?`true`:`false`,"aria-haspopup":u===`alertdialog`?`dialog`:u,"aria-controls":n?l:void 0,...u===`listbox`&&{role:`combobox`},...u===`menu`&&{id:c},...u===`menu`&&d&&{role:`menuitem`},...o===`select`&&{"aria-autocomplete":`none`},...o===`combobox`&&{"aria-autocomplete":`list`}},[u,l,d,n,c,o]),p=Z.useMemo(()=>{let e={id:l,...u&&{role:u}};return u===`tooltip`||o===`label`?e:{...e,...u===`menu`&&{"aria-labelledby":c}}},[u,l,c,o]),m=Z.useCallback(e=>{let{active:t,selected:n}=e,r={role:`option`,...t&&{id:l+`-fui-option`}};switch(o){case`select`:case`combobox`:return{...r,"aria-selected":n}}return{}},[l,o]);return Z.useMemo(()=>a?{reference:f,floating:p,item:m}:{},[a,f,p,m])}var Z,Q,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,kr,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,$,Xr,Zr,Qr,$r,ei;function ti(){return(ti=t((()=>{Z=e(n(),1),Ot(),Q=r(),A(),Ye(),gr=e(i(),1),Hn(),_r=`data-floating-ui-focusable`,vr=`active`,yr=`selected`,br=`ArrowLeft`,xr=`ArrowRight`,Sr=`ArrowUp`,Cr=`ArrowDown`,wr=[br,xr],Tr=[Sr,Cr],[...wr,...Tr],Er={...Z},Dr=!1,Or=0,kr=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+Or++,Ar=Er.useId||Un,jr=Z.createContext(null),Mr=Z.createContext(null),Nr=()=>Z.useContext(jr)?.id||null,Pr=()=>Z.useContext(Mr),Fr=Gn(`safe-polygon`),Ir=0,Lr={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap},Rr=new WeakSet,zr={},Br=0,Vr=()=>typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype,Hr=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Qn(t);return e.contains(n)?n:null}).filter(e=>e!=null),Ur={border:0,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:0,position:`fixed`,whiteSpace:`nowrap`,width:`1px`,top:0,left:0},Wr=Z.forwardRef(function(e,t){let[n,r]=Z.useState();J(()=>{Qe()&&r(`button`)},[]);let i={ref:t,tabIndex:0,role:n,"aria-hidden":!n||void 0,[Gn(`focus-guard`)]:``,style:Ur};return(0,Q.jsx)(`span`,{...e,...i})}),Gr={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},Kr=Z.createContext(null),qr=Gn(`portal`),Jr=()=>Z.useContext(Kr),Yr=20,$=[],Xr=Z.forwardRef(function(e,t){return(0,Q.jsx)(`button`,{...e,type:`button`,ref:t,tabIndex:-1,style:Ur})}),Zr={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},Qr={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},$r=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}),ei=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]])})))()}export{En as _,fr as a,hr as c,Rn as d,Hn as f,mn as g,zn as h,ur as i,Vn as l,Ln as m,nr as n,Jn as o,In as p,ti as r,mr as s,lr as t,Bn as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./iframe-CB9pifff.js";e();
|