@quantinuum/quantinuum-ui 4.0.1-fix-update-radix.1 → 4.0.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 (245) hide show
  1. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  2. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  3. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js +3 -4
  4. package/dist/node_modules/@radix-ui/number/dist/index.mjs.js.map +1 -1
  5. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js +6 -9
  6. package/dist/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +1 -1
  7. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js +267 -279
  8. package/dist/node_modules/@radix-ui/react-accordion/dist/index.mjs.js.map +1 -1
  9. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js +92 -114
  10. package/dist/node_modules/@radix-ui/react-avatar/dist/index.mjs.js.map +1 -1
  11. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js +138 -255
  12. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.mjs.js.map +1 -1
  13. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js +130 -135
  14. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.mjs.js.map +1 -1
  15. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js +88 -66
  16. package/dist/node_modules/@radix-ui/react-collection/dist/index.mjs.js.map +1 -1
  17. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  18. package/dist/node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  19. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +21 -34
  20. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -1
  21. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js +93 -72
  22. package/dist/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +1 -1
  23. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js +254 -297
  24. package/dist/node_modules/@radix-ui/react-dialog/dist/index.mjs.js.map +1 -1
  25. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  26. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  27. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js +6 -8
  28. package/dist/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +1 -1
  29. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js +217 -190
  30. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.js.map +1 -1
  31. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js +217 -243
  32. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.js.map +1 -1
  33. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js +25 -26
  34. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.js.map +1 -1
  35. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js +259 -191
  36. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.js.map +1 -1
  37. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js +205 -224
  38. package/dist/node_modules/@radix-ui/react-hover-card/dist/index.mjs.js.map +1 -1
  39. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js +14 -11
  40. package/dist/node_modules/@radix-ui/react-id/dist/index.mjs.js.map +1 -1
  41. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js +14 -22
  42. package/dist/node_modules/@radix-ui/react-label/dist/index.mjs.js.map +1 -1
  43. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js +820 -765
  44. package/dist/node_modules/@radix-ui/react-menu/dist/index.mjs.js.map +1 -1
  45. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  46. package/dist/node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  47. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js +730 -717
  48. package/dist/node_modules/@radix-ui/react-navigation-menu/dist/index.mjs.js.map +1 -1
  49. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js +199 -268
  50. package/dist/node_modules/@radix-ui/react-popover/dist/index.mjs.js.map +1 -1
  51. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  52. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  53. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js +223 -267
  54. package/dist/node_modules/@radix-ui/react-popper/dist/index.mjs.js.map +1 -1
  55. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js +10 -14
  56. package/dist/node_modules/@radix-ui/react-portal/dist/index.mjs.js.map +1 -1
  57. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js +121 -122
  58. package/dist/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +1 -1
  59. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +83 -39
  60. package/dist/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -1
  61. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  62. package/dist/node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  63. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js +78 -77
  64. package/dist/node_modules/@radix-ui/react-progress/dist/index.mjs.js.map +1 -1
  65. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js +217 -264
  66. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.mjs.js.map +1 -1
  67. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js +216 -204
  68. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.js.map +1 -1
  69. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.mjs.js +9 -9
  70. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js +7 -0
  71. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/number/dist/index.mjs.js.map +1 -0
  72. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js +12 -0
  73. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/primitive/dist/index.mjs.js.map +1 -0
  74. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +40 -0
  75. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  76. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js +64 -0
  77. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.mjs.js.map +1 -0
  78. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js +12 -0
  79. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.mjs.js.map +1 -0
  80. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js +132 -0
  81. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.mjs.js.map +1 -0
  82. package/dist/node_modules/{cmdk → @radix-ui/react-scroll-area}/node_modules/@radix-ui/react-primitive/dist/index.mjs.js +1 -1
  83. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +1 -0
  84. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js +90 -0
  85. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -0
  86. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +13 -0
  87. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +1 -0
  88. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +8 -0
  89. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +1 -0
  90. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js +1079 -1080
  91. package/dist/node_modules/@radix-ui/react-select/dist/index.mjs.js.map +1 -1
  92. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js +73 -81
  93. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  94. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js +43 -26
  95. package/dist/node_modules/@radix-ui/react-separator/dist/index.mjs.js.map +1 -1
  96. package/dist/node_modules/@radix-ui/react-slot/dist/index.mjs.js +1 -1
  97. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js +37 -0
  98. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.js.map +1 -0
  99. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js +112 -140
  100. package/dist/node_modules/@radix-ui/react-switch/dist/index.mjs.js.map +1 -1
  101. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js +141 -173
  102. package/dist/node_modules/@radix-ui/react-tabs/dist/index.mjs.js.map +1 -1
  103. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js +25 -34
  104. package/dist/node_modules/@radix-ui/react-toggle/dist/index.mjs.js.map +1 -1
  105. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js +145 -154
  106. package/dist/node_modules/@radix-ui/react-toggle-group/dist/index.mjs.js.map +1 -1
  107. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js +491 -462
  108. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.mjs.js.map +1 -1
  109. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js +78 -13
  110. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs.js.map +1 -1
  111. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js +15 -9
  112. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.js.map +1 -1
  113. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js +43 -66
  114. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.js.map +1 -1
  115. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js +18 -15
  116. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.js.map +1 -1
  117. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js +9 -5
  118. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.js.map +1 -1
  119. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js +18 -12
  120. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.mjs.js.map +1 -1
  121. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js +48 -37
  122. package/dist/node_modules/@radix-ui/react-use-size/dist/index.mjs.js.map +1 -1
  123. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js +23 -32
  124. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.js.map +1 -1
  125. package/dist/node_modules/aria-hidden/dist/es2015/index.js +16 -22
  126. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  127. package/dist/node_modules/class-variance-authority/dist/index.mjs.js +9 -7
  128. package/dist/node_modules/class-variance-authority/dist/index.mjs.js.map +1 -1
  129. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js +4 -0
  130. package/dist/node_modules/class-variance-authority/node_modules/clsx/dist/clsx.mjs.js.map +1 -0
  131. package/dist/node_modules/cmdk/dist/index.mjs.js +4 -8
  132. package/dist/node_modules/cmdk/dist/index.mjs.js.map +1 -1
  133. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js +9 -0
  134. package/dist/node_modules/cmdk/node_modules/@radix-ui/primitive/dist/index.module.js.map +1 -0
  135. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js +27 -0
  136. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-compose-refs/dist/index.module.js.map +1 -0
  137. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js +101 -0
  138. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-context/dist/index.module.js.map +1 -0
  139. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js +214 -0
  140. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dialog/dist/index.module.js.map +1 -0
  141. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js +233 -0
  142. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer/dist/index.module.js.map +1 -0
  143. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js +30 -0
  144. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-guards/dist/index.module.js.map +1 -0
  145. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js +252 -0
  146. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-focus-scope/dist/index.module.js.map +1 -0
  147. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js +19 -0
  148. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-id/dist/index.module.js.map +1 -0
  149. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js +15 -0
  150. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-portal/dist/index.module.js.map +1 -0
  151. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js +131 -0
  152. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-presence/dist/index.module.js.map +1 -0
  153. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js +85 -0
  154. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.module.js.map +1 -0
  155. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js +79 -0
  156. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.module.js.map +1 -0
  157. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js +19 -0
  158. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref/dist/index.module.js.map +1 -0
  159. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js +48 -0
  160. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state/dist/index.module.js.map +1 -0
  161. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js +21 -0
  162. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown/dist/index.module.js.map +1 -0
  163. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js +12 -0
  164. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect/dist/index.module.js.map +1 -0
  165. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js +10 -0
  166. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  167. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +146 -0
  168. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  169. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js +39 -0
  170. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  171. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +22 -0
  172. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  173. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +97 -0
  174. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  175. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js +9 -0
  176. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  177. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js +10 -0
  178. package/dist/node_modules/cmdk/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  179. package/dist/node_modules/command-score/index.js +138 -0
  180. package/dist/node_modules/command-score/index.js.map +1 -0
  181. package/dist/node_modules/input-otp/dist/index.mjs.js +1 -1
  182. package/dist/node_modules/input-otp/dist/index.mjs.js.map +1 -1
  183. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +5 -23
  184. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  185. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +2 -2
  186. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  187. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +6 -18
  188. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  189. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +5 -25
  190. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  191. package/dist/node_modules/sonner/dist/index.mjs.js +26 -46
  192. package/dist/node_modules/sonner/dist/index.mjs.js.map +1 -1
  193. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +1 -27
  194. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  195. package/dist/src/index.js +1 -1
  196. package/dist/src/shadcn/ui/accordion.js +7 -7
  197. package/dist/src/shadcn/ui/avatar.js +7 -7
  198. package/dist/src/shadcn/ui/checkbox.js +3 -3
  199. package/dist/src/shadcn/ui/command.js +15 -15
  200. package/dist/src/shadcn/ui/dialog.js +14 -14
  201. package/dist/src/shadcn/ui/dropdown-menu.js +23 -23
  202. package/dist/src/shadcn/ui/hover-card.js +5 -5
  203. package/dist/src/shadcn/ui/label.js +3 -3
  204. package/dist/src/shadcn/ui/navigation-menu.js +15 -15
  205. package/dist/src/shadcn/ui/navigation-menu.js.map +1 -1
  206. package/dist/src/shadcn/ui/popover.js +6 -32
  207. package/dist/src/shadcn/ui/popover.js.map +1 -1
  208. package/dist/src/shadcn/ui/progress.js +3 -3
  209. package/dist/src/shadcn/ui/radio-group.js +5 -5
  210. package/dist/src/shadcn/ui/select.js +19 -19
  211. package/dist/src/shadcn/ui/separator.js +3 -3
  212. package/dist/src/shadcn/ui/sheet.js +14 -14
  213. package/dist/src/shadcn/ui/switch.js +3 -3
  214. package/dist/src/shadcn/ui/tabs.js +8 -8
  215. package/dist/src/shadcn/ui/toggle-group.js +5 -5
  216. package/dist/src/shadcn/ui/toggle.js +3 -3
  217. package/dist/src/shadcn/ui/tooltip.js +7 -7
  218. package/dist/src/tailwindTheme.js +12 -12
  219. package/dist/src/tailwindTheme.js.map +1 -1
  220. package/dist/tailwind-manifest.js +10978 -9482
  221. package/dist/types/src/shadcn/ui/command.d.ts +8 -44
  222. package/dist/types/src/shadcn/ui/popover.d.ts +4 -8
  223. package/dist/types/src/shadcn/ui/sheet.d.ts +1 -1
  224. package/dist/types/src/tailwindTheme.d.ts +4 -6
  225. package/dist/types/tailwind.config.d.ts +4 -6
  226. package/package.json +31 -11
  227. package/dist/_virtual/index.js +0 -4
  228. package/dist/_virtual/index.js.map +0 -1
  229. package/dist/_virtual/use-sync-external-store-shim.development.js +0 -4
  230. package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
  231. package/dist/_virtual/use-sync-external-store-shim.production.js +0 -4
  232. package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
  233. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js +0 -26
  234. package/dist/node_modules/@radix-ui/react-arrow/dist/index.mjs.js.map +0 -1
  235. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js +0 -18
  236. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.mjs.js.map +0 -1
  237. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js +0 -4
  238. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.mjs.js.map +0 -1
  239. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.mjs.js.map +0 -1
  240. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -107
  241. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
  242. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -78
  243. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
  244. package/dist/node_modules/use-sync-external-store/shim/index.js +0 -13
  245. package/dist/node_modules/use-sync-external-store/shim/index.js.map +0 -1
