@quantinuum/quantinuum-ui 4.0.0 → 4.0.1-fix-update-radix.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/_virtual/index.js +4 -0
  2. package/dist/_virtual/index.js.map +1 -0
  3. package/dist/_virtual/use-sync-external-store-shim.development.js +4 -0
  4. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  5. package/dist/_virtual/use-sync-external-store-shim.production.js +4 -0
  6. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  7. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js +4 -3
  8. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js.map +1 -1
  9. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js +9 -6
  10. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +1 -1
  11. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js +279 -267
  12. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js.map +1 -1
  13. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js +26 -0
  14. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js.map +1 -0
  15. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js +114 -92
  16. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js.map +1 -1
  17. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js +255 -138
  18. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js.map +1 -1
  19. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js +135 -130
  20. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js.map +1 -1
  21. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js +66 -88
  22. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js.map +1 -1
  23. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  24. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  25. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +34 -21
  26. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -1
  27. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js +72 -93
  28. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +1 -1
  29. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js +297 -254
  30. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js.map +1 -1
  31. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  32. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  33. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js +8 -6
  34. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +1 -1
  35. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js +190 -217
  36. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js.map +1 -1
  37. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js +243 -217
  38. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js.map +1 -1
  39. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js +26 -25
  40. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js.map +1 -1
  41. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js +191 -259
  42. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js.map +1 -1
  43. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js +224 -205
  44. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js.map +1 -1
  45. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js +11 -14
  46. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js.map +1 -1
  47. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js +22 -14
  48. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js.map +1 -1
  49. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js +765 -820
  50. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js.map +1 -1
  51. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  52. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  53. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js +717 -730
  54. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js.map +1 -1
  55. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js +268 -199
  56. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js.map +1 -1
  57. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  58. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  59. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js +267 -223
  60. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js.map +1 -1
  61. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js +14 -10
  62. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js.map +1 -1
  63. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js +122 -121
  64. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +1 -1
  65. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +39 -83
  66. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -1
  67. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  68. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  69. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js +77 -78
  70. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js.map +1 -1
  71. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js +264 -217
  72. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -1
  73. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js +204 -216
  74. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -1
  75. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.mjs.js +9 -9
  76. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js +1080 -1079
  77. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js.map +1 -1
  78. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js +81 -73
  79. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  80. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js +26 -43
  81. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js.map +1 -1
  82. package/dist/node_modules/@radix-ui/react-slot/dist/index.mjs.js +1 -1
  83. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js +140 -112
  84. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js.map +1 -1
  85. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js +173 -141
  86. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js.map +1 -1
  87. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js +34 -25
  88. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js.map +1 -1
  89. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js +154 -145
  90. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js.map +1 -1
  91. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js +462 -491
  92. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js.map +1 -1
  93. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js +13 -78
  94. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  95. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +9 -15
  96. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +1 -1
  97. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js +66 -43
  98. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js.map +1 -1
  99. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js +15 -18
  100. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js.map +1 -1
  101. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js +18 -0
  102. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js.map +1 -0
  103. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +5 -9
  104. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +1 -1
  105. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js +12 -18
  106. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js.map +1 -1
  107. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js +37 -48
  108. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js.map +1 -1
  109. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js +32 -23
  110. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js.map +1 -1
  111. package/dist/node_modules/aria-hidden/dist/es2015/index.js +22 -16
  112. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  113. package/dist/node_modules/class-variance-authority/dist/index.mjs.js +7 -9
  114. package/dist/node_modules/class-variance-authority/dist/index.mjs.js.map +1 -1
  115. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js +4 -0
  116. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js.map +1 -0
  117. package/dist/node_modules/cmdk/dist/index.mjs.js +8 -4
  118. package/dist/node_modules/cmdk/dist/index.mjs.js.map +1 -1
  119. package/dist/node_modules/{@radix-ui/react-scroll-area → cmdk}/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +1 -1
  120. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  121. package/dist/node_modules/input-otp/dist/index.mjs.js +1 -1
  122. package/dist/node_modules/input-otp/dist/index.mjs.js.map +1 -1
  123. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +23 -5
  124. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  125. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  126. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  127. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +18 -6
  128. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  129. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +25 -5
  130. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  131. package/dist/node_modules/sonner/dist/index.mjs.js +46 -26
  132. package/dist/node_modules/sonner/dist/index.mjs.js.map +1 -1
  133. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +27 -1
  134. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  135. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +107 -0
  136. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  137. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +78 -0
  138. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  139. package/dist/node_modules/use-sync-external-store/shim/index.js +13 -0
  140. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  141. package/dist/src/index.js +1 -1
  142. package/dist/src/shadcn/ui/accordion.js +7 -7
  143. package/dist/src/shadcn/ui/avatar.js +7 -7
  144. package/dist/src/shadcn/ui/checkbox.js +3 -3
  145. package/dist/src/shadcn/ui/command.js +15 -15
  146. package/dist/src/shadcn/ui/dialog.js +14 -14
  147. package/dist/src/shadcn/ui/dropdown-menu.js +23 -23
  148. package/dist/src/shadcn/ui/hover-card.js +5 -5
  149. package/dist/src/shadcn/ui/label.js +3 -3
  150. package/dist/src/shadcn/ui/navigation-menu.js +15 -15
  151. package/dist/src/shadcn/ui/navigation-menu.js.map +1 -1
  152. package/dist/src/shadcn/ui/popover.js +32 -6
  153. package/dist/src/shadcn/ui/popover.js.map +1 -1
  154. package/dist/src/shadcn/ui/progress.js +3 -3
  155. package/dist/src/shadcn/ui/radio-group.js +5 -5
  156. package/dist/src/shadcn/ui/select.js +19 -19
  157. package/dist/src/shadcn/ui/separator.js +3 -3
  158. package/dist/src/shadcn/ui/sheet.js +14 -14
  159. package/dist/src/shadcn/ui/switch.js +3 -3
  160. package/dist/src/shadcn/ui/tabs.js +8 -8
  161. package/dist/src/shadcn/ui/toggle-group.js +5 -5
  162. package/dist/src/shadcn/ui/toggle.js +3 -3
  163. package/dist/src/shadcn/ui/tooltip.js +7 -7
  164. package/dist/tailwind-manifest.js +12595 -14091
  165. package/dist/types/src/shadcn/ui/command.d.ts +44 -8
  166. package/dist/types/src/shadcn/ui/popover.d.ts +8 -4
  167. package/dist/types/src/shadcn/ui/sheet.d.ts +1 -1
  168. package/package.json +10 -31
  169. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +0 -12
  170. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
  171. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js +0 -7
  172. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js.map +0 -1
  173. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js +0 -12
  174. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +0 -1
  175. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -40
  176. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  177. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js +0 -64
  178. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +0 -1
  179. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js +0 -12
  180. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +0 -1
  181. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js +0 -132
  182. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +0 -1
  183. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  184. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js +0 -90
  185. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +0 -1
  186. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +0 -13
  187. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +0 -1
  188. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +0 -8
  189. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +0 -1
  190. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +0 -37
  191. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +0 -1
  192. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js +0 -4
  193. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js.map +0 -1
  194. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js +0 -9
  195. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js.map +0 -1
  196. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js +0 -27
  197. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js.map +0 -1
  198. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js +0 -101
  199. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js.map +0 -1
  200. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js +0 -214
  201. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js.map +0 -1
  202. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js +0 -233
  203. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js.map +0 -1
  204. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js +0 -30
  205. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js.map +0 -1
  206. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js +0 -252
  207. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js.map +0 -1
  208. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js +0 -19
  209. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js.map +0 -1
  210. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js +0 -15
  211. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js.map +0 -1
  212. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js +0 -131
  213. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js.map +0 -1
  214. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js +0 -85
  215. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js.map +0 -1
  216. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js +0 -79
  217. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js.map +0 -1
  218. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js +0 -19
  219. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js.map +0 -1
  220. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js +0 -48
  221. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js.map +0 -1
  222. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js +0 -21
  223. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js.map +0 -1
  224. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js +0 -12
  225. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js.map +0 -1
  226. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js +0 -10
  227. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +0 -1
  228. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +0 -146
  229. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +0 -1
  230. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js +0 -39
  231. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js.map +0 -1
  232. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +0 -22
  233. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +0 -1
  234. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +0 -97
  235. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +0 -1
  236. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js +0 -9
  237. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js.map +0 -1
  238. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js +0 -10
  239. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +0 -1
  240. package/dist/node_modules/command-score/index.js +0 -138
  241. package/dist/node_modules/command-score/index.js.map +0 -1
@@ -1,891 +1,836 @@
1
- import _extends from '../../../@babel/runtime/helpers/esm/extends.js';
2
- import { forwardRef, createElement, useRef, useEffect, useState, useCallback, Fragment } from 'react';
3
- import { composeEventHandlers as $e42e1063c40fb3ef$export$b9ecd428b558ff10 } from '../../primitive/dist/index.mjs.js';
4
- import { createCollection as $e02a7d9cb1dc128c$export$c74125a8e3af6bb2 } from '../../react-collection/dist/index.mjs.js';
5
- import { useComposedRefs as $6ed0406888f73fc4$export$c7b2cbe3552a0d05, composeRefs as $6ed0406888f73fc4$export$43e446d32b3d21af } from '../../react-compose-refs/dist/index.mjs.js';
6
- import { createContextScope as $c512c27ab02ef895$export$50c7b4e9d9f19c1 } from '../../react-context/dist/index.mjs.js';
7
- import { useDirection as $f631663db3294ace$export$b39126d51d94e6f3 } from '../../react-direction/dist/index.mjs.js';
8
- import { DismissableLayer as $5cb92bef7577960e$export$177fb62ff3ec1f22 } from '../../react-dismissable-layer/dist/index.mjs.js';
9
- import { useFocusGuards as $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c } from '../../react-focus-guards/dist/index.mjs.js';
10
- import { FocusScope as $d3863c46a17e8a28$export$20e40289641fbbb6 } from '../../react-focus-scope/dist/index.mjs.js';
11
- import { useId as $1746a345f3d73bb7$export$f680877a34711e37 } from '../../react-id/dist/index.mjs.js';
12
- import { createPopperScope as $cf1ac5d9fe0e8206$export$722aac194ae923, Content as $cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2, Root as $cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, Anchor as $cf1ac5d9fe0e8206$export$b688253958b8dfe7 } from '../../react-popper/dist/index.mjs.js';
13
- import { Portal as $f1701beae083dbae$export$602eac185826482c } from '../../react-portal/dist/index.mjs.js';
14
- import { Presence as $921a889cee6df7e8$export$99c2b779aa4e8b8b } from '../../react-presence/dist/index.mjs.js';
15
- import { Primitive as $8927f6f2acc4f386$export$250ffa63cdc0d034, dispatchDiscreteCustomEvent as $8927f6f2acc4f386$export$6d1a0317bde7de7f } from '../../react-primitive/dist/index.mjs.js';
16
- import { createRovingFocusGroupScope as $d7bdfb9eb0fdf311$export$c7109489551a4f4, Root as $d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9, Item as $d7bdfb9eb0fdf311$export$6d08773d2e66f8f2 } from '../../react-roving-focus/dist/index.mjs.js';
17
- import { Slot as $5e63c961fc1ce211$export$8c6ed5c666ac1360 } from '../node_modules/@radix-ui/react-slot/dist/index.mjs.js';
18
- import { useCallbackRef as $b1b2314f5f9a1d84$export$25bec8c6f54ee79a } from '../../react-use-callback-ref/dist/index.mjs.js';
1
+ 'use client';
2
+ import * as React from 'react';
3
+ import { composeEventHandlers } from '../../primitive/dist/index.mjs.js';
4
+ import { createCollection } from '../../react-collection/dist/index.mjs.js';
5
+ import { useComposedRefs, composeRefs } from '../../react-compose-refs/dist/index.mjs.js';
6
+ import { createContextScope } from '../../react-context/dist/index.mjs.js';
7
+ import { useDirection } from '../../react-direction/dist/index.mjs.js';
8
+ import { DismissableLayer } from '../../react-dismissable-layer/dist/index.mjs.js';
9
+ import { useFocusGuards } from '../../react-focus-guards/dist/index.mjs.js';
10
+ import { FocusScope } from '../../react-focus-scope/dist/index.mjs.js';
11
+ import { useId } from '../../react-id/dist/index.mjs.js';
12
+ import { createPopperScope, Anchor, Content, Arrow, Root as Root2 } from '../../react-popper/dist/index.mjs.js';
13
+ import { Portal as Portal$1 } from '../../react-portal/dist/index.mjs.js';
14
+ import { Presence } from '../../react-presence/dist/index.mjs.js';
15
+ import { Primitive, dispatchDiscreteCustomEvent } from '../../react-primitive/dist/index.mjs.js';
16
+ import { createRovingFocusGroupScope, Root, Item } from '../../react-roving-focus/dist/index.mjs.js';
17
+ import { createSlot } from '../node_modules/@radix-ui/react-slot/dist/index.mjs.js';
18
+ import { useCallbackRef } from '../../react-use-callback-ref/dist/index.mjs.js';
19
19
  import { hideOthers } from '../../../aria-hidden/dist/es2015/index.js';
