@blimu/react 1.1.0 → 1.1.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 (451) hide show
  1. package/dist/_virtual/index.cjs +5 -1
  2. package/dist/_virtual/index.cjs.map +1 -1
  3. package/dist/_virtual/index.js +3 -3
  4. package/dist/_virtual/index2.cjs +4 -1
  5. package/dist/_virtual/index2.cjs.map +1 -1
  6. package/dist/_virtual/index2.js +2 -2
  7. package/dist/_virtual/use-sync-external-store-shim.development.cjs +4 -1
  8. package/dist/_virtual/use-sync-external-store-shim.development.cjs.map +1 -1
  9. package/dist/_virtual/use-sync-external-store-shim.development.js +2 -2
  10. package/dist/_virtual/use-sync-external-store-shim.production.cjs +4 -1
  11. package/dist/_virtual/use-sync-external-store-shim.production.cjs.map +1 -1
  12. package/dist/_virtual/use-sync-external-store-shim.production.js +2 -2
  13. package/dist/client/auth.service.cjs +249 -1
  14. package/dist/client/auth.service.cjs.map +1 -1
  15. package/dist/client/auth.service.js +194 -96
  16. package/dist/client/auth.service.js.map +1 -1
  17. package/dist/client/external-store.cjs +26 -1
  18. package/dist/client/external-store.cjs.map +1 -1
  19. package/dist/client/external-store.js +22 -8
  20. package/dist/client/external-store.js.map +1 -1
  21. package/dist/client/runtime-client.cjs +136 -1
  22. package/dist/client/runtime-client.cjs.map +1 -1
  23. package/dist/client/runtime-client.js +85 -51
  24. package/dist/client/runtime-client.js.map +1 -1
  25. package/dist/components/index.cjs +13 -0
  26. package/dist/components/index.cjs.map +1 -0
  27. package/dist/components/index.js +13 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/components/members-list.cjs +132 -1
  30. package/dist/components/members-list.cjs.map +1 -1
  31. package/dist/components/members-list.js +69 -64
  32. package/dist/components/members-list.js.map +1 -1
  33. package/dist/components/redirect-to-sign-in.cjs +34 -1
  34. package/dist/components/redirect-to-sign-in.cjs.map +1 -1
  35. package/dist/components/redirect-to-sign-in.js +28 -20
  36. package/dist/components/redirect-to-sign-in.js.map +1 -1
  37. package/dist/components/sign-in-button.cjs +36 -1
  38. package/dist/components/sign-in-button.cjs.map +1 -1
  39. package/dist/components/sign-in-button.js +25 -21
  40. package/dist/components/sign-in-button.js.map +1 -1
  41. package/dist/components/ui/avatar.cjs +42 -1
  42. package/dist/components/ui/avatar.cjs.map +1 -1
  43. package/dist/components/ui/avatar.js +23 -23
  44. package/dist/components/ui/avatar.js.map +1 -1
  45. package/dist/components/ui/dropdown-menu.cjs +148 -1
  46. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  47. package/dist/components/ui/dropdown-menu.js +83 -81
  48. package/dist/components/ui/dropdown-menu.js.map +1 -1
  49. package/dist/components/user-avatar.cjs +22 -1
  50. package/dist/components/user-avatar.cjs.map +1 -1
  51. package/dist/components/user-avatar.js +16 -16
  52. package/dist/components/user-avatar.js.map +1 -1
  53. package/dist/components/user-button/styles.cjs +39 -1
  54. package/dist/components/user-button/styles.cjs.map +1 -1
  55. package/dist/components/user-button/styles.js +6 -5
  56. package/dist/components/user-button/styles.js.map +1 -1
  57. package/dist/components/user-button/user-button.cjs +98 -1
  58. package/dist/components/user-button/user-button.cjs.map +1 -1
  59. package/dist/components/user-button/user-button.js +64 -58
  60. package/dist/components/user-button/user-button.js.map +1 -1
  61. package/dist/hooks/index.cjs +14 -0
  62. package/dist/hooks/index.cjs.map +1 -0
  63. package/dist/hooks/index.d.ts +1 -0
  64. package/dist/hooks/index.d.ts.map +1 -1
  65. package/dist/hooks/index.js +14 -0
  66. package/dist/hooks/index.js.map +1 -0
  67. package/dist/hooks/use-auth.cjs +44 -1
  68. package/dist/hooks/use-auth.cjs.map +1 -1
  69. package/dist/hooks/use-auth.d.ts +13 -15
  70. package/dist/hooks/use-auth.d.ts.map +1 -1
  71. package/dist/hooks/use-auth.js +30 -26
  72. package/dist/hooks/use-auth.js.map +1 -1
  73. package/dist/hooks/use-client.cjs +9 -1
  74. package/dist/hooks/use-client.cjs.map +1 -1
  75. package/dist/hooks/use-client.d.ts +1 -1
  76. package/dist/hooks/use-client.d.ts.map +1 -1
  77. package/dist/hooks/use-client.js +6 -5
  78. package/dist/hooks/use-client.js.map +1 -1
  79. package/dist/hooks/use-members.cjs +60 -1
  80. package/dist/hooks/use-members.cjs.map +1 -1
  81. package/dist/hooks/use-members.js +53 -41
  82. package/dist/hooks/use-members.js.map +1 -1
  83. package/dist/hooks/use-store.cjs +17 -1
  84. package/dist/hooks/use-store.cjs.map +1 -1
  85. package/dist/hooks/use-store.js +7 -7
  86. package/dist/hooks/use-store.js.map +1 -1
  87. package/dist/index.cjs +37 -1
  88. package/dist/index.cjs.map +1 -1
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +35 -35
  92. package/dist/lib/utils.cjs +8 -1
  93. package/dist/lib/utils.cjs.map +1 -1
  94. package/dist/lib/utils.js +5 -5
  95. package/dist/lib/utils.js.map +1 -1
  96. package/dist/lib/variants.cjs +46 -1
  97. package/dist/lib/variants.cjs.map +1 -1
  98. package/dist/lib/variants.js +6 -5
  99. package/dist/lib/variants.js.map +1 -1
  100. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs +721 -1
  101. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.cjs.map +1 -1
  102. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +571 -377
  103. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -1
  104. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs +625 -1
  105. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.cjs.map +1 -1
  106. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +539 -316
  107. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  108. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs +313 -1
  109. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.map +1 -1
  110. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +261 -172
  111. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -1
  112. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs +154 -1
  113. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.cjs.map +1 -1
  114. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs +173 -1
  115. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.cjs.map +1 -1
  116. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -107
  117. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -1
  118. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +111 -87
  119. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -1
  120. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs +11 -1
  121. package/dist/node_modules/@radix-ui/primitive/dist/index.cjs.map +1 -1
  122. package/dist/node_modules/@radix-ui/primitive/dist/index.js +7 -5
  123. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -1
  124. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs +42 -1
  125. package/dist/node_modules/@radix-ui/react-arrow/dist/index.cjs.map +1 -1
  126. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +17 -16
  127. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js.map +1 -1
  128. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs +140 -1
  129. package/dist/node_modules/@radix-ui/react-avatar/dist/index.cjs.map +1 -1
  130. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js +105 -57
  131. package/dist/node_modules/@radix-ui/react-avatar/dist/index.js.map +1 -1
  132. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs +80 -1
  133. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  134. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js +49 -41
  135. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  136. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs +56 -1
  137. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  138. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js +17 -10
  139. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  140. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs +119 -1
  141. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  142. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js +86 -42
  143. package/dist/node_modules/@radix-ui/react-avatar/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  144. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs +70 -1
  145. package/dist/node_modules/@radix-ui/react-collection/dist/index.cjs.map +1 -1
  146. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +57 -37
  147. package/dist/node_modules/@radix-ui/react-collection/dist/index.js.map +1 -1
  148. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +56 -1
  149. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.cjs.map +1 -1
  150. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +29 -19
  151. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -1
  152. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs +79 -1
  153. package/dist/node_modules/@radix-ui/react-context/dist/index.cjs.map +1 -1
  154. package/dist/node_modules/@radix-ui/react-context/dist/index.js +48 -39
  155. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -1
  156. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs +27 -1
  157. package/dist/node_modules/@radix-ui/react-direction/dist/index.cjs.map +1 -1
  158. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +6 -6
  159. package/dist/node_modules/@radix-ui/react-direction/dist/index.js.map +1 -1
  160. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +229 -1
  161. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs.map +1 -1
  162. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +182 -97
  163. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -1
  164. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +296 -1
  165. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs.map +1 -1
  166. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +232 -167
  167. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +1 -1
  168. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +46 -1
  169. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.cjs.map +1 -1
  170. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +23 -11
  171. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -1
  172. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +224 -1
  173. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.cjs.map +1 -1
  174. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +169 -98
  175. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -1
  176. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs +31 -1
  177. package/dist/node_modules/@radix-ui/react-id/dist/index.cjs.map +1 -1
  178. package/dist/node_modules/@radix-ui/react-id/dist/index.js +11 -10
  179. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -1
  180. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -1
  181. package/dist/node_modules/@radix-ui/react-menu/dist/index.cjs.map +1 -1
  182. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +662 -442
  183. package/dist/node_modules/@radix-ui/react-menu/dist/index.js.map +1 -1
  184. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs +308 -1
  185. package/dist/node_modules/@radix-ui/react-popper/dist/index.cjs.map +1 -1
  186. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +209 -137
  187. package/dist/node_modules/@radix-ui/react-popper/dist/index.js.map +1 -1
  188. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs +34 -1
  189. package/dist/node_modules/@radix-ui/react-portal/dist/index.cjs.map +1 -1
  190. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +14 -12
  191. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -1
  192. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs +145 -1
  193. package/dist/node_modules/@radix-ui/react-presence/dist/index.cjs.map +1 -1
  194. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +103 -45
  195. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -1
  196. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs +61 -1
  197. package/dist/node_modules/@radix-ui/react-primitive/dist/index.cjs.map +1 -1
  198. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +21 -14
  199. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -1
  200. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -1
  201. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.cjs.map +1 -1
  202. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +179 -135
  203. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +1 -1
  204. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +105 -1
  205. package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs.map +1 -1
  206. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +74 -35
  207. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -1
  208. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +28 -1
  209. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs.map +1 -1
  210. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +8 -7
  211. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -1
  212. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +86 -1
  213. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs.map +1 -1
  214. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +57 -40
  215. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -1
  216. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +34 -1
  217. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs.map +1 -1
  218. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +13 -10
  219. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -1
  220. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs +15 -1
  221. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.cjs.map +1 -1
  222. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js +8 -8
  223. package/dist/node_modules/@radix-ui/react-use-is-hydrated/dist/index.js.map +1 -1
  224. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +23 -1
  225. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs.map +1 -1
  226. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +3 -3
  227. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -1
  228. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs +56 -1
  229. package/dist/node_modules/@radix-ui/react-use-size/dist/index.cjs.map +1 -1
  230. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +34 -22
  231. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js.map +1 -1
  232. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs +122 -1
  233. package/dist/node_modules/aria-hidden/dist/es2015/index.cjs.map +1 -1
  234. package/dist/node_modules/aria-hidden/dist/es2015/index.js +111 -41
  235. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -1
  236. package/dist/node_modules/class-variance-authority/dist/index.cjs +45 -1
  237. package/dist/node_modules/class-variance-authority/dist/index.cjs.map +1 -1
  238. package/dist/node_modules/class-variance-authority/dist/index.js +40 -30
  239. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -1
  240. package/dist/node_modules/clsx/dist/clsx.cjs +17 -1
  241. package/dist/node_modules/clsx/dist/clsx.cjs.map +1 -1
  242. package/dist/node_modules/clsx/dist/clsx.js +13 -13
  243. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  244. package/dist/node_modules/get-nonce/dist/es2015/index.cjs +9 -1
  245. package/dist/node_modules/get-nonce/dist/es2015/index.cjs.map +1 -1
  246. package/dist/node_modules/get-nonce/dist/es2015/index.js +5 -3
  247. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -1
  248. package/dist/node_modules/js-cookie/dist/js.cookie.cjs +98 -1
  249. package/dist/node_modules/js-cookie/dist/js.cookie.cjs.map +1 -1
  250. package/dist/node_modules/js-cookie/dist/js.cookie.js +69 -43
  251. package/dist/node_modules/js-cookie/dist/js.cookie.js.map +1 -1
  252. package/dist/node_modules/jwt-decode/build/esm/index.cjs +58 -1
  253. package/dist/node_modules/jwt-decode/build/esm/index.cjs.map +1 -1
  254. package/dist/node_modules/jwt-decode/build/esm/index.js +36 -30
  255. package/dist/node_modules/jwt-decode/build/esm/index.js.map +1 -1
  256. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +34 -1
  257. package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.map +1 -1
  258. package/dist/node_modules/lucide-react/dist/esm/Icon.js +25 -25
  259. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -1
  260. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +21 -1
  261. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.map +1 -1
  262. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +16 -15
  263. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -1
  264. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +13 -1
  265. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs.map +1 -1
  266. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +2 -2
  267. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -1
  268. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +7 -1
  269. package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.map +1 -1
  270. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +5 -4
  271. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -1
  272. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +7 -1
  273. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.map +1 -1
  274. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +5 -4
  275. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -1
  276. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs +7 -1
  277. package/dist/node_modules/lucide-react/dist/esm/icons/circle.cjs.map +1 -1
  278. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +5 -4
  279. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -1
  280. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs +11 -1
  281. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.cjs.map +1 -1
  282. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js +6 -5
  283. package/dist/node_modules/lucide-react/dist/esm/icons/log-out.js.map +1 -1
  284. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +26 -1
  285. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.cjs.map +1 -1
  286. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +22 -14
  287. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -1
  288. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +27 -1
  289. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.cjs.map +1 -1
  290. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +8 -8
  291. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -1
  292. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +197 -4
  293. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs.map +1 -1
  294. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +163 -98
  295. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -1
  296. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs +55 -1
  297. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.cjs.map +1 -1
  298. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +31 -24
  299. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -1
  300. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +19 -1
  301. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs.map +1 -1
  302. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +12 -9
  303. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -1
  304. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +102 -1
  305. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs.map +1 -1
  306. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +85 -51
  307. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -1
  308. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs +5 -1
  309. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.cjs.map +1 -1
  310. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +3 -3
  311. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -1
  312. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +6 -1
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs.map +1 -1
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +5 -5
  315. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -1
  316. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +62 -36
  317. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs.map +1 -1
  318. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +41 -65
  319. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -1
  320. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +10 -1
  321. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs.map +1 -1
  322. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -5
  323. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -1
  324. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +37 -1
  325. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs.map +1 -1
  326. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +28 -16
  327. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -1
  328. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs +13 -1
  329. package/dist/node_modules/react-style-singleton/dist/es2015/component.cjs.map +1 -1
  330. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +9 -7
  331. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -1
  332. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs +33 -1
  333. package/dist/node_modules/react-style-singleton/dist/es2015/hook.cjs.map +1 -1
  334. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +11 -10
  335. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -1
  336. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs +48 -1
  337. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.cjs.map +1 -1
  338. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +35 -17
  339. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -1
  340. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +3014 -1
  341. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  342. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +804 -555
  343. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  344. package/dist/node_modules/tailwindcss/dist/plugin.cjs +12 -1
  345. package/dist/node_modules/tailwindcss/dist/plugin.cjs.map +1 -1
  346. package/dist/node_modules/tailwindcss/dist/plugin.js +8 -8
  347. package/dist/node_modules/tailwindcss/dist/plugin.js.map +1 -1
  348. package/dist/node_modules/tslib/tslib.es6.cjs +38 -1
  349. package/dist/node_modules/tslib/tslib.es6.cjs.map +1 -1
  350. package/dist/node_modules/tslib/tslib.es6.js +33 -21
  351. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  352. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +11 -1
  353. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.cjs.map +1 -1
  354. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +8 -3
  355. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -1
  356. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +52 -1
  357. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs.map +1 -1
  358. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +28 -19
  359. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -1
  360. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs +29 -1
  361. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.cjs.map +1 -1
  362. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +15 -11
  363. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -1
  364. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs +38 -1
  365. package/dist/node_modules/use-sidecar/dist/es2015/exports.cjs.map +1 -1
  366. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +15 -12
  367. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -1
  368. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs +88 -1
  369. package/dist/node_modules/use-sidecar/dist/es2015/medium.cjs.map +1 -1
  370. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +64 -43
  371. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -1
  372. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +68 -1
  373. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs.map +1 -1
  374. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +49 -39
  375. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -1
  376. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +53 -1
  377. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs.map +1 -1
  378. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +39 -32
  379. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -1
  380. package/dist/node_modules/use-sync-external-store/shim/index.cjs +17 -1
  381. package/dist/node_modules/use-sync-external-store/shim/index.cjs.map +1 -1
  382. package/dist/node_modules/use-sync-external-store/shim/index.js +14 -7
  383. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -1
  384. package/dist/providers/auth/auth.context.cjs +5 -1
  385. package/dist/providers/auth/auth.context.cjs.map +1 -1
  386. package/dist/providers/auth/auth.context.js +3 -3
  387. package/dist/providers/auth/auth.context.js.map +1 -1
  388. package/dist/providers/auth/auth.hook.cjs +12 -1
  389. package/dist/providers/auth/auth.hook.cjs.map +1 -1
  390. package/dist/providers/auth/auth.hook.js +8 -7
  391. package/dist/providers/auth/auth.hook.js.map +1 -1
  392. package/dist/providers/auth/auth.provider.cjs +37 -1
  393. package/dist/providers/auth/auth.provider.cjs.map +1 -1
  394. package/dist/providers/auth/auth.provider.js +31 -22
  395. package/dist/providers/auth/auth.provider.js.map +1 -1
  396. package/dist/providers/blimu/blimu.context.cjs +5 -1
  397. package/dist/providers/blimu/blimu.context.cjs.map +1 -1
  398. package/dist/providers/blimu/blimu.context.js +3 -3
  399. package/dist/providers/blimu/blimu.context.js.map +1 -1
  400. package/dist/providers/blimu/blimu.hook.cjs +12 -1
  401. package/dist/providers/blimu/blimu.hook.cjs.map +1 -1
  402. package/dist/providers/blimu/blimu.hook.js +8 -7
  403. package/dist/providers/blimu/blimu.hook.js.map +1 -1
  404. package/dist/providers/blimu/blimu.provider.cjs +71 -1
  405. package/dist/providers/blimu/blimu.provider.cjs.map +1 -1
  406. package/dist/providers/blimu/blimu.provider.js +32 -27
  407. package/dist/providers/blimu/blimu.provider.js.map +1 -1
  408. package/dist/providers/index.cjs +13 -0
  409. package/dist/providers/index.cjs.map +1 -0
  410. package/dist/providers/index.js +13 -0
  411. package/dist/providers/index.js.map +1 -0
  412. package/dist/providers/theme/theme.context.cjs +5 -1
  413. package/dist/providers/theme/theme.context.cjs.map +1 -1
  414. package/dist/providers/theme/theme.context.js +3 -3
  415. package/dist/providers/theme/theme.context.js.map +1 -1
  416. package/dist/providers/theme/theme.hook.cjs +12 -1
  417. package/dist/providers/theme/theme.hook.cjs.map +1 -1
  418. package/dist/providers/theme/theme.hook.js +8 -7
  419. package/dist/providers/theme/theme.hook.js.map +1 -1
  420. package/dist/providers/theme/theme.provider.cjs +104 -1
  421. package/dist/providers/theme/theme.provider.cjs.map +1 -1
  422. package/dist/providers/theme/theme.provider.js +85 -48
  423. package/dist/providers/theme/theme.provider.js.map +1 -1
  424. package/dist/tailwind.cjs +200 -0
  425. package/dist/tailwind.cjs.map +1 -0
  426. package/dist/{tailwind.plugin.js → tailwind.js} +6 -6
  427. package/dist/tailwind.js.map +1 -0
  428. package/dist/types/index.cjs +11 -1
  429. package/dist/types/index.cjs.map +1 -1
  430. package/dist/types/index.js +8 -8
  431. package/dist/types/index.js.map +1 -1
  432. package/dist/utils/publishable-key.cjs +62 -1
  433. package/dist/utils/publishable-key.cjs.map +1 -1
  434. package/dist/utils/publishable-key.js +52 -27
  435. package/dist/utils/publishable-key.js.map +1 -1
  436. package/package.json +41 -42
  437. package/dist/components.cjs +0 -2
  438. package/dist/components.cjs.map +0 -1
  439. package/dist/components.js +0 -13
  440. package/dist/components.js.map +0 -1
  441. package/dist/hooks.cjs +0 -2
  442. package/dist/hooks.cjs.map +0 -1
  443. package/dist/hooks.js +0 -14
  444. package/dist/hooks.js.map +0 -1
  445. package/dist/providers.cjs +0 -2
  446. package/dist/providers.cjs.map +0 -1
  447. package/dist/providers.js +0 -13
  448. package/dist/providers.js.map +0 -1
  449. package/dist/tailwind.plugin.cjs +0 -2
  450. package/dist/tailwind.plugin.cjs.map +0 -1
  451. package/dist/tailwind.plugin.js.map +0 -1