@@ -1,836 +1,891 @@
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';
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';
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';
22
21
 
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"]
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
+ ]
30
49
  };
31
- var SUB_CLOSE_KEYS = {
32
- ltr: ["ArrowLeft"],
33
- rtl: ["ArrowRight"]
50
+ const $6cc32821e9371a1c$var$SUB_CLOSE_KEYS = {
51
+ ltr: [
52
+ 'ArrowLeft'
53
+ ],
54
+ rtl: [
55
+ 'ArrowRight'
56
+ ]
34
57
  };
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
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
41
66
  ]);
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
- ) });
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)));
88
125
  };
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
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
102
138
  });
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 }) }) });
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)));
107
151
  };
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);
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);
128
180
  }, []);
129
- return /* @__PURE__ */ jsx(
130
- MenuContentImpl,
131
- {
132
- ...props,
133
- ref: composedRefs,
134
- trapFocus: context.open,
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
+ ,
135
186
  disableOutsidePointerEvents: context.open,
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
- );
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
+ }));
160
195
  });
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
- }
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
+ }));
205
+ });
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
+ );
212
251
  };
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);
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);
220
262
  }, []);
221
- return /* @__PURE__ */ jsx(
222
- MenuContentProvider,
223
- {
263
+ return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuContentProvider, {
224
264
  scope: __scopeMenu,
225
- searchRef,
226
- onItemEnter: React.useCallback(
227
- (event) => {
265
+ searchRef: searchRef,
266
+ onItemEnter: useCallback((event)=>{
228
267
  if (isPointerMovingToSubmenu(event)) event.preventDefault();
229
- },
230
- [isPointerMovingToSubmenu]
231
- ),
232
- onItemLeave: React.useCallback(
233
- (event) => {
268
+ }, [
269
+ isPointerMovingToSubmenu
270
+ ]),
271
+ onItemLeave: useCallback((event)=>{
272
+ var _contentRef$current;
234
273
  if (isPointerMovingToSubmenu(event)) return;
235
- contentRef.current?.focus();
274
+ (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 || _contentRef$current.focus();
236
275
  setCurrentItemId(null);
237
- },
238
- [isPointerMovingToSubmenu]
239
- ),
240
- onTriggerLeave: React.useCallback(
241
- (event) => {
276
+ }, [
277
+ isPointerMovingToSubmenu
278
+ ]),
279
+ onTriggerLeave: useCallback((event)=>{
242
280
  if (isPointerMovingToSubmenu(event)) event.preventDefault();
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();
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();
381
411
  }
382
- }
383
412
  };
384
- return /* @__PURE__ */ jsx(
385
- MenuItemImpl,
386
- {
387
- ...itemProps,
413
+ return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$MenuItemImpl, _extends({}, itemProps, {
388
414
  ref: composedRefs,
389
- disabled,
390
- onClick: composeEventHandlers(props.onClick, handleSelect),
391
- onPointerDown: (event) => {
392
- props.onPointerDown?.(event);
393
- isPointerDownRef.current = true;
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;
394
421
  },
395
- onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
396
- if (!isPointerDownRef.current) event.currentTarget?.click();
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();
397
428
  }),
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
- }
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
+ }
405
441
  })
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
- {
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, {
429
462
  scope: __scopeMenu,
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) {
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) {
449
481
  const item = event.currentTarget;
450
- item.focus({ preventScroll: true });
451
- }
482
+ item.focus();
452
483
  }
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
- {
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({
474
500
  role: "menuitemcheckbox",
475
- "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
476
- ...checkboxItemProps,
501
+ "aria-checked": $6cc32821e9371a1c$var$isIndeterminate(checked) ? 'mixed' : checked
502
+ }, checkboxItemProps, {
477
503
  ref: forwardedRef,
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);
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);
508
535
  const checked = value === context.value;
509
- return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
510
- MenuItem,
511
- {
536
+ return /*#__PURE__*/ createElement($6cc32821e9371a1c$var$ItemIndicatorProvider, {
537
+ scope: props.__scopeMenu,
538
+ checked: checked
539
+ }, /*#__PURE__*/ createElement($6cc32821e9371a1c$export$2ce376c2cc3355c8, _extends({
512
540
  role: "menuitemradio",
513
- "aria-checked": checked,
514
- ...radioItemProps,
541
+ "aria-checked": checked
542
+ }, radioItemProps, {
515
543
  ref: forwardedRef,
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
- {
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, {
565
+ 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({
560
572
  role: "separator",
561
- "aria-orientation": "horizontal",
562
- ...separatorProps,
573
+ "aria-orientation": "horizontal"
574
+ }, separatorProps, {
563
575
  ref: forwardedRef
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
- ) });
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)));
612
610
  };
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;
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;
627
627
  }, []);
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
- {
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({
639
645
  id: subContext.triggerId,
640
646
  "aria-haspopup": "menu",
641
647
  "aria-expanded": context.open,
642
648
  "aria-controls": subContext.contentId,
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);
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);
651
663
  },
652
- onPointerMove: composeEventHandlers(
653
- props.onPointerMove,
654
- whenMouse((event) => {
664
+ onPointerMove: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerMove, $6cc32821e9371a1c$var$whenMouse((event)=>{
655
665
  contentContext.onItemEnter(event);
656
666
  if (event.defaultPrevented) return;
657
667
  if (!props.disabled && !context.open && !openTimerRef.current) {
658
- contentContext.onPointerGraceIntentChange(null);
659
- openTimerRef.current = window.setTimeout(() => {
660
- context.onOpenChange(true);
661
- clearOpenTimer();
662
- }, 100);
668
+ contentContext.onPointerGraceIntentChange(null);
669
+ openTimerRef.current = window.setTimeout(()=>{
670
+ context.onOpenChange(true);
671
+ clearOpenTimer();
672
+ }, 100);
663
673
  }
664
- })
665
- ),
666
- onPointerLeave: composeEventHandlers(
667
- props.onPointerLeave,
668
- whenMouse((event) => {
674
+ })),
675
+ onPointerLeave: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onPointerLeave, $6cc32821e9371a1c$var$whenMouse((event)=>{
676
+ var _context$content;
669
677
  clearOpenTimer();
670
- const contentRect = context.content?.getBoundingClientRect();
678
+ const contentRect = (_context$content = context.content) === null || _context$content === void 0 ? void 0 : _context$content.getBoundingClientRect();
671
679
  if (contentRect) {
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
- );
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);
694
716
  } else {
695
- contentContext.onTriggerLeave(event);
696
- if (event.defaultPrevented) return;
697
- contentContext.onPointerGraceIntentChange(null);
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();
698
731
  }
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
- }
709
732
  })
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
- {
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({
728
753
  id: subContext.contentId,
729
- "aria-labelledby": subContext.triggerId,
730
- ...subContentProps,
754
+ "aria-labelledby": subContext.triggerId
755
+ }, subContentProps, {
731
756
  ref: composedRefs,
732
757
  align: "start",
733
- side: rootContext.dir === "rtl" ? "left" : "right",
758
+ side: rootContext.dir === 'rtl' ? 'left' : 'right',
734
759
  disableOutsidePointerEvents: false,
735
760
  disableOutsideScroll: false,
736
761
  trapFocus: 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);
744
- }),
745
- onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {
746
- rootContext.onClose();
747
- event.preventDefault();
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);
748
775
  }),
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();
776
+ onEscapeKeyDown: $e42e1063c40fb3ef$export$b9ecd428b558ff10(props.onEscapeKeyDown, (event)=>{
777
+ rootContext.onClose(); // ensure pressing escape in submenu doesn't escape full screen mode
755
778
  event.preventDefault();
756
- }
779
+ }),
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
+ }
757
790
  })