20
20
  import ReactRemoveScroll from '../../../react-remove-scroll/dist/es2015/Combination.js';
21
+ import { jsx } from 'react/jsx-runtime';
21
22
 
22
- const $6cc32821e9371a1c$var$SELECTION_KEYS = [
23
- 'Enter',
24
- ' '
25
- ];
26
- const $6cc32821e9371a1c$var$FIRST_KEYS = [
27
- 'ArrowDown',
28
- 'PageUp',
29
- 'Home'
30
- ];
31
- const $6cc32821e9371a1c$var$LAST_KEYS = [
32
- 'ArrowUp',
33
- 'PageDown',
34
- 'End'
35
- ];
36
- const $6cc32821e9371a1c$var$FIRST_LAST_KEYS = [
37
- ...$6cc32821e9371a1c$var$FIRST_KEYS,
38
- ...$6cc32821e9371a1c$var$LAST_KEYS
39
- ];
40
- const $6cc32821e9371a1c$var$SUB_OPEN_KEYS = {
41
- ltr: [
42
- ...$6cc32821e9371a1c$var$SELECTION_KEYS,
43
- 'ArrowRight'
44
- ],
45
- rtl: [
46
- ...$6cc32821e9371a1c$var$SELECTION_KEYS,
47
- 'ArrowLeft'
48
- ]
23
+ var SELECTION_KEYS = ["Enter", " "];
24
+ var FIRST_KEYS = ["ArrowDown", "PageUp", "Home"];
25
+ var LAST_KEYS = ["ArrowUp", "PageDown", "End"];
26
+ var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
27
+ var SUB_OPEN_KEYS = {
28
+ ltr: [...SELECTION_KEYS, "ArrowRight"],
29
+ rtl: [...SELECTION_KEYS, "ArrowLeft"]
49
30
  };
50
- const $6cc32821e9371a1c$var$SUB_CLOSE_KEYS = {
51
- ltr: [
52
- 'ArrowLeft'
53
- ],
54
- rtl: [
55
- 'ArrowRight'
56
- ]
31
+ var SUB_CLOSE_KEYS = {
32
+ ltr: ["ArrowLeft"],
33
+ rtl: ["ArrowRight"]
57
34
  };
58
- /* -------------------------------------------------------------------------------------------------
59
- * Menu
60
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$MENU_NAME = 'Menu';
61
- const [$6cc32821e9371a1c$var$Collection, $6cc32821e9371a1c$var$useCollection, $6cc32821e9371a1c$var$createCollectionScope] = $e02a7d9cb1dc128c$export$c74125a8e3af6bb2($6cc32821e9371a1c$var$MENU_NAME);
62
- const [$6cc32821e9371a1c$var$createMenuContext, $6cc32821e9371a1c$export$4027731b685e72eb] = $c512c27ab02ef895$export$50c7b4e9d9f19c1($6cc32821e9371a1c$var$MENU_NAME, [
63
- $6cc32821e9371a1c$var$createCollectionScope,
64
- $cf1ac5d9fe0e8206$export$722aac194ae923,
65
- $d7bdfb9eb0fdf311$export$c7109489551a4f4
35
+ var MENU_NAME = "Menu";
36
+ var [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);
37
+ var [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [
38
+ createCollectionScope,
39
+ createPopperScope,
40
+ createRovingFocusGroupScope
66
41
  ]);
67
- const $6cc32821e9371a1c$var$usePopperScope = $cf1ac5d9fe0e8206$export$722aac194ae923();
68
- const $6cc32821e9371a1c$var$useRovingFocusGroupScope = $d7bdfb9eb0fdf311$export$c7109489551a4f4();
69
- const [$6cc32821e9371a1c$var$MenuProvider, $6cc32821e9371a1c$var$useMenuContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME);
70
- const [$6cc32821e9371a1c$var$MenuRootProvider, $6cc32821e9371a1c$var$useMenuRootContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$MENU_NAME);
71
- const $6cc32821e9371a1c$export$d9b273488cd8ce6f = (props)=>{
72
- const { __scopeMenu: __scopeMenu , open: open = false , children: children , dir: dir , onOpenChange: onOpenChange , modal: modal = true } = props;
73
- const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
74
- const [content, setContent] = useState(null);
75
- const isUsingKeyboardRef = useRef(false);
76
- const handleOpenChange = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onOpenChange);
77
- const direction = $f631663db3294ace$export$b39126d51d94e6f3(dir);
78
- useEffect(()=>{
79
- // Capture phase ensures we set the boolean before any side effects execute
80
- // in response to the key or pointer event as they might depend on this value.
81
- const handleKeyDown = ()=>{
82
- isUsingKeyboardRef.current = true;
83
- document.addEventListener('pointerdown', handlePointer, {
84
- capture: true,
85
- once: true
86
- });
87
- document.addEventListener('pointermove', handlePointer, {
88
- capture: true,
89
- once: true
90
- });
91
- };
92
- const handlePointer = ()=>isUsingKeyboardRef.current = false
93
- ;
94
- document.addEventListener('keydown', handleKeyDown, {
95
- capture: true
96
- });
97
- return ()=>{
98
- document.removeEventListener('keydown', handleKeyDown, {
99
- capture: true
100
- });
101
- document.removeEventListener('pointerdown', handlePointer, {
102
- capture: true
103
- });
104
- document.removeEventListener('pointermove', handlePointer, {
105
- capture: true
106
- });
107
- };
108
- }, []);
109
- return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, popperScope, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuProvider, {
110
- scope: __scopeMenu,
111
- open: open,
112
- onOpenChange: handleOpenChange,
113
- content: content,
114
- onContentChange: setContent
115
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuRootProvider, {
116
- scope: __scopeMenu,
117
- onClose: useCallback(()=>handleOpenChange(false)
118
- , [
119
- handleOpenChange
120
- ]),
121
- isUsingKeyboardRef: isUsingKeyboardRef,
122
- dir: direction,
123
- modal: modal
124
- }, children)));
42
+ var usePopperScope = createPopperScope();
43
+ var useRovingFocusGroupScope = createRovingFocusGroupScope();
44
+ var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
45
+ var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
46
+ var Menu = (props) => {
47
+ const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
48
+ const popperScope = usePopperScope(__scopeMenu);
49
+ const [content, setContent] = React.useState(null);
50
+ const isUsingKeyboardRef = React.useRef(false);
51
+ const handleOpenChange = useCallbackRef(onOpenChange);
52
+ const direction = useDirection(dir);
53
+ React.useEffect(() => {
54
+ const handleKeyDown = () => {
55
+ isUsingKeyboardRef.current = true;
56
+ document.addEventListener("pointerdown", handlePointer, { capture: true, once: true });
57
+ document.addEventListener("pointermove", handlePointer, { capture: true, once: true });
58
+ };
59
+ const handlePointer = () => isUsingKeyboardRef.current = false;
60
+ document.addEventListener("keydown", handleKeyDown, { capture: true });
61
+ return () => {
62
+ document.removeEventListener("keydown", handleKeyDown, { capture: true });
63
+ document.removeEventListener("pointerdown", handlePointer, { capture: true });
64
+ document.removeEventListener("pointermove", handlePointer, { capture: true });
65
+ };
66
+ }, []);
67
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
68
+ MenuProvider,
69
+ {
70
+ scope: __scopeMenu,
71
+ open,
72
+ onOpenChange: handleOpenChange,
73
+ content,
74
+ onContentChange: setContent,
75
+ children: /* @__PURE__ */ jsx(
76
+ MenuRootProvider,
77
+ {
78
+ scope: __scopeMenu,
79
+ onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),
80
+ isUsingKeyboardRef,
81
+ dir: direction,
82
+ modal,
83
+ children
84
+ }
85
+ )
86
+ }
87
+ ) });
125
88
  };
126
- const $6cc32821e9371a1c$export$9fa5ebd18bee4d43 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
127
- const { __scopeMenu: __scopeMenu , ...anchorProps } = props;
128
- const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
129
- return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$b688253958b8dfe7, _extends({}, popperScope, anchorProps, {
130
- ref: forwardedRef
131
- }));
132
- });
133
- /* -------------------------------------------------------------------------------------------------
134
- * MenuPortal
135
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$PORTAL_NAME = 'MenuPortal';
136
- const [$6cc32821e9371a1c$var$PortalProvider, $6cc32821e9371a1c$var$usePortalContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$PORTAL_NAME, {
137
- forceMount: undefined
89
+ Menu.displayName = MENU_NAME;
90
+ var ANCHOR_NAME = "MenuAnchor";
91
+ var MenuAnchor = React.forwardRef(
92
+ (props, forwardedRef) => {
93
+ const { __scopeMenu, ...anchorProps } = props;
94
+ const popperScope = usePopperScope(__scopeMenu);
95
+ return /* @__PURE__ */ jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
96
+ }
97
+ );
98
+ MenuAnchor.displayName = ANCHOR_NAME;
99
+ var PORTAL_NAME = "MenuPortal";
100
+ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
101
+ forceMount: void 0
138
102
  });