@@ -1,2 +1,846 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ue=require("react"),M=require("../../primitive/dist/index.cjs"),$e=require("../../react-collection/dist/index.cjs"),w=require("../../react-compose-refs/dist/index.cjs"),Be=require("../../react-context/dist/index.cjs"),Ve=require("../../react-direction/dist/index.cjs"),Ye=require("../../react-dismissable-layer/dist/index.cjs"),Xe=require("../../react-focus-guards/dist/index.cjs"),We=require("../../react-focus-scope/dist/index.cjs"),y=require("../../react-popper/dist/index.cjs"),ze=require("../../react-portal/dist/index.cjs"),B=require("../../react-presence/dist/index.cjs"),T=require("../../react-primitive/dist/index.cjs"),V=require("../../react-roving-focus/dist/index.cjs"),Ze=require("../../react-slot/dist/index.cjs"),Pe=require("../../react-use-callback-ref/dist/index.cjs"),Je=require("../../../aria-hidden/dist/es2015/index.cjs"),Qe=require("../../../react-remove-scroll/dist/es2015/Combination.cjs"),a=require("react/jsx-runtime");function en(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const r=en(Ue);var ee=["Enter"," "],nn=["ArrowDown","PageUp","Home"],Se=["ArrowUp","PageDown","End"],tn=[...nn,...Se],on={ltr:[...ee,"ArrowRight"],rtl:[...ee,"ArrowLeft"]},rn={ltr:["ArrowLeft"],rtl:["ArrowRight"]},L="Menu",[D,cn,sn]=$e.createCollection(L),[R,an]=Be.createContextScope(L,[sn,y.createPopperScope,V.createRovingFocusGroupScope]),Y=y.createPopperScope(),Ie=V.createRovingFocusGroupScope(),[un,E]=R(L),[ln,F]=R(L),ne=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:u,onOpenChange:c,modal:d=!0}=e,m=Y(t),[C,p]=r.useState(null),l=r.useRef(!1),s=Pe.useCallbackRef(c),f=Ve.useDirection(u);return r.useEffect(()=>{const x=()=>{l.current=!0,document.addEventListener("pointerdown",v,{capture:!0,once:!0}),document.addEventListener("pointermove",v,{capture:!0,once:!0})},v=()=>l.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",v,{capture:!0}),document.removeEventListener("pointermove",v,{capture:!0})}},[]),a.jsx(y.Root,{...m,children:a.jsx(un,{scope:t,open:n,onOpenChange:s,content:C,onContentChange:p,children:a.jsx(ln,{scope:t,onClose:r.useCallback(()=>s(!1),[s]),isUsingKeyboardRef:l,dir:f,modal:d,children:o})})})};ne.displayName=L;var dn="MenuAnchor",X=r.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,u=Y(n);return a.jsx(y.Anchor,{...u,...o,ref:t})});X.displayName=dn;var te="MenuPortal",[fn,be]=R(te,{forceMount:void 0}),oe=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:u}=e,c=E(te,t);return a.jsx(fn,{scope:t,forceMount:n,children:a.jsx(B.Presence,{present:n||c.open,children:a.jsx(ze.Portal,{asChild:!0,container:u,children:o})})})};oe.displayName=te;var g="MenuContent",[pn,re]=R(g),ce=r.forwardRef((e,t)=>{const n=be(g,e.__scopeMenu),{forceMount:o=n.forceMount,...u}=e,c=E(g,e.__scopeMenu),d=F(g,e.__scopeMenu);return a.jsx(D.Provider,{scope:e.__scopeMenu,children:a.jsx(B.Presence,{present:o||c.open,children:a.jsx(D.Slot,{scope:e.__scopeMenu,children:d.modal?a.jsx(mn,{...u,ref:t}):a.jsx(vn,{...u,ref:t})})})})}),mn=r.forwardRef((e,t)=>{const n=E(g,e.__scopeMenu),o=r.useRef(null),u=w.useComposedRefs(t,o);return r.useEffect(()=>{const c=o.current;if(c)return Je.hideOthers(c)},[]),a.jsx(se,{...e,ref:u,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:M.composeEventHandlers(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),vn=r.forwardRef((e,t)=>{const n=E(g,e.__scopeMenu);return a.jsx(se,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Mn=Ze.createSlot("MenuContent.ScrollLock"),se=r.forwardRef((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:u,onOpenAutoFocus:c,onCloseAutoFocus:d,disableOutsidePointerEvents:m,onEntryFocus:C,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:s,onInteractOutside:f,onDismiss:x,disableOutsideScroll:v,...P}=e,A=E(g,n),S=F(g,n),De=Y(n),Ne=Ie(n),he=cn(n),[Le,xe]=r.useState(null),K=r.useRef(null),Fe=w.useComposedRefs(t,K,A.onContentChange),H=r.useRef(0),q=r.useRef(""),Ge=r.useRef(0),z=r.useRef(null),ge=r.useRef("right"),Z=r.useRef(0),Ke=v?Qe:r.Fragment,He=v?{as:Mn,allowPinchZoom:!0}:void 0,qe=i=>{const b=q.current+i,_=he().filter(h=>!h.disabled),O=document.activeElement,J=_.find(h=>h.ref.current===O)?.textValue,Q=_.map(h=>h.textValue),_e=wn(Q,b,J),j=_.find(h=>h.textValue===_e)?.ref.current;(function h(Re){q.current=Re,window.clearTimeout(H.current),Re!==""&&(H.current=window.setTimeout(()=>h(""),1e3))})(b),j&&setTimeout(()=>j.focus())};r.useEffect(()=>()=>window.clearTimeout(H.current),[]),Xe.useFocusGuards();const I=r.useCallback(i=>ge.current===z.current?.side&&Tn(i,z.current?.area),[]);return a.jsx(pn,{scope:n,searchRef:q,onItemEnter:r.useCallback(i=>{I(i)&&i.preventDefault()},[I]),onItemLeave:r.useCallback(i=>{I(i)||(K.current?.focus(),xe(null))},[I]),onTriggerLeave:r.useCallback(i=>{I(i)&&i.preventDefault()},[I]),pointerGraceTimerRef:Ge,onPointerGraceIntentChange:r.useCallback(i=>{z.current=i},[]),children:a.jsx(Ke,{...He,children:a.jsx(We.FocusScope,{asChild:!0,trapped:u,onMountAutoFocus:M.composeEventHandlers(c,i=>{i.preventDefault(),K.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:a.jsx(Ye.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:m,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:s,onInteractOutside:f,onDismiss:x,children:a.jsx(V.Root,{asChild:!0,...Ne,dir:S.dir,orientation:"vertical",loop:o,currentTabStopId:Le,onCurrentTabStopIdChange:xe,onEntryFocus:M.composeEventHandlers(C,i=>{S.isUsingKeyboardRef.current||i.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(y.Content,{role:"menu","aria-orientation":"vertical","data-state":ke(A.open),"data-radix-menu-content":"",dir:S.dir,...De,...P,ref:Fe,style:{outline:"none",...P.style},onKeyDown:M.composeEventHandlers(P.onKeyDown,i=>{const _=i.target.closest("[data-radix-menu-content]")===i.currentTarget,O=i.ctrlKey||i.altKey||i.metaKey,J=i.key.length===1;_&&(i.key==="Tab"&&i.preventDefault(),!O&&J&&qe(i.key));const Q=K.current;if(i.target!==Q||!tn.includes(i.key))return;i.preventDefault();const j=he().filter(h=>!h.disabled).map(h=>h.ref.current);Se.includes(i.key)&&j.reverse(),In(j)}),onBlur:M.composeEventHandlers(e.onBlur,i=>{i.currentTarget.contains(i.target)||(window.clearTimeout(H.current),q.current="")}),onPointerMove:M.composeEventHandlers(e.onPointerMove,N(i=>{const b=i.target,_=Z.current!==i.clientX;if(i.currentTarget.contains(b)&&_){const O=i.clientX>Z.current?"right":"left";ge.current=O,Z.current=i.clientX}}))})})})})})})});ce.displayName=g;var Cn="MenuGroup",W=r.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return a.jsx(T.Primitive.div,{role:"group",...o,ref:t})});W.displayName=Cn;var hn="MenuLabel",ae=r.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return a.jsx(T.Primitive.div,{...o,ref:t})});ae.displayName=hn;var U="MenuItem",Ee="menu.itemSelect",G=r.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:o,...u}=e,c=r.useRef(null),d=F(U,e.__scopeMenu),m=re(U,e.__scopeMenu),C=w.useComposedRefs(t,c),p=r.useRef(!1),l=()=>{const s=c.current;if(!n&&s){const f=new CustomEvent(Ee,{bubbles:!0,cancelable:!0});s.addEventListener(Ee,x=>o?.(x),{once:!0}),T.dispatchDiscreteCustomEvent(s,f),f.defaultPrevented?p.current=!1:d.onClose()}};return a.jsx(we,{...u,ref:C,disabled:n,onClick:M.composeEventHandlers(e.onClick,l),onPointerDown:s=>{e.onPointerDown?.(s),p.current=!0},onPointerUp:M.composeEventHandlers(e.onPointerUp,s=>{p.current||s.currentTarget?.click()}),onKeyDown:M.composeEventHandlers(e.onKeyDown,s=>{const f=m.searchRef.current!=="";n||f&&s.key===" "||ee.includes(s.key)&&(s.currentTarget.click(),s.preventDefault())})})});G.displayName=U;var we=r.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:u,...c}=e,d=re(U,n),m=Ie(n),C=r.useRef(null),p=w.useComposedRefs(t,C),[l,s]=r.useState(!1),[f,x]=r.useState("");return r.useEffect(()=>{const v=C.current;v&&x((v.textContent??"").trim())},[c.children]),a.jsx(D.ItemSlot,{scope:n,disabled:o,textValue:u??f,children:a.jsx(V.Item,{asChild:!0,...m,focusable:!o,children:a.jsx(T.Primitive.div,{role:"menuitem","data-highlighted":l?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...c,ref:p,onPointerMove:M.composeEventHandlers(e.onPointerMove,N(v=>{o?d.onItemLeave(v):(d.onItemEnter(v),v.defaultPrevented||v.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:M.composeEventHandlers(e.onPointerLeave,N(v=>d.onItemLeave(v))),onFocus:M.composeEventHandlers(e.onFocus,()=>s(!0)),onBlur:M.composeEventHandlers(e.onBlur,()=>s(!1))})})})}),xn="MenuCheckboxItem",ue=r.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:o,...u}=e;return a.jsx(Ae,{scope:e.__scopeMenu,checked:n,children:a.jsx(G,{role:"menuitemcheckbox","aria-checked":$(n)?"mixed":n,...u,ref:t,"data-state":Ce(n),onSelect:M.composeEventHandlers(u.onSelect,()=>o?.($(n)?!0:!n),{checkForDefaultPrevented:!1})})})});ue.displayName=xn;var ye="MenuRadioGroup",[gn,_n]=R(ye,{value:void 0,onValueChange:()=>{}}),ie=r.forwardRef((e,t)=>{const{value:n,onValueChange:o,...u}=e,c=Pe.useCallbackRef(o);return a.jsx(gn,{scope:e.__scopeMenu,value:n,onValueChange:c,children:a.jsx(W,{...u,ref:t})})});ie.displayName=ye;var Te="MenuRadioItem",le=r.forwardRef((e,t)=>{const{value:n,...o}=e,u=_n(Te,e.__scopeMenu),c=n===u.value;return a.jsx(Ae,{scope:e.__scopeMenu,checked:c,children:a.jsx(G,{role:"menuitemradio","aria-checked":c,...o,ref:t,"data-state":Ce(c),onSelect:M.composeEventHandlers(o.onSelect,()=>u.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});le.displayName=Te;var de="MenuItemIndicator",[Ae,Rn]=R(de,{checked:!1}),fe=r.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:o,...u}=e,c=Rn(de,n);return a.jsx(B.Presence,{present:o||$(c.checked)||c.checked===!0,children:a.jsx(T.Primitive.span,{...u,ref:t,"data-state":Ce(c.checked)})})});fe.displayName=de;var En="MenuSeparator",pe=r.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e;return a.jsx(T.Primitive.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})});pe.displayName=En;var Pn="MenuArrow",me=r.forwardRef((e,t)=>{const{__scopeMenu:n,...o}=e,u=Y(n);return a.jsx(y.Arrow,{...u,...o,ref:t})});me.displayName=Pn;var Sn="MenuSub",[Vn,Oe]=R(Sn),k="MenuSubTrigger",ve=r.forwardRef((e,t)=>{const n=E(k,e.__scopeMenu),o=F(k,e.__scopeMenu),u=Oe(k,e.__scopeMenu),c=re(k,e.__scopeMenu),d=r.useRef(null),{pointerGraceTimerRef:m,onPointerGraceIntentChange:C}=c,p={__scopeMenu:e.__scopeMenu},l=r.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);return r.useEffect(()=>l,[l]),r.useEffect(()=>{const s=m.current;return()=>{window.clearTimeout(s),C(null)}},[m,C]),a.jsx(X,{asChild:!0,...p,children:a.jsx(we,{id:u.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":u.contentId,"data-state":ke(n.open),...e,ref:w.composeRefs(t,u.onTriggerChange),onClick:s=>{e.onClick?.(s),!(e.disabled||s.defaultPrevented)&&(s.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:M.composeEventHandlers(e.onPointerMove,N(s=>{c.onItemEnter(s),!s.defaultPrevented&&!e.disabled&&!n.open&&!d.current&&(c.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{n.onOpenChange(!0),l()},100))})),onPointerLeave:M.composeEventHandlers(e.onPointerLeave,N(s=>{l();const f=n.content?.getBoundingClientRect();if(f){const x=n.content?.dataset.side,v=x==="right",P=v?-5:5,A=f[v?"left":"right"],S=f[v?"right":"left"];c.onPointerGraceIntentChange({area:[{x:s.clientX+P,y:s.clientY},{x:A,y:f.top},{x:S,y:f.top},{x:S,y:f.bottom},{x:A,y:f.bottom}],side:x}),window.clearTimeout(m.current),m.current=window.setTimeout(()=>c.onPointerGraceIntentChange(null),300)}else{if(c.onTriggerLeave(s),s.defaultPrevented)return;c.onPointerGraceIntentChange(null)}})),onKeyDown:M.composeEventHandlers(e.onKeyDown,s=>{const f=c.searchRef.current!=="";e.disabled||f&&s.key===" "||on[o.dir].includes(s.key)&&(n.onOpenChange(!0),n.content?.focus(),s.preventDefault())})})})});ve.displayName=k;var je="MenuSubContent",Me=r.forwardRef((e,t)=>{const n=be(g,e.__scopeMenu),{forceMount:o=n.forceMount,...u}=e,c=E(g,e.__scopeMenu),d=F(g,e.__scopeMenu),m=Oe(je,e.__scopeMenu),C=r.useRef(null),p=w.useComposedRefs(t,C);return a.jsx(D.Provider,{scope:e.__scopeMenu,children:a.jsx(B.Presence,{present:o||c.open,children:a.jsx(D.Slot,{scope:e.__scopeMenu,children:a.jsx(se,{id:m.contentId,"aria-labelledby":m.triggerId,...u,ref:p,align:"start",side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:l=>{d.isUsingKeyboardRef.current&&C.current?.focus(),l.preventDefault()},onCloseAutoFocus:l=>l.preventDefault(),onFocusOutside:M.composeEventHandlers(e.onFocusOutside,l=>{l.target!==m.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:M.composeEventHandlers(e.onEscapeKeyDown,l=>{d.onClose(),l.preventDefault()}),onKeyDown:M.composeEventHandlers(e.onKeyDown,l=>{const s=l.currentTarget.contains(l.target),f=rn[d.dir].includes(l.key);s&&f&&(c.onOpenChange(!1),m.trigger?.focus(),l.preventDefault())})})})})})});Me.displayName=je;function ke(e){return e?"open":"closed"}function $(e){return e==="indeterminate"}function Ce(e){return $(e)?"indeterminate":e?"checked":"unchecked"}function In(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function bn(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function wn(e,t,n){const u=t.length>1&&Array.from(t).every(p=>p===t[0])?t[0]:t,c=n?e.indexOf(n):-1;let d=bn(e,Math.max(c,0));u.length===1&&(d=d.filter(p=>p!==n));const C=d.find(p=>p.toLowerCase().startsWith(u.toLowerCase()));return C!==n?C:void 0}function yn(e,t){const{x:n,y:o}=e;let u=!1;for(let c=0,d=t.length-1;c<t.length;d=c++){const m=t[c],C=t[d],p=m.x,l=m.y,s=C.x,f=C.y;l>o!=f>o&&n<(s-p)*(o-l)/(f-l)+p&&(u=!u)}return u}function Tn(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return yn(n,t)}function N(e){return t=>t.pointerType==="mouse"?e(t):void 0}var An=ne,On=X,jn=oe,kn=ce,Dn=W,Nn=ae,Ln=G,Fn=ue,Gn=ie,Kn=le,Hn=fe,qn=pe,Un=me,$n=ve,Bn=Me;exports.Anchor=On;exports.Arrow=Un;exports.CheckboxItem=Fn;exports.Content=kn;exports.Group=Dn;exports.Item=Ln;exports.ItemIndicator=Hn;exports.Label=Nn;exports.Menu=ne;exports.MenuAnchor=X;exports.MenuArrow=me;exports.MenuCheckboxItem=ue;exports.MenuContent=ce;exports.MenuGroup=W;exports.MenuItem=G;exports.MenuItemIndicator=fe;exports.MenuLabel=ae;exports.MenuPortal=oe;exports.MenuRadioGroup=ie;exports.MenuRadioItem=le;exports.MenuSeparator=pe;exports.MenuSubContent=Me;exports.MenuSubTrigger=ve;exports.Portal=jn;exports.RadioGroup=Gn;exports.RadioItem=Kn;exports.Root=An;exports.Separator=qn;exports.SubContent=Bn;exports.SubTrigger=$n;exports.createMenuScope=an;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const index$a = require("../../primitive/dist/index.cjs");
5
+ const index$4 = require("../../react-collection/dist/index.cjs");
6
+ const index$9 = require("../../react-compose-refs/dist/index.cjs");
7
+ const index = require("../../react-context/dist/index.cjs");
8
+ const index$3 = require("../../react-direction/dist/index.cjs");
9
+ const index$f = require("../../react-dismissable-layer/dist/index.cjs");
10
+ const index$c = require("../../react-focus-guards/dist/index.cjs");
11
+ const index$e = require("../../react-focus-scope/dist/index.cjs");
12
+ const index$1 = require("../../react-popper/dist/index.cjs");
13
+ const index$7 = require("../../react-portal/dist/index.cjs");
14
+ const index$6 = require("../../react-presence/dist/index.cjs");
15
+ const index$8 = require("../../react-primitive/dist/index.cjs");
16
+ const index$5 = require("../../react-roving-focus/dist/index.cjs");
17
+ const index$d = require("../../react-slot/dist/index.cjs");
18
+ const index$2 = require("../../react-use-callback-ref/dist/index.cjs");
19
+ const index$b = require("../../../aria-hidden/dist/es2015/index.cjs");
20
+ const Combination = require("../../../react-remove-scroll/dist/es2015/Combination.cjs");
21
+ const jsxRuntime = require("react/jsx-runtime");
22
+ function _interopNamespaceDefault(e) {
23
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
24
+ if (e) {
25
+ for (const k in e) {
26
+ if (k !== "default") {
27
+ const d = Object.getOwnPropertyDescriptor(e, k);
28
+ Object.defineProperty(n, k, d.get ? d : {
29
+ enumerable: true,
30
+ get: () => e[k]
31
+ });
32
+ }
33
+ }
34
+ }
35
+ n.default = e;
36
+ return Object.freeze(n);
37
+ }
38
+ const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
39
+ var SELECTION_KEYS = ["Enter", " "];
40
+ var FIRST_KEYS = ["ArrowDown", "PageUp", "Home"];
41
+ var LAST_KEYS = ["ArrowUp", "PageDown", "End"];
42
+ var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
43
+ var SUB_OPEN_KEYS = {
44
+ ltr: [...SELECTION_KEYS, "ArrowRight"],
45
+ rtl: [...SELECTION_KEYS, "ArrowLeft"]
46
+ };
47
+ var SUB_CLOSE_KEYS = {
48
+ ltr: ["ArrowLeft"],
49
+ rtl: ["ArrowRight"]
50
+ };
51
+ var MENU_NAME = "Menu";
52
+ var [Collection, useCollection, createCollectionScope] = index$4.createCollection(MENU_NAME);
53
+ var [createMenuContext, createMenuScope] = index.createContextScope(MENU_NAME, [
54
+ createCollectionScope,
55
+ index$1.createPopperScope,
56
+ index$5.createRovingFocusGroupScope
57
+ ]);
58
+ var usePopperScope = index$1.createPopperScope();
59
+ var useRovingFocusGroupScope = index$5.createRovingFocusGroupScope();
60
+ var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
61
+ var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
62
+ var Menu = (props) => {
63
+ const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
64
+ const popperScope = usePopperScope(__scopeMenu);
65
+ const [content, setContent] = React__namespace.useState(null);
66
+ const isUsingKeyboardRef = React__namespace.useRef(false);
67
+ const handleOpenChange = index$2.useCallbackRef(onOpenChange);
68
+ const direction = index$3.useDirection(dir);
69
+ React__namespace.useEffect(() => {
70
+ const handleKeyDown = () => {
71
+ isUsingKeyboardRef.current = true;
72
+ document.addEventListener("pointerdown", handlePointer, { capture: true, once: true });
73
+ document.addEventListener("pointermove", handlePointer, { capture: true, once: true });
74
+ };
75
+ const handlePointer = () => isUsingKeyboardRef.current = false;
76
+ document.addEventListener("keydown", handleKeyDown, { capture: true });
77
+ return () => {
78
+ document.removeEventListener("keydown", handleKeyDown, { capture: true });
79
+ document.removeEventListener("pointerdown", handlePointer, { capture: true });
80
+ document.removeEventListener("pointermove", handlePointer, { capture: true });
81
+ };
82
+ }, []);
83
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.Root, { ...popperScope, children: /* @__PURE__ */ jsxRuntime.jsx(
84
+ MenuProvider,
85
+ {
86
+ scope: __scopeMenu,
87
+ open,
88
+ onOpenChange: handleOpenChange,
89
+ content,
90
+ onContentChange: setContent,
91
+ children: /* @__PURE__ */ jsxRuntime.jsx(
92
+ MenuRootProvider,
93
+ {
94
+ scope: __scopeMenu,
95
+ onClose: React__namespace.useCallback(() => handleOpenChange(false), [handleOpenChange]),
96
+ isUsingKeyboardRef,
97
+ dir: direction,
98
+ modal,
99
+ children
100
+ }
101
+ )
102
+ }
103
+ ) });
104
+ };
105
+ Menu.displayName = MENU_NAME;
106
+ var ANCHOR_NAME = "MenuAnchor";
107
+ var MenuAnchor = React__namespace.forwardRef(
108
+ (props, forwardedRef) => {
109
+ const { __scopeMenu, ...anchorProps } = props;
110
+ const popperScope = usePopperScope(__scopeMenu);
111
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
112
+ }
113
+ );
114
+ MenuAnchor.displayName = ANCHOR_NAME;
115
+ var PORTAL_NAME = "MenuPortal";
116
+ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
117
+ forceMount: void 0
118
+ });
119
+ var MenuPortal = (props) => {
120
+ const { __scopeMenu, forceMount, children, container } = props;
121
+ const context = useMenuContext(PORTAL_NAME, __scopeMenu);
122
+ return /* @__PURE__ */ jsxRuntime.jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsxRuntime.jsx(index$6.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(index$7.Portal, { asChild: true, container, children }) }) });
123
+ };
124
+ MenuPortal.displayName = PORTAL_NAME;
125
+ var CONTENT_NAME = "MenuContent";
126
+ var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);
127
+ var MenuContent = React__namespace.forwardRef(
128
+ (props, forwardedRef) => {
129
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
130
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
131
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
132
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
133
+ return /* @__PURE__ */ jsxRuntime.jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(index$6.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsxRuntime.jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsxRuntime.jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
134
+ }
135
+ );
136
+ var MenuRootContentModal = React__namespace.forwardRef(
137
+ (props, forwardedRef) => {
138
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
139
+ const ref = React__namespace.useRef(null);
140
+ const composedRefs = index$9.useComposedRefs(forwardedRef, ref);
141
+ React__namespace.useEffect(() => {
142
+ const content = ref.current;
143
+ if (content) return index$b.hideOthers(content);
144
+ }, []);
145
+ return /* @__PURE__ */ jsxRuntime.jsx(
146
+ MenuContentImpl,
147
+ {
148
+ ...props,
149
+ ref: composedRefs,
150
+ trapFocus: context.open,
151
+ disableOutsidePointerEvents: context.open,
152
+ disableOutsideScroll: true,
153
+ onFocusOutside: index$a.composeEventHandlers(
154
+ props.onFocusOutside,
155
+ (event) => event.preventDefault(),
156
+ { checkForDefaultPrevented: false }
157
+ ),
158
+ onDismiss: () => context.onOpenChange(false)
159
+ }
160
+ );
161
+ }
162
+ );
163
+ var MenuRootContentNonModal = React__namespace.forwardRef((props, forwardedRef) => {
164
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
165
+ return /* @__PURE__ */ jsxRuntime.jsx(
166
+ MenuContentImpl,
167
+ {
168
+ ...props,
169
+ ref: forwardedRef,
170
+ trapFocus: false,
171
+ disableOutsidePointerEvents: false,
172
+ disableOutsideScroll: false,
173
+ onDismiss: () => context.onOpenChange(false)
174
+ }
175
+ );
176
+ });
177
+ var Slot = index$d.createSlot("MenuContent.ScrollLock");
178
+ var MenuContentImpl = React__namespace.forwardRef(
179
+ (props, forwardedRef) => {
180
+ const {
181
+ __scopeMenu,
182
+ loop = false,
183
+ trapFocus,
184
+ onOpenAutoFocus,
185
+ onCloseAutoFocus,
186
+ disableOutsidePointerEvents,
187
+ onEntryFocus,
188
+ onEscapeKeyDown,
189
+ onPointerDownOutside,
190
+ onFocusOutside,
191
+ onInteractOutside,
192
+ onDismiss,
193
+ disableOutsideScroll,
194
+ ...contentProps
195
+ } = props;
196
+ const context = useMenuContext(CONTENT_NAME, __scopeMenu);
197
+ const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);
198
+ const popperScope = usePopperScope(__scopeMenu);
199
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
200
+ const getItems = useCollection(__scopeMenu);
201
+ const [currentItemId, setCurrentItemId] = React__namespace.useState(null);
202
+ const contentRef = React__namespace.useRef(null);
203
+ const composedRefs = index$9.useComposedRefs(forwardedRef, contentRef, context.onContentChange);
204
+ const timerRef = React__namespace.useRef(0);
205
+ const searchRef = React__namespace.useRef("");
206
+ const pointerGraceTimerRef = React__namespace.useRef(0);
207
+ const pointerGraceIntentRef = React__namespace.useRef(null);
208
+ const pointerDirRef = React__namespace.useRef("right");
209
+ const lastPointerXRef = React__namespace.useRef(0);
210
+ const ScrollLockWrapper = disableOutsideScroll ? Combination : React__namespace.Fragment;
211
+ const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;
212
+ const handleTypeaheadSearch = (key) => {
213
+ const search = searchRef.current + key;
214
+ const items = getItems().filter((item) => !item.disabled);
215
+ const currentItem = document.activeElement;
216
+ const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;
217
+ const values = items.map((item) => item.textValue);
218
+ const nextMatch = getNextMatch(values, search, currentMatch);
219
+ const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;
220
+ (function updateSearch(value) {
221
+ searchRef.current = value;
222
+ window.clearTimeout(timerRef.current);
223
+ if (value !== "") timerRef.current = window.setTimeout(() => updateSearch(""), 1e3);
224
+ })(search);
225
+ if (newItem) {
226
+ setTimeout(() => newItem.focus());
227
+ }
228
+ };
229
+ React__namespace.useEffect(() => {
230
+ return () => window.clearTimeout(timerRef.current);
231
+ }, []);
232
+ index$c.useFocusGuards();
233
+ const isPointerMovingToSubmenu = React__namespace.useCallback((event) => {
234
+ const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
235
+ return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
236
+ }, []);
237
+ return /* @__PURE__ */ jsxRuntime.jsx(
238
+ MenuContentProvider,
239
+ {
240
+ scope: __scopeMenu,
241
+ searchRef,
242
+ onItemEnter: React__namespace.useCallback(
243
+ (event) => {
244
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
245
+ },
246
+ [isPointerMovingToSubmenu]
247
+ ),
248
+ onItemLeave: React__namespace.useCallback(
249
+ (event) => {
250
+ if (isPointerMovingToSubmenu(event)) return;
251
+ contentRef.current?.focus();
252
+ setCurrentItemId(null);
253
+ },
254
+ [isPointerMovingToSubmenu]
255
+ ),
256
+ onTriggerLeave: React__namespace.useCallback(
257
+ (event) => {
258
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
259
+ },
260
+ [isPointerMovingToSubmenu]
261
+ ),
262
+ pointerGraceTimerRef,
263
+ onPointerGraceIntentChange: React__namespace.useCallback((intent) => {
264
+ pointerGraceIntentRef.current = intent;
265
+ }, []),
266
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsxRuntime.jsx(
267
+ index$e.FocusScope,
268
+ {
269
+ asChild: true,
270
+ trapped: trapFocus,
271
+ onMountAutoFocus: index$a.composeEventHandlers(onOpenAutoFocus, (event) => {
272
+ event.preventDefault();
273
+ contentRef.current?.focus({ preventScroll: true });
274
+ }),
275
+ onUnmountAutoFocus: onCloseAutoFocus,
276
+ children: /* @__PURE__ */ jsxRuntime.jsx(
277
+ index$f.DismissableLayer,
278
+ {
279
+ asChild: true,
280
+ disableOutsidePointerEvents,
281
+ onEscapeKeyDown,
282
+ onPointerDownOutside,
283
+ onFocusOutside,
284
+ onInteractOutside,
285
+ onDismiss,
286
+ children: /* @__PURE__ */ jsxRuntime.jsx(
287
+ index$5.Root,
288
+ {
289
+ asChild: true,
290
+ ...rovingFocusGroupScope,
291
+ dir: rootContext.dir,
292
+ orientation: "vertical",
293
+ loop,
294
+ currentTabStopId: currentItemId,
295
+ onCurrentTabStopIdChange: setCurrentItemId,
296
+ onEntryFocus: index$a.composeEventHandlers(onEntryFocus, (event) => {
297
+ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
298
+ }),
299
+ preventScrollOnEntryFocus: true,
300
+ children: /* @__PURE__ */ jsxRuntime.jsx(
301
+ index$1.Content,
302
+ {
303
+ role: "menu",
304
+ "aria-orientation": "vertical",
305
+ "data-state": getOpenState(context.open),
306
+ "data-radix-menu-content": "",
307
+ dir: rootContext.dir,
308
+ ...popperScope,
309
+ ...contentProps,
310
+ ref: composedRefs,
311
+ style: { outline: "none", ...contentProps.style },
312
+ onKeyDown: index$a.composeEventHandlers(contentProps.onKeyDown, (event) => {
313
+ const target = event.target;
314
+ const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget;
315
+ const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
316
+ const isCharacterKey = event.key.length === 1;
317
+ if (isKeyDownInside) {
318
+ if (event.key === "Tab") event.preventDefault();
319
+ if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
320
+ }
321
+ const content = contentRef.current;
322
+ if (event.target !== content) return;
323
+ if (!FIRST_LAST_KEYS.includes(event.key)) return;
324
+ event.preventDefault();
325
+ const items = getItems().filter((item) => !item.disabled);
326
+ const candidateNodes = items.map((item) => item.ref.current);
327
+ if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
328
+ focusFirst(candidateNodes);
329
+ }),
330
+ onBlur: index$a.composeEventHandlers(props.onBlur, (event) => {
331
+ if (!event.currentTarget.contains(event.target)) {
332
+ window.clearTimeout(timerRef.current);
333
+ searchRef.current = "";
334
+ }
335
+ }),
336
+ onPointerMove: index$a.composeEventHandlers(
337
+ props.onPointerMove,
338
+ whenMouse((event) => {
339
+ const target = event.target;
340
+ const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
341
+ if (event.currentTarget.contains(target) && pointerXHasChanged) {
342
+ const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
343
+ pointerDirRef.current = newDir;
344
+ lastPointerXRef.current = event.clientX;
345
+ }
346
+ })
347
+ )
348
+ }
349
+ )
350
+ }
351
+ )
352
+ }
353
+ )
354
+ }
355
+ ) })
356
+ }
357
+ );
358
+ }
359
+ );
360
+ MenuContent.displayName = CONTENT_NAME;
361
+ var GROUP_NAME = "MenuGroup";
362
+ var MenuGroup = React__namespace.forwardRef(
363
+ (props, forwardedRef) => {
364
+ const { __scopeMenu, ...groupProps } = props;
365
+ return /* @__PURE__ */ jsxRuntime.jsx(index$8.Primitive.div, { role: "group", ...groupProps, ref: forwardedRef });
366
+ }
367
+ );
368
+ MenuGroup.displayName = GROUP_NAME;
369
+ var LABEL_NAME = "MenuLabel";
370
+ var MenuLabel = React__namespace.forwardRef(
371
+ (props, forwardedRef) => {
372
+ const { __scopeMenu, ...labelProps } = props;
373
+ return /* @__PURE__ */ jsxRuntime.jsx(index$8.Primitive.div, { ...labelProps, ref: forwardedRef });
374
+ }
375
+ );
376
+ MenuLabel.displayName = LABEL_NAME;
377
+ var ITEM_NAME = "MenuItem";
378
+ var ITEM_SELECT = "menu.itemSelect";
379
+ var MenuItem = React__namespace.forwardRef(
380
+ (props, forwardedRef) => {
381
+ const { disabled = false, onSelect, ...itemProps } = props;
382
+ const ref = React__namespace.useRef(null);
383
+ const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);
384
+ const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);
385
+ const composedRefs = index$9.useComposedRefs(forwardedRef, ref);
386
+ const isPointerDownRef = React__namespace.useRef(false);
387
+ const handleSelect = () => {
388
+ const menuItem = ref.current;
389
+ if (!disabled && menuItem) {
390
+ const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });
391
+ menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });
392
+ index$8.dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
393
+ if (itemSelectEvent.defaultPrevented) {
394
+ isPointerDownRef.current = false;
395
+ } else {
396
+ rootContext.onClose();
397
+ }
398
+ }
399
+ };
400
+ return /* @__PURE__ */ jsxRuntime.jsx(
401
+ MenuItemImpl,
402
+ {
403
+ ...itemProps,
404
+ ref: composedRefs,
405
+ disabled,
406
+ onClick: index$a.composeEventHandlers(props.onClick, handleSelect),
407
+ onPointerDown: (event) => {
408
+ props.onPointerDown?.(event);
409
+ isPointerDownRef.current = true;
410
+ },
411
+ onPointerUp: index$a.composeEventHandlers(props.onPointerUp, (event) => {
412
+ if (!isPointerDownRef.current) event.currentTarget?.click();
413
+ }),
414
+ onKeyDown: index$a.composeEventHandlers(props.onKeyDown, (event) => {
415
+ const isTypingAhead = contentContext.searchRef.current !== "";
416
+ if (disabled || isTypingAhead && event.key === " ") return;
417
+ if (SELECTION_KEYS.includes(event.key)) {
418
+ event.currentTarget.click();
419
+ event.preventDefault();
420
+ }
421
+ })
422
+ }
423
+ );
424
+ }
425
+ );
426
+ MenuItem.displayName = ITEM_NAME;
427
+ var MenuItemImpl = React__namespace.forwardRef(
428
+ (props, forwardedRef) => {
429
+ const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
430
+ const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);
431
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
432
+ const ref = React__namespace.useRef(null);
433
+ const composedRefs = index$9.useComposedRefs(forwardedRef, ref);
434
+ const [isFocused, setIsFocused] = React__namespace.useState(false);
435
+ const [textContent, setTextContent] = React__namespace.useState("");
436
+ React__namespace.useEffect(() => {
437
+ const menuItem = ref.current;
438
+ if (menuItem) {
439
+ setTextContent((menuItem.textContent ?? "").trim());
440
+ }
441
+ }, [itemProps.children]);
442
+ return /* @__PURE__ */ jsxRuntime.jsx(
443
+ Collection.ItemSlot,
444
+ {
445
+ scope: __scopeMenu,
446
+ disabled,
447
+ textValue: textValue ?? textContent,
448
+ children: /* @__PURE__ */ jsxRuntime.jsx(index$5.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsxRuntime.jsx(
449
+ index$8.Primitive.div,
450
+ {
451
+ role: "menuitem",
452
+ "data-highlighted": isFocused ? "" : void 0,
453
+ "aria-disabled": disabled || void 0,
454
+ "data-disabled": disabled ? "" : void 0,
455
+ ...itemProps,
456
+ ref: composedRefs,
457
+ onPointerMove: index$a.composeEventHandlers(
458
+ props.onPointerMove,
459
+ whenMouse((event) => {
460
+ if (disabled) {
461
+ contentContext.onItemLeave(event);
462
+ } else {
463
+ contentContext.onItemEnter(event);
464
+ if (!event.defaultPrevented) {
465
+ const item = event.currentTarget;
466
+ item.focus({ preventScroll: true });
467
+ }
468
+ }
469
+ })
470
+ ),
471
+ onPointerLeave: index$a.composeEventHandlers(
472
+ props.onPointerLeave,
473
+ whenMouse((event) => contentContext.onItemLeave(event))
474
+ ),
475
+ onFocus: index$a.composeEventHandlers(props.onFocus, () => setIsFocused(true)),
476
+ onBlur: index$a.composeEventHandlers(props.onBlur, () => setIsFocused(false))
477
+ }
478
+ ) })
479
+ }
480
+ );
481
+ }
482
+ );
483
+ var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
484
+ var MenuCheckboxItem = React__namespace.forwardRef(
485
+ (props, forwardedRef) => {
486
+ const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
487
+ return /* @__PURE__ */ jsxRuntime.jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsxRuntime.jsx(
488
+ MenuItem,
489
+ {
490
+ role: "menuitemcheckbox",
491
+ "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
492
+ ...checkboxItemProps,
493
+ ref: forwardedRef,
494
+ "data-state": getCheckedState(checked),
495
+ onSelect: index$a.composeEventHandlers(
496
+ checkboxItemProps.onSelect,
497
+ () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),
498
+ { checkForDefaultPrevented: false }
499
+ )
500
+ }
501
+ ) });
502
+ }
503
+ );
504
+ MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
505
+ var RADIO_GROUP_NAME = "MenuRadioGroup";
506
+ var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(
507
+ RADIO_GROUP_NAME,
508
+ { value: void 0, onValueChange: () => {
509
+ } }
510
+ );
511
+ var MenuRadioGroup = React__namespace.forwardRef(
512
+ (props, forwardedRef) => {
513
+ const { value, onValueChange, ...groupProps } = props;
514
+ const handleValueChange = index$2.useCallbackRef(onValueChange);
515
+ return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsxRuntime.jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });
516
+ }
517
+ );
518
+ MenuRadioGroup.displayName = RADIO_GROUP_NAME;
519
+ var RADIO_ITEM_NAME = "MenuRadioItem";
520
+ var MenuRadioItem = React__namespace.forwardRef(
521
+ (props, forwardedRef) => {
522
+ const { value, ...radioItemProps } = props;
523
+ const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
524
+ const checked = value === context.value;
525
+ return /* @__PURE__ */ jsxRuntime.jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsxRuntime.jsx(
526
+ MenuItem,
527
+ {
528
+ role: "menuitemradio",
529
+ "aria-checked": checked,
530
+ ...radioItemProps,
531
+ ref: forwardedRef,
532
+ "data-state": getCheckedState(checked),
533
+ onSelect: index$a.composeEventHandlers(
534
+ radioItemProps.onSelect,
535
+ () => context.onValueChange?.(value),
536
+ { checkForDefaultPrevented: false }
537
+ )
538
+ }
539
+ ) });
540
+ }
541
+ );
542
+ MenuRadioItem.displayName = RADIO_ITEM_NAME;
543
+ var ITEM_INDICATOR_NAME = "MenuItemIndicator";
544
+ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
545
+ ITEM_INDICATOR_NAME,
546
+ { checked: false }
547
+ );
548
+ var MenuItemIndicator = React__namespace.forwardRef(
549
+ (props, forwardedRef) => {
550
+ const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
551
+ const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
552
+ return /* @__PURE__ */ jsxRuntime.jsx(
553
+ index$6.Presence,
554
+ {
555
+ present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
556
+ children: /* @__PURE__ */ jsxRuntime.jsx(
557
+ index$8.Primitive.span,
558
+ {
559
+ ...itemIndicatorProps,
560
+ ref: forwardedRef,
561
+ "data-state": getCheckedState(indicatorContext.checked)
562
+ }
563
+ )
564
+ }
565
+ );
566
+ }
567
+ );
568
+ MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
569
+ var SEPARATOR_NAME = "MenuSeparator";
570
+ var MenuSeparator = React__namespace.forwardRef(
571
+ (props, forwardedRef) => {
572
+ const { __scopeMenu, ...separatorProps } = props;
573
+ return /* @__PURE__ */ jsxRuntime.jsx(
574
+ index$8.Primitive.div,
575
+ {
576
+ role: "separator",
577
+ "aria-orientation": "horizontal",
578
+ ...separatorProps,
579
+ ref: forwardedRef
580
+ }
581
+ );
582
+ }
583
+ );
584
+ MenuSeparator.displayName = SEPARATOR_NAME;
585
+ var ARROW_NAME = "MenuArrow";
586
+ var MenuArrow = React__namespace.forwardRef(
587
+ (props, forwardedRef) => {
588
+ const { __scopeMenu, ...arrowProps } = props;
589
+ const popperScope = usePopperScope(__scopeMenu);
590
+ return /* @__PURE__ */ jsxRuntime.jsx(index$1.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
591
+ }
592
+ );
593
+ MenuArrow.displayName = ARROW_NAME;
594
+ var SUB_NAME = "MenuSub";
595
+ var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
596
+ var SUB_TRIGGER_NAME = "MenuSubTrigger";
597
+ var MenuSubTrigger = React__namespace.forwardRef(
598
+ (props, forwardedRef) => {
599
+ const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
600
+ const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
601
+ const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
602
+ const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
603
+ const openTimerRef = React__namespace.useRef(null);
604
+ const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
605
+ const scope = { __scopeMenu: props.__scopeMenu };
606
+ const clearOpenTimer = React__namespace.useCallback(() => {
607
+ if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
608
+ openTimerRef.current = null;
609
+ }, []);
610
+ React__namespace.useEffect(() => clearOpenTimer, [clearOpenTimer]);
611
+ React__namespace.useEffect(() => {
612
+ const pointerGraceTimer = pointerGraceTimerRef.current;
613
+ return () => {
614
+ window.clearTimeout(pointerGraceTimer);
615
+ onPointerGraceIntentChange(null);
616
+ };
617
+ }, [pointerGraceTimerRef, onPointerGraceIntentChange]);
618
+ return /* @__PURE__ */ jsxRuntime.jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsxRuntime.jsx(
619
+ MenuItemImpl,
620
+ {
621
+ id: subContext.triggerId,
622
+ "aria-haspopup": "menu",
623
+ "aria-expanded": context.open,
624
+ "aria-controls": subContext.contentId,
625
+ "data-state": getOpenState(context.open),
626
+ ...props,
627
+ ref: index$9.composeRefs(forwardedRef, subContext.onTriggerChange),
628
+ onClick: (event) => {
629
+ props.onClick?.(event);
630
+ if (props.disabled || event.defaultPrevented) return;
631
+ event.currentTarget.focus();
632
+ if (!context.open) context.onOpenChange(true);
633
+ },
634
+ onPointerMove: index$a.composeEventHandlers(
635
+ props.onPointerMove,
636
+ whenMouse((event) => {
637
+ contentContext.onItemEnter(event);
638
+ if (event.defaultPrevented) return;
639
+ if (!props.disabled && !context.open && !openTimerRef.current) {
640
+ contentContext.onPointerGraceIntentChange(null);
641
+ openTimerRef.current = window.setTimeout(() => {
642
+ context.onOpenChange(true);
643
+ clearOpenTimer();
644
+ }, 100);
645
+ }
646
+ })
647
+ ),
648
+ onPointerLeave: index$a.composeEventHandlers(
649
+ props.onPointerLeave,
650
+ whenMouse((event) => {
651
+ clearOpenTimer();
652
+ const contentRect = context.content?.getBoundingClientRect();
653
+ if (contentRect) {
654
+ const side = context.content?.dataset.side;
655
+ const rightSide = side === "right";
656
+ const bleed = rightSide ? -5 : 5;
657
+ const contentNearEdge = contentRect[rightSide ? "left" : "right"];
658
+ const contentFarEdge = contentRect[rightSide ? "right" : "left"];
659
+ contentContext.onPointerGraceIntentChange({
660
+ area: [
661
+ // Apply a bleed on clientX to ensure that our exit point is
662
+ // consistently within polygon bounds
663
+ { x: event.clientX + bleed, y: event.clientY },
664
+ { x: contentNearEdge, y: contentRect.top },
665
+ { x: contentFarEdge, y: contentRect.top },
666
+ { x: contentFarEdge, y: contentRect.bottom },
667
+ { x: contentNearEdge, y: contentRect.bottom }
668
+ ],
669
+ side
670
+ });
671
+ window.clearTimeout(pointerGraceTimerRef.current);
672
+ pointerGraceTimerRef.current = window.setTimeout(
673
+ () => contentContext.onPointerGraceIntentChange(null),
674
+ 300
675
+ );
676
+ } else {
677
+ contentContext.onTriggerLeave(event);
678
+ if (event.defaultPrevented) return;
679
+ contentContext.onPointerGraceIntentChange(null);
680
+ }
681
+ })
682
+ ),
683
+ onKeyDown: index$a.composeEventHandlers(props.onKeyDown, (event) => {
684
+ const isTypingAhead = contentContext.searchRef.current !== "";
685
+ if (props.disabled || isTypingAhead && event.key === " ") return;
686
+ if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
687
+ context.onOpenChange(true);
688
+ context.content?.focus();
689
+ event.preventDefault();
690
+ }
691
+ })
692
+ }
693
+ ) });
694
+ }
695
+ );
696
+ MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
697
+ var SUB_CONTENT_NAME = "MenuSubContent";
698
+ var MenuSubContent = React__namespace.forwardRef(
699
+ (props, forwardedRef) => {
700
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
701
+ const { forceMount = portalContext.forceMount, ...subContentProps } = props;
702
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
703
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
704
+ const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
705
+ const ref = React__namespace.useRef(null);
706
+ const composedRefs = index$9.useComposedRefs(forwardedRef, ref);
707
+ return /* @__PURE__ */ jsxRuntime.jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(index$6.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntime.jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsxRuntime.jsx(
708
+ MenuContentImpl,
709
+ {
710
+ id: subContext.contentId,
711
+ "aria-labelledby": subContext.triggerId,
712
+ ...subContentProps,
713
+ ref: composedRefs,
714
+ align: "start",
715
+ side: rootContext.dir === "rtl" ? "left" : "right",
716
+ disableOutsidePointerEvents: false,
717
+ disableOutsideScroll: false,
718
+ trapFocus: false,
719
+ onOpenAutoFocus: (event) => {
720
+ if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();
721
+ event.preventDefault();
722
+ },
723
+ onCloseAutoFocus: (event) => event.preventDefault(),
724
+ onFocusOutside: index$a.composeEventHandlers(props.onFocusOutside, (event) => {
725
+ if (event.target !== subContext.trigger) context.onOpenChange(false);
726
+ }),
727
+ onEscapeKeyDown: index$a.composeEventHandlers(props.onEscapeKeyDown, (event) => {
728
+ rootContext.onClose();
729
+ event.preventDefault();
730
+ }),
731
+ onKeyDown: index$a.composeEventHandlers(props.onKeyDown, (event) => {
732
+ const isKeyDownInside = event.currentTarget.contains(event.target);
733
+ const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
734
+ if (isKeyDownInside && isCloseKey) {
735
+ context.onOpenChange(false);
736
+ subContext.trigger?.focus();
737
+ event.preventDefault();
738
+ }
739
+ })
740
+ }
741
+ ) }) }) });
742
+ }
743
+ );
744
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
745
+ function getOpenState(open) {
746
+ return open ? "open" : "closed";
747
+ }
748
+ function isIndeterminate(checked) {
749
+ return checked === "indeterminate";
750
+ }
751
+ function getCheckedState(checked) {
752
+ return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
753
+ }
754
+ function focusFirst(candidates) {
755
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
756
+ for (const candidate of candidates) {
757
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
758
+ candidate.focus();
759
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
760
+ }
761
+ }
762
+ function wrapArray(array, startIndex) {
763
+ return array.map((_, index2) => array[(startIndex + index2) % array.length]);
764
+ }
765
+ function getNextMatch(values, search, currentMatch) {
766
+ const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);
767
+ const normalizedSearch = isRepeated ? search[0] : search;
768
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
769
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
770
+ const excludeCurrentMatch = normalizedSearch.length === 1;
771
+ if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
772
+ const nextMatch = wrappedValues.find(
773
+ (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
774
+ );
775
+ return nextMatch !== currentMatch ? nextMatch : void 0;
776
+ }
777
+ function isPointInPolygon(point, polygon) {
778
+ const { x, y } = point;
779
+ let inside = false;
780
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
781
+ const ii = polygon[i];
782
+ const jj = polygon[j];
783
+ const xi = ii.x;
784
+ const yi = ii.y;
785
+ const xj = jj.x;
786
+ const yj = jj.y;
787
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
788
+ if (intersect) inside = !inside;
789
+ }
790
+ return inside;
791
+ }
792
+ function isPointerInGraceArea(event, area) {
793
+ if (!area) return false;
794
+ const cursorPos = { x: event.clientX, y: event.clientY };
795
+ return isPointInPolygon(cursorPos, area);
796
+ }
797
+ function whenMouse(handler) {
798
+ return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
799
+ }
800
+ var Root3 = Menu;
801
+ var Anchor2 = MenuAnchor;
802
+ var Portal = MenuPortal;
803
+ var Content2 = MenuContent;
804
+ var Group = MenuGroup;
805
+ var Label = MenuLabel;
806
+ var Item2 = MenuItem;
807
+ var CheckboxItem = MenuCheckboxItem;
808
+ var RadioGroup = MenuRadioGroup;
809
+ var RadioItem = MenuRadioItem;
810
+ var ItemIndicator = MenuItemIndicator;
811
+ var Separator = MenuSeparator;
812
+ var Arrow2 = MenuArrow;
813
+ var SubTrigger = MenuSubTrigger;
814
+ var SubContent = MenuSubContent;
815
+ exports.Anchor = Anchor2;
816
+ exports.Arrow = Arrow2;
817
+ exports.CheckboxItem = CheckboxItem;
818
+ exports.Content = Content2;
819
+ exports.Group = Group;
820
+ exports.Item = Item2;
821
+ exports.ItemIndicator = ItemIndicator;
822
+ exports.Label = Label;
823
+ exports.Menu = Menu;
824
+ exports.MenuAnchor = MenuAnchor;
825
+ exports.MenuArrow = MenuArrow;
826
+ exports.MenuCheckboxItem = MenuCheckboxItem;
827
+ exports.MenuContent = MenuContent;
828
+ exports.MenuGroup = MenuGroup;
829
+ exports.MenuItem = MenuItem;
830
+ exports.MenuItemIndicator = MenuItemIndicator;
831
+ exports.MenuLabel = MenuLabel;
832
+ exports.MenuPortal = MenuPortal;
833
+ exports.MenuRadioGroup = MenuRadioGroup;
834
+ exports.MenuRadioItem = MenuRadioItem;
835
+ exports.MenuSeparator = MenuSeparator;
836
+ exports.MenuSubContent = MenuSubContent;
837
+ exports.MenuSubTrigger = MenuSubTrigger;
838
+ exports.Portal = Portal;
839
+ exports.RadioGroup = RadioGroup;
840
+ exports.RadioItem = RadioItem;
841
+ exports.Root = Root3;
842
+ exports.Separator = Separator;
843
+ exports.SubContent = SubContent;
844
+ exports.SubTrigger = SubTrigger;
845
+ exports.createMenuScope = createMenuScope;
2
846
  //# sourceMappingURL=index.cjs.map