758
- }
759
- ) }) }) });
760
- }
761
- );
762
- MenuSubContent.displayName = SUB_CONTENT_NAME;
763
- function getOpenState(open) {
764
- return open ? "open" : "closed";
791
+ })))));
792
+ });
793
+ /* -----------------------------------------------------------------------------------------------*/ function $6cc32821e9371a1c$var$getOpenState(open) {
794
+ return open ? 'open' : 'closed';
765
795
  }
766
- function isIndeterminate(checked) {
767
- return checked === "indeterminate";
796
+ function $6cc32821e9371a1c$var$isIndeterminate(checked) {
797
+ return checked === 'indeterminate';
768
798
  }
769
- function getCheckedState(checked) {
770
- return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
799
+ function $6cc32821e9371a1c$var$getCheckedState(checked) {
800
+ return $6cc32821e9371a1c$var$isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';
771
801
  }
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
- }
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
+ }
779
810
  }
780
- function wrapArray(array, startIndex) {
781
- return array.map((_, index) => array[(startIndex + index) % array.length]);
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
+ );
782
817
  }
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;
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;
794
846
  }
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;
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;
809
861
  }
810
- function isPointerInGraceArea(event, area) {
811
- if (!area) return false;
812
- const cursorPos = { x: event.clientX, y: event.clientY };
813
- return isPointInPolygon(cursorPos, area);
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);
814
869
  }
815
- function whenMouse(handler) {
816
- return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
870
+ function $6cc32821e9371a1c$var$whenMouse(handler) {
871
+ return (event)=>event.pointerType === 'mouse' ? handler(event) : undefined
872
+ ;
817
873
  }
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;
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;
834
889
 
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 };
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 };
836
891
  //# sourceMappingURL=index.mjs.js.map