139
- const $6cc32821e9371a1c$export$793392f970497feb = (props)=>{
140
- const { __scopeMenu: __scopeMenu , forceMount: forceMount , children: children , container: container } = props;
141
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$PORTAL_NAME, __scopeMenu);
142
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$PortalProvider, {
143
- scope: __scopeMenu,
144
- forceMount: forceMount
145
- }, /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
146
- present: forceMount || context.open
147
- }, /*#__PURE__*/ createElement($f1701beae083dbae$export$602eac185826482c, {
148
- asChild: true,
149
- container: container
150
- }, children)));
103
+ var MenuPortal = (props) => {
104
+ const { __scopeMenu, forceMount, children, container } = props;
105
+ const context = useMenuContext(PORTAL_NAME, __scopeMenu);
106
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children }) }) });
151
107
  };
152
- /* -------------------------------------------------------------------------------------------------
153
- * MenuContent
154
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$CONTENT_NAME = 'MenuContent';
155
- const [$6cc32821e9371a1c$var$MenuContentProvider, $6cc32821e9371a1c$var$useMenuContentContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$CONTENT_NAME);
156
- const $6cc32821e9371a1c$export$479f0f2f71193efe = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
157
- const portalContext = $6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
158
- const { forceMount: forceMount = portalContext.forceMount , ...contentProps } = props;
159
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
160
- const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
161
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$Collection.Provider, {
162
- scope: props.__scopeMenu
163
- }, /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
164
- present: forceMount || context.open
165
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$Collection.Slot, {
166
- scope: props.__scopeMenu
167
- }, rootContext.modal ? /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuRootContentModal, _extends({}, contentProps, {
168
- ref: forwardedRef
169
- })) : /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuRootContentNonModal, _extends({}, contentProps, {
170
- ref: forwardedRef
171
- })))));
172
- });
173
- /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuRootContentModal = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
174
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
175
- const ref = useRef(null);
176
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref); // Hide everything from ARIA except the `MenuContent`
177
- useEffect(()=>{
178
- const content = ref.current;
179
- if (content) return hideOthers(content);
108
+ MenuPortal.displayName = PORTAL_NAME;
109
+ var CONTENT_NAME = "MenuContent";
110
+ var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);
111
+ var MenuContent = React.forwardRef(
112
+ (props, forwardedRef) => {
113
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
114
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
115
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
116
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
117
+ 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 }) }) }) });
118
+ }
119
+ );
120
+ var MenuRootContentModal = React.forwardRef(
121
+ (props, forwardedRef) => {
122
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
123
+ const ref = React.useRef(null);
124
+ const composedRefs = useComposedRefs(forwardedRef, ref);
125
+ React.useEffect(() => {
126
+ const content = ref.current;
127
+ if (content) return hideOthers(content);
180
128
  }, []);
181
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuContentImpl, _extends({}, props, {
182
- ref: composedRefs // we make sure we're not trapping once it's been closed
183
- ,
184
- trapFocus: context.open // make sure to only disable pointer events when open
185
- ,
129
+ return /* @__PURE__ */ jsx(
130
+ MenuContentImpl,
131
+ {
132
+ ...props,
133
+ ref: composedRefs,
134
+ trapFocus: context.open,
186
135
  disableOutsidePointerEvents: context.open,
187
- disableOutsideScroll: true // When focus is trapped, a `focusout` event may still happen.
188
- ,
189
- onFocusOutside: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocusOutside, (event)=>event.preventDefault()
190
- , {
191
- checkForDefaultPrevented: false
192
- }),
193
- onDismiss: ()=>context.onOpenChange(false)
194
- }));
195
- });
196
- const $6cc32821e9371a1c$var$MenuRootContentNonModal = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
197
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
198
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuContentImpl, _extends({}, props, {
199
- ref: forwardedRef,
200
- trapFocus: false,
201
- disableOutsidePointerEvents: false,
202
- disableOutsideScroll: false,
203
- onDismiss: ()=>context.onOpenChange(false)
204
- }));
136
+ disableOutsideScroll: true,
137
+ onFocusOutside: composeEventHandlers(
138
+ props.onFocusOutside,
139
+ (event) => event.preventDefault(),
140
+ { checkForDefaultPrevented: false }
141
+ ),
142
+ onDismiss: () => context.onOpenChange(false)
143
+ }
144
+ );
145
+ }
146
+ );
147
+ var MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {
148
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
149
+ return /* @__PURE__ */ jsx(
150
+ MenuContentImpl,
151
+ {
152
+ ...props,
153
+ ref: forwardedRef,
154
+ trapFocus: false,
155
+ disableOutsidePointerEvents: false,
156
+ disableOutsideScroll: false,
157
+ onDismiss: () => context.onOpenChange(false)
158
+ }
159
+ );
205
160
  });
