@noodleseed/one 0.32.1 → 0.34.0

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 (917) hide show
  1. package/LICENSE +27 -1
  2. package/NOTICE +4 -0
  3. package/dist/assistant-embed-scaffold-template.d.ts +10 -0
  4. package/dist/assistant-embed-scaffold-template.d.ts.map +1 -0
  5. package/dist/assistant-embed-scaffold-template.js +74 -0
  6. package/dist/assistant-embed-scaffold-template.js.map +1 -0
  7. package/dist/commands/assistant-embed-ops.d.ts +2 -0
  8. package/dist/commands/assistant-embed-ops.d.ts.map +1 -0
  9. package/dist/commands/assistant-embed-ops.js +87 -0
  10. package/dist/commands/assistant-embed-ops.js.map +1 -0
  11. package/dist/commands/assistant-ops.d.ts.map +1 -1
  12. package/dist/commands/assistant-ops.js +32 -1
  13. package/dist/commands/assistant-ops.js.map +1 -1
  14. package/dist/commands/catalog-data-resources.d.ts.map +1 -1
  15. package/dist/commands/catalog-data-resources.js +11 -0
  16. package/dist/commands/catalog-data-resources.js.map +1 -1
  17. package/dist/commands/deploy-ops.d.ts +2 -0
  18. package/dist/commands/deploy-ops.d.ts.map +1 -1
  19. package/dist/commands/deploy-ops.js +18 -0
  20. package/dist/commands/deploy-ops.js.map +1 -1
  21. package/dist/commands/mcp-apps.js +20 -0
  22. package/dist/commands/mcp-apps.js.map +1 -1
  23. package/dist/commands/project-setup.d.ts +2 -2
  24. package/dist/commands/project-setup.d.ts.map +1 -1
  25. package/dist/commands/project-setup.js +5 -4
  26. package/dist/commands/project-setup.js.map +1 -1
  27. package/dist/control-plane.d.ts.map +1 -1
  28. package/dist/control-plane.js +2 -0
  29. package/dist/control-plane.js.map +1 -1
  30. package/dist/deploy.d.ts +2 -1
  31. package/dist/deploy.d.ts.map +1 -1
  32. package/dist/deploy.js +57 -40
  33. package/dist/deploy.js.map +1 -1
  34. package/dist/first-run.js +1 -1
  35. package/dist/first-run.js.map +1 -1
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/openapi-import.d.ts.map +1 -1
  40. package/dist/openapi-import.js +6 -1
  41. package/dist/openapi-import.js.map +1 -1
  42. package/dist/project-scaffold-templates.d.ts +9 -6
  43. package/dist/project-scaffold-templates.d.ts.map +1 -1
  44. package/dist/project-scaffold-templates.js +9 -200
  45. package/dist/project-scaffold-templates.js.map +1 -1
  46. package/dist/project.d.ts.map +1 -1
  47. package/dist/project.js +5 -2
  48. package/dist/project.js.map +1 -1
  49. package/dist/react-widget-build.js +10 -0
  50. package/dist/react-widget-build.js.map +1 -1
  51. package/dist/react.d.ts +2 -2
  52. package/dist/react.d.ts.map +1 -1
  53. package/dist/react.js +2 -1
  54. package/dist/react.js.map +1 -1
  55. package/dist/widget-focused-template.d.ts +4 -0
  56. package/dist/widget-focused-template.d.ts.map +1 -0
  57. package/dist/widget-focused-template.js +75 -0
  58. package/dist/widget-focused-template.js.map +1 -0
  59. package/dist/widget-scaffold-template.d.ts +4 -0
  60. package/dist/widget-scaffold-template.d.ts.map +1 -0
  61. package/dist/widget-scaffold-template.js +228 -0
  62. package/dist/widget-scaffold-template.js.map +1 -0
  63. package/dist/widget-showcase-template.d.ts +5 -0
  64. package/dist/widget-showcase-template.d.ts.map +1 -0
  65. package/dist/widget-showcase-template.js +478 -0
  66. package/dist/widget-showcase-template.js.map +1 -0
  67. package/node_modules/@floating-ui/core/LICENSE +20 -0
  68. package/node_modules/@floating-ui/core/README.md +4 -0
  69. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs +1 -0
  70. package/node_modules/@floating-ui/core/dist/floating-ui.core.browser.mjs +1184 -0
  71. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.mts +531 -0
  72. package/node_modules/@floating-ui/core/dist/floating-ui.core.d.ts +531 -0
  73. package/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js +1058 -0
  74. package/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1058 -0
  75. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.js +1203 -0
  76. package/node_modules/@floating-ui/core/dist/floating-ui.core.umd.min.js +1 -0
  77. package/node_modules/@floating-ui/core/package.json +63 -0
  78. package/node_modules/@floating-ui/dom/LICENSE +20 -0
  79. package/node_modules/@floating-ui/dom/README.md +4 -0
  80. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs +1 -0
  81. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.mjs +956 -0
  82. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.mts +358 -0
  83. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts +358 -0
  84. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js +781 -0
  85. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +781 -0
  86. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.js +975 -0
  87. package/node_modules/@floating-ui/dom/dist/floating-ui.dom.umd.min.js +1 -0
  88. package/node_modules/@floating-ui/dom/package.json +70 -0
  89. package/node_modules/@floating-ui/react-dom/LICENSE +20 -0
  90. package/node_modules/@floating-ui/react-dom/README.md +3 -0
  91. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.mts +307 -0
  92. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.d.ts +307 -0
  93. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.esm.js +406 -0
  94. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +406 -0
  95. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.js +457 -0
  96. package/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.umd.min.js +1 -0
  97. package/node_modules/@floating-ui/react-dom/package.json +75 -0
  98. package/node_modules/@floating-ui/utils/LICENSE +20 -0
  99. package/node_modules/@floating-ui/utils/README.md +4 -0
  100. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.mts +103 -0
  101. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.d.ts +103 -0
  102. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.mts +47 -0
  103. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.d.ts +47 -0
  104. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.esm.js +165 -0
  105. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs +165 -0
  106. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.js +192 -0
  107. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.umd.min.js +1 -0
  108. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js +136 -0
  109. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs +136 -0
  110. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.js +167 -0
  111. package/node_modules/@floating-ui/utils/dist/floating-ui.utils.umd.min.js +1 -0
  112. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.d.ts +47 -0
  113. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.esm.js +165 -0
  114. package/node_modules/@floating-ui/utils/dom/floating-ui.utils.dom.umd.js +192 -0
  115. package/node_modules/@floating-ui/utils/dom/package.json +6 -0
  116. package/node_modules/@floating-ui/utils/package.json +70 -0
  117. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.d.ts.map +1 -1
  118. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +1 -0
  119. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js.map +1 -1
  120. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +7 -7
  121. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  122. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  123. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +1 -0
  124. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  125. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts.map +1 -1
  126. package/node_modules/@noodle-borg/agent-kit/dist/index.js +4 -0
  127. package/node_modules/@noodle-borg/agent-kit/dist/index.js.map +1 -1
  128. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.d.ts.map +1 -1
  129. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +36 -22
  130. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
  131. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.d.ts.map +1 -1
  132. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +6 -3
  133. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
  134. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts +3 -0
  135. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -0
  136. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +166 -0
  137. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -0
  138. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.d.ts.map +1 -1
  139. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js +5 -0
  140. package/node_modules/@noodle-borg/agent-kit/dist/skill-operations-refs.js.map +1 -1
  141. package/node_modules/@noodle-borg/agent-kit/package.json +2 -1
  142. package/node_modules/@noodle-borg/auth/package.json +1 -0
  143. package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts +5 -5
  144. package/node_modules/@noodle-borg/authoring/dist/customer-auth.d.ts.map +1 -1
  145. package/node_modules/@noodle-borg/authoring/dist/customer-auth.js +11 -5
  146. package/node_modules/@noodle-borg/authoring/dist/customer-auth.js.map +1 -1
  147. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +0 -2
  148. package/node_modules/@noodle-borg/authoring/dist/index.d.ts.map +1 -1
  149. package/node_modules/@noodle-borg/authoring/dist/index.js +0 -1
  150. package/node_modules/@noodle-borg/authoring/dist/index.js.map +1 -1
  151. package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts +22 -2
  152. package/node_modules/@noodle-borg/authoring/dist/react/bridge.d.ts.map +1 -1
  153. package/node_modules/@noodle-borg/authoring/dist/react/bridge.js +15 -6
  154. package/node_modules/@noodle-borg/authoring/dist/react/bridge.js.map +1 -1
  155. package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts +400 -666
  156. package/node_modules/@noodle-borg/authoring/dist/react/components.d.ts.map +1 -1
  157. package/node_modules/@noodle-borg/authoring/dist/react/components.js +114 -23
  158. package/node_modules/@noodle-borg/authoring/dist/react/components.js.map +1 -1
  159. package/node_modules/@noodle-borg/authoring/dist/react/display-components.d.ts +39 -0
  160. package/node_modules/@noodle-borg/authoring/dist/react/display-components.d.ts.map +1 -0
  161. package/node_modules/@noodle-borg/authoring/dist/react/display-components.js +55 -0
  162. package/node_modules/@noodle-borg/authoring/dist/react/display-components.js.map +1 -0
  163. package/node_modules/@noodle-borg/authoring/dist/react/field-context.d.ts +28 -0
  164. package/node_modules/@noodle-borg/authoring/dist/react/field-context.d.ts.map +1 -0
  165. package/node_modules/@noodle-borg/authoring/dist/react/field-context.js +20 -0
  166. package/node_modules/@noodle-borg/authoring/dist/react/field-context.js.map +1 -0
  167. package/node_modules/@noodle-borg/authoring/dist/react/form-components.d.ts +114 -0
  168. package/node_modules/@noodle-borg/authoring/dist/react/form-components.d.ts.map +1 -0
  169. package/node_modules/@noodle-borg/authoring/dist/react/form-components.js +147 -0
  170. package/node_modules/@noodle-borg/authoring/dist/react/form-components.js.map +1 -0
  171. package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts +2 -2
  172. package/node_modules/@noodle-borg/authoring/dist/react/hooks.d.ts.map +1 -1
  173. package/node_modules/@noodle-borg/authoring/dist/react/hooks.js.map +1 -1
  174. package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts +4 -1
  175. package/node_modules/@noodle-borg/authoring/dist/react/index.d.ts.map +1 -1
  176. package/node_modules/@noodle-borg/authoring/dist/react/index.js +3 -0
  177. package/node_modules/@noodle-borg/authoring/dist/react/index.js.map +1 -1
  178. package/node_modules/@noodle-borg/authoring/dist/react/native-components.d.ts +76 -76
  179. package/node_modules/@noodle-borg/authoring/dist/react/overlay-components.d.ts +67 -0
  180. package/node_modules/@noodle-borg/authoring/dist/react/overlay-components.d.ts.map +1 -0
  181. package/node_modules/@noodle-borg/authoring/dist/react/overlay-components.js +86 -0
  182. package/node_modules/@noodle-borg/authoring/dist/react/overlay-components.js.map +1 -0
  183. package/node_modules/@noodle-borg/authoring/dist/react/semantic-components.d.ts +971 -386
  184. package/node_modules/@noodle-borg/authoring/dist/react/semantic-components.d.ts.map +1 -1
  185. package/node_modules/@noodle-borg/authoring/dist/react/semantic-components.js +57 -10
  186. package/node_modules/@noodle-borg/authoring/dist/react/semantic-components.js.map +1 -1
  187. package/node_modules/@noodle-borg/authoring/dist/react.d.ts +2 -2
  188. package/node_modules/@noodle-borg/authoring/dist/react.d.ts.map +1 -1
  189. package/node_modules/@noodle-borg/authoring/dist/react.js +2 -1
  190. package/node_modules/@noodle-borg/authoring/dist/react.js.map +1 -1
  191. package/node_modules/@noodle-borg/authoring/dist/server.d.ts +0 -1
  192. package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
  193. package/node_modules/@noodle-borg/authoring/dist/server.js +24 -6
  194. package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
  195. package/node_modules/@noodle-borg/authoring/package.json +8 -1
  196. package/node_modules/@noodle-borg/capabilities/package.json +1 -0
  197. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +3 -1
  198. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
  199. package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
  200. package/node_modules/@noodle-borg/compiler/dist/compile.js +48 -3
  201. package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
  202. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  203. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts.map +1 -1
  204. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.d.ts.map +1 -1
  205. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js +1 -4
  206. package/node_modules/@noodle-borg/compiler/dist/fulfilment-emit.js.map +1 -1
  207. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts +7 -9
  208. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.d.ts.map +1 -1
  209. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js +8 -18
  210. package/node_modules/@noodle-borg/compiler/dist/fulfilment-structural.js.map +1 -1
  211. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +1 -1
  212. package/node_modules/@noodle-borg/compiler/dist/index.d.ts.map +1 -1
  213. package/node_modules/@noodle-borg/compiler/dist/index.js +1 -1
  214. package/node_modules/@noodle-borg/compiler/dist/index.js.map +1 -1
  215. package/node_modules/@noodle-borg/compiler/dist/manifest/csp-origins.js +2 -2
  216. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +1 -5
  217. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
  218. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +19 -8
  219. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
  220. package/node_modules/@noodle-borg/compiler/dist/schema-validation.d.ts +9 -0
  221. package/node_modules/@noodle-borg/compiler/dist/schema-validation.d.ts.map +1 -1
  222. package/node_modules/@noodle-borg/compiler/dist/schema-validation.js +42 -0
  223. package/node_modules/@noodle-borg/compiler/dist/schema-validation.js.map +1 -1
  224. package/node_modules/@noodle-borg/compiler/package.json +1 -0
  225. package/node_modules/@noodle-borg/compute/package.json +1 -0
  226. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts +1 -1
  227. package/node_modules/@noodle-borg/connector-defs/dist/index.d.ts.map +1 -1
  228. package/node_modules/@noodle-borg/connector-defs/dist/index.js.map +1 -1
  229. package/node_modules/@noodle-borg/connector-defs/package.json +1 -0
  230. package/node_modules/@noodle-borg/connector-http/package.json +1 -0
  231. package/node_modules/@noodle-borg/module/package.json +1 -0
  232. package/node_modules/@noodle-borg/module-audit/package.json +1 -0
  233. package/node_modules/@noodle-borg/openapi-import/dist/index.js +1 -1
  234. package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
  235. package/node_modules/@noodle-borg/openapi-import/package.json +1 -0
  236. package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts +9 -0
  237. package/node_modules/@noodle-borg/protocol/dist/input-validation.d.ts.map +1 -1
  238. package/node_modules/@noodle-borg/protocol/dist/input-validation.js +13 -1
  239. package/node_modules/@noodle-borg/protocol/dist/input-validation.js.map +1 -1
  240. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +8 -5
  241. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
  242. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts +1 -1
  243. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.d.ts.map +1 -1
  244. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js +26 -2
  245. package/node_modules/@noodle-borg/protocol/dist/widget/react-bridge-bootstrap.js.map +1 -1
  246. package/node_modules/@noodle-borg/protocol/package.json +1 -0
  247. package/node_modules/@noodle-borg/runtime/package.json +1 -0
  248. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts +19 -0
  249. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.d.ts.map +1 -0
  250. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js +84 -0
  251. package/node_modules/@noodle-borg/service/dist/assistant-model-stream.js.map +1 -0
  252. package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts +2 -0
  253. package/node_modules/@noodle-borg/service/dist/assistant-store.d.ts.map +1 -1
  254. package/node_modules/@noodle-borg/service/dist/assistant-store.js +11 -0
  255. package/node_modules/@noodle-borg/service/dist/assistant-store.js.map +1 -1
  256. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +4 -0
  257. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  258. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +10 -1
  259. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  260. package/node_modules/@noodle-borg/service/dist/build-info.d.ts +9 -0
  261. package/node_modules/@noodle-borg/service/dist/build-info.d.ts.map +1 -1
  262. package/node_modules/@noodle-borg/service/dist/build-info.js +50 -0
  263. package/node_modules/@noodle-borg/service/dist/build-info.js.map +1 -1
  264. package/node_modules/@noodle-borg/service/dist/client-compatibility.d.ts +5 -0
  265. package/node_modules/@noodle-borg/service/dist/client-compatibility.d.ts.map +1 -0
  266. package/node_modules/@noodle-borg/service/dist/client-compatibility.js +12 -0
  267. package/node_modules/@noodle-borg/service/dist/client-compatibility.js.map +1 -0
  268. package/node_modules/@noodle-borg/service/dist/connector-normalize.d.ts +6 -0
  269. package/node_modules/@noodle-borg/service/dist/connector-normalize.d.ts.map +1 -0
  270. package/node_modules/@noodle-borg/service/dist/connector-normalize.js +80 -0
  271. package/node_modules/@noodle-borg/service/dist/connector-normalize.js.map +1 -0
  272. package/node_modules/@noodle-borg/service/dist/index.d.ts +3 -1
  273. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  274. package/node_modules/@noodle-borg/service/dist/index.js +2 -0
  275. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  276. package/node_modules/@noodle-borg/service/dist/main.js +8 -0
  277. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  278. package/node_modules/@noodle-borg/service/dist/manifest-normalize.d.ts.map +1 -1
  279. package/node_modules/@noodle-borg/service/dist/manifest-normalize.js +13 -0
  280. package/node_modules/@noodle-borg/service/dist/manifest-normalize.js.map +1 -1
  281. package/node_modules/@noodle-borg/service/dist/options.d.ts +7 -0
  282. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  283. package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts +1 -0
  284. package/node_modules/@noodle-borg/service/dist/personal-workspace.d.ts.map +1 -1
  285. package/node_modules/@noodle-borg/service/dist/personal-workspace.js +4 -5
  286. package/node_modules/@noodle-borg/service/dist/personal-workspace.js.map +1 -1
  287. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  288. package/node_modules/@noodle-borg/service/dist/registry.js +10 -4
  289. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  290. package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts.map +1 -1
  291. package/node_modules/@noodle-borg/service/dist/routes/access-mode.js +2 -6
  292. package/node_modules/@noodle-borg/service/dist/routes/access-mode.js.map +1 -1
  293. package/node_modules/@noodle-borg/service/dist/routes/assets.d.ts +6 -2
  294. package/node_modules/@noodle-borg/service/dist/routes/assets.d.ts.map +1 -1
  295. package/node_modules/@noodle-borg/service/dist/routes/assets.js +12 -52
  296. package/node_modules/@noodle-borg/service/dist/routes/assets.js.map +1 -1
  297. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
  298. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +7 -2
  299. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
  300. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +1 -0
  301. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
  302. package/node_modules/@noodle-borg/service/dist/routes/assistant.js +103 -35
  303. package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
  304. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  305. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +22 -27
  306. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  307. package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts +3 -0
  308. package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.d.ts.map +1 -1
  309. package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js +6 -1
  310. package/node_modules/@noodle-borg/service/dist/routes/org-admin-dispatch.js.map +1 -1
  311. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts +5 -1
  312. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -1
  313. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +31 -3
  314. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
  315. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  316. package/node_modules/@noodle-borg/service/dist/serve.js +12 -0
  317. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  318. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  319. package/node_modules/@noodle-borg/service/dist/service.js +6 -3
  320. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  321. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +15 -1
  322. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
  323. package/node_modules/@noodle-borg/service/dist/store/control-plane.js +81 -0
  324. package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
  325. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts +1 -0
  326. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.d.ts.map +1 -1
  327. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js +18 -0
  328. package/node_modules/@noodle-borg/service/dist/store/postgres-assistant.js.map +1 -1
  329. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +15 -1
  330. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
  331. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +83 -0
  332. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
  333. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  334. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +21 -0
  335. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  336. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.d.ts +22 -0
  337. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.d.ts.map +1 -0
  338. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js +26 -0
  339. package/node_modules/@noodle-borg/service/dist/store/postgres-signup.js.map +1 -0
  340. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +2 -1
  341. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
  342. package/node_modules/@noodle-borg/service/dist/store/postgres.js +10 -9
  343. package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
  344. package/node_modules/@noodle-borg/service/dist/store.d.ts +40 -0
  345. package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
  346. package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
  347. package/node_modules/@noodle-borg/service/dist/welcome-email.d.ts +65 -0
  348. package/node_modules/@noodle-borg/service/dist/welcome-email.d.ts.map +1 -0
  349. package/node_modules/@noodle-borg/service/dist/welcome-email.js +243 -0
  350. package/node_modules/@noodle-borg/service/dist/welcome-email.js.map +1 -0
  351. package/node_modules/@noodle-borg/service/package.json +2 -0
  352. package/node_modules/@noodle-borg/transport-http/dist/examples/serve-demo.js +1 -1
  353. package/node_modules/@noodle-borg/transport-http/package.json +1 -0
  354. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +26 -0
  355. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts.map +1 -0
  356. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js +31 -0
  357. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.js.map +1 -0
  358. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +261 -0
  359. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts.map +1 -0
  360. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +150 -0
  361. package/node_modules/@noodle-borg/wire-contracts/dist/index.js.map +1 -0
  362. package/node_modules/@noodle-borg/wire-contracts/package.json +31 -0
  363. package/node_modules/@radix-ui/primitive/LICENSE +21 -0
  364. package/node_modules/@radix-ui/primitive/README.md +3 -0
  365. package/node_modules/@radix-ui/primitive/dist/index.d.mts +20 -0
  366. package/node_modules/@radix-ui/primitive/dist/index.d.ts +20 -0
  367. package/node_modules/@radix-ui/primitive/dist/index.js +76 -0
  368. package/node_modules/@radix-ui/primitive/dist/index.js.map +7 -0
  369. package/node_modules/@radix-ui/primitive/dist/index.mjs +53 -0
  370. package/node_modules/@radix-ui/primitive/dist/index.mjs.map +7 -0
  371. package/node_modules/@radix-ui/primitive/package.json +47 -0
  372. package/node_modules/@radix-ui/react-arrow/LICENSE +21 -0
  373. package/node_modules/@radix-ui/react-arrow/README.md +3 -0
  374. package/node_modules/@radix-ui/react-arrow/dist/index.d.mts +10 -0
  375. package/node_modules/@radix-ui/react-arrow/dist/index.d.ts +10 -0
  376. package/node_modules/@radix-ui/react-arrow/dist/index.js +60 -0
  377. package/node_modules/@radix-ui/react-arrow/dist/index.js.map +7 -0
  378. package/node_modules/@radix-ui/react-arrow/dist/index.mjs +27 -0
  379. package/node_modules/@radix-ui/react-arrow/dist/index.mjs.map +7 -0
  380. package/node_modules/@radix-ui/react-arrow/package.json +68 -0
  381. package/node_modules/@radix-ui/react-collection/LICENSE +21 -0
  382. package/node_modules/@radix-ui/react-collection/README.md +3 -0
  383. package/node_modules/@radix-ui/react-collection/dist/index.d.mts +98 -0
  384. package/node_modules/@radix-ui/react-collection/dist/index.d.ts +98 -0
  385. package/node_modules/@radix-ui/react-collection/dist/index.js +577 -0
  386. package/node_modules/@radix-ui/react-collection/dist/index.js.map +7 -0
  387. package/node_modules/@radix-ui/react-collection/dist/index.mjs +545 -0
  388. package/node_modules/@radix-ui/react-collection/dist/index.mjs.map +7 -0
  389. package/node_modules/@radix-ui/react-collection/package.json +71 -0
  390. package/node_modules/@radix-ui/react-compose-refs/LICENSE +21 -0
  391. package/node_modules/@radix-ui/react-compose-refs/README.md +3 -0
  392. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.mts +15 -0
  393. package/node_modules/@radix-ui/react-compose-refs/dist/index.d.ts +15 -0
  394. package/node_modules/@radix-ui/react-compose-refs/dist/index.js +74 -0
  395. package/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +7 -0
  396. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +41 -0
  397. package/node_modules/@radix-ui/react-compose-refs/dist/index.mjs.map +7 -0
  398. package/node_modules/@radix-ui/react-compose-refs/package.json +60 -0
  399. package/node_modules/@radix-ui/react-context/LICENSE +21 -0
  400. package/node_modules/@radix-ui/react-context/README.md +3 -0
  401. package/node_modules/@radix-ui/react-context/dist/index.d.mts +21 -0
  402. package/node_modules/@radix-ui/react-context/dist/index.d.ts +21 -0
  403. package/node_modules/@radix-ui/react-context/dist/index.js +116 -0
  404. package/node_modules/@radix-ui/react-context/dist/index.js.map +7 -0
  405. package/node_modules/@radix-ui/react-context/dist/index.mjs +83 -0
  406. package/node_modules/@radix-ui/react-context/dist/index.mjs.map +7 -0
  407. package/node_modules/@radix-ui/react-context/package.json +60 -0
  408. package/node_modules/@radix-ui/react-dialog/LICENSE +21 -0
  409. package/node_modules/@radix-ui/react-dialog/README.md +3 -0
  410. package/node_modules/@radix-ui/react-dialog/dist/index.d.mts +99 -0
  411. package/node_modules/@radix-ui/react-dialog/dist/index.d.ts +99 -0
  412. package/node_modules/@radix-ui/react-dialog/dist/index.js +330 -0
  413. package/node_modules/@radix-ui/react-dialog/dist/index.js.map +7 -0
  414. package/node_modules/@radix-ui/react-dialog/dist/index.mjs +298 -0
  415. package/node_modules/@radix-ui/react-dialog/dist/index.mjs.map +7 -0
  416. package/node_modules/@radix-ui/react-dialog/package.json +81 -0
  417. package/node_modules/@radix-ui/react-direction/LICENSE +21 -0
  418. package/node_modules/@radix-ui/react-direction/README.md +3 -0
  419. package/node_modules/@radix-ui/react-direction/dist/index.d.mts +12 -0
  420. package/node_modules/@radix-ui/react-direction/dist/index.d.ts +12 -0
  421. package/node_modules/@radix-ui/react-direction/dist/index.js +53 -0
  422. package/node_modules/@radix-ui/react-direction/dist/index.js.map +7 -0
  423. package/node_modules/@radix-ui/react-direction/dist/index.mjs +21 -0
  424. package/node_modules/@radix-ui/react-direction/dist/index.mjs.map +7 -0
  425. package/node_modules/@radix-ui/react-direction/package.json +60 -0
  426. package/node_modules/@radix-ui/react-dismissable-layer/LICENSE +21 -0
  427. package/node_modules/@radix-ui/react-dismissable-layer/README.md +3 -0
  428. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.mts +62 -0
  429. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.d.ts +62 -0
  430. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +364 -0
  431. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +7 -0
  432. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +332 -0
  433. package/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs.map +7 -0
  434. package/node_modules/@radix-ui/react-dismissable-layer/package.json +73 -0
  435. package/node_modules/@radix-ui/react-dropdown-menu/LICENSE +21 -0
  436. package/node_modules/@radix-ui/react-dropdown-menu/README.md +3 -0
  437. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.mts +97 -0
  438. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.d.ts +97 -0
  439. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +338 -0
  440. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.js.map +7 -0
  441. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs +306 -0
  442. package/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs.map +7 -0
  443. package/node_modules/@radix-ui/react-dropdown-menu/package.json +76 -0
  444. package/node_modules/@radix-ui/react-focus-guards/LICENSE +21 -0
  445. package/node_modules/@radix-ui/react-focus-guards/README.md +3 -0
  446. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.mts +13 -0
  447. package/node_modules/@radix-ui/react-focus-guards/dist/index.d.ts +13 -0
  448. package/node_modules/@radix-ui/react-focus-guards/dist/index.js +81 -0
  449. package/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +7 -0
  450. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +49 -0
  451. package/node_modules/@radix-ui/react-focus-guards/dist/index.mjs.map +7 -0
  452. package/node_modules/@radix-ui/react-focus-guards/package.json +60 -0
  453. package/node_modules/@radix-ui/react-focus-scope/LICENSE +21 -0
  454. package/node_modules/@radix-ui/react-focus-scope/README.md +3 -0
  455. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.mts +32 -0
  456. package/node_modules/@radix-ui/react-focus-scope/dist/index.d.ts +32 -0
  457. package/node_modules/@radix-ui/react-focus-scope/dist/index.js +246 -0
  458. package/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +7 -0
  459. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +214 -0
  460. package/node_modules/@radix-ui/react-focus-scope/dist/index.mjs.map +7 -0
  461. package/node_modules/@radix-ui/react-focus-scope/package.json +70 -0
  462. package/node_modules/@radix-ui/react-id/LICENSE +21 -0
  463. package/node_modules/@radix-ui/react-id/README.md +3 -0
  464. package/node_modules/@radix-ui/react-id/dist/index.d.mts +3 -0
  465. package/node_modules/@radix-ui/react-id/dist/index.d.ts +3 -0
  466. package/node_modules/@radix-ui/react-id/dist/index.js +49 -0
  467. package/node_modules/@radix-ui/react-id/dist/index.js.map +7 -0
  468. package/node_modules/@radix-ui/react-id/dist/index.mjs +16 -0
  469. package/node_modules/@radix-ui/react-id/dist/index.mjs.map +7 -0
  470. package/node_modules/@radix-ui/react-id/package.json +63 -0
  471. package/node_modules/@radix-ui/react-menu/LICENSE +21 -0
  472. package/node_modules/@radix-ui/react-menu/README.md +3 -0
  473. package/node_modules/@radix-ui/react-menu/dist/index.d.mts +175 -0
  474. package/node_modules/@radix-ui/react-menu/dist/index.d.ts +175 -0
  475. package/node_modules/@radix-ui/react-menu/dist/index.js +913 -0
  476. package/node_modules/@radix-ui/react-menu/dist/index.js.map +7 -0
  477. package/node_modules/@radix-ui/react-menu/dist/index.mjs +881 -0
  478. package/node_modules/@radix-ui/react-menu/dist/index.mjs.map +7 -0
  479. package/node_modules/@radix-ui/react-menu/package.json +86 -0
  480. package/node_modules/@radix-ui/react-popover/LICENSE +21 -0
  481. package/node_modules/@radix-ui/react-popover/README.md +3 -0
  482. package/node_modules/@radix-ui/react-popover/dist/index.d.mts +85 -0
  483. package/node_modules/@radix-ui/react-popover/dist/index.d.ts +85 -0
  484. package/node_modules/@radix-ui/react-popover/dist/index.js +353 -0
  485. package/node_modules/@radix-ui/react-popover/dist/index.js.map +7 -0
  486. package/node_modules/@radix-ui/react-popover/dist/index.mjs +321 -0
  487. package/node_modules/@radix-ui/react-popover/dist/index.mjs.map +7 -0
  488. package/node_modules/@radix-ui/react-popover/package.json +82 -0
  489. package/node_modules/@radix-ui/react-popper/LICENSE +21 -0
  490. package/node_modules/@radix-ui/react-popper/README.md +3 -0
  491. package/node_modules/@radix-ui/react-popper/dist/index.d.mts +46 -0
  492. package/node_modules/@radix-ui/react-popper/dist/index.d.ts +46 -0
  493. package/node_modules/@radix-ui/react-popper/dist/index.js +384 -0
  494. package/node_modules/@radix-ui/react-popper/dist/index.js.map +7 -0
  495. package/node_modules/@radix-ui/react-popper/dist/index.mjs +362 -0
  496. package/node_modules/@radix-ui/react-popper/dist/index.mjs.map +7 -0
  497. package/node_modules/@radix-ui/react-popper/package.json +78 -0
  498. package/node_modules/@radix-ui/react-portal/LICENSE +21 -0
  499. package/node_modules/@radix-ui/react-portal/README.md +3 -0
  500. package/node_modules/@radix-ui/react-portal/dist/index.d.mts +14 -0
  501. package/node_modules/@radix-ui/react-portal/dist/index.d.ts +14 -0
  502. package/node_modules/@radix-ui/react-portal/dist/index.js +55 -0
  503. package/node_modules/@radix-ui/react-portal/dist/index.js.map +7 -0
  504. package/node_modules/@radix-ui/react-portal/dist/index.mjs +23 -0
  505. package/node_modules/@radix-ui/react-portal/dist/index.mjs.map +7 -0
  506. package/node_modules/@radix-ui/react-portal/package.json +69 -0
  507. package/node_modules/@radix-ui/react-presence/LICENSE +21 -0
  508. package/node_modules/@radix-ui/react-presence/README.md +3 -0
  509. package/node_modules/@radix-ui/react-presence/dist/index.d.mts +12 -0
  510. package/node_modules/@radix-ui/react-presence/dist/index.d.ts +12 -0
  511. package/node_modules/@radix-ui/react-presence/dist/index.js +204 -0
  512. package/node_modules/@radix-ui/react-presence/dist/index.js.map +7 -0
  513. package/node_modules/@radix-ui/react-presence/dist/index.mjs +172 -0
  514. package/node_modules/@radix-ui/react-presence/dist/index.mjs.map +7 -0
  515. package/node_modules/@radix-ui/react-presence/package.json +68 -0
  516. package/node_modules/@radix-ui/react-primitive/LICENSE +21 -0
  517. package/node_modules/@radix-ui/react-primitive/README.md +3 -0
  518. package/node_modules/@radix-ui/react-primitive/dist/index.d.mts +57 -0
  519. package/node_modules/@radix-ui/react-primitive/dist/index.d.ts +57 -0
  520. package/node_modules/@radix-ui/react-primitive/dist/index.js +80 -0
  521. package/node_modules/@radix-ui/react-primitive/dist/index.js.map +7 -0
  522. package/node_modules/@radix-ui/react-primitive/dist/index.mjs +47 -0
  523. package/node_modules/@radix-ui/react-primitive/dist/index.mjs.map +7 -0
  524. package/node_modules/@radix-ui/react-primitive/package.json +68 -0
  525. package/node_modules/@radix-ui/react-roving-focus/LICENSE +21 -0
  526. package/node_modules/@radix-ui/react-roving-focus/README.md +3 -0
  527. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.mts +49 -0
  528. package/node_modules/@radix-ui/react-roving-focus/dist/index.d.ts +49 -0
  529. package/node_modules/@radix-ui/react-roving-focus/dist/index.js +263 -0
  530. package/node_modules/@radix-ui/react-roving-focus/dist/index.js.map +7 -0
  531. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +231 -0
  532. package/node_modules/@radix-ui/react-roving-focus/dist/index.mjs.map +7 -0
  533. package/node_modules/@radix-ui/react-roving-focus/package.json +76 -0
  534. package/node_modules/@radix-ui/react-slot/LICENSE +21 -0
  535. package/node_modules/@radix-ui/react-slot/README.md +3 -0
  536. package/node_modules/@radix-ui/react-slot/dist/index.d.mts +29 -0
  537. package/node_modules/@radix-ui/react-slot/dist/index.d.ts +29 -0
  538. package/node_modules/@radix-ui/react-slot/dist/index.js +170 -0
  539. package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
  540. package/node_modules/@radix-ui/react-slot/dist/index.mjs +137 -0
  541. package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
  542. package/node_modules/@radix-ui/react-slot/package.json +63 -0
  543. package/node_modules/@radix-ui/react-tooltip/LICENSE +21 -0
  544. package/node_modules/@radix-ui/react-tooltip/README.md +3 -0
  545. package/node_modules/@radix-ui/react-tooltip/dist/index.d.mts +101 -0
  546. package/node_modules/@radix-ui/react-tooltip/dist/index.d.ts +101 -0
  547. package/node_modules/@radix-ui/react-tooltip/dist/index.js +543 -0
  548. package/node_modules/@radix-ui/react-tooltip/dist/index.js.map +7 -0
  549. package/node_modules/@radix-ui/react-tooltip/dist/index.mjs +511 -0
  550. package/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +7 -0
  551. package/node_modules/@radix-ui/react-tooltip/package.json +79 -0
  552. package/node_modules/@radix-ui/react-use-callback-ref/LICENSE +21 -0
  553. package/node_modules/@radix-ui/react-use-callback-ref/README.md +3 -0
  554. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.mts +7 -0
  555. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.d.ts +7 -0
  556. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +46 -0
  557. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +7 -0
  558. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +13 -0
  559. package/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs.map +7 -0
  560. package/node_modules/@radix-ui/react-use-callback-ref/package.json +60 -0
  561. package/node_modules/@radix-ui/react-use-controllable-state/LICENSE +21 -0
  562. package/node_modules/@radix-ui/react-use-controllable-state/README.md +3 -0
  563. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.mts +40 -0
  564. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.d.ts +40 -0
  565. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +169 -0
  566. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +7 -0
  567. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +136 -0
  568. package/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs.map +7 -0
  569. package/node_modules/@radix-ui/react-use-controllable-state/package.json +64 -0
  570. package/node_modules/@radix-ui/react-use-effect-event/LICENSE +21 -0
  571. package/node_modules/@radix-ui/react-use-effect-event/README.md +5 -0
  572. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.mts +8 -0
  573. package/node_modules/@radix-ui/react-use-effect-event/dist/index.d.ts +8 -0
  574. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js +60 -0
  575. package/node_modules/@radix-ui/react-use-effect-event/dist/index.js.map +7 -0
  576. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs +27 -0
  577. package/node_modules/@radix-ui/react-use-effect-event/dist/index.mjs.map +7 -0
  578. package/node_modules/@radix-ui/react-use-effect-event/package.json +65 -0
  579. package/node_modules/@radix-ui/react-use-effect-event/src/index.ts +1 -0
  580. package/node_modules/@radix-ui/react-use-effect-event/src/use-effect-event.tsx +36 -0
  581. package/node_modules/@radix-ui/react-use-escape-keydown/LICENSE +21 -0
  582. package/node_modules/@radix-ui/react-use-escape-keydown/README.md +3 -0
  583. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.mts +6 -0
  584. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.d.ts +6 -0
  585. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +52 -0
  586. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +7 -0
  587. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +19 -0
  588. package/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs.map +7 -0
  589. package/node_modules/@radix-ui/react-use-escape-keydown/package.json +63 -0
  590. package/node_modules/@radix-ui/react-use-layout-effect/LICENSE +21 -0
  591. package/node_modules/@radix-ui/react-use-layout-effect/README.md +3 -0
  592. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.mts +12 -0
  593. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.d.ts +12 -0
  594. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +41 -0
  595. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +7 -0
  596. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +8 -0
  597. package/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs.map +7 -0
  598. package/node_modules/@radix-ui/react-use-layout-effect/package.json +60 -0
  599. package/node_modules/@radix-ui/react-use-rect/LICENSE +21 -0
  600. package/node_modules/@radix-ui/react-use-rect/README.md +3 -0
  601. package/node_modules/@radix-ui/react-use-rect/dist/index.d.mts +9 -0
  602. package/node_modules/@radix-ui/react-use-rect/dist/index.d.ts +9 -0
  603. package/node_modules/@radix-ui/react-use-rect/dist/index.js +54 -0
  604. package/node_modules/@radix-ui/react-use-rect/dist/index.js.map +7 -0
  605. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs +21 -0
  606. package/node_modules/@radix-ui/react-use-rect/dist/index.mjs.map +7 -0
  607. package/node_modules/@radix-ui/react-use-rect/package.json +63 -0
  608. package/node_modules/@radix-ui/react-use-size/LICENSE +21 -0
  609. package/node_modules/@radix-ui/react-use-size/README.md +3 -0
  610. package/node_modules/@radix-ui/react-use-size/dist/index.d.mts +6 -0
  611. package/node_modules/@radix-ui/react-use-size/dist/index.d.ts +6 -0
  612. package/node_modules/@radix-ui/react-use-size/dist/index.js +74 -0
  613. package/node_modules/@radix-ui/react-use-size/dist/index.js.map +7 -0
  614. package/node_modules/@radix-ui/react-use-size/dist/index.mjs +41 -0
  615. package/node_modules/@radix-ui/react-use-size/dist/index.mjs.map +7 -0
  616. package/node_modules/@radix-ui/react-use-size/package.json +63 -0
  617. package/node_modules/@radix-ui/react-visually-hidden/LICENSE +21 -0
  618. package/node_modules/@radix-ui/react-visually-hidden/README.md +3 -0
  619. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.mts +22 -0
  620. package/node_modules/@radix-ui/react-visually-hidden/dist/index.d.ts +22 -0
  621. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js +71 -0
  622. package/node_modules/@radix-ui/react-visually-hidden/dist/index.js.map +7 -0
  623. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +38 -0
  624. package/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs.map +7 -0
  625. package/node_modules/@radix-ui/react-visually-hidden/package.json +68 -0
  626. package/node_modules/@radix-ui/rect/LICENSE +21 -0
  627. package/node_modules/@radix-ui/rect/README.md +3 -0
  628. package/node_modules/@radix-ui/rect/dist/index.d.mts +16 -0
  629. package/node_modules/@radix-ui/rect/dist/index.d.ts +16 -0
  630. package/node_modules/@radix-ui/rect/dist/index.js +73 -0
  631. package/node_modules/@radix-ui/rect/dist/index.js.map +7 -0
  632. package/node_modules/@radix-ui/rect/dist/index.mjs +50 -0
  633. package/node_modules/@radix-ui/rect/dist/index.mjs.map +7 -0
  634. package/node_modules/@radix-ui/rect/package.json +47 -0
  635. package/node_modules/aria-hidden/LICENSE +21 -0
  636. package/node_modules/aria-hidden/README.md +99 -0
  637. package/node_modules/aria-hidden/dist/es2015/index.d.ts +29 -0
  638. package/node_modules/aria-hidden/dist/es2015/index.js +167 -0
  639. package/node_modules/aria-hidden/dist/es2019/index.d.ts +29 -0
  640. package/node_modules/aria-hidden/dist/es2019/index.js +156 -0
  641. package/node_modules/aria-hidden/dist/es5/index.d.ts +29 -0
  642. package/node_modules/aria-hidden/dist/es5/index.js +174 -0
  643. package/node_modules/aria-hidden/package.json +71 -0
  644. package/node_modules/detect-node-es/LICENSE +21 -0
  645. package/node_modules/detect-node-es/Readme.md +39 -0
  646. package/node_modules/detect-node-es/es5/browser.js +2 -0
  647. package/node_modules/detect-node-es/es5/node.d.ts +4 -0
  648. package/node_modules/detect-node-es/es5/node.js +2 -0
  649. package/node_modules/detect-node-es/esm/browser.js +2 -0
  650. package/node_modules/detect-node-es/esm/node.js +2 -0
  651. package/node_modules/detect-node-es/package.json +29 -0
  652. package/node_modules/get-nonce/LICENSE +21 -0
  653. package/node_modules/get-nonce/README.md +54 -0
  654. package/node_modules/get-nonce/dist/es2015/index.d.ts +2 -0
  655. package/node_modules/get-nonce/dist/es2015/index.js +13 -0
  656. package/node_modules/get-nonce/dist/es5/index.d.ts +2 -0
  657. package/node_modules/get-nonce/dist/es5/index.js +15 -0
  658. package/node_modules/get-nonce/package.json +68 -0
  659. package/node_modules/react-remove-scroll/LICENSE +21 -0
  660. package/node_modules/react-remove-scroll/README.md +153 -0
  661. package/node_modules/react-remove-scroll/UI/UI.d.ts +1 -0
  662. package/node_modules/react-remove-scroll/UI/package.json +8 -0
  663. package/node_modules/react-remove-scroll/dist/es2015/Combination.d.ts +3 -0
  664. package/node_modules/react-remove-scroll/dist/es2015/Combination.js +7 -0
  665. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.d.ts +5 -0
  666. package/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +164 -0
  667. package/node_modules/react-remove-scroll/dist/es2015/UI.d.ts +7 -0
  668. package/node_modules/react-remove-scroll/dist/es2015/UI.js +36 -0
  669. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.d.ts +3 -0
  670. package/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +19 -0
  671. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.d.ts +3 -0
  672. package/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +108 -0
  673. package/node_modules/react-remove-scroll/dist/es2015/index.d.ts +2 -0
  674. package/node_modules/react-remove-scroll/dist/es2015/index.js +2 -0
  675. package/node_modules/react-remove-scroll/dist/es2015/medium.d.ts +2 -0
  676. package/node_modules/react-remove-scroll/dist/es2015/medium.js +2 -0
  677. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.d.ts +8 -0
  678. package/node_modules/react-remove-scroll/dist/es2015/pinchAndZoom.js +33 -0
  679. package/node_modules/react-remove-scroll/dist/es2015/sidecar.d.ts +2 -0
  680. package/node_modules/react-remove-scroll/dist/es2015/sidecar.js +4 -0
  681. package/node_modules/react-remove-scroll/dist/es2015/types.d.ts +104 -0
  682. package/node_modules/react-remove-scroll/dist/es2015/types.js +1 -0
  683. package/node_modules/react-remove-scroll/dist/es2019/Combination.d.ts +3 -0
  684. package/node_modules/react-remove-scroll/dist/es2019/Combination.js +6 -0
  685. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.d.ts +5 -0
  686. package/node_modules/react-remove-scroll/dist/es2019/SideEffect.js +162 -0
  687. package/node_modules/react-remove-scroll/dist/es2019/UI.d.ts +7 -0
  688. package/node_modules/react-remove-scroll/dist/es2019/UI.js +41 -0
  689. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.d.ts +3 -0
  690. package/node_modules/react-remove-scroll/dist/es2019/aggresiveCapture.js +19 -0
  691. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.d.ts +3 -0
  692. package/node_modules/react-remove-scroll/dist/es2019/handleScroll.js +96 -0
  693. package/node_modules/react-remove-scroll/dist/es2019/index.d.ts +2 -0
  694. package/node_modules/react-remove-scroll/dist/es2019/index.js +2 -0
  695. package/node_modules/react-remove-scroll/dist/es2019/medium.d.ts +2 -0
  696. package/node_modules/react-remove-scroll/dist/es2019/medium.js +2 -0
  697. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.d.ts +8 -0
  698. package/node_modules/react-remove-scroll/dist/es2019/pinchAndZoom.js +33 -0
  699. package/node_modules/react-remove-scroll/dist/es2019/sidecar.d.ts +2 -0
  700. package/node_modules/react-remove-scroll/dist/es2019/sidecar.js +4 -0
  701. package/node_modules/react-remove-scroll/dist/es2019/types.d.ts +104 -0
  702. package/node_modules/react-remove-scroll/dist/es2019/types.js +1 -0
  703. package/node_modules/react-remove-scroll/dist/es5/Combination.d.ts +3 -0
  704. package/node_modules/react-remove-scroll/dist/es5/Combination.js +9 -0
  705. package/node_modules/react-remove-scroll/dist/es5/SideEffect.d.ts +5 -0
  706. package/node_modules/react-remove-scroll/dist/es5/SideEffect.js +170 -0
  707. package/node_modules/react-remove-scroll/dist/es5/UI.d.ts +7 -0
  708. package/node_modules/react-remove-scroll/dist/es5/UI.js +39 -0
  709. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.d.ts +3 -0
  710. package/node_modules/react-remove-scroll/dist/es5/aggresiveCapture.js +22 -0
  711. package/node_modules/react-remove-scroll/dist/es5/handleScroll.d.ts +3 -0
  712. package/node_modules/react-remove-scroll/dist/es5/handleScroll.js +113 -0
  713. package/node_modules/react-remove-scroll/dist/es5/index.d.ts +2 -0
  714. package/node_modules/react-remove-scroll/dist/es5/index.js +6 -0
  715. package/node_modules/react-remove-scroll/dist/es5/medium.d.ts +2 -0
  716. package/node_modules/react-remove-scroll/dist/es5/medium.js +5 -0
  717. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.d.ts +8 -0
  718. package/node_modules/react-remove-scroll/dist/es5/pinchAndZoom.js +37 -0
  719. package/node_modules/react-remove-scroll/dist/es5/sidecar.d.ts +2 -0
  720. package/node_modules/react-remove-scroll/dist/es5/sidecar.js +6 -0
  721. package/node_modules/react-remove-scroll/dist/es5/types.d.ts +104 -0
  722. package/node_modules/react-remove-scroll/dist/es5/types.js +2 -0
  723. package/node_modules/react-remove-scroll/package.json +98 -0
  724. package/node_modules/react-remove-scroll/sidecar/package.json +7 -0
  725. package/node_modules/react-remove-scroll/sidecar/sidecar.d.ts +5 -0
  726. package/node_modules/react-remove-scroll-bar/README.md +52 -0
  727. package/node_modules/react-remove-scroll-bar/constants/package.json +8 -0
  728. package/node_modules/react-remove-scroll-bar/dist/es2015/component.d.ts +13 -0
  729. package/node_modules/react-remove-scroll-bar/dist/es2015/component.js +53 -0
  730. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.d.ts +8 -0
  731. package/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +8 -0
  732. package/node_modules/react-remove-scroll-bar/dist/es2015/index.d.ts +4 -0
  733. package/node_modules/react-remove-scroll-bar/dist/es2015/index.js +4 -0
  734. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.d.ts +14 -0
  735. package/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +29 -0
  736. package/node_modules/react-remove-scroll-bar/dist/es2019/component.d.ts +13 -0
  737. package/node_modules/react-remove-scroll-bar/dist/es2019/component.js +85 -0
  738. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.d.ts +8 -0
  739. package/node_modules/react-remove-scroll-bar/dist/es2019/constants.js +8 -0
  740. package/node_modules/react-remove-scroll-bar/dist/es2019/index.d.ts +4 -0
  741. package/node_modules/react-remove-scroll-bar/dist/es2019/index.js +4 -0
  742. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.d.ts +14 -0
  743. package/node_modules/react-remove-scroll-bar/dist/es2019/utils.js +28 -0
  744. package/node_modules/react-remove-scroll-bar/dist/es5/component.d.ts +13 -0
  745. package/node_modules/react-remove-scroll-bar/dist/es5/component.js +59 -0
  746. package/node_modules/react-remove-scroll-bar/dist/es5/constants.d.ts +8 -0
  747. package/node_modules/react-remove-scroll-bar/dist/es5/constants.js +11 -0
  748. package/node_modules/react-remove-scroll-bar/dist/es5/index.d.ts +4 -0
  749. package/node_modules/react-remove-scroll-bar/dist/es5/index.js +12 -0
  750. package/node_modules/react-remove-scroll-bar/dist/es5/utils.d.ts +14 -0
  751. package/node_modules/react-remove-scroll-bar/dist/es5/utils.js +33 -0
  752. package/node_modules/react-remove-scroll-bar/package.json +85 -0
  753. package/node_modules/react-style-singleton/LICENSE +21 -0
  754. package/node_modules/react-style-singleton/README.md +45 -0
  755. package/node_modules/react-style-singleton/dist/es2015/component.d.ts +21 -0
  756. package/node_modules/react-style-singleton/dist/es2015/component.js +16 -0
  757. package/node_modules/react-style-singleton/dist/es2015/hook.d.ts +23 -0
  758. package/node_modules/react-style-singleton/dist/es2015/hook.js +22 -0
  759. package/node_modules/react-style-singleton/dist/es2015/index.d.ts +3 -0
  760. package/node_modules/react-style-singleton/dist/es2015/index.js +3 -0
  761. package/node_modules/react-style-singleton/dist/es2015/singleton.d.ts +4 -0
  762. package/node_modules/react-style-singleton/dist/es2015/singleton.js +48 -0
  763. package/node_modules/react-style-singleton/dist/es2019/component.d.ts +21 -0
  764. package/node_modules/react-style-singleton/dist/es2019/component.js +15 -0
  765. package/node_modules/react-style-singleton/dist/es2019/hook.d.ts +23 -0
  766. package/node_modules/react-style-singleton/dist/es2019/hook.js +22 -0
  767. package/node_modules/react-style-singleton/dist/es2019/index.d.ts +3 -0
  768. package/node_modules/react-style-singleton/dist/es2019/index.js +3 -0
  769. package/node_modules/react-style-singleton/dist/es2019/singleton.d.ts +4 -0
  770. package/node_modules/react-style-singleton/dist/es2019/singleton.js +48 -0
  771. package/node_modules/react-style-singleton/dist/es5/component.d.ts +21 -0
  772. package/node_modules/react-style-singleton/dist/es5/component.js +20 -0
  773. package/node_modules/react-style-singleton/dist/es5/hook.d.ts +23 -0
  774. package/node_modules/react-style-singleton/dist/es5/hook.js +27 -0
  775. package/node_modules/react-style-singleton/dist/es5/index.d.ts +3 -0
  776. package/node_modules/react-style-singleton/dist/es5/index.js +9 -0
  777. package/node_modules/react-style-singleton/dist/es5/singleton.d.ts +4 -0
  778. package/node_modules/react-style-singleton/dist/es5/singleton.js +52 -0
  779. package/node_modules/react-style-singleton/dist/index.js +1 -0
  780. package/node_modules/react-style-singleton/package.json +90 -0
  781. package/node_modules/tslib/CopyrightNotice.txt +15 -0
  782. package/node_modules/tslib/LICENSE.txt +12 -0
  783. package/node_modules/tslib/README.md +164 -0
  784. package/node_modules/tslib/SECURITY.md +41 -0
  785. package/node_modules/tslib/modules/index.d.ts +38 -0
  786. package/node_modules/tslib/modules/index.js +70 -0
  787. package/node_modules/tslib/modules/package.json +3 -0
  788. package/node_modules/tslib/package.json +47 -0
  789. package/node_modules/tslib/tslib.d.ts +460 -0
  790. package/node_modules/tslib/tslib.es6.html +1 -0
  791. package/node_modules/tslib/tslib.es6.js +402 -0
  792. package/node_modules/tslib/tslib.es6.mjs +401 -0
  793. package/node_modules/tslib/tslib.html +1 -0
  794. package/node_modules/tslib/tslib.js +484 -0
  795. package/node_modules/use-callback-ref/LICENSE +21 -0
  796. package/node_modules/use-callback-ref/README.md +170 -0
  797. package/node_modules/use-callback-ref/dist/es2015/assignRef.d.ts +15 -0
  798. package/node_modules/use-callback-ref/dist/es2015/assignRef.js +22 -0
  799. package/node_modules/use-callback-ref/dist/es2015/createRef.d.ts +10 -0
  800. package/node_modules/use-callback-ref/dist/es2015/createRef.js +23 -0
  801. package/node_modules/use-callback-ref/dist/es2015/index.d.ts +8 -0
  802. package/node_modules/use-callback-ref/dist/es2015/index.js +12 -0
  803. package/node_modules/use-callback-ref/dist/es2015/mergeRef.d.ts +16 -0
  804. package/node_modules/use-callback-ref/dist/es2015/mergeRef.js +18 -0
  805. package/node_modules/use-callback-ref/dist/es2015/refToCallback.d.ts +24 -0
  806. package/node_modules/use-callback-ref/dist/es2015/refToCallback.js +48 -0
  807. package/node_modules/use-callback-ref/dist/es2015/transformRef.d.ts +11 -0
  808. package/node_modules/use-callback-ref/dist/es2015/transformRef.js +14 -0
  809. package/node_modules/use-callback-ref/dist/es2015/types.d.ts +5 -0
  810. package/node_modules/use-callback-ref/dist/es2015/types.js +1 -0
  811. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.d.ts +17 -0
  812. package/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +45 -0
  813. package/node_modules/use-callback-ref/dist/es2015/useRef.d.ts +16 -0
  814. package/node_modules/use-callback-ref/dist/es2015/useRef.js +39 -0
  815. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.d.ts +15 -0
  816. package/node_modules/use-callback-ref/dist/es2015/useTransformRef.js +18 -0
  817. package/node_modules/use-callback-ref/dist/es2019/assignRef.d.ts +15 -0
  818. package/node_modules/use-callback-ref/dist/es2019/assignRef.js +22 -0
  819. package/node_modules/use-callback-ref/dist/es2019/createRef.d.ts +10 -0
  820. package/node_modules/use-callback-ref/dist/es2019/createRef.js +23 -0
  821. package/node_modules/use-callback-ref/dist/es2019/index.d.ts +8 -0
  822. package/node_modules/use-callback-ref/dist/es2019/index.js +12 -0
  823. package/node_modules/use-callback-ref/dist/es2019/mergeRef.d.ts +16 -0
  824. package/node_modules/use-callback-ref/dist/es2019/mergeRef.js +18 -0
  825. package/node_modules/use-callback-ref/dist/es2019/refToCallback.d.ts +24 -0
  826. package/node_modules/use-callback-ref/dist/es2019/refToCallback.js +48 -0
  827. package/node_modules/use-callback-ref/dist/es2019/transformRef.d.ts +11 -0
  828. package/node_modules/use-callback-ref/dist/es2019/transformRef.js +14 -0
  829. package/node_modules/use-callback-ref/dist/es2019/types.d.ts +5 -0
  830. package/node_modules/use-callback-ref/dist/es2019/types.js +1 -0
  831. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.d.ts +17 -0
  832. package/node_modules/use-callback-ref/dist/es2019/useMergeRef.js +43 -0
  833. package/node_modules/use-callback-ref/dist/es2019/useRef.d.ts +16 -0
  834. package/node_modules/use-callback-ref/dist/es2019/useRef.js +39 -0
  835. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.d.ts +15 -0
  836. package/node_modules/use-callback-ref/dist/es2019/useTransformRef.js +18 -0
  837. package/node_modules/use-callback-ref/dist/es5/assignRef.d.ts +15 -0
  838. package/node_modules/use-callback-ref/dist/es5/assignRef.js +26 -0
  839. package/node_modules/use-callback-ref/dist/es5/createRef.d.ts +10 -0
  840. package/node_modules/use-callback-ref/dist/es5/createRef.js +27 -0
  841. package/node_modules/use-callback-ref/dist/es5/index.d.ts +8 -0
  842. package/node_modules/use-callback-ref/dist/es5/index.js +24 -0
  843. package/node_modules/use-callback-ref/dist/es5/mergeRef.d.ts +16 -0
  844. package/node_modules/use-callback-ref/dist/es5/mergeRef.js +22 -0
  845. package/node_modules/use-callback-ref/dist/es5/refToCallback.d.ts +24 -0
  846. package/node_modules/use-callback-ref/dist/es5/refToCallback.js +53 -0
  847. package/node_modules/use-callback-ref/dist/es5/transformRef.d.ts +11 -0
  848. package/node_modules/use-callback-ref/dist/es5/transformRef.js +18 -0
  849. package/node_modules/use-callback-ref/dist/es5/types.d.ts +5 -0
  850. package/node_modules/use-callback-ref/dist/es5/types.js +2 -0
  851. package/node_modules/use-callback-ref/dist/es5/useMergeRef.d.ts +17 -0
  852. package/node_modules/use-callback-ref/dist/es5/useMergeRef.js +50 -0
  853. package/node_modules/use-callback-ref/dist/es5/useRef.d.ts +16 -0
  854. package/node_modules/use-callback-ref/dist/es5/useRef.js +43 -0
  855. package/node_modules/use-callback-ref/dist/es5/useTransformRef.d.ts +15 -0
  856. package/node_modules/use-callback-ref/dist/es5/useTransformRef.js +22 -0
  857. package/node_modules/use-callback-ref/package.json +85 -0
  858. package/node_modules/use-sidecar/LICENSE +21 -0
  859. package/node_modules/use-sidecar/README.md +349 -0
  860. package/node_modules/use-sidecar/dist/es2015/config.d.ts +5 -0
  861. package/node_modules/use-sidecar/dist/es2015/config.js +6 -0
  862. package/node_modules/use-sidecar/dist/es2015/env.d.ts +4 -0
  863. package/node_modules/use-sidecar/dist/es2015/env.js +5 -0
  864. package/node_modules/use-sidecar/dist/es2015/exports.d.ts +3 -0
  865. package/node_modules/use-sidecar/dist/es2015/exports.js +18 -0
  866. package/node_modules/use-sidecar/dist/es2015/hoc.d.ts +3 -0
  867. package/node_modules/use-sidecar/dist/es2015/hoc.js +15 -0
  868. package/node_modules/use-sidecar/dist/es2015/hook.d.ts +2 -0
  869. package/node_modules/use-sidecar/dist/es2015/hook.js +41 -0
  870. package/node_modules/use-sidecar/dist/es2015/index.d.ts +7 -0
  871. package/node_modules/use-sidecar/dist/es2015/index.js +6 -0
  872. package/node_modules/use-sidecar/dist/es2015/medium.d.ts +3 -0
  873. package/node_modules/use-sidecar/dist/es2015/medium.js +78 -0
  874. package/node_modules/use-sidecar/dist/es2015/renderProp.d.ts +9 -0
  875. package/node_modules/use-sidecar/dist/es2015/renderProp.js +35 -0
  876. package/node_modules/use-sidecar/dist/es2015/types.d.ts +47 -0
  877. package/node_modules/use-sidecar/dist/es2015/types.js +1 -0
  878. package/node_modules/use-sidecar/dist/es2019/config.d.ts +5 -0
  879. package/node_modules/use-sidecar/dist/es2019/config.js +6 -0
  880. package/node_modules/use-sidecar/dist/es2019/env.d.ts +4 -0
  881. package/node_modules/use-sidecar/dist/es2019/env.js +5 -0
  882. package/node_modules/use-sidecar/dist/es2019/exports.d.ts +3 -0
  883. package/node_modules/use-sidecar/dist/es2019/exports.js +16 -0
  884. package/node_modules/use-sidecar/dist/es2019/hoc.d.ts +3 -0
  885. package/node_modules/use-sidecar/dist/es2019/hoc.js +14 -0
  886. package/node_modules/use-sidecar/dist/es2019/hook.d.ts +2 -0
  887. package/node_modules/use-sidecar/dist/es2019/hook.js +41 -0
  888. package/node_modules/use-sidecar/dist/es2019/index.d.ts +7 -0
  889. package/node_modules/use-sidecar/dist/es2019/index.js +6 -0
  890. package/node_modules/use-sidecar/dist/es2019/medium.d.ts +3 -0
  891. package/node_modules/use-sidecar/dist/es2019/medium.js +78 -0
  892. package/node_modules/use-sidecar/dist/es2019/renderProp.d.ts +9 -0
  893. package/node_modules/use-sidecar/dist/es2019/renderProp.js +28 -0
  894. package/node_modules/use-sidecar/dist/es2019/types.d.ts +47 -0
  895. package/node_modules/use-sidecar/dist/es2019/types.js +1 -0
  896. package/node_modules/use-sidecar/dist/es5/config.d.ts +5 -0
  897. package/node_modules/use-sidecar/dist/es5/config.js +10 -0
  898. package/node_modules/use-sidecar/dist/es5/env.d.ts +4 -0
  899. package/node_modules/use-sidecar/dist/es5/env.js +8 -0
  900. package/node_modules/use-sidecar/dist/es5/exports.d.ts +3 -0
  901. package/node_modules/use-sidecar/dist/es5/exports.js +22 -0
  902. package/node_modules/use-sidecar/dist/es5/hoc.d.ts +3 -0
  903. package/node_modules/use-sidecar/dist/es5/hoc.js +19 -0
  904. package/node_modules/use-sidecar/dist/es5/hook.d.ts +2 -0
  905. package/node_modules/use-sidecar/dist/es5/hook.js +45 -0
  906. package/node_modules/use-sidecar/dist/es5/index.d.ts +7 -0
  907. package/node_modules/use-sidecar/dist/es5/index.js +16 -0
  908. package/node_modules/use-sidecar/dist/es5/medium.d.ts +3 -0
  909. package/node_modules/use-sidecar/dist/es5/medium.js +83 -0
  910. package/node_modules/use-sidecar/dist/es5/renderProp.d.ts +9 -0
  911. package/node_modules/use-sidecar/dist/es5/renderProp.js +39 -0
  912. package/node_modules/use-sidecar/dist/es5/types.d.ts +47 -0
  913. package/node_modules/use-sidecar/dist/es5/types.js +2 -0
  914. package/node_modules/use-sidecar/package.json +93 -0
  915. package/package.json +50 -5
  916. package/react/styles.css +568 -18
  917. package/react/styles.source.css +568 -18
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/index.ts
32
+ var index_exports = {};
33
+ __export(index_exports, {
34
+ Item: () => Item,
35
+ Root: () => Root,
36
+ RovingFocusGroup: () => RovingFocusGroup,
37
+ RovingFocusGroupItem: () => RovingFocusGroupItem,
38
+ createRovingFocusGroupScope: () => createRovingFocusGroupScope
39
+ });
40
+ module.exports = __toCommonJS(index_exports);
41
+
42
+ // src/roving-focus-group.tsx
43
+ var React = __toESM(require("react"));
44
+ var import_primitive = require("@radix-ui/primitive");
45
+ var import_react_collection = require("@radix-ui/react-collection");
46
+ var import_react_compose_refs = require("@radix-ui/react-compose-refs");
47
+ var import_react_context = require("@radix-ui/react-context");
48
+ var import_react_id = require("@radix-ui/react-id");
49
+ var import_react_primitive = require("@radix-ui/react-primitive");
50
+ var import_react_use_callback_ref = require("@radix-ui/react-use-callback-ref");
51
+ var import_react_use_controllable_state = require("@radix-ui/react-use-controllable-state");
52
+ var import_react_direction = require("@radix-ui/react-direction");
53
+ var import_jsx_runtime = require("react/jsx-runtime");
54
+ var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
55
+ var EVENT_OPTIONS = { bubbles: false, cancelable: true };
56
+ var GROUP_NAME = "RovingFocusGroup";
57
+ var [Collection, useCollection, createCollectionScope] = (0, import_react_collection.createCollection)(GROUP_NAME);
58
+ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = (0, import_react_context.createContextScope)(
59
+ GROUP_NAME,
60
+ [createCollectionScope]
61
+ );
62
+ var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
63
+ var RovingFocusGroup = React.forwardRef(
64
+ (props, forwardedRef) => {
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });
66
+ }
67
+ );
68
+ RovingFocusGroup.displayName = GROUP_NAME;
69
+ var RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {
70
+ const {
71
+ __scopeRovingFocusGroup,
72
+ orientation,
73
+ loop = false,
74
+ dir,
75
+ currentTabStopId: currentTabStopIdProp,
76
+ defaultCurrentTabStopId,
77
+ onCurrentTabStopIdChange,
78
+ onEntryFocus,
79
+ preventScrollOnEntryFocus = false,
80
+ ...groupProps
81
+ } = props;
82
+ const ref = React.useRef(null);
83
+ const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, ref);
84
+ const direction = (0, import_react_direction.useDirection)(dir);
85
+ const [currentTabStopId, setCurrentTabStopId] = (0, import_react_use_controllable_state.useControllableState)({
86
+ prop: currentTabStopIdProp,
87
+ defaultProp: defaultCurrentTabStopId ?? null,
88
+ onChange: onCurrentTabStopIdChange,
89
+ caller: GROUP_NAME
90
+ });
91
+ const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);
92
+ const handleEntryFocus = (0, import_react_use_callback_ref.useCallbackRef)(onEntryFocus);
93
+ const getItems = useCollection(__scopeRovingFocusGroup);
94
+ const isClickFocusRef = React.useRef(false);
95
+ const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
96
+ React.useEffect(() => {
97
+ const node = ref.current;
98
+ if (node) {
99
+ node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
100
+ return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
101
+ }
102
+ }, [handleEntryFocus]);
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
+ RovingFocusProvider,
105
+ {
106
+ scope: __scopeRovingFocusGroup,
107
+ orientation,
108
+ dir: direction,
109
+ loop,
110
+ currentTabStopId,
111
+ onItemFocus: React.useCallback(
112
+ (tabStopId) => setCurrentTabStopId(tabStopId),
113
+ [setCurrentTabStopId]
114
+ ),
115
+ onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),
116
+ onFocusableItemAdd: React.useCallback(
117
+ () => setFocusableItemsCount((prevCount) => prevCount + 1),
118
+ []
119
+ ),
120
+ onFocusableItemRemove: React.useCallback(
121
+ () => setFocusableItemsCount((prevCount) => prevCount - 1),
122
+ []
123
+ ),
124
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
+ import_react_primitive.Primitive.div,
126
+ {
127
+ tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
128
+ "data-orientation": orientation,
129
+ ...groupProps,
130
+ ref: composedRefs,
131
+ style: { outline: "none", ...props.style },
132
+ onMouseDown: (0, import_primitive.composeEventHandlers)(props.onMouseDown, () => {
133
+ isClickFocusRef.current = true;
134
+ }),
135
+ onFocus: (0, import_primitive.composeEventHandlers)(props.onFocus, (event) => {
136
+ const isKeyboardFocus = !isClickFocusRef.current;
137
+ if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
138
+ const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
139
+ event.currentTarget.dispatchEvent(entryFocusEvent);
140
+ if (!entryFocusEvent.defaultPrevented) {
141
+ const items = getItems().filter((item) => item.focusable);
142
+ const activeItem = items.find((item) => item.active);
143
+ const currentItem = items.find((item) => item.id === currentTabStopId);
144
+ const candidateItems = [activeItem, currentItem, ...items].filter(
145
+ Boolean
146
+ );
147
+ const candidateNodes = candidateItems.map((item) => item.ref.current);
148
+ focusFirst(candidateNodes, preventScrollOnEntryFocus);
149
+ }
150
+ }
151
+ isClickFocusRef.current = false;
152
+ }),
153
+ onBlur: (0, import_primitive.composeEventHandlers)(props.onBlur, () => setIsTabbingBackOut(false))
154
+ }
155
+ )
156
+ }
157
+ );
158
+ });
159
+ var ITEM_NAME = "RovingFocusGroupItem";
160
+ var RovingFocusGroupItem = React.forwardRef(
161
+ (props, forwardedRef) => {
162
+ const {
163
+ __scopeRovingFocusGroup,
164
+ focusable = true,
165
+ active = false,
166
+ tabStopId,
167
+ children,
168
+ ...itemProps
169
+ } = props;
170
+ const autoId = (0, import_react_id.useId)();
171
+ const id = tabStopId || autoId;
172
+ const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);
173
+ const isCurrentTabStop = context.currentTabStopId === id;
174
+ const getItems = useCollection(__scopeRovingFocusGroup);
175
+ const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
176
+ React.useEffect(() => {
177
+ if (focusable) {
178
+ onFocusableItemAdd();
179
+ return () => onFocusableItemRemove();
180
+ }
181
+ }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);
182
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
183
+ Collection.ItemSlot,
184
+ {
185
+ scope: __scopeRovingFocusGroup,
186
+ id,
187
+ focusable,
188
+ active,
189
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
190
+ import_react_primitive.Primitive.span,
191
+ {
192
+ tabIndex: isCurrentTabStop ? 0 : -1,
193
+ "data-orientation": context.orientation,
194
+ ...itemProps,
195
+ ref: forwardedRef,
196
+ onMouseDown: (0, import_primitive.composeEventHandlers)(props.onMouseDown, (event) => {
197
+ if (!focusable) event.preventDefault();
198
+ else context.onItemFocus(id);
199
+ }),
200
+ onFocus: (0, import_primitive.composeEventHandlers)(props.onFocus, () => context.onItemFocus(id)),
201
+ onKeyDown: (0, import_primitive.composeEventHandlers)(props.onKeyDown, (event) => {
202
+ if (event.key === "Tab" && event.shiftKey) {
203
+ context.onItemShiftTab();
204
+ return;
205
+ }
206
+ if (event.target !== event.currentTarget) return;
207
+ const focusIntent = getFocusIntent(event, context.orientation, context.dir);
208
+ if (focusIntent !== void 0) {
209
+ if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;
210
+ event.preventDefault();
211
+ const items = getItems().filter((item) => item.focusable);
212
+ let candidateNodes = items.map((item) => item.ref.current);
213
+ if (focusIntent === "last") candidateNodes.reverse();
214
+ else if (focusIntent === "prev" || focusIntent === "next") {
215
+ if (focusIntent === "prev") candidateNodes.reverse();
216
+ const currentIndex = candidateNodes.indexOf(event.currentTarget);
217
+ candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
218
+ }
219
+ setTimeout(() => focusFirst(candidateNodes));
220
+ }
221
+ }),
222
+ children: typeof children === "function" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children
223
+ }
224
+ )
225
+ }
226
+ );
227
+ }
228
+ );
229
+ RovingFocusGroupItem.displayName = ITEM_NAME;
230
+ var MAP_KEY_TO_FOCUS_INTENT = {
231
+ ArrowLeft: "prev",
232
+ ArrowUp: "prev",
233
+ ArrowRight: "next",
234
+ ArrowDown: "next",
235
+ PageUp: "first",
236
+ Home: "first",
237
+ PageDown: "last",
238
+ End: "last"
239
+ };
240
+ function getDirectionAwareKey(key, dir) {
241
+ if (dir !== "rtl") return key;
242
+ return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
243
+ }
244
+ function getFocusIntent(event, orientation, dir) {
245
+ const key = getDirectionAwareKey(event.key, dir);
246
+ if (orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) return void 0;
247
+ if (orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)) return void 0;
248
+ return MAP_KEY_TO_FOCUS_INTENT[key];
249
+ }
250
+ function focusFirst(candidates, preventScroll = false) {
251
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
252
+ for (const candidate of candidates) {
253
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
254
+ candidate.focus({ preventScroll });
255
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
256
+ }
257
+ }
258
+ function wrapArray(array, startIndex) {
259
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
260
+ }
261
+ var Root = RovingFocusGroup;
262
+ var Item = RovingFocusGroupItem;
263
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts", "../src/roving-focus-group.tsx"],
4
+ "sourcesContent": ["'use client';\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n} from './roving-focus-group';\nexport type { RovingFocusGroupProps, RovingFocusItemProps } from './roving-focus-group';\n", "import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'RovingFocusGroup';\n\ntype ItemData = { id: string; focusable: boolean; active: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n HTMLSpanElement,\n ItemData\n>(GROUP_NAME);\n\ntype ScopedProps<P> = P & { __scopeRovingFocusGroup?: Scope };\nconst [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope],\n);\n\ntype Orientation = React.AriaAttributes['aria-orientation'];\ntype Direction = 'ltr' | 'rtl';\n\ninterface RovingFocusGroupOptions {\n /**\n * The orientation of the group.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n */\n orientation?: Orientation;\n /**\n * The direction of navigation between items.\n */\n dir?: Direction;\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: boolean;\n}\n\ntype RovingContextValue = RovingFocusGroupOptions & {\n currentTabStopId: string | null;\n onItemFocus(tabStopId: string): void;\n onItemShiftTab(): void;\n onFocusableItemAdd(): void;\n onFocusableItemRemove(): void;\n};\n\nconst [RovingFocusProvider, useRovingFocusContext] =\n createRovingFocusGroupContext<RovingContextValue>(GROUP_NAME);\n\ntype RovingFocusGroupElement = RovingFocusGroupImplElement;\ninterface RovingFocusGroupProps extends RovingFocusGroupImplProps {}\n\nconst RovingFocusGroup = React.forwardRef<RovingFocusGroupElement, RovingFocusGroupProps>(\n (props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {\n return (\n <Collection.Provider scope={props.__scopeRovingFocusGroup}>\n <Collection.Slot scope={props.__scopeRovingFocusGroup}>\n <RovingFocusGroupImpl {...props} ref={forwardedRef} />\n </Collection.Slot>\n </Collection.Provider>\n );\n },\n);\n\nRovingFocusGroup.displayName = GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype RovingFocusGroupImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RovingFocusGroupImplProps\n extends Omit<PrimitiveDivProps, 'dir'>, RovingFocusGroupOptions {\n currentTabStopId?: string | null;\n defaultCurrentTabStopId?: string;\n onCurrentTabStopIdChange?: (tabStopId: string | null) => void;\n onEntryFocus?: (event: Event) => void;\n preventScrollOnEntryFocus?: boolean;\n}\n\nconst RovingFocusGroupImpl = React.forwardRef<\n RovingFocusGroupImplElement,\n RovingFocusGroupImplProps\n>((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef<RovingFocusGroupImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME,\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n\n return (\n <RovingFocusProvider\n scope={__scopeRovingFocusGroup}\n orientation={orientation}\n dir={direction}\n loop={loop}\n currentTabStopId={currentTabStopId}\n onItemFocus={React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId],\n )}\n onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}\n onFocusableItemAdd={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n [],\n )}\n onFocusableItemRemove={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n [],\n )}\n >\n <Primitive.div\n tabIndex={isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0}\n data-orientation={orientation}\n {...groupProps}\n ref={composedRefs}\n style={{ outline: 'none', ...props.style }}\n onMouseDown={composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n })}\n onFocus={composeEventHandlers(props.onFocus, (event) => {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean,\n ) as typeof items;\n const candidateNodes = candidateItems.map((item) => item.ref.current!);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n\n isClickFocusRef.current = false;\n })}\n onBlur={composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))}\n />\n </RovingFocusProvider>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RovingFocusGroupItem';\n\ntype RovingFocusItemElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface RovingFocusItemProps extends Omit<PrimitiveSpanProps, 'children'> {\n tabStopId?: string;\n focusable?: boolean;\n active?: boolean;\n children?:\n | React.ReactNode\n | ((props: { hasTabStop: boolean; isCurrentTabStop: boolean }) => React.ReactNode);\n}\n\nconst RovingFocusGroupItem = React.forwardRef<RovingFocusItemElement, RovingFocusItemProps>(\n (props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n\n return (\n <Collection.ItemSlot\n scope={__scopeRovingFocusGroup}\n id={id}\n focusable={focusable}\n active={active}\n >\n <Primitive.span\n tabIndex={isCurrentTabStop ? 0 : -1}\n data-orientation={context.orientation}\n {...itemProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault();\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n\n if (event.target !== event.currentTarget) return;\n\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n\n if (focusIntent !== undefined) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n }\n })}\n >\n {typeof children === 'function'\n ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null })\n : children}\n </Primitive.span>\n </Collection.ItemSlot>\n );\n },\n);\n\nRovingFocusGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// prettier-ignore\nconst MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {\n ArrowLeft: 'prev', ArrowUp: 'prev',\n ArrowRight: 'next', ArrowDown: 'next',\n PageUp: 'first', Home: 'first',\n PageDown: 'last', End: 'last',\n};\n\nfunction getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nfunction getFocusIntent(event: React.KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nfunction focusFirst(candidates: HTMLElement[], preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray<T>(array: T[], startIndex: number) {\n return array.map<T>((_, index) => array[(startIndex + index) % array.length]!);\n}\n\nconst Root = RovingFocusGroup;\nconst Item = RovingFocusGroupItem;\n\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n};\nexport type { RovingFocusGroupProps, RovingFocusItemProps };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,231 @@
1
+ "use client";
2
+
3
+ // src/roving-focus-group.tsx
4
+ import * as React from "react";
5
+ import { composeEventHandlers } from "@radix-ui/primitive";
6
+ import { createCollection } from "@radix-ui/react-collection";
7
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
8
+ import { createContextScope } from "@radix-ui/react-context";
9
+ import { useId } from "@radix-ui/react-id";
10
+ import { Primitive } from "@radix-ui/react-primitive";
11
+ import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
12
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
13
+ import { useDirection } from "@radix-ui/react-direction";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
16
+ var EVENT_OPTIONS = { bubbles: false, cancelable: true };
17
+ var GROUP_NAME = "RovingFocusGroup";
18
+ var [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);
19
+ var [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(
20
+ GROUP_NAME,
21
+ [createCollectionScope]
22
+ );
23
+ var [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);
24
+ var RovingFocusGroup = React.forwardRef(
25
+ (props, forwardedRef) => {
26
+ return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });
27
+ }
28
+ );
29
+ RovingFocusGroup.displayName = GROUP_NAME;
30
+ var RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {
31
+ const {
32
+ __scopeRovingFocusGroup,
33
+ orientation,
34
+ loop = false,
35
+ dir,
36
+ currentTabStopId: currentTabStopIdProp,
37
+ defaultCurrentTabStopId,
38
+ onCurrentTabStopIdChange,
39
+ onEntryFocus,
40
+ preventScrollOnEntryFocus = false,
41
+ ...groupProps
42
+ } = props;
43
+ const ref = React.useRef(null);
44
+ const composedRefs = useComposedRefs(forwardedRef, ref);
45
+ const direction = useDirection(dir);
46
+ const [currentTabStopId, setCurrentTabStopId] = useControllableState({
47
+ prop: currentTabStopIdProp,
48
+ defaultProp: defaultCurrentTabStopId ?? null,
49
+ onChange: onCurrentTabStopIdChange,
50
+ caller: GROUP_NAME
51
+ });
52
+ const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);
53
+ const handleEntryFocus = useCallbackRef(onEntryFocus);
54
+ const getItems = useCollection(__scopeRovingFocusGroup);
55
+ const isClickFocusRef = React.useRef(false);
56
+ const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);
57
+ React.useEffect(() => {
58
+ const node = ref.current;
59
+ if (node) {
60
+ node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
61
+ return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
62
+ }
63
+ }, [handleEntryFocus]);
64
+ return /* @__PURE__ */ jsx(
65
+ RovingFocusProvider,
66
+ {
67
+ scope: __scopeRovingFocusGroup,
68
+ orientation,
69
+ dir: direction,
70
+ loop,
71
+ currentTabStopId,
72
+ onItemFocus: React.useCallback(
73
+ (tabStopId) => setCurrentTabStopId(tabStopId),
74
+ [setCurrentTabStopId]
75
+ ),
76
+ onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),
77
+ onFocusableItemAdd: React.useCallback(
78
+ () => setFocusableItemsCount((prevCount) => prevCount + 1),
79
+ []
80
+ ),
81
+ onFocusableItemRemove: React.useCallback(
82
+ () => setFocusableItemsCount((prevCount) => prevCount - 1),
83
+ []
84
+ ),
85
+ children: /* @__PURE__ */ jsx(
86
+ Primitive.div,
87
+ {
88
+ tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,
89
+ "data-orientation": orientation,
90
+ ...groupProps,
91
+ ref: composedRefs,
92
+ style: { outline: "none", ...props.style },
93
+ onMouseDown: composeEventHandlers(props.onMouseDown, () => {
94
+ isClickFocusRef.current = true;
95
+ }),
96
+ onFocus: composeEventHandlers(props.onFocus, (event) => {
97
+ const isKeyboardFocus = !isClickFocusRef.current;
98
+ if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {
99
+ const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
100
+ event.currentTarget.dispatchEvent(entryFocusEvent);
101
+ if (!entryFocusEvent.defaultPrevented) {
102
+ const items = getItems().filter((item) => item.focusable);
103
+ const activeItem = items.find((item) => item.active);
104
+ const currentItem = items.find((item) => item.id === currentTabStopId);
105
+ const candidateItems = [activeItem, currentItem, ...items].filter(
106
+ Boolean
107
+ );
108
+ const candidateNodes = candidateItems.map((item) => item.ref.current);
109
+ focusFirst(candidateNodes, preventScrollOnEntryFocus);
110
+ }
111
+ }
112
+ isClickFocusRef.current = false;
113
+ }),
114
+ onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))
115
+ }
116
+ )
117
+ }
118
+ );
119
+ });
120
+ var ITEM_NAME = "RovingFocusGroupItem";
121
+ var RovingFocusGroupItem = React.forwardRef(
122
+ (props, forwardedRef) => {
123
+ const {
124
+ __scopeRovingFocusGroup,
125
+ focusable = true,
126
+ active = false,
127
+ tabStopId,
128
+ children,
129
+ ...itemProps
130
+ } = props;
131
+ const autoId = useId();
132
+ const id = tabStopId || autoId;
133
+ const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);
134
+ const isCurrentTabStop = context.currentTabStopId === id;
135
+ const getItems = useCollection(__scopeRovingFocusGroup);
136
+ const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;
137
+ React.useEffect(() => {
138
+ if (focusable) {
139
+ onFocusableItemAdd();
140
+ return () => onFocusableItemRemove();
141
+ }
142
+ }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);
143
+ return /* @__PURE__ */ jsx(
144
+ Collection.ItemSlot,
145
+ {
146
+ scope: __scopeRovingFocusGroup,
147
+ id,
148
+ focusable,
149
+ active,
150
+ children: /* @__PURE__ */ jsx(
151
+ Primitive.span,
152
+ {
153
+ tabIndex: isCurrentTabStop ? 0 : -1,
154
+ "data-orientation": context.orientation,
155
+ ...itemProps,
156
+ ref: forwardedRef,
157
+ onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {
158
+ if (!focusable) event.preventDefault();
159
+ else context.onItemFocus(id);
160
+ }),
161
+ onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),
162
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
163
+ if (event.key === "Tab" && event.shiftKey) {
164
+ context.onItemShiftTab();
165
+ return;
166
+ }
167
+ if (event.target !== event.currentTarget) return;
168
+ const focusIntent = getFocusIntent(event, context.orientation, context.dir);
169
+ if (focusIntent !== void 0) {
170
+ if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;
171
+ event.preventDefault();
172
+ const items = getItems().filter((item) => item.focusable);
173
+ let candidateNodes = items.map((item) => item.ref.current);
174
+ if (focusIntent === "last") candidateNodes.reverse();
175
+ else if (focusIntent === "prev" || focusIntent === "next") {
176
+ if (focusIntent === "prev") candidateNodes.reverse();
177
+ const currentIndex = candidateNodes.indexOf(event.currentTarget);
178
+ candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);
179
+ }
180
+ setTimeout(() => focusFirst(candidateNodes));
181
+ }
182
+ }),
183
+ children: typeof children === "function" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children
184
+ }
185
+ )
186
+ }
187
+ );
188
+ }
189
+ );
190
+ RovingFocusGroupItem.displayName = ITEM_NAME;
191
+ var MAP_KEY_TO_FOCUS_INTENT = {
192
+ ArrowLeft: "prev",
193
+ ArrowUp: "prev",
194
+ ArrowRight: "next",
195
+ ArrowDown: "next",
196
+ PageUp: "first",
197
+ Home: "first",
198
+ PageDown: "last",
199
+ End: "last"
200
+ };
201
+ function getDirectionAwareKey(key, dir) {
202
+ if (dir !== "rtl") return key;
203
+ return key === "ArrowLeft" ? "ArrowRight" : key === "ArrowRight" ? "ArrowLeft" : key;
204
+ }
205
+ function getFocusIntent(event, orientation, dir) {
206
+ const key = getDirectionAwareKey(event.key, dir);
207
+ if (orientation === "vertical" && ["ArrowLeft", "ArrowRight"].includes(key)) return void 0;
208
+ if (orientation === "horizontal" && ["ArrowUp", "ArrowDown"].includes(key)) return void 0;
209
+ return MAP_KEY_TO_FOCUS_INTENT[key];
210
+ }
211
+ function focusFirst(candidates, preventScroll = false) {
212
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
213
+ for (const candidate of candidates) {
214
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
215
+ candidate.focus({ preventScroll });
216
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
217
+ }
218
+ }
219
+ function wrapArray(array, startIndex) {
220
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
221
+ }
222
+ var Root = RovingFocusGroup;
223
+ var Item = RovingFocusGroupItem;
224
+ export {
225
+ Item,
226
+ Root,
227
+ RovingFocusGroup,
228
+ RovingFocusGroupItem,
229
+ createRovingFocusGroupScope
230
+ };
231
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/roving-focus-group.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'RovingFocusGroup';\n\ntype ItemData = { id: string; focusable: boolean; active: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n HTMLSpanElement,\n ItemData\n>(GROUP_NAME);\n\ntype ScopedProps<P> = P & { __scopeRovingFocusGroup?: Scope };\nconst [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope],\n);\n\ntype Orientation = React.AriaAttributes['aria-orientation'];\ntype Direction = 'ltr' | 'rtl';\n\ninterface RovingFocusGroupOptions {\n /**\n * The orientation of the group.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n */\n orientation?: Orientation;\n /**\n * The direction of navigation between items.\n */\n dir?: Direction;\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: boolean;\n}\n\ntype RovingContextValue = RovingFocusGroupOptions & {\n currentTabStopId: string | null;\n onItemFocus(tabStopId: string): void;\n onItemShiftTab(): void;\n onFocusableItemAdd(): void;\n onFocusableItemRemove(): void;\n};\n\nconst [RovingFocusProvider, useRovingFocusContext] =\n createRovingFocusGroupContext<RovingContextValue>(GROUP_NAME);\n\ntype RovingFocusGroupElement = RovingFocusGroupImplElement;\ninterface RovingFocusGroupProps extends RovingFocusGroupImplProps {}\n\nconst RovingFocusGroup = React.forwardRef<RovingFocusGroupElement, RovingFocusGroupProps>(\n (props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {\n return (\n <Collection.Provider scope={props.__scopeRovingFocusGroup}>\n <Collection.Slot scope={props.__scopeRovingFocusGroup}>\n <RovingFocusGroupImpl {...props} ref={forwardedRef} />\n </Collection.Slot>\n </Collection.Provider>\n );\n },\n);\n\nRovingFocusGroup.displayName = GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype RovingFocusGroupImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RovingFocusGroupImplProps\n extends Omit<PrimitiveDivProps, 'dir'>, RovingFocusGroupOptions {\n currentTabStopId?: string | null;\n defaultCurrentTabStopId?: string;\n onCurrentTabStopIdChange?: (tabStopId: string | null) => void;\n onEntryFocus?: (event: Event) => void;\n preventScrollOnEntryFocus?: boolean;\n}\n\nconst RovingFocusGroupImpl = React.forwardRef<\n RovingFocusGroupImplElement,\n RovingFocusGroupImplProps\n>((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef<RovingFocusGroupImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME,\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n\n return (\n <RovingFocusProvider\n scope={__scopeRovingFocusGroup}\n orientation={orientation}\n dir={direction}\n loop={loop}\n currentTabStopId={currentTabStopId}\n onItemFocus={React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId],\n )}\n onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}\n onFocusableItemAdd={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n [],\n )}\n onFocusableItemRemove={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n [],\n )}\n >\n <Primitive.div\n tabIndex={isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0}\n data-orientation={orientation}\n {...groupProps}\n ref={composedRefs}\n style={{ outline: 'none', ...props.style }}\n onMouseDown={composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n })}\n onFocus={composeEventHandlers(props.onFocus, (event) => {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean,\n ) as typeof items;\n const candidateNodes = candidateItems.map((item) => item.ref.current!);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n\n isClickFocusRef.current = false;\n })}\n onBlur={composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))}\n />\n </RovingFocusProvider>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RovingFocusGroupItem';\n\ntype RovingFocusItemElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface RovingFocusItemProps extends Omit<PrimitiveSpanProps, 'children'> {\n tabStopId?: string;\n focusable?: boolean;\n active?: boolean;\n children?:\n | React.ReactNode\n | ((props: { hasTabStop: boolean; isCurrentTabStop: boolean }) => React.ReactNode);\n}\n\nconst RovingFocusGroupItem = React.forwardRef<RovingFocusItemElement, RovingFocusItemProps>(\n (props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n\n return (\n <Collection.ItemSlot\n scope={__scopeRovingFocusGroup}\n id={id}\n focusable={focusable}\n active={active}\n >\n <Primitive.span\n tabIndex={isCurrentTabStop ? 0 : -1}\n data-orientation={context.orientation}\n {...itemProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault();\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n\n if (event.target !== event.currentTarget) return;\n\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n\n if (focusIntent !== undefined) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n }\n })}\n >\n {typeof children === 'function'\n ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null })\n : children}\n </Primitive.span>\n </Collection.ItemSlot>\n );\n },\n);\n\nRovingFocusGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// prettier-ignore\nconst MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {\n ArrowLeft: 'prev', ArrowUp: 'prev',\n ArrowRight: 'next', ArrowDown: 'next',\n PageUp: 'first', Home: 'first',\n PageDown: 'last', End: 'last',\n};\n\nfunction getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nfunction getFocusIntent(event: React.KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nfunction focusFirst(candidates: HTMLElement[], preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray<T>(array: T[], startIndex: number) {\n return array.map<T>((_, index) => array[(startIndex + index) % array.length]!);\n}\n\nconst Root = RovingFocusGroup;\nconst Item = RovingFocusGroupItem;\n\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n};\nexport type { RovingFocusGroupProps, RovingFocusItemProps };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }