@ryuzaki13/react-foundation-ui 1.0.16 → 1.0.17
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/image/index.d.ts +14 -5
- package/dist/image/index.d.ts.map +1 -1
- package/dist/image/index.js +256 -252
- package/dist/image/index.js.map +1 -1
- package/dist/image/lib/buildImageSources.d.ts +4 -0
- package/dist/image/lib/buildImageSources.d.ts.map +1 -0
- package/dist/image/lib/buildImageSrcSet.d.ts +4 -0
- package/dist/image/lib/buildImageSrcSet.d.ts.map +1 -0
- package/dist/image/lib/getImageCropPreviewStyle.d.ts +9 -0
- package/dist/image/lib/getImageCropPreviewStyle.d.ts.map +1 -0
- package/dist/image/lib/getImageSelectionKey.d.ts +4 -0
- package/dist/image/lib/getImageSelectionKey.d.ts.map +1 -0
- package/dist/image/model/imageCropTypes.d.ts +35 -0
- package/dist/image/model/imageCropTypes.d.ts.map +1 -0
- package/dist/image/model/imageSelectionTypes.d.ts +53 -0
- package/dist/image/model/imageSelectionTypes.d.ts.map +1 -0
- package/dist/image/model/imageTypes.d.ts +41 -0
- package/dist/image/model/imageTypes.d.ts.map +1 -0
- package/dist/image/model/useImageSelectionState.d.ts +7 -0
- package/dist/image/model/useImageSelectionState.d.ts.map +1 -0
- package/dist/image/ui/ImageCropper.d.ts +6 -12
- package/dist/image/ui/ImageCropper.d.ts.map +1 -1
- package/dist/image/ui/ImagePlaceholder.d.ts +1 -2
- package/dist/image/ui/ImagePlaceholder.d.ts.map +1 -1
- package/dist/image/ui/ImageRenderer.d.ts +8 -7
- package/dist/image/ui/ImageRenderer.d.ts.map +1 -1
- package/dist/image/ui/ImageSelectionFields.d.ts +8 -0
- package/dist/image/ui/ImageSelectionFields.d.ts.map +1 -0
- package/dist/image/ui/ImageSelectionModal.d.ts +4 -0
- package/dist/image/ui/ImageSelectionModal.d.ts.map +1 -0
- package/dist/image/ui/ImageSelectionPanel.d.ts +4 -0
- package/dist/image/ui/ImageSelectionPanel.d.ts.map +1 -0
- package/dist/image/ui/ImageView.d.ts +8 -35
- package/dist/image/ui/ImageView.d.ts.map +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-vJLUGaI_.js → Badge-DhbMuuXm.js} +1 -1
- package/storybook-static/assets/{Badge.stories-CB7_sy4V.js → Badge.stories-Cn2OwyNl.js} +1 -1
- package/storybook-static/assets/{Button-oTagr13z.js → Button-BCO6drLh.js} +1 -1
- package/storybook-static/assets/{Button-BYai87yi.js → Button-CK0YS5UI.js} +1 -1
- package/storybook-static/assets/{Button.stories-CLo53Dym.js → Button.stories-PvBecpMR.js} +1 -1
- package/storybook-static/assets/{CheckBox-C2bHNtHr.js → CheckBox-CH7PEkzn.js} +1 -1
- package/storybook-static/assets/{CheckBox-BraLv5KN.js → CheckBox-DgMj1d8n.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-o2lY0RKu.js → CheckBox.stories-D6ItCkPg.js} +1 -1
- package/storybook-static/assets/{Color-KMSTOMOX-BHaJ-wKU.js → Color-KMSTOMOX-GfidB0cg.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BzaUwzMv.js → ContextMenu-D3lrcJcF.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-Cg2bAlWA.js → ContextMenu.stories-eH4W7mHM.js} +1 -1
- package/storybook-static/assets/{DateInput-BJ-UIrN4.js → DateInput-B1DsTxcV.js} +1 -1
- package/storybook-static/assets/{DateInput-BbXwXYMN.js → DateInput-BlmssZge.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-B8fRipDy.js → DateInput.stories-CXftqoBw.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-Q10WgnHC.js → DateRangePresetSelect-CL0hlHRZ.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-Bon7aDz9.js → DateRangePresetSelect-DIrJMADf.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-X5yR46L9.js → DateRangePresetSelect.stories-DcSm9soa.js} +1 -1
- package/storybook-static/assets/{Detail-Jk3fkqjF.js → Detail-CoabkYcs.js} +1 -1
- package/storybook-static/assets/{Detail.stories-wqoSTZIu.js → Detail.stories-DQYXxRp4.js} +1 -1
- package/storybook-static/assets/{Dialog-tlGg2W0-.js → Dialog-BMqJ2cWE.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-BKM3E602.js → Dialog.stories-UMGlcMlF.js} +1 -1
- package/storybook-static/assets/{Disclosure-DG0pFR_s.js → Disclosure-KB4xjsXl.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-vozdPrt7.js → Disclosure.stories-BebcX5Iz.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CKQjaMcI.js → DocsRenderer-JROSPFPF-DuKHOivk.js} +2 -2
- package/storybook-static/assets/{DropZone-BTEX9cWB.js → DropZone-nfS8G3Hn.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-DEZvssV8.js → DropZone.stories-CfXfUPEJ.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-DWCr1uXl.js → DropdownMenu-DnrqkJwd.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-ctXctIJW.js → ExpandableActionPanel.stories-BoiZuwQW.js} +1 -1
- package/storybook-static/assets/{Flex-DEDjnGpd.js → Flex-CTKFA_mG.js} +1 -1
- package/storybook-static/assets/{Flex-DoUD1UXL.js → Flex-Cmb3839O.js} +1 -1
- package/storybook-static/assets/{Flex.stories-dflAzIUJ.js → Flex.stories-CP95d38j.js} +1 -1
- package/storybook-static/assets/{Grid-Ba1LiIoK.js → Grid-DNKooHvc.js} +1 -1
- package/storybook-static/assets/{Grid-CygalYJC.js → Grid-Xy7dV3bL.js} +1 -1
- package/storybook-static/assets/{Grid.stories-C0TJlQBg.js → Grid.stories-CzW_QizU.js} +1 -1
- package/storybook-static/assets/ImageCropper.stories-BTXQ94Gl.js +115 -0
- package/storybook-static/assets/ImageRenderer-BoaYYmBZ.js +2 -0
- package/storybook-static/assets/ImageRenderer.stories-BbzcY9qz.js +22 -0
- package/storybook-static/assets/ImageView.stories-BxeA_KDn.js +9 -0
- package/storybook-static/assets/{Input-DKnsPLP3.js → Input-23s-lKOn.js} +1 -1
- package/storybook-static/assets/{Input-CdMnSMml.js → Input-E_LkqP6a.js} +1 -1
- package/storybook-static/assets/{Input.stories-CV9c9erP.js → Input.stories-uG22uEFU.js} +1 -1
- package/storybook-static/assets/{InputDateTime-WJO0bw9b.js → InputDateTime-zIw8NrCi.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-Bft-0XHy.js → InputDateTime.stories-CRyGwLn7.js} +1 -1
- package/storybook-static/assets/{InputFile-Bo0pMMdC.js → InputFile-Dt4Qf9UO.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-BbOvmDfI.js → InputFile.stories-CVHdaQXL.js} +1 -1
- package/storybook-static/assets/{InputFiles-CkK5910C.js → InputFiles-BqrOxvD8.js} +1 -1
- package/storybook-static/assets/{InputFiles-DGB0BcGz.js → InputFiles-Bwk_tH4A.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-Dx6p_DhD.js → InputFiles.stories-eNwGWGc6.js} +1 -1
- package/storybook-static/assets/{InputImage-CrbIRoPw.js → InputImage-DpX3d6wQ.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-COflYR5z.js → InputImage.stories-DBYvsQrj.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-JWsbQL63.js → LayoutPicker-CfSu2g4Z.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-D6S2k0QD.js → LayoutPicker.stories-D1lUyF06.js} +1 -1
- package/storybook-static/assets/{Listbox-t-YWC_KD.js → Listbox-uDkRdf67.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-DKoxXNY1.js → Listbox.stories-6yyYujhd.js} +1 -1
- package/storybook-static/assets/{Modal-CY7qf0nr.js → Modal-J42YPjEH.js} +1 -1
- package/storybook-static/assets/{Modal.stories-Dv-SiU5Z.js → Modal.stories-Nmp6akCZ.js} +1 -1
- package/storybook-static/assets/{MultiSelect-CZA-7_sV.js → MultiSelect-BJGmqmIo.js} +1 -1
- package/storybook-static/assets/{MultiSelect-Ch2bGl-M.js → MultiSelect-UF351F4G.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-xd5Nrb5A.js → MultiSelect.stories-DkzP-YMA.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-CjOawFjN.js → NotificationsHost-C7ZbgRdj.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-DE73HoC9.js → NotificationsHost.stories-DtE5nY4I.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-BvTYP502.js → ODataMultiSelect-A28BQBXe.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-nzYiv75x.js → ODataMultiSelect.stories-CleaUAky.js} +1 -1
- package/storybook-static/assets/{ODataSelect-DQ0azWQm.js → ODataSelect-CgPTwZze.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BjoZBzmM.js → ODataSelect-CidLsWhU.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-CHaNdl7F.js → ODataSelect.stories-CnjZKsYR.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-C4B0SE6h.js → ODataTreeMultiSelect-BcXe8UV0.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CE9z8LHX.js → ODataTreeMultiSelect.stories-Cy6URpNZ.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-CE8F2Gif.js → ODataTreeSelect-B79mkiqm.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-BK5HglYD.js → ODataTreeSelect.stories-BmS9Kslk.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-JWy5A4N9.js → PeriodSelect-Dvd_n0px.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-Dq8OvOmE.js → PeriodSelect.stories-DeB7vL4v.js} +1 -1
- package/storybook-static/assets/{Popover-q9E7uSND.js → Popover-CF6lPz2I.js} +1 -1
- package/storybook-static/assets/{Popover.stories-B0TMCfn5.js → Popover.stories-CxldfZVc.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-C29yd2AW.js → PresetRangeDateInput-CMkWDbAV.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-DwEX2jsI.js → PresetRangeDateInput.stories-CNYGpwHh.js} +1 -1
- package/storybook-static/assets/{RadioButton-DqK_JoST.js → RadioButton-BhV-iR7A.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-CNekwXt5.js → RadioButton.stories-BBGp713e.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Cn_Mf2ki.js → RadioGroup-CFQmZbmE.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BDoAYuiK.js → RadioGroup-_xQT2nsR.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-D9RU6f5W.js → RadioGroup.stories-B20ktIVa.js} +1 -1
- package/storybook-static/assets/{Select-oj7GFB7o.js → Select-CXqDj36V.js} +1 -1
- package/storybook-static/assets/{Select-D-b4fatX.js → Select-jIsVhwD3.js} +1 -1
- package/storybook-static/assets/{Select.stories-CXvdHYC9.js → Select.stories-C0VB6D4d.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-B9fxCwa1.js → SelectOptionContent-COxwEiax.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CYs-Pu-J.js → SerializableSelect-BPHsbeTD.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-B3cGmITh.js → SerializableSelect-J1rOw5PY.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-BWkLQPiz.js → SerializableSelect.stories-DsPARybj.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BE5NPMX3.js → SingleDateTimeInput-BpQ4pLpY.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-LrNh_0Pg.js → SingleDateTimeInput.stories-iX__aO9q.js} +1 -1
- package/storybook-static/assets/{Slider-BiJb0Bcg.js → Slider-DBT0NGzG.js} +1 -1
- package/storybook-static/assets/{Slider.stories-Bkq_5WGQ.js → Slider.stories-B2eK8XJA.js} +1 -1
- package/storybook-static/assets/{SliderInput-oy8E6N-U.js → SliderInput-ChSw_jKg.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-BwD2JLof.js → SliderInput.stories-Ydlqkpul.js} +1 -1
- package/storybook-static/assets/{Sortable-B2rvvzXw.js → Sortable-BNdP7m0c.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-Cqo5UR08.js → Sortable.stories-DN3EmT5j.js} +1 -1
- package/storybook-static/assets/{Splitter-Dv7hkNKL.js → Splitter-CcmZ1RhL.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-DD68b5v2.js → Splitter.stories-8_bdaQBx.js} +1 -1
- package/storybook-static/assets/{StateSelect-CJk5VPSP.js → StateSelect-b7_i5AYO.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-Dsz5q4YO.js → StateSelect.stories-8HzaiOPq.js} +1 -1
- package/storybook-static/assets/{Switch-CAO6gFW1.js → Switch-B6iIA_Sa.js} +1 -1
- package/storybook-static/assets/{Switch.stories-DVBH1whs.js → Switch.stories-C0C1FC4S.js} +1 -1
- package/storybook-static/assets/{Table-DklNmxRt.js → Table-ClcldA-z.js} +1 -1
- package/storybook-static/assets/{Table.stories-BPkPRAlC.js → Table.stories-BiJfbbFS.js} +1 -1
- package/storybook-static/assets/{Tabs-BsM2BwFg.js → Tabs-SS9HB-vC.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-DAwHh5SX.js → Tabs.stories-BRcexZE0.js} +1 -1
- package/storybook-static/assets/{Textarea-NqA5cqqY.js → Textarea-DMbVI72I.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-BibKa46U.js → Textarea.stories-DSgmFgdA.js} +1 -1
- package/storybook-static/assets/{TimePanel-CU6Buf8R.js → TimePanel-AqEGPwAi.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-C1VVmISr.js → TimePanel.stories-C7GxLG8Y.js} +1 -1
- package/storybook-static/assets/{Toggle-D0WP6hzD.js → Toggle-BGonS5_k.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-1jRKEvIw.js → Toggle.stories-fg1rL2w5.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-jEXdprAY.js → TreeMultiSelect-cfKLgsPQ.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-CMVtYLOl.js → TreeMultiSelect-m1Jc0UmH.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-lwH6_IxQ.js → TreeMultiSelect.stories-CcoijQYD.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-waf9wBhE.js → TreePickerBase-D8LeBNby.js} +1 -1
- package/storybook-static/assets/{TreeSelect-Ckk4x1dc.js → TreeSelect-CLrdAJA-.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CdjAQ-8C.js → TreeSelect-CYJ5zvKm.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-tPZ7v5P4.js → TreeSelect.stories-C_uly8NB.js} +1 -1
- package/storybook-static/assets/{TreeTable-Z2bnFp-2.js → TreeTable-CPTxegC1.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-B1MoDE9M.js → TreeTable.stories-BjUwwZjp.js} +1 -1
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-CMn5qdum.js → WithTooltip-7X4HQR7L-CUFIZPaf.js} +1 -1
- package/storybook-static/assets/{base-table-Cx3KcVeO.js → base-table-cOtSkLXv.js} +1 -1
- package/storybook-static/assets/{blocks-BakdKZKD.js → blocks-Ca82jrBU.js} +6 -6
- package/storybook-static/assets/{button-ZElzKkii.js → button-BFuY_BqY.js} +1 -1
- package/storybook-static/assets/{check-box-Cd_bOhcF.js → check-box-CmlDA0Xq.js} +1 -1
- package/storybook-static/assets/{chunk-3LY4VQVK-CF1Xf7FV.js → chunk-3LY4VQVK-CDA9ib8M.js} +1 -1
- package/storybook-static/assets/{chunk-LITCR56V-BlsuOcZ2.js → chunk-LITCR56V-Mcli8zWg.js} +1 -1
- package/storybook-static/assets/{contextMenu-Dsal-zhe.js → contextMenu-BJxw-pJj.js} +1 -1
- package/storybook-static/assets/{error-0XWTHIC3.js → error-BwxipWa_.js} +1 -1
- package/storybook-static/assets/{flex-D5yYTe9c.js → flex-BPTt9N_D.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-bKfCIqPR.js → floating-ui.react-CA8LXveu.js} +1 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-CiF3j9Xe.js +1 -0
- package/storybook-static/assets/{formatters-Cz4yGxBj.js → formatters-BSZSiQe7.js} +1 -1
- package/storybook-static/assets/grid-C5nOHfpH.js +1 -0
- package/storybook-static/assets/{hooks-n0e1oVqy.js → hooks-rW6LwSJF.js} +1 -1
- package/storybook-static/assets/{iframe-CnVQoYPB.js → iframe-DBBiRbws.js} +4 -4
- package/storybook-static/assets/{input-DLNL1jnY.js → input-DQGrA_Iz.js} +1 -1
- package/storybook-static/assets/{lucide-react-Ba5zJoHo.js → lucide-react-DbhedXaa.js} +1 -1
- package/storybook-static/assets/{mdx-react-shim-DE_9TEl3.js → mdx-react-shim-B-pYVQSG.js} +1 -1
- package/storybook-static/assets/{media-DFayZP4v.js → media-D2fdlN5C.js} +1 -1
- package/storybook-static/assets/{misc-CTUkQJZp.js → misc-B5Fq527b.js} +1 -1
- package/storybook-static/assets/{notifications-BG8AjXvz.js → notifications-CdinTHBe.js} +1 -1
- package/storybook-static/assets/{odata-CRR_akjh.js → odata-CpEOYNKi.js} +1 -1
- package/storybook-static/assets/odata-service-C0Syx7b6.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-PVG3at72.js → odataStoryFixtures-dUEdLQNZ.js} +1 -1
- package/storybook-static/assets/{picker--dHpF_8R.js → picker-Cuzrli2L.js} +1 -1
- package/storybook-static/assets/{popover-C7IuVy8A.js → popover-BiSsB8FW.js} +1 -1
- package/storybook-static/assets/{preset-select-BdZn2uKM.js → preset-select-VPhuOafv.js} +1 -1
- package/storybook-static/assets/{react-18-D4-uI0-s.js → react-18-Dj98SmrN.js} +1 -1
- package/storybook-static/assets/{react-B0PJhofa.js → react-BuNie9Jj.js} +1 -1
- package/storybook-static/assets/{react-dom-BEpDIi0j.js → react-dom-H_XMZTBP.js} +1 -1
- package/storybook-static/assets/select-C0acjPk-.js +1 -0
- package/storybook-static/assets/{slider-BJzqv8Z5.js → slider-DJkr9biy.js} +1 -1
- package/storybook-static/assets/{sortable-CJoTiZU9.js → sortable-Wp4NkSxC.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-Bd_q63lk.js → syntaxhighlighter-RTCFPKCB-Bmk5Bc5f.js} +1 -1
- package/storybook-static/assets/{text-CDWQzubh.js → text-TQB-LeS7.js} +1 -1
- package/storybook-static/assets/{theming-BKAcviS8.js → theming-BSLvozk8.js} +1 -1
- package/storybook-static/assets/ui-DaejdOMA.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-CtRH172N.js → useODataSelectBase-DTU8LMxW.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-tGexjqiT.js → useODataTreeData-BIA97pbg.js} +1 -1
- package/storybook-static/assets/{utils-qWxRfpC-.js → utils-CJ9XKy2b.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/image/ui/ImageSelection.d.ts +0 -40
- package/dist/image/ui/ImageSelection.d.ts.map +0 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-DHQf5iqt.js +0 -1
- package/storybook-static/assets/grid-Bf_wg_Gd.js +0 -1
- package/storybook-static/assets/odata-service-Dn9Nfy2L.js +0 -1
- package/storybook-static/assets/select-C9w3BzZx.js +0 -1
- package/storybook-static/assets/ui-CcGcbmhp.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DBBiRbws.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{n as i,t as a}from"./lucide-react-DbhedXaa.js";import{n as o,t as s}from"./Button-CK0YS5UI.js";function c({onPreRemove:e,onRemove:t,className:n}){let[r,a]=(0,l.useState)(!1),o=(0,l.useRef)(null);return(0,u.jsx)(s,{icon:(0,u.jsx)(i,{}),onClick:n=>{n.preventDefault(),o.current&&=(window.clearTimeout(o.current),null),r?(t(),a(!1)):(e?.(),a(!0),o.current=window.setTimeout(()=>{a(!1)},1500))},tone:`error`,appearance:r?`solid`:`outline`,className:n})}var l,u,d=t((()=>{l=e(n(),1),a(),o(),u=r(),c.__docgenInfo={description:"Специализированная кнопка удаления сущности или вложения. Инкапсулирует подтверждающее поведение перед окончательным вызовом `onRemove`.",methods:[],displayName:`ButtonRemove`,props:{onRemove:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onPreRemove:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})),f=t((()=>{o(),d()}));export{f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t}from"./CheckBox-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t}from"./CheckBox-CH7PEkzn.js";var n=e((()=>{t()}));export{n as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{f as t,m as n,u as r}from"./iframe-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{f as t,m as n,u as r}from"./iframe-DBBiRbws.js";var i,a=e((()=>{n(),i=r({"../../node_modules/memoizerific/memoizerific.js"(e,n){(function(t){if(typeof e==`object`&&typeof n<`u`)n.exports=t();else if(typeof define==`function`&&define.amd)define([],t);else{var r=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this;r.memoizerific=t()}})(function(){return(function e(n,r,i){function a(s,c){if(!r[s]){if(!n[s]){var l=typeof t==`function`&&t;if(!c&&l)return l(s,!0);if(o)return o(s,!0);var u=Error(`Cannot find module '`+s+`'`);throw u.code=`MODULE_NOT_FOUND`,u}var d=r[s]={exports:{}};n[s][0].call(d.exports,function(e){var t=n[s][1][e];return a(t||e)},d,d.exports,e,n,r,i)}return r[s].exports}for(var o=typeof t==`function`&&t,s=0;s<i.length;s++)a(i[s]);return a})({1:[function(e,t,n){t.exports=function(t){return typeof Map!=`function`||t?new(e(`./similar`)):new Map}},{"./similar":2}],2:[function(e,t,n){function r(){return this.list=[],this.lastItem=void 0,this.size=0,this}r.prototype.get=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e))return this.lastItem.val;if(t=this.indexOf(e),t>=0)return this.lastItem=this.list[t],this.list[t].val},r.prototype.set=function(e,t){var n;return this.lastItem&&this.isEqual(this.lastItem.key,e)?(this.lastItem.val=t,this):(n=this.indexOf(e),n>=0?(this.lastItem=this.list[n],this.list[n].val=t,this):(this.lastItem={key:e,val:t},this.list.push(this.lastItem),this.size++,this))},r.prototype.delete=function(e){var t;if(this.lastItem&&this.isEqual(this.lastItem.key,e)&&(this.lastItem=void 0),t=this.indexOf(e),t>=0)return this.size--,this.list.splice(t,1)[0]},r.prototype.has=function(e){var t;return this.lastItem&&this.isEqual(this.lastItem.key,e)?!0:(t=this.indexOf(e),t>=0?(this.lastItem=this.list[t],!0):!1)},r.prototype.forEach=function(e,t){var n;for(n=0;n<this.size;n++)e.call(t||this,this.list[n].val,this.list[n].key,this)},r.prototype.indexOf=function(e){var t;for(t=0;t<this.size;t++)if(this.isEqual(this.list[t].key,e))return t;return-1},r.prototype.isEqual=function(e,t){return e===t||e!==e&&t!==t},t.exports=r},{}],3:[function(e,t,n){var r=e(`map-or-similar`);t.exports=function(e){var t=new r(!1),n=[];return function(o){var s=function(){var c=t,l,u,d=arguments.length-1,f=Array(d+1),p=!0,m;if((s.numArgs||s.numArgs===0)&&s.numArgs!==d+1)throw Error(`Memoizerific functions should always be called with the same number of arguments`);for(m=0;m<d;m++){if(f[m]={cacheItem:c,arg:arguments[m]},c.has(arguments[m])){c=c.get(arguments[m]);continue}p=!1,l=new r(!1),c.set(arguments[m],l),c=l}return p&&(c.has(arguments[d])?u=c.get(arguments[d]):p=!1),p||(u=o.apply(null,arguments),c.set(arguments[d],u)),e>0&&(f[d]={cacheItem:c,arg:arguments[d]},p?i(n,f):n.push(f),n.length>e&&a(n.shift())),s.wasMemoized=p,s.numArgs=d+1,u};return s.limit=e,s.wasMemoized=!1,s.cache=t,s.lru=n,s}};function i(e,t){var n=e.length,r=t.length,i,a,s;for(a=0;a<n;a++){for(i=!0,s=0;s<r;s++)if(!o(e[a][s].arg,t[s].arg)){i=!1;break}if(i)break}e.push(e.splice(a,1)[0])}function a(e){var t=e.length,n=e[t-1],r,i;for(n.cacheItem.delete(n.arg),i=t-2;i>=0&&(n=e[i],r=n.cacheItem.get(n.arg),!r||!r.size);i--)n.cacheItem.delete(n.arg)}function o(e,t){return e===t||e!==e&&t!==t}},{"map-or-similar":1}]},{},[3])(3)})}})}));function o(e){var t=[...arguments].slice(1),n=Array.from(typeof e==`string`?[e]:e);n[n.length-1]=n[n.length-1].replace(/\r?\n([\t ]*)$/,``);var r=n.reduce(function(e,t){var n=t.match(/\n([\t ]+|(?!\s).)/g);return n?e.concat(n.map(function(e){return e.match(/[\t ]/g)?.length??0})):e},[]);if(r.length){var i=RegExp(`
|
|
2
2
|
[ ]{`+Math.min.apply(Math,r)+`}`,`g`);n=n.map(function(e){return e.replace(i,`
|
|
3
3
|
`)})}n[0]=n[0].replace(/^\r?\n/,``);var a=n[0];return t.forEach(function(e,t){var r=a.match(/(?:^|\n)( *)$/),i=r?r[1]:``,o=e;typeof e==`string`&&e.includes(`
|
|
4
4
|
`)&&(o=String(e).split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DBBiRbws.js";import{a as r,l as i}from"./theming-BSLvozk8.js";import{t as a}from"./react-dom-H_XMZTBP.js";import{t as o}from"./jsx-runtime-BBQGix-2.js";function s(e,t){typeof e==`function`?e(t):e!=null&&(e.current=t)}function c(...e){return t=>e.forEach(e=>s(e,t))}function l(...e){return oe.useCallback(c(...e),e)}function u(e){return M.isValidElement(e)&&e.type===he}function d(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{a(...e),i(...e)}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function f(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function p(e,t){return ue.useReducer((e,n)=>t[e][n]??e,e)}function m(e){let[t,n]=P.useState(),r=P.useRef({}),i=P.useRef(e),a=P.useRef(`none`),[o,s]=p(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return P.useEffect(()=>{let e=h(r.current);a.current=o===`mounted`?e:`none`},[o]),U(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=h(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),U(()=>{if(t){let e=e=>{let n=h(r.current).includes(e.animationName);e.target===t&&n&&ce.flushSync(()=>s(`ANIMATION_END`))},n=e=>{e.target===t&&(a.current=h(r.current))};return t.addEventListener(`animationstart`,n),t.addEventListener(`animationcancel`,e),t.addEventListener(`animationend`,e),()=>{t.removeEventListener(`animationstart`,n),t.removeEventListener(`animationcancel`,e),t.removeEventListener(`animationend`,e)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:P.useCallback(e=>{e&&(r.current=getComputedStyle(e)),n(e)},[])}}function h(e){return e?.animationName||`none`}function ee(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function g(e,t=[]){let n=[];function r(t,r){let i=F.createContext(r),a=n.length;n=[...n,r];function o(t){let{scope:n,children:r,...o}=t,s=n?.[e][a]||i,c=F.useMemo(()=>o,Object.values(o));return(0,de.jsx)(s.Provider,{value:c,children:r})}function s(n,o){let s=o?.[e][a]||i,c=F.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return o.displayName=t+`Provider`,[o,s]}let i=()=>{let t=n.map(e=>F.createContext(e));return function(n){let r=n?.[e]||t;return F.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,_(i,...t)]}function _(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return F.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function v(e){let t=I.useRef(e);return I.useEffect(()=>{t.current=e}),I.useMemo(()=>(...e)=>t.current?.(...e),[])}function te(e){let t=L.useContext(ge);return e||t||`ltr`}function y(e,[t,n]){return Math.min(n,Math.max(t,e))}function b(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function x(e,t){return fe.useReducer((e,n)=>t[e][n]??e,e)}function S(e){return e?parseInt(e,10):0}function C(e,t){let n=e/t;return isNaN(n)?0:n}function w(e){let t=C(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function T(e,t,n,r=`ltr`){let i=w(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return ne([c,l],d)(e)}function E(e,t,n=`ltr`){let r=w(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=y(e,n===`ltr`?[0,o]:[o*-1,0]);return ne([0,o],[0,s])(c)}function ne(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function re(e,t){return e>0&&e<t}function D(e,t){let n=v(e),r=j.useRef(0);return j.useEffect(()=>()=>window.clearTimeout(r.current),[]),j.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function O(e,t){let n=v(t);U(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}function ie(e,t){let{asChild:n,children:r}=e;if(!n)return typeof t==`function`?t(r):t;let i=j.Children.only(r);return j.cloneElement(i,{children:typeof t==`function`?t(i.props.children):t})}var k,A,j,ae,M,oe,N,se,P,ce,le,ue,F,de,I,L,fe,R,pe,z,me,B,V,he,H,U,W,ge,G,K,_e,ve,q,J,ye,be,Y,xe,Se,Ce,we,X,Te,Ee,De,Oe,ke,Z,Ae,je,Q,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge=t((()=>{k=e(n(),1),r(),A=e(n(),1),j=e(n(),1),ae=e(n(),1),a(),M=e(n(),1),oe=e(n(),1),N=o(),se=o(),P=e(n(),1),ce=e(a(),1),le=e(n(),1),ue=e(n(),1),F=e(n(),1),de=o(),I=e(n(),1),L=e(n(),1),o(),fe=e(n(),1),R=o(),pe=i.div(({theme:e,$flexLayout:t=!1})=>[{background:e.background.content},t?{display:`inline-flex`,marginInlineStart:`auto`,alignSelf:`flex-end`}:{position:`absolute`,bottom:0,right:0,maxWidth:`100%`,display:`flex`,zIndex:1}]),z=i.button(({theme:e})=>({margin:0,border:`0 none`,padding:`4px 10px`,cursor:`pointer`,display:`flex`,alignItems:`center`,color:e.color.defaultText,background:e.background.content,fontSize:12,lineHeight:`16px`,fontFamily:e.typography.fonts.base,fontWeight:e.typography.weight.bold,borderTop:`1px solid ${e.appBorderColor}`,borderLeft:`1px solid ${e.appBorderColor}`,marginLeft:-1,borderRadius:`4px 0 0 0`,"&:not(:last-child)":{borderRight:`1px solid ${e.appBorderColor}`},"& + *":{borderLeft:`1px solid ${e.appBorderColor}`,borderRadius:0},"&:focus":{boxShadow:`${e.color.secondary} 0 -3px 0 0 inset`,outline:`0 none`,"@media (forced-colors: active)":{outline:`1px solid highlight`}}}),({disabled:e})=>e&&{cursor:`not-allowed`,opacity:.5}),z.displayName=`ActionButton`,me=({actionItems:e,flexLayout:t=!1,...n})=>k.createElement(pe,{...n,$flexLayout:t},e.map(({title:e,className:t,onClick:n,disabled:r},i)=>k.createElement(z,{key:i,className:t,onClick:n,disabled:!!r},e))),B=M.forwardRef((e,t)=>{let{children:n,...r}=e,i=M.Children.toArray(n),a=i.find(u);if(a){let e=a.props.children,n=i.map(t=>t===a?M.Children.count(e)>1?M.Children.only(null):M.isValidElement(e)?e.props.children:null:t);return(0,N.jsx)(V,{...r,ref:t,children:M.isValidElement(e)?M.cloneElement(e,void 0,n):null})}return(0,N.jsx)(V,{...r,ref:t,children:n})}),B.displayName=`Slot`,V=M.forwardRef((e,t)=>{let{children:n,...r}=e;if(M.isValidElement(n)){let e=f(n);return M.cloneElement(n,{...d(r,n.props),ref:t?c(t,e):e})}return M.Children.count(n)>1?M.Children.only(null):null}),V.displayName=`SlotClone`,he=({children:e})=>(0,N.jsx)(N.Fragment,{children:e}),H=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ae.forwardRef((e,n)=>{let{asChild:r,...i}=e,a=r?B:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,se.jsx)(a,{...i,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{}),U=globalThis?.document?le.useLayoutEffect:()=>{},W=e=>{let{present:t,children:n}=e,r=m(t),i=typeof n==`function`?n({present:r.isPresent}):P.Children.only(n),a=l(r.ref,ee(i));return typeof n==`function`||r.isPresent?P.cloneElement(i,{ref:a}):null},W.displayName=`Presence`,ge=L.createContext(void 0),G=`ScrollArea`,[K,_e]=g(G),[ve,q]=K(G),J=j.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=j.useState(null),[u,d]=j.useState(null),[f,p]=j.useState(null),[m,h]=j.useState(null),[ee,g]=j.useState(null),[_,v]=j.useState(0),[y,b]=j.useState(0),[x,S]=j.useState(!1),[C,w]=j.useState(!1),T=l(t,e=>c(e)),E=te(i);return(0,R.jsx)(ve,{scope:n,type:r,dir:E,scrollHideDelay:a,scrollArea:s,viewport:u,onViewportChange:d,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:h,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:ee,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:w,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,R.jsx)(H.div,{dir:E,...o,ref:T,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})}),J.displayName=G,ye=`ScrollAreaViewport`,be=j.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,asChild:i,nonce:a,...o}=e,s=q(ye,n),c=l(t,j.useRef(null),s.onViewportChange);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`
|
|
2
2
|
[data-radix-scroll-area-viewport] {
|
|
3
3
|
scrollbar-width: none;
|
|
4
4
|
-ms-overflow-style: none;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,c as n,l as r,m as i}from"./blocks-BakdKZKD.js";import{t as a}from"./jsx-runtime-BBQGix-2.js";import{t as o}from"./mdx-react-shim-DE_9TEl3.js";var s,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)(r,{title:`Документация/shared/ui/contextMenu`}),`
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,c as n,l as r,m as i}from"./blocks-Ca82jrBU.js";import{t as a}from"./jsx-runtime-BBQGix-2.js";import{t as o}from"./mdx-react-shim-B-pYVQSG.js";var s,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)(r,{title:`Документация/shared/ui/contextMenu`}),`
|
|
2
2
|
`,(0,d.jsx)(n,{children:s})]})}function u(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,d.jsx)(n,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}var d;e((()=>{d=a(),o(),i(),c()}))();export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DBBiRbws.js";function r(e){if(typeof document>`u`)return null;let t=document.getElementById(e);if(t instanceof HTMLElement)return t;let n=document.createElement(`div`);return n.id=e,document.body.append(n),n}function i(e,t){(0,s.useEffect)(()=>{let n=n=>{if(Array.isArray(e)){let r=!0;for(let t of e)t.current&&t.current.contains(n.target)&&(r=!1);r&&t()}else e.current&&!e.current.contains(n.target)&&t()};return document.addEventListener(`mousedown`,n),()=>document.removeEventListener(`mousedown`,n)},[e,t])}function a({active:e,onDismiss:t,enabled:n=!0,documentTarget:r,containerRef:i}){let a=(0,s.useEffectEvent)(()=>t());(0,s.useEffect)(()=>{if(!e||!n)return;let t=r??(typeof document>`u`?null:document);if(!t)return;let o=e=>{if(e.key!==`Escape`)return;let n=t.activeElement,r=i?.current;r&&n instanceof Node&&n!==r&&!r.contains(n)||(e.preventDefault(),a())};return t.addEventListener(`keydown`,o,!0),()=>t.removeEventListener(`keydown`,o,!0)},[e,n,r,i])}function o({active:e,trapFocus:t=!1,restoreFocus:n=!0,initialFocus:r=`auto`,restoreFocusTarget:i,containerRef:a}){let o=(0,s.useRef)(null),l=a??o,u=(0,s.useRef)(null),d=(0,s.useEffectEvent)(e=>Array.from(e.querySelectorAll(c)).filter(e=>!e.hasAttribute(`aria-hidden`))),f=(0,s.useEffectEvent)(e=>{if(r===`container`)return e;if(typeof r==`function`)return r(e)??e;let t=d(e);return t.find(e=>e.hasAttribute(`autofocus`)||e.hasAttribute(`autoFocus`))??t[0]??e}),p=(0,s.useEffectEvent)(()=>i?.()??u.current);return(0,s.useEffect)(()=>{if(!e)return;u.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let r=null,i=0,a=()=>{if(r=l.current,!r){i=window.requestAnimationFrame(a);return}let e=f(r);e instanceof HTMLElement&&e.isConnected&&e.focus(),t&&r.addEventListener(`keydown`,o)},o=e=>{if(!t||e.key!==`Tab`||!r)return;let n=d(r);if(n.length===0){e.preventDefault(),r.focus();return}let i=n[0],a=n[n.length-1],o=document.activeElement;if(e.shiftKey){(o===i||o===r)&&(e.preventDefault(),a.focus());return}o===a&&(e.preventDefault(),i.focus())};return a(),()=>{if(window.cancelAnimationFrame(i),t&&r&&r.removeEventListener(`keydown`,o),!n)return;let e=p();e?.isConnected&&e.focus()}},[e,t,n,l]),l}var s,c,l,u=t((()=>{s=e(n(),1),c=`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled])`,l=e=>o({active:e,trapFocus:!0,restoreFocus:!0,initialFocus:`auto`})}));function d({hookName:e,providerName:t,contextName:n}){let r=n?` "${n}"`:``;return[`Хук ${e} должен использоваться внутри ${t}.`,`Контекст${r} равен null, поэтому, вероятно, дерево компонентов не обёрнуто в ${t}.`,`Убедитесь, что ${t} расположен выше компонента, который вызывает ${e}.`].join(` `)}function f({hookName:e,providerName:t,contextName:n}){return Error(d({hookName:e,providerName:t,contextName:n}))}var p=t((()=>{}));export{u as a,o as c,a as i,f as n,i as o,r,l as s,p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DBBiRbws.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CJ9XKy2b.js";import{a as o,i as s,n as c,r as l,s as u}from"./Flex-Cmb3839O.js";var d,f,p=t((()=>{a(),d=r(),f=({className:e,minHeight:t,children:n,style:r,...a})=>{let o=t===void 0?r:{...r,minHeight:t};return(0,d.jsx)(`div`,{...a,className:i(`flexCenter h100`,e),style:o,children:n})},f.__docgenInfo={description:``,methods:[],displayName:`FlexCenter`,props:{children:{required:!1,tsType:{name:`ReactNode`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``}},composes:[`Omit`]}})),m,h,g,_=t((()=>{m=e(n(),1),o(),h=r(),g=(0,m.forwardRef)((e,t)=>(0,h.jsx)(s,{...e,ref:t,flex1:!0})),g.displayName=`FlexSpacer`,g.__docgenInfo={description:``,methods:[],displayName:`FlexSpacer`}})),v=t((()=>{c(),p(),u(),o(),_(),l()}));export{f as n,p as r,v as t};
|
package/storybook-static/assets/{floating-ui.react-bKfCIqPR.js → floating-ui.react-CA8LXveu.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-CnVQoYPB.js";import{t as r}from"./react-dom-BEpDIi0j.js";import{t as i}from"./jsx-runtime-BBQGix-2.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.ownerDocument.body: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):[])}else 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,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 V(e,B(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=ie(o)),[o,ie(o)]}function R(e){let t=ie(e);return[z(e),t,z(t)]}function z(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}function ne(e,t,n){switch(e){case`top`:case`bottom`:return n?t?fe:de:t?de:fe;case`left`:case`right`:return t?pe:me;default:return[]}}function re(e,t,n,r){let i=P(e),a=ne(N(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(z)))),a}function ie(e){let t=N(e);return ue[t]+e.slice(t.length)}function ae(e){return{top:0,right:0,bottom:0,left:0,...e}}function oe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ae(e)}function se(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 B,V,ce,le,H,ue,de,fe,pe,me,he=t((()=>{B=Math.min,V=Math.max,ce=Math.round,le=Math.floor,H=e=>({x:e,y:e}),ue={left:`right`,right:`left`,bottom:`top`,top:`bottom`},de=[`left`,`right`],fe=[`right`,`left`],pe=[`top`,`bottom`],me=[`bottom`,`top`]})),ge,_e,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=t((()=>{ge=[`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] *)`],_e=ge.join(`,`),ve=typeof Element>`u`,ye=ve?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,be=!ve&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},xe=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]`):xe(e.parentNode))},Se=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Ce=function(e,t,n){if(xe(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(_e));return t&&ye.call(e,_e)&&r.unshift(e),r=r.filter(n),r},we=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!xe(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=we(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{ye.call(a,_e)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!xe(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=we(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},Te=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Ee=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Se(e))&&!Te(e)?0:e.tabIndex},De=function(e,t){var n=Ee(e);return n<0&&t&&!Te(e)?0:n},Oe=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ke=function(e){return e.tagName===`INPUT`},Ae=function(e){return ke(e)&&e.type===`hidden`},je=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},Me=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},Ne=function(e){if(!e.name)return!0;var t=e.form||be(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=Me(r,e.form);return!i||i===e},Pe=function(e){return ke(e)&&e.type===`radio`},Fe=function(e){return Pe(e)&&!Ne(e)},Ie=function(e){var t=e&&be(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=be(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},Le=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},Re=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=ye.call(e,`details>summary:first-of-type`)?e.parentElement:e;if(ye.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=be(e);if(s&&!s.shadowRoot&&r(s)===!0)return Le(e);e=e.assignedSlot?e.assignedSlot:!s&&c!==e.ownerDocument?c.host:s}e=o}if(Ie(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return Le(e);return!1},ze=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 ye.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},Be=function(e,t){return!(t.disabled||Ae(t)||Re(t,e)||je(t)||ze(t))},Ve=function(e,t){return!(Fe(t)||Ee(t)<0||!Be(e,t))},He=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},Ue=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=De(a,i),s=i?Ue(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(Oe).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},We=function(e,t){t||={};var n=t.getShadowRoot?we([e],t.includeContainer,{filter:Ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:He}):Ce(e,t.includeContainer,Ve.bind(null,t));return Ue(n)},Ge=function(e,t){return t||={},t.getShadowRoot?we([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Ce(e,t.includeContainer,Be.bind(null,t))},Ke=function(e,t){if(t||={},!e)throw Error(`No node provided`);return ye.call(e,_e)===!1?!1:Ve(t,e)}}));function Je(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function Ye(){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 Xe(){return/apple/i.test(navigator.vendor)}function Ze(){let e=/android/i;return e.test(Je())||e.test(Ye())}function Qe(){return Ye().includes(`jsdom/`)}function $e(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 U(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 W(e){return`composedPath`in e?e.composedPath()[0]:e.target}function et(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 tt(e){return e.matches(`html,body`)}function G(e){return e?.ownerDocument||document}function nt(e){return d(e)&&e.matches(xt)}function rt(e){return e?e.getAttribute(`role`)===`combobox`&&nt(e):!1}function it(e){return e?e.hasAttribute(bt)?e:e.querySelector(`[data-floating-ui-focusable]`)||e:null}function at(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...at(e,t.id,n)])}function ot(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 st(e){e.preventDefault(),e.stopPropagation()}function ct(e){return`nativeEvent`in e}function lt(e){return e.mozInputSource===0&&e.isTrusted?!0:Ze()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function ut(e){return Qe()?!1:!Ze()&&e.width===0&&e.height===0||Ze()&&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 dt(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function K(e){let t=vt.useRef(e);return J(()=>{t.current=e}),t}function q(e){let t=vt.useRef(()=>{});return Ct(()=>{t.current=e}),vt.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function ft(e,t){let n=We(e,wt()),r=n.length;if(r===0)return;let i=$e(G(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function pt(e){return ft(G(e).body,1)||e}function mt(e){return ft(G(e).body,-1)||e}function ht(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!U(n,r)}function gt(e){We(e,wt()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function _t(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 vt,yt,bt,xt,J,St,Ct,wt,Tt=t((()=>{A(),vt=e(n(),1),yt=e(n(),1),qe(),bt=`data-floating-ui-focusable`,xt=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,J=typeof document<`u`?yt.useLayoutEffect:function(){},St={...vt},Ct=St.useInsertionEffect||(e=>e()),wt=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`})}));function Et(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}}switch(P(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Dt(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=oe(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=se(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=se(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}}async function Ot(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=Nt.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 kt,At,jt,Mt,Nt,Pt,Ft,It,Lt=t((()=>{he(),kt=50,At=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Dt},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Et(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<kt&&(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}=Et(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},jt=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=oe(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=B(d[_],T),D=B(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,N=j(O,A,k),F=!c.arrow&&P(i)!=null&&A!==N&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,L=F?A<O?A-O:A-k:0;return{[p]:f[p]+L,data:{[p]:N,centerOffset:A-N-L,...F&&{alignmentOffset:L}},reset:F}}}),Mt=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?[ie(o)]:R(o)),x=p!==`none`;!d&&x&&b.push(...re(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:!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;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Nt=new Set([`left`,`top`]),Pt=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 Ot(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}}}}},Ft=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(N(i)),p=F(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=j(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=j(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},It=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=M(e,t),u=await o.detectOverflow(t,l),d=N(i),f=P(i),p=L(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=B(h-u[g],v),x=B(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=V(u.left,0),t=V(u.right,0),n=V(u.top,0),r=V(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:V(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:V(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}}}));function Rt(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=ce(n)!==a||ce(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function zt(e){return u(e)?e:e.contextElement}function Bt(e){let t=zt(e);if(!d(t))return H(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Rt(t),o=(a?ce(n.width):n.width)/r,s=(a?ce(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}function Vt(e){let t=s(e);return!v()||!t.visualViewport?dn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ht(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==s(e)?!1:t}function Ut(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=zt(e),o=H(1);t&&(r?u(r)&&(o=Bt(r)):o=Bt(e));let c=Ht(a,n,r)?Vt(a):H(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){let e=s(a),t=r&&u(r)?s(r):r,n=e,i=T(n);for(;i&&r&&t!==n;){let e=Bt(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 se({width:f,height:p,x:l,y:d})}function Wt(e,t){let n=x(e).scrollLeft;return t?t.left+n:Ut(c(e)).left+n}function Gt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Wt(e,n),y:n.top+t.scrollTop}}function Kt(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=H(1),m=H(0),g=d(r);if((g||!g&&!a)&&((o(r)!==`body`||p(s))&&(u=x(r)),g)){let e=Ut(r);f=Bt(r),m.x=e.x+r.clientLeft,m.y=e.y+r.clientTop}let _=s&&!g&&!a?Gt(s,u):H(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 Array.from(e.getClientRects())}function Jt(e){let t=c(e),n=x(e),r=e.ownerDocument.body,i=V(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=V(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Wt(e),s=-n.scrollTop;return b(r).direction===`rtl`&&(o+=V(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Yt(e,t){let n=s(e),r=c(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,l=0,u=0;if(i){a=i.width,o=i.height;let e=v();(!e||e&&t===`fixed`)&&(l=i.offsetLeft,u=i.offsetTop)}let d=Wt(r);if(d<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=fn&&(a-=o)}else d<=fn&&(a+=d);return{width:a,height:o,x:l,y:u}}function Xt(e,t){let n=Ut(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=d(e)?Bt(e):H(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Zt(e,t,n){let r;if(t===`viewport`)r=Yt(e,n);else if(t===`document`)r=Jt(c(e));else if(u(t))r=Xt(t,n);else{let n=Vt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return se(r)}function Qt(e,t){let n=S(e);return n===t||!u(n)||y(n)?!1:b(n).position===`fixed`||Qt(n,t)}function $t(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 t=b(s),n=g(s);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||p(s)&&!n&&Qt(e,s))?r=r.filter(e=>e!==s):i=t,s=S(s)}return t.set(e,r),r}function en(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?h(t)?[]:$t(t,this._c):[].concat(n),r],o=Zt(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=Zt(t,a[e],i);s=V(n.top,s),c=B(n.right,c),l=B(n.bottom,l),u=V(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function tn(e){let{width:t,height:n}=Rt(e);return{width:t,height:n}}function nn(e,t,n){let r=d(t),i=c(t),a=n===`fixed`,s=Ut(e,!0,a,t),l={scrollLeft:0,scrollTop:0},u=H(0);function f(){u.x=Wt(i)}if(r||!r&&!a)if((o(t)!==`body`||p(i))&&(l=x(t)),r){let e=Ut(t,!0,a,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else i&&f();a&&!r&&i&&f();let m=i&&!r&&!a?Gt(i,l):H(0);return{x:s.left+l.scrollLeft-u.x-m.x,y:s.top+l.scrollTop-u.y-m.y,width:s.width,height:s.height}}function rn(e){return b(e).position===`static`}function an(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 on(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)&&!rn(t))return t;t=S(t)}return n}let r=an(e,t);for(;r&&m(r)&&rn(r);)r=an(r,t);return r&&y(r)&&rn(r)&&!g(r)?n:r||_(e)||n}function sn(e){return b(e).direction===`rtl`}function cn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ln(e,t){let n=null,r,i=c(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=le(d),h=le(i.clientWidth-(u+f)),g=le(i.clientHeight-(d+p)),_=le(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:V(0,B(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!cn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function un(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=zt(e),u=i||a?[...l?w(l):[],...t?w(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?ln(l,n):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?Ut(e):null;c&&g();function g(){let t=Ut(e);h&&!cn(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 dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn=t((()=>{Lt(),he(),A(),dn=H(0),fn=25,pn=async function(e){let t=this.getOffsetParent||on,n=this.getDimensions,r=await n(e.floating);return{reference:nn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},mn={convertOffsetParentRelativeRectToViewportRelativeRect:Kt,getDocumentElement:c,getClippingRect:en,getOffsetParent:on,getElementRects:pn,getClientRects:qt,getDimensions:tn,getScale:Bt,isElement:u,isRTL:sn},hn=Pt,gn=Ft,_n=Mt,vn=It,yn=jt,bn=(e,t,n)=>{let r=new Map,i={platform:mn,...n},a={...i.platform,_c:r};return At(e,t,{...i,platform:a})}}));function Sn(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(!Sn(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)&&!Sn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Cn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function wn(e,t){let n=Cn(e);return Math.round(t*n)/n}function Tn(e){let t=Y.useRef(e);return kn(()=>{t.current=e}),t}function En(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);Sn(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=Tn(c),D=Tn(i),O=Tn(l),k=Y.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),bn(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Sn(w.current,t)&&(w.current=t,On.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);kn(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=Y.useRef(!1);kn(()=>(A.current=!0,()=>{A.current=!1}),[]),kn(()=>{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=wn(M.floating,u.x),r=wn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Cn(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,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In=t((()=>{xn(),Y=e(n(),1),Dn=e(n(),1),On=e(r(),1),kn=typeof document<`u`?Dn.useLayoutEffect:function(){},An=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?{}:yn({element:r.current,padding:i}).fn(n):r?yn({element:r,padding:i}).fn(n):{}}}},jn=(e,t)=>{let n=hn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mn=(e,t)=>{let n=gn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Nn=(e,t)=>{let n=_n(e);return{name:n.name,fn:n.fn,options:[e,t]}},Pn=(e,t)=>{let n=vn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fn=(e,t)=>{let n=An(e);return{name:n.name,fn:n.fn,options:[e,t]}}}));function Ln(){let[e,t]=Z.useState(()=>xr?Cr():void 0);return J(()=>{e??t(Cr())},[]),Z.useEffect(()=>{xr=!0},[]),e}function Rn(){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 zn(e){return`data-floating-ui-`+e}function X(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}function Bn(e,t,n){if(n&&!dt(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 Vn(e){return typeof e==`function`?e():e}function Hn(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=Or(),h=Dr(),g=K(l),_=K(c),v=K(n),y=K(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=G(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=Bn(_.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=G(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(kr),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&&!dt(b.current)||Vn(y.current)>0&&!Bn(_.current,`open`))return;let t=Bn(_.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=G(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`||!U(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=G(o.floating).body;n.setAttribute(kr,``);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&&!dt(b.current)||n||Vn(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,Vn(y.current))))}}},[d,r,n,v,y]);return Z.useMemo(()=>s?{reference:N}:{},[s,N])}function Un(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Ar);let a=()=>e?.focus({preventScroll:n});i?a():Ar=requestAnimationFrame(a)}function Wn(e){return e?.ownerDocument||document}function Gn(e){return e===`inert`?jr.inert:e===`aria-hidden`?jr[`aria-hidden`]:jr.none}function Kn(e){return e?f(e)?e.host:Kn(e.parentNode):null}function qn(e,t,n,r){let i=`data-floating-ui-inert`,a=r?`inert`:n?`aria-hidden`:null,s=Ir(t,e),c=new Set,l=new Set(s),u=[];Nr[i]||(Nr[i]=new WeakMap);let d=Nr[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=Gn(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&&Mr.add(e),s===1&&e.setAttribute(i,``),!n&&a&&e.setAttribute(a,a===`inert`?``:`true`)}})}return Pr++,()=>{u.forEach(e=>{let t=Gn(a),n=(t.get(e)||0)-1,r=(d.get(e)||0)-1;t.set(e,n),d.set(e,r),n||(!Mr.has(e)&&a&&e.removeAttribute(a),Mr.delete(e)),r||e.removeAttribute(i)}),Pr--,Pr||(jr.inert=new WeakMap,jr[`aria-hidden`]=new WeakMap,jr.none=new WeakMap,Mr=new WeakSet,Nr={})}}function Jn(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=Wn(e[0]).body;return qn(e.concat(Array.from(r.querySelectorAll(`[aria-live],[role="status"],output`))),r,t,n)}function Yn(e){e===void 0&&(e={});let{id:t,root:n}=e,r=wr(),i=Hr(),[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(Vr,``),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(Vr,``),e=a||e,e.appendChild(c),s.current=c,o(c)},[t,n,r,i]),a}function Xn(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,a=Yn({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&&ht(e)&&(e.type===`focusin`?_t:gt)(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||_t(a))},[p,a]),(0,Q.jsxs)(Br.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)(Rr,{"data-type":`outside`,ref:c,onFocus:e=>{if(ht(e,a)){var t;(t=u.current)==null||t.focus()}else mt(o?o.domReference:null)?.focus()}}),m&&a&&(0,Q.jsx)(`span`,{"aria-owns":a.id,style:zr}),a&&ur.createPortal(t,a),m&&a&&(0,Q.jsx)(Rr,{"data-type":`outside`,ref:l,onFocus:e=>{if(ht(e,a)){var t;(t=d.current)==null||t.focus()}else pt(o?o.domReference:null)?.focus(),o!=null&&o.closeOnFocusOut&&o?.onOpenChange(!1,e.nativeEvent,`focus-out`)}})]})}function Zn(e){return Z.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}function Qn(){$=$.filter(e=>e.deref()?.isConnected)}function $n(e){Qn(),e&&o(e)!==`body`&&($.push(new WeakRef(e)),$.length>Ur&&($=$.slice(-20)))}function er(){return Qn(),$[$.length-1]?.deref()}function tr(e){let t=wt();return Ke(e,t)?e:We(e,t)[0]||e}function nr(e,t){var n;if(!t.current.includes(`floating`)&&!((n=e.getAttribute(`role`))!=null&&n.includes(`dialog`)))return;let r=wt(),i=Ge(e,r).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Ke(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 rr(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=rt(y)&&C,T=Fr(),E=T?a:!0,D=!E||T&&p,O=K(i),k=K(o),A=K(s),j=Or(),M=Hr(),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=it(b),z=q(function(e){return e===void 0&&(e=R),e?We(e,wt()):[]}),ne=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`){U(R,$e(G(R)))&&z().length===0&&!w&&st(e);let t=ne(),n=W(e);O.current[0]===`reference`&&n===y&&(st(e),e.shiftKey?Un(t[t.length-1]):Un(t[1])),O.current[1]===`floating`&&n===R&&e.shiftKey&&(st(e),Un(t[0]))}}let t=G(R);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,y,R,l,O,w,z,ne]),Z.useEffect(()=>{if(r||!b)return;function e(e){let t=W(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=W(e);queueMicrotask(()=>{let i=x(),a=!(U(y,t)||U(b,t)||U(t,b)||U(M?.portalNode,t)||t!=null&&t.hasAttribute(zn(`focus-guard`))||j&&(at(j.nodesRef.current,i).find(e=>U(e.context?.elements.floating,t)||U(e.context?.elements.domReference,t))||ot(j.nodesRef.current,i).find(e=>[e.context?.elements.floating,it(e.context?.elements.floating)].includes(t)||e.context?.elements.domReference===t)));if(n===y&&R&&nr(R,O),c&&n!==y&&!(r!=null&&r.isConnected)&&$e(G(R))===G(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!==er()&&(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 re=Z.useRef(null),ie=Z.useRef(null),ae=Zn([re,M?.beforeInsideRef]),oe=Zn([ie,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(`[`+zn(`portal`)+`]`))||[]),i=(t=(j?ot(j.nodesRef.current,x()):[]).find(e=>rt(e.context?.elements.domReference||null)))==null||(t=t.context)==null?void 0:t.elements.domReference,a=[b,i,...n,...S(),N.current,P.current,re.current,ie.current,M?.beforeOutsideRef.current,M?.afterOutsideRef.current,O.current.includes(`reference`)||w?y:null].filter(e=>e!=null),o=l||w?Jn(a,!D,D):Jn(a);return()=>{o()}},[r,y,b,l,O,M,w,E,D,j,x,S]),J(()=>{if(r||!d(R))return;let e=$e(G(R));queueMicrotask(()=>{let t=ne(R),n=k.current,r=(typeof n==`number`?t[n]:n.current)||R,i=U(R,e);!C&&!i&&h&&Un(r,{preventScroll:r===R})})},[r,h,R,C,ne,k]),J(()=>{if(r||!R)return;let e=G(R);$n($e(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(lt(n)||ut(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,Lr),te&&y&&y.insertAdjacentElement(`afterend`,n);function i(){if(typeof A.current==`boolean`){let e=y||er();return e&&e.isConnected?e:n}return A.current.current||n}return()=>{_.off(`openchange`,t);let r=$e(e),a=U(b,r)||j&&at(j.nodesRef.current,x(),!1).some(e=>U(e.context?.elements.floating,r)),o=i();queueMicrotask(()=>{let t=tr(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(Qn)}),[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&&nr(R,O)},[r,R,O]);function se(e){return r||!u||!l?null:(0,Q.jsx)(Wr,{ref:e===`start`?N:P,onClick:e=>g(!1,e.nativeEvent),children:typeof u==`string`?u:`Dismiss`})}let B=!r&&E&&(l?!w:!0)&&(te||l);return(0,Q.jsxs)(Q.Fragment,{children:[B&&(0,Q.jsx)(Rr,{"data-type":`inside`,ref:ae,onFocus:e=>{if(l){let e=ne();Un(i[0]===`reference`?e[0]:e[e.length-1])}else if(M!=null&&M.preserveTabOrder&&M.portalNode)if(F.current=!1,ht(e,M.portalNode))pt(y)?.focus();else{var t;(t=M.beforeOutsideRef.current)==null||t.focus()}}}),!w&&se(`start`),n,se(`end`),B&&(0,Q.jsx)(Rr,{"data-type":`inside`,ref:oe,onFocus:e=>{if(l)Un(ne()[0]);else if(M!=null&&M.preserveTabOrder&&M.portalNode)if(f&&(F.current=!0),ht(e,M.portalNode))mt(y)?.focus();else{var t;(t=M.afterOutsideRef.current)==null||t.focus()}}})]})}function ir(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,_=Or(),x=q(typeof c==`function`?c:()=>!1),C=typeof c==`function`?x:c,T=Z.useRef(!1),{escapeKey:E,outsidePress:D}=qr(h),{escapeKey:O,outsidePress:k}=qr(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=_?at(_.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,ct(e)?e.nativeEvent:e,`escape-key`)}),M=q(e=>{var t;let n=()=>{var t;j(e),(t=W(e))==null||t.removeEventListener(`keydown`,n)};(t=W(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=W(e),s=`[`+zn(`inert`)+`]`,c=G(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)&&!tt(o)&&!U(o,i.floating)&&Array.from(c).every(e=>!U(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=_&&at(_.nodesRef.current,p).some(t=>et(e,t.context?.elements.floating));if(et(e,i.floating)||et(e,i.domReference)||m)return;let h=_?at(_.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=W(e))==null||t.removeEventListener(l,n)};(t=W(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=G(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,{passive:!0})}),()=>{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&&{[Gr[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,[Kr[l]]:()=>{a.current.insideReactTree=!0}}},[j,l,a]);return Z.useMemo(()=>o?{reference:F,floating:I}:{},[o,F,I])}function ar(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=wr(),a=Z.useRef({}),[o]=Z.useState(()=>Rn()),s=Dr()!=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 or(e){e===void 0&&(e={});let{nodeId:t}=e,n=ar({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[a,o]=Z.useState(null),[s,c]=Z.useState(null),l=i?.domReference||a,d=Z.useRef(null),f=Or();J(()=>{l&&(d.current=l)},[l]);let p=En({...e,elements:{...i,...s&&{reference:s}}}),m=Z.useCallback(e=>{let t=u(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;c(t),p.refs.setReference(t)},[p.refs]),h=Z.useCallback(e=>{(u(e)||e===null)&&(d.current=e,o(e)),(u(p.refs.reference.current)||p.refs.reference.current===null||e!==null&&!u(e))&&p.refs.setReference(e)},[p.refs]),g=Z.useMemo(()=>({...p.refs,setReference:h,setPositionReference:m,domReference:d}),[p.refs,h,m]),_=Z.useMemo(()=>({...p.elements,domReference:l}),[p.elements,l]),v=Z.useMemo(()=>({...p,...r,refs:g,elements:_,nodeId:t}),[p,g,_,t,r]);return J(()=>{r.dataRef.current.floatingContext=v;let e=f?.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),Z.useMemo(()=>({...p,context:v,refs:g,elements:_}),[p,g,_,v])}function sr(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[fr]:t,[pr]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,[dr]:``},...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&&[fr,pr].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 cr(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=>sr(t,e,`reference`),t),a=Z.useCallback(t=>sr(t,e,`floating`),n),o=Z.useCallback(t=>sr(t,e,`item`),r);return Z.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}function lr(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=wr(),c=r.domReference?.id||s,l=Z.useMemo(()=>it(r.floating)?.id||i,[r.floating,i]),u=Jr.get(o)??o,d=Dr()!=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,ur,dr,fr,pr,mr,hr,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=t((()=>{Z=e(n(),1),Tt(),Q=i(),A(),qe(),ur=e(r(),1),In(),dr=`data-floating-ui-focusable`,fr=`active`,pr=`selected`,mr=`ArrowLeft`,hr=`ArrowRight`,gr=`ArrowUp`,_r=`ArrowDown`,vr=[mr,hr],yr=[gr,_r],[...vr,...yr],br={...Z},xr=!1,Sr=0,Cr=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+Sr++,wr=br.useId||Ln,Tr=Z.createContext(null),Er=Z.createContext(null),Dr=()=>Z.useContext(Tr)?.id||null,Or=()=>Z.useContext(Er),kr=zn(`safe-polygon`),Ar=0,jr={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap},Mr=new WeakSet,Nr={},Pr=0,Fr=()=>typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype,Ir=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Kn(t);return e.contains(n)?n:null}).filter(e=>e!=null),Lr={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},Rr=Z.forwardRef(function(e,t){let[n,r]=Z.useState();J(()=>{Xe()&&r(`button`)},[]);let i={ref:t,tabIndex:0,role:n,"aria-hidden":n?void 0:!0,[zn(`focus-guard`)]:``,style:Lr};return(0,Q.jsx)(`span`,{...e,...i})}),zr={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},Br=Z.createContext(null),Vr=zn(`portal`),Hr=()=>Z.useContext(Br),Ur=20,$=[],Wr=Z.forwardRef(function(e,t){return(0,Q.jsx)(`button`,{...e,type:`button`,ref:t,tabIndex:-1,style:Lr})}),Gr={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},Kr={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},qr=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}),Jr=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]])}));export{or as a,lr as c,In as d,jn as f,xn as g,un as h,ir as i,Fn as l,Pn as m,Xn as n,Hn as o,Mn as p,Yr as r,cr as s,rr as t,Nn as u};
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DBBiRbws.js";import{t as r}from"./react-dom-H_XMZTBP.js";import{t as i}from"./jsx-runtime-BBQGix-2.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.ownerDocument.body: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):[])}else 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,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 V(e,B(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=ie(o)),[o,ie(o)]}function R(e){let t=ie(e);return[z(e),t,z(t)]}function z(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}function ne(e,t,n){switch(e){case`top`:case`bottom`:return n?t?fe:de:t?de:fe;case`left`:case`right`:return t?pe:me;default:return[]}}function re(e,t,n,r){let i=P(e),a=ne(N(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(z)))),a}function ie(e){let t=N(e);return ue[t]+e.slice(t.length)}function ae(e){return{top:0,right:0,bottom:0,left:0,...e}}function oe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ae(e)}function se(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 B,V,ce,le,H,ue,de,fe,pe,me,he=t((()=>{B=Math.min,V=Math.max,ce=Math.round,le=Math.floor,H=e=>({x:e,y:e}),ue={left:`right`,right:`left`,bottom:`top`,top:`bottom`},de=[`left`,`right`],fe=[`right`,`left`],pe=[`top`,`bottom`],me=[`bottom`,`top`]})),ge,_e,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=t((()=>{ge=[`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] *)`],_e=ge.join(`,`),ve=typeof Element>`u`,ye=ve?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,be=!ve&&Element.prototype.getRootNode?function(e){return e?.getRootNode?.call(e)}:function(e){return e?.ownerDocument},xe=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]`):xe(e.parentNode))},Se=function(e){var t=e?.getAttribute?.call(e,`contenteditable`);return t===``||t===`true`},Ce=function(e,t,n){if(xe(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(_e));return t&&ye.call(e,_e)&&r.unshift(e),r=r.filter(n),r},we=function(e,t,n){for(var r=[],i=Array.from(e);i.length;){var a=i.shift();if(!xe(a,!1))if(a.tagName===`SLOT`){var o=a.assignedElements(),s=we(o.length?o:a.children,!0,n);n.flatten?r.push.apply(r,s):r.push({scopeParent:a,candidates:s})}else{ye.call(a,_e)&&n.filter(a)&&(t||!e.includes(a))&&r.push(a);var c=a.shadowRoot||typeof n.getShadowRoot==`function`&&n.getShadowRoot(a),l=!xe(c,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(a));if(c&&l){var u=we(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},Te=function(e){return!isNaN(parseInt(e.getAttribute(`tabindex`),10))},Ee=function(e){if(!e)throw Error(`No node provided`);return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Se(e))&&!Te(e)?0:e.tabIndex},De=function(e,t){var n=Ee(e);return n<0&&t&&!Te(e)?0:n},Oe=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},ke=function(e){return e.tagName===`INPUT`},Ae=function(e){return ke(e)&&e.type===`hidden`},je=function(e){return e.tagName===`DETAILS`&&Array.prototype.slice.apply(e.children).some(function(e){return e.tagName===`SUMMARY`})},Me=function(e,t){for(var n=0;n<e.length;n++)if(e[n].checked&&e[n].form===t)return e[n]},Ne=function(e){if(!e.name)return!0;var t=e.form||be(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=Me(r,e.form);return!i||i===e},Pe=function(e){return ke(e)&&e.type===`radio`},Fe=function(e){return Pe(e)&&!Ne(e)},Ie=function(e){var t=e&&be(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=be(n),n=t?.host,r=!!((s=n)!=null&&(c=s.ownerDocument)!=null&&c.contains(n))}}return r},Le=function(e){var t=e.getBoundingClientRect(),n=t.width,r=t.height;return n===0&&r===0},Re=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=ye.call(e,`details>summary:first-of-type`)?e.parentElement:e;if(ye.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=be(e);if(s&&!s.shadowRoot&&r(s)===!0)return Le(e);e=e.assignedSlot?e.assignedSlot:!s&&c!==e.ownerDocument?c.host:s}e=o}if(Ie(e))return!e.getClientRects().length;if(n!==`legacy-full`)return!0}else if(n===`non-zero-area`)return Le(e);return!1},ze=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 ye.call(t,`fieldset[disabled] *`)?!0:!r.contains(e)}return!0}t=t.parentElement}return!1},Be=function(e,t){return!(t.disabled||Ae(t)||Re(t,e)||je(t)||ze(t))},Ve=function(e,t){return!(Fe(t)||Ee(t)<0||!Be(e,t))},He=function(e){var t=parseInt(e.getAttribute(`tabindex`),10);return!!(isNaN(t)||t>=0)},Ue=function(e){var t=[],n=[];return e.forEach(function(e,r){var i=!!e.scopeParent,a=i?e.scopeParent:e,o=De(a,i),s=i?Ue(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(Oe).reduce(function(e,t){return t.isScope?e.push.apply(e,t.content):e.push(t.content),e},[]).concat(t)},We=function(e,t){t||={};var n=t.getShadowRoot?we([e],t.includeContainer,{filter:Ve.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:He}):Ce(e,t.includeContainer,Ve.bind(null,t));return Ue(n)},Ge=function(e,t){return t||={},t.getShadowRoot?we([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):Ce(e,t.includeContainer,Be.bind(null,t))},Ke=function(e,t){if(t||={},!e)throw Error(`No node provided`);return ye.call(e,_e)===!1?!1:Ve(t,e)}}));function Je(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function Ye(){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 Xe(){return/apple/i.test(navigator.vendor)}function Ze(){let e=/android/i;return e.test(Je())||e.test(Ye())}function Qe(){return Ye().includes(`jsdom/`)}function $e(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 U(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 W(e){return`composedPath`in e?e.composedPath()[0]:e.target}function et(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 tt(e){return e.matches(`html,body`)}function G(e){return e?.ownerDocument||document}function nt(e){return d(e)&&e.matches(xt)}function rt(e){return e?e.getAttribute(`role`)===`combobox`&&nt(e):!1}function it(e){return e?e.hasAttribute(bt)?e:e.querySelector(`[data-floating-ui-focusable]`)||e:null}function at(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...at(e,t.id,n)])}function ot(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 st(e){e.preventDefault(),e.stopPropagation()}function ct(e){return`nativeEvent`in e}function lt(e){return e.mozInputSource===0&&e.isTrusted?!0:Ze()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function ut(e){return Qe()?!1:!Ze()&&e.width===0&&e.height===0||Ze()&&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 dt(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function K(e){let t=vt.useRef(e);return J(()=>{t.current=e}),t}function q(e){let t=vt.useRef(()=>{});return Ct(()=>{t.current=e}),vt.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function ft(e,t){let n=We(e,wt()),r=n.length;if(r===0)return;let i=$e(G(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function pt(e){return ft(G(e).body,1)||e}function mt(e){return ft(G(e).body,-1)||e}function ht(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!U(n,r)}function gt(e){We(e,wt()).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function _t(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 vt,yt,bt,xt,J,St,Ct,wt,Tt=t((()=>{A(),vt=e(n(),1),yt=e(n(),1),qe(),bt=`data-floating-ui-focusable`,xt=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,J=typeof document<`u`?yt.useLayoutEffect:function(){},St={...vt},Ct=St.useInsertionEffect||(e=>e()),wt=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver==`function`&&ResizeObserver.toString().includes(`[native code]`)?`full`:`none`})}));function Et(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}}switch(P(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Dt(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=oe(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=se(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=se(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}}async function Ot(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=Nt.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 kt,At,jt,Mt,Nt,Pt,Ft,It,Lt=t((()=>{he(),kt=50,At=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Dt},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Et(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<kt&&(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}=Et(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},jt=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=oe(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=B(d[_],T),D=B(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,N=j(O,A,k),F=!c.arrow&&P(i)!=null&&A!==N&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,L=F?A<O?A-O:A-k:0;return{[p]:f[p]+L,data:{[p]:N,centerOffset:A-N-L,...F&&{alignmentOffset:L}},reset:F}}}),Mt=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?[ie(o)]:R(o)),x=p!==`none`;!d&&x&&b.push(...re(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:!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;break}if(r!==n)return{reset:{placement:n}}}return{}}}},Nt=new Set([`left`,`top`]),Pt=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 Ot(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}}}}},Ft=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(N(i)),p=F(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=j(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=j(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},It=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=M(e,t),u=await o.detectOverflow(t,l),d=N(i),f=P(i),p=L(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=B(h-u[g],v),x=B(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=V(u.left,0),t=V(u.right,0),n=V(u.top,0),r=V(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:V(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:V(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}}}));function Rt(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=ce(n)!==a||ce(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function zt(e){return u(e)?e:e.contextElement}function Bt(e){let t=zt(e);if(!d(t))return H(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Rt(t),o=(a?ce(n.width):n.width)/r,s=(a?ce(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}function Vt(e){let t=s(e);return!v()||!t.visualViewport?dn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ht(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==s(e)?!1:t}function Ut(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=zt(e),o=H(1);t&&(r?u(r)&&(o=Bt(r)):o=Bt(e));let c=Ht(a,n,r)?Vt(a):H(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){let e=s(a),t=r&&u(r)?s(r):r,n=e,i=T(n);for(;i&&r&&t!==n;){let e=Bt(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 se({width:f,height:p,x:l,y:d})}function Wt(e,t){let n=x(e).scrollLeft;return t?t.left+n:Ut(c(e)).left+n}function Gt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Wt(e,n),y:n.top+t.scrollTop}}function Kt(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=H(1),m=H(0),g=d(r);if((g||!g&&!a)&&((o(r)!==`body`||p(s))&&(u=x(r)),g)){let e=Ut(r);f=Bt(r),m.x=e.x+r.clientLeft,m.y=e.y+r.clientTop}let _=s&&!g&&!a?Gt(s,u):H(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 Array.from(e.getClientRects())}function Jt(e){let t=c(e),n=x(e),r=e.ownerDocument.body,i=V(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=V(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Wt(e),s=-n.scrollTop;return b(r).direction===`rtl`&&(o+=V(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function Yt(e,t){let n=s(e),r=c(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,l=0,u=0;if(i){a=i.width,o=i.height;let e=v();(!e||e&&t===`fixed`)&&(l=i.offsetLeft,u=i.offsetTop)}let d=Wt(r);if(d<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=fn&&(a-=o)}else d<=fn&&(a+=d);return{width:a,height:o,x:l,y:u}}function Xt(e,t){let n=Ut(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=d(e)?Bt(e):H(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Zt(e,t,n){let r;if(t===`viewport`)r=Yt(e,n);else if(t===`document`)r=Jt(c(e));else if(u(t))r=Xt(t,n);else{let n=Vt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return se(r)}function Qt(e,t){let n=S(e);return n===t||!u(n)||y(n)?!1:b(n).position===`fixed`||Qt(n,t)}function $t(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 t=b(s),n=g(s);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||p(s)&&!n&&Qt(e,s))?r=r.filter(e=>e!==s):i=t,s=S(s)}return t.set(e,r),r}function en(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?h(t)?[]:$t(t,this._c):[].concat(n),r],o=Zt(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=Zt(t,a[e],i);s=V(n.top,s),c=B(n.right,c),l=B(n.bottom,l),u=V(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function tn(e){let{width:t,height:n}=Rt(e);return{width:t,height:n}}function nn(e,t,n){let r=d(t),i=c(t),a=n===`fixed`,s=Ut(e,!0,a,t),l={scrollLeft:0,scrollTop:0},u=H(0);function f(){u.x=Wt(i)}if(r||!r&&!a)if((o(t)!==`body`||p(i))&&(l=x(t)),r){let e=Ut(t,!0,a,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else i&&f();a&&!r&&i&&f();let m=i&&!r&&!a?Gt(i,l):H(0);return{x:s.left+l.scrollLeft-u.x-m.x,y:s.top+l.scrollTop-u.y-m.y,width:s.width,height:s.height}}function rn(e){return b(e).position===`static`}function an(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 on(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)&&!rn(t))return t;t=S(t)}return n}let r=an(e,t);for(;r&&m(r)&&rn(r);)r=an(r,t);return r&&y(r)&&rn(r)&&!g(r)?n:r||_(e)||n}function sn(e){return b(e).direction===`rtl`}function cn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ln(e,t){let n=null,r,i=c(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=le(d),h=le(i.clientWidth-(u+f)),g=le(i.clientHeight-(d+p)),_=le(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:V(0,B(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!cn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function un(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=zt(e),u=i||a?[...l?w(l):[],...t?w(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?ln(l,n):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?Ut(e):null;c&&g();function g(){let t=Ut(e);h&&!cn(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 dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn=t((()=>{Lt(),he(),A(),dn=H(0),fn=25,pn=async function(e){let t=this.getOffsetParent||on,n=this.getDimensions,r=await n(e.floating);return{reference:nn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},mn={convertOffsetParentRelativeRectToViewportRelativeRect:Kt,getDocumentElement:c,getClippingRect:en,getOffsetParent:on,getElementRects:pn,getClientRects:qt,getDimensions:tn,getScale:Bt,isElement:u,isRTL:sn},hn=Pt,gn=Ft,_n=Mt,vn=It,yn=jt,bn=(e,t,n)=>{let r=new Map,i={platform:mn,...n},a={...i.platform,_c:r};return At(e,t,{...i,platform:a})}}));function Sn(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(!Sn(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)&&!Sn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Cn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function wn(e,t){let n=Cn(e);return Math.round(t*n)/n}function Tn(e){let t=Y.useRef(e);return kn(()=>{t.current=e}),t}function En(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);Sn(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=Tn(c),D=Tn(i),O=Tn(l),k=Y.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),bn(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Sn(w.current,t)&&(w.current=t,On.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);kn(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=Y.useRef(!1);kn(()=>(A.current=!0,()=>{A.current=!1}),[]),kn(()=>{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=wn(M.floating,u.x),r=wn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Cn(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,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In=t((()=>{xn(),Y=e(n(),1),Dn=e(n(),1),On=e(r(),1),kn=typeof document<`u`?Dn.useLayoutEffect:function(){},An=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?{}:yn({element:r.current,padding:i}).fn(n):r?yn({element:r,padding:i}).fn(n):{}}}},jn=(e,t)=>{let n=hn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Mn=(e,t)=>{let n=gn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Nn=(e,t)=>{let n=_n(e);return{name:n.name,fn:n.fn,options:[e,t]}},Pn=(e,t)=>{let n=vn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fn=(e,t)=>{let n=An(e);return{name:n.name,fn:n.fn,options:[e,t]}}}));function Ln(){let[e,t]=Z.useState(()=>xr?Cr():void 0);return J(()=>{e??t(Cr())},[]),Z.useEffect(()=>{xr=!0},[]),e}function Rn(){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 zn(e){return`data-floating-ui-`+e}function X(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}function Bn(e,t,n){if(n&&!dt(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 Vn(e){return typeof e==`function`?e():e}function Hn(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=Or(),h=Dr(),g=K(l),_=K(c),v=K(n),y=K(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=G(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=Bn(_.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=G(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(kr),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&&!dt(b.current)||Vn(y.current)>0&&!Bn(_.current,`open`))return;let t=Bn(_.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=G(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`||!U(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=G(o.floating).body;n.setAttribute(kr,``);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&&!dt(b.current)||n||Vn(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,Vn(y.current))))}}},[d,r,n,v,y]);return Z.useMemo(()=>s?{reference:N}:{},[s,N])}function Un(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(Ar);let a=()=>e?.focus({preventScroll:n});i?a():Ar=requestAnimationFrame(a)}function Wn(e){return e?.ownerDocument||document}function Gn(e){return e===`inert`?jr.inert:e===`aria-hidden`?jr[`aria-hidden`]:jr.none}function Kn(e){return e?f(e)?e.host:Kn(e.parentNode):null}function qn(e,t,n,r){let i=`data-floating-ui-inert`,a=r?`inert`:n?`aria-hidden`:null,s=Ir(t,e),c=new Set,l=new Set(s),u=[];Nr[i]||(Nr[i]=new WeakMap);let d=Nr[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=Gn(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&&Mr.add(e),s===1&&e.setAttribute(i,``),!n&&a&&e.setAttribute(a,a===`inert`?``:`true`)}})}return Pr++,()=>{u.forEach(e=>{let t=Gn(a),n=(t.get(e)||0)-1,r=(d.get(e)||0)-1;t.set(e,n),d.set(e,r),n||(!Mr.has(e)&&a&&e.removeAttribute(a),Mr.delete(e)),r||e.removeAttribute(i)}),Pr--,Pr||(jr.inert=new WeakMap,jr[`aria-hidden`]=new WeakMap,jr.none=new WeakMap,Mr=new WeakSet,Nr={})}}function Jn(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=Wn(e[0]).body;return qn(e.concat(Array.from(r.querySelectorAll(`[aria-live],[role="status"],output`))),r,t,n)}function Yn(e){e===void 0&&(e={});let{id:t,root:n}=e,r=wr(),i=Hr(),[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(Vr,``),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(Vr,``),e=a||e,e.appendChild(c),s.current=c,o(c)},[t,n,r,i]),a}function Xn(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,a=Yn({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&&ht(e)&&(e.type===`focusin`?_t:gt)(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||_t(a))},[p,a]),(0,Q.jsxs)(Br.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)(Rr,{"data-type":`outside`,ref:c,onFocus:e=>{if(ht(e,a)){var t;(t=u.current)==null||t.focus()}else mt(o?o.domReference:null)?.focus()}}),m&&a&&(0,Q.jsx)(`span`,{"aria-owns":a.id,style:zr}),a&&ur.createPortal(t,a),m&&a&&(0,Q.jsx)(Rr,{"data-type":`outside`,ref:l,onFocus:e=>{if(ht(e,a)){var t;(t=d.current)==null||t.focus()}else pt(o?o.domReference:null)?.focus(),o!=null&&o.closeOnFocusOut&&o?.onOpenChange(!1,e.nativeEvent,`focus-out`)}})]})}function Zn(e){return Z.useMemo(()=>t=>{e.forEach(e=>{e&&(e.current=t)})},e)}function Qn(){$=$.filter(e=>e.deref()?.isConnected)}function $n(e){Qn(),e&&o(e)!==`body`&&($.push(new WeakRef(e)),$.length>Ur&&($=$.slice(-20)))}function er(){return Qn(),$[$.length-1]?.deref()}function tr(e){let t=wt();return Ke(e,t)?e:We(e,t)[0]||e}function nr(e,t){var n;if(!t.current.includes(`floating`)&&!((n=e.getAttribute(`role`))!=null&&n.includes(`dialog`)))return;let r=wt(),i=Ge(e,r).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Ke(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 rr(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=rt(y)&&C,T=Fr(),E=T?a:!0,D=!E||T&&p,O=K(i),k=K(o),A=K(s),j=Or(),M=Hr(),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=it(b),z=q(function(e){return e===void 0&&(e=R),e?We(e,wt()):[]}),ne=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`){U(R,$e(G(R)))&&z().length===0&&!w&&st(e);let t=ne(),n=W(e);O.current[0]===`reference`&&n===y&&(st(e),e.shiftKey?Un(t[t.length-1]):Un(t[1])),O.current[1]===`floating`&&n===R&&e.shiftKey&&(st(e),Un(t[0]))}}let t=G(R);return t.addEventListener(`keydown`,e),()=>{t.removeEventListener(`keydown`,e)}},[r,y,R,l,O,w,z,ne]),Z.useEffect(()=>{if(r||!b)return;function e(e){let t=W(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=W(e);queueMicrotask(()=>{let i=x(),a=!(U(y,t)||U(b,t)||U(t,b)||U(M?.portalNode,t)||t!=null&&t.hasAttribute(zn(`focus-guard`))||j&&(at(j.nodesRef.current,i).find(e=>U(e.context?.elements.floating,t)||U(e.context?.elements.domReference,t))||ot(j.nodesRef.current,i).find(e=>[e.context?.elements.floating,it(e.context?.elements.floating)].includes(t)||e.context?.elements.domReference===t)));if(n===y&&R&&nr(R,O),c&&n!==y&&!(r!=null&&r.isConnected)&&$e(G(R))===G(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!==er()&&(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 re=Z.useRef(null),ie=Z.useRef(null),ae=Zn([re,M?.beforeInsideRef]),oe=Zn([ie,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(`[`+zn(`portal`)+`]`))||[]),i=(t=(j?ot(j.nodesRef.current,x()):[]).find(e=>rt(e.context?.elements.domReference||null)))==null||(t=t.context)==null?void 0:t.elements.domReference,a=[b,i,...n,...S(),N.current,P.current,re.current,ie.current,M?.beforeOutsideRef.current,M?.afterOutsideRef.current,O.current.includes(`reference`)||w?y:null].filter(e=>e!=null),o=l||w?Jn(a,!D,D):Jn(a);return()=>{o()}},[r,y,b,l,O,M,w,E,D,j,x,S]),J(()=>{if(r||!d(R))return;let e=$e(G(R));queueMicrotask(()=>{let t=ne(R),n=k.current,r=(typeof n==`number`?t[n]:n.current)||R,i=U(R,e);!C&&!i&&h&&Un(r,{preventScroll:r===R})})},[r,h,R,C,ne,k]),J(()=>{if(r||!R)return;let e=G(R);$n($e(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(lt(n)||ut(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,Lr),te&&y&&y.insertAdjacentElement(`afterend`,n);function i(){if(typeof A.current==`boolean`){let e=y||er();return e&&e.isConnected?e:n}return A.current.current||n}return()=>{_.off(`openchange`,t);let r=$e(e),a=U(b,r)||j&&at(j.nodesRef.current,x(),!1).some(e=>U(e.context?.elements.floating,r)),o=i();queueMicrotask(()=>{let t=tr(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(Qn)}),[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&&nr(R,O)},[r,R,O]);function se(e){return r||!u||!l?null:(0,Q.jsx)(Wr,{ref:e===`start`?N:P,onClick:e=>g(!1,e.nativeEvent),children:typeof u==`string`?u:`Dismiss`})}let B=!r&&E&&(l?!w:!0)&&(te||l);return(0,Q.jsxs)(Q.Fragment,{children:[B&&(0,Q.jsx)(Rr,{"data-type":`inside`,ref:ae,onFocus:e=>{if(l){let e=ne();Un(i[0]===`reference`?e[0]:e[e.length-1])}else if(M!=null&&M.preserveTabOrder&&M.portalNode)if(F.current=!1,ht(e,M.portalNode))pt(y)?.focus();else{var t;(t=M.beforeOutsideRef.current)==null||t.focus()}}}),!w&&se(`start`),n,se(`end`),B&&(0,Q.jsx)(Rr,{"data-type":`inside`,ref:oe,onFocus:e=>{if(l)Un(ne()[0]);else if(M!=null&&M.preserveTabOrder&&M.portalNode)if(f&&(F.current=!0),ht(e,M.portalNode))mt(y)?.focus();else{var t;(t=M.afterOutsideRef.current)==null||t.focus()}}})]})}function ir(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,_=Or(),x=q(typeof c==`function`?c:()=>!1),C=typeof c==`function`?x:c,T=Z.useRef(!1),{escapeKey:E,outsidePress:D}=qr(h),{escapeKey:O,outsidePress:k}=qr(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=_?at(_.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,ct(e)?e.nativeEvent:e,`escape-key`)}),M=q(e=>{var t;let n=()=>{var t;j(e),(t=W(e))==null||t.removeEventListener(`keydown`,n)};(t=W(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=W(e),s=`[`+zn(`inert`)+`]`,c=G(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)&&!tt(o)&&!U(o,i.floating)&&Array.from(c).every(e=>!U(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=_&&at(_.nodesRef.current,p).some(t=>et(e,t.context?.elements.floating));if(et(e,i.floating)||et(e,i.domReference)||m)return;let h=_?at(_.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=W(e))==null||t.removeEventListener(l,n)};(t=W(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=G(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,{passive:!0})}),()=>{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&&{[Gr[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,[Kr[l]]:()=>{a.current.insideReactTree=!0}}},[j,l,a]);return Z.useMemo(()=>o?{reference:F,floating:I}:{},[o,F,I])}function ar(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=wr(),a=Z.useRef({}),[o]=Z.useState(()=>Rn()),s=Dr()!=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 or(e){e===void 0&&(e={});let{nodeId:t}=e,n=ar({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[a,o]=Z.useState(null),[s,c]=Z.useState(null),l=i?.domReference||a,d=Z.useRef(null),f=Or();J(()=>{l&&(d.current=l)},[l]);let p=En({...e,elements:{...i,...s&&{reference:s}}}),m=Z.useCallback(e=>{let t=u(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;c(t),p.refs.setReference(t)},[p.refs]),h=Z.useCallback(e=>{(u(e)||e===null)&&(d.current=e,o(e)),(u(p.refs.reference.current)||p.refs.reference.current===null||e!==null&&!u(e))&&p.refs.setReference(e)},[p.refs]),g=Z.useMemo(()=>({...p.refs,setReference:h,setPositionReference:m,domReference:d}),[p.refs,h,m]),_=Z.useMemo(()=>({...p.elements,domReference:l}),[p.elements,l]),v=Z.useMemo(()=>({...p,...r,refs:g,elements:_,nodeId:t}),[p,g,_,t,r]);return J(()=>{r.dataRef.current.floatingContext=v;let e=f?.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),Z.useMemo(()=>({...p,context:v,refs:g,elements:_}),[p,g,_,v])}function sr(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[fr]:t,[pr]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,[dr]:``},...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&&[fr,pr].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 cr(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=>sr(t,e,`reference`),t),a=Z.useCallback(t=>sr(t,e,`floating`),n),o=Z.useCallback(t=>sr(t,e,`item`),r);return Z.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}function lr(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=wr(),c=r.domReference?.id||s,l=Z.useMemo(()=>it(r.floating)?.id||i,[r.floating,i]),u=Jr.get(o)??o,d=Dr()!=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,ur,dr,fr,pr,mr,hr,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=t((()=>{Z=e(n(),1),Tt(),Q=i(),A(),qe(),ur=e(r(),1),In(),dr=`data-floating-ui-focusable`,fr=`active`,pr=`selected`,mr=`ArrowLeft`,hr=`ArrowRight`,gr=`ArrowUp`,_r=`ArrowDown`,vr=[mr,hr],yr=[gr,_r],[...vr,...yr],br={...Z},xr=!1,Sr=0,Cr=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+Sr++,wr=br.useId||Ln,Tr=Z.createContext(null),Er=Z.createContext(null),Dr=()=>Z.useContext(Tr)?.id||null,Or=()=>Z.useContext(Er),kr=zn(`safe-polygon`),Ar=0,jr={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap},Mr=new WeakSet,Nr={},Pr=0,Fr=()=>typeof HTMLElement<`u`&&`inert`in HTMLElement.prototype,Ir=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Kn(t);return e.contains(n)?n:null}).filter(e=>e!=null),Lr={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},Rr=Z.forwardRef(function(e,t){let[n,r]=Z.useState();J(()=>{Xe()&&r(`button`)},[]);let i={ref:t,tabIndex:0,role:n,"aria-hidden":n?void 0:!0,[zn(`focus-guard`)]:``,style:Lr};return(0,Q.jsx)(`span`,{...e,...i})}),zr={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},Br=Z.createContext(null),Vr=zn(`portal`),Hr=()=>Z.useContext(Br),Ur=20,$=[],Wr=Z.forwardRef(function(e,t){return(0,Q.jsx)(`button`,{...e,type:`button`,ref:t,tabIndex:-1,style:Lr})}),Gr={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},Kr={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},qr=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}),Jr=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]])}));export{or as a,lr as c,In as d,jn as f,xn as g,un as h,ir as i,Fn as l,Pn as m,Xn as n,Hn as o,Mn as p,Yr as r,cr as s,rr as t,Nn as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{m as t,p as n}from"./iframe-DBBiRbws.js";import{i as r,n as i,r as a,t as o}from"./chunk-3LY4VQVK-CDA9ib8M.js";var s;e((()=>{a(),i(),t(),s=(0,n(r(),1).default)(2)(async(e,t)=>e===!1?t:o(t))}))();export{s as formatter};
|