206
- /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuContentImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
207
- const { __scopeMenu: __scopeMenu , loop: loop = false , trapFocus: trapFocus , onOpenAutoFocus: onOpenAutoFocus , onCloseAutoFocus: onCloseAutoFocus , disableOutsidePointerEvents: disableOutsidePointerEvents , onEntryFocus: onEntryFocus , onEscapeKeyDown: onEscapeKeyDown , onPointerDownOutside: onPointerDownOutside , onFocusOutside: onFocusOutside , onInteractOutside: onInteractOutside , onDismiss: onDismiss , disableOutsideScroll: disableOutsideScroll , ...contentProps } = props;
208
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
209
- const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, __scopeMenu);
210
- const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
211
- const rovingFocusGroupScope = $6cc32821e9371a1c$var$useRovingFocusGroupScope(__scopeMenu);
212
- const getItems = $6cc32821e9371a1c$var$useCollection(__scopeMenu);
213
- const [currentItemId, setCurrentItemId] = useState(null);
214
- const contentRef = useRef(null);
215
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, contentRef, context.onContentChange);
216
- const timerRef = useRef(0);
217
- const searchRef = useRef('');
218
- const pointerGraceTimerRef = useRef(0);
219
- const pointerGraceIntentRef = useRef(null);
220
- const pointerDirRef = useRef('right');
221
- const lastPointerXRef = useRef(0);
222
- const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : Fragment;
223
- const scrollLockWrapperProps = disableOutsideScroll ? {
224
- as: $5e63c961fc1ce211$export$8c6ed5c666ac1360,
225
- allowPinchZoom: true
226
- } : undefined;
227
- const handleTypeaheadSearch = (key)=>{
228
- var _items$find, _items$find2;
229
- const search = searchRef.current + key;
230
- const items = getItems().filter((item)=>!item.disabled
231
- );
232
- const currentItem = document.activeElement;
233
- const currentMatch = (_items$find = items.find((item)=>item.ref.current === currentItem
234
- )) === null || _items$find === void 0 ? void 0 : _items$find.textValue;
235
- const values = items.map((item)=>item.textValue
236
- );
237
- const nextMatch = $6cc32821e9371a1c$var$getNextMatch(values, search, currentMatch);
238
- const newItem = (_items$find2 = items.find((item)=>item.textValue === nextMatch
239
- )) === null || _items$find2 === void 0 ? void 0 : _items$find2.ref.current; // Reset `searchRef` 1 second after it was last updated
240
- (function updateSearch(value) {
241
- searchRef.current = value;
242
- window.clearTimeout(timerRef.current);
243
- if (value !== '') timerRef.current = window.setTimeout(()=>updateSearch('')
244
- , 1000);
245
- })(search);
246
- if (newItem) /**
247
- * Imperative focus during keydown is risky so we prevent React's batching updates
248
- * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332
249
- */ setTimeout(()=>newItem.focus()
250
- );
161
+ var Slot = createSlot("MenuContent.ScrollLock");
162
+ var MenuContentImpl = React.forwardRef(
163
+ (props, forwardedRef) => {
164
+ const {
165
+ __scopeMenu,
166
+ loop = false,
167
+ trapFocus,
168
+ onOpenAutoFocus,
169
+ onCloseAutoFocus,
170
+ disableOutsidePointerEvents,
171
+ onEntryFocus,
172
+ onEscapeKeyDown,
173
+ onPointerDownOutside,
174
+ onFocusOutside,
175
+ onInteractOutside,
176
+ onDismiss,
177
+ disableOutsideScroll,
178
+ ...contentProps
179
+ } = props;
180
+ const context = useMenuContext(CONTENT_NAME, __scopeMenu);
181
+ const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);
182
+ const popperScope = usePopperScope(__scopeMenu);
183
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
184
+ const getItems = useCollection(__scopeMenu);
185
+ const [currentItemId, setCurrentItemId] = React.useState(null);
186
+ const contentRef = React.useRef(null);
187
+ const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);
188
+ const timerRef = React.useRef(0);
189
+ const searchRef = React.useRef("");
190
+ const pointerGraceTimerRef = React.useRef(0);
191
+ const pointerGraceIntentRef = React.useRef(null);
192
+ const pointerDirRef = React.useRef("right");
193
+ const lastPointerXRef = React.useRef(0);
194
+ const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : React.Fragment;
195
+ const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;
196
+ const handleTypeaheadSearch = (key) => {
197
+ const search = searchRef.current + key;
198
+ const items = getItems().filter((item) => !item.disabled);
199
+ const currentItem = document.activeElement;
200
+ const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;
201
+ const values = items.map((item) => item.textValue);
202
+ const nextMatch = getNextMatch(values, search, currentMatch);
203
+ const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;
204
+ (function updateSearch(value) {
205
+ searchRef.current = value;
206
+ window.clearTimeout(timerRef.current);
207
+ if (value !== "") timerRef.current = window.setTimeout(() => updateSearch(""), 1e3);
208
+ })(search);
209
+ if (newItem) {
210
+ setTimeout(() => newItem.focus());
211
+ }
251
212
  };
252
- useEffect(()=>{
253
- return ()=>window.clearTimeout(timerRef.current)
254
- ;
255
- }, []); // Make sure the whole tree has focus guards as our `MenuContent` may be
256
- // the last element in the DOM (beacuse of the `Portal`)
257
- $3db38b7d1fb3fe6a$export$b7ece24a22aeda8c();
258
- const isPointerMovingToSubmenu = useCallback((event)=>{
259
- var _pointerGraceIntentRe, _pointerGraceIntentRe2;
260
- const isMovingTowards = pointerDirRef.current === ((_pointerGraceIntentRe = pointerGraceIntentRef.current) === null || _pointerGraceIntentRe === void 0 ? void 0 : _pointerGraceIntentRe.side);
261
- return isMovingTowards && $6cc32821e9371a1c$var$isPointerInGraceArea(event, (_pointerGraceIntentRe2 = pointerGraceIntentRef.current) === null || _pointerGraceIntentRe2 === void 0 ? void 0 : _pointerGraceIntentRe2.area);
213
+ React.useEffect(() => {
214
+ return () => window.clearTimeout(timerRef.current);
215
+ }, []);
216
+ useFocusGuards();
217
+ const isPointerMovingToSubmenu = React.useCallback((event) => {
218
+ const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
219
+ return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
262
220
  }, []);
263
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuContentProvider, {
221
+ return /* @__PURE__ */ jsx(
222
+ MenuContentProvider,
223
+ {
264
224
  scope: __scopeMenu,
265
- searchRef: searchRef,
266
- onItemEnter: useCallback((event)=>{
225
+ searchRef,
226
+ onItemEnter: React.useCallback(
227
+ (event) => {
267
228
  if (isPointerMovingToSubmenu(event)) event.preventDefault();
268
- }, [
269
- isPointerMovingToSubmenu
270
- ]),
271
- onItemLeave: useCallback((event)=>{
272
- var _contentRef$current;
229
+ },
230
+ [isPointerMovingToSubmenu]
231
+ ),
232
+ onItemLeave: React.useCallback(
233
+ (event) => {
273
234
  if (isPointerMovingToSubmenu(event)) return;
274
- (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 || _contentRef$current.focus();
235
+ contentRef.current?.focus();
275
236
  setCurrentItemId(null);
276
- }, [
277
- isPointerMovingToSubmenu
278
- ]),
279
- onTriggerLeave: useCallback((event)=>{
237
+ },
238
+ [isPointerMovingToSubmenu]
239
+ ),
240
+ onTriggerLeave: React.useCallback(
241
+ (event) => {
280
242
  if (isPointerMovingToSubmenu(event)) event.preventDefault();
281
- }, [
282
- isPointerMovingToSubmenu
283
- ]),
284
- pointerGraceTimerRef: pointerGraceTimerRef,
285
- onPointerGraceIntentChange: useCallback((intent)=>{
286
- pointerGraceIntentRef.current = intent;
287
- }, [])
288
- }, /*#__PURE__*/ createElement(ScrollLockWrapper, scrollLockWrapperProps, /*#__PURE__*/ createElement($d3863c46a17e8a28$export$20e40289641fbbb6, {
289
- asChild: true,
290
- trapped: trapFocus,
291
- onMountAutoFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(onOpenAutoFocus, (event)=>{
292
- var _contentRef$current2;
293
- // when opening, explicitly focus the content area only and leave
294
- // `onEntryFocus` in control of focusing first item
295
- event.preventDefault();
296
- (_contentRef$current2 = contentRef.current) === null || _contentRef$current2 === void 0 || _contentRef$current2.focus();
297
- }),
298
- onUnmountAutoFocus: onCloseAutoFocus
299
- }, /*#__PURE__*/ createElement($5cb92bef7577960e$export$177fb62ff3ec1f22, {
300
- asChild: true,
301
- disableOutsidePointerEvents: disableOutsidePointerEvents,
302
- onEscapeKeyDown: onEscapeKeyDown,
303
- onPointerDownOutside: onPointerDownOutside,
304
- onFocusOutside: onFocusOutside,
305
- onInteractOutside: onInteractOutside,
306
- onDismiss: onDismiss
307
- }, /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$export$be92b6f5f03c0fe9, _extends({
308
- asChild: true
309
- }, rovingFocusGroupScope, {
310
- dir: rootContext.dir,
311
- orientation: "vertical",
312
- loop: loop,
313
- currentTabStopId: currentItemId,
314
- onCurrentTabStopIdChange: setCurrentItemId,
315
- onEntryFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(onEntryFocus, (event)=>{
316
- // only focus first item when using keyboard
317
- if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
318
- })
319
- }), /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$7c6e2c02157bb7d2, _extends({
320
- role: "menu",
321
- "aria-orientation": "vertical",
322
- "data-state": $6cc32821e9371a1c$var$getOpenState(context.open),
323
- "data-radix-menu-content": "",
324
- dir: rootContext.dir
325
- }, popperScope, contentProps, {
326
- ref: composedRefs,
327
- style: {
328
- outline: 'none',
329
- ...contentProps.style
330
- },
331
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(contentProps.onKeyDown, (event)=>{
332
- // submenu key events bubble through portals. We only care about keys in this menu.
333
- const target = event.target;
334
- const isKeyDownInside = target.closest('[data-radix-menu-content]') === event.currentTarget;
335
- const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
336
- const isCharacterKey = event.key.length === 1;
337
- if (isKeyDownInside) {
338
- // menus should not be navigated using tab key so we prevent it
339
- if (event.key === 'Tab') event.preventDefault();
340
- if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
341
- } // focus first/last item based on key pressed
342
- const content = contentRef.current;
343
- if (event.target !== content) return;
344
- if (!$6cc32821e9371a1c$var$FIRST_LAST_KEYS.includes(event.key)) return;
345
- event.preventDefault();
346
- const items = getItems().filter((item)=>!item.disabled
347
- );
348
- const candidateNodes = items.map((item)=>item.ref.current
349
- );
350
- if ($6cc32821e9371a1c$var$LAST_KEYS.includes(event.key)) candidateNodes.reverse();
351
- $6cc32821e9371a1c$var$focusFirst(candidateNodes);
352
- }),
353
- onBlur: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onBlur, (event)=>{
354
- // clear search buffer when leaving the menu
355
- if (!event.currentTarget.contains(event.target)) {
356
- window.clearTimeout(timerRef.current);
357
- searchRef.current = '';
358
- }
359
- }),
360
- onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
361
- const target = event.target;
362
- const pointerXHasChanged = lastPointerXRef.current !== event.clientX; // We don't use `event.movementX` for this check because Safari will
363
- // always return `0` on a pointer event.
364
- if (event.currentTarget.contains(target) && pointerXHasChanged) {
365
- const newDir = event.clientX > lastPointerXRef.current ? 'right' : 'left';
366
- pointerDirRef.current = newDir;
367
- lastPointerXRef.current = event.clientX;
368
- }
369
- }))
370
- })))))));
371
- });
372
- const $6cc32821e9371a1c$export$22a631d1f72787bb = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
373
- const { __scopeMenu: __scopeMenu , ...groupProps } = props;
374
- return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
375
- role: "group"
376
- }, groupProps, {
377
- ref: forwardedRef
378
- }));
379
- });
380
- const $6cc32821e9371a1c$export$dd37bec0e8a99143 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
381
- const { __scopeMenu: __scopeMenu , ...labelProps } = props;
382
- return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({}, labelProps, {
383
- ref: forwardedRef
384
- }));
385
- });
386
- /* -------------------------------------------------------------------------------------------------
387
- * MenuItem
388
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$ITEM_NAME = 'MenuItem';
389
- const $6cc32821e9371a1c$var$ITEM_SELECT = 'menu.itemSelect';
390
- const $6cc32821e9371a1c$export$2ce376c2cc3355c8 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
391
- const { disabled: disabled = false , onSelect: onSelect , ...itemProps } = props;
392
- const ref = useRef(null);
393
- const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
394
- const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, props.__scopeMenu);
395
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
396
- const isPointerDownRef = useRef(false);
397
- const handleSelect = ()=>{
398
- const menuItem = ref.current;
399
- if (!disabled && menuItem) {
400
- const itemSelectEvent = new CustomEvent($6cc32821e9371a1c$var$ITEM_SELECT, {
401
- bubbles: true,
402
- cancelable: true
403
- });
404
- menuItem.addEventListener($6cc32821e9371a1c$var$ITEM_SELECT, (event)=>onSelect === null || onSelect === void 0 ? void 0 : onSelect(event)
405
- , {
406
- once: true
407
- });
408
- $8927f6f2acc4f386$export$6d1a0317bde7de7f(menuItem, itemSelectEvent);
409
- if (itemSelectEvent.defaultPrevented) isPointerDownRef.current = false;
410
- else rootContext.onClose();
243
+ },
244
+ [isPointerMovingToSubmenu]
245
+ ),
246
+ pointerGraceTimerRef,
247
+ onPointerGraceIntentChange: React.useCallback((intent) => {
248
+ pointerGraceIntentRef.current = intent;
249
+ }, []),
250
+ children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(
251
+ FocusScope,
252
+ {
253
+ asChild: true,
254
+ trapped: trapFocus,
255
+ onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {
256
+ event.preventDefault();
257
+ contentRef.current?.focus({ preventScroll: true });
258
+ }),
259
+ onUnmountAutoFocus: onCloseAutoFocus,
260
+ children: /* @__PURE__ */ jsx(
261
+ DismissableLayer,
262
+ {
263
+ asChild: true,
264
+ disableOutsidePointerEvents,
265
+ onEscapeKeyDown,
266
+ onPointerDownOutside,
267
+ onFocusOutside,
268
+ onInteractOutside,
269
+ onDismiss,
270
+ children: /* @__PURE__ */ jsx(
271
+ Root,
272
+ {
273
+ asChild: true,
274
+ ...rovingFocusGroupScope,
275
+ dir: rootContext.dir,
276
+ orientation: "vertical",
277
+ loop,
278
+ currentTabStopId: currentItemId,
279
+ onCurrentTabStopIdChange: setCurrentItemId,
280
+ onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {
281
+ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
282
+ }),
283
+ preventScrollOnEntryFocus: true,
284
+ children: /* @__PURE__ */ jsx(
285
+ Content,
286
+ {
287
+ role: "menu",
288
+ "aria-orientation": "vertical",
289
+ "data-state": getOpenState(context.open),
290
+ "data-radix-menu-content": "",
291
+ dir: rootContext.dir,
292
+ ...popperScope,
293
+ ...contentProps,
294
+ ref: composedRefs,
295
+ style: { outline: "none", ...contentProps.style },
296
+ onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
297
+ const target = event.target;
298
+ const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget;
299
+ const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
300
+ const isCharacterKey = event.key.length === 1;
301
+ if (isKeyDownInside) {
302
+ if (event.key === "Tab") event.preventDefault();
303
+ if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
304
+ }
305
+ const content = contentRef.current;
306
+ if (event.target !== content) return;
307
+ if (!FIRST_LAST_KEYS.includes(event.key)) return;
308
+ event.preventDefault();
309
+ const items = getItems().filter((item) => !item.disabled);
310
+ const candidateNodes = items.map((item) => item.ref.current);
311
+ if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
312
+ focusFirst(candidateNodes);
313
+ }),
314
+ onBlur: composeEventHandlers(props.onBlur, (event) => {
315
+ if (!event.currentTarget.contains(event.target)) {
316
+ window.clearTimeout(timerRef.current);
317
+ searchRef.current = "";
318
+ }
319
+ }),
320
+ onPointerMove: composeEventHandlers(
321
+ props.onPointerMove,
322
+ whenMouse((event) => {
323
+ const target = event.target;
324
+ const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
325
+ if (event.currentTarget.contains(target) && pointerXHasChanged) {
326
+ const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
327
+ pointerDirRef.current = newDir;
328
+ lastPointerXRef.current = event.clientX;
329
+ }
330
+ })
331
+ )
332
+ }
333
+ )
334
+ }
335
+ )
336
+ }
337
+ )
338
+ }
339
+ ) })
340
+ }
341
+ );
342
+ }
343
+ );
344
+ MenuContent.displayName = CONTENT_NAME;
345
+ var GROUP_NAME = "MenuGroup";
346
+ var MenuGroup = React.forwardRef(
347
+ (props, forwardedRef) => {
348
+ const { __scopeMenu, ...groupProps } = props;
349
+ return /* @__PURE__ */ jsx(Primitive.div, { role: "group", ...groupProps, ref: forwardedRef });
350
+ }
351
+ );
352
+ MenuGroup.displayName = GROUP_NAME;
353
+ var LABEL_NAME = "MenuLabel";
354
+ var MenuLabel = React.forwardRef(
355
+ (props, forwardedRef) => {
356
+ const { __scopeMenu, ...labelProps } = props;
357
+ return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });
358
+ }
359
+ );
360
+ MenuLabel.displayName = LABEL_NAME;
361
+ var ITEM_NAME = "MenuItem";
362
+ var ITEM_SELECT = "menu.itemSelect";
363
+ var MenuItem = React.forwardRef(
364
+ (props, forwardedRef) => {
365
+ const { disabled = false, onSelect, ...itemProps } = props;
366
+ const ref = React.useRef(null);
367
+ const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);
368
+ const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);
369
+ const composedRefs = useComposedRefs(forwardedRef, ref);
370
+ const isPointerDownRef = React.useRef(false);
371
+ const handleSelect = () => {
372
+ const menuItem = ref.current;
373
+ if (!disabled && menuItem) {
374
+ const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });
375
+ menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });
376
+ dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
377
+ if (itemSelectEvent.defaultPrevented) {
378
+ isPointerDownRef.current = false;
379
+ } else {
380
+ rootContext.onClose();
411
381
  }
