ics-ui-kit 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/README.md +36 -36
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-5B6AgZpe.js.map +1 -1
  4. package/dist/Button-Dg89xRSi.js.map +1 -1
  5. package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
  6. package/dist/{CheckboxField-cX09-eBX.js → CheckboxField-2zNFubvm.js} +2 -2
  7. package/dist/CheckboxField-2zNFubvm.js.map +1 -0
  8. package/dist/Combination-DeIugdgY.js +353 -0
  9. package/dist/Combination-DeIugdgY.js.map +1 -0
  10. package/dist/{Command-ClIm4U7r.js → Command-D5zgJ7-y.js} +3 -3
  11. package/dist/Command-D5zgJ7-y.js.map +1 -0
  12. package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
  13. package/dist/Description-BTPMlTT-.js.map +1 -1
  14. package/dist/{Dialog-Bs1B5Iu8.js → Dialog-CdnsGyJD.js} +3 -3
  15. package/dist/Dialog-CdnsGyJD.js.map +1 -0
  16. package/dist/Divider-DPW5ZhZ8.js.map +1 -1
  17. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  18. package/dist/ErrorState-B26k67-z.js.map +1 -1
  19. package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
  20. package/dist/{Field-BiIWtq9o.js → Field-COD9VbUX.js} +2 -2
  21. package/dist/Field-COD9VbUX.js.map +1 -0
  22. package/dist/{FieldLabel-QJ4rJFOi.js → FieldLabel-eyKmeWRn.js} +2 -2
  23. package/dist/FieldLabel-eyKmeWRn.js.map +1 -0
  24. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  25. package/dist/{FormFooterTemplate-DPB6Dkxn.js → FormFooterTemplate-ClTxqrIB.js} +2 -2
  26. package/dist/FormFooterTemplate-ClTxqrIB.js.map +1 -0
  27. package/dist/FormHeader--F6b2aRk.js.map +1 -1
  28. package/dist/{FormStack-DO15vBgd.js → FormStack-B3UBh9oF.js} +3 -3
  29. package/dist/FormStack-B3UBh9oF.js.map +1 -0
  30. package/dist/HintState-BxrCAWqq.js.map +1 -1
  31. package/dist/Icon-DH3ev9GK.js.map +1 -1
  32. package/dist/IconButton-DwkpNgn3.js.map +1 -1
  33. package/dist/{IconTooltip-CKJKGHbk.js → IconTooltip-RSxvnBgH.js} +2 -2
  34. package/dist/IconTooltip-RSxvnBgH.js.map +1 -0
  35. package/dist/Indicator-AqxHWPA9.js.map +1 -1
  36. package/dist/InputGroup-BvD9Igmt.js.map +1 -1
  37. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  38. package/dist/Loader-BpHiL6W-.js.map +1 -1
  39. package/dist/MenuItem-d19Ty84F.js.map +1 -1
  40. package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
  41. package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
  42. package/dist/Overlay-CVt011mY.js.map +1 -1
  43. package/dist/{Popover-CY_d3Ggn.js → Popover-CRVD7AtB.js} +20 -19
  44. package/dist/Popover-CRVD7AtB.js.map +1 -0
  45. package/dist/RichButton-DuPTenmS.js.map +1 -1
  46. package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
  47. package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
  48. package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
  49. package/dist/{Select-B2WcoFf5.js → Select-MLPTpIl5.js} +24 -23
  50. package/dist/Select-MLPTpIl5.js.map +1 -0
  51. package/dist/{Sheet-zTMuP7C8.js → Sheet-qTIXsqm0.js} +3 -3
  52. package/dist/Sheet-qTIXsqm0.js.map +1 -0
  53. package/dist/Shortcut-D8L15_ed.js.map +1 -1
  54. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  55. package/dist/Tag-DdHXTyKF.js.map +1 -1
  56. package/dist/Text-DeBE8AKl.js.map +1 -1
  57. package/dist/TextInput-Cj50ImXi.js.map +1 -1
  58. package/dist/{TextOverflowTooltip-DlUgic5y.js → TextOverflowTooltip-B1I5qwAT.js} +2 -2
  59. package/dist/TextOverflowTooltip-B1I5qwAT.js.map +1 -0
  60. package/dist/Toggle-v_HT3Gm2.js.map +1 -1
  61. package/dist/{Tooltip-C4rVuWr4.js → Tooltip-7Duaau0S.js} +3 -3
  62. package/dist/Tooltip-7Duaau0S.js.map +1 -0
  63. package/dist/TriggerButton-CfDObWP9.js.map +1 -1
  64. package/dist/blocks/auth/otp-form.js +1 -1
  65. package/dist/blocks/auth/otp-form.js.map +1 -1
  66. package/dist/circle-BbEzypQJ.js +14 -0
  67. package/dist/circle-BbEzypQJ.js.map +1 -0
  68. package/dist/cn-dsXlqdJg.js.map +1 -1
  69. package/dist/components/alert-dialog.js +2 -2
  70. package/dist/components/alert-dialog.js.map +1 -1
  71. package/dist/components/alert.js.map +1 -1
  72. package/dist/components/avatar.js.map +1 -1
  73. package/dist/components/background-pattern.js.map +1 -1
  74. package/dist/components/badge.js.map +1 -1
  75. package/dist/components/banner.js.map +1 -1
  76. package/dist/components/breadcrumb.js.map +1 -1
  77. package/dist/components/button.js.map +1 -1
  78. package/dist/components/calendar.js.map +1 -1
  79. package/dist/components/card.js.map +1 -1
  80. package/dist/components/carousel.js.map +1 -1
  81. package/dist/components/checkbox.js +1 -1
  82. package/dist/components/collapsible.js.map +1 -1
  83. package/dist/components/color-tile.js.map +1 -1
  84. package/dist/components/command/Command.stories.d.ts +1 -0
  85. package/dist/components/command.js +1 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/context-menu/ContextMenu.d.ts +27 -0
  88. package/dist/components/context-menu/ContextMenu.stories.d.ts +10 -0
  89. package/dist/components/context-menu/index.d.ts +1 -0
  90. package/dist/components/context-menu.d.ts +2 -0
  91. package/dist/components/context-menu.js +2675 -0
  92. package/dist/components/context-menu.js.map +1 -0
  93. package/dist/components/counter.js.map +1 -1
  94. package/dist/components/dialog.js +3 -3
  95. package/dist/components/dialog.js.map +1 -1
  96. package/dist/components/divider.js.map +1 -1
  97. package/dist/components/drawer.js +3 -3
  98. package/dist/components/drawer.js.map +1 -1
  99. package/dist/components/dropdown.js +26 -25
  100. package/dist/components/dropdown.js.map +1 -1
  101. package/dist/components/error-state.js.map +1 -1
  102. package/dist/components/field.js +1 -1
  103. package/dist/components/file-upload.js +1 -1
  104. package/dist/components/file-upload.js.map +1 -1
  105. package/dist/components/form.js +3 -3
  106. package/dist/components/form.js.map +1 -1
  107. package/dist/components/glass-toolbar.js.map +1 -1
  108. package/dist/components/icon-tooltip.js +1 -1
  109. package/dist/components/image-placeholder.js.map +1 -1
  110. package/dist/components/image-preview.js.map +1 -1
  111. package/dist/components/image-uploader.js.map +1 -1
  112. package/dist/components/input.js.map +1 -1
  113. package/dist/components/label.js +1 -1
  114. package/dist/components/menu-item.js.map +1 -1
  115. package/dist/components/overflow-tooltip.js +1 -1
  116. package/dist/components/page-state.js.map +1 -1
  117. package/dist/components/popover.js +1 -1
  118. package/dist/components/portal-container.js +2 -2
  119. package/dist/components/portal-container.js.map +1 -1
  120. package/dist/components/progress-circle.js.map +1 -1
  121. package/dist/components/progress.js.map +1 -1
  122. package/dist/components/prose.js.map +1 -1
  123. package/dist/components/radio-group.js +63 -72
  124. package/dist/components/radio-group.js.map +1 -1
  125. package/dist/components/resizable.js.map +1 -1
  126. package/dist/components/scheduler.js +1 -1
  127. package/dist/components/scheduler.js.map +1 -1
  128. package/dist/components/search-select.js +3 -3
  129. package/dist/components/search-select.js.map +1 -1
  130. package/dist/components/select.js +1 -1
  131. package/dist/components/sheet.js +1 -1
  132. package/dist/components/sidebar.js +2 -2
  133. package/dist/components/sidebar.js.map +1 -1
  134. package/dist/components/slider.js.map +1 -1
  135. package/dist/components/stepper.js.map +1 -1
  136. package/dist/components/switch/Switch.d.ts +1 -1
  137. package/dist/components/switch.js +5 -2
  138. package/dist/components/switch.js.map +1 -1
  139. package/dist/components/system-state.js.map +1 -1
  140. package/dist/components/table.js +1 -1
  141. package/dist/components/table.js.map +1 -1
  142. package/dist/components/tabs.js.map +1 -1
  143. package/dist/components/tag-input.js +1 -1
  144. package/dist/components/tag-input.js.map +1 -1
  145. package/dist/components/textarea.js.map +1 -1
  146. package/dist/components/timer.js.map +1 -1
  147. package/dist/components/toast.js.map +1 -1
  148. package/dist/components/toggle-group.js.map +1 -1
  149. package/dist/components/toolbar.js.map +1 -1
  150. package/dist/components/tooltip.js +1 -1
  151. package/dist/floating-ui.react-dom-BwDfy92G.js +1309 -0
  152. package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -0
  153. package/dist/formatBytes-C4QXq5lC.js.map +1 -1
  154. package/dist/index-0ioNhtNM.js.map +1 -1
  155. package/dist/index-1SnkxfPR.js +230 -0
  156. package/dist/index-1SnkxfPR.js.map +1 -0
  157. package/dist/index-437EL2iq.js.map +1 -1
  158. package/dist/index-BDrapWDv.js.map +1 -1
  159. package/dist/index-BGQepRFJ.js.map +1 -1
  160. package/dist/index-BVqs-uqP.js.map +1 -1
  161. package/dist/index-BZPx6jYI.js.map +1 -1
  162. package/dist/index-Bb23HztA.js.map +1 -1
  163. package/dist/index-BjtNfqNq.js +333 -0
  164. package/dist/index-BjtNfqNq.js.map +1 -0
  165. package/dist/index-BpWB3aFK.js.map +1 -1
  166. package/dist/index-ByaXH_ih.js.map +1 -1
  167. package/dist/index-CCKe-Mpx.js.map +1 -1
  168. package/dist/index-CFaU3UXv.js.map +1 -1
  169. package/dist/index-CLuiUUQ8.js.map +1 -1
  170. package/dist/{index-CQD-Njgt.js → index-CMxHunQ4.js} +26 -25
  171. package/dist/index-CMxHunQ4.js.map +1 -0
  172. package/dist/index-CmBeyp2d.js.map +1 -1
  173. package/dist/index-DFZozV_h.js.map +1 -1
  174. package/dist/index-DHsfW5Rj.js.map +1 -1
  175. package/dist/index-DHyZ_0Ut.js.map +1 -1
  176. package/dist/index-DLcqcWxM.js.map +1 -1
  177. package/dist/index-DnnQs07z.js.map +1 -1
  178. package/dist/index-Uiy0Xwy2.js.map +1 -1
  179. package/dist/index-_ITz1IyW.js.map +1 -1
  180. package/dist/index.js.map +1 -1
  181. package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
  182. package/dist/lib/utils/styles.d.ts +1 -0
  183. package/dist/lib/utils.js.map +1 -1
  184. package/dist/styles-scoped.css +6441 -6413
  185. package/dist/styles.css +6180 -6152
  186. package/dist/theme.css +362 -362
  187. package/dist/types/css.d.ts +4 -4
  188. package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
  189. package/dist/useDebounce-BRah78CF.js.map +1 -1
  190. package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
  191. package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
  192. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  193. package/dist/usePortalContainer-BAIp0kSF.js +44 -0
  194. package/dist/usePortalContainer-BAIp0kSF.js.map +1 -0
  195. package/dist/vendors/tanstack/react-table.js.map +1 -1
  196. package/dist/zod-BMNoK3aM.js.map +1 -1
  197. package/package.json +206 -183
  198. package/tailwind.preset.js +448 -448
  199. package/dist/CheckboxField-cX09-eBX.js.map +0 -1
  200. package/dist/Command-ClIm4U7r.js.map +0 -1
  201. package/dist/Dialog-Bs1B5Iu8.js.map +0 -1
  202. package/dist/Field-BiIWtq9o.js.map +0 -1
  203. package/dist/FieldLabel-QJ4rJFOi.js.map +0 -1
  204. package/dist/FormFooterTemplate-DPB6Dkxn.js.map +0 -1
  205. package/dist/FormStack-DO15vBgd.js.map +0 -1
  206. package/dist/IconTooltip-CKJKGHbk.js.map +0 -1
  207. package/dist/Popover-CY_d3Ggn.js.map +0 -1
  208. package/dist/Select-B2WcoFf5.js.map +0 -1
  209. package/dist/Sheet-zTMuP7C8.js.map +0 -1
  210. package/dist/TextOverflowTooltip-DlUgic5y.js.map +0 -1
  211. package/dist/Tooltip-C4rVuWr4.js.map +0 -1
  212. package/dist/design-tokens.source.json +0 -1
  213. package/dist/index-BzCriPiK.js +0 -671
  214. package/dist/index-BzCriPiK.js.map +0 -1
  215. package/dist/index-CQD-Njgt.js.map +0 -1
  216. package/dist/index-DRo26PBK.js +0 -1525
  217. package/dist/index-DRo26PBK.js.map +0 -1
  218. package/dist/usePortalContainer-ae6EzS08.js +0 -39
  219. package/dist/usePortalContainer-ae6EzS08.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.js","sources":["../../node_modules/.pnpm/@radix-ui+primitive@1.1.7/node_modules/@radix-ui/primitive/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-context@1.2.2_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.5_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-slot@1.3.3_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.10_@types+react-dom@18.3.6_@types+react@18.3.20__@types+r_7523b3ab4c63d48d44316714c1f063cf/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-collection@1.1.15_@types+react-dom@18.3.6_@types+react@18.3.20__@types+_1f8acd3a9b8de6f7b33ec3535fefd24d/node_modules/@radix-ui/react-collection/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-direction@1.1.4_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.4_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.19_@types+react-dom@18.3.6_@types+react@18.3.20___9d277b3f5ee9db1d4f4a64d9027eb1ae/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.6_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.16_@types+react-dom@18.3.6_@types+react@18.3.20__@types_cf52e1c17869b85aeda8206676f5841f/node_modules/@radix-ui/react-focus-scope/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.4_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-id@1.1.4_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.4_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-popper@1.3.7_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react_916fcfa294832e71a4d52c015fe3da09/node_modules/@radix-ui/react-popper/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-portal@1.1.17_@types+react-dom@18.3.6_@types+react@18.3.20__@types+reac_840fd37b4845e3f5004c6d0bb047fef5/node_modules/@radix-ui/react-portal/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-presence@1.1.10_@types+react-dom@18.3.6_@types+react@18.3.20__@types+re_c18eb58bf046b623c6d959782e6476cc/node_modules/@radix-ui/react-presence/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-effect-event@0.0.5_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.2.6_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-use-is-hydrated@0.1.3_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.19_@types+react-dom@18.3.6_@types+react@18.3.20__@type_24a608b17962c893482e417826ae82b5/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js","../../node_modules/.pnpm/react-remove-scroll@2.7.2_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js","../../node_modules/.pnpm/@radix-ui+react-menu@2.1.24_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react@_6b99d647731ceddc91e95fee573aef12/node_modules/@radix-ui/react-menu/dist/index.mjs","../../node_modules/.pnpm/@radix-ui+react-context-menu@2.3.7_@types+react-dom@18.3.6_@types+react@18.3.20__@types_6b0b074c40a1810e59cd1f04cef036b7/node_modules/@radix-ui/react-context-menu/dist/index.mjs","../../src/components/context-menu/ContextMenu.tsx"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return /* @__PURE__ */ __name(function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n }, \"handleEvent\");\n}\n__name(composeEventHandlers, \"composeEventHandlers\");\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\n__name(getOwnerWindow, \"getOwnerWindow\");\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\n__name(getOwnerDocument, \"getOwnerDocument\");\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\n__name(getActiveElement, \"getActiveElement\");\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\n__name(isFrame, \"isFrame\");\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n Context.displayName = rootComponentName + \"Context\";\n const Provider = /* @__PURE__ */ __name((props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }, \"Provider\");\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, options = {}) {\n const { optional = false } = options;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n if (optional) return void 0;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n __name(useContext2, \"useContext\");\n return [Provider, useContext2];\n}\n__name(createContext2, \"createContext\");\n// @__NO_SIDE_EFFECTS__\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n BaseContext.displayName = rootComponentName + \"Context\";\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = /* @__PURE__ */ __name((props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }, \"Provider\");\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope, options = {}) {\n const { optional = false } = options;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n if (optional) return void 0;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n __name(useContext2, \"useContext\");\n return [Provider, useContext2];\n }\n __name(createContext3, \"createContext\");\n const createScope = /* @__PURE__ */ __name(() => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return /* @__PURE__ */ __name(function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n }, \"useScope\");\n }, \"createScope\");\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\n__name(createContextScope, \"createContextScope\");\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = /* @__PURE__ */ __name(() => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return /* @__PURE__ */ __name(function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n }, \"useComposedScopes\");\n }, \"createScope\");\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\n__name(composeContextScopes, \"composeContextScopes\");\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\n__name(setRef, \"setRef\");\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\n__name(composeRefs, \"composeRefs\");\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\n__name(useComposedRefs, \"useComposedRefs\");\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/slot.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n let { children, ...slotProps } = props;\n let slottableElement = null;\n let hasSlottable = false;\n const newChildren = [];\n if (isLazyComponent(children) && typeof use === \"function\") {\n children = use(children._payload);\n }\n React.Children.forEach(children, (maybeSlottable) => {\n if (isSlottable(maybeSlottable)) {\n hasSlottable = true;\n const slottable = maybeSlottable;\n let child = \"child\" in slottable.props ? slottable.props.child : slottable.props.children;\n if (isLazyComponent(child) && typeof use === \"function\") {\n child = use(child._payload);\n }\n slottableElement = getSlottableElementFromSlottable(slottable, child);\n newChildren.push(slottableElement?.props?.children);\n } else {\n newChildren.push(maybeSlottable);\n }\n });\n if (slottableElement) {\n slottableElement = React.cloneElement(slottableElement, void 0, newChildren);\n } else if (\n // A `Slottable` was found but it didn't resolve to a single element (e.g.\n // it wrapped multiple elements, text, or a render-prop `child` that\n // wasn't an element). Don't fall back to treating the `Slottable` wrapper\n // itself as the slot target — throw a descriptive error below instead.\n !hasSlottable && React.Children.count(children) === 1 && React.isValidElement(children)\n ) {\n slottableElement = children;\n }\n const slottableElementRef = slottableElement ? getElementRef(slottableElement) : void 0;\n const composedRef = useComposedRefs(forwardedRef, slottableElementRef);\n if (!slottableElement) {\n if (children || children === 0) {\n throw new Error(\n hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName)\n );\n }\n return children;\n }\n const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});\n if (slottableElement.type !== React.Fragment) {\n mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;\n }\n return React.cloneElement(slottableElement, mergedProps);\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\n__name(createSlot, \"createSlot\");\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\nvar SLOTTABLE_IDENTIFIER = Symbol.for(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = /* @__PURE__ */ __name((props) => \"child\" in props ? props.children(props.child) : props.children, \"Slottable\");\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\n__name(createSlottable, \"createSlottable\");\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nvar getSlottableElementFromSlottable = /* @__PURE__ */ __name((slottable, child) => {\n if (\"child\" in slottable.props) {\n const child2 = slottable.props.child;\n if (!React.isValidElement(child2)) return null;\n return React.cloneElement(child2, void 0, slottable.props.children(child2.props.children));\n }\n return React.isValidElement(child) ? child : null;\n}, \"getSlottableElementFromSlottable\");\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\n__name(mergeProps, \"mergeProps\");\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n__name(getElementRef, \"getElementRef\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\n__name(isSlottable, \"isSlottable\");\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nfunction isLazyComponent(element) {\n return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\n__name(isLazyComponent, \"isLazyComponent\");\nfunction isPromiseLike(value) {\n return typeof value === \"object\" && value !== null && \"then\" in value;\n}\n__name(isPromiseLike, \"isPromiseLike\");\nvar createSlotError = /* @__PURE__ */ __name((ownerName) => {\n return `${ownerName} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`;\n}, \"createSlotError\");\nvar createSlottableError = /* @__PURE__ */ __name((ownerName) => {\n return `${ownerName} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`;\n}, \"createSlottableError\");\nvar use = React[\" use \".trim().toString()];\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\n__name(dispatchDiscreteCustomEvent, \"dispatchDiscreteCustomEvent\");\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/collection-legacy.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = /* @__PURE__ */ __name((props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n }, \"CollectionProvider\");\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n __name(useCollection, \"useCollection\");\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\n__name(createCollection, \"createCollection\");\n\n// src/collection.tsx\nimport * as React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n static {\n __name(this, \"OrderedDict\");\n }\n #keys;\n constructor(entries) {\n super(entries);\n this.#keys = [...super.keys()];\n __instanciated.set(this, true);\n }\n set(key, value) {\n if (__instanciated.get(this)) {\n if (this.has(key)) {\n this.#keys[this.#keys.indexOf(key)] = key;\n } else {\n this.#keys.push(key);\n }\n }\n super.set(key, value);\n return this;\n }\n insert(index, key, value) {\n const has = this.has(key);\n const length = this.#keys.length;\n const relativeIndex = toSafeInteger(index);\n let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n this.set(key, value);\n return this;\n }\n const size = this.size + (has ? 0 : 1);\n if (relativeIndex < 0) {\n actualIndex++;\n }\n const keys = [...this.#keys];\n let nextValue;\n let shouldSkip = false;\n for (let i = actualIndex; i < size; i++) {\n if (actualIndex === i) {\n let nextKey = keys[i];\n if (keys[i] === key) {\n nextKey = keys[i + 1];\n }\n if (has) {\n this.delete(key);\n }\n nextValue = this.get(nextKey);\n this.set(key, value);\n } else {\n if (!shouldSkip && keys[i - 1] === key) {\n shouldSkip = true;\n }\n const currentKey = keys[shouldSkip ? i : i - 1];\n const currentValue = nextValue;\n nextValue = this.get(currentKey);\n this.delete(currentKey);\n this.set(currentKey, currentValue);\n }\n }\n return this;\n }\n with(index, key, value) {\n const copy = new _OrderedDict(this);\n copy.insert(index, key, value);\n return copy;\n }\n before(key) {\n const index = this.#keys.indexOf(key) - 1;\n if (index < 0) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position before the given key.\n */\n setBefore(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index, newKey, value);\n }\n after(key) {\n let index = this.#keys.indexOf(key);\n index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n if (index === -1) {\n return void 0;\n }\n return this.entryAt(index);\n }\n /**\n * Sets a new key-value pair at the position after the given key.\n */\n setAfter(key, newKey, value) {\n const index = this.#keys.indexOf(key);\n if (index === -1) {\n return this;\n }\n return this.insert(index + 1, newKey, value);\n }\n first() {\n return this.entryAt(0);\n }\n last() {\n return this.entryAt(-1);\n }\n clear() {\n this.#keys = [];\n return super.clear();\n }\n delete(key) {\n const deleted = super.delete(key);\n if (deleted) {\n this.#keys.splice(this.#keys.indexOf(key), 1);\n }\n return deleted;\n }\n deleteAt(index) {\n const key = this.keyAt(index);\n if (key !== void 0) {\n return this.delete(key);\n }\n return false;\n }\n at(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return this.get(key);\n }\n }\n entryAt(index) {\n const key = at(this.#keys, index);\n if (key !== void 0) {\n return [key, this.get(key)];\n }\n }\n indexOf(key) {\n return this.#keys.indexOf(key);\n }\n keyAt(index) {\n return at(this.#keys, index);\n }\n from(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.at(dest);\n }\n keyFrom(key, offset) {\n const index = this.indexOf(key);\n if (index === -1) {\n return void 0;\n }\n let dest = index + offset;\n if (dest < 0) dest = 0;\n if (dest >= this.size) dest = this.size - 1;\n return this.keyAt(dest);\n }\n find(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return entry;\n }\n index++;\n }\n return void 0;\n }\n findIndex(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return index;\n }\n index++;\n }\n return -1;\n }\n filter(predicate, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n entries.push(entry);\n }\n index++;\n }\n return new _OrderedDict(entries);\n }\n map(callbackfn, thisArg) {\n const entries = [];\n let index = 0;\n for (const entry of this) {\n entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n index++;\n }\n return new _OrderedDict(entries);\n }\n reduce(...args) {\n const [callbackfn, initialValue] = args;\n let index = 0;\n let accumulator = initialValue ?? this.at(0);\n for (const entry of this) {\n if (index === 0 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n index++;\n }\n return accumulator;\n }\n reduceRight(...args) {\n const [callbackfn, initialValue] = args;\n let accumulator = initialValue ?? this.at(-1);\n for (let index = this.size - 1; index >= 0; index--) {\n const entry = this.at(index);\n if (index === this.size - 1 && args.length === 1) {\n accumulator = entry;\n } else {\n accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n }\n }\n return accumulator;\n }\n toSorted(compareFn) {\n const entries = [...this.entries()].sort(compareFn);\n return new _OrderedDict(entries);\n }\n toReversed() {\n const reversed = new _OrderedDict();\n for (let index = this.size - 1; index >= 0; index--) {\n const key = this.keyAt(index);\n const element = this.get(key);\n reversed.set(key, element);\n }\n return reversed;\n }\n toSpliced(...args) {\n const entries = [...this.entries()];\n entries.splice(...args);\n return new _OrderedDict(entries);\n }\n slice(start, end) {\n const result = new _OrderedDict();\n let stop = this.size - 1;\n if (start === void 0) {\n return result;\n }\n if (start < 0) {\n start = start + this.size;\n }\n if (end !== void 0 && end > 0) {\n stop = end - 1;\n }\n for (let index = start; index <= stop; index++) {\n const key = this.keyAt(index);\n const element = this.get(key);\n result.set(key, element);\n }\n return result;\n }\n every(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return false;\n }\n index++;\n }\n return true;\n }\n some(predicate, thisArg) {\n let index = 0;\n for (const entry of this) {\n if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n return true;\n }\n index++;\n }\n return false;\n }\n};\nfunction at(array, index) {\n if (\"at\" in Array.prototype) {\n return Array.prototype.at.call(array, index);\n }\n const actualIndex = toSafeIndex(array, index);\n return actualIndex === -1 ? void 0 : array[actualIndex];\n}\n__name(at, \"at\");\nfunction toSafeIndex(array, index) {\n const length = array.length;\n const relativeIndex = toSafeInteger(index);\n const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\n__name(toSafeIndex, \"toSafeIndex\");\nfunction toSafeInteger(number) {\n return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n__name(toSafeInteger, \"toSafeInteger\");\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createCollection2(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n {\n collectionElement: null,\n collectionRef: { current: null },\n collectionRefObject: { current: null },\n itemMap: new OrderedDict(),\n setItemMap: /* @__PURE__ */ __name(() => void 0, \"setItemMap\")\n }\n );\n const CollectionProvider = /* @__PURE__ */ __name(({ state, ...props }) => {\n return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n }, \"CollectionProvider\");\n CollectionProvider.displayName = PROVIDER_NAME;\n const CollectionInit = /* @__PURE__ */ __name((props) => {\n const state = useInitCollection();\n return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n }, \"CollectionInit\");\n CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n const CollectionProviderImpl = /* @__PURE__ */ __name((props) => {\n const { scope, children, state } = props;\n const ref = React2.useRef(null);\n const [collectionElement, setCollectionElement] = React2.useState(\n null\n );\n const composeRefs = useComposedRefs2(ref, setCollectionElement);\n const [itemMap, setItemMap] = state;\n React2.useEffect(() => {\n if (!collectionElement) return;\n const observer = getChildListObserver(() => {\n });\n observer.observe(collectionElement, {\n childList: true,\n subtree: true\n });\n return () => {\n observer.disconnect();\n };\n }, [collectionElement]);\n return /* @__PURE__ */ jsx2(\n CollectionContextProvider,\n {\n scope,\n itemMap,\n setItemMap,\n collectionRef: composeRefs,\n collectionRefObject: ref,\n collectionElement,\n children\n }\n );\n }, \"CollectionProviderImpl\");\n CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n const CollectionSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n const CollectionItemSlot = React2.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React2.useRef(null);\n const [element, setElement] = React2.useState(null);\n const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n const { setItemMap } = context;\n const itemDataRef = React2.useRef(itemData);\n if (!shallowEqual(itemDataRef.current, itemData)) {\n itemDataRef.current = itemData;\n }\n const memoizedItemData = itemDataRef.current;\n React2.useEffect(() => {\n const itemData2 = memoizedItemData;\n setItemMap((map) => {\n if (!element) {\n return map;\n }\n if (!map.has(element)) {\n map.set(element, { ...itemData2, element });\n return map.toSorted(sortByDocumentPosition);\n }\n return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n });\n return () => {\n setItemMap((map) => {\n if (!element || !map.has(element)) {\n return map;\n }\n map.delete(element);\n return new OrderedDict(map);\n });\n };\n }, [element, memoizedItemData, setItemMap]);\n return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useInitCollection() {\n return React2.useState(new OrderedDict());\n }\n __name(useInitCollection, \"useInitCollection\");\n function useCollection(scope) {\n const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n return itemMap;\n }\n __name(useCollection, \"useCollection\");\n const functions = {\n createCollectionScope,\n useCollection,\n useInitCollection\n };\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n functions\n ];\n}\n__name(createCollection2, \"createCollection\");\nfunction shallowEqual(a, b) {\n if (a === b) return true;\n if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n if (a == null || b == null) return false;\n const keysA = Object.keys(a);\n const keysB = Object.keys(b);\n if (keysA.length !== keysB.length) return false;\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (a[key] !== b[key]) return false;\n }\n return true;\n}\n__name(shallowEqual, \"shallowEqual\");\nfunction isElementPreceding(a, b) {\n return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\n__name(isElementPreceding, \"isElementPreceding\");\nfunction sortByDocumentPosition(a, b) {\n return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\n__name(sortByDocumentPosition, \"sortByDocumentPosition\");\nfunction getChildListObserver(callback) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n callback();\n return;\n }\n }\n });\n return observer;\n}\n__name(getChildListObserver, \"getChildListObserver\");\nexport {\n createCollection,\n createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = /* @__PURE__ */ __name((props) => {\n const { dir, children } = props;\n return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n}, \"DirectionProvider\");\nfunction useDirection(localDir) {\n const globalDir = React.useContext(DirectionContext);\n return localDir || globalDir || \"ltr\";\n}\n__name(useDirection, \"useDirection\");\nvar Provider = DirectionProvider;\nexport {\n DirectionProvider,\n Provider,\n useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => ((...args) => callbackRef.current?.(...args)), []);\n}\n__name(useCallbackRef, \"useCallbackRef\");\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set(),\n // Outside elements that belong to a layer's own dismiss affordance (eg, a\n // dialog overlay). Pressing them should dismiss the layer regardless of\n // whether or not they stop propagation.\n //\n // See https://github.com/radix-ui/primitives/issues/3346\n dismissableSurfaces: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DismissableLayer2(props, forwardedRef) {\n const {\n disableOutsidePointerEvents = false,\n deferPointerDownOutside = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, setNode);\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [\n ...context.layersWithOutsidePointerEventsDisabled\n ].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = highestLayerWithOutsidePointerEventsDisabled ? layers.indexOf(highestLayerWithOutsidePointerEventsDisabled) : -1;\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const isDeferredPointerDownOutsideRef = React.useRef(false);\n const pointerDownOutside = usePointerDownOutside(\n (event) => {\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n },\n {\n ownerDocument,\n deferPointerDownOutside,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces: context.dismissableSurfaces,\n shouldHandlePointerDownOutside: React.useCallback(\n (target) => {\n if (!(target instanceof Node)) {\n return false;\n }\n const isPointerDownOnBranch = [...context.branches].some(\n (branch) => branch.contains(target)\n );\n return isPointerEventsEnabled && !isPointerDownOnBranch;\n },\n [context.branches, isPointerEventsEnabled]\n )\n }\n );\n const focusOutside = useFocusOutside((event) => {\n if (deferPointerDownOutside && isDeferredPointerDownOutsideRef.current) {\n return;\n }\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const isHighestLayer = node ? index === layers.length - 1 : false;\n const handleKeyDown = useCallbackRef((event) => {\n if (event.key !== \"Escape\") {\n return;\n }\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n });\n React.useEffect(() => {\n if (!isHighestLayer) {\n return;\n }\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [ownerDocument, isHighestLayer, handleKeyDown]);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents) {\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = /* @__PURE__ */ __name(() => force({}), \"handleUpdate\");\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }, \"DismissableLayer\")\n);\nvar DismissableLayerBranch = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function DismissableLayerBranch2(props, forwardedRef) {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n}, \"DismissableLayerBranch\"));\nfunction useDismissableLayerSurface() {\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n React.useEffect(() => {\n if (!node) {\n return;\n }\n context.dismissableSurfaces.add(node);\n return () => {\n context.dismissableSurfaces.delete(node);\n };\n }, [node, context.dismissableSurfaces]);\n return setNode;\n}\n__name(useDismissableLayerSurface, \"useDismissableLayerSurface\");\nvar IS_TRUE = /* @__PURE__ */ __name(() => true, \"IS_TRUE\");\nfunction usePointerDownOutside(onPointerDownOutside, args) {\n const {\n ownerDocument = globalThis?.document,\n deferPointerDownOutside = false,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces,\n shouldHandlePointerDownOutside = IS_TRUE\n } = args;\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const isPointerDownOutsideRef = React.useRef(false);\n const interceptedOutsideInteractionEventsRef = React.useRef(/* @__PURE__ */ new Map());\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n function resetOutsideInteraction() {\n isPointerDownOutsideRef.current = false;\n isDeferredPointerDownOutsideRef.current = false;\n interceptedOutsideInteractionEventsRef.current.clear();\n }\n __name(resetOutsideInteraction, \"resetOutsideInteraction\");\n function isOutsideInteractionIntercepted() {\n return Array.from(interceptedOutsideInteractionEventsRef.current.values()).some(Boolean);\n }\n __name(isOutsideInteractionIntercepted, \"isOutsideInteractionIntercepted\");\n function handleInteractionCapture(event) {\n if (!isPointerDownOutsideRef.current) {\n return;\n }\n const target = event.target;\n const isDismissableSurface = target instanceof Node && [...dismissableSurfaces].some((surface) => surface.contains(target));\n if (!isDismissableSurface) {\n interceptedOutsideInteractionEventsRef.current.set(event.type, true);\n }\n if (event.type === \"click\") {\n window.setTimeout(() => {\n if (isPointerDownOutsideRef.current) {\n handleClickRef.current();\n }\n }, 0);\n }\n }\n __name(handleInteractionCapture, \"handleInteractionCapture\");\n function handleInteractionBubble(event) {\n if (isPointerDownOutsideRef.current) {\n interceptedOutsideInteractionEventsRef.current.set(event.type, false);\n }\n }\n __name(handleInteractionBubble, \"handleInteractionBubble\");\n const handlePointerDown = /* @__PURE__ */ __name((event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n const wasOutsideInteractionIntercepted = isOutsideInteractionIntercepted();\n resetOutsideInteraction();\n if (!wasOutsideInteractionIntercepted) {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n }\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n __name(handleAndDispatchPointerDownOutsideEvent2, \"handleAndDispatchPointerDownOutsideEvent\");\n if (!shouldHandlePointerDownOutside(event.target)) {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n resetOutsideInteraction();\n isPointerInsideReactTreeRef.current = false;\n return;\n }\n const eventDetail = { originalEvent: event };\n isPointerDownOutsideRef.current = true;\n isDeferredPointerDownOutsideRef.current = deferPointerDownOutside && event.button === 0;\n interceptedOutsideInteractionEventsRef.current.clear();\n if (!deferPointerDownOutside || event.button !== 0) {\n handleAndDispatchPointerDownOutsideEvent2();\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n resetOutsideInteraction();\n }\n isPointerInsideReactTreeRef.current = false;\n }, \"handlePointerDown\");\n const outsideInteractionEvents = [\n \"pointerup\",\n \"mousedown\",\n \"mouseup\",\n \"touchstart\",\n \"touchend\",\n \"click\"\n ];\n for (const eventName of outsideInteractionEvents) {\n ownerDocument.addEventListener(eventName, handleInteractionCapture, true);\n ownerDocument.addEventListener(eventName, handleInteractionBubble);\n }\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n for (const eventName of outsideInteractionEvents) {\n ownerDocument.removeEventListener(eventName, handleInteractionCapture, true);\n ownerDocument.removeEventListener(eventName, handleInteractionBubble);\n }\n };\n }, [\n ownerDocument,\n handlePointerDownOutside,\n deferPointerDownOutside,\n isDeferredPointerDownOutsideRef,\n dismissableSurfaces,\n shouldHandlePointerDownOutside\n ]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: /* @__PURE__ */ __name(() => isPointerInsideReactTreeRef.current = true, \"onPointerDownCapture\")\n };\n}\n__name(usePointerDownOutside, \"usePointerDownOutside\");\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = /* @__PURE__ */ __name((event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n }, \"handleFocus\");\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: /* @__PURE__ */ __name(() => isFocusInsideReactTreeRef.current = true, \"onFocusCapture\"),\n onBlurCapture: /* @__PURE__ */ __name(() => isFocusInsideReactTreeRef.current = false, \"onBlurCapture\")\n };\n}\n__name(useFocusOutside, \"useFocusOutside\");\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\n__name(dispatchUpdate, \"dispatchUpdate\");\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\n__name(handleAndDispatchCustomEvent, \"handleAndDispatchCustomEvent\");\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root,\n useDismissableLayerSurface\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nvar guards = null;\nfunction FocusGuards(props) {\n useFocusGuards();\n return props.children;\n}\n__name(FocusGuards, \"FocusGuards\");\nfunction useFocusGuards() {\n React.useEffect(() => {\n if (!guards) {\n guards = { start: createFocusGuard(), end: createFocusGuard() };\n }\n const { start, end } = guards;\n if (document.body.firstElementChild !== start) {\n document.body.insertAdjacentElement(\"afterbegin\", start);\n }\n if (document.body.lastElementChild !== end) {\n document.body.insertAdjacentElement(\"beforeend\", end);\n }\n count++;\n return () => {\n if (count === 1) {\n guards?.start.remove();\n guards?.end.remove();\n guards = null;\n }\n count = Math.max(0, count - 1);\n };\n }, []);\n}\n__name(useFocusGuards, \"useFocusGuards\");\nfunction createFocusGuard() {\n const element = document.createElement(\"span\");\n element.setAttribute(\"data-radix-focus-guard\", \"\");\n element.tabIndex = 0;\n element.style.outline = \"none\";\n element.style.opacity = \"0\";\n element.style.position = \"fixed\";\n element.style.pointerEvents = \"none\";\n return element;\n}\n__name(createFocusGuard, \"createFocusGuard\");\nexport {\n FocusGuards,\n FocusGuards as Root,\n useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FocusScope = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function FocusScope2(props, forwardedRef) {\n const {\n loop = false,\n trapped = false,\n onMountAutoFocus: onMountAutoFocusProp,\n onUnmountAutoFocus: onUnmountAutoFocusProp,\n ...scopeProps\n } = props;\n const [container, setContainer] = React.useState(null);\n const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n const lastFocusedElementRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, setContainer);\n const focusScope = React.useRef({\n paused: false,\n pause() {\n this.paused = true;\n },\n resume() {\n this.paused = false;\n }\n }).current;\n React.useEffect(() => {\n if (trapped) {\n let handleFocusIn2 = function(event) {\n if (focusScope.paused || !container) return;\n const target = event.target;\n if (container.contains(target)) {\n lastFocusedElementRef.current = target;\n } else {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleFocusOut2 = function(event) {\n if (focusScope.paused || !container) return;\n const relatedTarget = event.relatedTarget;\n if (relatedTarget === null) return;\n if (!container.contains(relatedTarget)) {\n focus(lastFocusedElementRef.current, { select: true });\n }\n }, handleMutations2 = function(mutations) {\n const focusedElement = document.activeElement;\n if (focusedElement !== document.body) return;\n for (const mutation of mutations) {\n if (mutation.removedNodes.length > 0) focus(container);\n }\n };\n var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n __name(handleFocusIn2, \"handleFocusIn\");\n __name(handleFocusOut2, \"handleFocusOut\");\n __name(handleMutations2, \"handleMutations\");\n document.addEventListener(\"focusin\", handleFocusIn2);\n document.addEventListener(\"focusout\", handleFocusOut2);\n const mutationObserver = new MutationObserver(handleMutations2);\n if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n return () => {\n document.removeEventListener(\"focusin\", handleFocusIn2);\n document.removeEventListener(\"focusout\", handleFocusOut2);\n mutationObserver.disconnect();\n };\n }\n }, [trapped, container, focusScope.paused]);\n React.useEffect(() => {\n if (container) {\n focusScopesStack.add(focusScope);\n const previouslyFocusedElement = document.activeElement;\n const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n if (!hasFocusedCandidate) {\n const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n container.dispatchEvent(mountEvent);\n if (!mountEvent.defaultPrevented) {\n focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n if (document.activeElement === previouslyFocusedElement) {\n focus(container);\n }\n }\n }\n return () => {\n container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n setTimeout(() => {\n const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n container.dispatchEvent(unmountEvent);\n if (!unmountEvent.defaultPrevented) {\n focus(previouslyFocusedElement ?? document.body, { select: true });\n }\n container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n focusScopesStack.remove(focusScope);\n }, 0);\n };\n }\n }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n const handleKeyDown = React.useCallback(\n (event) => {\n if (!loop && !trapped) return;\n if (focusScope.paused) return;\n const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n const focusedElement = document.activeElement;\n if (isTabKey && focusedElement) {\n const container2 = event.currentTarget;\n const [first, last] = getTabbableEdges(container2);\n const hasTabbableElementsInside = first && last;\n if (!hasTabbableElementsInside) {\n if (focusedElement === container2) event.preventDefault();\n } else {\n if (!event.shiftKey && focusedElement === last) {\n event.preventDefault();\n if (loop) focus(first, { select: true });\n } else if (event.shiftKey && focusedElement === first) {\n event.preventDefault();\n if (loop) focus(last, { select: true });\n }\n }\n }\n },\n [loop, trapped, focusScope.paused]\n );\n return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n }, \"FocusScope\")\n);\nfunction focusFirst(candidates, { select = false } = {}) {\n const previouslyFocusedElement = document.activeElement;\n for (const candidate of candidates) {\n focus(candidate, { select });\n if (document.activeElement !== previouslyFocusedElement) return;\n }\n}\n__name(focusFirst, \"focusFirst\");\nfunction getTabbableEdges(container) {\n const candidates = getTabbableCandidates(container);\n const first = findVisible(candidates, container);\n const last = findVisible(candidates.reverse(), container);\n return [first, last];\n}\n__name(getTabbableEdges, \"getTabbableEdges\");\nfunction getTabbableCandidates(container) {\n const nodes = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: /* @__PURE__ */ __name((node) => {\n const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n }, \"acceptNode\")\n });\n while (walker.nextNode()) nodes.push(walker.currentNode);\n return nodes;\n}\n__name(getTabbableCandidates, \"getTabbableCandidates\");\nfunction findVisible(elements, container) {\n const canUseCheckVisibility = typeof container.checkVisibility === \"function\" && container.checkVisibility({ checkVisibilityCSS: true });\n for (const element of elements) {\n const hidden = canUseCheckVisibility ? !element.checkVisibility({ checkVisibilityCSS: true }) : isHidden(element, { upTo: container });\n if (!hidden) {\n return element;\n }\n }\n}\n__name(findVisible, \"findVisible\");\nfunction isHidden(node, { upTo }) {\n if (getComputedStyle(node).visibility === \"hidden\") return true;\n while (node) {\n if (upTo !== void 0 && node === upTo) return false;\n if (getComputedStyle(node).display === \"none\") return true;\n node = node.parentElement;\n }\n return false;\n}\n__name(isHidden, \"isHidden\");\nfunction isSelectableInput(element) {\n return element instanceof HTMLInputElement && \"select\" in element;\n}\n__name(isSelectableInput, \"isSelectableInput\");\nfunction focus(element, { select = false } = {}) {\n if (element && element.focus) {\n const previouslyFocusedElement = document.activeElement;\n element.focus({ preventScroll: true });\n if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n element.select();\n }\n}\n__name(focus, \"focus\");\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n let stack = [];\n return {\n add(focusScope) {\n const activeFocusScope = stack[0];\n if (focusScope !== activeFocusScope) {\n activeFocusScope?.pause();\n }\n stack = arrayRemove(stack, focusScope);\n stack.unshift(focusScope);\n },\n remove(focusScope) {\n stack = arrayRemove(stack, focusScope);\n stack[0]?.resume();\n }\n };\n}\n__name(createFocusScopesStack, \"createFocusScopesStack\");\nfunction arrayRemove(array, item) {\n const updatedArray = [...array];\n const index = updatedArray.indexOf(item);\n if (index !== -1) {\n updatedArray.splice(index, 1);\n }\n return updatedArray;\n}\n__name(arrayRemove, \"arrayRemove\");\nfunction removeLinks(items) {\n return items.filter((item) => item.tagName !== \"A\");\n}\n__name(removeLinks, \"removeLinks\");\nvar Root = FocusScope;\nexport {\n FocusScope,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\n__name(useId, \"useId\");\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\n__name(useSize, \"useSize\");\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = /* @__PURE__ */ __name((props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n const [placementState, setPlacementState] = React.useState(void 0);\n return /* @__PURE__ */ jsx(\n PopperProvider,\n {\n scope: __scopePopper,\n anchor,\n onAnchorChange: setAnchor,\n placementState,\n setPlacementState,\n children\n }\n );\n}, \"Popper\");\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function PopperAnchor2(props, forwardedRef) {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const onAnchorChange = context.onAnchorChange;\n const callbackRef = React.useCallback(\n (node) => {\n ref.current = node;\n if (node) {\n onAnchorChange(node);\n }\n },\n [onAnchorChange]\n );\n const composedRefs = useComposedRefs(forwardedRef, callbackRef);\n const anchorRef = React.useRef(null);\n React.useEffect(() => {\n if (!virtualRef) {\n return;\n }\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef.current;\n if (previousAnchor !== anchorRef.current) {\n onAnchorChange(anchorRef.current);\n }\n });\n const sideAndAlign = context.placementState && getSideAndAlignFromPlacement(context.placementState);\n const placedSide = sideAndAlign?.[0];\n const placedAlign = sideAndAlign?.[1];\n return virtualRef ? null : /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-popper-side\": placedSide,\n \"data-radix-popper-align\": placedAlign,\n ...anchorProps,\n ref: composedRefs\n }\n );\n }, \"PopperAnchor\")\n);\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function PopperContent2(props, forwardedRef) {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, setContent);\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: /* @__PURE__ */ __name((...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n }, \"whileElementsMounted\"),\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: /* @__PURE__ */ __name(({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }, \"apply\")\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({\n strategy: \"referenceHidden\",\n ...detectOverflowOptions,\n // `hide` detects whether the anchor (reference) is clipped, so when\n // no explicit `collisionBoundary` is set we fall back to Floating\n // UI's default clipping ancestors (e.g. a scrollable menu). This\n // lets an occluded submenu hide once its anchor scrolls out of view\n // (#3237). The collision/size middlewares deliberately keep the\n // viewport-based default to avoid clamping content rendered inside\n // transformed or overflow-clipping portal containers.\n boundary: hasExplicitBoundaries ? detectOverflowOptions.boundary : void 0\n })\n ]\n });\n const setPlacementState = context.setPlacementState;\n useLayoutEffect(() => {\n setPlacementState(placement);\n return () => {\n setPlacementState(void 0);\n };\n }, [placement, setPlacementState]);\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n \"--radix-popper-transform-origin\": [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n placedAlign,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all\n // measurements done) we prevent animations so that users'\n // animations don't kick in too early from the wrong sides.\n animation: !isPositioned ? \"none\" : contentProps.style?.animation\n }\n }\n )\n }\n )\n }\n );\n }, \"PopperContent\")\n);\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n }, \"PopperArrow\")\n);\nfunction isNotNull(value) {\n return value !== null;\n}\n__name(isNotNull, \"isNotNull\");\nvar transformOrigin = /* @__PURE__ */ __name((options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n}), \"transformOrigin\");\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\n__name(getSideAndAlignFromPlacement, \"getSideAndAlignFromPlacement\");\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar Portal = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function Portal2(props, forwardedRef) {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n }, \"Portal\")\n);\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n__name(useStateMachine, \"useStateMachine\");\n\n// src/presence.tsx\nvar Presence = /* @__PURE__ */ __name((props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useStableComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n}, \"Presence\");\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const mountAnimationNameRef = React2.useRef(void 0);\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n if (state === \"mounted\") {\n prevAnimationNameRef.current = mountAnimationNameRef.current ?? getAnimationName(stylesRef.current);\n mountAnimationNameRef.current = void 0;\n } else {\n prevAnimationNameRef.current = \"none\";\n }\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n mountAnimationNameRef.current = currentAnimationName;\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = /* @__PURE__ */ __name((event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n }, \"handleAnimationEnd\");\n const handleAnimationStart = /* @__PURE__ */ __name((event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n }, \"handleAnimationStart\");\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) {\n const styles = getComputedStyle(node2);\n stylesRef.current = styles;\n mountAnimationNameRef.current = getAnimationName(styles);\n } else {\n stylesRef.current = null;\n }\n setNode(node2);\n }, [])\n };\n}\n__name(usePresence, \"usePresence\");\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\n__name(setRef, \"setRef\");\nfunction useStableComposedRefs(...refs) {\n const refsRef = React2.useRef(refs);\n refsRef.current = refs;\n return React2.useCallback((node) => {\n const currentRefs = refsRef.current;\n let hasCleanup = false;\n const cleanups = currentRefs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup === \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup === \"function\") {\n cleanup();\n } else {\n setRef(currentRefs[i], null);\n }\n }\n };\n }\n }, []);\n}\n__name(useStableComposedRefs, \"useStableComposedRefs\");\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\n__name(getAnimationName, \"getAnimationName\");\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\n__name(getElementRef, \"getElementRef\");\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-effect-event.tsx\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport * as React from \"react\";\nvar useReactEffectEvent = React[\" useEffectEvent \".trim().toString()];\nvar useReactInsertionEffect = React[\" useInsertionEffect \".trim().toString()];\nfunction useEffectEvent(callback) {\n if (typeof useReactEffectEvent === \"function\") {\n return useReactEffectEvent(callback);\n }\n const ref = React.useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n if (typeof useReactInsertionEffect === \"function\") {\n useReactInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n useLayoutEffect(() => {\n ref.current = callback;\n });\n }\n return React.useMemo(() => ((...args) => ref.current?.(...args)), []);\n}\n__name(useEffectEvent, \"useEffectEvent\");\nexport {\n useEffectEvent\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { IS_DEVELOPMENT } from \"@radix-ui/primitive/is-development\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = /* @__PURE__ */ __name(() => {\n }, \"onChange\"),\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (IS_DEVELOPMENT) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\n__name(useControllableState, \"useControllableState\");\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\n__name(useUncontrolledState, \"useUncontrolledState\");\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n__name(isFunction, \"isFunction\");\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { IS_DEVELOPMENT as IS_DEVELOPMENT2 } from \"@radix-ui/primitive/is-development\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (IS_DEVELOPMENT2) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\n__name(useControllableStateReducer, \"useControllableStateReducer\");\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/use-is-hydrated.tsx\nimport * as React2 from \"react\";\n\n// src/use-is-hydrated-legacy.ts\nimport * as React from \"react\";\nvar _isHydrated = false;\nfunction useIsHydrated() {\n const [isHydrated, setIsHydrated] = React.useState(_isHydrated);\n React.useEffect(() => {\n if (!_isHydrated) {\n _isHydrated = true;\n setIsHydrated(true);\n }\n }, []);\n return isHydrated;\n}\n__name(useIsHydrated, \"useIsHydrated\");\n\n// src/use-is-hydrated.tsx\nvar useReactSyncExternalStore = React2[\" useSyncExternalStore \".trim().toString()];\nfunction subscribe() {\n return () => {\n };\n}\n__name(subscribe, \"subscribe\");\nfunction useIsHydratedModern() {\n return useReactSyncExternalStore(\n subscribe,\n () => true,\n () => false\n );\n}\n__name(useIsHydratedModern, \"useIsHydratedModern\");\nvar useIsHydrated2 = typeof useReactSyncExternalStore === \"function\" ? useIsHydratedModern : useIsHydrated;\nexport {\n useIsHydrated2 as useIsHydrated\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useIsHydrated } from \"@radix-ui/react-use-is-hydrated\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function RovingFocusGroup2(props, forwardedRef) {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }, \"RovingFocusGroup\")\n);\nvar RovingFocusGroupImpl = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function RovingFocusGroupImpl2(props, forwardedRef) {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n}, \"RovingFocusGroupImpl\"));\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function RovingFocusGroupItem2(props, forwardedRef) {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n const isHydrated = useIsHydrated();\n useLayoutEffect(() => {\n if (!isHydrated || !focusable) {\n return;\n }\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }, [isHydrated, focusable, onFocusableItemAdd, onFocusableItemRemove]);\n React.useEffect(() => {\n if (isHydrated || !focusable) {\n return;\n }\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }, [isHydrated, focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n }),\n children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n }\n )\n }\n );\n }, \"RovingFocusGroupItem\")\n);\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\n__name(getDirectionAwareKey, \"getDirectionAwareKey\");\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n__name(getFocusIntent, \"getFocusIntent\");\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n__name(focusFirst, \"focusFirst\");\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n__name(wrapArray, \"wrapArray\");\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing,\n }), callbacks = _a[0], setCallbacks = _a[1];\n var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n var containerProps = __assign(__assign({}, rest), callbacks);\n return (React.createElement(React.Fragment, null,\n enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false,\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function () {\n passiveSupported = true;\n return true;\n },\n });\n // @ts-ignore\n window.addEventListener('test', options, options);\n // @ts-ignore\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n // textarea will always _contain_ scroll inside self. It only can be hidden\n return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n if (!(node instanceof Element)) {\n return false;\n }\n var styles = window.getComputedStyle(node);\n return (\n // not-not-scrollable\n styles[overflow] !== 'hidden' &&\n // contains scroll inside self\n !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n var ownerDocument = node.ownerDocument;\n var current = node;\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n current = current.host;\n }\n var isScrollable = elementCouldBeScrolled(axis, current);\n if (isScrollable) {\n var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n if (scrollHeight > clientHeight) {\n return true;\n }\n }\n current = current.parentNode;\n } while (current && current !== ownerDocument.body);\n return false;\n};\nvar getVScrollVariables = function (_a) {\n var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n return [\n scrollTop,\n scrollHeight,\n clientHeight,\n ];\n};\nvar getHScrollVariables = function (_a) {\n var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n return [\n scrollLeft,\n scrollWidth,\n clientWidth,\n ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n /**\n * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n * and then increasingly negative as you scroll towards the end of the content.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n */\n return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n var delta = directionFactor * sourceDelta;\n // find scrollable target\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n do {\n if (!target) {\n break;\n }\n var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n var elementScroll = scroll_1 - capacity - directionFactor * position;\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n var parent_1 = target.parentNode;\n // we will \"bubble\" from ShadowDom in case we are, or just to the parent in normal case\n // this is the same logic used in focus-lock\n target = (parent_1 && parent_1.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? parent_1.host : parent_1);\n } while (\n // portaled content\n (!targetInLock && target !== document.body) ||\n // self content\n (targetInLock && (endTarget.contains(target) || endTarget === target)));\n // handle epsilon around 0 (non standard zoom levels)\n if (isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n shouldCancelScroll = true;\n }\n else if (!isDeltaPositive &&\n ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n shouldCancelScroll = true;\n }\n return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(styleSingleton)[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\".concat(id));\n var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n return function () {\n document.body.classList.remove(\"block-interactivity-\".concat(id));\n allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n };\n }\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n return !lastProps.current.allowPinchZoom;\n }\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n // allow horizontal touch move on Range inputs. They will not cause any scroll\n if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n return false;\n }\n // allow drag selection (iOS); check if selection's anchorNode is the same as target or contains target\n var selection = window.getSelection();\n var anchorNode = selection && selection.anchorNode;\n var isTouchingSelection = anchorNode ? anchorNode === target || anchorNode.contains(target) : false;\n if (isTouchingSelection) {\n return false;\n }\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n }\n else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n // other axis might be not scrollable\n }\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n if (!currentAxis) {\n return true;\n }\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n // self event, and should be canceled\n if (sourceEvent && sourceEvent.should) {\n if (event.cancelable) {\n event.preventDefault();\n }\n return;\n }\n // outside or shard event\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || [])\n .map(extractRef)\n .filter(Boolean)\n .filter(function (node) { return node.contains(event.target); });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n if (shouldStop) {\n if (event.cancelable) {\n event.preventDefault();\n }\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove,\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar, inert = props.inert;\n return (React.createElement(React.Fragment, null,\n inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n removeScrollBar ? React.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n var shadowParent = null;\n while (node !== null) {\n if (node instanceof ShadowRoot) {\n shadowParent = node.host;\n node = node.host;\n }\n node = node.parentNode;\n }\n return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n ltr: [\"ArrowLeft\"],\n rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n createCollectionScope,\n createPopperScope,\n createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = /* @__PURE__ */ __name((props) => {\n const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n const popperScope = usePopperScope(__scopeMenu);\n const [content, setContent] = React.useState(null);\n const isUsingKeyboardRef = React.useRef(false);\n const handleOpenChange = useCallbackRef(onOpenChange);\n const direction = useDirection(dir);\n React.useEffect(() => {\n const handleKeyDown = /* @__PURE__ */ __name(() => {\n isUsingKeyboardRef.current = true;\n document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n }, \"handleKeyDown\");\n const handlePointer = /* @__PURE__ */ __name(() => isUsingKeyboardRef.current = false, \"handlePointer\");\n document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n };\n }, []);\n React.useEffect(() => {\n if (!open) {\n return;\n }\n const handleBlur = /* @__PURE__ */ __name(() => handleOpenChange(false), \"handleBlur\");\n window.addEventListener(\"blur\", handleBlur);\n return () => window.removeEventListener(\"blur\", handleBlur);\n }, [open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuRootProvider,\n {\n scope: __scopeMenu,\n onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n isUsingKeyboardRef,\n dir: direction,\n modal,\n children\n }\n )\n }\n ) });\n}, \"Menu\");\nvar MenuAnchor = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuAnchor2(props, forwardedRef) {\n const { __scopeMenu, ...anchorProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n }, \"MenuAnchor\")\n);\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar MenuPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeMenu, forceMount, children, container } = props;\n const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n}, \"MenuPortal\");\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuContent2(props, forwardedRef) {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n }, \"MenuContent\")\n);\nvar MenuRootContentModal = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function MenuRootContentModal2(props, forwardedRef) {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const content = ref.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\n disableOutsideScroll: true,\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n ),\n onDismiss: () => context.onOpenChange(false)\n }\n );\n }, \"MenuRootContentModal\")\n);\nvar MenuRootContentNonModal = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function MenuRootContentNonModal2(props, forwardedRef) {\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n return /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n onDismiss: () => context.onOpenChange(false)\n }\n );\n}, \"MenuRootContentNonModal\"));\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function MenuContentImpl2(props, forwardedRef) {\n const {\n __scopeMenu,\n loop = false,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEntryFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n disableOutsideScroll,\n ...contentProps\n } = props;\n const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const getItems = useCollection(__scopeMenu);\n const [currentItemId, setCurrentItemId] = React.useState(null);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n const timerRef = React.useRef(0);\n const searchRef = React.useRef(\"\");\n const pointerGraceTimerRef = React.useRef(0);\n const pointerGraceIntentRef = React.useRef(null);\n const pointerDirRef = React.useRef(\"right\");\n const lastPointerXRef = React.useRef(0);\n const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n const handleTypeaheadSearch = /* @__PURE__ */ __name((key) => {\n const search = searchRef.current + key;\n const items = getItems().filter((item) => !item.disabled);\n const currentItem = document.activeElement;\n const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n const values = items.map((item) => item.textValue);\n const nextMatch = getNextMatch(values, search, currentMatch);\n const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n (/* @__PURE__ */ __name((function updateSearch(value) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n }), \"updateSearch\"))(search);\n if (newItem) {\n setTimeout(() => newItem.focus());\n }\n }, \"handleTypeaheadSearch\");\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n useFocusGuards();\n const isPointerMovingToSubmenu = React.useCallback((event) => {\n const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n }, []);\n return /* @__PURE__ */ jsx(\n MenuContentProvider,\n {\n scope: __scopeMenu,\n searchRef,\n onItemEnter: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n onItemLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) return;\n contentRef.current?.focus();\n setCurrentItemId(null);\n },\n [isPointerMovingToSubmenu]\n ),\n onTriggerLeave: React.useCallback(\n (event) => {\n if (isPointerMovingToSubmenu(event)) event.preventDefault();\n },\n [isPointerMovingToSubmenu]\n ),\n pointerGraceTimerRef,\n onPointerGraceIntentChange: React.useCallback((intent) => {\n pointerGraceIntentRef.current = intent;\n }, []),\n children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n trapped: trapFocus,\n onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n event.preventDefault();\n contentRef.current?.focus({ preventScroll: true });\n }),\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n children: /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n dir: rootContext.dir,\n orientation: \"vertical\",\n loop,\n currentTabStopId: currentItemId,\n onCurrentTabStopIdChange: setCurrentItemId,\n onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n }),\n preventScrollOnEntryFocus: true,\n children: /* @__PURE__ */ jsx(\n PopperPrimitive.Content,\n {\n role: \"menu\",\n \"aria-orientation\": \"vertical\",\n \"data-state\": getOpenState(context.open),\n \"data-radix-menu-content\": \"\",\n dir: rootContext.dir,\n ...popperScope,\n ...contentProps,\n ref: composedRefs,\n style: { outline: \"none\", ...contentProps.style },\n onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n const target = event.target;\n const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n const isCharacterKey = event.key.length === 1;\n if (isKeyDownInside) {\n if (event.key === \"Tab\") event.preventDefault();\n if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n }\n const content = contentRef.current;\n if (event.target !== content) return;\n if (!FIRST_LAST_KEYS.includes(event.key)) return;\n event.preventDefault();\n const items = getItems().filter((item) => !item.disabled);\n const candidateNodes = items.map((item) => item.ref.current);\n if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n focusFirst(candidateNodes);\n }),\n onBlur: composeEventHandlers(props.onBlur, (event) => {\n if (!event.currentTarget.contains(event.target)) {\n window.clearTimeout(timerRef.current);\n searchRef.current = \"\";\n }\n }),\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n const target = event.target;\n const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n if (event.currentTarget.contains(target) && pointerXHasChanged) {\n const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n pointerDirRef.current = newDir;\n lastPointerXRef.current = event.clientX;\n }\n })\n )\n }\n )\n }\n )\n }\n )\n }\n ) })\n }\n );\n }, \"MenuContentImpl\")\n);\nvar MenuGroup = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuGroup2(props, forwardedRef) {\n const { __scopeMenu, ...groupProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n }, \"MenuGroup\")\n);\nvar MenuLabel = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuLabel2(props, forwardedRef) {\n const { __scopeMenu, ...labelProps } = props;\n return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n }, \"MenuLabel\")\n);\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function MenuItem2(props, forwardedRef) {\n const { disabled = false, onSelect, ...itemProps } = props;\n const ref = React.useRef(null);\n const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const isPointerDownRef = React.useRef(false);\n const handleSelect = /* @__PURE__ */ __name(() => {\n const menuItem = ref.current;\n if (!disabled && menuItem) {\n const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n if (itemSelectEvent.defaultPrevented) {\n isPointerDownRef.current = false;\n } else {\n rootContext.onClose();\n }\n }\n }, \"handleSelect\");\n return /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n ...itemProps,\n ref: composedRefs,\n disabled,\n onClick: composeEventHandlers(props.onClick, handleSelect),\n onPointerDown: (event) => {\n props.onPointerDown?.(event);\n isPointerDownRef.current = true;\n },\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n if (!isPointerDownRef.current) event.currentTarget?.click();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (disabled || event.target !== event.currentTarget) {\n return;\n }\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (isTypingAhead && event.key === \" \") {\n return;\n }\n if (SELECTION_KEYS.includes(event.key)) {\n event.currentTarget.click();\n event.preventDefault();\n }\n })\n }\n );\n }, \"MenuItem\")\n);\nvar MenuItemImpl = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuItemImpl2(props, forwardedRef) {\n const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [isFocused, setIsFocused] = React.useState(false);\n const [textContent, setTextContent] = React.useState(\"\");\n React.useEffect(() => {\n const menuItem = ref.current;\n if (menuItem) {\n setTextContent((menuItem.textContent ?? \"\").trim());\n }\n }, [itemProps.children]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeMenu,\n disabled,\n textValue: textValue ?? textContent,\n children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"menuitem\",\n \"data-highlighted\": isFocused ? \"\" : void 0,\n \"aria-disabled\": disabled || void 0,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...itemProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n if (disabled) {\n contentContext.onItemLeave(event);\n } else {\n contentContext.onItemEnter(event);\n if (!event.defaultPrevented) {\n const item = event.currentTarget;\n item.focus({ preventScroll: true });\n }\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => contentContext.onItemLeave(event))\n ),\n onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n }\n ) })\n }\n );\n }, \"MenuItemImpl\")\n);\nvar MenuCheckboxItem = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function MenuCheckboxItem2(props, forwardedRef) {\n const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemcheckbox\",\n \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n ...checkboxItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n checkboxItemProps.onSelect,\n () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }, \"MenuCheckboxItem\")\n);\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n RADIO_GROUP_NAME,\n { value: void 0, onValueChange: /* @__PURE__ */ __name(() => {\n }, \"onValueChange\") }\n);\nvar MenuRadioGroup = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuRadioGroup2(props, forwardedRef) {\n const { value, onValueChange, ...groupProps } = props;\n const handleValueChange = useCallbackRef(onValueChange);\n return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n }, \"MenuRadioGroup\")\n);\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuRadioItem2(props, forwardedRef) {\n const { value, ...radioItemProps } = props;\n const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n const checked = value === context.value;\n return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n MenuItem,\n {\n role: \"menuitemradio\",\n \"aria-checked\": checked,\n ...radioItemProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(checked),\n onSelect: composeEventHandlers(\n radioItemProps.onSelect,\n () => context.onValueChange?.(value),\n { checkForDefaultPrevented: false }\n )\n }\n ) });\n }, \"MenuRadioItem\")\n);\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n ITEM_INDICATOR_NAME,\n { checked: false }\n);\nvar MenuItemIndicator = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function MenuItemIndicator2(props, forwardedRef) {\n const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n return /* @__PURE__ */ jsx(\n Presence,\n {\n present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...itemIndicatorProps,\n ref: forwardedRef,\n \"data-state\": getCheckedState(indicatorContext.checked)\n }\n )\n }\n );\n }, \"MenuItemIndicator\")\n);\nvar MenuSeparator = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuSeparator2(props, forwardedRef) {\n const { __scopeMenu, ...separatorProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"separator\",\n \"aria-orientation\": \"horizontal\",\n ...separatorProps,\n ref: forwardedRef\n }\n );\n }, \"MenuSeparator\")\n);\nvar MenuArrow = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuArrow2(props, forwardedRef) {\n const { __scopeMenu, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeMenu);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }, \"MenuArrow\")\n);\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = /* @__PURE__ */ __name((props) => {\n const { __scopeMenu, children, open = false, onOpenChange } = props;\n const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n const popperScope = usePopperScope(__scopeMenu);\n const [trigger, setTrigger] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const handleOpenChange = useCallbackRef(onOpenChange);\n React.useEffect(() => {\n if (parentMenuContext.open === false) handleOpenChange(false);\n return () => handleOpenChange(false);\n }, [parentMenuContext.open, handleOpenChange]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n MenuProvider,\n {\n scope: __scopeMenu,\n open,\n onOpenChange: handleOpenChange,\n content,\n onContentChange: setContent,\n children: /* @__PURE__ */ jsx(\n MenuSubProvider,\n {\n scope: __scopeMenu,\n contentId: useId(),\n triggerId: useId(),\n trigger,\n onTriggerChange: setTrigger,\n children\n }\n )\n }\n ) });\n}, \"MenuSub\");\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuSubTrigger2(props, forwardedRef) {\n const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n const openTimerRef = React.useRef(null);\n const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n const scope = { __scopeMenu: props.__scopeMenu };\n const clearOpenTimer = React.useCallback(() => {\n if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n openTimerRef.current = null;\n }, []);\n React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n React.useEffect(() => {\n const pointerGraceTimer = pointerGraceTimerRef.current;\n return () => {\n window.clearTimeout(pointerGraceTimer);\n onPointerGraceIntentChange(null);\n };\n }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n const composedRefs = useComposedRefs(forwardedRef, subContext.onTriggerChange);\n return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n MenuItemImpl,\n {\n id: subContext.triggerId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? subContext.contentId : void 0,\n \"data-state\": getOpenState(context.open),\n ...props,\n ref: composedRefs,\n onClick: (event) => {\n props.onClick?.(event);\n if (props.disabled || event.defaultPrevented) return;\n event.currentTarget.focus();\n if (!context.open) context.onOpenChange(true);\n },\n onPointerMove: composeEventHandlers(\n props.onPointerMove,\n whenMouse((event) => {\n contentContext.onItemEnter(event);\n if (event.defaultPrevented) return;\n if (!props.disabled && !context.open && !openTimerRef.current) {\n contentContext.onPointerGraceIntentChange(null);\n openTimerRef.current = window.setTimeout(() => {\n context.onOpenChange(true);\n clearOpenTimer();\n }, 100);\n }\n })\n ),\n onPointerLeave: composeEventHandlers(\n props.onPointerLeave,\n whenMouse((event) => {\n clearOpenTimer();\n const contentRect = context.content?.getBoundingClientRect();\n if (contentRect) {\n const side = context.content?.dataset.side;\n const rightSide = side === \"right\";\n const bleed = rightSide ? -5 : 5;\n const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n contentContext.onPointerGraceIntentChange({\n area: [\n // Apply a bleed on clientX to ensure that our exit point is\n // consistently within polygon bounds\n { x: event.clientX + bleed, y: event.clientY },\n { x: contentNearEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.top },\n { x: contentFarEdge, y: contentRect.bottom },\n { x: contentNearEdge, y: contentRect.bottom }\n ],\n side\n });\n window.clearTimeout(pointerGraceTimerRef.current);\n pointerGraceTimerRef.current = window.setTimeout(\n () => contentContext.onPointerGraceIntentChange(null),\n 300\n );\n } else {\n contentContext.onTriggerLeave(event);\n if (event.defaultPrevented) return;\n contentContext.onPointerGraceIntentChange(null);\n }\n })\n ),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (props.disabled || event.target !== event.currentTarget) {\n return;\n }\n const isTypingAhead = contentContext.searchRef.current !== \"\";\n if (isTypingAhead && event.key === \" \") {\n return;\n }\n if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n context.onOpenChange(true);\n context.content?.focus();\n event.preventDefault();\n }\n })\n }\n ) });\n }, \"MenuSubTrigger\")\n);\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function MenuSubContent2(props, forwardedRef) {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n const { forceMount = portalContext.forceMount, align = \"start\", ...subContentProps } = props;\n const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n MenuContentImpl,\n {\n id: subContext.contentId,\n \"aria-labelledby\": subContext.triggerId,\n ...subContentProps,\n ref: composedRefs,\n align,\n side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n disableOutsidePointerEvents: false,\n disableOutsideScroll: false,\n trapFocus: false,\n onOpenAutoFocus: (event) => {\n if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n event.preventDefault();\n },\n onCloseAutoFocus: (event) => event.preventDefault(),\n onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n if (event.target !== subContext.trigger) context.onOpenChange(false);\n }),\n onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n rootContext.onClose();\n event.preventDefault();\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n const isKeyDownInside = event.currentTarget.contains(event.target);\n const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n if (isKeyDownInside && isCloseKey) {\n context.onOpenChange(false);\n subContext.trigger?.focus();\n event.preventDefault();\n }\n })\n }\n ) }) }) });\n }, \"MenuSubContent\")\n);\nfunction getOpenState(open) {\n return open ? \"open\" : \"closed\";\n}\n__name(getOpenState, \"getOpenState\");\nfunction isIndeterminate(checked) {\n return checked === \"indeterminate\";\n}\n__name(isIndeterminate, \"isIndeterminate\");\nfunction getCheckedState(checked) {\n return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\n__name(getCheckedState, \"getCheckedState\");\nfunction focusFirst(candidates) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n__name(focusFirst, \"focusFirst\");\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\n__name(wrapArray, \"wrapArray\");\nfunction getNextMatch(values, search, currentMatch) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0] : search;\n const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n const excludeCurrentMatch = normalizedSearch.length === 1;\n if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n const nextMatch = wrappedValues.find(\n (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextMatch !== currentMatch ? nextMatch : void 0;\n}\n__name(getNextMatch, \"getNextMatch\");\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\n__name(isPointInPolygon, \"isPointInPolygon\");\nfunction isPointerInGraceArea(event, area) {\n if (!area) return false;\n const cursorPos = { x: event.clientX, y: event.clientY };\n return isPointInPolygon(cursorPos, area);\n}\n__name(isPointerInGraceArea, \"isPointerInGraceArea\");\nfunction whenMouse(handler) {\n return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\n__name(whenMouse, \"whenMouse\");\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n Anchor2 as Anchor,\n Arrow2 as Arrow,\n CheckboxItem,\n Content2 as Content,\n Group,\n Item2 as Item,\n ItemIndicator,\n Label,\n Menu,\n MenuAnchor,\n MenuArrow,\n MenuCheckboxItem,\n MenuContent,\n MenuGroup,\n MenuItem,\n MenuItemIndicator,\n MenuLabel,\n MenuPortal,\n MenuRadioGroup,\n MenuRadioItem,\n MenuSeparator,\n MenuSub,\n MenuSubContent,\n MenuSubTrigger,\n Portal,\n RadioGroup,\n RadioItem,\n Root3 as Root,\n Separator,\n Sub,\n SubContent,\n SubTrigger,\n createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/context-menu.tsx\nimport * as React from \"react\";\nimport { IS_DEVELOPMENT } from \"@radix-ui/primitive/is-development\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CONTEXT_MENU_NAME = \"ContextMenu\";\nvar [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope\n]);\nvar useMenuScope = createMenuScope();\nvar [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);\nvar ContextMenu = /* @__PURE__ */ __name((props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, dir, modal = true } = props;\n const hasInteractedRef = React.useRef(false);\n if (IS_DEVELOPMENT) {\n const hasWarnedRef = React.useRef(false);\n React.useEffect(() => {\n if (openProp === true && !hasInteractedRef.current && !hasWarnedRef.current) {\n hasWarnedRef.current = true;\n console.warn(\n \"ContextMenu: The `open` prop has been set to `true` before the user has interacted with the trigger, so its position is indeterminate. This is likely unintended and will result in the menu being anchored to the top-left corner of the viewport.\"\n );\n }\n }, [openProp]);\n }\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: false,\n onChange: onOpenChange,\n caller: CONTEXT_MENU_NAME\n });\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope: __scopeContextMenu,\n open,\n onOpenChange: setOpen,\n modal,\n hasInteractedRef,\n children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, dir, open, onOpenChange: setOpen, modal, children })\n }\n );\n}, \"ContextMenu\");\nvar TRIGGER_NAME = \"ContextMenuTrigger\";\nvar ContextMenuTrigger = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuTrigger2(props, forwardedRef) {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const [point, setPoint] = React.useState({ x: 0, y: 0 });\n const virtualRef = React.useMemo(\n () => ({\n current: {\n getBoundingClientRect: /* @__PURE__ */ __name(() => DOMRect.fromRect({ width: 0, height: 0, ...point }), \"getBoundingClientRect\")\n }\n }),\n [point]\n );\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = /* @__PURE__ */ __name((event) => {\n context.hasInteractedRef.current = true;\n setPoint({ x: event.clientX, y: event.clientY });\n context.onOpenChange(true);\n }, \"handleOpen\");\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { ...menuScope, virtualRef }),\n /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: forwardedRef,\n style: { WebkitTouchCallout: \"none\", ...props.style },\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n clearLongPress();\n if (context.open) {\n context.onOpenChange(false);\n }\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n ),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress)),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress)),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n )\n ] });\n }, \"ContextMenuTrigger\")\n);\nvar ContextMenuPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n}, \"ContextMenuPortal\");\nvar CONTENT_NAME = \"ContextMenuContent\";\nvar ContextMenuContent = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuContent2(props, forwardedRef) {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n side: \"right\",\n sideOffset: 2,\n align: \"start\",\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n },\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }, \"ContextMenuContent\")\n);\nvar ContextMenuGroup = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuGroup2(props, forwardedRef) {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }, \"ContextMenuGroup\")\n);\nvar ContextMenuLabel = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuLabel2(props, forwardedRef) {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }, \"ContextMenuLabel\")\n);\nvar ContextMenuItem = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuItem2(props, forwardedRef) {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }, \"ContextMenuItem\")\n);\nvar ContextMenuCheckboxItem = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuCheckboxItem2(props, forwardedRef) {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n}, \"ContextMenuCheckboxItem\"));\nvar ContextMenuRadioGroup = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuRadioGroup2(props, forwardedRef) {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n}, \"ContextMenuRadioGroup\"));\nvar ContextMenuRadioItem = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuRadioItem2(props, forwardedRef) {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n}, \"ContextMenuRadioItem\"));\nvar ContextMenuItemIndicator = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuItemIndicator2(props, forwardedRef) {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n}, \"ContextMenuItemIndicator\"));\nvar ContextMenuSeparator = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuSeparator2(props, forwardedRef) {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n}, \"ContextMenuSeparator\"));\nvar ContextMenuArrow = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function ContextMenuArrow2(props, forwardedRef) {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }, \"ContextMenuArrow\")\n);\nvar SUB_NAME = \"ContextMenuSub\";\nvar ContextMenuSub = /* @__PURE__ */ __name((props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n}, \"ContextMenuSub\");\nvar ContextMenuSubTrigger = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuSubTrigger2(props, forwardedRef) {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef });\n}, \"ContextMenuSubTrigger\"));\nvar ContextMenuSubContent = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function ContextMenuSubContent2(props, forwardedRef) {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n}, \"ContextMenuSubContent\"));\nfunction whenTouchOrPen(handler) {\n return (event) => event.pointerType !== \"mouse\" ? handler(event) : void 0;\n}\n__name(whenTouchOrPen, \"whenTouchOrPen\");\nvar Root2 = ContextMenu;\nvar Trigger = ContextMenuTrigger;\nvar Portal2 = ContextMenuPortal;\nvar Content2 = ContextMenuContent;\nvar Group2 = ContextMenuGroup;\nvar Label2 = ContextMenuLabel;\nvar Item2 = ContextMenuItem;\nvar CheckboxItem2 = ContextMenuCheckboxItem;\nvar RadioGroup2 = ContextMenuRadioGroup;\nvar RadioItem2 = ContextMenuRadioItem;\nvar ItemIndicator2 = ContextMenuItemIndicator;\nvar Separator2 = ContextMenuSeparator;\nvar Arrow2 = ContextMenuArrow;\nvar Sub2 = ContextMenuSub;\nvar SubTrigger2 = ContextMenuSubTrigger;\nvar SubContent2 = ContextMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuItemIndicator,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createContextMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\";\nimport { Check, ChevronRight, Circle } from \"lucide-react\";\nimport { Icon } from \"../icon\";\nimport { tv } from \"tailwind-variants\";\n\nconst ContextMenu = ContextMenuPrimitive.Root;\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger;\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group;\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal;\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub;\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;\n\nconst contextMenuSubTriggerStyles = tv({\n\tbase: [\n\t\t\"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none\",\n\t\t\"focus:bg-secondary-bg-hover focus:text-primary-fg\",\n\t\t\"data-[state=open]:bg-secondary-bg-hover data-[state=open]:text-primary-fg\"\n\t],\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"pl-8\"\n\t\t}\n\t}\n});\n\nconst ContextMenuSubTrigger = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, children, ...props }, ref) => {\n\treturn (\n\t\t<ContextMenuPrimitive.SubTrigger\n\t\t\tref={ref}\n\t\t\tclassName={contextMenuSubTriggerStyles({ className, inset })}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t\t<Icon icon={ChevronRight} className=\"ml-auto\" />\n\t\t</ContextMenuPrimitive.SubTrigger>\n\t);\n});\n\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;\n\nconst contextMenuSubContentStyles = tv({\n\tbase: [\n\t\t\"z-50 min-w-[8rem] origin-[--radix-context-menu-content-transform-origin] overflow-hidden rounded-lg border border-secondary-border bg-secondary-bg p-1 text-primary-fg shadow-lg\",\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n\t]\n});\n\nconst ContextMenuSubContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.SubContent ref={ref} className={contextMenuSubContentStyles({ className })} {...props} />\n));\n\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;\n\nconst contextMenuContentStyles = tv({\n\tbase: [\n\t\t\"z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] origin-[--radix-context-menu-content-transform-origin] overflow-y-auto overflow-x-hidden rounded-lg border border-secondary-border bg-secondary-bg p-1 text-primary-fg shadow-md\",\n\t\t\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n\t\t\"data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\"\n\t]\n});\n\nconst ContextMenuContent = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Content>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.Portal>\n\t\t<ContextMenuPrimitive.Content ref={ref} className={contextMenuContentStyles({ className })} {...props} />\n\t</ContextMenuPrimitive.Portal>\n));\n\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;\n\nconst contextMenuItemStyles = tv({\n\tbase: [\n\t\t\"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none\",\n\t\t\"focus:bg-secondary-bg-hover focus:text-primary-fg\",\n\t\t\"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n\t],\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"pl-8\"\n\t\t}\n\t}\n});\n\nconst ContextMenuItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Item>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Item ref={ref} className={contextMenuItemStyles({ className, inset })} {...props} />\n));\n\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;\n\nconst contextMenuCheckboxItemStyles = tv({\n\tslots: {\n\t\tcontainer: [\n\t\t\t\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none\",\n\t\t\t\"focus:bg-secondary-bg-hover focus:text-primary-fg\",\n\t\t\t\"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n\t\t],\n\t\tindicator: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\"\n\t}\n});\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => {\n\tconst styles = contextMenuCheckboxItemStyles();\n\n\treturn (\n\t\t<ContextMenuPrimitive.CheckboxItem\n\t\t\tref={ref}\n\t\t\tclassName={styles.container({ className })}\n\t\t\tchecked={checked}\n\t\t\t{...props}\n\t\t>\n\t\t\t<span className={styles.indicator()}>\n\t\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t\t<Icon icon={Check} />\n\t\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</ContextMenuPrimitive.CheckboxItem>\n\t);\n});\n\nContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;\n\nconst contextMenuRadioItemStyles = tv({\n\tslots: {\n\t\tcontainer: [\n\t\t\t\"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none\",\n\t\t\t\"focus:bg-secondary-bg-hover focus:text-primary-fg\",\n\t\t\t\"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n\t\t],\n\t\tindicator: \"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\"\n\t}\n});\n\nconst ContextMenuRadioItem = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => {\n\tconst styles = contextMenuRadioItemStyles();\n\n\treturn (\n\t\t<ContextMenuPrimitive.RadioItem ref={ref} className={styles.container({ className })} {...props}>\n\t\t\t<span className={styles.indicator()}>\n\t\t\t\t<ContextMenuPrimitive.ItemIndicator>\n\t\t\t\t\t<Icon icon={Circle} className=\"size-2 fill-current\" />\n\t\t\t\t</ContextMenuPrimitive.ItemIndicator>\n\t\t\t</span>\n\t\t\t{children}\n\t\t</ContextMenuPrimitive.RadioItem>\n\t);\n});\n\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;\n\nconst contextMenuLabelStyles = tv({\n\tbase: \"px-2 py-1.5 text-sm font-semibold text-primary-fg\",\n\tvariants: {\n\t\tinset: {\n\t\t\ttrue: \"pl-8\"\n\t\t}\n\t}\n});\n\nconst ContextMenuLabel = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Label>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n\t\tinset?: boolean;\n\t}\n>(({ className, inset, ...props }, ref) => (\n\t<ContextMenuPrimitive.Label ref={ref} className={contextMenuLabelStyles({ className, inset })} {...props} />\n));\n\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;\n\nconst contextMenuSeparatorStyles = tv({\n\tbase: \"-mx-1 my-1 h-px bg-secondary-border\"\n});\nconst ContextMenuSeparator = React.forwardRef<\n\tReact.ElementRef<typeof ContextMenuPrimitive.Separator>,\n\tReact.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n\t<ContextMenuPrimitive.Separator ref={ref} className={contextMenuSeparatorStyles({ className })} {...props} />\n));\n\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;\n\nconst contextMenuShortcutStyles = tv({\n\tbase: \"ml-auto text-xs tracking-widest text-muted\"\n});\n\nconst ContextMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n\treturn <span className={contextMenuShortcutStyles({ className })} {...props} />;\n};\n\nContextMenuShortcut.displayName = \"ContextMenuShortcut\";\n\nexport {\n\tContextMenu,\n\tContextMenuTrigger,\n\tContextMenuContent,\n\tContextMenuItem,\n\tContextMenuCheckboxItem,\n\tContextMenuRadioItem,\n\tContextMenuLabel,\n\tContextMenuSeparator,\n\tContextMenuShortcut,\n\tContextMenuGroup,\n\tContextMenuPortal,\n\tContextMenuSub,\n\tContextMenuSubContent,\n\tContextMenuSubTrigger,\n\tContextMenuRadioGroup\n};\n"],"names":["__defProp","__name","target","value","canUseDOM","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","getOwnerWindow","element","getOwnerDocument","getActiveElement","node","activeDescendant","activeElement","isFrame","id","createContext2","rootComponentName","defaultContext","Context","React","Provider","props","children","context","jsx","useContext2","consumerName","options","optional","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","BaseContext","index","scope","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","setRef","ref","composeRefs","refs","hasCleanup","cleanups","cleanup","i","useComposedRefs","createSlot","ownerName","Slot2","forwardedRef","slotProps","slottableElement","hasSlottable","newChildren","isLazyComponent","use","maybeSlottable","isSlottable","slottable","child","getSlottableElementFromSlottable","slottableElementRef","getElementRef","composedRef","createSlottableError","createSlotError","mergedProps","mergeProps","SLOTTABLE_IDENTIFIER","createSlottable","Slottable2","child2","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","getter","mayWarn","REACT_LAZY_TYPE","isPromiseLike","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","ReactDOM","createCollection","name","PROVIDER_NAME","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","itemMap","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","itemData","useCollection","collectionNode","orderedNodes","a","b","__instanciated","OrderedDict","_a","entries","__privateAdd","_keys","__privateSet","key","__privateGet","has","length","relativeIndex","toSafeInteger","actualIndex","safeIndex","size","keys","nextValue","shouldSkip","nextKey","currentKey","currentValue","copy","newKey","deleted","at","offset","dest","predicate","thisArg","entry","callbackfn","initialValue","accumulator","compareFn","reversed","start","end","stop","array","toSafeIndex","number","createCollection2","createContextScope2","CollectionContextProvider","state","jsx2","CollectionInit","useInitCollection","React2","collectionElement","setCollectionElement","useComposedRefs2","setItemMap","observer","getChildListObserver","createSlot2","setElement","itemDataRef","shallowEqual","memoizedItemData","itemData2","map","sortByDocumentPosition","keysA","keysB","isElementPreceding","callback","mutationsList","mutation","DirectionContext","useDirection","localDir","globalDir","useCallbackRef","callbackRef","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","deferPointerDownOutside","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","ownerDocument","force","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","isDeferredPointerDownOutsideRef","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","isHighestLayer","handleKeyDown","dispatchUpdate","handleUpdate","useDismissableLayerSurface","IS_TRUE","dismissableSurfaces","shouldHandlePointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","isPointerDownOutsideRef","interceptedOutsideInteractionEventsRef","handleClickRef","resetOutsideInteraction","isOutsideInteractionIntercepted","handleInteractionCapture","surface","handleInteractionBubble","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","wasOutsideInteractionIntercepted","handleAndDispatchCustomEvent","eventDetail","outsideInteractionEvents","eventName","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","handler","detail","discrete","count","guards","FocusGuards","useFocusGuards","createFocusGuard","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FocusScope","loop","trapped","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","onMountAutoFocus","onUnmountAutoFocus","lastFocusedElementRef","focusScope","handleFocusIn2","focus","handleFocusOut2","relatedTarget","handleMutations2","mutations","mutationObserver","focusScopesStack","previouslyFocusedElement","mountEvent","focusFirst","removeLinks","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","first","last","getTabbableEdges","candidates","select","candidate","findVisible","nodes","walker","isHiddenInput","elements","canUseCheckVisibility","isHidden","upTo","isSelectableInput","createFocusScopesStack","stack","activeFocusScope","arrayRemove","item","updatedArray","items","useLayoutEffect2","useReactId","useId","deterministicId","setId","useLayoutEffect","reactId","useSize","setSize","resizeObserver","width","height","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","placementState","setPlacementState","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","onAnchorChange","anchorRef","previousAnchor","sideAndAlign","getSideAndAlignFromPlacement","placedSide","placedAlign","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","content","setContent","arrow","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","boundary","hasExplicitBoundaries","detectOverflowOptions","isNotNull","floatingStyles","placement","isPositioned","middlewareData","useFloating","autoUpdate","shift","limitShift","flip","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","hide","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","data","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","x","y","Root2","Anchor","Content","Portal","containerProp","portalProps","mounted","setMounted","useStateMachine","initialState","machine","Presence","present","presence","usePresence","useStableComposedRefs","stylesRef","prevPresentRef","prevAnimationNameRef","mountAnimationNameRef","send","getAnimationName","styles","wasPresent","prevAnimationName","currentAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","node2","refsRef","currentRefs","useReactEffectEvent","useReactInsertionEffect","useEffectEvent","useInsertionEffect","useControllableState","prop","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","setValue","value2","isFunction","prevValueRef","SYNC_STATE","useControllableStateReducer","reducer","userArgs","initialArg","init","controlledState","onChangeProp","internalState","dispatch","state2","action","next","uncontrolledState","_isHydrated","useIsHydrated","isHydrated","setIsHydrated","useReactSyncExternalStore","subscribe","useIsHydratedModern","useIsHydrated2","ENTRY_FOCUS","GROUP_NAME","Collection","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","direction","currentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","tabStopId","prevCount","isKeyboardFocus","entryFocusEvent","activeItem","currentItem","candidateNodes","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","currentIndex","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","startIndex","_","Root","Item","effectCar","createSidecarMedium","nothing","RemoveScroll","parentRef","callbacks","setCallbacks","forwardProps","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","_b","Container","gapMode","rest","__rest","SideCar","containerRef","useMergeRefs","containerProps","__assign","fullWidthClassName","zeroRightClassName","passiveSupported","nonPassive","alwaysContainsScroll","elementCanBeScrolled","overflow","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","axis","current","isScrollable","elementCouldBeScrolled","getScrollVariables","scrollHeight","clientHeight","getVScrollVariables","scrollTop","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","handleScroll","endTarget","sourceDelta","noOverscroll","directionFactor","delta","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","position","scroll_1","capacity","elementScroll","parent_1","getTouchXY","getDeltaXY","extractRef","deltaCompare","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","Style","styleSingleton","lastProps","allow_1","__spreadArray","el","shouldCancelEvent","parent","touch","touchStart","deltaX","deltaY","currentAxis","moveDirection","selection","anchorNode","isTouchingSelection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","_event","sourceEvent","e","shardNodes","shouldStop","shouldCancel","should","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","inst","RemoveScrollBar","shadowParent","exportSidecar","ReactRemoveScroll","SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","createMenuContext","createMenuScope","usePopperScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","__scopeMenu","open","onOpenChange","modal","popperScope","isUsingKeyboardRef","handleOpenChange","handlePointer","handleBlur","PopperPrimitive.Root","MenuAnchor","PopperPrimitive.Anchor","PORTAL_NAME","PortalProvider","usePortalContext","MenuPortal","forceMount","PortalPrimitive","MenuContentProvider","useMenuContentContext","MenuContent","portalContext","rootContext","MenuRootContentModal","MenuRootContentNonModal","hideOthers","MenuContentImpl","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsideScroll","rovingFocusGroupScope","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","handleTypeaheadSearch","search","currentMatch","values","nextMatch","getNextMatch","newItem","updateSearch","isPointerMovingToSubmenu","isPointerInGraceArea","intent","RovingFocusGroup.Root","PopperPrimitive.Content","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","whenMouse","pointerXHasChanged","newDir","MenuGroup","MenuLabel","labelProps","ITEM_SELECT","MenuItem","disabled","onSelect","contentContext","isPointerDownRef","handleSelect","menuItem","itemSelectEvent","MenuItemImpl","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","MenuSeparator","separatorProps","SUB_NAME","MenuSubProvider","useMenuSubContext","MenuSub","parentMenuContext","trigger","setTrigger","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","openTimerRef","onPointerGraceIntentChange","clearOpenTimer","pointerGraceTimer","contentRect","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","normalizedSearch","char","currentMatchIndex","wrappedValues","v","isPointInPolygon","point","polygon","inside","j","ii","jj","xi","yi","xj","yj","area","cursorPos","Root3","Anchor2","Content2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Sub","SubTrigger","SubContent","CONTEXT_MENU_NAME","createContextMenuContext","createContextMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","__scopeContextMenu","openProp","hasInteractedRef","setOpen","menuScope","MenuPrimitive.Root","TRIGGER_NAME","ContextMenuTrigger","triggerProps","setPoint","longPressTimerRef","clearLongPress","handleOpen","jsxs","Fragment","MenuPrimitive.Anchor","whenTouchOrPen","ContextMenuPortal","MenuPrimitive.Portal","ContextMenuContent","hasInteractedOutsideRef","MenuPrimitive.Content","ContextMenuGroup","MenuPrimitive.Group","ContextMenuLabel","MenuPrimitive.Label","ContextMenuItem","MenuPrimitive.Item","ContextMenuCheckboxItem","MenuPrimitive.CheckboxItem","ContextMenuRadioGroup","radioGroupProps","MenuPrimitive.RadioGroup","ContextMenuRadioItem","MenuPrimitive.RadioItem","ContextMenuItemIndicator","MenuPrimitive.ItemIndicator","ContextMenuSeparator","MenuPrimitive.Separator","ContextMenuSub","defaultOpen","MenuPrimitive.Sub","ContextMenuSubTrigger","triggerItemProps","MenuPrimitive.SubTrigger","ContextMenuSubContent","MenuPrimitive.SubContent","Trigger","Portal2","Group2","Label2","CheckboxItem2","RadioGroup2","RadioItem2","ItemIndicator2","Separator2","Sub2","SubTrigger2","SubContent2","ContextMenuPrimitive.Root","ContextMenuPrimitive.Trigger","ContextMenuPrimitive.Group","ContextMenuPrimitive.Portal","ContextMenuPrimitive.Sub","ContextMenuPrimitive.RadioGroup","contextMenuSubTriggerStyles","tv","inset","ContextMenuPrimitive.SubTrigger","Icon","ChevronRight","contextMenuSubContentStyles","ContextMenuPrimitive.SubContent","contextMenuContentStyles","ContextMenuPrimitive.Content","contextMenuItemStyles","ContextMenuPrimitive.Item","contextMenuCheckboxItemStyles","ContextMenuPrimitive.CheckboxItem","ContextMenuPrimitive.ItemIndicator","Check","contextMenuRadioItemStyles","ContextMenuPrimitive.RadioItem","Circle","contextMenuLabelStyles","ContextMenuPrimitive.Label","contextMenuSeparatorStyles","ContextMenuPrimitive.Separator","contextMenuShortcutStyles","ContextMenuShortcut"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]}