@aeolus-fleet/gateway 0.31.0 → 0.32.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 (346) hide show
  1. package/dist/adapters/fleet/core-version.d.ts +1 -1
  2. package/dist/adapters/fleet/core-version.js +1 -1
  3. package/dist/adapters/fleet/proxy-ships-as-actor.js +5 -1
  4. package/dist/adapters/fleet/proxy-ships-as-actor.js.map +1 -1
  5. package/dist/adapters/fleet/rest-fleet-door.js +15 -6
  6. package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
  7. package/dist/adapters/http/mcp-endpoint.js +1 -1
  8. package/dist/adapters/http/mcp-endpoint.js.map +1 -1
  9. package/dist/adapters/http/person-tools.js +1 -1
  10. package/dist/adapters/http/person-tools.js.map +1 -1
  11. package/dist/adapters/pagasae/email-channel.js +4 -2
  12. package/dist/adapters/pagasae/email-channel.js.map +1 -1
  13. package/dist/adapters/prisma/generated/commonInputTypes.d.ts +50 -50
  14. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  15. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  16. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +2 -0
  17. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +2 -0
  18. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  19. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +2 -0
  20. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +2 -0
  21. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  22. package/dist/adapters/prisma/generated/models/A2aPush.d.ts +0 -7
  23. package/dist/adapters/prisma/generated/models/Party.d.ts +70 -1
  24. package/dist/adapters/prisma/scope-requirements.d.ts +10 -0
  25. package/dist/adapters/prisma/scope-requirements.js +37 -0
  26. package/dist/adapters/prisma/scope-requirements.js.map +1 -0
  27. package/dist/adapters/trpc/router.d.ts +91 -8
  28. package/dist/adapters/trpc/router.js +98 -11
  29. package/dist/adapters/trpc/router.js.map +1 -1
  30. package/dist/app.js +34 -9
  31. package/dist/app.js.map +1 -1
  32. package/dist/core/a2a-out/agent-event.d.ts +1 -1
  33. package/dist/core/a2a-out/agent-event.js +2 -2
  34. package/dist/core/a2a-out/agent-event.js.map +1 -1
  35. package/dist/core/a2a-out/agent-statement.d.ts +2 -1
  36. package/dist/core/a2a-out/agent-statement.js +5 -2
  37. package/dist/core/a2a-out/agent-statement.js.map +1 -1
  38. package/dist/core/a2a-out/hand-a2a-message.d.ts +7 -2
  39. package/dist/core/a2a-out/hand-a2a-message.js +15 -1
  40. package/dist/core/a2a-out/hand-a2a-message.js.map +1 -1
  41. package/dist/core/a2a-out/read-agent-statement.d.ts +1 -0
  42. package/dist/core/a2a-out/read-agent-statement.js +1 -1
  43. package/dist/core/a2a-out/read-agent-statement.js.map +1 -1
  44. package/dist/core/a2a-out/state-a2a-agent.d.ts +3 -2
  45. package/dist/core/a2a-out/state-a2a-agent.js +3 -2
  46. package/dist/core/a2a-out/state-a2a-agent.js.map +1 -1
  47. package/dist/core/account-sign-in/account-in-view.d.ts +10 -1
  48. package/dist/core/account-sign-in/account-in-view.js +17 -4
  49. package/dist/core/account-sign-in/account-in-view.js.map +1 -1
  50. package/dist/core/connection/ports.d.ts +8 -0
  51. package/dist/core/mcp-out/hand-call.d.ts +6 -2
  52. package/dist/core/mcp-out/hand-call.js +14 -1
  53. package/dist/core/mcp-out/hand-call.js.map +1 -1
  54. package/dist/core/mcp-out/state-party.d.ts +3 -2
  55. package/dist/core/mcp-out/state-party.js +2 -2
  56. package/dist/core/mcp-out/state-party.js.map +1 -1
  57. package/dist/core/mcp-out/statement.d.ts +16 -0
  58. package/dist/core/mcp-out/statement.js +10 -3
  59. package/dist/core/mcp-out/statement.js.map +1 -1
  60. package/dist/core/operator/ports.d.ts +4 -4
  61. package/dist/core/parties/add-a2a-agent.js +1 -1
  62. package/dist/core/parties/add-a2a-agent.js.map +1 -1
  63. package/dist/core/parties/check-approving.d.ts +36 -0
  64. package/dist/core/parties/check-approving.js +48 -0
  65. package/dist/core/parties/check-approving.js.map +1 -0
  66. package/dist/core/parties/check-required-scopes.d.ts +34 -0
  67. package/dist/core/parties/check-required-scopes.js +27 -0
  68. package/dist/core/parties/check-required-scopes.js.map +1 -0
  69. package/dist/core/parties/ports.d.ts +21 -0
  70. package/dist/core/parties/read-listed-scopes.d.ts +17 -0
  71. package/dist/core/parties/read-listed-scopes.js +23 -0
  72. package/dist/core/parties/read-listed-scopes.js.map +1 -0
  73. package/dist/core/parties/read-scope-requirements.d.ts +18 -0
  74. package/dist/core/parties/read-scope-requirements.js +17 -0
  75. package/dist/core/parties/read-scope-requirements.js.map +1 -0
  76. package/dist/core/parties/scope-requirements.d.ts +34 -0
  77. package/dist/core/parties/scope-requirements.js +37 -0
  78. package/dist/core/parties/scope-requirements.js.map +1 -0
  79. package/dist/core/parties/set-scope-requirements.d.ts +45 -0
  80. package/dist/core/parties/set-scope-requirements.js +48 -0
  81. package/dist/core/parties/set-scope-requirements.js.map +1 -0
  82. package/dist/core/parties/switch-tools.d.ts +39 -0
  83. package/dist/core/parties/switch-tools.js +38 -0
  84. package/dist/core/parties/switch-tools.js.map +1 -0
  85. package/dist/core/parties/tool-switches.d.ts +4 -2
  86. package/dist/core/parties/tool-switches.js +2 -1
  87. package/dist/core/parties/tool-switches.js.map +1 -1
  88. package/dist/core/people/ports.d.ts +4 -2
  89. package/dist/core/people/wake-person.d.ts +22 -10
  90. package/dist/core/people/wake-person.js +88 -20
  91. package/dist/core/people/wake-person.js.map +1 -1
  92. package/dist/core/people/web-push-channel.js +1 -1
  93. package/dist/core/people/web-push-channel.js.map +1 -1
  94. package/dist/core/shared/errors.d.ts +1 -1
  95. package/dist/core/shared/errors.js.map +1 -1
  96. package/package.json +3 -3
  97. package/src/adapters/prisma/migrations/20261025140000_scope_requirements/migration.sql +3 -0
  98. package/src/adapters/prisma/schema.prisma +69 -65
  99. package/web/.next/BUILD_ID +1 -1
  100. package/web/.next/app-path-routes-manifest.json +1 -0
  101. package/web/.next/build-manifest.json +15 -3
  102. package/web/.next/diagnostics/route-bundle-stats.json +113 -77
  103. package/web/.next/fallback-build-manifest.json +3 -3
  104. package/web/.next/prerender-manifest.json +3 -3
  105. package/web/.next/routes-manifest.json +6 -0
  106. package/web/.next/server/app/(console)/gateway-off/page/app-paths-manifest.json +3 -0
  107. package/web/.next/server/app/(console)/gateway-off/page/build-manifest.json +23 -0
  108. package/web/.next/server/app/(console)/gateway-off/page/next-font-manifest.json +11 -0
  109. package/web/.next/server/app/(console)/gateway-off/page/react-loadable-manifest.json +1 -0
  110. package/web/.next/server/app/(console)/gateway-off/page/server-reference-manifest.json +15 -0
  111. package/web/.next/server/app/(console)/gateway-off/page.js +19 -0
  112. package/web/.next/server/app/(console)/gateway-off/page.js.map +5 -0
  113. package/web/.next/server/app/(console)/gateway-off/page.js.nft.json +1 -0
  114. package/web/.next/server/app/(console)/gateway-off/page_client-reference-manifest.js +3 -0
  115. package/web/.next/server/app/(console)/meetings/[meetingId]/page/server-reference-manifest.json +3 -3
  116. package/web/.next/server/app/(console)/meetings/[meetingId]/page.js.nft.json +1 -1
  117. package/web/.next/server/app/(console)/meetings/[meetingId]/page_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +17 -7
  119. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +4 -4
  120. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -1
  121. package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +15 -5
  123. package/web/.next/server/app/(console)/outside-parties/[name]/page.js +4 -4
  124. package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -1
  125. package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +17 -7
  127. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +4 -4
  128. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -1
  129. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +1 -1
  130. package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +17 -7
  131. package/web/.next/server/app/(console)/outside-parties/add/page.js +3 -4
  132. package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -1
  133. package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +2 -2
  135. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -1
  136. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +2 -2
  138. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -1
  139. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/(console)/outside-parties/page/server-reference-manifest.json +2 -2
  141. package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -1
  142. package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +1 -1
  143. package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -1
  144. package/web/.next/server/app/(console)/overview/focus/route.js.nft.json +1 -1
  145. package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +7 -7
  146. package/web/.next/server/app/(console)/overview/page.js.nft.json +1 -1
  147. package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +1 -1
  148. package/web/.next/server/app/(console)/overview/requests/[requestId]/page/server-reference-manifest.json +2 -2
  149. package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -1
  150. package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +1 -1
  151. package/web/.next/server/app/(console)/parties/page/server-reference-manifest.json +7 -7
  152. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -1
  153. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +1 -1
  154. package/web/.next/server/app/(console)/sign-in/failed/page/server-reference-manifest.json +1 -1
  155. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -1
  156. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +1 -1
  157. package/web/.next/server/app/_global-error.html +1 -1
  158. package/web/.next/server/app/_global-error.rsc +1 -1
  159. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  160. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  161. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  162. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  163. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  164. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  165. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  166. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  167. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  168. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  169. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  170. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  171. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  172. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  173. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  174. package/web/.next/server/app-paths-manifest.json +1 -0
  175. package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js +1 -1
  176. package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +1 -1
  178. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +1 -1
  180. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +1 -1
  182. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +1 -1
  184. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +1 -1
  186. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -1
  187. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +1 -1
  188. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -1
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-og0bl8lr2xq._.js +1 -1
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-og0bl8lr2xq._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__00q22dte1g2ww._.js +3 -0
  192. package/web/.next/server/chunks/ssr/[root-of-the-server]__00q22dte1g2ww._.js.map +1 -0
  193. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +1 -1
  194. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js +1 -1
  196. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rr5u24i9tjyc._.js +1 -1
  197. package/web/.next/server/chunks/ssr/[root-of-the-server]__1-c9wugbbwsp3._.js +4 -0
  198. package/web/.next/server/chunks/ssr/[root-of-the-server]__1-c9wugbbwsp3._.js.map +1 -0
  199. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js +1 -1
  200. package/web/.next/server/chunks/ssr/[root-of-the-server]__18-8taiduk1jn._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/{[root-of-the-server]__11w36a4le04vy._.js → [root-of-the-server]__1dc6okf5os70a._.js} +2 -2
  202. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dc6okf5os70a._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js +1 -1
  204. package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js.map +1 -1
  205. package/web/.next/server/chunks/ssr/_00dg5cvqofspn._.js +3 -0
  206. package/web/.next/server/chunks/ssr/_00dg5cvqofspn._.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js +2 -2
  210. package/web/.next/server/chunks/ssr/_03lk54yp-yhw3._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js +3 -0
  212. package/web/.next/server/chunks/ssr/_0_kakdt7lb6z-._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/_0bhvvyz0q_0ja._.js +1 -1
  214. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js +4 -0
  215. package/web/.next/server/chunks/ssr/_0ka_9elusb800._.js.map +1 -0
  216. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js +1 -1
  217. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -1
  218. package/web/.next/server/chunks/ssr/_0w2ptjht34s6t._.js +3 -0
  219. package/web/.next/server/chunks/ssr/_0w2ptjht34s6t._.js.map +1 -0
  220. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  221. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  222. package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js +1 -1
  223. package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +1 -1
  224. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  225. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  226. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  227. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  228. package/web/.next/server/chunks/ssr/_1uuy6gkkhq6bx._.js +3 -0
  229. package/web/.next/server/chunks/ssr/_1uuy6gkkhq6bx._.js.map +1 -0
  230. package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js +3 -0
  231. package/web/.next/server/chunks/ssr/_1y1ovmdhl9_ml._.js.map +1 -0
  232. package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js +3 -0
  233. package/web/.next/server/chunks/ssr/node_modules_07sxnbglqc5q9._.js.map +1 -0
  234. package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js +3 -0
  235. package/web/.next/server/chunks/ssr/node_modules_0_cxkn6vujxay._.js.map +1 -0
  236. package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js +3 -0
  237. package/web/.next/server/chunks/ssr/node_modules_0qlo87g8tugr4._.js.map +1 -0
  238. package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js +3 -0
  239. package/web/.next/server/chunks/ssr/node_modules_15ceu3jhtifcw._.js.map +1 -0
  240. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js +1 -1
  241. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +1 -1
  242. package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_utils_FloatingPortalLite_mjs_1uzc1ezeugtex._.js +3 -0
  243. package/web/.next/server/chunks/ssr/node_modules_@base-ui_react_utils_FloatingPortalLite_mjs_1uzc1ezeugtex._.js.map +1 -0
  244. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1s46s8vlfx01v.js +3 -0
  245. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1s46s8vlfx01v.js.map +1 -0
  246. package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js +1 -1
  247. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +1 -1
  248. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/web_1wcpaty_bz55q._.js +3 -0
  250. package/web/.next/server/chunks/ssr/web_1wcpaty_bz55q._.js.map +1 -0
  251. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +1 -1
  252. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -1
  253. package/web/.next/server/chunks/ssr/{web_features_0ahlkugj7fu3n._.js → web_features_0xbnkk4hfgr9v._.js} +2 -2
  254. package/web/.next/server/chunks/ssr/{web_features_0ahlkugj7fu3n._.js.map → web_features_0xbnkk4hfgr9v._.js.map} +1 -1
  255. package/web/.next/server/chunks/ssr/web_features_10xz3ojtvfi7h._.js +3 -0
  256. package/web/.next/server/chunks/ssr/web_features_10xz3ojtvfi7h._.js.map +1 -0
  257. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +1 -1
  258. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -1
  259. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +1 -1
  260. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  262. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js +3 -0
  264. package/web/.next/server/chunks/ssr/web_features_forms_1u0akr22eh_x_._.js.map +1 -0
  265. package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +1 -1
  266. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +1 -1
  267. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -1
  268. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js +1 -1
  269. package/web/.next/server/chunks/ssr/web_features_meeting_state_meeting-controls_tsx_12g4kzk2mbvvz._.js.map +1 -1
  270. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  271. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  272. package/web/.next/server/chunks/ssr/web_features_outside-party_0_9c27knfvw7u._.js +3 -0
  273. package/web/.next/server/chunks/ssr/web_features_outside-party_0_9c27knfvw7u._.js.map +1 -0
  274. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  275. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js.map +1 -1
  276. package/web/.next/server/chunks/ssr/web_features_overview_0udx5lm8igils._.js +3 -0
  277. package/web/.next/server/chunks/ssr/{web_features_overview_16dyz2ngvs14b._.js.map → web_features_overview_0udx5lm8igils._.js.map} +1 -1
  278. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
  279. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js +1 -1
  280. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js.map +1 -1
  281. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
  282. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
  283. package/web/.next/server/chunks/ssr/{web_features_overview_ui_action-button_tsx_14-5f45xbzbi6._.js → web_features_overview_ui_10mb24kjiffea._.js} +2 -2
  284. package/web/.next/server/chunks/ssr/{web_features_overview_ui_action-button_tsx_14-5f45xbzbi6._.js.map → web_features_overview_ui_10mb24kjiffea._.js.map} +1 -1
  285. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  286. package/web/.next/server/middleware-build-manifest.js +15 -3
  287. package/web/.next/server/next-font-manifest.js +1 -1
  288. package/web/.next/server/next-font-manifest.json +4 -0
  289. package/web/.next/server/pages/500.html +1 -1
  290. package/web/.next/server/preview-props.json +3 -3
  291. package/web/.next/server/server-reference-manifest.js +1 -1
  292. package/web/.next/server/server-reference-manifest.json +55 -29
  293. package/web/.next/static/chunks/0coxy5zad812a.js +1 -0
  294. package/web/.next/static/chunks/{2hsi-sahla2aj.js → 0u_4xjk1j74g3.js} +1 -1
  295. package/web/.next/static/chunks/0v9r_hyyubykq.js +1 -0
  296. package/web/.next/static/chunks/0zesq1ng-v3s6.js +1 -0
  297. package/web/.next/static/chunks/10wzmy096av_5.css +3 -0
  298. package/web/.next/static/chunks/{1juj2_tl8d16x.js → 12c3qjvto3m0f.js} +1 -1
  299. package/web/.next/static/chunks/1ahn4kx4ld-rc.js +1 -0
  300. package/web/.next/static/chunks/{21s2_ccrw90ok.js → 1xrn7oqwd48vi.js} +1 -1
  301. package/web/.next/static/chunks/{3o8h4o3utbvgc.js → 20n2z_lok8v0f.js} +1 -1
  302. package/web/.next/static/chunks/2cd4e71s711ad.js +1 -0
  303. package/web/.next/static/chunks/{1pafc2gfswboo.js → 2ew9kpu2kohk4.js} +1 -1
  304. package/web/.next/static/chunks/2i3ydqqupow_x.js +1 -0
  305. package/web/.next/static/chunks/2riya89_i0je8.js +1 -0
  306. package/web/.next/static/chunks/3_pwm8b3mf4mf.js +1 -0
  307. package/web/.next/static/chunks/{2x00o45pdbkok.js → 3x_8doukmdfpu.js} +1 -1
  308. package/web/.next/trace +1 -1
  309. package/web/.next/trace-build +1 -1
  310. package/web/.next/types/routes.d.ts +2 -1
  311. package/web/.next/types/validator.ts +17 -0
  312. package/dist/core/parties/switch-tool.d.ts +0 -29
  313. package/dist/core/parties/switch-tool.js +0 -33
  314. package/dist/core/parties/switch-tool.js.map +0 -1
  315. package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js +0 -3
  316. package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js.map +0 -1
  317. package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js.map +0 -1
  318. package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js +0 -3
  319. package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js.map +0 -1
  320. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js +0 -3
  321. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js.map +0 -1
  322. package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js +0 -3
  323. package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js.map +0 -1
  324. package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js +0 -3
  325. package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js.map +0 -1
  326. package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js +0 -3
  327. package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js.map +0 -1
  328. package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js +0 -3
  329. package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js.map +0 -1
  330. package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js +0 -3
  331. package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js.map +0 -1
  332. package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js +0 -3
  333. package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js.map +0 -1
  334. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js +0 -3
  335. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js.map +0 -1
  336. package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js +0 -3
  337. package/web/.next/static/chunks/183mifyxtyab5.css +0 -3
  338. package/web/.next/static/chunks/1bnlc-p1_cm01.js +0 -1
  339. package/web/.next/static/chunks/1ca21kggixrjz.js +0 -1
  340. package/web/.next/static/chunks/2-t4g6oq6tjkg.js +0 -1
  341. package/web/.next/static/chunks/2l27ty2dy2pb4.js +0 -1
  342. package/web/.next/static/chunks/2n2qsek2y94y5.js +0 -1
  343. package/web/.next/static/chunks/3tss77vu57zju.js +0 -1
  344. /package/web/.next/static/{3whgLnRJ9iJe_25h6KGzQ → wnr2MrrQvcto8MOm16D8r}/_buildManifest.js +0 -0
  345. /package/web/.next/static/{3whgLnRJ9iJe_25h6KGzQ → wnr2MrrQvcto8MOm16D8r}/_clientMiddlewareManifest.js +0 -0
  346. /package/web/.next/static/{3whgLnRJ9iJe_25h6KGzQ → wnr2MrrQvcto8MOm16D8r}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../node_modules/%40aeolus-fleet/common/src/header/app-switcher.tsx","../../../../../node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../node_modules/%40base-ui/react/avatar/root/AvatarRootContext.mjs","../../../../../node_modules/%40base-ui/react/avatar/root/AvatarRoot.mjs","../../../../../node_modules/%40base-ui/react/avatar/fallback/AvatarFallback.mjs","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/avatar.tsx","../../../../../node_modules/%40base-ui/react/avatar/root/stateAttributesMapping.mjs","../../../../../node_modules/lucide-react/src/icons/user-round.ts","../../../../../node_modules/lucide-react/src/icons/ship.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/button.tsx","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/dialog.tsx","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/dialog-surface.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/dropdown-menu.tsx","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/kbd.tsx","../../../../../node_modules/%40aeolus-fleet/common/src/header/atoms/sheet.tsx","../../../../../node_modules/lucide-react/src/icons/x.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/avatar-menu.tsx","../../../../../node_modules/%40base-ui/react/button/Button.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useHoverShared.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/safePolygon.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useFocus.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs","../../../../../node_modules/%40base-ui/react/menu/group/MenuGroup.mjs","../../../../../node_modules/%40base-ui/react/menu/filter-root/MenuFilterContext.mjs","../../../../../node_modules/%40base-ui/react/menu/root/MenuRootContext.mjs","../../../../../node_modules/%40base-ui/react/menu/group/MenuGroupContext.mjs","../../../../../node_modules/%40base-ui/react/menu/group-label/MenuGroupLabel.mjs","../../../../../node_modules/%40base-ui/react/menu/item/useMenuItem.mjs","../../../../../node_modules/%40base-ui/react/menu/item/useMenuItemCommonProps.mjs","../../../../../node_modules/%40base-ui/react/context-menu/root/ContextMenuRootContext.mjs","../../../../../node_modules/%40base-ui/react/menu/item/MenuItem.mjs","../../../../../node_modules/%40base-ui/react/menu/popup/MenuPopup.mjs","../../../../../node_modules/%40base-ui/react/menu/positioner/MenuPositionerContext.mjs","../../../../../node_modules/%40base-ui/react/toolbar/root/ToolbarRootContext.mjs","../../../../../node_modules/%40base-ui/react/menu/submenu-root/MenuSubmenuRootContext.mjs","../../../../../node_modules/%40base-ui/react/internals/resolveRenderedId.mjs","../../../../../node_modules/%40base-ui/react/internals/resolvePopupLabel.mjs","../../../../../node_modules/%40base-ui/react/menu/portal/MenuPortal.mjs","../../../../../node_modules/%40base-ui/react/menu/portal/MenuPortalContext.mjs","../../../../../node_modules/%40base-ui/react/menu/positioner/MenuPositioner.mjs","../../../../../node_modules/%40base-ui/react/internals/useTriggerSwitchTransition.mjs","../../../../../node_modules/%40base-ui/react/menu/radio-group/MenuRadioGroup.mjs","../../../../../node_modules/%40base-ui/react/menu/radio-group/MenuRadioGroupContext.mjs","../../../../../node_modules/%40base-ui/react/menu/radio-item/MenuRadioItem.mjs","../../../../../node_modules/%40base-ui/react/menu/radio-item/MenuRadioItemContext.mjs","../../../../../node_modules/%40base-ui/react/menu/utils/stateAttributesMapping.mjs","../../../../../node_modules/%40base-ui/react/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs","../../../../../node_modules/%40base-ui/react/menu/radio-item-indicator/MenuRadioItemIndicator.mjs","../../../../../node_modules/%40base-ui/react/menu/root/MenuRoot.mjs","../../../../../node_modules/%40base-ui/react/floating-ui-react/hooks/useTypeahead.mjs","../../../../../node_modules/%40base-ui/react/menubar/MenubarContext.mjs","../../../../../node_modules/%40base-ui/react/menu/store/MenuStore.mjs","../../../../../node_modules/%40base-ui/react/menu/filter-provider/MenuFilterProviderContext.mjs","../../../../../node_modules/%40base-ui/react/menu/utils/isKeyboardOpen.mjs","../../../../../node_modules/%40base-ui/react/menu/trigger/MenuTrigger.mjs","../../../../../node_modules/%40base-ui/react/utils/getPseudoElementBounds.mjs","../../../../../node_modules/%40base-ui/react/internals/composite/item/useCompositeItem.mjs","../../../../../node_modules/%40base-ui/react/internals/composite/item/CompositeItem.mjs","../../../../../node_modules/%40base-ui/react/menu/utils/findRootOwnerId.mjs","../../../../../node_modules/%40base-ui/react/utils/popups/useTriggerFocusGuards.mjs","../../../../../node_modules/%40base-ui/react/utils/useMixedToggleClickHandler.mjs","../../../../../node_modules/%40base-ui/react/separator/Separator.mjs","../../../../../node_modules/class-variance-authority/dist/index.mjs","../../../../../node_modules/clsx/dist/clsx.mjs","../../../../../node_modules/tailwind-merge/src/lib/utils.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/class-names.ts","../../../../../node_modules/tailwind-merge/src/lib/class-group-utils.ts","../../../../../node_modules/tailwind-merge/src/lib/lru-cache.ts","../../../../../node_modules/tailwind-merge/src/lib/parse-class-name.ts","../../../../../node_modules/tailwind-merge/src/lib/sort-modifiers.ts","../../../../../node_modules/tailwind-merge/src/lib/config-utils.ts","../../../../../node_modules/tailwind-merge/src/lib/merge-classlist.ts","../../../../../node_modules/tailwind-merge/src/lib/tw-join.ts","../../../../../node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../../../../../node_modules/tailwind-merge/src/lib/from-theme.ts","../../../../../node_modules/tailwind-merge/src/lib/validators.ts","../../../../../node_modules/tailwind-merge/src/lib/default-config.ts","../../../../../node_modules/tailwind-merge/src/lib/merge-configs.ts","../../../../../node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts","../../../../../node_modules/tailwind-merge/src/lib/tw-merge.ts","../../../../../node_modules/shared/src/utils/hasA11yProp.ts","../../../../../node_modules/shared/src/utils/mergeClasses.ts","../../../../../node_modules/shared/src/build/defaultAttributes.ts","../../../../../node_modules/shared/src/build/buildLucideIconForReact.ts","../../../../../node_modules/shared/src/build/buildLucideIconNode.ts","../../../../../node_modules/lucide-react/src/Icon.ts","../../../../../node_modules/lucide-react/src/context.ts","../../../../../node_modules/shared/src/utils/toCamelCase.ts","../../../../../node_modules/shared/src/utils/toKebabCase.ts","../../../../../node_modules/shared/src/utils/toPascalCase.ts","../../../../../node_modules/shared/src/utils/toLucideIconData.ts","../../../../../node_modules/lucide-react/src/createLucideIcon.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/avatar-entry.ts","../../../../../node_modules/%40aeolus-fleet/common/src/header/apps.ts","../../../../../node_modules/lucide-react/src/icons/circle-question-mark.ts","../../../../../node_modules/lucide-react/src/icons/bell-ring.ts","../../../../../node_modules/lucide-react/src/icons/sun.ts","../../../../../node_modules/lucide-react/src/icons/laptop-minimal.ts","../../../../../node_modules/lucide-react/src/icons/circle-user-round.ts","../../../../../node_modules/lucide-react/src/icons/log-out.ts","../../../../../node_modules/lucide-react/src/icons/monitor.ts","../../../../../node_modules/lucide-react/src/icons/keyboard.ts","../../../../../node_modules/lucide-react/src/icons/moon.ts","../../../../../node_modules/lucide-react/src/icons/shield-check.ts","../../../../../node_modules/lucide-react/src/icons/check.ts","../../../../../node_modules/lucide-react/src/icons/loader-circle.ts"],"sourcesContent":["unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/app-switcher.tsx","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'chevron-down',\n size: 24,\n node: [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon(__iconData);\n\nexport default ChevronDown;\n","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const AvatarRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") AvatarRootContext.displayName = \"AvatarRootContext\";\nexport function useAvatarRootContext() {\n const context = React.useContext(AvatarRootContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: AvatarRootContext is missing. Avatar parts must be placed within <Avatar.Root>.' : _formatErrorMessage(13));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { AvatarRootContext } from \"./AvatarRootContext.mjs\";\nimport { avatarStateAttributesMapping } from \"./stateAttributesMapping.mjs\";\n\n/**\n * Displays a user's profile picture, initials, or fallback icon.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Avatar](https://base-ui.com/react/components/avatar)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const AvatarRoot = /*#__PURE__*/React.forwardRef(function AvatarRoot(componentProps, forwardedRef) {\n const {\n className,\n render,\n style,\n ...elementProps\n } = componentProps;\n const [imageLoadingStatus, setImageLoadingStatus] = React.useState('idle');\n const state = {\n imageLoadingStatus\n };\n const contextValue = React.useMemo(() => ({\n imageLoadingStatus,\n setImageLoadingStatus\n }), [imageLoadingStatus, setImageLoadingStatus]);\n const element = useRenderElement('span', componentProps, {\n state,\n ref: forwardedRef,\n props: elementProps,\n stateAttributesMapping: avatarStateAttributesMapping\n });\n return /*#__PURE__*/_jsx(AvatarRootContext.Provider, {\n value: contextValue,\n children: element\n });\n});\nif (process.env.NODE_ENV !== \"production\") AvatarRoot.displayName = \"AvatarRoot\";","'use client';\n\nimport * as React from 'react';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useAvatarRootContext } from \"../root/AvatarRootContext.mjs\";\nimport { avatarStateAttributesMapping } from \"../root/stateAttributesMapping.mjs\";\n\n/**\n * Rendered when the image fails to load or when no image is provided.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Avatar](https://base-ui.com/react/components/avatar)\n */\nexport const AvatarFallback = /*#__PURE__*/React.forwardRef(function AvatarFallback(componentProps, forwardedRef) {\n const {\n className,\n render,\n delay = 0,\n style,\n ...elementProps\n } = componentProps;\n const {\n imageLoadingStatus\n } = useAvatarRootContext();\n const [delayPassed, setDelayPassed] = React.useState(delay === 0);\n const timeout = useTimeout();\n React.useEffect(() => {\n if (delay > 0) {\n timeout.start(delay, () => setDelayPassed(true));\n } else {\n // Once the fallback is shown without a delay, keep it visible. Otherwise a later\n // change from no delay to a number would re-hide an already-visible fallback.\n setDelayPassed(true);\n }\n return timeout.clear;\n }, [timeout, delay]);\n const state = {\n imageLoadingStatus\n };\n const element = useRenderElement('span', componentProps, {\n state,\n ref: forwardedRef,\n props: elementProps,\n stateAttributesMapping: avatarStateAttributesMapping,\n enabled: imageLoadingStatus !== 'loaded' && (delay === 0 || delayPassed)\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") AvatarFallback.displayName = \"AvatarFallback\";","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/avatar.tsx","export const avatarStateAttributesMapping = {\n imageLoadingStatus: () => null\n};","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'user-round',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '8', r: '5', key: '1hypcn' }],\n ['path', { d: 'M20 21a8 8 0 0 0-16 0', key: 'rfgkzh' }],\n ],\n aliases: ['user-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name UserRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjgiIHI9IjUiIC8+CiAgPHBhdGggZD0iTTIwIDIxYTggOCAwIDAgMC0xNiAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/user-round\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst UserRound = createLucideIcon(__iconData);\n\nexport default UserRound;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'ship',\n size: 24,\n node: [\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 9.189V13', key: 'yp40p3' }],\n ['path', { d: 'M19 12V6a2 2 0 00-2-2H7a2 2 0 00-2 2v6', key: '1wcigf' }],\n [\n 'path',\n {\n d: 'M19.38 19A11.6 11.6 0 0021 13l-8.188-3.639a2 2 0 00-1.624 0L3 13.001a11.6 11.6 0 002.81 7.76',\n key: '1kdp0u',\n },\n ],\n [\n 'path',\n {\n d: 'M2 20c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1s1.2 1 2.5 1c2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1',\n key: '1l8w7g',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Ship\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMnYyIiAvPgogIDxwYXRoIGQ9Ik0xMiA5LjE4OVYxMyIgLz4KICA8cGF0aCBkPSJNMTkgMTJWNmEyIDIgMCAwMC0yLTJIN2EyIDIgMCAwMC0yIDJ2NiIgLz4KICA8cGF0aCBkPSJNMTkuMzggMTlBMTEuNiAxMS42IDAgMDAyMSAxM2wtOC4xODgtMy42MzlhMiAyIDAgMDAtMS42MjQgMEwzIDEzLjAwMWExMS42IDExLjYgMCAwMDIuODEgNy43NiIgLz4KICA8cGF0aCBkPSJNMiAyMGMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMXMxLjIgMSAyLjUgMWMyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/ship\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Ship = createLucideIcon(__iconData);\n\nexport default Ship;\n","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/button.tsx","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/dialog.tsx","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/dialog-surface.ts","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/dropdown-menu.tsx","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/kbd.tsx","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/atoms/sheet.tsx","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'x',\n size: 24,\n node: [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPgogIDxwYXRoIGQ9Im02IDYgMTIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon(__iconData);\n\nexport default X;\n","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/avatar-menu.tsx","'use client';\n\nimport * as React from 'react';\nimport { useButton } from \"../internals/use-button/useButton.mjs\";\nimport { useRenderElement } from \"../internals/useRenderElement.mjs\";\n/**\n * A button component that can be used to trigger actions.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Button](https://base-ui.com/react/components/button)\n */\nexport const Button = /*#__PURE__*/React.forwardRef(function Button(componentProps, forwardedRef) {\n const {\n render,\n className,\n disabled = false,\n focusableWhenDisabled = false,\n nativeButton = true,\n style,\n ...elementProps\n } = componentProps;\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n focusableWhenDisabled,\n native: nativeButton\n });\n const state = {\n disabled\n };\n return useRenderElement('button', componentProps, {\n state,\n ref: [forwardedRef, buttonRef],\n props: [elementProps, getButtonProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";","'use client';\n\nimport * as React from 'react';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useFloatingParentNodeId, useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { closest, contains, getTarget } from \"../utils/element.mjs\";\nimport { getNodeChildren } from \"../utils/nodes.mjs\";\nimport { applySafePolygonPointerEventsMutation, clearSafePolygonPointerEventsMutation, isInteractiveElement, useHoverInteractionSharedState } from \"./useHoverInteractionSharedState.mjs\";\nimport { getDelay, isClickLikeOpenEvent as isClickLikeOpenEventShared, isHoverOpenEvent, isInsideEnabledTrigger } from \"./useHoverShared.mjs\";\n/**\n * Provides hover interactions that should be attached to the floating element.\n */\nexport function useHoverFloatingInteraction(store, parameters = {}) {\n const {\n enabled = true,\n closeDelay: closeDelayProp = 0,\n nodeId: nodeIdProp\n } = parameters;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const {\n dataRef\n } = store.context;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const instance = useHoverInteractionSharedState(store);\n const childClosedTimeout = useTimeout();\n const isClickLikeOpenEvent = useStableCallback(() => {\n return isClickLikeOpenEventShared(dataRef.current.openEvent?.type, instance.interactedInside);\n });\n const isHoverOpen = useStableCallback(() => {\n return isHoverOpenEvent(dataRef.current.openEvent?.type);\n });\n const clearPointerEvents = useStableCallback(() => {\n clearSafePolygonPointerEventsMutation(instance);\n });\n useIsoLayoutEffect(() => {\n if (!open) {\n instance.pointerType = undefined;\n instance.restTimeoutPending = false;\n instance.interactedInside = false;\n clearPointerEvents();\n }\n }, [open, instance, clearPointerEvents]);\n React.useEffect(() => {\n return clearPointerEvents;\n }, [clearPointerEvents]);\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return undefined;\n }\n if (open && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) {\n const ref = domReferenceElement;\n const floatingEl = floatingElement;\n const doc = ownerDocument(floatingElement);\n const parentFloating = tree?.nodesRef.current.find(node => node.id === parentId)?.context?.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n\n // A keep-mounted submenu can appear in the tree before it opens, so a\n // cached scope or parent lookup may resolve to the submenu itself. That\n // would not shield sibling items in the parent menu.\n const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null;\n const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null;\n const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? closest(ref, '[data-rootownerid]') ?? doc.body;\n applySafePolygonPointerEventsMutation(instance, {\n scopeElement,\n referenceElement: ref,\n floatingElement: floatingEl\n });\n return () => {\n clearPointerEvents();\n };\n }\n return undefined;\n }, [enabled, open, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n function hasParentChildren() {\n return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0);\n }\n function closeWithDelay(event) {\n const closeDelay = getDelay(closeDelayProp, 'close', instance.pointerType);\n const close = () => {\n store.setOpen(false, createChangeEventDetails(REASONS.triggerHover, event));\n tree?.events.emit('floating.closed', event);\n };\n if (closeDelay) {\n instance.openChangeTimeout.start(closeDelay, close);\n } else {\n instance.openChangeTimeout.clear();\n close();\n }\n }\n function handleInteractInside(event) {\n const target = getTarget(event);\n if (!isInteractiveElement(target)) {\n instance.interactedInside = false;\n return;\n }\n instance.interactedInside = closest(target, '[aria-haspopup]') != null;\n }\n function onFloatingMouseEnter() {\n instance.openChangeTimeout.clear();\n childClosedTimeout.clear();\n tree?.events.off('floating.closed', onNodeClosed);\n clearPointerEvents();\n }\n function onFloatingMouseLeave(event) {\n if (hasParentChildren() && tree) {\n tree.events.on('floating.closed', onNodeClosed);\n return;\n }\n if (isInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {\n // If the mouse is leaving the reference element to another trigger, don't explicitly close the popup\n // as it will be moved.\n return;\n }\n const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp;\n const relatedTarget = event.relatedTarget;\n const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some(node => contains(node.context?.elements.floating, relatedTarget));\n if (isMovingIntoDescendantFloating) {\n return;\n }\n\n // If the safePolygon handler is active, let it handle the close logic.\n if (instance.handler) {\n instance.handler(event);\n return;\n }\n clearPointerEvents();\n if (isHoverOpen() && !isClickLikeOpenEvent()) {\n closeWithDelay(event);\n }\n }\n function onNodeClosed(event) {\n if (!tree || !parentId || hasParentChildren()) {\n return;\n }\n // Allow the mouseenter event to fire in case child was closed because mouse moved into parent.\n childClosedTimeout.start(0, () => {\n tree.events.off('floating.closed', onNodeClosed);\n store.setOpen(false, createChangeEventDetails(REASONS.triggerHover, event));\n tree.events.emit('floating.closed', event);\n });\n }\n const floating = floatingElement;\n return mergeCleanups(floating && addEventListener(floating, 'mouseenter', onFloatingMouseEnter), floating && addEventListener(floating, 'mouseleave', onFloatingMouseLeave), floating && addEventListener(floating, 'pointerdown', handleInteractInside, true), () => {\n tree?.events.off('floating.closed', onNodeClosed);\n });\n }, [enabled, floatingElement, store, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent, clearPointerEvents, instance, tree, parentId, childClosedTimeout]);\n}","'use client';\n\nimport { useOnMount } from '@base-ui/utils/useOnMount';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { Timeout } from '@base-ui/utils/useTimeout';\nimport { isInteractiveElement } from \"../utils.mjs\";\nexport { isInteractiveElement };\nexport class HoverInteraction {\n pointerType = undefined;\n interactedInside = false;\n handler = undefined;\n blockMouseMove = true;\n performedPointerEventsMutation = false;\n pointerEventsScopeElement = null;\n pointerEventsReferenceElement = null;\n pointerEventsFloatingElement = null;\n restTimeoutPending = false;\n openChangeTimeout = new Timeout();\n restTimeout = new Timeout();\n handleCloseOptions = undefined;\n static create() {\n return new HoverInteraction();\n }\n dispose = () => {\n this.openChangeTimeout.clear();\n this.restTimeout.clear();\n };\n disposeEffect = () => {\n return this.dispose;\n };\n}\nconst pointerEventsMutationOwnerByScopeElement = new WeakMap();\nexport function clearSafePolygonPointerEventsMutation(instance) {\n if (!instance.performedPointerEventsMutation) {\n return;\n }\n const scopeElement = instance.pointerEventsScopeElement;\n if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) {\n instance.pointerEventsScopeElement?.style.removeProperty('pointer-events');\n instance.pointerEventsReferenceElement?.style.removeProperty('pointer-events');\n instance.pointerEventsFloatingElement?.style.removeProperty('pointer-events');\n pointerEventsMutationOwnerByScopeElement.delete(scopeElement);\n }\n instance.performedPointerEventsMutation = false;\n instance.pointerEventsScopeElement = null;\n instance.pointerEventsReferenceElement = null;\n instance.pointerEventsFloatingElement = null;\n}\nexport function applySafePolygonPointerEventsMutation(instance, options) {\n const {\n scopeElement,\n referenceElement,\n floatingElement\n } = options;\n const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement);\n if (existingOwner && existingOwner !== instance) {\n clearSafePolygonPointerEventsMutation(existingOwner);\n }\n clearSafePolygonPointerEventsMutation(instance);\n instance.performedPointerEventsMutation = true;\n instance.pointerEventsScopeElement = scopeElement;\n instance.pointerEventsReferenceElement = referenceElement;\n instance.pointerEventsFloatingElement = floatingElement;\n pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance);\n scopeElement.style.pointerEvents = 'none';\n referenceElement.style.pointerEvents = 'auto';\n floatingElement.style.pointerEvents = 'auto';\n}\nexport function useHoverInteractionSharedState(store) {\n const data = store.context.dataRef.current;\n const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current;\n if (!data.hoverInteractionState) {\n data.hoverInteractionState = instance;\n }\n useOnMount(data.hoverInteractionState.disposeEffect);\n return data.hoverInteractionState;\n}","import { isMouseLikePointerType } from \"../utils/event.mjs\";\nexport { isTargetInsideEnabledTrigger as isInsideEnabledTrigger } from \"../utils/element.mjs\";\nfunction resolveValue(value, pointerType) {\n if (pointerType != null && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'function') {\n return value();\n }\n return value;\n}\nexport function getDelay(value, prop, pointerType) {\n const result = resolveValue(value, pointerType);\n if (typeof result === 'number') {\n return result;\n }\n return result?.[prop];\n}\nexport function getRestMs(value) {\n if (typeof value === 'function') {\n return value();\n }\n return value;\n}\nexport function isClickLikeOpenEvent(openEventType, interactedInside) {\n return interactedInside || openEventType === 'click' || openEventType === 'mousedown';\n}\nexport function isHoverOpenEvent(openEventType) {\n return openEventType?.includes('mouse') && openEventType !== 'mousedown';\n}","import { isElement } from '@floating-ui/utils/dom';\nimport { Timeout } from '@base-ui/utils/useTimeout';\nimport { contains, getTarget } from \"./utils/element.mjs\";\nimport { getNodeChildren } from \"./utils/nodes.mjs\";\n\n/* eslint-disable no-nested-ternary */\n\nconst CURSOR_SPEED_THRESHOLD = 0.1;\nconst CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD;\nconst POLYGON_BUFFER = 0.5;\nfunction hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) {\n return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi;\n}\nfunction isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) {\n let isInsideValue = false;\n if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) {\n isInsideValue = !isInsideValue;\n }\n if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) {\n isInsideValue = !isInsideValue;\n }\n if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) {\n isInsideValue = !isInsideValue;\n }\n if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) {\n isInsideValue = !isInsideValue;\n }\n return isInsideValue;\n}\nfunction isInsideRect(pointX, pointY, rect) {\n return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height;\n}\nfunction isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) {\n const minX = Math.min(x1, x2);\n const maxX = Math.max(x1, x2);\n const minY = Math.min(y1, y2);\n const maxY = Math.max(y1, y2);\n return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nexport function safePolygon(options = {}) {\n const {\n blockPointerEvents = false\n } = options;\n const timeout = new Timeout();\n const fn = ({\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n }) => {\n const side = placement?.split('-')[0];\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = typeof performance !== 'undefined' ? performance.now() : 0;\n function isCursorMovingSlowly(nextX, nextY) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = nextX;\n lastY = nextY;\n lastCursorTime = currentTime;\n return false;\n }\n const deltaX = nextX - lastX;\n const deltaY = nextY - lastY;\n const distanceSquared = deltaX * deltaX + deltaY * deltaY;\n const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED;\n lastX = nextX;\n lastY = nextY;\n lastCursorTime = currentTime;\n return distanceSquared < thresholdSquared;\n }\n function close() {\n timeout.clear();\n onClose();\n }\n return function onMouseMove(event) {\n timeout.clear();\n const domReference = elements.domReference;\n const floating = elements.floating;\n if (!domReference || !floating || side == null || x == null || y == null) {\n return undefined;\n }\n const {\n clientX,\n clientY\n } = event;\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(floating, target);\n const isOverReferenceEl = contains(domReference, target);\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return undefined;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n if (!isLeave) {\n hasLanded = true;\n return undefined;\n }\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) {\n return undefined;\n }\n function hasOpenChildNode() {\n return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0);\n }\n function closeIfNoOpenChild() {\n if (!hasOpenChildNode()) {\n close();\n }\n }\n\n // If any nested child is open, abort.\n if (hasOpenChildNode()) {\n return undefined;\n }\n const refRect = domReference.getBoundingClientRect();\n const rect = floating.getBoundingClientRect();\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n closeIfNoOpenChild();\n return undefined;\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let isInsideTroughRect = false;\n switch (side) {\n case 'top':\n isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1);\n break;\n case 'bottom':\n isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1);\n break;\n case 'left':\n isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top);\n break;\n case 'right':\n isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top);\n break;\n default:\n }\n if (isInsideTroughRect) {\n return undefined;\n }\n if (hasLanded && !isInsideRect(clientX, clientY, refRect)) {\n closeIfNoOpenChild();\n return undefined;\n }\n if (!isLeave && isCursorMovingSlowly(clientX, clientY)) {\n closeIfNoOpenChild();\n return undefined;\n }\n let isInsidePolygon = false;\n switch (side) {\n case 'top':\n {\n const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;\n const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;\n const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;\n const cursorPointY = y + POLYGON_BUFFER + 1;\n const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top;\n const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER;\n isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);\n break;\n }\n case 'bottom':\n {\n const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;\n const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;\n const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;\n const cursorPointY = y - POLYGON_BUFFER;\n const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom;\n const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER;\n isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);\n break;\n }\n case 'left':\n {\n const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;\n const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;\n const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;\n const cursorPointX = x + POLYGON_BUFFER + 1;\n const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left;\n const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER;\n isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY);\n break;\n }\n case 'right':\n {\n const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;\n const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;\n const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;\n const cursorPointX = x - POLYGON_BUFFER;\n const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right;\n const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER;\n isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom);\n break;\n }\n default:\n }\n if (!isInsidePolygon) {\n closeIfNoOpenChild();\n } else if (!hasLanded) {\n timeout.start(40, closeIfNoOpenChild);\n }\n return undefined;\n };\n };\n\n // eslint-disable-next-line no-underscore-dangle\n fn.__options = {\n ...options,\n blockPointerEvents\n };\n return fn;\n}","'use client';\n\nimport * as React from 'react';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { platform } from '@base-ui/utils/platform';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { getWindow, isElement, isHTMLElement } from '@floating-ui/utils/dom';\nimport { createAttribute } from \"../utils/createAttribute.mjs\";\nimport { activeElement, contains, getTarget, isTargetInsideEnabledTrigger, isTypeableElement, matchesFocusVisible } from \"../utils/element.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nconst isMacSafari = platform.os.mac && platform.engine.webkit;\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nexport function useFocus(store, props = {}) {\n const {\n enabled = true,\n delay\n } = props;\n const {\n events,\n dataRef\n } = store.context;\n const blockFocusRef = React.useRef(false);\n // Track which reference should be blocked from re-opening after Escape/press dismissal.\n const blockedReferenceRef = React.useRef(null);\n const keyboardModalityRef = React.useRef(true);\n const timeout = useTimeout();\n React.useEffect(() => {\n const domReference = store.select('domReferenceElement');\n if (!enabled) {\n return undefined;\n }\n const win = getWindow(domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n const currentDomReference = store.select('domReferenceElement');\n if (!store.select('open') && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) {\n blockFocusRef.current = true;\n blockedReferenceRef.current = currentDomReference;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n function onPointerDown() {\n keyboardModalityRef.current = false;\n }\n return mergeCleanups(addEventListener(win, 'blur', onBlur), isMacSafari && addEventListener(win, 'keydown', onKeyDown, true), isMacSafari && addEventListener(win, 'pointerdown', onPointerDown, true));\n }, [store, enabled]);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n function onOpenChangeLocal(details) {\n if (details.reason === REASONS.triggerPress || details.reason === REASONS.escapeKey) {\n const referenceElement = store.select('domReferenceElement');\n if (isElement(referenceElement)) {\n blockedReferenceRef.current = referenceElement;\n blockFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChangeLocal);\n return () => {\n events.off('openchange', onOpenChangeLocal);\n };\n }, [events, enabled, store]);\n const reference = React.useMemo(() => {\n function resetBlockedFocus() {\n blockFocusRef.current = false;\n blockedReferenceRef.current = null;\n }\n return {\n onMouseLeave() {\n resetBlockedFocus();\n },\n onFocus(event) {\n const focusTarget = event.currentTarget;\n if (blockFocusRef.current) {\n if (blockedReferenceRef.current === focusTarget) {\n return;\n }\n resetBlockedFocus();\n }\n const target = getTarget(event.nativeEvent);\n if (isElement(target)) {\n // Safari fails to match `:focus-visible` if focus was initially\n // outside the document.\n if (isMacSafari && !event.relatedTarget) {\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n } else if (!matchesFocusVisible(target)) {\n return;\n }\n }\n const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements);\n const {\n nativeEvent,\n currentTarget\n } = event;\n if (store.select('open') && movedFromOtherEnabledTrigger || !delay) {\n store.setOpen(true, createChangeEventDetails(REASONS.triggerFocus, nativeEvent, currentTarget));\n return;\n }\n timeout.start(delay, () => {\n if (blockFocusRef.current) {\n return;\n }\n store.setOpen(true, createChangeEventDetails(REASONS.triggerFocus, nativeEvent, currentTarget));\n });\n },\n onBlur(event) {\n resetBlockedFocus();\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeout.start(0, () => {\n const domReference = store.select('domReferenceElement');\n const activeEl = activeElement(ownerDocument(domReference));\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === domReference) {\n return;\n }\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n\n // If the next focused element is one of the triggers, do not close\n // the floating element. The focus handler of that trigger will\n // handle the open state.\n const nextFocusedElement = relatedTarget ?? activeEl;\n if (isTargetInsideEnabledTrigger(nextFocusedElement, store.context.triggerElements)) {\n return;\n }\n store.setOpen(false, createChangeEventDetails(REASONS.triggerFocus, nativeEvent));\n });\n }\n };\n }, [dataRef, delay, store, timeout]);\n return React.useMemo(() => enabled ? {\n reference,\n trigger: reference\n } : {}, [enabled, reference]);\n}","'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { mergeCleanups } from '@base-ui/utils/mergeCleanups';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useFloatingTree } from \"../components/FloatingTree.mjs\";\nimport { contains, getTarget } from \"../utils/element.mjs\";\nimport { isMouseLikePointerType } from \"../utils/event.mjs\";\nimport { applySafePolygonPointerEventsMutation, clearSafePolygonPointerEventsMutation, useHoverInteractionSharedState } from \"./useHoverInteractionSharedState.mjs\";\nimport { getDelay, getRestMs, isClickLikeOpenEvent as isClickLikeOpenEventShared, isInsideEnabledTrigger } from \"./useHoverShared.mjs\";\nconst EMPTY_REF = {\n current: null\n};\n\n/**\n * Provides hover interactions that should be attached to reference or trigger\n * elements.\n */\nexport function useHoverReferenceInteraction(store, props = {}) {\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true,\n triggerElementRef = EMPTY_REF,\n externalTree,\n isActiveTrigger = true,\n getHandleCloseContext,\n isClosing,\n shouldOpen: shouldOpenProp,\n guardStaleOpen = false\n } = props;\n const {\n dataRef,\n events\n } = store.context;\n const tree = useFloatingTree(externalTree);\n const instance = useHoverInteractionSharedState(store);\n const isHoverCloseActiveRef = React.useRef(false);\n const handleCloseRef = useValueAsRef(handleClose);\n const delayRef = useValueAsRef(delay);\n const restMsRef = useValueAsRef(restMs);\n const enabledRef = useValueAsRef(enabled);\n const shouldOpenRef = useValueAsRef(shouldOpenProp);\n const isClosingRef = useValueAsRef(isClosing);\n const isClickLikeOpenEvent = useStableCallback(() => {\n return isClickLikeOpenEventShared(dataRef.current.openEvent?.type, instance.interactedInside);\n });\n const checkShouldOpen = useStableCallback(() => {\n return shouldOpenRef.current?.() !== false;\n });\n const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => {\n const allTriggers = store.context.triggerElements;\n\n // Fast path for normal usage where handlers are attached directly to triggers.\n if (allTriggers.hasElement(currentTarget)) {\n return !currentDomReference || !contains(currentDomReference, currentTarget);\n }\n\n // Fallback for delegated/wrapper usage where currentTarget may be outside the trigger map.\n if (!isElement(target)) {\n return false;\n }\n const targetElement = target;\n return allTriggers.hasMatchingElement(trigger => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement));\n });\n const cleanupMouseMoveHandler = useStableCallback(() => {\n if (!instance.handler) {\n return;\n }\n const doc = ownerDocument(store.select('domReferenceElement'));\n doc.removeEventListener('mousemove', instance.handler);\n instance.handler = undefined;\n });\n const clearPointerEvents = useStableCallback(() => {\n clearSafePolygonPointerEventsMutation(instance);\n });\n if (isActiveTrigger) {\n // eslint-disable-next-line no-underscore-dangle\n instance.handleCloseOptions = handleClose?.__options;\n }\n React.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]);\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n function onOpenChangeLocal(details) {\n if (!details.open) {\n isHoverCloseActiveRef.current = details.reason === REASONS.triggerHover;\n cleanupMouseMoveHandler();\n instance.openChangeTimeout.clear();\n instance.restTimeout.clear();\n instance.blockMouseMove = true;\n instance.restTimeoutPending = false;\n } else {\n isHoverCloseActiveRef.current = false;\n }\n }\n events.on('openchange', onOpenChangeLocal);\n return () => {\n events.off('openchange', onOpenChangeLocal);\n };\n }, [enabled, events, instance, cleanupMouseMoveHandler]);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n function closeWithDelay(event, runElseBranch = true) {\n const closeDelay = getDelay(delayRef.current, 'close', instance.pointerType);\n if (closeDelay) {\n instance.openChangeTimeout.start(closeDelay, () => {\n store.setOpen(false, createChangeEventDetails(REASONS.triggerHover, event));\n tree?.events.emit('floating.closed', event);\n });\n } else if (runElseBranch) {\n instance.openChangeTimeout.clear();\n store.setOpen(false, createChangeEventDetails(REASONS.triggerHover, event));\n tree?.events.emit('floating.closed', event);\n }\n }\n const trigger = triggerElementRef.current ?? (isActiveTrigger ? store.select('domReferenceElement') : null);\n if (!isElement(trigger)) {\n return undefined;\n }\n function onMouseEnter(event) {\n instance.openChangeTimeout.clear();\n instance.blockMouseMove = false;\n if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {\n return;\n }\n\n // Only rest delay is set; there's no fallback delay.\n // This will be handled by `onMouseMove`.\n const restMsValue = getRestMs(restMsRef.current);\n const openDelay = getDelay(delayRef.current, 'open', instance.pointerType);\n const eventTarget = getTarget(event);\n const currentTarget = event.currentTarget ?? null;\n const currentDomReference = store.select('domReferenceElement');\n let triggerNode = currentTarget;\n\n // Wrapper/delegated mode: resolve the actual trigger from the event target.\n if (isElement(eventTarget) && !store.context.triggerElements.hasElement(eventTarget)) {\n for (const triggerElement of store.context.triggerElements.elements()) {\n if (contains(triggerElement, eventTarget)) {\n triggerNode = triggerElement;\n break;\n }\n }\n }\n\n // Wrapper/delegated mode fallback: if the wrapper contains the active trigger,\n // treat this as re-entering that active trigger.\n if (isElement(currentTarget) && isElement(currentDomReference) && !store.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) {\n triggerNode = currentDomReference;\n }\n const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget);\n const isOpen = store.select('open');\n const isInClosingTransition = isClosingRef.current?.() ?? store.select('transitionStatus') === 'ending';\n const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current;\n const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition;\n const isRestOnlyDelay = restMsValue > 0 && !openDelay;\n const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition;\n const shouldOpen = !isOpen || isOverInactive;\n\n // Open immediately when moving between triggers while open, or during\n // a hover-driven close transition (including same-trigger re-entry).\n if (shouldOpenImmediately) {\n if (checkShouldOpen()) {\n store.setOpen(true, createChangeEventDetails(REASONS.triggerHover, event, triggerNode));\n }\n return;\n }\n if (isRestOnlyDelay) {\n return;\n }\n if (openDelay) {\n instance.openChangeTimeout.start(openDelay, () => {\n if (shouldOpen && checkShouldOpen()) {\n store.setOpen(true, createChangeEventDetails(REASONS.triggerHover, event, triggerNode));\n }\n });\n } else if (shouldOpen) {\n if (checkShouldOpen()) {\n store.setOpen(true, createChangeEventDetails(REASONS.triggerHover, event, triggerNode));\n }\n }\n }\n function onMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n clearPointerEvents();\n return;\n }\n cleanupMouseMoveHandler();\n const domReferenceElement = store.select('domReferenceElement');\n const doc = ownerDocument(domReferenceElement);\n instance.restTimeout.clear();\n instance.restTimeoutPending = false;\n const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.();\n if (isInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {\n return;\n }\n if (handleCloseRef.current && handleCloseContextBase) {\n if (!store.select('open')) {\n instance.openChangeTimeout.clear();\n }\n const currentTrigger = triggerElementRef.current;\n instance.handler = handleCloseRef.current({\n ...handleCloseContextBase,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (enabledRef.current && !isClickLikeOpenEvent() && currentTrigger === store.select('domReferenceElement')) {\n closeWithDelay(event, true);\n }\n }\n });\n doc.addEventListener('mousemove', instance.handler);\n instance.handler(event);\n return;\n }\n const shouldClose = instance.pointerType === 'touch' ? !contains(store.select('floatingElement'), event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Backup cancellation for Chrome's dropped `mouseleave` — see `guardStaleOpen`.\n function onMouseOut(event) {\n if (contains(trigger, event.relatedTarget)) {\n return; // moved within the trigger's own subtree\n }\n instance.openChangeTimeout.clear();\n instance.restTimeout.clear();\n instance.restTimeoutPending = false;\n }\n const staleOpenGuard = guardStaleOpen ? addEventListener(trigger, 'mouseout', onMouseOut) : undefined;\n if (move) {\n return mergeCleanups(addEventListener(trigger, 'mousemove', onMouseEnter, {\n once: true\n }), addEventListener(trigger, 'mouseenter', onMouseEnter), addEventListener(trigger, 'mouseleave', onMouseLeave), staleOpenGuard);\n }\n return mergeCleanups(addEventListener(trigger, 'mouseenter', onMouseEnter), addEventListener(trigger, 'mouseleave', onMouseLeave), staleOpenGuard);\n }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen, guardStaleOpen]);\n return React.useMemo(() => {\n if (!enabled) {\n return undefined;\n }\n function setPointerRef(event) {\n instance.pointerType = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n const {\n nativeEvent\n } = event;\n const trigger = event.currentTarget;\n const currentDomReference = store.select('domReferenceElement');\n const currentOpen = store.select('open');\n const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target);\n if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {\n return;\n }\n if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) {\n const floatingElement = store.select('floatingElement');\n if (floatingElement) {\n const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body;\n applySafePolygonPointerEventsMutation(instance, {\n scopeElement,\n referenceElement: trigger,\n floatingElement\n });\n }\n }\n const restMsValue = getRestMs(restMsRef.current);\n if (currentOpen && !isOverInactive || restMsValue === 0) {\n return;\n }\n if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) {\n return;\n }\n instance.restTimeout.clear();\n function handleMouseMove() {\n instance.restTimeoutPending = false;\n\n // A delayed hover open should not override a click-like open that happened\n // while the hover delay was pending.\n if (isClickLikeOpenEvent()) {\n return;\n }\n const latestOpen = store.select('open');\n if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) {\n store.setOpen(true, createChangeEventDetails(REASONS.triggerHover, nativeEvent, trigger));\n }\n }\n if (instance.pointerType === 'touch') {\n ReactDOM.flushSync(() => {\n handleMouseMove();\n });\n } else if (isOverInactive && currentOpen) {\n handleMouseMove();\n } else {\n instance.restTimeoutPending = true;\n instance.restTimeout.start(restMsValue, handleMouseMove);\n }\n }\n };\n }, [enabled, instance, isClickLikeOpenEvent, isOverInactiveTrigger, mouseOnly, store, restMsRef, checkShouldOpen]);\n}","'use client';\n\nimport * as React from 'react';\nimport { useMenuFilterImpl } from \"../filter-root/MenuFilterContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { MenuGroupContext } from \"./MenuGroupContext.mjs\";\n\n/**\n * @internal\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const MenuGroupPlain = /*#__PURE__*/React.forwardRef(function MenuGroupPlain(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const [labelId, setLabelId] = React.useState(undefined);\n const element = useRenderElement('div', componentProps, {\n ref: forwardedRef,\n props: {\n role: 'group',\n 'aria-labelledby': labelId,\n ...elementProps\n }\n });\n return /*#__PURE__*/_jsx(MenuGroupContext.Provider, {\n value: setLabelId,\n children: element\n });\n});\n\n/**\n * Groups related menu items with the corresponding label.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nif (process.env.NODE_ENV !== \"production\") MenuGroupPlain.displayName = \"MenuGroupPlain\";\nexport const MenuGroup = /*#__PURE__*/React.forwardRef(function MenuGroup(props, forwardedRef) {\n const Group = useMenuFilterImpl()?.Group ?? MenuGroupPlain;\n return /*#__PURE__*/_jsx(Group, {\n ...props,\n ref: forwardedRef\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuGroup.displayName = \"MenuGroup\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { MenuRootContext } from \"../root/MenuRootContext.mjs\";\n\n/**\n * The filter implementation that a filterable root hands to the parts below it. Only the roots\n * `Menu.FilterProvider` renders import it, so a plain menu never bundles it. Parts whose whole\n * structure differs are swapped as components; parts that only register with the filter call an\n * injected hook, so a menu that never renders them doesn't bundle a second implementation.\n */\n\n/** Static below a filter root: the implementation never changes, so subscribers never re-render. */\nexport const MenuFilterImplContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") MenuFilterImplContext.displayName = \"MenuFilterImplContext\";\n/**\n * The filter implementation when the menu this part belongs to is filterable, otherwise `null`.\n * `virtualFocus` marks a filter root; a plain `Menu.Root` never sets it. The result is fixed for\n * a mounted part: a filter root can't appear above it without remounting it.\n */\nexport function useMenuFilterImpl(scope = 'root') {\n const impl = React.useContext(MenuFilterImplContext);\n const root = React.useContext(MenuRootContext);\n if (impl === null || root === undefined) {\n return null;\n }\n const filterable = scope === 'submenu-trigger' ? root.virtualFocus || root.parentVirtualFocus : root.virtualFocus;\n return filterable ? impl : null;\n}\n\n/**\n * Throws unless the menu this part renders in is filterable, naming the part and the provider.\n */\nexport function useMenuFilterPart(part) {\n if (useMenuFilterImpl() === null) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `Base UI: <Menu.${part}> must be placed in a menu wrapped in <Menu.FilterProvider>. ` + 'It reads the filter query and the matching items from the provider, which a plain menu ' + 'does not have. Wrap the <Menu.Root> or <Menu.SubmenuRoot> it belongs to in ' + '<Menu.FilterProvider>. See https://base-ui.com/react/components/menu#filtering' : _formatErrorMessage(104, part));\n }\n}\nconst UNFILTERED = {\n visible: true,\n ref: null\n};\nfunction useUnfilteredItem() {\n return UNFILTERED;\n}\n\n/**\n * Registers an item part with the filter of the menu it belongs to. A plain menu's items are\n * always visible.\n */\nexport function useMenuFilterItem(props, forwardedRef, scope = 'root') {\n const impl = useMenuFilterImpl(scope);\n const useItem = (scope === 'submenu-trigger' ? impl?.useSubmenuTrigger : impl?.useItem) ?? useUnfilteredItem;\n const item = useItem({\n label: props.label,\n children: props.children,\n render: props.render\n });\n const ref = useMergedRefs(forwardedRef, item.ref);\n return {\n visible: item.visible,\n ref,\n props: item.props\n };\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuRootContext.displayName = \"MenuRootContext\";\nexport function useMenuRootContext(optional) {\n const context = React.useContext(MenuRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenuRootContext is missing. Menu parts must be placed within <Menu.Root>.' : _formatErrorMessage(36));\n }\n return context;\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuGroupContext.displayName = \"MenuGroupContext\";\nexport function useMenuGroupRootContext() {\n const context = React.useContext(MenuGroupContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenuGroupContext is missing. Menu group parts must be used within <Menu.Group> or <Menu.RadioGroup>.' : _formatErrorMessage(31));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useMenuGroupRootContext } from \"../group/MenuGroupContext.mjs\";\n\n/**\n * An accessible label that is automatically associated with its parent group.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nexport const MenuGroupLabel = /*#__PURE__*/React.forwardRef(function MenuGroupLabel(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n id: idProp,\n ...elementProps\n } = componentProps;\n const id = useBaseUiId(idProp);\n const setLabelId = useMenuGroupRootContext();\n useIsoLayoutEffect(() => {\n setLabelId(id);\n return () => {\n setLabelId(currentId => currentId === id ? undefined : currentId);\n };\n }, [setLabelId, id]);\n return useRenderElement('div', componentProps, {\n ref: forwardedRef,\n props: {\n id,\n 'aria-hidden': true,\n ...elementProps\n }\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuGroupLabel.displayName = \"MenuGroupLabel\";","'use client';\n\nimport * as React from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\nimport { useMenuItemCommonProps } from \"./useMenuItemCommonProps.mjs\";\nexport const REGULAR_ITEM = {\n type: 'regular-item'\n};\nexport function useMenuItem(params) {\n const {\n closeOnClick,\n disabled,\n highlighted,\n id,\n store,\n typingRef = store.context.typingRef,\n nativeButton,\n itemMetadata,\n nodeId\n } = params;\n const itemRef = React.useRef(null);\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n focusableWhenDisabled: true,\n native: nativeButton,\n composite: true\n });\n const commonProps = useMenuItemCommonProps({\n closeOnClick,\n highlighted,\n id,\n nodeId,\n store,\n typingRef,\n itemRef,\n itemMetadata\n });\n const getItemProps = React.useCallback(externalProps => {\n return mergeProps(commonProps, {\n onMouseEnter(event) {\n if (itemMetadata.type !== 'submenu-trigger') {\n return;\n }\n itemMetadata.setActive(event.nativeEvent);\n }\n }, externalProps, getButtonProps);\n }, [commonProps, getButtonProps, itemMetadata]);\n const mergedRef = useMergedRefs(itemRef, buttonRef);\n return React.useMemo(() => ({\n getItemProps,\n itemRef: mergedRef\n }), [getItemProps, mergedRef]);\n}","'use client';\n\nimport * as React from 'react';\nimport { platform } from '@base-ui/utils/platform';\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useContextMenuRootContext } from \"../../context-menu/root/ContextMenuRootContext.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { dispatchClickWithModifiers } from \"../../utils/dispatchClickWithModifiers.mjs\";\nfunction preventMouseDownDefault(event) {\n event.preventDefault();\n}\n/**\n * Returns common props shared by all menu item types.\n * This hook extracts the shared logic for id, role, tabIndex, and interaction handlers.\n */\nexport function useMenuItemCommonProps(params) {\n const {\n closeOnClick,\n highlighted,\n id,\n nodeId,\n store,\n typingRef,\n itemRef,\n itemMetadata\n } = params;\n const rootContext = useMenuRootContext();\n const contextMenuContext = useContextMenuRootContext(true);\n\n // A submenu trigger is an item of the parent menu's list, so it follows that list's focus model.\n const isSubmenuTrigger = itemMetadata.type === 'submenu-trigger';\n const virtualFocus = isSubmenuTrigger ? rootContext.parentVirtualFocus : rootContext.virtualFocus;\n const selectionStore = isSubmenuTrigger && rootContext.parent.type === 'menu' ? rootContext.parent.store : rootContext.store;\n const ariaSelected = selectionStore.useState('webkitAriaSelected', highlighted);\n const {\n events: menuEvents\n } = store.useState('floatingTreeRoot');\n const open = store.useState('open');\n const isContextMenu = contextMenuContext !== undefined;\n // `-1` rather than omitting it, which leaves links and buttons in the tab order.\n const tabIndex = !virtualFocus && open && highlighted ? 0 : -1;\n return React.useMemo(() => ({\n id,\n role: 'menuitem',\n tabIndex,\n 'aria-selected': ariaSelected,\n // Real focus stays on the input or list that owns virtual navigation.\n onMouseDown: virtualFocus ? preventMouseDownDefault : undefined,\n onKeyDown(event) {\n if (event.key === ' ' && typingRef?.current) {\n event.preventDefault();\n }\n },\n onMouseMove(event) {\n if (!nodeId) {\n return;\n }\n\n // Inform the floating tree that a menu item within this menu was hovered/moved over\n // so unrelated descendant submenus can be closed.\n menuEvents.emit('itemhover', {\n nodeId,\n target: event.currentTarget\n });\n },\n onClick(event) {\n if (closeOnClick) {\n menuEvents.emit('close', {\n domEvent: event.nativeEvent,\n reason: REASONS.itemPress\n });\n }\n },\n onMouseUp(event) {\n if (contextMenuContext) {\n const initialCursorPoint = contextMenuContext.initialCursorPointRef.current;\n contextMenuContext.initialCursorPointRef.current = null;\n if (isContextMenu && initialCursorPoint && Math.abs(event.clientX - initialCursorPoint.x) <= 1 && Math.abs(event.clientY - initialCursorPoint.y) <= 1) {\n return;\n }\n\n // On non-macOS platforms, this mouseup belongs to the right-click gesture\n // that opened the context menu, so it must not activate an item.\n if (isContextMenu && !platform.os.mac && event.button === 2) {\n return;\n }\n }\n if (itemRef.current && store.context.allowMouseUpTriggerRef.current && (!isContextMenu || event.button === 2)) {\n // This fires whenever the user clicks on the trigger, moves the cursor, and releases it over the item.\n // We trigger the click and override the `closeOnClick` preference to always close the menu.\n if (itemMetadata.type === 'regular-item') {\n // `detail: 1` and `pointerType: 'mouse'` mark this as a mouse-gesture click so\n // MenuRoot and FloatingFocusManager don't treat it as a keyboard activation.\n dispatchClickWithModifiers(itemRef.current, event, {\n detail: 1,\n pointerType: 'mouse'\n });\n }\n }\n }\n }), [closeOnClick, tabIndex, id, menuEvents, nodeId, store.context.allowMouseUpTriggerRef, typingRef, itemRef, contextMenuContext, isContextMenu, itemMetadata.type, ariaSelected, virtualFocus]);\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const ContextMenuRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") ContextMenuRootContext.displayName = \"ContextMenuRootContext\";\nexport function useContextMenuRootContext(optional = true) {\n const context = React.useContext(ContextMenuRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within <ContextMenu.Root>.' : _formatErrorMessage(25));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useMenuFilterItem } from \"../filter-root/MenuFilterContext.mjs\";\nimport { REGULAR_ITEM, useMenuItem } from \"./useMenuItem.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useCompositeListItem } from \"../../internals/composite/list/useCompositeListItem.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MenuItemPlain = /*#__PURE__*/React.forwardRef(function MenuItemPlain(componentProps, forwardedRef) {\n const {\n render,\n className,\n id: idProp,\n label,\n nativeButton = false,\n disabled: disabledProp = false,\n closeOnClick = true,\n style,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useMenuRootContext();\n const listItem = useCompositeListItem({\n guess: true,\n label\n });\n const id = useBaseUiId(idProp);\n const rootDisabled = store.useState('disabled');\n const highlighted = store.useState('isActive', listItem.index);\n const nodeId = store.useState('floatingNodeId');\n const itemProps = store.useState('itemProps');\n const disabled = disabledProp || rootDisabled;\n const {\n getItemProps,\n itemRef\n } = useMenuItem({\n closeOnClick,\n disabled,\n highlighted,\n id,\n store,\n nativeButton,\n nodeId,\n itemMetadata: REGULAR_ITEM\n });\n const state = {\n disabled,\n highlighted\n };\n return useRenderElement('div', componentProps, {\n state,\n props: [itemProps, elementProps, getItemProps],\n ref: [itemRef, forwardedRef, listItem.ref]\n });\n});\n\n/**\n * An individual interactive item in the menu.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nif (process.env.NODE_ENV !== \"production\") MenuItemPlain.displayName = \"MenuItemPlain\";\nexport const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(props, forwardedRef) {\n const filterItem = useMenuFilterItem(props, forwardedRef);\n if (!filterItem.visible) {\n return null;\n }\n return /*#__PURE__*/_jsx(MenuItemPlain, {\n ...props,\n ref: filterItem.ref\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuItem.displayName = \"MenuItem\";","'use client';\n\nimport * as React from 'react';\nimport { FloatingFocusManager, useHoverFloatingInteraction } from \"../../floating-ui-react/index.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { useMenuPositionerContext } from \"../positioner/MenuPositionerContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { popupTransitionStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useToolbarRootContext } from \"../../toolbar/root/ToolbarRootContext.mjs\";\nimport { COMPOSITE_KEYS } from \"../../internals/composite/composite.mjs\";\nimport { getDisabledMountTransitionStyles } from \"../../internals/getDisabledMountTransitionStyles.mjs\";\nimport { useMenuSubmenuRootContext } from \"../submenu-root/MenuSubmenuRootContext.mjs\";\nimport { useRenderedId } from \"../../internals/resolveRenderedId.mjs\";\nimport { resolvePopupLabel } from \"../../internals/resolvePopupLabel.mjs\";\nimport { MenuFilterImplContext, useMenuFilterImpl } from \"../filter-root/MenuFilterContext.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * @internal\n */\nexport const MenuPopupPlain = /*#__PURE__*/React.forwardRef(function MenuPopupPlain(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n finalFocus,\n id: idProp,\n initialFocus: initialFocusProp,\n ...elementProps\n } = componentProps;\n const {\n store,\n defaultFloatingId,\n setRenderedFloatingId,\n virtualFocus,\n orientation\n } = useMenuRootContext();\n const inheritedSubmenuRootContext = useMenuSubmenuRootContext();\n const {\n side,\n align\n } = useMenuPositionerContext();\n const insideToolbar = useToolbarRootContext(true) != null;\n const open = store.useState('open');\n const transitionStatus = store.useState('transitionStatus');\n const popupProps = store.useState('popupProps');\n const mounted = store.useState('mounted');\n const instantType = store.useState('instantType');\n const activeTriggerElement = store.useState('activeTriggerElement');\n const parent = store.useState('parent');\n const lastOpenChangeReason = store.useState('lastOpenChangeReason');\n const rootId = store.useState('rootId');\n const floatingContext = store.useState('floatingRootContext');\n const floatingTreeRoot = store.useState('floatingTreeRoot');\n const closeDelay = store.useState('closeDelay');\n const hoverEnabled = store.useState('hoverEnabled');\n const disabled = store.useState('disabled');\n const openMethod = store.useState('openMethod');\n const activeTriggerId = store.useState('activeTriggerId');\n const listElement = store.useState('listElement');\n const [id, registerIdRef] = useRenderedId(componentProps, defaultFloatingId, setRenderedFloatingId);\n const ariaLabelledBy = resolvePopupLabel(componentProps, activeTriggerElement, activeTriggerId);\n\n // A dialog's menu can render under a submenu provider; only the actual submenu inherits it.\n const submenuRootContext = parent.type === 'menu' ? inheritedSubmenuRootContext : undefined;\n const isContextMenu = parent.type === 'context-menu';\n let initialFocus = initialFocusProp ?? parent.type !== 'menu';\n if (initialFocusProp === undefined && listElement && parent.type !== 'menu') {\n initialFocus = () => {\n // A keyboard or screen reader open highlights an item, which list navigation focuses.\n if (store.state.activeIndex !== null) {\n return false;\n }\n // The list holds the `menu` role, so a pointer open lands focus on it rather than on the\n // presentational popup.\n return listElement;\n };\n }\n useOpenChangeComplete({\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (open) {\n store.context.onOpenChangeComplete?.(true);\n }\n }\n });\n React.useEffect(() => {\n function handleClose(event) {\n store.setOpen(false, createChangeEventDetails(event.reason, event.domEvent));\n }\n floatingTreeRoot.events.on('close', handleClose);\n return () => {\n floatingTreeRoot.events.off('close', handleClose);\n };\n }, [floatingTreeRoot.events, store]);\n useHoverFloatingInteraction(floatingContext, {\n enabled: hoverEnabled && !disabled && !isContextMenu && parent.type !== 'menubar',\n closeDelay\n });\n const setPopupElement = store.useStateSetter('popupElement');\n\n // Only a menu under a filter root bundles the handoff to a filterable parent. Whether one is\n // above is fixed for a mounted popup, so the hook doesn't change between renders.\n const useParentHandoff = React.useContext(MenuFilterImplContext)?.useParentHandoff ?? useNoParentHandoff;\n const {\n parentVirtualFocusRef,\n handleFocus\n } = useParentHandoff(store, parent, open, virtualFocus);\n const state = {\n transitionStatus,\n side,\n align,\n open,\n nested: parent.type === 'menu',\n instant: instantType\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, store.context.popupRef, setPopupElement, registerIdRef],\n stateAttributesMapping: popupTransitionStateMapping,\n props: [popupProps, {\n id,\n // A rendered `Menu.List` carries the `menu` semantics instead.\n ...(listElement ? {\n role: 'presentation'\n } : {\n role: 'menu',\n // `menu` is implicitly vertical, so only the non-default value needs to be\n // rendered.\n 'aria-orientation': orientation === 'horizontal' ? 'horizontal' : undefined,\n 'aria-labelledby': ariaLabelledBy\n }),\n onKeyDown(event) {\n submenuRootContext?.onPopupKeyDown?.(event);\n if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {\n event.stopPropagation();\n }\n },\n onFocus: handleFocus\n }, getDisabledMountTransitionStyles(transitionStatus), elementProps, {\n 'data-rootownerid': rootId\n }]\n });\n let returnFocus = parent.type === undefined || isContextMenu;\n if (activeTriggerElement || parent.type === 'menubar' && lastOpenChangeReason !== REASONS.outsidePress) {\n returnFocus = true;\n }\n\n // Internal defaults rather than consumer targets, so focus that already moved is respected.\n const dynamicReturnFocus = submenuRootContext?.getReturnElement ?? parentVirtualFocusRef;\n return /*#__PURE__*/_jsx(FloatingFocusManager, {\n context: floatingContext,\n openInteractionType: openMethod,\n modal: isContextMenu,\n disabled: !mounted,\n returnFocus: finalFocus ?? dynamicReturnFocus ?? returnFocus,\n explicitReturnFocus: finalFocus === undefined && dynamicReturnFocus ? false : undefined,\n initialFocus: initialFocus,\n restoreFocus: true,\n getInsideElements: parent.type === undefined ? () => [store.context.beforeTriggerFocusGuardRef.current] : undefined,\n externalTree: parent.type !== 'menubar' ? floatingTreeRoot : undefined,\n previousFocusableElement: activeTriggerElement,\n nextFocusableElement: parent.type === undefined ? store.context.triggerFocusTargetRef : undefined,\n beforeContentFocusGuardRef: store.context.beforeContentFocusGuardRef,\n children: element\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuPopupPlain.displayName = \"MenuPopupPlain\";\nconst NO_PARENT_HANDOFF = {\n parentVirtualFocusRef: undefined,\n handleFocus: undefined\n};\nfunction useNoParentHandoff() {\n return NO_PARENT_HANDOFF;\n}\n\n/**\n * A container for the menu items.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nexport const MenuPopup = /*#__PURE__*/React.forwardRef(function MenuPopup(props, forwardedRef) {\n const Popup = useMenuFilterImpl()?.Popup ?? MenuPopupPlain;\n return /*#__PURE__*/_jsx(Popup, {\n ...props,\n ref: forwardedRef\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuPopup.displayName = \"MenuPopup\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuPositionerContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuPositionerContext.displayName = \"MenuPositionerContext\";\nexport function useMenuPositionerContext(optional) {\n const context = React.useContext(MenuPositionerContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within <Menu.Positioner>.' : _formatErrorMessage(33));\n }\n return context;\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const ToolbarRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") ToolbarRootContext.displayName = \"ToolbarRootContext\";\nexport function useToolbarRootContext(optional) {\n const context = React.useContext(ToolbarRootContext);\n if (context === undefined && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>.' : _formatErrorMessage(69));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nexport const MenuSubmenuRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuSubmenuRootContext.displayName = \"MenuSubmenuRootContext\";\nexport function useMenuSubmenuRootContext() {\n return React.useContext(MenuSubmenuRootContext);\n}","import * as React from 'react';\nimport { unwrapLazyRenderProp } from \"./useRenderElement.mjs\";\n/**\n * Resolves an element's id using the same precedence as `useRenderElement`.\n * Returns `''` when the element renders with an explicitly empty id, which consumers must treat\n * as \"no id\" rather than falling back to the generated one, so ARIA relationships never reference\n * an id no element carries. Render callbacks are opaque and are expected to use the id passed to\n * them.\n *\n * @internal\n */\nexport function resolveRenderedId(props, fallbackId) {\n const render = unwrapLazyRenderProp(props.render);\n if (/*#__PURE__*/React.isValidElement(render)) {\n const renderProps = render.props;\n if (Object.hasOwn(renderProps, 'id')) {\n return renderProps.id ?? '';\n }\n }\n return props.id ?? fallbackId;\n}\n\n/**\n * Resolves the element's id and returns a ref that publishes it to the owner while mounted.\n * A generated fallback is never published as an override, so removing an explicit id lets the\n * element return to the generated one.\n *\n * @internal\n */\nexport function useRenderedId(props, defaultId, setId) {\n const id = resolveRenderedId(props, defaultId);\n const registeredId = id === defaultId ? undefined : id;\n const ref = React.useCallback(element => setId?.(element ? registeredId : undefined), [registeredId, setId]);\n return [id, ref];\n}","import * as React from 'react';\nimport { unwrapLazyRenderProp } from \"./useRenderElement.mjs\";\nexport function resolvePopupLabel(props, activeTriggerElement, activeTriggerId) {\n const render = unwrapLazyRenderProp(props.render);\n const renderedElementProps = /*#__PURE__*/React.isValidElement(render) ? render.props : undefined;\n const ariaLabel = props['aria-label'] ?? renderedElementProps?.['aria-label'];\n let ariaLabelledBy = props['aria-labelledby'] ?? renderedElementProps?.['aria-labelledby'];\n if (ariaLabelledBy == null && !ariaLabel) {\n // Prefer the element's live id: a `render` element's own id wins over the registered one.\n ariaLabelledBy = activeTriggerElement ? activeTriggerElement.id || undefined : activeTriggerId || undefined;\n }\n return ariaLabelledBy;\n}","'use client';\n\nimport * as React from 'react';\nimport { FloatingPortal } from \"../../floating-ui-react/index.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { MenuPortalContext } from \"./MenuPortalContext.mjs\";\n\n/**\n * A portal element that moves the popup to a different part of the DOM.\n * By default, the portal element is appended to `<body>`.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const MenuPortal = /*#__PURE__*/React.forwardRef(function MenuPortal(props, forwardedRef) {\n const {\n keepMounted = false,\n ...portalProps\n } = props;\n const {\n store,\n parent\n } = useMenuRootContext();\n const mounted = store.useState('mounted');\n const shouldRender = mounted || keepMounted;\n if (!shouldRender) {\n return null;\n }\n\n // The hidden `aria-owns` owner renders here, in the React tree, so the role must be decided by\n // where this portal sits, not by the active trigger. `parent` comes from context (the `Menu.Root`\n // position), unlike the store's `parent`, which a detached trigger overwrites with its own.\n const portalOwnerRole = parent.type === 'menu' || parent.type === 'menubar' ? 'group' : undefined;\n return /*#__PURE__*/_jsx(MenuPortalContext.Provider, {\n value: keepMounted,\n children: /*#__PURE__*/_jsx(FloatingPortal, {\n ref: forwardedRef,\n ...portalProps,\n portalOwnerRole: portalOwnerRole\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuPortal.displayName = \"MenuPortal\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuPortalContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuPortalContext.displayName = \"MenuPortalContext\";\nexport function useMenuPortalContext() {\n const value = React.useContext(MenuPortalContext);\n if (value === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Menu.Portal> is missing.' : _formatErrorMessage(32));\n }\n return value;\n}","'use client';\n\nimport * as React from 'react';\nimport { inertValue } from '@base-ui/utils/inertValue';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { FloatingNode } from \"../../floating-ui-react/index.mjs\";\nimport { MenuPositionerContext } from \"./MenuPositionerContext.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { useAnchorPositioning } from \"../../internals/useAnchorPositioning.mjs\";\nimport { CompositeList } from \"../../internals/composite/list/CompositeList.mjs\";\nimport { InternalBackdrop } from \"../../utils/InternalBackdrop.mjs\";\nimport { useMenuPortalContext } from \"../portal/MenuPortalContext.mjs\";\nimport { DROPDOWN_COLLISION_AVOIDANCE, POPUP_COLLISION_AVOIDANCE } from \"../../internals/constants.mjs\";\nimport { useContextMenuRootContext } from \"../../context-menu/root/ContextMenuRootContext.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useTriggerSwitchTransition } from \"../../internals/useTriggerSwitchTransition.mjs\";\nimport { usePositioner } from \"../../utils/usePositioner.mjs\";\nimport { useAnchoredPopupScrollLock } from \"../../utils/useAnchoredPopupScrollLock.mjs\";\n\n/**\n * Positions the menu popup against the trigger.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const MenuPositioner = /*#__PURE__*/React.forwardRef(function MenuPositioner(componentProps, forwardedRef) {\n const {\n anchor: anchorProp,\n positionMethod: positionMethodProp = 'absolute',\n className,\n render,\n side,\n align: alignProp,\n sideOffset: sideOffsetProp = 0,\n alignOffset: alignOffsetProp = 0,\n collisionBoundary = 'clipping-ancestors',\n collisionPadding = 5,\n arrowPadding = 5,\n sticky = false,\n disableAnchorTracking = false,\n collisionAvoidance: collisionAvoidanceProp = DROPDOWN_COLLISION_AVOIDANCE,\n style,\n ...elementProps\n } = componentProps;\n const {\n store,\n virtualFocus,\n syncHighlightedItem\n } = useMenuRootContext();\n const keepMounted = useMenuPortalContext();\n const contextMenuContext = useContextMenuRootContext(true);\n const parent = store.useState('parent');\n const floatingRootContext = store.useState('floatingRootContext');\n const floatingTreeRoot = store.useState('floatingTreeRoot');\n const mounted = store.useState('mounted');\n const open = store.useState('open');\n const modal = store.useState('modal');\n const openMethod = store.useState('openMethod');\n const triggerElement = store.useState('activeTriggerElement');\n const transitionStatus = store.useState('transitionStatus');\n const positionerElement = store.useState('positionerElement');\n const instantType = store.useState('instantType');\n const adaptiveOrigin = store.useState('adaptiveOrigin');\n const lastOpenChangeReason = store.useState('lastOpenChangeReason');\n const floatingNodeId = store.useState('floatingNodeId');\n const floatingParentNodeId = store.useState('floatingParentNodeId');\n const domReference = floatingRootContext.useState('domReferenceElement');\n let anchor = anchorProp;\n let sideOffset = sideOffsetProp;\n let alignOffset = alignOffsetProp;\n let align = alignProp;\n let collisionAvoidance = collisionAvoidanceProp;\n if (parent.type === 'context-menu') {\n anchor = anchorProp ?? parent.context?.anchor;\n align = align ?? 'start';\n if (!side && align !== 'center') {\n alignOffset = componentProps.alignOffset ?? 2;\n sideOffset = componentProps.sideOffset ?? -5;\n }\n }\n let computedSide = side;\n let computedAlign = align;\n if (parent.type === 'menu') {\n computedSide = computedSide ?? 'inline-end';\n computedAlign = computedAlign ?? 'start';\n collisionAvoidance = componentProps.collisionAvoidance ?? POPUP_COLLISION_AVOIDANCE;\n } else if (parent.type === 'menubar') {\n computedSide = computedSide ?? (parent.context.orientation === 'vertical' ? 'inline-end' : 'bottom');\n computedAlign = computedAlign ?? 'start';\n }\n const contextMenu = parent.type === 'context-menu';\n const positioner = useAnchorPositioning({\n anchor,\n floatingRootContext,\n positionMethod: contextMenuContext ? 'fixed' : positionMethodProp,\n mounted,\n side: computedSide,\n sideOffset,\n align: computedAlign,\n alignOffset,\n arrowPadding: contextMenu ? 0 : arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n nodeId: floatingNodeId,\n keepMounted,\n disableAnchorTracking,\n collisionAvoidance,\n shift: contextMenu ? {\n crossAxis: !('side' in collisionAvoidance && collisionAvoidance.side === 'flip'),\n rootBoundary: 'layoutViewport'\n } : undefined,\n externalTree: floatingTreeRoot,\n adaptiveOrigin,\n lazyFlip: virtualFocus ? 'placement' : false\n });\n React.useEffect(() => {\n function onMenuOpenChange(details) {\n if (details.open) {\n if (details.parentNodeId === floatingNodeId) {\n store.set('hoverEnabled', false);\n }\n if (details.nodeId !== floatingNodeId && details.parentNodeId === store.select('floatingParentNodeId')) {\n store.setOpen(false, createChangeEventDetails(REASONS.siblingOpen));\n }\n }\n }\n floatingTreeRoot.events.on('menuopenchange', onMenuOpenChange);\n return () => {\n floatingTreeRoot.events.off('menuopenchange', onMenuOpenChange);\n };\n }, [store, floatingTreeRoot.events, floatingNodeId]);\n React.useEffect(() => {\n if (store.select('floatingParentNodeId') == null) {\n return undefined;\n }\n function onParentClose(details) {\n if (details.open || details.nodeId !== store.select('floatingParentNodeId')) {\n return;\n }\n const reason = details.reason ?? REASONS.siblingOpen;\n store.setOpen(false, createChangeEventDetails(reason));\n }\n floatingTreeRoot.events.on('menuopenchange', onParentClose);\n return () => {\n floatingTreeRoot.events.off('menuopenchange', onParentClose);\n };\n }, [floatingTreeRoot.events, store]);\n const closeTimeout = useTimeout();\n\n // Clear pending close timeout when the menu closes.\n React.useEffect(() => {\n if (!open) {\n closeTimeout.clear();\n }\n }, [open, closeTimeout]);\n\n // Close unrelated child submenus when hovering a different item in the parent menu.\n React.useEffect(() => {\n function onItemHover(event) {\n // If an item within our parent menu is hovered, and this menu's trigger is not that item,\n // close this submenu. This ensures hovering a different item in the parent closes other branches.\n if (!open || event.nodeId !== store.select('floatingParentNodeId')) {\n return;\n }\n if (event.target && triggerElement && triggerElement !== event.target) {\n const delay = store.select('closeDelay');\n if (delay > 0) {\n if (!closeTimeout.isStarted()) {\n closeTimeout.start(delay, () => {\n store.setOpen(false, createChangeEventDetails(REASONS.siblingOpen));\n });\n }\n } else {\n store.setOpen(false, createChangeEventDetails(REASONS.siblingOpen));\n }\n } else {\n // User re-hovered the submenu trigger, cancel pending close.\n closeTimeout.clear();\n }\n }\n floatingTreeRoot.events.on('itemhover', onItemHover);\n return () => {\n floatingTreeRoot.events.off('itemhover', onItemHover);\n };\n }, [floatingTreeRoot.events, open, triggerElement, store, closeTimeout]);\n React.useEffect(() => {\n const eventDetails = {\n open,\n nodeId: floatingNodeId,\n parentNodeId: floatingParentNodeId,\n reason: store.select('lastOpenChangeReason')\n };\n floatingTreeRoot.events.emit('menuopenchange', eventDetails);\n }, [floatingTreeRoot.events, open, store, floatingNodeId, floatingParentNodeId]);\n useTriggerSwitchTransition({\n store,\n domReference,\n positionerElement,\n open\n });\n const state = {\n open,\n side: positioner.side,\n align: positioner.align,\n anchorHidden: positioner.anchorHidden,\n nested: parent.type === 'menu',\n instant: instantType\n };\n const menubarModal = parent.type === 'menubar' && parent.context.modal;\n const popupModal = modal && lastOpenChangeReason !== REASONS.triggerHover;\n useAnchoredPopupScrollLock(open && (menubarModal || popupModal), openMethod === 'touch', positionerElement, triggerElement);\n const element = usePositioner(componentProps, state, {\n styles: positioner.positionerStyles,\n transitionStatus,\n props: elementProps,\n refs: [forwardedRef, store.useStateSetter('positionerElement')],\n hidden: !mounted,\n inert: !open\n });\n const shouldRenderBackdrop = mounted && parent.type !== 'menu' && (parent.type !== 'menubar' && modal && lastOpenChangeReason !== REASONS.triggerHover || parent.type === 'menubar' && parent.context.modal);\n\n // cuts a hole in the backdrop to allow pointer interaction with the menubar or dropdown menu trigger element\n let backdropCutout = null;\n if (parent.type === 'menubar') {\n backdropCutout = parent.context.contentElement;\n } else if (parent.type === undefined) {\n backdropCutout = triggerElement;\n }\n return /*#__PURE__*/_jsxs(MenuPositionerContext.Provider, {\n value: positioner,\n children: [shouldRenderBackdrop && /*#__PURE__*/_jsx(InternalBackdrop, {\n ref: parent.type === 'context-menu' || parent.type === 'nested-context-menu' ? parent.context.internalBackdropRef : null,\n inert: inertValue(!open),\n cutout: backdropCutout\n }), /*#__PURE__*/_jsx(FloatingNode, {\n id: floatingNodeId,\n children: /*#__PURE__*/_jsx(CompositeList, {\n elementsRef: store.context.itemDomElements,\n labelsRef: store.context.itemLabels,\n onMapChange: syncHighlightedItem,\n children: element\n })\n })]\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuPositioner.displayName = \"MenuPositioner\";","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Popover and Menu declare different `instantType` unions, so only the members\n * this hook touches are typed.\n */\n\n/**\n * Lets the positioner animate while a popup moves between detached triggers.\n *\n * The positioner is normally marked instant, so a hand-off from one trigger to\n * another would teleport. Clearing `instantType` for the duration of the move\n * lets it transition, and `trigger-change` is restored once the move finishes.\n *\n * The restoration is deferred until the move's animations finish, so it can\n * outlive the move that scheduled it. The trigger element is retained through\n * the exit transition, so a close alone does not change `domReference` and\n * nothing would otherwise re-run this effect to abort it — a popup that closes\n * and reopens on the same trigger mid-exit would inherit the stale callback and\n * lose its own transition. Closing therefore cancels the pending restoration\n * explicitly.\n *\n * Applying `trigger-change` to a closed popup is prevented separately, by the\n * stores' `instantType` selector, since a controlled `open={false}` commit\n * reaches the popup without passing through `setOpen`.\n */\nexport function useTriggerSwitchTransition(parameters) {\n const {\n store,\n domReference,\n positionerElement,\n open\n } = parameters;\n const previousTriggerRef = React.useRef(null);\n const pendingSwitchRef = React.useRef(null);\n const runOnceAnimationsFinish = useAnimationsFinished(positionerElement);\n useIsoLayoutEffect(() => {\n if (open) {\n return;\n }\n pendingSwitchRef.current?.abort();\n pendingSwitchRef.current = null;\n\n // `trigger-change` belongs to the open cycle that scheduled it. The selector\n // stops a closed popup from rendering it, but the value has to be dropped\n // too: a controlled reopen changes only `openProp`, so neither this effect\n // nor `setOpen` would run again to replace it, and the selector would start\n // exposing the old value against the new cycle.\n if (store.state.instantType === 'trigger-change') {\n store.set('instantType', undefined);\n }\n }, [open, store]);\n useIsoLayoutEffect(() => {\n const currentTrigger = domReference;\n const previousTrigger = previousTriggerRef.current;\n if (currentTrigger) {\n previousTriggerRef.current = currentTrigger;\n }\n if (!previousTrigger || !currentTrigger || currentTrigger === previousTrigger) {\n return undefined;\n }\n\n // The trigger element can also change while the popup is closing, when a\n // trigger is replaced by a new element. There is no move to animate, and\n // the cancellation effect above has already run for this commit, so a\n // restoration scheduled here would survive into whatever opens next.\n if (!store.select('open')) {\n return undefined;\n }\n store.set('instantType', undefined);\n const abortController = new AbortController();\n pendingSwitchRef.current = abortController;\n runOnceAnimationsFinish(() => {\n // The abort above covers a committed close, but the animations can finish\n // in the same frame the close commits. Writing `trigger-change` then would\n // leave stale state behind for the next open to inherit.\n if (store.select('open')) {\n store.set('instantType', 'trigger-change');\n }\n }, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [domReference, runOnceAnimationsFinish, store]);\n}","'use client';\n\nimport * as React from 'react';\nimport { useControlled } from '@base-ui/utils/useControlled';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useMenuFilterImpl } from \"../filter-root/MenuFilterContext.mjs\";\nimport { MenuRadioGroupContext } from \"./MenuRadioGroupContext.mjs\";\nimport { MenuGroupContext } from \"../group/MenuGroupContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * @internal\n */\nexport const MenuRadioGroupPlain = /*#__PURE__*/React.forwardRef(function MenuRadioGroupPlain(componentProps, forwardedRef) {\n const {\n render,\n className,\n value: valueProp,\n defaultValue,\n onValueChange: onValueChangeProp,\n disabled = false,\n style,\n 'aria-labelledby': ariaLabelledByProp,\n ...elementProps\n } = componentProps;\n const [labelId, setLabelId] = React.useState(undefined);\n const [value, setValueUnwrapped] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'MenuRadioGroup'\n });\n const setValue = useStableCallback((newValue, eventDetails) => {\n onValueChangeProp?.(newValue, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n setValueUnwrapped(newValue);\n });\n const state = {\n disabled\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: {\n role: 'group',\n 'aria-labelledby': ariaLabelledByProp ?? labelId,\n 'aria-disabled': disabled || undefined,\n ...elementProps\n }\n });\n const context = React.useMemo(() => ({\n value,\n setValue,\n disabled\n }), [value, setValue, disabled]);\n return /*#__PURE__*/_jsx(MenuGroupContext.Provider, {\n value: setLabelId,\n children: /*#__PURE__*/_jsx(MenuRadioGroupContext.Provider, {\n value: context,\n children: element\n })\n });\n});\n\n/**\n * Groups related radio items.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nif (process.env.NODE_ENV !== \"production\") MenuRadioGroupPlain.displayName = \"MenuRadioGroupPlain\";\nexport const MenuRadioGroup = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function MenuRadioGroup(props, forwardedRef) {\n const RadioGroup = useMenuFilterImpl()?.RadioGroup ?? MenuRadioGroupPlain;\n return /*#__PURE__*/_jsx(RadioGroup, {\n ...props,\n ref: forwardedRef\n });\n}));\nif (process.env.NODE_ENV !== \"production\") MenuRadioGroup.displayName = \"MenuRadioGroup\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuRadioGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuRadioGroupContext.displayName = \"MenuRadioGroupContext\";\nexport function useMenuRadioGroupContext() {\n const context = React.useContext(MenuRadioGroupContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenuRadioGroupContext is missing. MenuRadioGroup parts must be placed within <Menu.RadioGroup>.' : _formatErrorMessage(34));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { NOOP } from '@base-ui/utils/empty';\nimport { useMenuFilterItem } from \"../filter-root/MenuFilterContext.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useMenuRadioGroupContext } from \"../radio-group/MenuRadioGroupContext.mjs\";\nimport { MenuRadioItemContext } from \"./MenuRadioItemContext.mjs\";\nimport { itemMapping } from \"../utils/stateAttributesMapping.mjs\";\nimport { useCompositeListItem } from \"../../internals/composite/list/useCompositeListItem.mjs\";\nimport { REGULAR_ITEM, useMenuItem } from \"../item/useMenuItem.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst MenuRadioItemPlain = /*#__PURE__*/React.forwardRef(function MenuRadioItemPlain(componentProps, forwardedRef) {\n const {\n render,\n className,\n id: idProp,\n label,\n nativeButton = false,\n disabled: disabledProp = false,\n closeOnClick = false,\n value,\n style,\n ...elementProps\n } = componentProps;\n const {\n store\n } = useMenuRootContext();\n const {\n value: selectedValue,\n setValue: setSelectedValue,\n disabled: groupDisabled\n } = useMenuRadioGroupContext();\n const listItem = useCompositeListItem({\n guess: true,\n label\n });\n const id = useBaseUiId(idProp);\n const highlighted = store.useState('isActive', listItem.index);\n const nodeId = store.useState('floatingNodeId');\n const itemProps = store.useState('itemProps');\n const rootDisabled = store.useState('disabled');\n const disabled = disabledProp || groupDisabled || rootDisabled;\n const checked = selectedValue === value;\n const {\n getItemProps,\n itemRef\n } = useMenuItem({\n closeOnClick,\n disabled,\n highlighted,\n id,\n store,\n nativeButton,\n nodeId,\n itemMetadata: REGULAR_ITEM\n });\n const state = React.useMemo(() => ({\n disabled,\n highlighted,\n checked\n }), [disabled, highlighted, checked]);\n function handleClick(event) {\n const details = createChangeEventDetails(REASONS.itemPress, event.nativeEvent, undefined, {\n preventUnmountOnClose: NOOP\n });\n setSelectedValue(value, details);\n }\n const element = useRenderElement('div', componentProps, {\n state,\n stateAttributesMapping: itemMapping,\n props: [itemProps, {\n role: 'menuitemradio',\n 'aria-checked': checked,\n onClick: handleClick\n }, elementProps, getItemProps],\n ref: [itemRef, forwardedRef, listItem.ref]\n });\n return /*#__PURE__*/_jsx(MenuRadioItemContext.Provider, {\n value: state,\n children: element\n });\n});\n\n/**\n * A menu item that works like a radio button in a given group.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nif (process.env.NODE_ENV !== \"production\") MenuRadioItemPlain.displayName = \"MenuRadioItemPlain\";\nexport const MenuRadioItem = /*#__PURE__*/React.forwardRef(function MenuRadioItem(props, forwardedRef) {\n const filterItem = useMenuFilterItem(props, forwardedRef);\n if (!filterItem.visible) {\n return null;\n }\n return /*#__PURE__*/_jsx(MenuRadioItemPlain, {\n ...props,\n ref: filterItem.ref\n });\n});\nif (process.env.NODE_ENV !== \"production\") MenuRadioItem.displayName = \"MenuRadioItem\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenuRadioItemContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") MenuRadioItemContext.displayName = \"MenuRadioItemContext\";\nexport function useMenuRadioItemContext() {\n const context = React.useContext(MenuRadioItemContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenuRadioItemContext is missing. MenuRadioItem parts must be placed within <Menu.RadioItem>.' : _formatErrorMessage(35));\n }\n return context;\n}","import { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nimport * as MenuCheckboxItemDataAttributes from \"../checkbox-item/MenuCheckboxItemDataAttributes.mjs\";\nexport const itemMapping = {\n checked(value) {\n if (value) {\n return {\n [MenuCheckboxItemDataAttributes.checked]: ''\n };\n }\n return {\n [MenuCheckboxItemDataAttributes.unchecked]: ''\n };\n },\n ...transitionStatusMapping\n};","/**\n * Present when the menu checkbox item is checked.\n */\nexport const checked = 'data-checked';\n/**\n * Present when the menu checkbox item is not checked.\n */\nexport const unchecked = 'data-unchecked';\n/**\n * Present when the menu checkbox item is disabled.\n */\nexport const disabled = 'data-disabled';\n/**\n * Present when the menu checkbox item is highlighted.\n */\nexport const highlighted = 'data-highlighted';","'use client';\n\nimport * as React from 'react';\nimport { useMenuRadioItemContext } from \"../radio-item/MenuRadioItemContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { itemMapping } from \"../utils/stateAttributesMapping.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\n\n/**\n * Indicates whether the radio item is selected.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nexport const MenuRadioItemIndicator = /*#__PURE__*/React.forwardRef(function MenuRadioItemIndicator(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n keepMounted = false,\n ...elementProps\n } = componentProps;\n const item = useMenuRadioItemContext();\n const indicatorRef = React.useRef(null);\n const {\n transitionStatus,\n mounted,\n setMounted\n } = useTransitionStatus(item.checked);\n useOpenChangeComplete({\n batch: true,\n enabled: !item.checked,\n open: item.checked,\n ref: indicatorRef,\n onComplete() {\n if (!item.checked) {\n setMounted(false);\n }\n }\n });\n const state = {\n checked: item.checked,\n disabled: item.disabled,\n highlighted: item.highlighted,\n transitionStatus\n };\n const element = useRenderElement('span', componentProps, {\n state,\n stateAttributesMapping: itemMapping,\n ref: [forwardedRef, indicatorRef],\n props: {\n 'aria-hidden': true,\n ...elementProps\n },\n enabled: keepMounted || mounted\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") MenuRadioItemIndicator.displayName = \"MenuRadioItemIndicator\";","'use client';\n\nimport * as React from 'react';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { fastComponent } from '@base-ui/utils/fastHooks';\nimport { FloatingTree, useDismiss, useFloatingNodeId, useFloatingParentNodeId, useListNavigation, useTypeahead, useSyncedFloatingRootContext } from \"../../floating-ui-react/index.mjs\";\nimport { MenuRootContext, useMenuRootContext } from \"./MenuRootContext.mjs\";\nimport { useMenubarContext } from \"../../menubar/MenubarContext.mjs\";\nimport { TYPEAHEAD_RESET_MS } from \"../../internals/constants.mjs\";\nimport { useDirection } from \"../../internals/direction-context/DirectionContext.mjs\";\nimport { useOpenInteractionType } from \"../../utils/useOpenInteractionType.mjs\";\nimport { createChangeEventDetails, createGenericEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { getHighlightReason } from \"../../utils/getHighlightReason.mjs\";\nimport { useContextMenuRootContext } from \"../../context-menu/root/ContextMenuRootContext.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\nimport { useAnimationsFinished } from \"../../internals/useAnimationsFinished.mjs\";\nimport { MenuStore } from \"../store/MenuStore.mjs\";\nimport { attachPreventUnmountOnClose, FOCUSABLE_POPUP_PROPS, createPopupOpenState, PopupHandleAttachment, useImplicitActiveTrigger, useOpenStateTransitions, usePopupInteractionProps } from \"../../utils/popups/index.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { MenuFilterProviderContext } from \"../filter-provider/MenuFilterProviderContext.mjs\";\nimport { isKeyboardClick, isKeyboardOpen } from \"../utils/isKeyboardOpen.mjs\";\n\n/**\n * @internal\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const MenuRootInternal = fastComponent(function MenuRootInternal(props) {\n const {\n children,\n open: openProp,\n onOpenChange,\n onOpenChangeComplete,\n onItemHighlighted: onItemHighlightedProp,\n defaultOpen = false,\n disabled: disabledProp = false,\n modal: modalProp,\n loopFocus = true,\n orientation = 'vertical',\n actionsRef,\n closeParentOnEsc = false,\n handle,\n triggerId: triggerIdProp,\n defaultTriggerId: defaultTriggerIdProp = null,\n highlightItemOnHover = true,\n isSubmenu = false,\n virtualFocus = false,\n virtualFocusRef,\n allowEscape = true,\n resetOnPointerLeave = true\n } = props;\n const contextMenuContext = useContextMenuRootContext(true);\n const parentMenuRootContext = useMenuRootContext(true);\n const menubarContext = useMenubarContext(true);\n\n // Depend on the stable pieces rather than the parent context object, so a parent context\n // invalidation doesn't cascade into every descendant root's context.\n const enclosingMenuStore = parentMenuRootContext?.store;\n const parentVirtualFocus = parentMenuRootContext?.virtualFocus ?? false;\n const parentFromContext = React.useMemo(() => {\n if (isSubmenu && enclosingMenuStore) {\n return {\n type: 'menu',\n store: enclosingMenuStore\n };\n }\n if (menubarContext) {\n return {\n type: 'menubar',\n context: menubarContext\n };\n }\n\n // Ensure this is not a Menu nested inside ContextMenu.Trigger.\n // ContextMenu parentContext is always undefined as ContextMenu.Root is instantiated with\n // <MenuRootContext.Provider value={undefined}>\n if (contextMenuContext && !enclosingMenuStore) {\n return {\n type: 'context-menu',\n context: contextMenuContext\n };\n }\n return {\n type: undefined\n };\n }, [contextMenuContext, enclosingMenuStore, menubarContext, isSubmenu]);\n const rootId = useBaseUiId();\n // React 17 resolves generated ids in an effect, so they must be read live rather than captured\n // in a state initializer.\n const defaultFloatingId = useBaseUiId();\n const [renderedFloatingId, setRenderedFloatingId] = React.useState(undefined);\n\n // A registered `''` means the popup rendered with an explicitly empty id, so nothing may point\n // at the generated fallback.\n const floatingId = (renderedFloatingId ?? defaultFloatingId) || undefined;\n const floatingParentNodeIdFromContext = useFloatingParentNodeId();\n const parentMenuStore = parentFromContext.type === 'menu' ? parentFromContext.store : undefined;\n // An initially open submenu should animate in only when the user watches it appear, i.e. when\n // its subtree mounts because the parent popup is playing its own enter transition. A parent\n // that was `defaultOpen` at page load never passes through `'starting'`, and under a\n // `keepMounted` parent these initializers run at page load while the parent's status is still\n // `undefined` — in both cases the submenu is page-load content that must not animate. Gated on\n // being open at mount so a closed submenu doesn't seed `instantType` it would never clear. Read\n // during the first render only — consumed exclusively by first-render initializers below\n // (`useState` and the store's initial state).\n const animateInitialOpen = (openProp ?? defaultOpen) && parentMenuStore?.state.transitionStatus === 'starting';\n\n // Mirror an instantly-opened parent (e.g. keyboard click) so `[data-instant]` styling\n // suppresses the enter transition on both popups or neither. Captured once —\n // `animateInitialOpen` is only meaningful during the first render.\n const seededInstantType = useRefWithInit(() => animateInitialOpen ? parentMenuStore?.state.instantType : undefined).current;\n const store = useRefWithInit(() => {\n const menuStore = new MenuStore({\n open: defaultOpen,\n openProp,\n activeTriggerId: defaultTriggerIdProp,\n triggerIdProp,\n parent: parentFromContext,\n disabled: disabledProp,\n highlightItemOnHover,\n modal: parentFromContext.type === undefined ? modalProp : undefined,\n rootId,\n instantType: seededInstantType\n }, floatingId, floatingParentNodeIdFromContext != null);\n // A stable ref object, so descendants can read it during render from the first commit.\n menuStore.context.virtualFocusRef = virtualFocusRef;\n return menuStore;\n }).current;\n store.useControlledProp('openProp', openProp);\n store.useControlledProp('triggerIdProp', triggerIdProp);\n store.useContextCallback('onOpenChangeComplete', onOpenChangeComplete);\n const floatingTreeRoot = store.useState('floatingTreeRoot');\n const floatingNodeIdFromContext = useFloatingNodeId(floatingTreeRoot);\n const open = store.useState('open');\n const activeTriggerElement = store.useState('activeTriggerElement');\n const positionerElement = store.useState('positionerElement');\n const hoverEnabled = store.useState('hoverEnabled');\n const disabled = store.useState('disabled');\n const lastOpenChangeReason = store.useState('lastOpenChangeReason');\n const parent = store.useState('parent');\n const activeIndex = store.useState('activeIndex');\n const keyboardOpen = store.useState('keyboardOpen');\n const payload = store.useState('payload');\n const floatingParentNodeId = store.useState('floatingParentNodeId');\n const openEventRef = React.useRef(null);\n const allowOutsidePressDismissalRef = React.useRef(parent.type !== 'context-menu');\n const allowOutsidePressDismissalTimeout = useTimeout();\n const allowTouchToCloseRef = React.useRef(true);\n const allowTouchToCloseTimeout = useTimeout();\n const nested = floatingParentNodeId != null;\n if (process.env.NODE_ENV !== 'production') {\n if (parent.type !== undefined && modalProp !== undefined) {\n console.warn('Base UI: The `modal` prop is not supported on nested menus. It will be ignored.');\n }\n }\n const {\n openMethod,\n triggerProps: interactionTypeProps\n } = useOpenInteractionType(open);\n store.useSyncedValues({\n disabled: disabledProp,\n highlightItemOnHover,\n modal: parent.type === undefined ? modalProp : undefined,\n openMethod,\n rootId\n });\n useImplicitActiveTrigger(store);\n const {\n forceUnmount,\n transitionStatus\n } = useOpenStateTransitions(open, store, () => {\n store.set('allowMouseEnter', false);\n }, animateInitialOpen);\n const runOnceAnimationsFinish = useAnimationsFinished(store.context.popupRef);\n\n // An inherited `instantType` is only for the initial reveal. A later controlled `open` flip\n // bypasses `setOpen`, so nothing would reset it and `[data-instant]` would wrongly suppress\n // every subsequent transition. Clear it once the enter phase settles, unless an interactive\n // open change already replaced it.\n React.useEffect(() => {\n if (seededInstantType === undefined) {\n return undefined;\n }\n const clearSeededInstantType = () => {\n if (store.state.instantType === seededInstantType) {\n store.set('instantType', undefined);\n }\n };\n\n // A controlled close can interrupt the initial enter before the animations-finished cleanup\n // below fires (its abort cancels the pending callback, and a closed popup schedules no new\n // one). Nothing is left to protect once closing starts — the exit's suppression was already\n // decided at its trigger commit — so clear now or the next reopen renders a stale\n // `[data-instant]`.\n if (!open) {\n clearSeededInstantType();\n return undefined;\n }\n if (transitionStatus !== undefined) {\n return undefined;\n }\n\n // With no popup element (e.g. its subtree is suspended or waiting on data), there is no\n // enter transition to protect, and `useAnimationsFinished` would return without invoking the\n // callback — a ref assignment alone would never rerun this effect, leaving the seed stuck.\n // Clear immediately: a popup that appears after the reveal settles is page-load-like content.\n if (store.context.popupRef.current == null) {\n clearSeededInstantType();\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(clearSeededInstantType, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [seededInstantType, open, transitionStatus, runOnceAnimationsFinish, store]);\n useIsoLayoutEffect(() => {\n if (contextMenuContext && !parentMenuRootContext) {\n // This is a context menu root.\n // It doesn't support detached triggers yet, so we have to sync the parent context manually.\n store.update({\n parent: {\n type: 'context-menu',\n context: contextMenuContext\n },\n floatingNodeId: floatingNodeIdFromContext,\n floatingParentNodeId: floatingParentNodeIdFromContext\n });\n } else if (parentMenuRootContext || !store.select('activeTriggerElement')) {\n // Without an active trigger, the root must supply its own tree IDs.\n // Read the store here: a trigger can register after render, before this effect.\n store.update({\n floatingNodeId: floatingNodeIdFromContext,\n floatingParentNodeId: floatingParentNodeIdFromContext\n });\n }\n }, [contextMenuContext, parentMenuRootContext, floatingNodeIdFromContext, floatingParentNodeIdFromContext, activeTriggerElement, store]);\n React.useEffect(() => {\n if (!open) {\n openEventRef.current = null;\n }\n if (parent.type !== 'context-menu') {\n return;\n }\n if (!open) {\n allowOutsidePressDismissalTimeout.clear();\n allowOutsidePressDismissalRef.current = false;\n return;\n }\n\n // With `mousedown` outside press events and long press touch input, there\n // needs to be a grace period after opening to ensure the dismissal event\n // doesn't fire immediately after open.\n allowOutsidePressDismissalTimeout.start(500, () => {\n allowOutsidePressDismissalRef.current = true;\n });\n }, [allowOutsidePressDismissalTimeout, open, parent.type]);\n useIsoLayoutEffect(() => {\n if (!open && !hoverEnabled) {\n store.set('hoverEnabled', true);\n }\n }, [open, hoverEnabled, store]);\n const setOpen = useStableCallback((nextOpen, eventDetails) => {\n const reason = eventDetails.reason;\n\n // Read the store directly, as relayed tree events and stale hover timers can request\n // a close after the state changed but before this component re-rendered.\n if (!nextOpen && !store.select('open')) {\n return;\n }\n if (open === nextOpen && eventDetails.trigger === activeTriggerElement && lastOpenChangeReason === reason) {\n return;\n }\n const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);\n\n // Do not immediately reset the activeTriggerId to allow\n // exit animations to play and focus to be returned correctly.\n if (!nextOpen && eventDetails.trigger == null) {\n eventDetails.trigger = activeTriggerElement ?? undefined;\n }\n onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const nativeEvent = eventDetails.event;\n if (nextOpen === false && reason !== REASONS.itemPress && nativeEvent?.type === 'click' && nativeEvent.pointerType === 'touch' && !allowTouchToCloseRef.current) {\n return;\n }\n\n // Prevent the menu from closing on mobile devices that have a delayed click event.\n // In some cases the menu, when tapped, will fire the focus event first and then the click event.\n // Without this guard, the menu will close immediately after opening.\n if (nextOpen && reason === REASONS.triggerFocus) {\n allowTouchToCloseRef.current = false;\n allowTouchToCloseTimeout.start(300, () => {\n allowTouchToCloseRef.current = true;\n });\n } else {\n allowTouchToCloseRef.current = true;\n allowTouchToCloseTimeout.clear();\n }\n const isDismissClose = !nextOpen && (reason === REASONS.escapeKey || reason == null);\n openEventRef.current = eventDetails.event;\n const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());\n popupOpenState.openChangeReason = reason;\n popupOpenState.keyboardOpen = nextOpen && isKeyboardOpen(reason, nativeEvent);\n if (parent.type === 'menubar' && (reason === REASONS.triggerFocus || reason === REASONS.focusOut || reason === REASONS.triggerHover || reason === REASONS.listNavigation || reason === REASONS.siblingOpen)) {\n popupOpenState.instantType = 'group';\n } else if (isKeyboardClick(reason, nativeEvent)) {\n popupOpenState.instantType = 'click';\n } else if (isDismissClose) {\n popupOpenState.instantType = 'dismiss';\n } else {\n popupOpenState.instantType = undefined;\n }\n\n // `instantType` must land in the same update that mounts the popup subtree: in React 17\n // legacy mode this `update` can flush synchronously, and a separate `instantType` write\n // after it would come too late for an initially open submenu seeding its own store from\n // this one during that flush.\n store.update(popupOpenState);\n });\n const floatingRootContext = useSyncedFloatingRootContext({\n popupStore: store,\n floatingRootContext: store.state.floatingRootContext,\n floatingId,\n nested: floatingParentNodeIdFromContext != null,\n onOpenChange: setOpen\n });\n const floatingEvents = floatingRootContext.context.events;\n\n // Registered in a layout effect (not a passive one) so `setOpen` emits from imperative\n // `MenuHandle.open()` calls made in the same commit this root mounts — e.g. from another layout\n // effect during a route-transition handoff — are received instead of being silently dropped.\n useIsoLayoutEffect(() => {\n const handleSetOpenEvent = ({\n open: nextOpen,\n eventDetails\n }) => setOpen(nextOpen, eventDetails);\n floatingEvents.on('setOpen', handleSetOpenEvent);\n return () => {\n floatingEvents?.off('setOpen', handleSetOpenEvent);\n };\n }, [floatingEvents, setOpen]);\n useIsoLayoutEffect(() => store.subscribeToParentMenu(), [store]);\n const handleImperativeClose = React.useCallback(() => {\n store.setOpen(false, createChangeEventDetails(REASONS.imperativeAction));\n }, [store]);\n React.useImperativeHandle(actionsRef, () => ({\n unmount: forceUnmount,\n close: handleImperativeClose\n }), [forceUnmount, handleImperativeClose]);\n let ctx;\n if (parent.type === 'context-menu') {\n ctx = parent.context;\n }\n React.useImperativeHandle(ctx?.positionerRef, () => positionerElement, [positionerElement]);\n React.useImperativeHandle(ctx?.actionsRef, () => ({\n setOpen\n }), [setOpen]);\n const dismiss = useDismiss(floatingRootContext, {\n enabled: !disabled,\n bubbles: {\n escapeKey: closeParentOnEsc && parent.type === 'menu'\n },\n outsidePress() {\n if (parent.type !== 'context-menu' || openEventRef.current?.type === 'contextmenu') {\n return true;\n }\n return allowOutsidePressDismissalRef.current;\n },\n externalTree: nested ? floatingTreeRoot : undefined\n });\n const direction = useDirection();\n const listNavigation = useListNavigation(floatingRootContext, {\n enabled: !disabled,\n listRef: store.context.itemDomElements,\n activeIndex,\n virtual: virtualFocus,\n nested: parent.type === 'menubar' || !virtualFocus && parent.type !== undefined,\n parentOrientation: parent.type === 'menubar' ? parent.context.orientation : undefined,\n loopFocus,\n // Filtered menus keep DOM focus on the input, while keyboard and virtual opens initially\n // highlight an item as ordinary menus do. The input stays in the arrow-key loop unless the\n // filter highlights automatically.\n focusItemOnOpen: virtualFocus ? keyboardOpen : undefined,\n allowEscape: virtualFocus && loopFocus && allowEscape,\n orientation,\n // A virtual-focus list can navigate on either axis, but its trigger always opens on the\n // vertical one.\n triggerOrientation: virtualFocus ? 'vertical' : orientation,\n rtl: direction === 'rtl',\n disabledIndices: EMPTY_ARRAY,\n onNavigate(nextActiveIndex, event) {\n store.setActiveIndex(nextActiveIndex, getHighlightReason(event), event?.nativeEvent);\n },\n // A virtual-focus submenu's keyboard opening is orchestrated by its navigation wrapper based\n // on both menus' orientations; the generic arrow-key opening would also react to the parent's\n // forwarded cross-axis keys while closed.\n openOnArrowKeyDown: parent.type !== 'context-menu' && !(virtualFocus && isSubmenu),\n externalTree: !virtualFocus && nested ? floatingTreeRoot : undefined,\n nestedReturnFocusRef: parentMenuStore?.context.virtualFocusRef,\n focusItemOnHover: highlightItemOnHover,\n resetOnPointerLeave\n });\n const onTyping = React.useCallback(nextTyping => {\n store.context.typingRef.current = nextTyping;\n }, [store]);\n const typeahead = useTypeahead(floatingRootContext, {\n // Under virtual focus the input owns typing, so typeahead would race the filter query.\n enabled: !disabled && !virtualFocus,\n listRef: store.context.itemLabels,\n elementsRef: store.context.itemDomElements,\n activeIndex,\n resetMs: TYPEAHEAD_RESET_MS,\n onMatch: (index, event) => {\n if (open && index !== activeIndex) {\n store.setActiveIndex(index, REASONS.keyboard, event.nativeEvent);\n }\n },\n onTyping\n });\n const onItemHighlighted = useStableCallback(onItemHighlightedProp);\n const lastHighlightIndexRef = React.useRef(-1);\n\n // Runs when `activeIndex` commits and again when the item registry settles, since an index\n // can come to point at a different element while its value stays the same.\n const syncHighlightedItem = useStableCallback(() => {\n const index = store.state.activeIndex;\n const item = index === null ? undefined : store.context.itemDomElements.current[index] ?? undefined;\n // An item removed in this commit stays registered until the list flushes, which calls back\n // here with the settled registry.\n if (item?.isConnected === false) {\n return;\n }\n const itemIndex = item === undefined ? -1 : index;\n if (lastHighlightIndexRef.current === itemIndex && store.context.reportedItem === item) {\n return;\n }\n lastHighlightIndexRef.current = itemIndex;\n store.context.reportedItem = item;\n // Only virtual focus renders from the highlighted element. Publishing it in every menu would\n // notify each item's subscription on every highlight change.\n if (virtualFocus) {\n store.set('highlightedItem', item);\n }\n // The tag left by the write that produced this committed value.\n const {\n highlightReason,\n highlightEvent\n } = store.context;\n store.context.highlightReason = REASONS.none;\n store.context.highlightEvent = undefined;\n if (!onItemHighlightedProp) {\n return;\n }\n onItemHighlighted(item, createGenericEventDetails(highlightReason, highlightEvent, {\n label: item === undefined ? undefined : store.context.itemLabels.current[itemIndex] ?? undefined\n }));\n });\n useIsoLayoutEffect(() => {\n syncHighlightedItem();\n }, [activeIndex, syncHighlightedItem]);\n\n // Under virtual focus an element inside the popup holds real focus, so it takes the\n // navigation's reference props (`aria-activedescendant` and the key handling) and the trigger\n // keeps only the props that open the menu.\n const openTriggerProps = React.useMemo(() => {\n if (!virtualFocus) {\n return listNavigation.reference;\n }\n if (!listNavigation.trigger) {\n return EMPTY_OBJECT;\n }\n // Focusing the trigger while the menu is open must not seed the virtual highlight. This can\n // happen before a pointer press closes the menu in Safari.\n const {\n onFocus,\n ...rest\n } = listNavigation.trigger;\n return rest;\n }, [virtualFocus, listNavigation.reference, listNavigation.trigger]);\n store.useSyncedValue('inputProps', virtualFocus ? listNavigation.reference ?? EMPTY_OBJECT : EMPTY_OBJECT);\n const activeTriggerProps = React.useMemo(() => {\n const mergedProps = mergeProps(typeahead.reference, openTriggerProps, dismiss.reference, {\n onMouseMove() {\n store.set('allowMouseEnter', true);\n }\n }, interactionTypeProps);\n mergedProps['aria-haspopup'] = 'menu';\n mergedProps['aria-expanded'] = open;\n return mergedProps;\n }, [store, typeahead.reference, openTriggerProps, dismiss.reference, interactionTypeProps, open]);\n const inactiveTriggerProps = React.useMemo(() => {\n const mergedProps = mergeProps(listNavigation.trigger, dismiss.trigger, interactionTypeProps);\n mergedProps['aria-haspopup'] = 'menu';\n mergedProps['aria-expanded'] = false;\n return mergedProps;\n }, [listNavigation.trigger, dismiss.trigger, interactionTypeProps]);\n\n // The initial render has no store subscribers yet. Seed these props before triggers render so\n // the synchronization effect below doesn't make every trigger render twice in the first commit.\n useRefWithInit(() => {\n store.update({\n inactiveTriggerProps\n });\n return null;\n });\n const popupProps = React.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, {\n onMouseMove() {\n store.set('allowMouseEnter', true);\n if (parent.type === 'menu') {\n store.set('hoverEnabled', false);\n }\n },\n onClick() {\n if (store.select('hoverEnabled')) {\n store.set('hoverEnabled', false);\n }\n },\n onKeyDown(event) {\n // The Menubar's CompositeRoot captures keyboard events via\n // event delegation. This works well when Menu.Root is nested inside Menubar,\n // but with detached triggers we need to manually forward the event to the CompositeRoot.\n const relay = store.select('keyboardEventRelay');\n if (relay && !event.isPropagationStopped()) {\n relay(event);\n }\n }\n }, typeahead.floating, listNavigation.floating, dismiss.floating), [parent.type, store, typeahead.floating, listNavigation.floating, dismiss.floating]);\n const itemProps = listNavigation.item ?? EMPTY_OBJECT;\n usePopupInteractionProps(store, {\n floatingRootContext,\n activeTriggerProps,\n inactiveTriggerProps,\n popupProps,\n itemProps\n });\n const context = React.useMemo(() => ({\n store,\n parent: parentFromContext,\n orientation,\n loopFocus,\n allowEscape,\n defaultFloatingId,\n setRenderedFloatingId,\n virtualFocus,\n parentVirtualFocus,\n syncHighlightedItem\n }), [store, parentFromContext, orientation, loopFocus, allowEscape, defaultFloatingId, virtualFocus, parentVirtualFocus, syncHighlightedItem]);\n const renderedChildren = typeof children === 'function' ? children({\n payload\n }) : children;\n let content = /*#__PURE__*/_jsxs(MenuRootContext.Provider, {\n value: context,\n children: [handle && /*#__PURE__*/_jsx(PopupHandleAttachment, {\n handle: handle,\n store: store\n }), renderedChildren]\n });\n if (parent.type === undefined || parent.type === 'context-menu') {\n // set up a FloatingTree to provide the context to nested menus\n content = /*#__PURE__*/_jsx(FloatingTree, {\n externalTree: floatingTreeRoot,\n children: content\n });\n }\n return content;\n});\n\n/**\n * Groups all parts of the menu.\n * Doesn't render its own HTML element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nif (process.env.NODE_ENV !== \"production\") MenuRootInternal.displayName = \"MenuRootInternal\";\nexport function MenuRoot(props) {\n const filterProvider = React.useContext(MenuFilterProviderContext);\n if (filterProvider === null) {\n return /*#__PURE__*/_jsx(MenuRootInternal, {\n ...props\n });\n }\n const FilterRoot = filterProvider.Root;\n return (\n /*#__PURE__*/\n // The root consumes its provider so a plain submenu inside doesn't inherit it.\n _jsx(MenuFilterProviderContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(FilterRoot, {\n ...filterProvider.options,\n ...props\n })\n })\n );\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { EMPTY_ARRAY } from '@base-ui/utils/empty';\nimport { isElementVisible, isListIndexDisabled } from \"../utils/composite.mjs\";\nimport { contains } from \"../utils/element.mjs\";\nimport { stopEvent } from \"../utils/event.mjs\";\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nexport function useTypeahead(store, props) {\n const {\n listRef,\n elementsRef,\n activeIndex,\n onMatch: onMatchProp,\n disabledIndices,\n onTyping: onTypingProp,\n enabled = true,\n resetMs = 750,\n selectedIndex = null\n } = props;\n const onTyping = useStableCallback(onTypingProp);\n const open = store.useState('open');\n const timeout = useTimeout();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = React.useRef(null);\n const onKeyDown = useStableCallback(event => {\n function getElement(index) {\n return elementsRef?.current[index];\n }\n function isItemAvailable(index) {\n const element = getElement(index);\n if (element && !isElementVisible(element) || element?.matches(':disabled')) {\n return false;\n }\n // Visibility and native disabled state are handled above; pass an empty\n // element list so `isListIndexDisabled` resolves only the explicit\n // `disabledIndices` (array/predicate) and skips its own fallbacks.\n // Consumers that don't pass `disabledIndices` keep matching every visible\n // item except native disabled elements provided through `elementsRef`.\n return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index, disabledIndices);\n }\n function getMatchingIndex(list, string, startIndex = 0) {\n if (list.length === 0) {\n return -1;\n }\n const normalizedStartIndex = (startIndex % list.length + list.length) % list.length;\n const lowerString = string.toLowerCase();\n for (let offset = 0; offset < list.length; offset += 1) {\n const index = (normalizedStartIndex + offset) % list.length;\n const text = list[index];\n if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index)) {\n continue;\n }\n return index;\n }\n return -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && event.key === ' ') {\n // Space should continue the in-progress typeahead session.\n stopEvent(event);\n onTyping?.(true);\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== ' ') {\n onTyping?.(false);\n }\n }\n if (listContent == null ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n onTyping?.(true);\n }\n\n // Capture whether this is a new typing session before mutating the string.\n const isNewSession = stringRef.current === '';\n if (isNewSession) {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too. Unavailable items are skipped while matching, so\n // they must be ignored here as well — otherwise a hidden or disabled double-letter\n // label would block rapid cycling through the available items.\n const allowRapidSuccessionOfFirstLetter = listContent.every((text, index) => text && isItemAvailable(index) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n timeout.start(resetMs, () => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n onTyping?.(false);\n });\n\n // Compute the starting index for this search.\n // If this is a new typing session (string is empty), base it on the current\n // selection/active item; otherwise continue from the last matched index.\n const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;\n const startIndex = (prevIndex ?? 0) + 1;\n const index = getMatchingIndex(listContent, stringRef.current, startIndex);\n if (index !== -1) {\n onMatchProp?.(index, event);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n onTyping?.(false);\n }\n });\n const onBlur = useStableCallback(event => {\n const next = event.relatedTarget;\n const currentDomReferenceElement = store.select('domReferenceElement');\n const currentFloatingElement = store.select('floatingElement');\n const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);\n\n // Keep the session if focus moves within the composite (reference <-> floating).\n if (withinComposite) {\n return;\n }\n\n // End the current typing session when focus leaves the composite entirely.\n timeout.clear();\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n onTyping?.(false);\n });\n useIsoLayoutEffect(() => {\n if (!open && selectedIndex !== null) {\n return;\n }\n timeout.clear();\n matchIndexRef.current = null;\n if (stringRef.current !== '') {\n stringRef.current = '';\n onTyping?.(false);\n }\n }, [open, selectedIndex, timeout, onTyping]);\n const sharedProps = React.useMemo(() => ({\n onKeyDown,\n onBlur\n }), [onKeyDown, onBlur]);\n return React.useMemo(() => enabled ? {\n reference: sharedProps,\n floating: sharedProps\n } : {}, [enabled, sharedProps]);\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const MenubarContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") MenubarContext.displayName = \"MenubarContext\";\nexport function useMenubarContext(optional) {\n const context = React.useContext(MenubarContext);\n if (context === null && !optional) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: MenubarContext is missing. Menubar parts must be placed within <Menubar>.' : _formatErrorMessage(5));\n }\n return context;\n}","import * as React from 'react';\nimport { ReactStore } from '@base-ui/utils/store';\nimport { EMPTY_OBJECT, NOOP } from '@base-ui/utils/empty';\nimport { platform } from '@base-ui/utils/platform';\nimport { FloatingTreeStore } from \"../../floating-ui-react/components/FloatingTreeStore.mjs\";\nimport { NullStore } from \"../../utils/NullStore.mjs\";\nimport { createInitialPopupStoreState, popupStoreSelectors, PopupTriggerMap } from \"../../utils/popups/index.mjs\";\nconst selectors = {\n ...popupStoreSelectors,\n disabled: state => state.parent.type === 'menubar' ? state.parent.context.disabled || state.disabled : state.disabled,\n modal: state => (state.parent.type === undefined || state.parent.type === 'context-menu') && (state.modal ?? true),\n openMethod: state => state.openMethod,\n keyboardOpen: state => state.keyboardOpen,\n allowMouseEnter: state => state.allowMouseEnter,\n highlightItemOnHover: state => state.highlightItemOnHover,\n parent: state => state.parent,\n rootId: state => {\n if (state.parent.type === 'menu') {\n return state.parent.store.select('rootId');\n }\n return state.parent.type !== undefined ? state.parent.context.rootId : state.rootId;\n },\n activeIndex: state => state.activeIndex,\n listElement: state => state.listElement,\n /** The trigger's `aria-controls`: the list when one holds the `menu` role, else the popup. */\n triggerControlsId: (state, triggerId) => {\n const popupId = popupStoreSelectors.triggerPopupId(state, triggerId);\n return popupId ? state.listElement?.id || popupId : undefined;\n },\n filterTriggerProps: state => state.filterTriggerProps,\n inputProps: state => state.inputProps,\n // `aria-selected` is invalid on `menuitem`, but Safari VoiceOver needs it for arrow-key\n // navigation. Limit it to WebKit while the input has focus so normal VoiceOver navigation\n // does not encounter the invalid attribute.\n webkitAriaSelected: (state, highlighted) => platform.engine.webkit && state.inputFocused && highlighted ? true : undefined,\n highlightedItemId: state => state.highlightedItem?.id || undefined,\n isActive: (state, itemIndex) => state.activeIndex === itemIndex,\n hoverEnabled: state => state.hoverEnabled,\n // `trigger-change` describes a popup moving between triggers, which only has\n // meaning while it is open. Dropping it once closed keeps a late or stale\n // restoration from marking a closing popup instant and skipping its exit\n // transition, including on close paths that never reach `setOpen` — a\n // controlled consumer committing `open={false}` goes straight through the prop.\n instantType: state => state.instantType === 'trigger-change' && !popupStoreSelectors.open(state) ? undefined : state.instantType,\n lastOpenChangeReason: state => state.openChangeReason,\n floatingTreeRoot: state => {\n if (state.parent.type === 'menu') {\n return state.parent.store.select('floatingTreeRoot');\n }\n return state.floatingTreeRoot;\n },\n floatingNodeId: state => state.floatingNodeId,\n floatingParentNodeId: state => state.floatingParentNodeId,\n itemProps: state => state.itemProps,\n closeDelay: state => state.closeDelay,\n adaptiveOrigin: state => state.adaptiveOrigin,\n keyboardEventRelay: state => {\n if (state.keyboardEventRelay) {\n return state.keyboardEventRelay;\n }\n if (state.parent.type === 'menu') {\n return state.parent.store.select('keyboardEventRelay');\n }\n return undefined;\n }\n};\n\n/**\n * The store view that detached handle-backed triggers read from. Both the real `MenuStore` and the\n * inert fallback store satisfy it, so a trigger can read from whichever store the handle currently\n * exposes. Narrowed to the members a trigger actually uses — the trigger-data members plus `setOpen`\n * (called by the focus guards) — so the exposed surface can't bypass the open-change pipeline; on\n * the detached fallback store every one of these mutations is a no-op.\n */\n\nexport class MenuStore extends ReactStore {\n constructor(initialState, floatingId, nested = false) {\n const triggerElements = new PopupTriggerMap();\n const state = createInitialState(triggerElements, floatingId, nested, initialState);\n super(state, createInitialContext(triggerElements), selectors);\n\n // Share the mouse-up trigger ref of the parent menu, if any. This observes the store's own\n // state, so the subscription lives exactly as long as the store and needs no cleanup.\n void this.observe('parent', parent => {\n if (parent.type === 'menu') {\n this.context.allowMouseUpTriggerRef = parent.store.context.allowMouseUpTriggerRef;\n } else if (parent.type !== undefined) {\n this.context.allowMouseUpTriggerRef = parent.context.allowMouseUpTriggerRef;\n }\n });\n }\n\n /**\n * Propagates changes of the parent menu's shared tree state to this store's subscribers.\n * The owning `Menu.Root` calls it from an effect so the parent store subscription is released\n * when the submenu unmounts.\n * @returns A function that removes the parent store subscription.\n */\n subscribeToParentMenu() {\n const parent = this.state.parent;\n if (parent.type !== 'menu') {\n return undefined;\n }\n let rootId = parent.store.select('rootId');\n let floatingTreeRoot = parent.store.select('floatingTreeRoot');\n let keyboardEventRelay = parent.store.select('keyboardEventRelay');\n return parent.store.subscribe(() => {\n const nextRootId = parent.store.select('rootId');\n const nextFloatingTreeRoot = parent.store.select('floatingTreeRoot');\n const nextKeyboardEventRelay = parent.store.select('keyboardEventRelay');\n if (rootId === nextRootId && floatingTreeRoot === nextFloatingTreeRoot && keyboardEventRelay === nextKeyboardEventRelay) {\n return;\n }\n rootId = nextRootId;\n floatingTreeRoot = nextFloatingTreeRoot;\n keyboardEventRelay = nextKeyboardEventRelay;\n this.notifyAll();\n });\n }\n setOpen(open, eventDetails) {\n this.state.floatingRootContext.context.events.emit('setOpen', {\n open,\n eventDetails\n });\n }\n setActiveIndex(activeIndex, reason, event) {\n // Only a write that changes the index is reported. Tagging a no-op, or a write back to the\n // reported item before the change commits, would let a later registry-driven re-emit report\n // this reason instead of `none`.\n if (this.state.activeIndex !== activeIndex) {\n const item = activeIndex === null ? undefined : this.context.itemDomElements.current[activeIndex];\n const isWriteBack = item === this.context.reportedItem;\n this.context.highlightReason = isWriteBack ? 'none' : reason;\n this.context.highlightEvent = isWriteBack ? undefined : event;\n }\n this.set('activeIndex', activeIndex);\n }\n highlightItem(element, reason, event) {\n const index = this.context.itemDomElements.current.indexOf(element);\n if (index > -1) {\n this.setActiveIndex(index, reason, event);\n }\n }\n}\n\n/**\n * Creates the inert fallback store used by detached handle-backed triggers while no `Menu.Root` is\n * attached. It preserves a menu-specific trigger registry in context so detached triggers can\n * register before migrating to the live root store. `setOpen` is a no-op (matching the inert\n * reads/writes of `NullStore`), so a trigger can hand the store to focus-guard helpers that expect\n * `setOpen` without it ever taking effect while detached.\n */\nexport function createNullMenuStore() {\n const triggerElements = new PopupTriggerMap();\n const store = new NullStore(Object.freeze(createInitialState(triggerElements)), Object.freeze(createInitialContext(triggerElements)), selectors);\n return Object.assign(store, {\n setOpen: NOOP\n });\n}\nfunction createInitialContext(triggerElements) {\n return {\n positionerRef: /*#__PURE__*/React.createRef(),\n popupRef: /*#__PURE__*/React.createRef(),\n typingRef: {\n current: false\n },\n itemDomElements: {\n current: []\n },\n itemLabels: {\n current: []\n },\n highlightReason: 'none',\n highlightEvent: undefined,\n reportedItem: undefined,\n allowMouseUpTriggerRef: {\n current: false\n },\n virtualFocusRef: undefined,\n triggerFocusTargetRef: /*#__PURE__*/React.createRef(),\n beforeTriggerFocusGuardRef: /*#__PURE__*/React.createRef(),\n beforeContentFocusGuardRef: /*#__PURE__*/React.createRef(),\n onOpenChangeComplete: undefined,\n triggerElements\n };\n}\nfunction createInitialState(triggerElements, floatingId, nested = false, initialState) {\n return {\n ...createInitialPopupStoreState(triggerElements, floatingId, nested),\n disabled: false,\n modal: true,\n openMethod: null,\n keyboardOpen: false,\n allowMouseEnter: false,\n highlightItemOnHover: true,\n parent: {\n type: undefined\n },\n rootId: undefined,\n activeIndex: null,\n listElement: null,\n filterTriggerProps: EMPTY_OBJECT,\n inputProps: EMPTY_OBJECT,\n inputFocused: false,\n highlightedItem: undefined,\n hoverEnabled: true,\n instantType: undefined,\n openChangeReason: null,\n floatingTreeRoot: new FloatingTreeStore(),\n floatingNodeId: undefined,\n floatingParentNodeId: null,\n itemProps: EMPTY_OBJECT,\n keyboardEventRelay: undefined,\n closeDelay: 0,\n adaptiveOrigin: undefined,\n ...initialState\n };\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * What `Menu.FilterProvider` hands to the root directly inside it: the filterable root\n * implementations (the provider is their only importer) and the filter props.\n */\n\n/**\n * Non-null only directly below a provider. The root that consumes it resets it, so a plain\n * `Menu.SubmenuRoot` inside a filterable menu stays plain.\n */\nexport const MenuFilterProviderContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") MenuFilterProviderContext.displayName = \"MenuFilterProviderContext\";","import { REASONS } from \"../../internals/reasons.mjs\";\n\n/**\n * Keyboard and assistive-technology activations produce `detail === 0` clicks; mouse-gesture\n * clicks (including the synthesized drag-release click from `useMenuItemCommonProps`) carry\n * `detail >= 1`.\n */\nexport function isKeyboardClick(reason, event) {\n return (reason === REASONS.triggerPress || reason === REASONS.itemPress) && event?.detail === 0;\n}\n\n/**\n * Whether a menu opens from the keyboard, which lands focus in the popup. Arrow keys report\n * `list-navigation`; Enter and Space dispatch a click carrying no pointer detail.\n */\nexport function isKeyboardOpen(reason, event) {\n return reason === REASONS.listNavigation || isKeyboardClick(reason, event);\n}","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { fastComponentRef } from '@base-ui/utils/fastHooks';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { safePolygon, useClick, useFloatingTree, useFocus, useHoverReferenceInteraction, useFloatingNodeId, useFloatingParentNodeId } from \"../../floating-ui-react/index.mjs\";\nimport { FloatingTreeStore } from \"../../floating-ui-react/components/FloatingTreeStore.mjs\";\nimport { contains } from \"../../floating-ui-react/utils.mjs\";\nimport { useMenuRootContext } from \"../root/MenuRootContext.mjs\";\nimport { pressableTriggerOpenStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useButton } from \"../../internals/use-button/useButton.mjs\";\nimport { isMouseWithinBounds } from \"../../utils/getPseudoElementBounds.mjs\";\nimport { CompositeItem } from \"../../internals/composite/item/CompositeItem.mjs\";\nimport { useCompositeRootContext } from \"../../internals/composite/root/CompositeRootContext.mjs\";\nimport { findRootOwnerId } from \"../utils/findRootOwnerId.mjs\";\nimport { usePopupHandleStore, useTriggerDataForwarding } from \"../../utils/popups/index.mjs\";\nimport { useTriggerFocusGuards } from \"../../utils/popups/useTriggerFocusGuards.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useMixedToggleClickHandler } from \"../../utils/useMixedToggleClickHandler.mjs\";\nimport { useMenubarContext } from \"../../menubar/MenubarContext.mjs\";\nimport { PATIENT_CLICK_THRESHOLD } from \"../../internals/constants.mjs\";\nimport { FocusGuard } from \"../../utils/FocusGuard.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\n\n/**\n * A button that opens the menu.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Menu](https://base-ui.com/react/components/menu)\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const MenuTrigger = fastComponentRef(function MenuTrigger(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled: disabledProp = false,\n nativeButton = true,\n id: idProp,\n openOnHover: openOnHoverProp,\n delay = 100,\n closeDelay = 0,\n handle,\n payload,\n ...elementProps\n } = componentProps;\n const rootContext = useMenuRootContext(true);\n const handleStore = usePopupHandleStore(handle);\n const store = handleStore ?? rootContext?.store;\n if (!store) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Menu.Trigger> must be either used within a <Menu.Root> component or provided with a handle.' : _formatErrorMessage(85));\n }\n const thisTriggerId = useBaseUiId(idProp);\n const isTriggerActive = store.useState('isTriggerActive', thisTriggerId);\n const floatingRootContext = store.useState('floatingRootContext');\n const isOpenedByThisTrigger = store.useState('isOpenedByTrigger', thisTriggerId);\n const controlsId = store.useState('triggerControlsId', thisTriggerId);\n const triggerElementRef = React.useRef(null);\n const parent = useMenuParent();\n const compositeRootContext = useCompositeRootContext(true);\n const floatingTreeRootFromContext = useFloatingTree();\n const floatingTreeRoot = React.useMemo(() => {\n return floatingTreeRootFromContext ?? new FloatingTreeStore();\n }, [floatingTreeRootFromContext]);\n const floatingNodeId = useFloatingNodeId(floatingTreeRoot);\n const floatingParentNodeId = useFloatingParentNodeId();\n const {\n registerTrigger,\n isMountedByThisTrigger\n } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {\n payload,\n closeDelay,\n parent,\n floatingTreeRoot,\n floatingNodeId,\n floatingParentNodeId,\n keyboardEventRelay: compositeRootContext?.relayKeyboardEvent\n });\n const isInMenubar = parent.type === 'menubar';\n const rootDisabled = store.useState('disabled');\n const disabled = disabledProp || rootDisabled || isInMenubar && parent.context.disabled;\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n native: nativeButton\n });\n React.useEffect(() => {\n if (!isOpenedByThisTrigger && parent.type === undefined) {\n store.context.allowMouseUpTriggerRef.current = false;\n }\n }, [store, isOpenedByThisTrigger, parent.type]);\n const triggerRef = React.useRef(null);\n const allowMouseUpTriggerTimeout = useTimeout();\n const handleDocumentMouseUp = useStableCallback(mouseEvent => {\n if (!triggerRef.current) {\n return;\n }\n allowMouseUpTriggerTimeout.clear();\n store.context.allowMouseUpTriggerRef.current = false;\n const mouseUpTarget = mouseEvent.target;\n if (contains(triggerRef.current, mouseUpTarget) || contains(store.select('positionerElement'), mouseUpTarget) || mouseUpTarget === triggerRef.current) {\n return;\n }\n if (mouseUpTarget != null && findRootOwnerId(mouseUpTarget) === store.select('rootId')) {\n return;\n }\n if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {\n return;\n }\n floatingTreeRoot.events.emit('close', {\n domEvent: mouseEvent,\n reason: REASONS.cancelOpen\n });\n });\n React.useEffect(() => {\n const doc = ownerDocument(triggerRef.current);\n if (isOpenedByThisTrigger && store.select('lastOpenChangeReason') === REASONS.triggerHover) {\n doc.addEventListener('mouseup', handleDocumentMouseUp, {\n once: true\n });\n return () => {\n doc.removeEventListener('mouseup', handleDocumentMouseUp);\n };\n }\n return undefined;\n }, [isOpenedByThisTrigger, handleDocumentMouseUp, store]);\n const parentMenubarHasSubmenuOpen = isInMenubar && parent.context.hasSubmenuOpen;\n const openOnHover = openOnHoverProp ?? parentMenubarHasSubmenuOpen;\n const hoverProps = useHoverReferenceInteraction(floatingRootContext, {\n enabled: openOnHover && !disabled && (!isInMenubar || parentMenubarHasSubmenuOpen && !isMountedByThisTrigger),\n handleClose: safePolygon({\n blockPointerEvents: !isInMenubar\n }),\n mouseOnly: true,\n move: false,\n restMs: parent.type === undefined ? delay : undefined,\n delay: {\n close: closeDelay\n },\n triggerElementRef,\n externalTree: floatingTreeRoot,\n isActiveTrigger: isTriggerActive,\n isClosing: () => store.select('transitionStatus') === 'ending'\n });\n\n // Whether to ignore clicks to open the menu.\n // `lastOpenChangeReason` doesn't need to be reactive here, as we need to run this\n // only when `isOpenedByThisTrigger` changes.\n const stickIfOpen = useStickIfOpen(isOpenedByThisTrigger, store.select('lastOpenChangeReason'));\n const click = useClick(floatingRootContext, {\n enabled: !disabled,\n event: isOpenedByThisTrigger && isInMenubar ? 'click' : 'mousedown',\n toggle: true,\n ignoreMouse: false,\n stickIfOpen: parent.type === undefined ? stickIfOpen : false\n });\n const focus = useFocus(floatingRootContext, {\n enabled: !disabled && parentMenubarHasSubmenuOpen\n });\n const mixedToggleHandlers = useMixedToggleClickHandler({\n open: isOpenedByThisTrigger,\n enabled: isInMenubar,\n mouseDownAction: 'open'\n });\n const localInteractionProps = React.useMemo(() => mergeProps(focus.reference, click.reference), [focus.reference, click.reference]);\n const rootTriggerProps = store.useState('triggerProps', isMountedByThisTrigger);\n // A filterable menu keeps real focus inside its popup and publishes what its trigger needs.\n const filterTriggerProps = store.useState('filterTriggerProps');\n const {\n handlePreFocusGuardFocus,\n handleFocusTargetFocus\n } = useTriggerFocusGuards(store, triggerElementRef);\n const state = {\n disabled,\n open: isOpenedByThisTrigger\n };\n const ref = [triggerRef, forwardedRef, buttonRef, registerTrigger, triggerElementRef];\n const props = [localInteractionProps, hoverProps ?? EMPTY_OBJECT, rootTriggerProps, {\n 'aria-haspopup': 'menu',\n 'aria-controls': controlsId,\n id: thisTriggerId,\n onMouseDown: event => {\n if (store.select('open')) {\n return;\n }\n\n // mousedown -> mouseup on menu item should not trigger it within 200ms.\n allowMouseUpTriggerTimeout.start(200, () => {\n store.context.allowMouseUpTriggerRef.current = true;\n });\n const doc = ownerDocument(event.currentTarget);\n doc.addEventListener('mouseup', handleDocumentMouseUp, {\n once: true\n });\n }\n }, filterTriggerProps, isInMenubar ? {\n role: 'menuitem'\n } : {}, mixedToggleHandlers, elementProps, getButtonProps];\n const element = useRenderElement('button', componentProps, {\n enabled: !isInMenubar,\n stateAttributesMapping: pressableTriggerOpenStateMapping,\n state,\n ref,\n props\n });\n if (isInMenubar) {\n return /*#__PURE__*/_jsx(CompositeItem, {\n tag: \"button\",\n render: render,\n className: className,\n style: style,\n state: state,\n refs: ref,\n props: props,\n stateAttributesMapping: pressableTriggerOpenStateMapping\n });\n }\n\n // A fragment with key is required to ensure that the `element` is mounted to the same DOM node\n // regardless of whether the focus guards are rendered or not.\n\n if (isOpenedByThisTrigger) {\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(FocusGuard, {\n ref: store.context.beforeTriggerFocusGuardRef,\n onFocus: handlePreFocusGuardFocus\n }, `${thisTriggerId}-pre-focus-guard`), /*#__PURE__*/_jsx(React.Fragment, {\n children: element\n }, thisTriggerId), /*#__PURE__*/_jsx(FocusGuard, {\n ref: store.context.triggerFocusTargetRef,\n onFocus: handleFocusTargetFocus\n }, `${thisTriggerId}-post-focus-guard`)]\n });\n }\n return /*#__PURE__*/_jsx(React.Fragment, {\n children: element\n }, thisTriggerId);\n});\nif (process.env.NODE_ENV !== \"production\") MenuTrigger.displayName = \"MenuTrigger\";\n/**\n * Determines whether to ignore clicks after a hover-open.\n */\nfunction useStickIfOpen(open, openReason) {\n const stickIfOpenTimeout = useTimeout();\n const [stickIfOpen, setStickIfOpen] = React.useState(false);\n useIsoLayoutEffect(() => {\n if (open && openReason === REASONS.triggerHover) {\n // Only allow \"patient\" clicks to close the menu if it's open.\n // If they clicked within 500ms of the menu opening, keep it open.\n setStickIfOpen(true);\n stickIfOpenTimeout.start(PATIENT_CLICK_THRESHOLD, () => {\n setStickIfOpen(false);\n });\n } else if (!open) {\n stickIfOpenTimeout.clear();\n setStickIfOpen(false);\n }\n }, [open, openReason, stickIfOpenTimeout]);\n return stickIfOpen;\n}\nfunction useMenuParent() {\n const menubarContext = useMenubarContext(true);\n const parent = React.useMemo(() => {\n if (menubarContext) {\n return {\n type: 'menubar',\n context: menubarContext\n };\n }\n return {\n type: undefined\n };\n }, [menubarContext]);\n return parent;\n}","import { ownerWindow } from '@base-ui/utils/owner';\nimport { platform } from '@base-ui/utils/platform';\n// Tolerance around the element bounds so a fast click whose pointer drifts slightly\n// during press-release isn't mistaken for a drag-off-and-release cancellation.\n// Matches typical OS/browser drag-initiation thresholds.\nconst BOUNDARY_OFFSET = 5;\n\n/**\n * Determines if a mouse event occurred within the bounds of an element\n * (including its pseudo-elements), with a small tolerance for pointer drift.\n */\nexport function isMouseWithinBounds(event, element) {\n const bounds = getPseudoElementBounds(element);\n return event.clientX >= bounds.left - BOUNDARY_OFFSET && event.clientX <= bounds.right + BOUNDARY_OFFSET && event.clientY >= bounds.top - BOUNDARY_OFFSET && event.clientY <= bounds.bottom + BOUNDARY_OFFSET;\n}\nexport function getPseudoElementBounds(element) {\n const elementRect = element.getBoundingClientRect();\n const win = ownerWindow(element);\n\n // Avoid \"Not implemented: window.getComputedStyle(elt, pseudoElt)\" in jsdom.\n if (platform.env.jsdom) {\n return elementRect;\n }\n const beforeStyles = win.getComputedStyle(element, '::before');\n const afterStyles = win.getComputedStyle(element, '::after');\n const hasPseudoElements = beforeStyles.content !== 'none' || afterStyles.content !== 'none';\n if (!hasPseudoElements) {\n return elementRect;\n }\n\n // Get dimensions of pseudo-elements\n const beforeWidth = parseFloat(beforeStyles.width) || 0;\n const beforeHeight = parseFloat(beforeStyles.height) || 0;\n const afterWidth = parseFloat(afterStyles.width) || 0;\n const afterHeight = parseFloat(afterStyles.height) || 0;\n\n // Calculate max dimensions including pseudo-elements\n const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);\n const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);\n\n // Calculate the differences to extend the bounds\n const widthDiff = totalWidth - elementRect.width;\n const heightDiff = totalHeight - elementRect.height;\n return {\n left: elementRect.left - widthDiff / 2,\n right: elementRect.right + widthDiff / 2,\n top: elementRect.top - heightDiff / 2,\n bottom: elementRect.bottom + heightDiff / 2\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useCompositeRootContext } from \"../root/CompositeRootContext.mjs\";\nimport { useCompositeListItem } from \"../list/useCompositeListItem.mjs\";\nexport function useCompositeItem(params = {}) {\n const {\n highlightItemOnHover,\n highlightedIndex,\n onHighlightedIndexChange\n } = useCompositeRootContext();\n const {\n ref,\n index\n } = useCompositeListItem(params);\n const isHighlighted = highlightedIndex === index;\n const itemRef = React.useRef(null);\n const mergedRef = useMergedRefs(ref, itemRef);\n const compositeProps = {\n tabIndex: isHighlighted ? 0 : -1,\n onFocus() {\n onHighlightedIndexChange(index);\n },\n onMouseMove() {\n const item = itemRef.current;\n if (!highlightItemOnHover || !item) {\n return;\n }\n const disabled = item.hasAttribute('disabled') || item.ariaDisabled === 'true';\n if (!isHighlighted && !disabled) {\n item.focus();\n }\n }\n };\n return {\n compositeProps,\n compositeRef: mergedRef,\n index\n };\n}","'use client';\n\nimport { EMPTY_OBJECT, EMPTY_ARRAY } from '@base-ui/utils/empty';\nimport { useRenderElement } from \"../../useRenderElement.mjs\";\nimport { useCompositeItem } from \"./useCompositeItem.mjs\";\nexport function CompositeItem(componentProps) {\n const {\n render,\n className,\n style,\n state = EMPTY_OBJECT,\n props = EMPTY_ARRAY,\n refs = EMPTY_ARRAY,\n metadata,\n stateAttributesMapping,\n tag = 'div',\n ...elementProps\n } = componentProps;\n const {\n compositeProps,\n compositeRef\n } = useCompositeItem({\n metadata\n });\n return useRenderElement(tag, componentProps, {\n state,\n // The composite ref attaches first so an outer item wins when nested items share a DOM node.\n ref: [compositeRef, ...refs],\n props: [compositeProps, ...props, elementProps],\n stateAttributesMapping\n });\n}","import { getParentNode, isHTMLElement, isLastTraversableNode } from '@floating-ui/utils/dom';\nexport function findRootOwnerId(node) {\n if (isHTMLElement(node) && node.hasAttribute('data-rootownerid')) {\n return node.getAttribute('data-rootownerid');\n }\n if (isLastTraversableNode(node)) {\n return undefined;\n }\n return findRootOwnerId(getParentNode(node));\n}","'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { getTabbableNearElement, isOutsideEvent } from \"../../floating-ui-react/utils.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\n\n/**\n * Minimal store interface required by the focus guard hook.\n * Both PopoverStore and MenuStore satisfy this interface.\n */\n\n/**\n * Provides focus guard handlers for popup triggers (Popover, Menu).\n *\n * When the popup is open, invisible focus guard elements are placed before and after\n * the trigger. These handlers close the popup and move focus to the appropriate\n * tabbable element when the guards receive focus (i.e. when the user tabs out).\n */\nexport function useTriggerFocusGuards(store, triggerElementRef) {\n function closeAndFocus(event, direction, positionerElement) {\n const guard = event.currentTarget;\n ReactDOM.flushSync(() => {\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event.nativeEvent, guard));\n });\n\n // The close callback may change the tab order. Resolve it after the flush, using\n // the trigger as the anchor if the guard unmounted, even when its tabIndex is -1.\n getTabbableNearElement(guard.isConnected ? guard : triggerElementRef.current, direction, positionerElement)?.focus();\n }\n function handlePreFocusGuardFocus(event) {\n closeAndFocus(event, -1, store.select('positionerElement'));\n }\n function handleFocusTargetFocus(event) {\n const positionerElement = store.select('positionerElement');\n if (positionerElement && isOutsideEvent(event, positionerElement)) {\n store.context.beforeContentFocusGuardRef.current?.focus();\n } else {\n closeAndFocus(event, 1, positionerElement);\n }\n }\n return {\n handlePreFocusGuardFocus,\n handleFocusTargetFocus\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\n/**\n * Returns `click` and `mousedown` handlers that fix the behavior of triggers of popups that are toggled by different events.\n * For example, a button that opens a popup on mousedown and closes it on click.\n * This hook prevents the popup from closing immediately after the mouse button is released.\n */\nexport function useMixedToggleClickHandler(params) {\n const {\n enabled = true,\n mouseDownAction,\n open\n } = params;\n const ignoreClickRef = React.useRef(false);\n return React.useMemo(() => {\n if (!enabled) {\n return EMPTY_OBJECT;\n }\n return {\n onMouseDown: event => {\n if (mouseDownAction === 'open' && !open || mouseDownAction === 'close' && open) {\n ignoreClickRef.current = true;\n ownerDocument(event.currentTarget).addEventListener('click', () => {\n ignoreClickRef.current = false;\n }, {\n once: true\n });\n }\n },\n onClick: event => {\n if (ignoreClickRef.current) {\n ignoreClickRef.current = false;\n event.preventBaseUIHandler();\n }\n }\n };\n }, [enabled, mouseDownAction, open]);\n}","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../internals/useRenderElement.mjs\";\n\n/**\n * A separator element accessible to screen readers.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Separator](https://base-ui.com/react/components/separator)\n */\nexport const Separator = /*#__PURE__*/React.forwardRef(function SeparatorComponent(componentProps, forwardedRef) {\n const {\n className,\n render,\n orientation = 'horizontal',\n style,\n ...elementProps\n } = componentProps;\n const state = {\n orientation\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n role: 'separator',\n 'aria-orientation': orientation\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Separator\";","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n var _config_compoundVariants;\n if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n const { variants, defaultVariants } = config;\n const getVariantClassNames = Object.keys(variants).map((variant)=>{\n const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n if (variantProp === null) return null;\n const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n return variants[variant][variantKey];\n });\n const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n let [key, value] = param;\n if (value === undefined) {\n return acc;\n }\n acc[key] = value;\n return acc;\n }, {});\n const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n return Object.entries(compoundVariantOptions).every((param)=>{\n let [key, value] = param;\n return Array.isArray(value) ? value.includes({\n ...defaultVariants,\n ...propsWithoutUndefined\n }[key]) : ({\n ...defaultVariants,\n ...propsWithoutUndefined\n })[key] === value;\n }) ? [\n ...acc,\n cvClass,\n cvClassName\n ] : acc;\n }, []);\n return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n };\n\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * Concatenates two arrays faster than the array spread operator.\n */\nexport const concatArrays = <T, U>(\n array1: readonly T[],\n array2: readonly U[],\n): readonly (T | U)[] => {\n // Pre-allocate for better V8 optimization\n const combinedArray: (T | U)[] = new Array(array1.length + array2.length)\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i]!\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i]!\n }\n return combinedArray\n}\n","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/class-names.ts","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\nimport { concatArrays } from './utils'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[] | null\n classGroupId: AnyClassGroupIds | undefined // Always define optional props for consistent shape\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\n// Factory function ensures consistent object shapes\nconst createClassValidatorObject = (\n classGroupId: AnyClassGroupIds,\n validator: ClassValidator,\n): ClassValidatorObject => ({\n classGroupId,\n validator,\n})\n\n// Factory ensures consistent ClassPartObject shape\nconst createClassPartObject = (\n nextPart: Map<string, ClassPartObject> = new Map(),\n validators: ClassValidatorObject[] | null = null,\n classGroupId?: AnyClassGroupIds,\n): ClassPartObject => ({\n nextPart,\n validators,\n classGroupId,\n})\n\nconst CLASS_PART_SEPARATOR = '-'\n\nconst EMPTY_CONFLICTS: readonly AnyClassGroupIds[] = []\n// I use two dots here because one dot is used as prefix for class groups in plugins\nconst ARBITRARY_PROPERTY_PREFIX = 'arbitrary..'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n if (className.startsWith('[') && className.endsWith(']')) {\n return getGroupIdForArbitraryProperty(className)\n }\n\n const classParts = className.split(CLASS_PART_SEPARATOR)\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.\n const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0\n return getGroupRecursive(classParts, startIndex, classMap)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ): readonly AnyClassGroupIds[] => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId]\n const baseConflicts = conflictingClassGroups[classGroupId]\n\n if (modifierConflicts) {\n if (baseConflicts) {\n // Merge base conflicts with modifier conflicts\n return concatArrays(baseConflicts, modifierConflicts)\n }\n // Only modifier conflicts\n return modifierConflicts\n }\n // Fall back to without postfix if no modifier conflicts\n return baseConflicts || EMPTY_CONFLICTS\n }\n\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n startIndex: number,\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n const classPathsLength = classParts.length - startIndex\n if (classPathsLength === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[startIndex]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject)\n if (result) return result\n }\n\n const validators = classPartObject.validators\n if (validators === null) {\n return undefined\n }\n\n // Build classRest string efficiently by joining from startIndex onwards\n const classRest =\n startIndex === 0\n ? classParts.join(CLASS_PART_SEPARATOR)\n : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR)\n const validatorsLength = validators.length\n\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i]!\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId\n }\n }\n\n return undefined\n}\n\n/**\n * Get the class group ID for an arbitrary property.\n *\n * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.\n */\nconst getGroupIdForArbitraryProperty = (className: string): AnyClassGroupIds | undefined =>\n className.slice(1, -1).indexOf(':') === -1\n ? undefined\n : (() => {\n const content = className.slice(1, -1)\n const colonIndex = content.indexOf(':')\n const property = content.slice(0, colonIndex)\n return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined\n })()\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, classGroups } = config\n return processClassGroups(classGroups, theme)\n}\n\n// Split into separate functions to maintain monomorphic call sites\nconst processClassGroups = (\n classGroups: Record<AnyClassGroupIds, ClassGroup<AnyThemeGroupIds>>,\n theme: ThemeObject<AnyThemeGroupIds>,\n): ClassPartObject => {\n const classMap = createClassPartObject()\n\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId]!\n processClassesRecursively(group, classMap, classGroupId, theme)\n }\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n const len = classGroup.length\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i]!\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme)\n }\n}\n\n// Split into separate functions for each type to maintain monomorphic call sites\nconst processClassDefinition = (\n classDefinition: ClassGroup<AnyThemeGroupIds>[number],\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n if (typeof classDefinition === 'string') {\n processStringDefinition(classDefinition, classPartObject, classGroupId)\n return\n }\n\n if (typeof classDefinition === 'function') {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme)\n return\n }\n\n processObjectDefinition(\n classDefinition as Record<string, ClassGroup<AnyThemeGroupIds>>,\n classPartObject,\n classGroupId,\n theme,\n )\n}\n\nconst processStringDefinition = (\n classDefinition: string,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n) => {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n}\n\nconst processFunctionDefinition = (\n classDefinition: Function,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme)\n return\n }\n\n if (classPartObject.validators === null) {\n classPartObject.validators = []\n }\n classPartObject.validators.push(\n createClassValidatorObject(classGroupId, classDefinition as ClassValidator),\n )\n}\n\nconst processObjectDefinition = (\n classDefinition: Record<string, ClassGroup<AnyThemeGroupIds>>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n const entries = Object.entries(classDefinition)\n const len = entries.length\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i]!\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme)\n }\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string): ClassPartObject => {\n let current = classPartObject\n const parts = path.split(CLASS_PART_SEPARATOR)\n const len = parts.length\n\n for (let i = 0; i < len; i++) {\n const part = parts[i]!\n\n let next = current.nextPart.get(part)\n if (!next) {\n next = createClassPartObject()\n current.nextPart.set(part, next)\n }\n current = next\n }\n\n return current\n}\n\n// Type guard maintains monomorphic check\nconst isThemeGetter = (func: Function): func is ThemeGetter =>\n 'isThemeGetter' in func && (func as ThemeGetter).isThemeGetter === true\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key extends string, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache implementation using plain objects for simplicity\nexport const createLruCache = <Key extends string, Value>(\n maxCacheSize: number,\n): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache: Record<Key, Value> = Object.create(null)\n let previousCache: Record<Key, Value> = Object.create(null)\n\n const update = (key: Key, value: Value) => {\n cache[key] = value\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = Object.create(null)\n }\n }\n\n return {\n get(key) {\n let value = cache[key]\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache[key]) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig, ParsedClassName } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nconst MODIFIER_SEPARATOR = ':'\nconst EMPTY_MODIFIERS: string[] = []\n\n// Pre-allocated result object shape for consistency\nconst createResultObject = (\n modifiers: string[],\n hasImportantModifier: boolean,\n baseClassName: string,\n maybePostfixModifierPosition?: number,\n isExternal?: boolean,\n): ParsedClassName => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal,\n})\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { prefix, experimentalParseClassName } = config\n\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = (className: string): ParsedClassName => {\n // Use simple array with push for better performance\n const modifiers: string[] = []\n\n let bracketDepth = 0\n let parenDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n const len = className.length\n for (let index = 0; index < len; index++) {\n const currentCharacter = className[index]!\n\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + 1\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') bracketDepth++\n else if (currentCharacter === ']') bracketDepth--\n else if (currentCharacter === '(') parenDepth++\n else if (currentCharacter === ')') parenDepth--\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.slice(modifierStart)\n\n // Inline important modifier check\n let baseClassName = baseClassNameWithImportantModifier\n let hasImportantModifier = false\n\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1)\n hasImportantModifier = true\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n ) {\n baseClassName = baseClassNameWithImportantModifier.slice(1)\n hasImportantModifier = true\n }\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return createResultObject(\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n )\n }\n\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR\n const parseClassNameOriginal = parseClassName\n parseClassName = (className: string) =>\n className.startsWith(fullPrefix)\n ? parseClassNameOriginal(className.slice(fullPrefix.length))\n : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true)\n }\n\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName\n parseClassName = (className: string) =>\n experimentalParseClassName({ className, parseClassName: parseClassNameOriginal })\n }\n\n return parseClassName\n}\n","import { AnyConfig } from './types'\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const createSortModifiers = (config: AnyConfig) => {\n // Pre-compute weights for all known modifiers for O(1) comparison\n const modifierWeights = new Map<string, number>()\n\n // Assign weights to sensitive modifiers (highest priority, but preserve order)\n config.orderSensitiveModifiers.forEach((mod, index) => {\n modifierWeights.set(mod, 1000000 + index) // High weights for sensitive mods\n })\n\n return (modifiers: readonly string[]): string[] => {\n const result: string[] = []\n let currentSegment: string[] = []\n\n // Process modifiers in one pass\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i]!\n\n // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)\n const isArbitrary = modifier[0] === '['\n const isOrderSensitive = modifierWeights.has(modifier)\n\n if (isArbitrary || isOrderSensitive) {\n // Sort and flush current segment alphabetically\n if (currentSegment.length > 0) {\n currentSegment.sort()\n result.push(...currentSegment)\n currentSegment = []\n }\n result.push(modifier)\n } else {\n // Regular modifier - add to current segment for batch sorting\n currentSegment.push(modifier)\n }\n }\n\n // Sort and add any remaining segment items\n if (currentSegment.length > 0) {\n currentSegment.sort()\n result.push(...currentSegment)\n }\n\n return result\n }\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { createSortModifiers } from './sort-modifiers'\nimport { AnyClassGroupIds, AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n postfixLookupClassGroupIds: createPostfixLookupClassGroupIds(config),\n ...createClassGroupUtils(config),\n})\n\nconst createPostfixLookupClassGroupIds = (config: AnyConfig) => {\n const lookup: Partial<Record<AnyClassGroupIds, true>> = Object.create(null)\n const classGroupIds = config.postfixLookupClassGroups\n\n if (classGroupIds) {\n for (let i = 0; i < classGroupIds.length; i++) {\n lookup[classGroupIds[i]!] = true\n }\n }\n\n return lookup\n}\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds,\n sortModifiers,\n postfixLookupClassGroupIds,\n } = configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n } = parseClassName(originalClassName)\n\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n let hasPostfixModifier = !!maybePostfixModifierPosition\n let classGroupId: ReturnType<typeof getClassGroupId>\n\n if (hasPostfixModifier) {\n const baseClassNameWithoutPostfix = baseClassName.substring(\n 0,\n maybePostfixModifierPosition,\n )\n classGroupId = getClassGroupId(baseClassNameWithoutPostfix)\n\n const classGroupIdWithPostfix =\n classGroupId && postfixLookupClassGroupIds[classGroupId]\n ? getClassGroupId(baseClassName)\n : undefined\n if (classGroupIdWithPostfix && classGroupIdWithPostfix !== classGroupId) {\n classGroupId = classGroupIdWithPostfix\n hasPostfixModifier = false\n }\n } else {\n classGroupId = getClassGroupId(baseClassName)\n }\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n // Fast path: skip sorting for empty or single modifier\n const variantModifier =\n modifiers.length === 0\n ? ''\n : modifiers.length === 1\n ? modifiers[0]!\n : sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.indexOf(classId) > -1) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = readonly ClassNameValue[]\n\nexport const twJoin = (...classLists: ClassNameValue[]): string => {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < classLists.length) {\n if ((argument = classLists[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string): string => {\n // Fast path for strings\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createTailwindMerge = (\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge => {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall: (classList: string) => string\n\n const initTailwindMerge = (classList: string) => {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n const tailwindMerge = (classList: string) => {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n functionToCall = initTailwindMerge\n\n return (...args: ClassNameValue[]) => functionToCall(twJoin(...args))\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nconst fallbackThemeArr: ThemeObject<DefaultThemeGroupIds>[DefaultThemeGroupIds] = []\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(\n key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>,\n): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || fallbackThemeArr\n\n themeGetter.isThemeGetter = true as const\n themeGetter.themeKey = key\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i\nconst fractionRegex = /^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isFraction = (value: string) => fractionRegex.test(value)\n\nexport const isNumber = (value: string) => !!value && !Number.isNaN(Number(value))\n\nexport const isInteger = (value: string) => !!value && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nexport const isAny = () => true\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n\nexport const isAnyNonArbitrary = (value: string) =>\n !isArbitraryValue(value) && !isArbitraryVariable(value)\n\nexport const isNamedContainerQuery = (value: string) =>\n value.startsWith('@container') &&\n ((value[10] === '/' && value[11] !== undefined) ||\n (value[11] === 's' && value[16] !== undefined && value.startsWith('-size/', 10)) ||\n (value[11] === 'n' && value[18] !== undefined && value.startsWith('-normal/', 10)))\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, isLabelSize, isNever)\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, isLabelLength, isLengthOnly)\n\nexport const isArbitraryNumber = (value: string) =>\n getIsArbitraryValue(value, isLabelNumber, isNumber)\n\nexport const isArbitraryWeight = (value: string) => getIsArbitraryValue(value, isLabelWeight, isAny)\n\nexport const isArbitraryFamilyName = (value: string) =>\n getIsArbitraryValue(value, isLabelFamilyName, isNever)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, isLabelPosition, isNever)\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, isLabelImage, isImage)\n\nexport const isArbitraryShadow = (value: string) =>\n getIsArbitraryValue(value, isLabelShadow, isShadow)\n\nexport const isArbitraryVariable = (value: string) => arbitraryVariableRegex.test(value)\n\nexport const isArbitraryVariableLength = (value: string) =>\n getIsArbitraryVariable(value, isLabelLength)\n\nexport const isArbitraryVariableFamilyName = (value: string) =>\n getIsArbitraryVariable(value, isLabelFamilyName)\n\nexport const isArbitraryVariablePosition = (value: string) =>\n getIsArbitraryVariable(value, isLabelPosition)\n\nexport const isArbitraryVariableSize = (value: string) => getIsArbitraryVariable(value, isLabelSize)\n\nexport const isArbitraryVariableImage = (value: string) =>\n getIsArbitraryVariable(value, isLabelImage)\n\nexport const isArbitraryVariableShadow = (value: string) =>\n getIsArbitraryVariable(value, isLabelShadow, true)\n\nexport const isArbitraryVariableWeight = (value: string) =>\n getIsArbitraryVariable(value, isLabelWeight, true)\n\n// Helpers\n\nconst getIsArbitraryValue = (\n value: string,\n testLabel: (label: string) => boolean,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst getIsArbitraryVariable = (\n value: string,\n testLabel: (label: string) => boolean,\n shouldMatchNoLabel = false,\n) => {\n const result = arbitraryVariableRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n return shouldMatchNoLabel\n }\n\n return false\n}\n\n// Labels\n\nconst isLabelPosition = (label: string) => label === 'position' || label === 'percentage'\n\nconst isLabelImage = (label: string) => label === 'image' || label === 'url'\n\nconst isLabelSize = (label: string) => label === 'length' || label === 'size' || label === 'bg-size'\n\nconst isLabelLength = (label: string) => label === 'length'\n\nconst isLabelNumber = (label: string) => label === 'number'\n\nconst isLabelFamilyName = (label: string) => label === 'family-name'\n\nconst isLabelWeight = (label: string) => label === 'number' || label === 'weight'\n\nconst isLabelShadow = (label: string) => label === 'shadow'\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isAnyNonArbitrary,\n isArbitraryFamilyName,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isArbitraryVariableWeight,\n isArbitraryWeight,\n isFraction,\n isInteger,\n isNamedContainerQuery,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n\n const themeColor = fromTheme('color')\n const themeFont = fromTheme('font')\n const themeText = fromTheme('text')\n const themeFontWeight = fromTheme('font-weight')\n const themeTracking = fromTheme('tracking')\n const themeLeading = fromTheme('leading')\n const themeBreakpoint = fromTheme('breakpoint')\n const themeContainer = fromTheme('container')\n const themeSpacing = fromTheme('spacing')\n const themeRadius = fromTheme('radius')\n const themeShadow = fromTheme('shadow')\n const themeInsetShadow = fromTheme('inset-shadow')\n const themeTextShadow = fromTheme('text-shadow')\n const themeDropShadow = fromTheme('drop-shadow')\n const themeBlur = fromTheme('blur')\n const themePerspective = fromTheme('perspective')\n const themeAspect = fromTheme('aspect')\n const themeEase = fromTheme('ease')\n const themeAnimate = fromTheme('animate')\n\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n\n const scaleBreak = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const scalePosition = () =>\n [\n 'center',\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top',\n 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top',\n 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom',\n 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom',\n ] as const\n const scalePositionWithArbitrary = () =>\n [...scalePosition(), isArbitraryVariable, isArbitraryValue] as const\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const scaleOverscroll = () => ['auto', 'contain', 'none'] as const\n const scaleUnambiguousSpacing = () =>\n [isArbitraryVariable, isArbitraryValue, themeSpacing] as const\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()] as const\n const scaleGridTemplateColsRows = () =>\n [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridColRowStartAndEnd = () =>\n [\n 'auto',\n { span: ['full', isInteger, isArbitraryVariable, isArbitraryValue] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleGridColRowStartOrEnd = () =>\n [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridAutoColsRows = () =>\n ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue] as const\n const scaleAlignPrimaryAxis = () =>\n [\n 'start',\n 'end',\n 'center',\n 'between',\n 'around',\n 'evenly',\n 'stretch',\n 'baseline',\n 'center-safe',\n 'end-safe',\n ] as const\n const scaleAlignSecondaryAxis = () =>\n ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'] as const\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()] as const\n const scaleSizing = () =>\n [\n isFraction,\n 'auto',\n 'full',\n 'dvw',\n 'dvh',\n 'lvw',\n 'lvh',\n 'svw',\n 'svh',\n 'min',\n 'max',\n 'fit',\n ...scaleUnambiguousSpacing(),\n ] as const\n const scaleSizingInline = () =>\n [\n themeContainer,\n isFraction,\n 'screen',\n 'full',\n 'dvw',\n 'lvw',\n 'svw',\n 'min',\n 'max',\n 'fit',\n ...scaleUnambiguousSpacing(),\n ] as const\n const scaleSizingBlock = () =>\n [\n isFraction,\n 'screen',\n 'full',\n 'lh',\n 'dvh',\n 'lvh',\n 'svh',\n 'min',\n 'max',\n 'fit',\n ...scaleUnambiguousSpacing(),\n ] as const\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue] as const\n const scaleBgPosition = () =>\n [\n ...scalePosition(),\n isArbitraryVariablePosition,\n isArbitraryPosition,\n { position: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleBgRepeat = () => ['no-repeat', { repeat: ['', 'x', 'y', 'space', 'round'] }] as const\n const scaleBgSize = () =>\n [\n 'auto',\n 'cover',\n 'contain',\n isArbitraryVariableSize,\n isArbitrarySize,\n { size: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleGradientStopPosition = () =>\n [isPercent, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleRadius = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n 'full',\n themeRadius,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleBorderWidth = () =>\n ['', isNumber, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'] as const\n const scaleBlendMode = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const scaleMaskImagePosition = () =>\n [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition] as const\n const scaleBlur = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeBlur,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()] as const\n\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n ],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest'],\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [\n {\n aspect: [\n 'auto',\n 'square',\n isFraction,\n isArbitraryValue,\n isArbitraryVariable,\n themeAspect,\n ],\n },\n ],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Container Type\n * @see https://tailwindcss.com/docs/responsive-design#container-queries\n */\n 'container-type': [\n { '@container': ['', 'normal', 'size', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Container Name\n * @see https://tailwindcss.com/docs/responsive-design#named-containers\n */\n 'container-named': [isNamedContainerQuery],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [\n {\n columns: [\n isNumber,\n 'auto',\n isArbitraryValue,\n isArbitraryVariable,\n themeContainer,\n ],\n },\n ],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': scaleBreak() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': scaleBreak() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: scalePositionWithArbitrary() }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: scaleOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': scaleOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': scaleOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: scaleOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': scaleOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': scaleOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Inset\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: scaleInset() }],\n /**\n * Inset Inline\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': scaleInset() }],\n /**\n * Inset Block\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': scaleInset() }],\n /**\n * Inset Inline Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-s` in next major release\n */\n start: [\n {\n 'inset-s': scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-s-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n start: scaleInset(),\n },\n ],\n /**\n * Inset Inline End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n * @todo class group will be renamed to `inset-e` in next major release\n */\n end: [\n {\n 'inset-e': scaleInset(),\n /**\n * @deprecated since Tailwind CSS v4.2.0 in favor of `inset-e-*` utilities.\n * @see https://github.com/tailwindlabs/tailwindcss/pull/19613\n */\n end: scaleInset(),\n },\n ],\n /**\n * Inset Block Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-bs': [{ 'inset-bs': scaleInset() }],\n /**\n * Inset Block End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-be': [{ 'inset-be': scaleInset() }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: scaleInset() }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: scaleInset() }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: scaleInset() }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: scaleInset() }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [\n {\n basis: [\n isFraction,\n 'full',\n 'auto',\n themeContainer,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['nowrap', 'wrap', 'wrap-reverse'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [\n {\n order: [\n isInteger,\n 'first',\n 'last',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': scaleGridTemplateColsRows() }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{ col: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': scaleGridTemplateColsRows() }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{ row: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': scaleGridAutoColsRows() }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': scaleGridAutoColsRows() }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: scaleUnambiguousSpacing() }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': scaleUnambiguousSpacing() }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': scaleUnambiguousSpacing() }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: [...scaleAlignPrimaryAxis(), 'normal'] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': [...scaleAlignSecondaryAxis(), 'normal'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...scaleAlignPrimaryAxis()] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: [...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [\n { self: ['auto', ...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] },\n ],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': scaleAlignPrimaryAxis() }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': [...scaleAlignSecondaryAxis(), 'baseline'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: scaleUnambiguousSpacing() }],\n /**\n * Padding Inline\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: scaleUnambiguousSpacing() }],\n /**\n * Padding Block\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: scaleUnambiguousSpacing() }],\n /**\n * Padding Inline Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: scaleUnambiguousSpacing() }],\n /**\n * Padding Inline End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: scaleUnambiguousSpacing() }],\n /**\n * Padding Block Start\n * @see https://tailwindcss.com/docs/padding\n */\n pbs: [{ pbs: scaleUnambiguousSpacing() }],\n /**\n * Padding Block End\n * @see https://tailwindcss.com/docs/padding\n */\n pbe: [{ pbe: scaleUnambiguousSpacing() }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: scaleUnambiguousSpacing() }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: scaleUnambiguousSpacing() }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: scaleUnambiguousSpacing() }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: scaleUnambiguousSpacing() }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: scaleMargin() }],\n /**\n * Margin Inline\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: scaleMargin() }],\n /**\n * Margin Block\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: scaleMargin() }],\n /**\n * Margin Inline Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: scaleMargin() }],\n /**\n * Margin Inline End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: scaleMargin() }],\n /**\n * Margin Block Start\n * @see https://tailwindcss.com/docs/margin\n */\n mbs: [{ mbs: scaleMargin() }],\n /**\n * Margin Block End\n * @see https://tailwindcss.com/docs/margin\n */\n mbe: [{ mbe: scaleMargin() }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: scaleMargin() }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: scaleMargin() }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: scaleMargin() }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: scaleMargin() }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{ 'space-x': scaleUnambiguousSpacing() }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{ 'space-y': scaleUnambiguousSpacing() }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n\n // --------------\n // --- Sizing ---\n // --------------\n\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{ size: scaleSizing() }],\n /**\n * Inline Size\n * @see https://tailwindcss.com/docs/inline-size\n */\n 'inline-size': [{ inline: ['auto', ...scaleSizingInline()] }],\n /**\n * Min-Inline Size\n * @see https://tailwindcss.com/docs/min-inline-size\n */\n 'min-inline-size': [{ 'min-inline': ['auto', ...scaleSizingInline()] }],\n /**\n * Max-Inline Size\n * @see https://tailwindcss.com/docs/max-inline-size\n */\n 'max-inline-size': [{ 'max-inline': ['none', ...scaleSizingInline()] }],\n /**\n * Block Size\n * @see https://tailwindcss.com/docs/block-size\n */\n 'block-size': [{ block: ['auto', ...scaleSizingBlock()] }],\n /**\n * Min-Block Size\n * @see https://tailwindcss.com/docs/min-block-size\n */\n 'min-block-size': [{ 'min-block': ['auto', ...scaleSizingBlock()] }],\n /**\n * Max-Block Size\n * @see https://tailwindcss.com/docs/max-block-size\n */\n 'max-block-size': [{ 'max-block': ['none', ...scaleSizingBlock()] }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{ w: [themeContainer, 'screen', ...scaleSizing()] }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [\n {\n 'min-w': [\n themeContainer,\n 'screen',\n /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none',\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n themeContainer,\n 'screen',\n 'none',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n { screen: [themeBreakpoint] },\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{ h: ['screen', 'lh', ...scaleSizing()] }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{ 'min-h': ['screen', 'lh', 'none', ...scaleSizing()] }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{ 'max-h': ['screen', 'lh', 'none', ...scaleSizing()] }],\n\n // ------------------\n // --- Typography ---\n // ------------------\n\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [\n { text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [\n {\n font: [themeFontWeight, isArbitraryVariableWeight, isArbitraryWeight],\n },\n ],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [\n {\n 'font-stretch': [\n 'ultra-condensed',\n 'extra-condensed',\n 'condensed',\n 'semi-condensed',\n 'normal',\n 'semi-expanded',\n 'expanded',\n 'extra-expanded',\n 'ultra-expanded',\n isPercent,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [\n { font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, themeFont] },\n ],\n /**\n * Font Feature Settings\n * @see https://tailwindcss.com/docs/font-feature-settings\n */\n 'font-features': [{ 'font-features': [isArbitraryValue] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [\n { 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber] },\n ],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n 'none',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryVariable, isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [\n { list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: scaleColor() }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: scaleColor() }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...scaleLineStyle(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n {\n decoration: [\n isNumber,\n 'from-font',\n 'auto',\n isArbitraryVariable,\n isArbitraryLength,\n ],\n },\n ],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: scaleColor() }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [\n { 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: scaleUnambiguousSpacing() }],\n /**\n * Tab Size\n * @see https://tailwindcss.com/docs/tab-size\n */\n 'tab-size': [{ tab: [isInteger, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{ wrap: ['break-word', 'anywhere', 'normal'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // -------------------\n // --- Backgrounds ---\n // -------------------\n\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: scaleBgPosition() }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: scaleBgRepeat() }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: scaleBgSize() }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n {\n linear: [\n { to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: ['', isInteger, isArbitraryVariable, isArbitraryValue],\n },\n isArbitraryVariableImage,\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: scaleColor() }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: scaleColor() }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: scaleColor() }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: scaleColor() }],\n\n // ---------------\n // --- Borders ---\n // ---------------\n\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: scaleRadius() }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': scaleRadius() }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': scaleRadius() }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': scaleRadius() }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': scaleRadius() }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': scaleRadius() }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': scaleRadius() }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': scaleRadius() }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': scaleRadius() }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': scaleRadius() }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': scaleRadius() }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': scaleRadius() }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': scaleRadius() }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': scaleRadius() }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': scaleRadius() }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: scaleBorderWidth() }],\n /**\n * Border Width Inline\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': scaleBorderWidth() }],\n /**\n * Border Width Block\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': scaleBorderWidth() }],\n /**\n * Border Width Inline Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': scaleBorderWidth() }],\n /**\n * Border Width Inline End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': scaleBorderWidth() }],\n /**\n * Border Width Block Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-bs': [{ 'border-bs': scaleBorderWidth() }],\n /**\n * Border Width Block End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-be': [{ 'border-be': scaleBorderWidth() }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': scaleBorderWidth() }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': scaleBorderWidth() }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': scaleBorderWidth() }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': scaleBorderWidth() }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{ 'divide-x': scaleBorderWidth() }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{ 'divide-y': scaleBorderWidth() }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{ divide: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: scaleColor() }],\n /**\n * Border Color Inline\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': scaleColor() }],\n /**\n * Border Color Block\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': scaleColor() }],\n /**\n * Border Color Inline Start\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': scaleColor() }],\n /**\n * Border Color Inline End\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': scaleColor() }],\n /**\n * Border Color Block Start\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-bs': [{ 'border-bs': scaleColor() }],\n /**\n * Border Color Block End\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-be': [{ 'border-be': scaleColor() }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': scaleColor() }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': scaleColor() }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': scaleColor() }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': scaleColor() }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: scaleColor() }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: [...scaleLineStyle(), 'none', 'hidden'] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [\n { 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [\n { outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: scaleColor() }],\n\n // ---------------\n // --- Effects ---\n // ---------------\n\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [\n {\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n // Deprecated since Tailwind CSS v4.0.0\n 'inner',\n 'none',\n themeShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{ shadow: scaleColor() }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [\n {\n 'inset-shadow': [\n 'none',\n themeInsetShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{ 'inset-shadow': scaleColor() }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{ ring: scaleBorderWidth() }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{ ring: scaleColor() }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{ 'ring-offset': [isNumber, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{ 'ring-offset': scaleColor() }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{ 'inset-ring': scaleBorderWidth() }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{ 'inset-ring': scaleColor() }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [\n {\n 'text-shadow': [\n 'none',\n themeTextShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{ 'text-shadow': scaleColor() }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': scaleBlendMode() }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [\n { 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n 'mask-no-clip',\n ],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{ mask: ['add', 'subtract', 'intersect', 'exclude'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{ 'mask-linear': [isNumber] }],\n 'mask-image-linear-from-pos': [{ 'mask-linear-from': scaleMaskImagePosition() }],\n 'mask-image-linear-to-pos': [{ 'mask-linear-to': scaleMaskImagePosition() }],\n 'mask-image-linear-from-color': [{ 'mask-linear-from': scaleColor() }],\n 'mask-image-linear-to-color': [{ 'mask-linear-to': scaleColor() }],\n 'mask-image-t-from-pos': [{ 'mask-t-from': scaleMaskImagePosition() }],\n 'mask-image-t-to-pos': [{ 'mask-t-to': scaleMaskImagePosition() }],\n 'mask-image-t-from-color': [{ 'mask-t-from': scaleColor() }],\n 'mask-image-t-to-color': [{ 'mask-t-to': scaleColor() }],\n 'mask-image-r-from-pos': [{ 'mask-r-from': scaleMaskImagePosition() }],\n 'mask-image-r-to-pos': [{ 'mask-r-to': scaleMaskImagePosition() }],\n 'mask-image-r-from-color': [{ 'mask-r-from': scaleColor() }],\n 'mask-image-r-to-color': [{ 'mask-r-to': scaleColor() }],\n 'mask-image-b-from-pos': [{ 'mask-b-from': scaleMaskImagePosition() }],\n 'mask-image-b-to-pos': [{ 'mask-b-to': scaleMaskImagePosition() }],\n 'mask-image-b-from-color': [{ 'mask-b-from': scaleColor() }],\n 'mask-image-b-to-color': [{ 'mask-b-to': scaleColor() }],\n 'mask-image-l-from-pos': [{ 'mask-l-from': scaleMaskImagePosition() }],\n 'mask-image-l-to-pos': [{ 'mask-l-to': scaleMaskImagePosition() }],\n 'mask-image-l-from-color': [{ 'mask-l-from': scaleColor() }],\n 'mask-image-l-to-color': [{ 'mask-l-to': scaleColor() }],\n 'mask-image-x-from-pos': [{ 'mask-x-from': scaleMaskImagePosition() }],\n 'mask-image-x-to-pos': [{ 'mask-x-to': scaleMaskImagePosition() }],\n 'mask-image-x-from-color': [{ 'mask-x-from': scaleColor() }],\n 'mask-image-x-to-color': [{ 'mask-x-to': scaleColor() }],\n 'mask-image-y-from-pos': [{ 'mask-y-from': scaleMaskImagePosition() }],\n 'mask-image-y-to-pos': [{ 'mask-y-to': scaleMaskImagePosition() }],\n 'mask-image-y-from-color': [{ 'mask-y-from': scaleColor() }],\n 'mask-image-y-to-color': [{ 'mask-y-to': scaleColor() }],\n 'mask-image-radial': [{ 'mask-radial': [isArbitraryVariable, isArbitraryValue] }],\n 'mask-image-radial-from-pos': [{ 'mask-radial-from': scaleMaskImagePosition() }],\n 'mask-image-radial-to-pos': [{ 'mask-radial-to': scaleMaskImagePosition() }],\n 'mask-image-radial-from-color': [{ 'mask-radial-from': scaleColor() }],\n 'mask-image-radial-to-color': [{ 'mask-radial-to': scaleColor() }],\n 'mask-image-radial-shape': [{ 'mask-radial': ['circle', 'ellipse'] }],\n 'mask-image-radial-size': [\n { 'mask-radial': [{ closest: ['side', 'corner'], farthest: ['side', 'corner'] }] },\n ],\n 'mask-image-radial-pos': [{ 'mask-radial-at': scalePosition() }],\n 'mask-image-conic-pos': [{ 'mask-conic': [isNumber] }],\n 'mask-image-conic-from-pos': [{ 'mask-conic-from': scaleMaskImagePosition() }],\n 'mask-image-conic-to-pos': [{ 'mask-conic-to': scaleMaskImagePosition() }],\n 'mask-image-conic-from-color': [{ 'mask-conic-from': scaleColor() }],\n 'mask-image-conic-to-color': [{ 'mask-conic-to': scaleColor() }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{ mask: ['alpha', 'luminance', 'match'] }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [\n { 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n ],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{ mask: scaleBgPosition() }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{ mask: scaleBgRepeat() }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{ mask: scaleBgSize() }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{ 'mask-type': ['alpha', 'luminance'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{ mask: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // ---------------\n // --- Filters ---\n // ---------------\n\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [\n {\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: scaleBlur() }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [\n {\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeDropShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{ 'drop-shadow': scaleColor() }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [\n {\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': scaleBlur() }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [\n { 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [\n { 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [\n { 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [\n { 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [\n { 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [\n { 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [\n { 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [\n { 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n\n // --------------\n // --- Tables ---\n // --------------\n\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': scaleUnambiguousSpacing() }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n '',\n 'all',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{ transition: ['normal', 'discrete'] }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue] }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [\n { ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------\n // --- Transforms ---\n // ------------------\n\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{ backface: ['hidden', 'visible'] }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [\n { perspective: [themePerspective, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{ 'perspective-origin': scalePositionWithArbitrary() }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: scaleRotate() }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{ 'rotate-x': scaleRotate() }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{ 'rotate-y': scaleRotate() }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{ 'rotate-z': scaleRotate() }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: scaleScale() }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': scaleScale() }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': scaleScale() }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{ 'scale-z': scaleScale() }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{ skew: scaleSkew() }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': scaleSkew() }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': scaleSkew() }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [\n { transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu'] },\n ],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{ origin: scalePositionWithArbitrary() }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{ transform: ['3d', 'flat'] }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{ translate: scaleTranslate() }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': scaleTranslate() }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': scaleTranslate() }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{ 'translate-z': scaleTranslate() }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n /**\n * Zoom\n * @see https://tailwindcss.com/docs/zoom\n */\n zoom: [{ zoom: [isInteger, isArbitraryVariable, isArbitraryValue] }],\n\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: scaleColor() }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: scaleColor() }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [\n { scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light'] },\n ],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{ 'field-sizing': ['fixed', 'content'] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['auto', 'none'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', '', 'y', 'x'] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scrollbar Thumb Color\n * @see https://tailwindcss.com/docs/scrollbar-color\n */\n 'scrollbar-thumb-color': [{ 'scrollbar-thumb': scaleColor() }],\n /**\n * Scrollbar Track Color\n * @see https://tailwindcss.com/docs/scrollbar-color\n */\n 'scrollbar-track-color': [{ 'scrollbar-track': scaleColor() }],\n /**\n * Scrollbar Gutter\n * @see https://tailwindcss.com/docs/scrollbar-gutter\n */\n 'scrollbar-gutter': [{ 'scrollbar-gutter': ['auto', 'stable', 'both'] }],\n /**\n * Scrollbar Width\n * @see https://tailwindcss.com/docs/scrollbar-width\n */\n 'scrollbar-w': [{ scrollbar: ['auto', 'thin', 'none'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Inline\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Block\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Inline Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Inline End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Block Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mbs': [{ 'scroll-mbs': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Block End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mbe': [{ 'scroll-mbe': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Inline\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Block\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Inline Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Inline End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Block Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pbs': [{ 'scroll-pbs': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Block End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pbe': [{ 'scroll-pbe': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': scaleUnambiguousSpacing() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{ touch: ['auto', 'none', 'manipulation'] }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{ 'touch-pan': ['x', 'left', 'right'] }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{ 'touch-pan': ['y', 'up', 'down'] }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n {\n 'will-change': [\n 'auto',\n 'scroll',\n 'contents',\n 'transform',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n\n // -----------\n // --- SVG ---\n // -----------\n\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: ['none', ...scaleColor()] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [\n {\n stroke: [\n isNumber,\n isArbitraryVariableLength,\n isArbitraryLength,\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: ['none', ...scaleColor()] }],\n\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n 'container-named': ['container-type'],\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: [\n 'inset-x',\n 'inset-y',\n 'inset-bs',\n 'inset-be',\n 'start',\n 'end',\n 'top',\n 'right',\n 'bottom',\n 'left',\n ],\n 'inset-x': ['start', 'end', 'right', 'left'],\n 'inset-y': ['inset-bs', 'inset-be', 'top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pbs', 'pbe', 'pt', 'pr', 'pb', 'pl'],\n px: ['ps', 'pe', 'pr', 'pl'],\n py: ['pbs', 'pbe', 'pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mbs', 'mbe', 'mt', 'mr', 'mb', 'ml'],\n mx: ['ms', 'me', 'mr', 'ml'],\n my: ['mbs', 'mbe', 'mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-x',\n 'border-w-y',\n 'border-w-s',\n 'border-w-e',\n 'border-w-bs',\n 'border-w-be',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-s', 'border-w-e', 'border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-bs', 'border-w-be', 'border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-x',\n 'border-color-y',\n 'border-color-s',\n 'border-color-e',\n 'border-color-bs',\n 'border-color-be',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-s', 'border-color-e', 'border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-bs', 'border-color-be', 'border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mbs',\n 'scroll-mbe',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-ms', 'scroll-me', 'scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mbs', 'scroll-mbe', 'scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pbs',\n 'scroll-pbe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-ps', 'scroll-pe', 'scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pbs', 'scroll-pbe', 'scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n postfixLookupClassGroups: ['container-type'],\n orderSensitiveModifiers: [\n '*',\n '**',\n 'after',\n 'backdrop',\n 'before',\n 'details-content',\n 'file',\n 'first-letter',\n 'first-line',\n 'marker',\n 'placeholder',\n 'selection',\n ],\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { AnyConfig, ConfigExtension, NoInfer } from './types'\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nexport const mergeConfigs = <ClassGroupIds extends string, ThemeGroupIds extends string = never>(\n baseConfig: AnyConfig,\n {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {},\n }: ConfigExtension<ClassGroupIds, ThemeGroupIds>,\n) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize)\n overrideProperty(baseConfig, 'prefix', prefix)\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName)\n\n overrideConfigProperties(baseConfig.theme, override.theme)\n overrideConfigProperties(baseConfig.classGroups, override.classGroups)\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups)\n overrideConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n override.conflictingClassGroupModifiers,\n )\n overrideProperty(baseConfig, 'postfixLookupClassGroups', override.postfixLookupClassGroups)\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers)\n\n mergeConfigProperties(baseConfig.theme, extend.theme)\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups)\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups)\n mergeConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n extend.conflictingClassGroupModifiers,\n )\n mergeArrayProperties(baseConfig, extend, 'postfixLookupClassGroups')\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers')\n\n return baseConfig\n}\n\nconst overrideProperty = <T extends object, K extends keyof T>(\n baseObject: T,\n overrideKey: K,\n overrideValue: T[K] | undefined,\n) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue\n }\n}\n\nconst overrideConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n overrideObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key])\n }\n }\n}\n\nconst mergeConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n mergeObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key)\n }\n }\n}\n\nconst mergeArrayProperties = <Key extends string>(\n baseObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n mergeObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n key: Key,\n) => {\n const mergeValue = mergeObject[key]\n\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue\n }\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\nimport { mergeConfigs } from './merge-configs'\nimport { AnyConfig, ConfigExtension, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\n\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\n\nexport const extendTailwindMerge = <\n AdditionalClassGroupIds extends string = never,\n AdditionalThemeGroupIds extends string = never,\n>(\n configExtension:\n | ConfigExtension<\n DefaultClassGroupIds | AdditionalClassGroupIds,\n DefaultThemeGroupIds | AdditionalThemeGroupIds\n >\n | CreateConfigSubsequent,\n ...createConfig: CreateConfigSubsequent[]\n) =>\n typeof configExtension === 'function'\n ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig)\n : createTailwindMerge(\n () => mergeConfigs(getDefaultConfig(), configExtension),\n ...createConfig,\n )\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\n\nexport const twMerge = createTailwindMerge(getDefaultConfig)\n","/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: object) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n\n return false;\n};\n","/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n","const defaultAttributes = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': 2,\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n} as const;\n\nexport default defaultAttributes;\n","import buildLucideIconNode from './buildLucideIconNode';\nimport type { LucideBuildParams, LucideIconData, LucideIconNode } from './types';\n\n/**\n * Creates a React-compatible Lucide icon node (an svgson-like format) from a Lucide icon object.\n *\n * @param icon The icon to build.\n * @param params Additional build parameters.\n */\nfunction buildLucideIconForReact(\n icon: LucideIconData,\n params: LucideBuildParams = {},\n): LucideIconNode {\n return buildLucideIconNode(icon, {\n ...params,\n attributeNames: {\n ...params.attributeNames,\n class: 'className',\n 'stroke-width': 'strokeWidth',\n 'stroke-linecap': 'strokeLinecap',\n 'stroke-linejoin': 'strokeLinejoin',\n 'vector-effect': 'vectorEffect',\n },\n });\n}\n\nexport default buildLucideIconForReact;\n","import type { LucideBuildParams, LucideIconData, LucideIconNode, SVGProps } from './types';\nimport defaultAttributes from './defaultAttributes';\nimport { mergeClasses } from '../utils/mergeClasses';\n\nfunction isDefined<T>(value: T | null | undefined): value is T {\n return value !== null && value !== undefined;\n}\n\n/**\n * Creates a Lucide icon node (an svgson-like format) from a Lucide icon object.\n *\n * @param icon The icon to build.\n * @param params Additional build parameters.\n */\nfunction buildLucideIconNode(icon: LucideIconData, params: LucideBuildParams = {}): LucideIconNode {\n const attributeNames = params.attributeNames ?? {};\n const getAttributeName = (attributeName: string) =>\n attributeNames[attributeName] ?? attributeName;\n\n const viewBoxWidth = icon.size ?? icon.width ?? defaultAttributes['width'];\n const viewBoxHeight = icon.size ?? icon.height ?? defaultAttributes['height'];\n const aliasClassNames =\n icon.aliases\n ?.filter((alias: string): alias is string => typeof alias === 'string' && alias.trim() !== '')\n .map((alias: string) => `lucide-${alias}`) ?? [];\n const iconClassNames = [...(icon.name ? [`lucide-${icon.name}`] : []), ...aliasClassNames];\n const classNamesFromClassName = params.className?.split(' ').filter(Boolean) ?? [];\n const className =\n params.includeDefaultClasses === false\n ? mergeClasses(...classNamesFromClassName)\n : mergeClasses('lucide', ...iconClassNames, ...classNamesFromClassName);\n\n const calculatedStrokeWidth = params.absoluteStrokeWidth\n ? (Number(params.strokeWidth ?? defaultAttributes['stroke-width']) *\n Number(icon.size ?? icon.width ?? defaultAttributes['width'])) /\n Number(params.size ?? params.width ?? defaultAttributes['width'])\n : (params.strokeWidth ?? defaultAttributes['stroke-width']);\n\n const attributes = {\n ...Object.entries(defaultAttributes).reduce((attrs, [attrName, value]) => {\n attrs[getAttributeName(attrName)] = value;\n return attrs;\n }, {} as SVGProps),\n ...('color' in params &&\n params.color && {\n [getAttributeName('stroke')]: params.color,\n }),\n ...('size' in params &&\n isDefined(params.size) && {\n [getAttributeName('width')]: params.size,\n [getAttributeName('height')]: params.size,\n }),\n ...('width' in params &&\n isDefined(params.width) && {\n [getAttributeName('width')]: params.width,\n }),\n ...('height' in params &&\n isDefined(params.height) && {\n [getAttributeName('height')]: params.height,\n }),\n [getAttributeName('stroke-width')]: calculatedStrokeWidth,\n ...(className && {\n [getAttributeName('class')]: className,\n }),\n [getAttributeName('viewBox')]: `0 0 ${viewBoxWidth} ${viewBoxHeight}`,\n ...(params.hasA11yProp === false\n ? {\n [getAttributeName('aria-hidden')]: 'true',\n }\n : {}),\n ...('attributes' in params && params.attributes),\n };\n\n return [\n 'svg',\n attributes,\n icon.node.map((child): LucideIconNode => {\n const [name, attrs, children] = child;\n const nextAttrs = params.nonScalingStroke\n ? { [getAttributeName('vector-effect')]: 'non-scaling-stroke', ...attrs }\n : attrs;\n\n return children ? [name, nextAttrs, children] : [name, nextAttrs];\n }),\n ];\n}\n\nexport default buildLucideIconNode;\n","'use client';\n\nimport { createElement, forwardRef } from 'react';\nimport { buildLucideIconForReact, hasA11yProp, mergeClasses } from '@lucide/shared';\nimport { LucideIconData, LucideIconNode, LucideProps } from './types';\nimport { useLucideContext } from './context';\n\ntype IconComponentProps = LucideProps &\n (\n | {\n iconNode: LucideIconNode[];\n icon?: never;\n }\n | {\n icon: LucideIconData;\n iconNode?: never;\n }\n );\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {boolean} props.nonScalingStroke - Whether to use non scaling strokes\n * @param {string} props.className - The class name of the icon\n * @param {LucideIconNode[]} props.children - The children of the icon\n * @param {LucideIconNode[]} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color,\n size,\n width,\n height,\n strokeWidth,\n absoluteStrokeWidth,\n nonScalingStroke,\n className = '',\n children,\n iconNode = [],\n icon = {\n node: iconNode,\n aliases: [],\n size: 24,\n },\n ...rest\n },\n ref,\n ) => {\n const {\n size: contextSize = 24,\n strokeWidth: contextStrokeWidth = 2,\n absoluteStrokeWidth: contextAbsoluteStrokeWidth = false,\n nonScalingStroke: contextNonScalingStroke = false,\n color: contextColor = 'currentColor',\n className: contextClass = '',\n } = useLucideContext() ?? {};\n\n const hasAccessibleProp = Boolean(children) || hasA11yProp(rest);\n\n const [name, svgAttributes, builtIconNode = []] = buildLucideIconForReact(icon, {\n color: color ?? contextColor,\n width: width ?? size ?? contextSize,\n height: height ?? size ?? contextSize,\n strokeWidth: strokeWidth ?? contextStrokeWidth,\n absoluteStrokeWidth: absoluteStrokeWidth ?? contextAbsoluteStrokeWidth,\n nonScalingStroke: nonScalingStroke ?? contextNonScalingStroke,\n className: mergeClasses(contextClass, className),\n hasA11yProp: hasAccessibleProp,\n attributes: rest,\n });\n\n return createElement(\n name,\n {\n ref,\n ...svgAttributes,\n },\n [\n ...builtIconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","'use client';\n\nimport { createContext, createElement, type ReactNode, useContext, useMemo } from 'react';\nimport { LucideProps } from './types';\n\ntype LucideConfig = {\n size: number;\n color: string;\n strokeWidth: number;\n /**\n * @deprecated Use `nonScalingStroke` instead.\n */\n absoluteStrokeWidth: boolean;\n nonScalingStroke: boolean;\n className: string;\n};\n\nconst LucideContext = createContext<LucideProps>({});\n\ntype LucideProviderProps = {\n children: ReactNode;\n} & Partial<LucideConfig>;\n\nexport function LucideProvider({\n children,\n size,\n color,\n strokeWidth,\n absoluteStrokeWidth,\n nonScalingStroke,\n className,\n}: LucideProviderProps) {\n const value = useMemo(\n () => ({\n size,\n color,\n strokeWidth,\n absoluteStrokeWidth,\n nonScalingStroke,\n className,\n }),\n [size, color, strokeWidth, absoluteStrokeWidth, nonScalingStroke, className],\n );\n\n return createElement(LucideContext.Provider, { value }, children);\n}\n\nexport const useLucideContext = () => useContext(LucideContext);\n","/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) => {\n let out = '';\n let upperNext = false;\n\n for (const ch of string) {\n if (ch === '-' || ch === '_' || ch <= ' ') {\n upperNext = out.length > 0;\n continue;\n }\n\n if (out.length === 0) {\n out += ch.toLowerCase();\n } else {\n out += upperNext ? ch.toUpperCase() : ch;\n }\n\n upperNext = false;\n }\n\n return out as string;\n};\n","/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string?.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n","import { CamelToPascal } from '../utility-types';\nimport { toCamelCase } from './toCamelCase';\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n","import { toKebabCase } from './toKebabCase';\nimport type { LucideIconData, LucideIconNode } from '../build/types';\n\n/**\n * Converts legacy `(name, iconNode, aliases?)` icon arguments into icon data object format.\n */\nexport function toLucideIconData(\n iconName: string,\n iconNode: LucideIconNode[],\n aliases: string[] = [],\n): LucideIconData {\n if (iconNode == null) {\n throw new Error('[lucide]: iconNode is required when icon name is used');\n }\n\n return {\n name: toKebabCase(iconName),\n size: 24,\n node: iconNode,\n ...(aliases.length > 0 ? { aliases } : {}),\n };\n}\n","import { createElement, forwardRef } from 'react';\nimport { toLucideIconData, toPascalCase } from '@lucide/shared';\nimport { LucideIcon, LucideIconData, LucideIconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Creates a Lucide icon component from icon data.\n *\n * @param icon Icon data object.\n * @returns Lucide icon component.\n */\nfunction createLucideIcon(icon: LucideIconData): LucideIcon;\n\n/**\n * Creates a Lucide icon component from the legacy icon arguments.\n *\n * @param iconName Icon name.\n * @param iconNode Icon node.\n * @param aliases Optional icon aliases.\n * @returns Lucide icon component.\n */\nfunction createLucideIcon(\n iconName: string,\n iconNode: LucideIconNode[],\n aliases?: string[],\n): LucideIcon;\n\nfunction createLucideIcon(\n iconDataOrName: LucideIconData | string,\n iconNode: LucideIconNode[] = [],\n aliases: string[] = [],\n): LucideIcon {\n const iconData =\n typeof iconDataOrName === 'string'\n ? toLucideIconData(iconDataOrName, iconNode, aliases)\n : iconDataOrName;\n\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n icon: iconData,\n className,\n ...props,\n }),\n );\n\n if (iconData.name) {\n Component.displayName = toPascalCase(iconData.name);\n }\n\n return Component;\n}\n\nexport default createLucideIcon;\n","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/avatar-entry.ts","unable to read source [project]/node_modules/@aeolus-fleet/common/src/header/apps.ts","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-question-mark',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3', key: '1u773s' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n ],\n aliases: ['help-circle', 'circle-help'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleQuestionMark\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMiIC8+CiAgPHBhdGggZD0iTTEyIDE3aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle-question-mark\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleQuestionMark = createLucideIcon(__iconData);\n\nexport default CircleQuestionMark;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'bell-ring',\n size: 24,\n node: [\n ['path', { d: 'M10.268 21a2 2 0 0 0 3.464 0', key: 'vwvbt9' }],\n ['path', { d: 'M22 8c0-2.3-.8-4.3-2-6', key: '5bb3ad' }],\n [\n 'path',\n {\n d: 'M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326',\n key: '11g9vi',\n },\n ],\n ['path', { d: 'M4 2C2.8 3.7 2 5.7 2 8', key: 'tap9e0' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name BellRing\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIiAvPgogIDxwYXRoIGQ9Ik0yMiA4YzAtMi4zLS44LTQuMy0yLTYiIC8+CiAgPHBhdGggZD0iTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYiIC8+CiAgPHBhdGggZD0iTTQgMkMyLjggMy43IDIgNS43IDIgOCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/bell-ring\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst BellRing = createLucideIcon(__iconData);\n\nexport default BellRing;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'sun',\n size: 24,\n node: [\n ['circle', { cx: '12', cy: '12', r: '4', key: '4exip2' }],\n ['path', { d: 'M12 2v2', key: 'tus03m' }],\n ['path', { d: 'M12 20v2', key: '1lh1kg' }],\n ['path', { d: 'm4.93 4.93 1.41 1.41', key: '149t6j' }],\n ['path', { d: 'm17.66 17.66 1.41 1.41', key: 'ptbguv' }],\n ['path', { d: 'M2 12h2', key: '1t8f8n' }],\n ['path', { d: 'M20 12h2', key: '1q8mjw' }],\n ['path', { d: 'm6.34 17.66-1.41 1.41', key: '1m8zz5' }],\n ['path', { d: 'm19.07 4.93-1.41 1.41', key: '1shlcs' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Sun\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0ibTQuOTMgNC45MyAxLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0ibTE3LjY2IDE3LjY2IDEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMiAxMmgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMmgyIiAvPgogIDxwYXRoIGQ9Im02LjM0IDE3LjY2LTEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJtMTkuMDcgNC45My0xLjQxIDEuNDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sun\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sun = createLucideIcon(__iconData);\n\nexport default Sun;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'laptop-minimal',\n size: 24,\n node: [\n ['rect', { width: '18', height: '12', x: '3', y: '4', rx: '2', ry: '2', key: '1qhy41' }],\n ['line', { x1: '2', x2: '22', y1: '20', y2: '20', key: 'ni3hll' }],\n ],\n aliases: ['laptop-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name LaptopMinimal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHg9IjMiIHk9IjQiIHJ4PSIyIiByeT0iMiIgLz4KICA8bGluZSB4MT0iMiIgeDI9IjIyIiB5MT0iMjAiIHkyPSIyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/laptop-minimal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LaptopMinimal = createLucideIcon(__iconData);\n\nexport default LaptopMinimal;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'circle-user-round',\n size: 24,\n node: [\n ['path', { d: 'M17.925 20.056a6 6 0 0 0-11.851.001', key: 'z69sun' }],\n ['circle', { cx: '12', cy: '11', r: '4', key: '1gt34v' }],\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ],\n aliases: ['user-circle-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name CircleUserRound\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcuOTI1IDIwLjA1NmE2IDYgMCAwIDAtMTEuODUxLjAwMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjExIiByPSI0IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-user-round\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleUserRound = createLucideIcon(__iconData);\n\nexport default CircleUserRound;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'log-out',\n size: 24,\n node: [\n ['path', { d: 'm16 17 5-5-5-5', key: '1bji2h' }],\n ['path', { d: 'M21 12H9', key: 'dn1m92' }],\n ['path', { d: 'M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4', key: '1uf3rs' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name LogOut\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTYgMTcgNS01LTUtNSIgLz4KICA8cGF0aCBkPSJNMjEgMTJIOSIgLz4KICA8cGF0aCBkPSJNOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/log-out\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LogOut = createLucideIcon(__iconData);\n\nexport default LogOut;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'monitor',\n size: 24,\n node: [\n ['rect', { width: '20', height: '14', x: '2', y: '3', rx: '2', key: '48i651' }],\n ['line', { x1: '8', x2: '16', y1: '21', y2: '21', key: '1svkeh' }],\n ['line', { x1: '12', x2: '12', y1: '17', y2: '21', key: 'vw1qmm' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Monitor\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHg9IjIiIHk9IjMiIHJ4PSIyIiAvPgogIDxsaW5lIHgxPSI4IiB4Mj0iMTYiIHkxPSIyMSIgeTI9IjIxIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjEyIiB5MT0iMTciIHkyPSIyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/monitor\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Monitor = createLucideIcon(__iconData);\n\nexport default Monitor;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'keyboard',\n size: 24,\n node: [\n ['path', { d: 'M10 8h.01', key: '1r9ogq' }],\n ['path', { d: 'M12 12h.01', key: '1mp3jc' }],\n ['path', { d: 'M14 8h.01', key: '1primd' }],\n ['path', { d: 'M16 12h.01', key: '1l6xoz' }],\n ['path', { d: 'M18 8h.01', key: 'emo2bl' }],\n ['path', { d: 'M6 8h.01', key: 'x9i8wu' }],\n ['path', { d: 'M7 16h10', key: 'wp8him' }],\n ['path', { d: 'M8 12h.01', key: 'czm47f' }],\n ['rect', { width: '20', height: '16', x: '2', y: '4', rx: '2', key: '18n3k1' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Keyboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgOGguMDEiIC8+CiAgPHBhdGggZD0iTTEyIDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTQgOGguMDEiIC8+CiAgPHBhdGggZD0iTTE2IDEyaC4wMSIgLz4KICA8cGF0aCBkPSJNMTggOGguMDEiIC8+CiAgPHBhdGggZD0iTTYgOGguMDEiIC8+CiAgPHBhdGggZD0iTTcgMTZoMTAiIC8+CiAgPHBhdGggZD0iTTggMTJoLjAxIiAvPgogIDxyZWN0IHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgeD0iMiIgeT0iNCIgcng9IjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/keyboard\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Keyboard = createLucideIcon(__iconData);\n\nexport default Keyboard;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'moon',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401',\n key: 'kfwtm',\n },\n ],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Moon\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/moon\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Moon = createLucideIcon(__iconData);\n\nexport default Moon;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'shield-check',\n size: 24,\n node: [\n [\n 'path',\n {\n d: 'M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z',\n key: 'oel41y',\n },\n ],\n ['path', { d: 'm9 12 2 2 4-4', key: 'dzmm74' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ShieldCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoiIC8+CiAgPHBhdGggZD0ibTkgMTIgMiAyIDQtNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/shield-check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ShieldCheck = createLucideIcon(__iconData);\n\nexport default ShieldCheck;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'check',\n size: 24,\n node: [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon(__iconData);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'loader-circle',\n size: 24,\n node: [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]],\n aliases: ['loader-2'],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon(__iconData);\n\nexport default LoaderCircle;\n"],"names":["AvatarRootContext","undefined","useAvatarRootContext","context","Error","Button","componentProps","forwardedRef","render","className","disabled","focusableWhenDisabled","nativeButton","style","elementProps","getButtonProps","buttonRef","native","state","ref","props","HoverInteraction","pointerType","interactedInside","handler","blockMouseMove","performedPointerEventsMutation","pointerEventsScopeElement","pointerEventsReferenceElement","pointerEventsFloatingElement","restTimeoutPending","openChangeTimeout","restTimeout","handleCloseOptions","create","dispose","clear","disposeEffect","pointerEventsMutationOwnerByScopeElement","WeakMap","clearSafePolygonPointerEventsMutation","instance","scopeElement","get","removeProperty","delete","applySafePolygonPointerEventsMutation","options","referenceElement","floatingElement","existingOwner","set","pointerEvents","useHoverInteractionSharedState","store","data","dataRef","current","hoverInteractionState","MenuRootContext","useMenuRootContext","optional","falsyToString","value","cx","cva","base","config","_config_compoundVariants","variants","class","defaultVariants","getVariantClassNames","Object","keys","map","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","entries","reduce","acc","param","key","getCompoundVariantClassNames","compoundVariants","cvClass","cvClassName","compoundVariantOptions","every","Array","isArray","includes","r","e","t","f","n","o","length","clsx","arguments"],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CMEoB,ANFpB,CQEO,ALgBM,AFhBN,AFgBS,AOhBI,ANFpB,CAAA,AGkBa,AKhBN,APAA,AFgBS,AOhBI,CEAb,ALgBM,AFhBN,AFgBS,AOhBI,ANFpB,CMEoB,ANFpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AMGN,CNHM,ACGN,AKAA,ARoCC,CEvCK,CAAA,CAAA,CAAA,CAAA,CAAA,CMGI,ANHJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AMGW,CLAJ,AKAI,ANHX,CMGW,ALAJ,CKAI,ALAJ,CAAA,CAAA,OKAkB,CLAlB,AKAkB,CLAlB,AKAkB,CLAlB,AKAkB,CLAlB,AKAkB,CLAlB,AKAkB,AAAM,EAAG,CLAF,AKAE,CAAA,ALAF,EKAO,CLAF,CAAA,AKAK,CLAL,AKAK,CLAL,AKAK,CAAA,CAAK,GAAI,CAAA,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,UAoBlF,CAAA,ANZ4C,ACY5C,CKAA,ANZ4C,ACY5C,CKAA,ANZ4C,ACY5C,CAAA,ADZ4C,AMY5C,CAAA,ALAA,ADZ4C,CCY5C,CAAA,EKAiB,CLAL,AKAK,CLAL,AKAK,CLAL,AKAK,CLAL,AKAK,CRoBC,AQpBD,ALAL,CAAA,AKAK,qHJ5BkD,CCAL,ADAK,AGAA,CAAA,AFAL,CEAK,AHAI,QAAU,CAAA,AGAC,OHAD,CAAU,CAAA,SAC9E,CIAA,AJAA,ACAR,AHAQ,AKAA,ANAA,AGAE,AEAF,AHAA,CEAE,AEAA,EAAA,uBHAiC,qBAE9C,QAAA,oOED2D,IAAA,QAAK,CAAU,CAAA,qJCFM,CHAD,CAAA,CAAA,CAAA,CAAA,4FGE1B,CDArC,ACAqC,CDArC,ACAqC,CAAA,ADArC,CCAqC,AFAJ,ACAjC,iFGJV,qJAeoC,CNLc,AKAwB,ANA9E,AOKwC,ACJ5C,CFDkF,ALAxB,AMKd,APLxC,AOKmD,IAAA,KAajD,CCZsC,ADYtC,CCZsC,ADYtC,CCZsC,ADYtC,EAAO,CCZ0C,ADY1C,CAAA,CAAA,EAAiB,gQCnB1B,CAAC,OAAQ,CPAA,AFgBP,AShBS,AFAF,AEAA,ALgBP,CJAA,AIAA,CAAA,AJAA,iDSIc,CAAA,CAAA,CAAA,CAAA,CAAA,AAAiB,CVoBb,AUpBJ,AAAiB,CAAA,AAAjB,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,wEP3BV,EAAA,2FAEQ,UAC9B,CCAH,AKAD,ACAA,CDAA,ALAC,AMAD,uBPA+B,CKAL,AEA1B,ADAA,ANA+B,CMA/B,ANA+B,AOA/B,AFA0B,CLAK,AOA/B,ADAA,CNAoC,UAAU,CMA9C,ACAA,CDAA,ACAA,APCN,CMDM,ACAA,CDAA,ACAA,CDAA,ACAA,CAAA,ADAA,CCAA,ADAA,CAAA,ACAA,CAAA,ADAA,CAAA,ACAA,CAAA,ADAA,CCAA,ADAA,CCAA,ADAA,CCAA,ADAA,CCAA,ADAA,CAAA,ACAA,CAAA,ADAA,CCAA,ADAA,CCAA,ADAA,CAAA,ACAA,CAAA,ADAA,CCAA,ADAA,CAAA,ACAA,CAAA,ADAA,CCAA,ADAA,CAAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CDAA,ACAA,CAAA,ADAA,CAAA,ACAA,CDAA,ANCiC,AODjC,CDAA,ACAA,CAAA,ADAA,CCAA,ADAA,CCAA,ADAA,ANCsC,CAAA,AMDtC,ACAA,CAAA,ADAA,ANCsC,CODtC,ADAA,ANCsC,CODtC,APCsC,AMDtC,CNCsC,AODtC,ADAA,CAAA,ACAA,APCsC,CMDtC,ACAA,APCsC,CMDtC,ACAA,APCsC,CMDtC,ACAA,APCgD,CODhD,ADAA,ANCgD,CODhD,ADAA,CCAA,ADAA,CCAA,ADAA,CAAA,ACAA,CAAA,ADAA,CAAA,ACAA,CDAA,ACAA,CAAA,ADAA,CCAA,ADAA,CCAA,ADAA,CAAA,ACAA,CDAA,ACAA,CAAA,ADAA,CCAA,ADAA,CCAA,CAAA,CAAA,CAAA,CAAA,C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","ignoreList":[0,1,2,3,4,5,6,7,8,10,11,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]}