382
+ }
412
383
  };
413
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuItemImpl, _extends({}, itemProps, {
384
+ return /* @__PURE__ */ jsx(
385
+ MenuItemImpl,
386
+ {
387
+ ...itemProps,
414
388
  ref: composedRefs,
415
- disabled: disabled,
416
- onClick: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onClick, handleSelect),
417
- onPointerDown: (event)=>{
418
- var _props$onPointerDown;
419
- (_props$onPointerDown = props.onPointerDown) === null || _props$onPointerDown === void 0 || _props$onPointerDown.call(props, event);
420
- isPointerDownRef.current = true;
389
+ disabled,
390
+ onClick: composeEventHandlers(props.onClick, handleSelect),
391
+ onPointerDown: (event) => {
392
+ props.onPointerDown?.(event);
393
+ isPointerDownRef.current = true;
421
394
  },
422
- onPointerUp: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerUp, (event)=>{
423
- var _event$currentTarget;
424
- // Pointer down can move to a different menu item which should activate it on pointer up.
425
- // We dispatch a click for selection to allow composition with click based triggers and to
426
- // prevent Firefox from getting stuck in text selection mode when the menu closes.
427
- if (!isPointerDownRef.current) (_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 || _event$currentTarget.click();
395
+ onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
396
+ if (!isPointerDownRef.current) event.currentTarget?.click();
428
397
  }),
429
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
430
- const isTypingAhead = contentContext.searchRef.current !== '';
431
- if (disabled || isTypingAhead && event.key === ' ') return;
432
- if ($6cc32821e9371a1c$var$SELECTION_KEYS.includes(event.key)) {
433
- event.currentTarget.click();
434
- /**
435
- * We prevent default browser behaviour for selection keys as they should trigger
436
- * a selection only:
437
- * - prevents space from scrolling the page.
438
- * - if keydown causes focus to move, prevents keydown from firing on the new target.
439
- */ event.preventDefault();
440
- }
398
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
399
+ const isTypingAhead = contentContext.searchRef.current !== "";
400
+ if (disabled || isTypingAhead && event.key === " ") return;
401
+ if (SELECTION_KEYS.includes(event.key)) {
402
+ event.currentTarget.click();
403
+ event.preventDefault();
404
+ }
441
405
  })
442
- }));
443
- });
444
- /* ---------------------------------------------------------------------------------------------- */ const $6cc32821e9371a1c$var$MenuItemImpl = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
445
- const { __scopeMenu: __scopeMenu , disabled: disabled = false , textValue: textValue , ...itemProps } = props;
446
- const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$ITEM_NAME, __scopeMenu);
447
- const rovingFocusGroupScope = $6cc32821e9371a1c$var$useRovingFocusGroupScope(__scopeMenu);
448
- const ref = useRef(null);
449
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
450
- const [isFocused, setIsFocused] = useState(false); // get the item's `.textContent` as default strategy for typeahead `textValue`
451
- const [textContent, setTextContent] = useState('');
452
- useEffect(()=>{
453
- const menuItem = ref.current;
454
- if (menuItem) {
455
- var _menuItem$textContent;
456
- setTextContent(((_menuItem$textContent = menuItem.textContent) !== null && _menuItem$textContent !== void 0 ? _menuItem$textContent : '').trim());
457
- }
458
- }, [
459
- itemProps.children
460
- ]);
461
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$Collection.ItemSlot, {
406
+ }
407
+ );
408
+ }
409
+ );
410
+ MenuItem.displayName = ITEM_NAME;
411
+ var MenuItemImpl = React.forwardRef(
412
+ (props, forwardedRef) => {
413
+ const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
414
+ const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);
415
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
416
+ const ref = React.useRef(null);
417
+ const composedRefs = useComposedRefs(forwardedRef, ref);
418
+ const [isFocused, setIsFocused] = React.useState(false);
419
+ const [textContent, setTextContent] = React.useState("");
420
+ React.useEffect(() => {
421
+ const menuItem = ref.current;
422
+ if (menuItem) {
423
+ setTextContent((menuItem.textContent ?? "").trim());
424
+ }
425
+ }, [itemProps.children]);
426
+ return /* @__PURE__ */ jsx(
427
+ Collection.ItemSlot,
428
+ {
462
429
  scope: __scopeMenu,
463
- disabled: disabled,
464
- textValue: textValue !== null && textValue !== void 0 ? textValue : textContent
465
- }, /*#__PURE__*/ createElement($d7bdfb9eb0fdf311$export$6d08773d2e66f8f2, _extends({
466
- asChild: true
467
- }, rovingFocusGroupScope, {
468
- focusable: !disabled
469
- }), /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
470
- role: "menuitem",
471
- "data-highlighted": isFocused ? '' : undefined,
472
- "aria-disabled": disabled || undefined,
473
- "data-disabled": disabled ? '' : undefined
474
- }, itemProps, {
475
- ref: composedRefs,
476
- onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
477
- if (disabled) contentContext.onItemLeave(event);
478
- else {
479
- contentContext.onItemEnter(event);
480
- if (!event.defaultPrevented) {
430
+ disabled,
431
+ textValue: textValue ?? textContent,
432
+ children: /* @__PURE__ */ jsx(Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(
433
+ Primitive.div,
434
+ {
435
+ role: "menuitem",
436
+ "data-highlighted": isFocused ? "" : void 0,
437
+ "aria-disabled": disabled || void 0,
438
+ "data-disabled": disabled ? "" : void 0,
439
+ ...itemProps,
440
+ ref: composedRefs,
441
+ onPointerMove: composeEventHandlers(
442
+ props.onPointerMove,
443
+ whenMouse((event) => {
444
+ if (disabled) {
445
+ contentContext.onItemLeave(event);
446
+ } else {
447
+ contentContext.onItemEnter(event);
448
+ if (!event.defaultPrevented) {
481
449
  const item = event.currentTarget;
482
- item.focus();
450
+ item.focus({ preventScroll: true });
451
+ }
483
452
  }
484
- }
485
- })),
486
- onPointerLeave: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>contentContext.onItemLeave(event)
487
- )),
488
- onFocus: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocus, ()=>setIsFocused(true)
489
- ),
490
- onBlur: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onBlur, ()=>setIsFocused(false)
491
- )
492
- }))));
493
- });
494
- const $6cc32821e9371a1c$export$f6f243521332502d = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
495
- const { checked: checked = false , onCheckedChange: onCheckedChange , ...checkboxItemProps } = props;
496
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$ItemIndicatorProvider, {
497
- scope: props.__scopeMenu,
498
- checked: checked
499
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$export$2ce376c2cc3355c8, _extends({
453
+ })
454
+ ),
455
+ onPointerLeave: composeEventHandlers(
456
+ props.onPointerLeave,
457
+ whenMouse((event) => contentContext.onItemLeave(event))
458
+ ),
459
+ onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),
460
+ onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))
461
+ }
462
+ ) })
463
+ }
464
+ );
465
+ }
466
+ );
467
+ var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
468
+ var MenuCheckboxItem = React.forwardRef(
469
+ (props, forwardedRef) => {
470
+ const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
471
+ return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
472
+ MenuItem,
473
+ {
500
474
  role: "menuitemcheckbox",
501
- "aria-checked": $6cc32821e9371a1c$var$isIndeterminate(checked) ? 'mixed' : checked
502
- }, checkboxItemProps, {
475
+ "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
476
+ ...checkboxItemProps,
503
477
  ref: forwardedRef,
504
- "data-state": $6cc32821e9371a1c$var$getCheckedState(checked),
505
- onSelect: $e42e1063c40fb3ef$export$b9ecd428b558ff10(checkboxItemProps.onSelect, ()=>onCheckedChange === null || onCheckedChange === void 0 ? void 0 : onCheckedChange($6cc32821e9371a1c$var$isIndeterminate(checked) ? true : !checked)
506
- , {
507
- checkForDefaultPrevented: false
508
- })
509
- })));
510
- });
511
- /* -------------------------------------------------------------------------------------------------
512
- * MenuRadioGroup
513
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$RADIO_GROUP_NAME = 'MenuRadioGroup';
514
- const [$6cc32821e9371a1c$var$RadioGroupProvider, $6cc32821e9371a1c$var$useRadioGroupContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$RADIO_GROUP_NAME, {
515
- value: undefined,
516
- onValueChange: ()=>{}
517
- });
518
- const $6cc32821e9371a1c$export$ea2200c9eee416b3 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
519
- const { value: value , onValueChange: onValueChange , ...groupProps } = props;
520
- const handleValueChange = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onValueChange);
521
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$RadioGroupProvider, {
522
- scope: props.__scopeMenu,
523
- value: value,
524
- onValueChange: handleValueChange
525
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$export$22a631d1f72787bb, _extends({}, groupProps, {
526
- ref: forwardedRef
527
- })));
528
- });
529
- /* -------------------------------------------------------------------------------------------------
530
- * MenuRadioItem
531
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$RADIO_ITEM_NAME = 'MenuRadioItem';
532
- const $6cc32821e9371a1c$export$69bd225e9817f6d0 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
533
- const { value: value , ...radioItemProps } = props;
534
- const context = $6cc32821e9371a1c$var$useRadioGroupContext($6cc32821e9371a1c$var$RADIO_ITEM_NAME, props.__scopeMenu);
478
+ "data-state": getCheckedState(checked),
479
+ onSelect: composeEventHandlers(
480
+ checkboxItemProps.onSelect,
481
+ () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),
482
+ { checkForDefaultPrevented: false }
483
+ )
484
+ }
485
+ ) });
486
+ }
487
+ );
488
+ MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
489
+ var RADIO_GROUP_NAME = "MenuRadioGroup";
490
+ var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(
491
+ RADIO_GROUP_NAME,
492
+ { value: void 0, onValueChange: () => {
493
+ } }
494
+ );
495
+ var MenuRadioGroup = React.forwardRef(
496
+ (props, forwardedRef) => {
497
+ const { value, onValueChange, ...groupProps } = props;
498
+ const handleValueChange = useCallbackRef(onValueChange);
499
+ return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });
500
+ }
501
+ );
502
+ MenuRadioGroup.displayName = RADIO_GROUP_NAME;
503
+ var RADIO_ITEM_NAME = "MenuRadioItem";
504
+ var MenuRadioItem = React.forwardRef(
505
+ (props, forwardedRef) => {
506
+ const { value, ...radioItemProps } = props;
507
+ const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
535
508
  const checked = value === context.value;
536
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$ItemIndicatorProvider, {
537
- scope: props.__scopeMenu,
538
- checked: checked
539
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$export$2ce376c2cc3355c8, _extends({
509
+ return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
510
+ MenuItem,
511
+ {
540
512
  role: "menuitemradio",
541
- "aria-checked": checked
542
- }, radioItemProps, {
543
- ref: forwardedRef,
544
- "data-state": $6cc32821e9371a1c$var$getCheckedState(checked),
545
- onSelect: $e42e1063c40fb3ef$export$b9ecd428b558ff10(radioItemProps.onSelect, ()=>{
546
- var _context$onValueChang;
547
- return (_context$onValueChang = context.onValueChange) === null || _context$onValueChang === void 0 ? void 0 : _context$onValueChang.call(context, value);
548
- }, {
549
- checkForDefaultPrevented: false
550
- })
551
- })));
552
- });
553
- /* -------------------------------------------------------------------------------------------------
554
- * MenuItemIndicator
555
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$ITEM_INDICATOR_NAME = 'MenuItemIndicator';
556
- const [$6cc32821e9371a1c$var$ItemIndicatorProvider, $6cc32821e9371a1c$var$useItemIndicatorContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME, {
557
- checked: false
558
- });
559
- const $6cc32821e9371a1c$export$a2593e23056970a3 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
560
- const { __scopeMenu: __scopeMenu , forceMount: forceMount , ...itemIndicatorProps } = props;
561
- const indicatorContext = $6cc32821e9371a1c$var$useItemIndicatorContext($6cc32821e9371a1c$var$ITEM_INDICATOR_NAME, __scopeMenu);
562
- return /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
563
- present: forceMount || $6cc32821e9371a1c$var$isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true
564
- }, /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.span, _extends({}, itemIndicatorProps, {
513
+ "aria-checked": checked,
514
+ ...radioItemProps,
565
515
  ref: forwardedRef,
566
- "data-state": $6cc32821e9371a1c$var$getCheckedState(indicatorContext.checked)
567
- })));
568
- });
569
- const $6cc32821e9371a1c$export$1cec7dcdd713e220 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
570
- const { __scopeMenu: __scopeMenu , ...separatorProps } = props;
571
- return /*#__PURE__*/ createElement($8927f6f2acc4f386$export$250ffa63cdc0d034.div, _extends({
516
+ "data-state": getCheckedState(checked),
517
+ onSelect: composeEventHandlers(
518
+ radioItemProps.onSelect,
519
+ () => context.onValueChange?.(value),
520
+ { checkForDefaultPrevented: false }
521
+ )
522
+ }
523
+ ) });
524
+ }
525
+ );
526
+ MenuRadioItem.displayName = RADIO_ITEM_NAME;
527
+ var ITEM_INDICATOR_NAME = "MenuItemIndicator";
528
+ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
529
+ ITEM_INDICATOR_NAME,
530
+ { checked: false }
531
+ );
532
+ var MenuItemIndicator = React.forwardRef(
533
+ (props, forwardedRef) => {
534
+ const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
535
+ const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
536
+ return /* @__PURE__ */ jsx(
537
+ Presence,
538
+ {
539
+ present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
540
+ children: /* @__PURE__ */ jsx(
541
+ Primitive.span,
542
+ {
543
+ ...itemIndicatorProps,
544
+ ref: forwardedRef,
545
+ "data-state": getCheckedState(indicatorContext.checked)
546
+ }
547
+ )
548
+ }
549
+ );
550
+ }
551
+ );
552
+ MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
553
+ var SEPARATOR_NAME = "MenuSeparator";
554
+ var MenuSeparator = React.forwardRef(
555
+ (props, forwardedRef) => {
556
+ const { __scopeMenu, ...separatorProps } = props;
557
+ return /* @__PURE__ */ jsx(
558
+ Primitive.div,
559
+ {
572
560
  role: "separator",
573
- "aria-orientation": "horizontal"
574
- }, separatorProps, {
561
+ "aria-orientation": "horizontal",
562
+ ...separatorProps,
575
563
  ref: forwardedRef
576
- }));
577
- });
578
- /* -------------------------------------------------------------------------------------------------
579
- * MenuSub
580
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_NAME = 'MenuSub';
581
- const [$6cc32821e9371a1c$var$MenuSubProvider, $6cc32821e9371a1c$var$useMenuSubContext] = $6cc32821e9371a1c$var$createMenuContext($6cc32821e9371a1c$var$SUB_NAME);
582
- const $6cc32821e9371a1c$export$71bdb9d1e2909932 = (props)=>{
583
- const { __scopeMenu: __scopeMenu , children: children , open: open = false , onOpenChange: onOpenChange } = props;
584
- const parentMenuContext = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_NAME, __scopeMenu);
585
- const popperScope = $6cc32821e9371a1c$var$usePopperScope(__scopeMenu);
586
- const [trigger, setTrigger] = useState(null);
587
- const [content, setContent] = useState(null);
588
- const handleOpenChange = $b1b2314f5f9a1d84$export$25bec8c6f54ee79a(onOpenChange); // Prevent the parent menu from reopening with open submenus.
589
- useEffect(()=>{
590
- if (parentMenuContext.open === false) handleOpenChange(false);
591
- return ()=>handleOpenChange(false)
592
- ;
593
- }, [
594
- parentMenuContext.open,
595
- handleOpenChange
596
- ]);
597
- return /*#__PURE__*/ createElement($cf1ac5d9fe0e8206$export$be92b6f5f03c0fe9, popperScope, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuProvider, {
598
- scope: __scopeMenu,
599
- open: open,
600
- onOpenChange: handleOpenChange,
601
- content: content,
602
- onContentChange: setContent
603
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuSubProvider, {
604
- scope: __scopeMenu,
605
- contentId: $1746a345f3d73bb7$export$f680877a34711e37(),
606
- triggerId: $1746a345f3d73bb7$export$f680877a34711e37(),
607
- trigger: trigger,
608
- onTriggerChange: setTrigger
609
- }, children)));
564
+ }
565
+ );
566
+ }
567
+ );
568
+ MenuSeparator.displayName = SEPARATOR_NAME;
569
+ var ARROW_NAME = "MenuArrow";
570
+ var MenuArrow = React.forwardRef(
571
+ (props, forwardedRef) => {
572
+ const { __scopeMenu, ...arrowProps } = props;
573
+ const popperScope = usePopperScope(__scopeMenu);
574
+ return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
575
+ }
576
+ );
577
+ MenuArrow.displayName = ARROW_NAME;
578
+ var SUB_NAME = "MenuSub";
579
+ var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
580
+ var MenuSub = (props) => {
581
+ const { __scopeMenu, children, open = false, onOpenChange } = props;
582
+ const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);
583
+ const popperScope = usePopperScope(__scopeMenu);
584
+ const [trigger, setTrigger] = React.useState(null);
585
+ const [content, setContent] = React.useState(null);
586
+ const handleOpenChange = useCallbackRef(onOpenChange);
587
+ React.useEffect(() => {
588
+ if (parentMenuContext.open === false) handleOpenChange(false);
589
+ return () => handleOpenChange(false);
590
+ }, [parentMenuContext.open, handleOpenChange]);
591
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
592
+ MenuProvider,
593
+ {
594
+ scope: __scopeMenu,
595
+ open,
596
+ onOpenChange: handleOpenChange,
597
+ content,
598
+ onContentChange: setContent,
599
+ children: /* @__PURE__ */ jsx(
600
+ MenuSubProvider,
601
+ {
602
+ scope: __scopeMenu,
603
+ contentId: useId(),
604
+ triggerId: useId(),
605
+ trigger,
606
+ onTriggerChange: setTrigger,
607
+ children
608
+ }
609
+ )
610
+ }
611
+ ) });
610
612
  };
611
- /* -------------------------------------------------------------------------------------------------
612
- * MenuSubTrigger
613
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_TRIGGER_NAME = 'MenuSubTrigger';
614
- const $6cc32821e9371a1c$export$5fbbb3ba7297405f = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
615
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
616
- const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
617
- const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
618
- const contentContext = $6cc32821e9371a1c$var$useMenuContentContext($6cc32821e9371a1c$var$SUB_TRIGGER_NAME, props.__scopeMenu);
619
- const openTimerRef = useRef(null);
620
- const { pointerGraceTimerRef: pointerGraceTimerRef , onPointerGraceIntentChange: onPointerGraceIntentChange } = contentContext;
621
- const scope = {
622
- __scopeMenu: props.__scopeMenu
623
- };
624
- const clearOpenTimer = useCallback(()=>{
625
- if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
626
- openTimerRef.current = null;
613
+ MenuSub.displayName = SUB_NAME;
614
+ var SUB_TRIGGER_NAME = "MenuSubTrigger";
615
+ var MenuSubTrigger = React.forwardRef(
616
+ (props, forwardedRef) => {
617
+ const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
618
+ const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
619
+ const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
620
+ const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
621
+ const openTimerRef = React.useRef(null);
622
+ const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
623
+ const scope = { __scopeMenu: props.__scopeMenu };
624
+ const clearOpenTimer = React.useCallback(() => {
625
+ if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
626
+ openTimerRef.current = null;
627
627
  }, []);
628
- useEffect(()=>clearOpenTimer
629
- , [
630
- clearOpenTimer
631
- ]);
632
- useEffect(()=>{
633
- const pointerGraceTimer = pointerGraceTimerRef.current;
634
- return ()=>{
635
- window.clearTimeout(pointerGraceTimer);
636
- onPointerGraceIntentChange(null);
637
- };
638
- }, [
639
- pointerGraceTimerRef,
640
- onPointerGraceIntentChange
641
- ]);
642
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$export$9fa5ebd18bee4d43, _extends({
643
- asChild: true
644
- }, scope), /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuItemImpl, _extends({
628
+ React.useEffect(() => clearOpenTimer, [clearOpenTimer]);
629
+ React.useEffect(() => {
630
+ const pointerGraceTimer = pointerGraceTimerRef.current;
631
+ return () => {
632
+ window.clearTimeout(pointerGraceTimer);
633
+ onPointerGraceIntentChange(null);
634
+ };
635
+ }, [pointerGraceTimerRef, onPointerGraceIntentChange]);
636
+ return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(
637
+ MenuItemImpl,
638
+ {
645
639
  id: subContext.triggerId,
646
640
  "aria-haspopup": "menu",
647
641
  "aria-expanded": context.open,
648
642
  "aria-controls": subContext.contentId,
649
- "data-state": $6cc32821e9371a1c$var$getOpenState(context.open)
650
- }, props, {
651
- ref: $6ed0406888f73fc4$export$43e446d32b3d21af(forwardedRef, subContext.onTriggerChange) // This is redundant for mouse users but we cannot determine pointer type from
652
- ,
653
- onClick: (event)=>{
654
- var _props$onClick;
655
- (_props$onClick = props.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props, event);
656
- if (props.disabled || event.defaultPrevented) return;
657
- /**
658
- * We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
659
- * and we rely heavily on `onFocusOutside` for submenus to close when switching
660
- * between separate submenus.
661
- */ event.currentTarget.focus();
662
- if (!context.open) context.onOpenChange(true);
643
+ "data-state": getOpenState(context.open),
644
+ ...props,
645
+ ref: composeRefs(forwardedRef, subContext.onTriggerChange),
646
+ onClick: (event) => {
647
+ props.onClick?.(event);
648
+ if (props.disabled || event.defaultPrevented) return;
649
+ event.currentTarget.focus();
650
+ if (!context.open) context.onOpenChange(true);
663
651
  },
664
- onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
652
+ onPointerMove: composeEventHandlers(
653
+ props.onPointerMove,
654
+ whenMouse((event) => {
665
655
  contentContext.onItemEnter(event);
666
656
  if (event.defaultPrevented) return;
667
657
  if (!props.disabled && !context.open && !openTimerRef.current) {
668
- contentContext.onPointerGraceIntentChange(null);
669
- openTimerRef.current = window.setTimeout(()=>{
670
- context.onOpenChange(true);
671
- clearOpenTimer();
672
- }, 100);
658
+ contentContext.onPointerGraceIntentChange(null);
659
+ openTimerRef.current = window.setTimeout(() => {
660
+ context.onOpenChange(true);
661
+ clearOpenTimer();
662
+ }, 100);
673
663
  }
674
- })),
675
- onPointerLeave: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
676
- var _context$content;
664
+ })
665
+ ),
666
+ onPointerLeave: composeEventHandlers(
667
+ props.onPointerLeave,
668
+ whenMouse((event) => {
677
669
  clearOpenTimer();
678
- const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
670
+ const contentRect = context.content?.getBoundingClientRect();
679
671
  if (contentRect) {
680
- var _context$content2;
681
- // TODO: make sure to update this when we change positioning logic
682
- const side = (_context$content2 = context.content) === null || _context$content2 === void 0 ? void 0 : _context$content2.dataset.side;
683
- const rightSide = side === 'right';
684
- const bleed = rightSide ? -5 : 5;
685
- const contentNearEdge = contentRect[rightSide ? 'left' : 'right'];
686
- const contentFarEdge = contentRect[rightSide ? 'right' : 'left'];
687
- contentContext.onPointerGraceIntentChange({
688
- area: [
689
- // consistently within polygon bounds
690
- {
691
- x: event.clientX + bleed,
692
- y: event.clientY
693
- },
694
- {
695
- x: contentNearEdge,
696
- y: contentRect.top
697
- },
698
- {
699
- x: contentFarEdge,
700
- y: contentRect.top
701
- },
702
- {
703
- x: contentFarEdge,
704
- y: contentRect.bottom
705
- },
706
- {
707
- x: contentNearEdge,
708
- y: contentRect.bottom
709
- }
710
- ],
711
- side: side
712
- });
713
- window.clearTimeout(pointerGraceTimerRef.current);
714
- pointerGraceTimerRef.current = window.setTimeout(()=>contentContext.onPointerGraceIntentChange(null)
715
- , 300);
672
+ const side = context.content?.dataset.side;
673
+ const rightSide = side === "right";
674
+ const bleed = rightSide ? -5 : 5;
675
+ const contentNearEdge = contentRect[rightSide ? "left" : "right"];
676
+ const contentFarEdge = contentRect[rightSide ? "right" : "left"];
677
+ contentContext.onPointerGraceIntentChange({
678
+ area: [
679
+ // Apply a bleed on clientX to ensure that our exit point is
680
+ // consistently within polygon bounds
681
+ { x: event.clientX + bleed, y: event.clientY },
682
+ { x: contentNearEdge, y: contentRect.top },
683
+ { x: contentFarEdge, y: contentRect.top },
684
+ { x: contentFarEdge, y: contentRect.bottom },
685
+ { x: contentNearEdge, y: contentRect.bottom }
686
+ ],
687
+ side
688
+ });
689
+ window.clearTimeout(pointerGraceTimerRef.current);
690
+ pointerGraceTimerRef.current = window.setTimeout(
691
+ () => contentContext.onPointerGraceIntentChange(null),
692
+ 300
693
+ );
716
694
  } else {
717
- contentContext.onTriggerLeave(event);
718
- if (event.defaultPrevented) return; // There's 100ms where the user may leave an item before the submenu was opened.
719
- contentContext.onPointerGraceIntentChange(null);
720
- }
721
- })),
722
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
723
- const isTypingAhead = contentContext.searchRef.current !== '';
724
- if (props.disabled || isTypingAhead && event.key === ' ') return;
725
- if ($6cc32821e9371a1c$var$SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
726
- var _context$content3;
727
- context.onOpenChange(true); // The trigger may hold focus if opened via pointer interaction
728
- // so we ensure content is given focus again when switching to keyboard.
729
- (_context$content3 = context.content) === null || _context$content3 === void 0 || _context$content3.focus(); // prevent window from scrolling
730
- event.preventDefault();
695
+ contentContext.onTriggerLeave(event);
696
+ if (event.defaultPrevented) return;
697
+ contentContext.onPointerGraceIntentChange(null);
731
698
  }
699
+ })
700
+ ),
701
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
702
+ const isTypingAhead = contentContext.searchRef.current !== "";
703
+ if (props.disabled || isTypingAhead && event.key === " ") return;
704
+ if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
705
+ context.onOpenChange(true);
706
+ context.content?.focus();
707
+ event.preventDefault();
708
+ }
732
709
  })
733
- })));
734
- });
735
- /* -------------------------------------------------------------------------------------------------
736
- * MenuSubContent
737
- * -----------------------------------------------------------------------------------------------*/ const $6cc32821e9371a1c$var$SUB_CONTENT_NAME = 'MenuSubContent';
738
- const $6cc32821e9371a1c$export$e7142ab31822bde6 = /*#__PURE__*/ forwardRef((props, forwardedRef)=>{
739
- const portalContext = $6cc32821e9371a1c$var$usePortalContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
740
- const { forceMount: forceMount = portalContext.forceMount , ...subContentProps } = props;
741
- const context = $6cc32821e9371a1c$var$useMenuContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
742
- const rootContext = $6cc32821e9371a1c$var$useMenuRootContext($6cc32821e9371a1c$var$CONTENT_NAME, props.__scopeMenu);
743
- const subContext = $6cc32821e9371a1c$var$useMenuSubContext($6cc32821e9371a1c$var$SUB_CONTENT_NAME, props.__scopeMenu);
744
- const ref = useRef(null);
745
- const composedRefs = $6ed0406888f73fc4$export$c7b2cbe3552a0d05(forwardedRef, ref);
746
- return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$Collection.Provider, {
747
- scope: props.__scopeMenu
748
- }, /*#__PURE__*/ createElement($921a889cee6df7e8$export$99c2b779aa4e8b8b, {
749
- present: forceMount || context.open
750
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$Collection.Slot, {
751
- scope: props.__scopeMenu
752
- }, /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuContentImpl, _extends({
710
+ }
711
+ ) });
712
+ }
713
+ );
714
+ MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
715
+ var SUB_CONTENT_NAME = "MenuSubContent";
716
+ var MenuSubContent = React.forwardRef(
717
+ (props, forwardedRef) => {
718
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
719
+ const { forceMount = portalContext.forceMount, ...subContentProps } = props;
720
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
721
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
722
+ const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
723
+ const ref = React.useRef(null);
724
+ const composedRefs = useComposedRefs(forwardedRef, ref);
725
+ 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(
726
+ MenuContentImpl,
727
+ {
753
728
  id: subContext.contentId,
754
- "aria-labelledby": subContext.triggerId
755
- }, subContentProps, {
729
+ "aria-labelledby": subContext.triggerId,
730
+ ...subContentProps,
756
731
  ref: composedRefs,
757
732
  align: "start",
758
- side: rootContext.dir === 'rtl' ? 'left' : 'right',
733
+ side: rootContext.dir === "rtl" ? "left" : "right",
759
734
  disableOutsidePointerEvents: false,
760
735
  disableOutsideScroll: false,
761
736
  trapFocus: false,
762
- onOpenAutoFocus: (event)=>{
763
- var _ref$current;
764
- // when opening a submenu, focus content for keyboard users only
765
- if (rootContext.isUsingKeyboardRef.current) (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.focus();
766
- event.preventDefault();
767
- } // The menu might close because of focusing another menu item in the parent menu. We
768
- ,
769
- onCloseAutoFocus: (event)=>event.preventDefault()
770
- ,
771
- onFocusOutside: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onFocusOutside, (event)=>{
772
- // We prevent closing when the trigger is focused to avoid triggering a re-open animation
773
- // on pointer interaction.
774
- if (event.target !== subContext.trigger) context.onOpenChange(false);
737
+ onOpenAutoFocus: (event) => {
738
+ if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();
739
+ event.preventDefault();
740
+ },
741
+ onCloseAutoFocus: (event) => event.preventDefault(),
742
+ onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {
743
+ if (event.target !== subContext.trigger) context.onOpenChange(false);
775
744
  }),
776
- onEscapeKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onEscapeKeyDown, (event)=>{
777
- rootContext.onClose(); // ensure pressing escape in submenu doesn't escape full screen mode
778
- event.preventDefault();
745
+ onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {
746
+ rootContext.onClose();
747
+ event.preventDefault();
779
748
  }),
780
- onKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onKeyDown, (event)=>{
781
- // Submenu key events bubble through portals. We only care about keys in this menu.
782
- const isKeyDownInside = event.currentTarget.contains(event.target);
783
- const isCloseKey = $6cc32821e9371a1c$var$SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
784
- if (isKeyDownInside && isCloseKey) {
785
- var _subContext$trigger;
786
- context.onOpenChange(false); // We focus manually because we prevented it in `onCloseAutoFocus`
787
- (_subContext$trigger = subContext.trigger) === null || _subContext$trigger === void 0 || _subContext$trigger.focus(); // prevent window from scrolling
788
- event.preventDefault();
789
- }
749
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
750
+ const isKeyDownInside = event.currentTarget.contains(event.target);
751
+ const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
752
+ if (isKeyDownInside && isCloseKey) {
753
+ context.onOpenChange(false);
754
+ subContext.trigger?.focus();
755
+ event.preventDefault();
756
+ }
790
757
  })
791
- })))));
792
- });
793
- /* -----------------------------------------------------------------------------------------------*/ function $6cc32821e9371a1c$var$getOpenState(open) {
794
- return open ? 'open' : 'closed';
758
+ }
759
+ ) }) }) });
760
+ }
761
+ );
762
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
763
+ function getOpenState(open) {
764
+ return open ? "open" : "closed";
795
765
  }
796
- function $6cc32821e9371a1c$var$isIndeterminate(checked) {
797
- return checked === 'indeterminate';
766
+ function isIndeterminate(checked) {
767
+ return checked === "indeterminate";
798
768
  }
799
- function $6cc32821e9371a1c$var$getCheckedState(checked) {
800
- return $6cc32821e9371a1c$var$isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';
769
+ function getCheckedState(checked) {
770
+ return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
801
771
  }
802
- function $6cc32821e9371a1c$var$focusFirst(candidates) {
803
- const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
804
- for (const candidate of candidates){
805
- // if focus is already where we want to go, we don't want to keep going through the candidates
806
- if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
807
- candidate.focus();
808
- if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
809
- }
772
+ function focusFirst(candidates) {
773
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
774
+ for (const candidate of candidates) {
775
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
776
+ candidate.focus();
777
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
778
+ }
810
779
  }
811
- /**
812
- * Wraps an array around itself at a given start index
813
- * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
814
- */ function $6cc32821e9371a1c$var$wrapArray(array, startIndex) {
815
- return array.map((_, index)=>array[(startIndex + index) % array.length]
816
- );
780
+ function wrapArray(array, startIndex) {
781
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
817
782
  }
818
- /**
819
- * This is the "meat" of the typeahead matching logic. It takes in all the values,
820
- * the search and the current match, and returns the next match (or `undefined`).
821
- *
822
- * We normalize the search because if a user has repeatedly pressed a character,
823
- * we want the exact same behavior as if we only had that one character
824
- * (ie. cycle through options starting with that character)
825
- *
826
- * We also reorder the values by wrapping the array around the current match.
827
- * This is so we always look forward from the current match, and picking the first
828
- * match will always be the correct one.
829
- *
830
- * Finally, if the normalized search is exactly one character, we exclude the
831
- * current match from the values because otherwise it would be the first to match always
832
- * and focus would never move. This is as opposed to the regular case, where we
833
- * don't want focus to move if the current match still matches.
834
- */ function $6cc32821e9371a1c$var$getNextMatch(values, search, currentMatch) {
835
- const isRepeated = search.length > 1 && Array.from(search).every((char)=>char === search[0]
836
- );
837
- const normalizedSearch = isRepeated ? search[0] : search;
838
- const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
839
- let wrappedValues = $6cc32821e9371a1c$var$wrapArray(values, Math.max(currentMatchIndex, 0));
840
- const excludeCurrentMatch = normalizedSearch.length === 1;
841
- if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v)=>v !== currentMatch
842
- );
843
- const nextMatch = wrappedValues.find((value)=>value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
844
- );
845
- return nextMatch !== currentMatch ? nextMatch : undefined;
783
+ function getNextMatch(values, search, currentMatch) {
784
+ const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);
785
+ const normalizedSearch = isRepeated ? search[0] : search;
786
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
787
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
788
+ const excludeCurrentMatch = normalizedSearch.length === 1;
789
+ if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
790
+ const nextMatch = wrappedValues.find(
791
+ (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
792
+ );
793
+ return nextMatch !== currentMatch ? nextMatch : void 0;
846
794
  }
847
- // Determine if a point is inside of a polygon.
848
- // Based on https://github.com/substack/point-in-polygon
849
- function $6cc32821e9371a1c$var$isPointInPolygon(point, polygon) {
850
- const { x: x , y: y } = point;
851
- let inside = false;
852
- for(let i = 0, j = polygon.length - 1; i < polygon.length; j = i++){
853
- const xi = polygon[i].x;
854
- const yi = polygon[i].y;
855
- const xj = polygon[j].x;
856
- const yj = polygon[j].y; // prettier-ignore
857
- const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
858
- if (intersect) inside = !inside;
859
- }
860
- return inside;
795
+ function isPointInPolygon(point, polygon) {
796
+ const { x, y } = point;
797
+ let inside = false;
798
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
799
+ const ii = polygon[i];
800
+ const jj = polygon[j];
801
+ const xi = ii.x;
802
+ const yi = ii.y;
803
+ const xj = jj.x;
804
+ const yj = jj.y;
805
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
806
+ if (intersect) inside = !inside;
807
+ }
808
+ return inside;
861
809
  }
862
- function $6cc32821e9371a1c$var$isPointerInGraceArea(event, area) {
863
- if (!area) return false;
864
- const cursorPos = {
865
- x: event.clientX,
866
- y: event.clientY
867
- };
868
- return $6cc32821e9371a1c$var$isPointInPolygon(cursorPos, area);
810
+ function isPointerInGraceArea(event, area) {
811
+ if (!area) return false;
812
+ const cursorPos = { x: event.clientX, y: event.clientY };
813
+ return isPointInPolygon(cursorPos, area);
869
814
  }
870
- function $6cc32821e9371a1c$var$whenMouse(handler) {
871
- return (event)=>event.pointerType === 'mouse' ? handler(event) : undefined
872
- ;
815
+ function whenMouse(handler) {
816
+ return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
873
817
  }
874
- const $6cc32821e9371a1c$export$be92b6f5f03c0fe9 = $6cc32821e9371a1c$export$d9b273488cd8ce6f;
875
- const $6cc32821e9371a1c$export$b688253958b8dfe7 = $6cc32821e9371a1c$export$9fa5ebd18bee4d43;
876
- const $6cc32821e9371a1c$export$602eac185826482c = $6cc32821e9371a1c$export$793392f970497feb;
877
- const $6cc32821e9371a1c$export$7c6e2c02157bb7d2 = $6cc32821e9371a1c$export$479f0f2f71193efe;
878
- const $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4 = $6cc32821e9371a1c$export$22a631d1f72787bb;
879
- const $6cc32821e9371a1c$export$b04be29aa201d4f5 = $6cc32821e9371a1c$export$dd37bec0e8a99143;
880
- const $6cc32821e9371a1c$export$6d08773d2e66f8f2 = $6cc32821e9371a1c$export$2ce376c2cc3355c8;
881
- const $6cc32821e9371a1c$export$16ce288f89fa631c = $6cc32821e9371a1c$export$f6f243521332502d;
882
- const $6cc32821e9371a1c$export$a98f0dcb43a68a25 = $6cc32821e9371a1c$export$ea2200c9eee416b3;
883
- const $6cc32821e9371a1c$export$371ab307eab489c0 = $6cc32821e9371a1c$export$69bd225e9817f6d0;
884
- const $6cc32821e9371a1c$export$c3468e2714d175fa = $6cc32821e9371a1c$export$a2593e23056970a3;
885
- const $6cc32821e9371a1c$export$1ff3c3f08ae963c0 = $6cc32821e9371a1c$export$1cec7dcdd713e220;
886
- const $6cc32821e9371a1c$export$d7a01e11500dfb6f = $6cc32821e9371a1c$export$71bdb9d1e2909932;
887
- const $6cc32821e9371a1c$export$2ea8a7a591ac5eac = $6cc32821e9371a1c$export$5fbbb3ba7297405f;
888
- const $6cc32821e9371a1c$export$6d4de93b380beddf = $6cc32821e9371a1c$export$e7142ab31822bde6;
818
+ var Root3 = Menu;
819
+ var Anchor2 = MenuAnchor;
820
+ var Portal = MenuPortal;
821
+ var Content2 = MenuContent;
822
+ var Group = MenuGroup;
823
+ var Label = MenuLabel;
824
+ var Item2 = MenuItem;
825
+ var CheckboxItem = MenuCheckboxItem;
826
+ var RadioGroup = MenuRadioGroup;
827
+ var RadioItem = MenuRadioItem;
828
+ var ItemIndicator = MenuItemIndicator;
829
+ var Separator = MenuSeparator;
830
+ var Arrow2 = MenuArrow;
831
+ var Sub = MenuSub;
832
+ var SubTrigger = MenuSubTrigger;
833
+ var SubContent = MenuSubContent;
889
834
 
890
- export { $6cc32821e9371a1c$export$b688253958b8dfe7 as Anchor, $6cc32821e9371a1c$export$16ce288f89fa631c as CheckboxItem, $6cc32821e9371a1c$export$7c6e2c02157bb7d2 as Content, $6cc32821e9371a1c$export$eb2fcfdbd7ba97d4 as Group, $6cc32821e9371a1c$export$6d08773d2e66f8f2 as Item, $6cc32821e9371a1c$export$c3468e2714d175fa as ItemIndicator, $6cc32821e9371a1c$export$b04be29aa201d4f5 as Label, $6cc32821e9371a1c$export$d9b273488cd8ce6f as Menu, $6cc32821e9371a1c$export$9fa5ebd18bee4d43 as MenuAnchor, $6cc32821e9371a1c$export$f6f243521332502d as MenuCheckboxItem, $6cc32821e9371a1c$export$479f0f2f71193efe as MenuContent, $6cc32821e9371a1c$export$22a631d1f72787bb as MenuGroup, $6cc32821e9371a1c$export$2ce376c2cc3355c8 as MenuItem, $6cc32821e9371a1c$export$a2593e23056970a3 as MenuItemIndicator, $6cc32821e9371a1c$export$dd37bec0e8a99143 as MenuLabel, $6cc32821e9371a1c$export$793392f970497feb as MenuPortal, $6cc32821e9371a1c$export$ea2200c9eee416b3 as MenuRadioGroup, $6cc32821e9371a1c$export$69bd225e9817f6d0 as MenuRadioItem, $6cc32821e9371a1c$export$1cec7dcdd713e220 as MenuSeparator, $6cc32821e9371a1c$export$71bdb9d1e2909932 as MenuSub, $6cc32821e9371a1c$export$e7142ab31822bde6 as MenuSubContent, $6cc32821e9371a1c$export$5fbbb3ba7297405f as MenuSubTrigger, $6cc32821e9371a1c$export$602eac185826482c as Portal, $6cc32821e9371a1c$export$a98f0dcb43a68a25 as RadioGroup, $6cc32821e9371a1c$export$371ab307eab489c0 as RadioItem, $6cc32821e9371a1c$export$be92b6f5f03c0fe9 as Root, $6cc32821e9371a1c$export$1ff3c3f08ae963c0 as Separator, $6cc32821e9371a1c$export$d7a01e11500dfb6f as Sub, $6cc32821e9371a1c$export$6d4de93b380beddf as SubContent, $6cc32821e9371a1c$export$2ea8a7a591ac5eac as SubTrigger, $6cc32821e9371a1c$export$4027731b685e72eb as createMenuScope };
835
+ export { Anchor2 as Anchor, Arrow2 as Arrow, CheckboxItem, Content2 as Content, Group, Item2 as Item, ItemIndicator, Label, Menu, MenuAnchor, MenuArrow, MenuCheckboxItem, MenuContent, MenuGroup, MenuItem, MenuItemIndicator, MenuLabel, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSub, MenuSubContent, MenuSubTrigger, Portal, RadioGroup, RadioItem, Root3 as Root, Separator, Sub, SubContent, SubTrigger, createMenuScope };
891
836
  //# sourceMappingURL=index.mjs.js.map