veryfront 0.1.1238 → 0.1.1239

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 (472) hide show
  1. package/esm/cli/auth/login.d.ts +24 -2
  2. package/esm/cli/auth/login.d.ts.map +1 -1
  3. package/esm/cli/auth/login.js +444 -35
  4. package/esm/cli/commands/build/error-handler.js +1 -1
  5. package/esm/cli/commands/generate/command.d.ts.map +1 -1
  6. package/esm/cli/commands/generate/command.js +2 -3
  7. package/esm/cli/commands/init/init-command.d.ts.map +1 -1
  8. package/esm/cli/commands/init/init-command.js +23 -31
  9. package/esm/cli/commands/install/registry.d.ts.map +1 -1
  10. package/esm/cli/commands/install/registry.js +6 -9
  11. package/esm/cli/commands/login/command-help.d.ts.map +1 -1
  12. package/esm/cli/commands/login/command-help.js +3 -1
  13. package/esm/cli/commands/pull/command.d.ts +1 -0
  14. package/esm/cli/commands/pull/command.d.ts.map +1 -1
  15. package/esm/cli/commands/pull/command.js +49 -6
  16. package/esm/cli/commands/push/command-help.d.ts.map +1 -1
  17. package/esm/cli/commands/push/command-help.js +7 -0
  18. package/esm/cli/commands/push/command.d.ts +23 -12
  19. package/esm/cli/commands/push/command.d.ts.map +1 -1
  20. package/esm/cli/commands/push/command.js +461 -44
  21. package/esm/cli/commands/push/plan.d.ts +35 -0
  22. package/esm/cli/commands/push/plan.d.ts.map +1 -0
  23. package/esm/cli/commands/push/plan.js +96 -0
  24. package/esm/cli/commands/schedule/handler.d.ts +21 -2
  25. package/esm/cli/commands/schedule/handler.d.ts.map +1 -1
  26. package/esm/cli/commands/schedule/handler.js +74 -27
  27. package/esm/cli/commands/schema/command-help.js +1 -1
  28. package/esm/cli/commands/up/command.js +1 -1
  29. package/esm/cli/commands/webhook/handler.d.ts.map +1 -1
  30. package/esm/cli/commands/webhook/handler.js +3 -1
  31. package/esm/cli/router.d.ts.map +1 -1
  32. package/esm/cli/router.js +27 -5
  33. package/esm/cli/shared/args.d.ts +10 -0
  34. package/esm/cli/shared/args.d.ts.map +1 -1
  35. package/esm/cli/shared/args.js +15 -2
  36. package/esm/cli/shared/config.d.ts +11 -2
  37. package/esm/cli/shared/config.d.ts.map +1 -1
  38. package/esm/cli/shared/config.js +72 -27
  39. package/esm/cli/shared/project-creation.js +1 -1
  40. package/esm/cli/sync/state.d.ts +20 -0
  41. package/esm/cli/sync/state.d.ts.map +1 -0
  42. package/esm/cli/sync/state.js +193 -0
  43. package/esm/deno.js +2 -2
  44. package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.d.ts.map +1 -1
  45. package/esm/extensions/ext-llm-anthropic/src/anthropic-request-builder.js +852 -21
  46. package/esm/extensions/ext-observability-sentry/src/policy.d.ts +2 -0
  47. package/esm/extensions/ext-observability-sentry/src/policy.d.ts.map +1 -1
  48. package/esm/extensions/ext-observability-sentry/src/policy.js +214 -3
  49. package/esm/src/agent/conversation/delegation-policy.d.ts +2 -0
  50. package/esm/src/agent/conversation/delegation-policy.d.ts.map +1 -1
  51. package/esm/src/agent/conversation/delegation-policy.js +13 -3
  52. package/esm/src/agent/conversation/hosted-terminal.d.ts.map +1 -1
  53. package/esm/src/agent/conversation/hosted-terminal.js +6 -2
  54. package/esm/src/agent/factory.d.ts.map +1 -1
  55. package/esm/src/agent/factory.js +22 -11
  56. package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts +2 -0
  57. package/esm/src/agent/hosted/chat-runtime-tool-assembly.d.ts.map +1 -1
  58. package/esm/src/agent/hosted/chat-runtime-tool-assembly.js +6 -1
  59. package/esm/src/agent/hosted/child-fork-execution-runner.d.ts +2 -1
  60. package/esm/src/agent/hosted/child-fork-execution-runner.d.ts.map +1 -1
  61. package/esm/src/agent/hosted/child-fork-execution-runner.js +6 -3
  62. package/esm/src/agent/hosted/child-fork-step-message-preparation.d.ts +12 -3
  63. package/esm/src/agent/hosted/child-fork-step-message-preparation.d.ts.map +1 -1
  64. package/esm/src/agent/hosted/child-fork-step-message-preparation.js +16 -3
  65. package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts +1 -1
  66. package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts.map +1 -1
  67. package/esm/src/agent/hosted/cloud-agent-chat-execution.js +3 -3
  68. package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts +11 -0
  69. package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts.map +1 -1
  70. package/esm/src/agent/hosted/cloud-agent-child-tools.js +2 -3
  71. package/esm/src/agent/hosted/cloud-agent-config.d.ts +1 -0
  72. package/esm/src/agent/hosted/cloud-agent-config.d.ts.map +1 -1
  73. package/esm/src/agent/hosted/cloud-runtime-system-messages.d.ts +16 -1
  74. package/esm/src/agent/hosted/cloud-runtime-system-messages.d.ts.map +1 -1
  75. package/esm/src/agent/hosted/cloud-runtime-system-messages.js +13 -3
  76. package/esm/src/agent/hosted/default-chat-runtime.d.ts +2 -1
  77. package/esm/src/agent/hosted/default-chat-runtime.d.ts.map +1 -1
  78. package/esm/src/agent/hosted/default-chat-runtime.js +18 -7
  79. package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts +2 -1
  80. package/esm/src/agent/hosted/default-invoke-agent-tool.d.ts.map +1 -1
  81. package/esm/src/agent/hosted/default-invoke-agent-tool.js +11 -3
  82. package/esm/src/agent/hosted/default-project-steering-refresh.d.ts +2 -1
  83. package/esm/src/agent/hosted/default-project-steering-refresh.d.ts.map +1 -1
  84. package/esm/src/agent/hosted/default-project-steering-refresh.js +4 -1
  85. package/esm/src/agent/hosted/runtime-state-resolver.d.ts +6 -4
  86. package/esm/src/agent/hosted/runtime-state-resolver.d.ts.map +1 -1
  87. package/esm/src/agent/hosted/runtime-state-resolver.js +8 -11
  88. package/esm/src/agent/index.d.ts +3 -3
  89. package/esm/src/agent/index.d.ts.map +1 -1
  90. package/esm/src/agent/project/agent-runtime.d.ts.map +1 -1
  91. package/esm/src/agent/project/agent-runtime.js +6 -3
  92. package/esm/src/agent/runtime/agent-definition.d.ts +68 -66
  93. package/esm/src/agent/runtime/agent-definition.d.ts.map +1 -1
  94. package/esm/src/agent/runtime/agent-definition.js +15 -2
  95. package/esm/src/agent/runtime/agent-invocation-contract.d.ts +2 -0
  96. package/esm/src/agent/runtime/agent-invocation-contract.d.ts.map +1 -1
  97. package/esm/src/agent/runtime/agent-markdown-adapter.js +1 -1
  98. package/esm/src/agent/runtime/agent-runtime-step.d.ts +11 -5
  99. package/esm/src/agent/runtime/agent-runtime-step.d.ts.map +1 -1
  100. package/esm/src/agent/runtime/agent-runtime-step.js +23 -6
  101. package/esm/src/agent/runtime/call-context.d.ts +42 -11
  102. package/esm/src/agent/runtime/call-context.d.ts.map +1 -1
  103. package/esm/src/agent/runtime/call-context.js +480 -42
  104. package/esm/src/agent/runtime/chat-stream-handler.d.ts +18 -0
  105. package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
  106. package/esm/src/agent/runtime/chat-stream-handler.js +38 -18
  107. package/esm/src/agent/runtime/effective-agent-system.d.ts +13 -4
  108. package/esm/src/agent/runtime/effective-agent-system.d.ts.map +1 -1
  109. package/esm/src/agent/runtime/effective-agent-system.js +29 -0
  110. package/esm/src/agent/runtime/index.d.ts +1 -0
  111. package/esm/src/agent/runtime/index.d.ts.map +1 -1
  112. package/esm/src/agent/runtime/index.js +638 -53
  113. package/esm/src/agent/runtime/load-skill-tool.d.ts +33 -3
  114. package/esm/src/agent/runtime/load-skill-tool.d.ts.map +1 -1
  115. package/esm/src/agent/runtime/load-skill-tool.js +152 -21
  116. package/esm/src/agent/runtime/model-resolution.d.ts +3 -0
  117. package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -1
  118. package/esm/src/agent/runtime/model-resolution.js +14 -0
  119. package/esm/src/agent/runtime/model-transport.d.ts +1 -0
  120. package/esm/src/agent/runtime/model-transport.d.ts.map +1 -1
  121. package/esm/src/agent/runtime/model-transport.js +5 -2
  122. package/esm/src/agent/runtime/run-runtime-context.d.ts +4 -0
  123. package/esm/src/agent/runtime/run-runtime-context.d.ts.map +1 -1
  124. package/esm/src/agent/runtime/run-runtime-context.js +9 -3
  125. package/esm/src/agent/runtime/runtime-tool-config.d.ts +1 -0
  126. package/esm/src/agent/runtime/runtime-tool-config.d.ts.map +1 -1
  127. package/esm/src/agent/runtime/skill-prompt.d.ts +3 -0
  128. package/esm/src/agent/runtime/skill-prompt.d.ts.map +1 -1
  129. package/esm/src/agent/runtime/skill-prompt.js +113 -25
  130. package/esm/src/agent/runtime/streamed-assistant-message.d.ts +22 -2
  131. package/esm/src/agent/runtime/streamed-assistant-message.d.ts.map +1 -1
  132. package/esm/src/agent/runtime/streamed-assistant-message.js +26 -5
  133. package/esm/src/agent/runtime/tool-inventory.d.ts.map +1 -1
  134. package/esm/src/agent/runtime/tool-inventory.js +13 -9
  135. package/esm/src/agent/runtime/tool-result-continuation.d.ts +4 -2
  136. package/esm/src/agent/runtime/tool-result-continuation.d.ts.map +1 -1
  137. package/esm/src/agent/runtime/tool-result-continuation.js +24 -20
  138. package/esm/src/agent/schemas/agent.schema.d.ts +2 -2
  139. package/esm/src/agent/service/runtime.js +1 -1
  140. package/esm/src/agent/streaming/fork-runtime-stream.d.ts +5 -4
  141. package/esm/src/agent/streaming/fork-runtime-stream.d.ts.map +1 -1
  142. package/esm/src/agent/types.d.ts +14 -1
  143. package/esm/src/agent/types.d.ts.map +1 -1
  144. package/esm/src/chat/chat-ui-message-helpers.d.ts.map +1 -1
  145. package/esm/src/chat/chat-ui-message-helpers.js +75 -16
  146. package/esm/src/errors/catalog/build-errors.d.ts.map +1 -1
  147. package/esm/src/errors/catalog/build-errors.js +14 -0
  148. package/esm/src/errors/error-registry/build.d.ts +2 -0
  149. package/esm/src/errors/error-registry/build.d.ts.map +1 -1
  150. package/esm/src/errors/error-registry/build.js +8 -0
  151. package/esm/src/errors/error-registry/deploy.d.ts +4 -0
  152. package/esm/src/errors/error-registry/deploy.d.ts.map +1 -1
  153. package/esm/src/errors/error-registry/deploy.js +16 -0
  154. package/esm/src/errors/error-registry.d.ts +3 -0
  155. package/esm/src/errors/error-registry.d.ts.map +1 -1
  156. package/esm/src/errors/index.d.ts +2 -1
  157. package/esm/src/errors/index.d.ts.map +1 -1
  158. package/esm/src/errors/index.js +4 -3
  159. package/esm/src/errors/tenant-classification.d.ts +25 -0
  160. package/esm/src/errors/tenant-classification.d.ts.map +1 -0
  161. package/esm/src/errors/tenant-classification.js +61 -0
  162. package/esm/src/extensions/builtin-extensions.d.ts +10 -15
  163. package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
  164. package/esm/src/extensions/builtin-extensions.js +32 -26
  165. package/esm/src/extensions/deferred-extension.d.ts +4 -4
  166. package/esm/src/extensions/deferred-extension.js +4 -4
  167. package/esm/src/extensions/index.d.ts +1 -0
  168. package/esm/src/extensions/index.d.ts.map +1 -1
  169. package/esm/src/extensions/index.js +1 -0
  170. package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
  171. package/esm/src/integrations/_data.d.ts.map +1 -1
  172. package/esm/src/integrations/_data.js +6 -0
  173. package/esm/src/integrations/schema.d.ts +8 -0
  174. package/esm/src/integrations/schema.d.ts.map +1 -1
  175. package/esm/src/integrations/schema.js +3 -0
  176. package/esm/src/integrations/types.d.ts +2 -0
  177. package/esm/src/integrations/types.d.ts.map +1 -1
  178. package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
  179. package/esm/src/internal-agents/run-stream.js +35 -20
  180. package/esm/src/internal-agents/run-system-prompt.d.ts +7 -2
  181. package/esm/src/internal-agents/run-system-prompt.d.ts.map +1 -1
  182. package/esm/src/internal-agents/run-system-prompt.js +19 -13
  183. package/esm/src/internal-agents/schema.d.ts +2 -0
  184. package/esm/src/internal-agents/schema.d.ts.map +1 -1
  185. package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
  186. package/esm/src/modules/react-loader/ssr-module-loader/loader.js +2 -18
  187. package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.d.ts +11 -0
  188. package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.d.ts.map +1 -1
  189. package/esm/src/modules/react-loader/ssr-module-loader/ssr-dependency-validator.js +53 -6
  190. package/esm/src/observability/application-error-contract.d.ts +4 -0
  191. package/esm/src/observability/application-error-contract.d.ts.map +1 -1
  192. package/esm/src/observability/application-errors.d.ts.map +1 -1
  193. package/esm/src/observability/application-errors.js +55 -2
  194. package/esm/src/platform/adapters/runtime/deno/http-server.d.ts.map +1 -1
  195. package/esm/src/platform/adapters/runtime/deno/http-server.js +2 -10
  196. package/esm/src/platform/adapters/runtime/shared/request-peer.d.ts +14 -0
  197. package/esm/src/platform/adapters/runtime/shared/request-peer.d.ts.map +1 -1
  198. package/esm/src/platform/adapters/runtime/shared/request-peer.js +82 -0
  199. package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
  200. package/esm/src/provider/runtime-loader/provider-http.d.ts +5 -1
  201. package/esm/src/provider/runtime-loader/provider-http.d.ts.map +1 -1
  202. package/esm/src/provider/runtime-loader/provider-http.js +55 -17
  203. package/esm/src/provider/shared/index.d.ts +1 -0
  204. package/esm/src/provider/shared/index.d.ts.map +1 -1
  205. package/esm/src/provider/shared/index.js +2 -0
  206. package/esm/src/provider/types.d.ts +1 -0
  207. package/esm/src/provider/types.d.ts.map +1 -1
  208. package/esm/src/react/components/ui/adapter/builtin/combobox.d.ts +3 -0
  209. package/esm/src/react/components/ui/adapter/builtin/combobox.d.ts.map +1 -0
  210. package/esm/src/react/components/ui/adapter/builtin/combobox.js +204 -0
  211. package/esm/src/react/components/ui/adapter/builtin/dialog.d.ts +3 -0
  212. package/esm/src/react/components/ui/adapter/builtin/dialog.d.ts.map +1 -0
  213. package/esm/src/react/components/ui/adapter/builtin/dialog.js +20 -0
  214. package/esm/src/react/components/ui/adapter/builtin/drawer.d.ts +3 -0
  215. package/esm/src/react/components/ui/adapter/builtin/drawer.d.ts.map +1 -0
  216. package/esm/src/react/components/ui/adapter/builtin/drawer.js +21 -0
  217. package/esm/src/react/components/ui/adapter/builtin/index.d.ts.map +1 -1
  218. package/esm/src/react/components/ui/adapter/builtin/index.js +10 -0
  219. package/esm/src/react/components/ui/adapter/builtin/popover.d.ts +3 -0
  220. package/esm/src/react/components/ui/adapter/builtin/popover.d.ts.map +1 -0
  221. package/esm/src/react/components/ui/adapter/builtin/popover.js +28 -0
  222. package/esm/src/react/components/ui/adapter/builtin/tabs.d.ts +3 -0
  223. package/esm/src/react/components/ui/adapter/builtin/tabs.d.ts.map +1 -0
  224. package/esm/src/react/components/ui/adapter/builtin/tabs.js +73 -0
  225. package/esm/src/react/components/ui/adapter/context.d.ts.map +1 -1
  226. package/esm/src/react/components/ui/adapter/context.js +10 -0
  227. package/esm/src/react/components/ui/adapter/contract.d.ts +212 -0
  228. package/esm/src/react/components/ui/adapter/contract.d.ts.map +1 -1
  229. package/esm/src/react/components/ui/adapter/token-scope.d.ts +24 -0
  230. package/esm/src/react/components/ui/adapter/token-scope.d.ts.map +1 -0
  231. package/esm/src/react/components/ui/adapter/token-scope.js +26 -0
  232. package/esm/src/react/components/ui/alert-dialog.d.ts +101 -0
  233. package/esm/src/react/components/ui/alert-dialog.d.ts.map +1 -0
  234. package/esm/src/react/components/ui/alert-dialog.js +181 -0
  235. package/esm/src/react/components/ui/aspect-ratio.d.ts +18 -0
  236. package/esm/src/react/components/ui/aspect-ratio.d.ts.map +1 -0
  237. package/esm/src/react/components/ui/aspect-ratio.js +13 -0
  238. package/esm/src/react/components/ui/autocomplete.d.ts +67 -0
  239. package/esm/src/react/components/ui/autocomplete.d.ts.map +1 -0
  240. package/esm/src/react/components/ui/autocomplete.js +59 -0
  241. package/esm/src/react/components/ui/breadcrumb.d.ts +86 -0
  242. package/esm/src/react/components/ui/breadcrumb.d.ts.map +1 -0
  243. package/esm/src/react/components/ui/breadcrumb.js +67 -0
  244. package/esm/src/react/components/ui/calendar.d.ts +40 -0
  245. package/esm/src/react/components/ui/calendar.d.ts.map +1 -0
  246. package/esm/src/react/components/ui/calendar.js +170 -0
  247. package/esm/src/react/components/ui/combobox.d.ts +74 -0
  248. package/esm/src/react/components/ui/combobox.d.ts.map +1 -0
  249. package/esm/src/react/components/ui/combobox.js +100 -0
  250. package/esm/src/react/components/ui/context-menu.d.ts +116 -0
  251. package/esm/src/react/components/ui/context-menu.d.ts.map +1 -0
  252. package/esm/src/react/components/ui/context-menu.js +168 -0
  253. package/esm/src/react/components/ui/date-picker.d.ts +69 -0
  254. package/esm/src/react/components/ui/date-picker.d.ts.map +1 -0
  255. package/esm/src/react/components/ui/date-picker.js +96 -0
  256. package/esm/src/react/components/ui/dialog.d.ts +41 -11
  257. package/esm/src/react/components/ui/dialog.d.ts.map +1 -1
  258. package/esm/src/react/components/ui/dialog.js +47 -28
  259. package/esm/src/react/components/ui/drawer.d.ts +31 -8
  260. package/esm/src/react/components/ui/drawer.d.ts.map +1 -1
  261. package/esm/src/react/components/ui/drawer.js +33 -22
  262. package/esm/src/react/components/ui/dropdown-menu.d.ts.map +1 -1
  263. package/esm/src/react/components/ui/dropdown-menu.js +7 -75
  264. package/esm/src/react/components/ui/field.d.ts +70 -0
  265. package/esm/src/react/components/ui/field.d.ts.map +1 -0
  266. package/esm/src/react/components/ui/field.js +161 -0
  267. package/esm/src/react/components/ui/file-type.d.ts +9 -8
  268. package/esm/src/react/components/ui/file-type.d.ts.map +1 -1
  269. package/esm/src/react/components/ui/file-type.js +8 -8
  270. package/esm/src/react/components/ui/hover-card.d.ts +82 -0
  271. package/esm/src/react/components/ui/hover-card.d.ts.map +1 -0
  272. package/esm/src/react/components/ui/hover-card.js +140 -0
  273. package/esm/src/react/components/ui/index.d.ts +23 -2
  274. package/esm/src/react/components/ui/index.d.ts.map +1 -1
  275. package/esm/src/react/components/ui/index.js +21 -0
  276. package/esm/src/react/components/ui/input-otp.d.ts +37 -0
  277. package/esm/src/react/components/ui/input-otp.d.ts.map +1 -0
  278. package/esm/src/react/components/ui/input-otp.js +42 -0
  279. package/esm/src/react/components/ui/menu-keyboard.d.ts +8 -0
  280. package/esm/src/react/components/ui/menu-keyboard.d.ts.map +1 -0
  281. package/esm/src/react/components/ui/menu-keyboard.js +76 -0
  282. package/esm/src/react/components/ui/menubar.d.ts +98 -0
  283. package/esm/src/react/components/ui/menubar.d.ts.map +1 -0
  284. package/esm/src/react/components/ui/menubar.js +173 -0
  285. package/esm/src/react/components/ui/meter.d.ts +45 -0
  286. package/esm/src/react/components/ui/meter.d.ts.map +1 -0
  287. package/esm/src/react/components/ui/meter.js +59 -0
  288. package/esm/src/react/components/ui/modal-surface.d.ts +7 -1
  289. package/esm/src/react/components/ui/modal-surface.d.ts.map +1 -1
  290. package/esm/src/react/components/ui/modal-surface.js +23 -6
  291. package/esm/src/react/components/ui/navigation-menu.d.ts +101 -0
  292. package/esm/src/react/components/ui/navigation-menu.d.ts.map +1 -0
  293. package/esm/src/react/components/ui/navigation-menu.js +195 -0
  294. package/esm/src/react/components/ui/number-field.d.ts +46 -0
  295. package/esm/src/react/components/ui/number-field.d.ts.map +1 -0
  296. package/esm/src/react/components/ui/number-field.js +121 -0
  297. package/esm/src/react/components/ui/pagination.d.ts +77 -0
  298. package/esm/src/react/components/ui/pagination.d.ts.map +1 -0
  299. package/esm/src/react/components/ui/pagination.js +62 -0
  300. package/esm/src/react/components/ui/popover.d.ts +42 -13
  301. package/esm/src/react/components/ui/popover.d.ts.map +1 -1
  302. package/esm/src/react/components/ui/popover.js +25 -12
  303. package/esm/src/react/components/ui/scroll-area.d.ts +38 -0
  304. package/esm/src/react/components/ui/scroll-area.d.ts.map +1 -0
  305. package/esm/src/react/components/ui/scroll-area.js +35 -0
  306. package/esm/src/react/components/ui/separator.d.ts +20 -0
  307. package/esm/src/react/components/ui/separator.d.ts.map +1 -0
  308. package/esm/src/react/components/ui/separator.js +13 -0
  309. package/esm/src/react/components/ui/slider.d.ts +44 -0
  310. package/esm/src/react/components/ui/slider.d.ts.map +1 -0
  311. package/esm/src/react/components/ui/slider.js +46 -0
  312. package/esm/src/react/components/ui/status.d.ts +6 -5
  313. package/esm/src/react/components/ui/status.d.ts.map +1 -1
  314. package/esm/src/react/components/ui/status.js +4 -4
  315. package/esm/src/react/components/ui/tabs.d.ts +32 -9
  316. package/esm/src/react/components/ui/tabs.d.ts.map +1 -1
  317. package/esm/src/react/components/ui/tabs.js +46 -22
  318. package/esm/src/react/components/ui/toggle.d.ts +26 -0
  319. package/esm/src/react/components/ui/toggle.d.ts.map +1 -0
  320. package/esm/src/react/components/ui/toggle.js +29 -0
  321. package/esm/src/react/components/ui/use-isomorphic-layout-effect.d.ts +2 -1
  322. package/esm/src/react/components/ui/use-isomorphic-layout-effect.d.ts.map +1 -1
  323. package/esm/src/react/components/ui/use-isomorphic-layout-effect.js +6 -3
  324. package/esm/src/rendering/chunk-optimizer/source-imports.d.ts.map +1 -1
  325. package/esm/src/rendering/chunk-optimizer/source-imports.js +4 -114
  326. package/esm/src/rendering/orchestrator/module-loader/build-failure.d.ts +10 -0
  327. package/esm/src/rendering/orchestrator/module-loader/build-failure.d.ts.map +1 -1
  328. package/esm/src/rendering/orchestrator/module-loader/build-failure.js +50 -3
  329. package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.d.ts +2 -0
  330. package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.d.ts.map +1 -1
  331. package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.js +21 -6
  332. package/esm/src/rendering/orchestrator/module-loader/index.d.ts +2 -1
  333. package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
  334. package/esm/src/rendering/orchestrator/module-loader/index.js +190 -7
  335. package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts +4 -0
  336. package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts.map +1 -1
  337. package/esm/src/rendering/orchestrator/module-loader/module-persistence.js +374 -7
  338. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  339. package/esm/src/rendering/orchestrator/pipeline.js +12 -1
  340. package/esm/src/runs/runs-client.d.ts +2 -4
  341. package/esm/src/runs/runs-client.d.ts.map +1 -1
  342. package/esm/src/runs/schemas.d.ts +18 -8
  343. package/esm/src/runs/schemas.d.ts.map +1 -1
  344. package/esm/src/runs/schemas.js +26 -0
  345. package/esm/src/runtime/model-call-context.d.ts +6 -1
  346. package/esm/src/runtime/model-call-context.d.ts.map +1 -1
  347. package/esm/src/runtime/runtime-bridge.d.ts.map +1 -1
  348. package/esm/src/runtime/runtime-bridge.js +133 -15
  349. package/esm/src/schedule/factory.d.ts +8 -2
  350. package/esm/src/schedule/factory.d.ts.map +1 -1
  351. package/esm/src/schedule/factory.js +0 -8
  352. package/esm/src/schedule/index.d.ts +10 -1
  353. package/esm/src/schedule/index.d.ts.map +1 -1
  354. package/esm/src/schedule/index.js +9 -0
  355. package/esm/src/schedule/types.d.ts +30 -11
  356. package/esm/src/schedule/types.d.ts.map +1 -1
  357. package/esm/src/schedule/validation.d.ts +17 -0
  358. package/esm/src/schedule/validation.d.ts.map +1 -1
  359. package/esm/src/schedule/validation.js +93 -5
  360. package/esm/src/server/dev-server/index.d.ts +1 -1
  361. package/esm/src/server/dev-server/index.d.ts.map +1 -1
  362. package/esm/src/server/dev-server/server.d.ts +7 -3
  363. package/esm/src/server/dev-server/server.d.ts.map +1 -1
  364. package/esm/src/server/dev-server/server.js +12 -3
  365. package/esm/src/server/dev-server/types.d.ts +7 -1
  366. package/esm/src/server/dev-server/types.d.ts.map +1 -1
  367. package/esm/src/server/dev-server.d.ts +1 -1
  368. package/esm/src/server/dev-server.d.ts.map +1 -1
  369. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  370. package/esm/src/server/handlers/dev/framework-candidates.generated.js +2509 -34
  371. package/esm/src/server/handlers/dev/projects/index.d.ts.map +1 -1
  372. package/esm/src/server/handlers/dev/projects/index.js +3 -0
  373. package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
  374. package/esm/src/server/handlers/request/agent-stream.handler.js +29 -24
  375. package/esm/src/server/index.d.ts +3 -3
  376. package/esm/src/server/index.d.ts.map +1 -1
  377. package/esm/src/server/index.js +10 -5
  378. package/esm/src/server/node-handler.d.ts.map +1 -1
  379. package/esm/src/server/node-handler.js +4 -1
  380. package/esm/src/server/production-server.d.ts.map +1 -1
  381. package/esm/src/server/production-server.js +2 -1
  382. package/esm/src/server/project-env/cache.d.ts +17 -0
  383. package/esm/src/server/project-env/cache.d.ts.map +1 -1
  384. package/esm/src/server/project-env/cache.js +78 -2
  385. package/esm/src/server/project-env/fetcher.d.ts.map +1 -1
  386. package/esm/src/server/project-env/fetcher.js +13 -3
  387. package/esm/src/server/project-env/index.d.ts +1 -1
  388. package/esm/src/server/project-env/index.d.ts.map +1 -1
  389. package/esm/src/server/project-env/index.js +1 -1
  390. package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
  391. package/esm/src/server/runtime-handler/index.js +1 -1
  392. package/esm/src/server/runtime-handler/projects-handler.d.ts +1 -1
  393. package/esm/src/server/runtime-handler/projects-handler.d.ts.map +1 -1
  394. package/esm/src/server/runtime-handler/projects-handler.js +4 -2
  395. package/esm/src/transforms/esm/http-bundler.d.ts.map +1 -1
  396. package/esm/src/transforms/esm/http-bundler.js +6 -5
  397. package/esm/src/transforms/esm/http-cache-helpers.d.ts +11 -0
  398. package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
  399. package/esm/src/transforms/esm/http-cache-helpers.js +35 -0
  400. package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
  401. package/esm/src/transforms/esm/http-cache.js +16 -10
  402. package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
  403. package/esm/src/transforms/esm/specifier-resolver.js +87 -7
  404. package/esm/src/transforms/import-rewriter/strategies/alias-strategy.d.ts +2 -0
  405. package/esm/src/transforms/import-rewriter/strategies/alias-strategy.d.ts.map +1 -1
  406. package/esm/src/transforms/import-rewriter/strategies/alias-strategy.js +11 -6
  407. package/esm/src/transforms/md/compiler/md-compiler.d.ts.map +1 -1
  408. package/esm/src/transforms/md/compiler/md-compiler.js +12 -5
  409. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts +2 -0
  410. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts.map +1 -1
  411. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.js +33 -1
  412. package/esm/src/transforms/mdx/compiler/mdx-compiler.d.ts.map +1 -1
  413. package/esm/src/transforms/mdx/compiler/mdx-compiler.js +46 -7
  414. package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts.map +1 -1
  415. package/esm/src/transforms/mdx/esm-module-loader/cache/index.js +8 -2
  416. package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts +1 -0
  417. package/esm/src/transforms/mdx/esm-module-loader/cache-format.d.ts.map +1 -1
  418. package/esm/src/transforms/mdx/esm-module-loader/cache-format.js +3 -0
  419. package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts +4 -0
  420. package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts.map +1 -1
  421. package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.js +44 -8
  422. package/esm/src/transforms/mdx/esm-module-loader/missing-module.d.ts +2 -0
  423. package/esm/src/transforms/mdx/esm-module-loader/missing-module.d.ts.map +1 -1
  424. package/esm/src/transforms/mdx/esm-module-loader/missing-module.js +4 -0
  425. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts.map +1 -1
  426. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.js +5 -1
  427. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.d.ts +2 -0
  428. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.d.ts.map +1 -1
  429. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fetcher.js +50 -11
  430. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.d.ts +24 -12
  431. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.d.ts.map +1 -1
  432. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/nested-imports.js +201 -18
  433. package/esm/src/transforms/mdx/esm-module-loader/types.d.ts +5 -0
  434. package/esm/src/transforms/mdx/esm-module-loader/types.d.ts.map +1 -1
  435. package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.d.ts +22 -2
  436. package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.d.ts.map +1 -1
  437. package/esm/src/transforms/mdx/esm-module-loader/utils/source-spans.js +2080 -129
  438. package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.d.ts +11 -1
  439. package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.d.ts.map +1 -1
  440. package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.js +32 -15
  441. package/esm/src/transforms/pipeline/stages/compile.d.ts.map +1 -1
  442. package/esm/src/transforms/pipeline/stages/compile.js +44 -0
  443. package/esm/src/transforms/shared/specifier-suffix.d.ts +25 -0
  444. package/esm/src/transforms/shared/specifier-suffix.d.ts.map +1 -0
  445. package/esm/src/transforms/shared/specifier-suffix.js +43 -0
  446. package/esm/src/trigger/index.d.ts +2 -2
  447. package/esm/src/trigger/index.d.ts.map +1 -1
  448. package/esm/src/trigger/index.js +1 -1
  449. package/esm/src/trigger/local-runner.d.ts +2 -2
  450. package/esm/src/trigger/local-runner.d.ts.map +1 -1
  451. package/esm/src/trigger/local-runner.js +11 -4
  452. package/esm/src/trigger/target.d.ts +97 -5
  453. package/esm/src/trigger/target.d.ts.map +1 -1
  454. package/esm/src/trigger/target.js +175 -5
  455. package/esm/src/utils/version-constant.d.ts +1 -1
  456. package/esm/src/utils/version-constant.js +1 -1
  457. package/esm/src/webhook/types.d.ts +21 -6
  458. package/esm/src/webhook/types.d.ts.map +1 -1
  459. package/esm/src/webhook/validation.d.ts.map +1 -1
  460. package/esm/src/webhook/validation.js +27 -39
  461. package/esm/templates/index.d.ts +1 -1
  462. package/esm/templates/index.d.ts.map +1 -1
  463. package/esm/templates/loader.d.ts +6 -6
  464. package/esm/templates/loader.d.ts.map +1 -1
  465. package/esm/templates/loader.js +34 -18
  466. package/esm/templates/manifest.generated.d.ts +3 -0
  467. package/esm/templates/manifest.generated.d.ts.map +1 -0
  468. package/esm/templates/manifest.generated.js +2 -0
  469. package/package.json +8 -8
  470. package/esm/templates/manifest.d.ts +0 -664
  471. package/esm/templates/manifest.d.ts.map +0 -1
  472. package/esm/templates/manifest.js +0 -662
@@ -1,39 +1,68 @@
1
1
  /**
2
- * Dependency-free anchored popover with the Studio part API used by Veryfront.
3
- * It provides stable trigger/content ARIA wiring, initial focus, trigger focus
4
- * restoration, collision-aware positioning, and outside/Escape dismissal.
2
+ * Popover - BASIC fork of @radix-ui/react-popover with the same API shape
3
+ * (Root / Trigger / Content + Title / Body / Footer / Actions section parts).
4
+ * Classes are ported 1:1 from Studio's `Popover` (tokens remapped to
5
+ * veryfront's `[var(--token)]` vocabulary). Anchored below the trigger;
6
+ * dismisses on outside-click and `Escape`. A11y work tracked in
7
+ * anchored-surface.tsx.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { Button, Popover, PopoverContent, PopoverTitle, PopoverTrigger } from "veryfront/ui";
12
+ *
13
+ * <Popover>
14
+ * <PopoverTrigger asChild><Button>Filters</Button></PopoverTrigger>
15
+ * <PopoverContent><PopoverTitle>Filters</PopoverTitle></PopoverContent>
16
+ * </Popover>;
17
+ * ```
5
18
  *
6
19
  * @module react/components/ui/popover
7
20
  */
8
21
  import * as React from "react";
9
- import { type AnchoredSlottedTriggerProps, type AnchoredTriggerPublicProps } from "./anchored-surface.js";
10
22
  /** Props accepted by `<Popover>`. */
11
23
  export interface PopoverProps {
24
+ /** The trigger and content parts to compose. */
12
25
  children: React.ReactNode;
26
+ /** Controlled open state (pair with `onOpenChange`). */
13
27
  open?: boolean;
28
+ /** Initial open state when uncontrolled. */
14
29
  defaultOpen?: boolean;
30
+ /** Fires when the open state changes. */
15
31
  onOpenChange?: (open: boolean) => void;
16
32
  }
17
- /** Popover root — owns open state and the positioning anchor. */
33
+ /** Popover root - owns open state and the positioning anchor. */
18
34
  export declare function Popover(props: PopoverProps): React.ReactElement;
35
+ /** Props accepted by `<PopoverTrigger>`. */
36
+ export interface PopoverTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
37
+ /** Merge trigger behaviour onto the child element instead of a `<button>`. @default false */
38
+ asChild?: boolean;
39
+ /** React 19: ref is a regular prop. */
40
+ ref?: React.Ref<HTMLButtonElement>;
41
+ }
19
42
  /**
20
- * Trigger — toggles the popover; the positioning anchor. `asChild` merges onto
21
- * the child element, which must forward `ref` to its DOM node.
43
+ * Literal slotted trigger contract with an element-specific `ref` - for
44
+ * `asChild` triggers whose child is not a `<button>` (e.g. an `<a>`), so the
45
+ * consumer's ref keeps its precise element type.
46
+ */
47
+ export type PopoverSlottedTriggerProps<T extends HTMLElement = HTMLElement> = Omit<PopoverTriggerProps, "ref"> & {
48
+ ref?: React.Ref<T>;
49
+ };
50
+ /**
51
+ * Trigger - toggles the popover; the positioning anchor. `asChild` merges onto
52
+ * the child element, which must forward `ref` to its DOM node. The generic
53
+ * overload lets an `asChild` trigger carry an element-specific ref (e.g. an
54
+ * `<a>`); `aria-haspopup` is supplied by the adapter's trigger.
22
55
  */
23
- export interface PopoverTriggerProps extends AnchoredTriggerPublicProps {
24
- }
25
- /** Literal slotted trigger contract with an element-specific ref. */
26
- export type PopoverSlottedTriggerProps<T extends HTMLElement = HTMLElement> = AnchoredSlottedTriggerProps<T>;
27
56
  export declare function PopoverTrigger<T extends HTMLElement = HTMLElement>(props: PopoverSlottedTriggerProps<T>): React.ReactElement;
28
57
  export declare function PopoverTrigger(props: PopoverTriggerProps): React.ReactElement;
29
58
  /** Props accepted by `<PopoverContent>`. */
30
59
  export interface PopoverContentProps extends React.HTMLAttributes<HTMLDivElement> {
31
60
  /** Horizontal alignment relative to the trigger. */
32
61
  align?: "start" | "end";
33
- /** Consumer ref for the rendered popover surface. */
62
+ /** Consumer ref for the surface node (forwarded through the adapter). */
34
63
  ref?: React.Ref<HTMLDivElement>;
35
64
  }
36
- /** Popover surface — rendered below the trigger while open. */
65
+ /** Popover surface - rendered below the trigger while open. */
37
66
  export declare function PopoverContent({ children, className, align, ...props }: PopoverContentProps): React.ReactElement | null;
38
67
  /** Primary heading slot at the top of a popover (Studio: Heading level 4). */
39
68
  export declare function PopoverTitle({ className, children, ...props }: React.HTMLAttributes<HTMLHeadingElement>): React.ReactElement;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/popover.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAEhC,MAAM,uBAAuB,CAAC;AAO/B,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAE/D;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B;CAAG;AAE1E,qEAAqE;AACrE,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IACxE,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAEjC,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAChE,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC,YAAY,CAAC;AACtB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;AAO/E,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/E,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,qDAAqD;IACrD,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAa,EACb,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAYjD;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAWpF;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/popover.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAG/D;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACxF,6FAA6F;IAC7F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IACtE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAChC;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE3B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAChE,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC,YAAY,CAAC;AACtB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;AAQ/E,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC/E,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,yEAAyE;IACzE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,+DAA+D;AAC/D,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,SAAS,EACT,KAAa,EACb,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAajD;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC,YAAY,CAY/D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAWpF;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,YAAY,CAO3D"}
@@ -1,26 +1,39 @@
1
1
  /**
2
- * Dependency-free anchored popover with the Studio part API used by Veryfront.
3
- * It provides stable trigger/content ARIA wiring, initial focus, trigger focus
4
- * restoration, collision-aware positioning, and outside/Escape dismissal.
2
+ * Popover - BASIC fork of @radix-ui/react-popover with the same API shape
3
+ * (Root / Trigger / Content + Title / Body / Footer / Actions section parts).
4
+ * Classes are ported 1:1 from Studio's `Popover` (tokens remapped to
5
+ * veryfront's `[var(--token)]` vocabulary). Anchored below the trigger;
6
+ * dismisses on outside-click and `Escape`. A11y work tracked in
7
+ * anchored-surface.tsx.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { Button, Popover, PopoverContent, PopoverTitle, PopoverTrigger } from "veryfront/ui";
12
+ *
13
+ * <Popover>
14
+ * <PopoverTrigger asChild><Button>Filters</Button></PopoverTrigger>
15
+ * <PopoverContent><PopoverTitle>Filters</PopoverTitle></PopoverContent>
16
+ * </Popover>;
17
+ * ```
5
18
  *
6
19
  * @module react/components/ui/popover
7
20
  */
8
21
  import * as React from "react";
9
22
  import { cx as cn } from "./cva.js";
10
- import { createAnchoredSurfaceParts, } from "./anchored-surface.js";
11
- // Per-skin context + machinery -- distinct from DropdownMenu's instance so
12
- // a DropdownMenu nested inside a Popover cannot accidentally close the Popover.
13
- const { AnchoredRoot: _Root, AnchoredTrigger: _Trigger, AnchoredContent: _Content } = createAnchoredSurfaceParts();
14
- /** Popover root — owns open state and the positioning anchor. */
23
+ import { useAdapter } from "./adapter/context.js";
24
+ /** Popover root - owns open state and the positioning anchor. */
15
25
  export function Popover(props) {
16
- return React.createElement(_Root, { ...props });
26
+ const { popover } = useAdapter();
27
+ return React.createElement(popover.Root, { ...props });
17
28
  }
18
29
  export function PopoverTrigger(props) {
19
- return React.createElement(_Trigger, { ...props, haspopup: "dialog" });
30
+ const { popover } = useAdapter();
31
+ return React.createElement(popover.Trigger, { ...props });
20
32
  }
21
- /** Popover surface — rendered below the trigger while open. */
33
+ /** Popover surface - rendered below the trigger while open. */
22
34
  export function PopoverContent({ children, className, align = "end", ...props }) {
23
- return (React.createElement(_Content, { ...props, role: "dialog", align: align, initialFocus: true, className: cn("min-w-[220px]", className) }, children));
35
+ const { popover } = useAdapter();
36
+ return (React.createElement(popover.Content, { role: "dialog", align: align, initialFocus: true, className: cn("min-w-[220px]", className), ...props }, children));
24
37
  }
25
38
  /** Primary heading slot at the top of a popover (Studio: Heading level 4). */
26
39
  export function PopoverTitle({ className, children, ...props }) {
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ScrollArea: a styled native-overflow scroll container. The builtin engine uses
3
+ * the platform's own scrolling (no custom scrollbar JS): a single `<div>` that
4
+ * clips and scrolls its `children`, dressed with a tasteful thin scrollbar drawn
5
+ * from the veryfront theme tokens. Pick the scroll axis with `orientation`.
6
+ *
7
+ * @example
8
+ * <ScrollArea orientation="vertical" className="h-48 w-64">
9
+ * <p>…a lot of tall content…</p>
10
+ * </ScrollArea>
11
+ *
12
+ * @module react/components/ui/scroll-area
13
+ */
14
+ import * as React from "react";
15
+ import { type VariantProps } from "./cva.js";
16
+ declare const scrollAreaVariants: (props?: ({
17
+ orientation?: "both" | "horizontal" | "vertical" | null | undefined;
18
+ } & {
19
+ class?: import("../../../utils/clsx.js").ClassValue;
20
+ className?: import("../../../utils/clsx.js").ClassValue;
21
+ }) | undefined) => string;
22
+ /** Props accepted by `<ScrollArea>`. */
23
+ export interface ScrollAreaProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof scrollAreaVariants> {
24
+ /**
25
+ * Which axis scrolls: `vertical` clips the x-axis and scrolls y, `horizontal`
26
+ * clips y and scrolls x, `both` scrolls either way.
27
+ * @default "vertical"
28
+ */
29
+ orientation?: "vertical" | "horizontal" | "both";
30
+ /** The scrollable content. */
31
+ children?: React.ReactNode;
32
+ /** React 19: ref is a regular prop. */
33
+ ref?: React.Ref<HTMLDivElement>;
34
+ }
35
+ /** A styled, native-overflow scroll container. */
36
+ export declare function ScrollArea({ orientation, className, children, ref, ...props }: ScrollAreaProps): React.ReactElement;
37
+ export { scrollAreaVariants };
38
+ //# sourceMappingURL=scroll-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-area.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/scroll-area.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGlD,QAAA,MAAM,kBAAkB;;;;;yBAqBvB,CAAC;AAEF,wCAAwC;AACxC,MAAM,WAAW,eACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACrF;;;;OAIG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,EACzB,WAAwB,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAWtC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ScrollArea: a styled native-overflow scroll container. The builtin engine uses
3
+ * the platform's own scrolling (no custom scrollbar JS): a single `<div>` that
4
+ * clips and scrolls its `children`, dressed with a tasteful thin scrollbar drawn
5
+ * from the veryfront theme tokens. Pick the scroll axis with `orientation`.
6
+ *
7
+ * @example
8
+ * <ScrollArea orientation="vertical" className="h-48 w-64">
9
+ * <p>…a lot of tall content…</p>
10
+ * </ScrollArea>
11
+ *
12
+ * @module react/components/ui/scroll-area
13
+ */
14
+ import * as React from "react";
15
+ import { cva } from "./cva.js";
16
+ import { cx as cn } from "./cva.js";
17
+ const scrollAreaVariants = cva(
18
+ // Thin, unobtrusive scrollbar drawn with theme tokens; native overflow does the work.
19
+ cn("relative rounded-md [scrollbar-width:thin] [scrollbar-color:var(--border)_transparent]", "[&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar]:h-2", "[&::-webkit-scrollbar-track]:bg-transparent", "[&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-[var(--border)]", "[&::-webkit-scrollbar-thumb:hover]:bg-[var(--muted-foreground)]"), {
20
+ variants: {
21
+ orientation: {
22
+ vertical: "overflow-y-auto overflow-x-hidden",
23
+ horizontal: "overflow-x-auto overflow-y-hidden",
24
+ both: "overflow-auto",
25
+ },
26
+ },
27
+ defaultVariants: {
28
+ orientation: "vertical",
29
+ },
30
+ });
31
+ /** A styled, native-overflow scroll container. */
32
+ export function ScrollArea({ orientation = "vertical", className, children, ref, ...props }) {
33
+ return (React.createElement("div", { ref: ref, "data-orientation": orientation, className: cn(scrollAreaVariants({ orientation }), className), ...props }, children));
34
+ }
35
+ export { scrollAreaVariants };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Separator - a thin divider rule. Pure-visual/CSS primitive (no engine needed):
3
+ * decorative by default (`role="none"`, hidden from a11y); pass `decorative={false}`
4
+ * for a semantic `role="separator"` with `aria-orientation`.
5
+ *
6
+ * @module react/components/ui/separator
7
+ */
8
+ import * as React from "react";
9
+ /** Props accepted by `<Separator>`. */
10
+ export interface SeparatorProps extends React.HTMLAttributes<HTMLDivElement> {
11
+ /** Rule direction. @default "horizontal" */
12
+ orientation?: "horizontal" | "vertical";
13
+ /** Decorative (hidden from a11y). Set `false` for a semantic `role="separator"`. @default true */
14
+ decorative?: boolean;
15
+ /** React 19: ref is a regular prop. */
16
+ ref?: React.Ref<HTMLDivElement>;
17
+ }
18
+ /** A horizontal (default) or vertical divider rule. */
19
+ export declare function Separator({ className, orientation, decorative, ref, ...props }: SeparatorProps): React.ReactElement;
20
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/separator.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,uCAAuC;AACvC,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,4CAA4C;IAC5C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kGAAkG;IAClG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAED,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,WAA0B,EAC1B,UAAiB,EACjB,GAAG,EACH,GAAG,KAAK,EACT,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAerC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Separator - a thin divider rule. Pure-visual/CSS primitive (no engine needed):
3
+ * decorative by default (`role="none"`, hidden from a11y); pass `decorative={false}`
4
+ * for a semantic `role="separator"` with `aria-orientation`.
5
+ *
6
+ * @module react/components/ui/separator
7
+ */
8
+ import * as React from "react";
9
+ import { cx as cn } from "./cva.js";
10
+ /** A horizontal (default) or vertical divider rule. */
11
+ export function Separator({ className, orientation = "horizontal", decorative = true, ref, ...props }) {
12
+ return (React.createElement("div", { ref: ref, role: decorative ? "none" : "separator", "aria-orientation": decorative ? undefined : orientation, "data-orientation": orientation, className: cn("shrink-0 bg-[var(--separator)]", orientation === "horizontal" ? "h-px w-full" : "h-full w-px self-stretch", className), ...props }));
13
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Slider - pick a number from a range by dragging a thumb along a track.
3
+ *
4
+ * A single native `<input type="range">` (so keyboard, focus, and ARIA come for
5
+ * free) restyled with the veryfront theme tokens. Controlled via
6
+ * `value`/`onValueChange` or uncontrolled via `defaultValue`; `min`/`max`/`step`
7
+ * behave as on the native element. No adapter or engine required.
8
+ *
9
+ * @example Uncontrolled, 0-100
10
+ * ```tsx
11
+ * import { Slider } from "veryfront/ui";
12
+ *
13
+ * <Slider defaultValue={50} aria-label="Volume" />;
14
+ * ```
15
+ *
16
+ * @example Controlled with a step
17
+ * ```tsx
18
+ * const [temp, setTemp] = React.useState(20);
19
+ * <Slider value={temp} onValueChange={setTemp} min={16} max={30} step={0.5} />;
20
+ * ```
21
+ *
22
+ * @module react/components/ui/slider
23
+ */
24
+ import * as React from "react";
25
+ /** Props accepted by `<Slider>`. */
26
+ export interface SliderProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "value" | "defaultValue" | "onChange"> {
27
+ /** Controlled value (pair with `onValueChange`). */
28
+ value?: number;
29
+ /** Initial value when uncontrolled. */
30
+ defaultValue?: number;
31
+ /** Fires with the next value as the thumb moves. */
32
+ onValueChange?: (value: number) => void;
33
+ /** Lowest selectable value. @default 0 */
34
+ min?: number;
35
+ /** Highest selectable value. @default 100 */
36
+ max?: number;
37
+ /** Granularity the value snaps to. @default 1 */
38
+ step?: number;
39
+ /** React 19: ref is a regular prop. */
40
+ ref?: React.Ref<HTMLInputElement>;
41
+ }
42
+ /** Render a range slider. */
43
+ export declare function Slider({ value, defaultValue, onValueChange, min, max, step, className, disabled, ref, ...props }: SliderProps): React.ReactElement;
44
+ //# sourceMappingURL=slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/slider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,oCAAoC;AACpC,MAAM,WAAW,WAAY,SAC3B,IAAI,CACF,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAC/C;IACD,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAYD,6BAA6B;AAC7B,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,YAAY,EACZ,aAAa,EACb,GAAO,EACP,GAAS,EACT,IAAQ,EACR,SAAS,EACT,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAmClC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Slider - pick a number from a range by dragging a thumb along a track.
3
+ *
4
+ * A single native `<input type="range">` (so keyboard, focus, and ARIA come for
5
+ * free) restyled with the veryfront theme tokens. Controlled via
6
+ * `value`/`onValueChange` or uncontrolled via `defaultValue`; `min`/`max`/`step`
7
+ * behave as on the native element. No adapter or engine required.
8
+ *
9
+ * @example Uncontrolled, 0-100
10
+ * ```tsx
11
+ * import { Slider } from "veryfront/ui";
12
+ *
13
+ * <Slider defaultValue={50} aria-label="Volume" />;
14
+ * ```
15
+ *
16
+ * @example Controlled with a step
17
+ * ```tsx
18
+ * const [temp, setTemp] = React.useState(20);
19
+ * <Slider value={temp} onValueChange={setTemp} min={16} max={30} step={0.5} />;
20
+ * ```
21
+ *
22
+ * @module react/components/ui/slider
23
+ */
24
+ import * as React from "react";
25
+ import { cx as cn } from "./cva.js";
26
+ // Native range thumbs must be styled per-vendor, and each Tailwind utility needs
27
+ // its own pseudo-element variant prefix (a prefix applies to one class only).
28
+ const WEBKIT_THUMB = "[&::-webkit-slider-thumb]:-mt-[5px] [&::-webkit-slider-thumb]:size-4 " +
29
+ "[&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full " +
30
+ "[&::-webkit-slider-thumb]:bg-[var(--primary)] [&::-webkit-slider-thumb]:cursor-pointer";
31
+ const MOZ_THUMB = "[&::-moz-range-thumb]:size-4 [&::-moz-range-thumb]:appearance-none [&::-moz-range-thumb]:border-0 " +
32
+ "[&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:bg-[var(--primary)] " +
33
+ "[&::-moz-range-thumb]:cursor-pointer";
34
+ /** Render a range slider. */
35
+ export function Slider({ value, defaultValue, onValueChange, min = 0, max = 100, step = 1, className, disabled, ref, ...props }) {
36
+ const handleChange = (event) => {
37
+ onValueChange?.(Number(event.target.value));
38
+ };
39
+ return (React.createElement("input", { ref: ref, type: "range", min: min, max: max, step: step, value: value, defaultValue: value === undefined ? defaultValue : undefined, disabled: disabled, onChange: handleChange, "data-disabled": disabled ? "" : undefined, className: cn("w-full cursor-pointer appearance-none bg-transparent",
40
+ // WebKit track + thumb
41
+ "[&::-webkit-slider-runnable-track]:h-1.5 [&::-webkit-slider-runnable-track]:rounded-full [&::-webkit-slider-runnable-track]:bg-[var(--edge)]", WEBKIT_THUMB,
42
+ // Firefox track + thumb
43
+ "[&::-moz-range-track]:h-1.5 [&::-moz-range-track]:rounded-full [&::-moz-range-track]:bg-[var(--edge)]", MOZ_THUMB,
44
+ // Focus ring on the thumb
45
+ "focus-visible:outline-none", "[&:focus-visible::-webkit-slider-thumb]:ring-2 [&:focus-visible::-webkit-slider-thumb]:ring-[var(--edge-medium)]", "[&:focus-visible::-moz-range-thumb]:ring-2 [&:focus-visible::-moz-range-thumb]:ring-[var(--edge-medium)]", "disabled:cursor-not-allowed disabled:opacity-50", className), ...props }));
46
+ }
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Status — ported 1:1 from Veryfront Studio. A coloured status dot with a
2
+ * Status - ported 1:1 from Veryfront Studio. A coloured status dot with a
3
3
  * label (optionally pulsing / responsively hidden). Semantic classes remapped
4
- * to veryfront's `[var(--token)]` vocabulary — the `--status-*` dot tokens all
4
+ * to veryfront's `[var(--token)]` vocabulary - the `--status-*` dot tokens all
5
5
  * exist in `theme.ts`. Private to the chat module.
6
6
  *
7
7
  * @module react/components/ui/status
@@ -10,7 +10,7 @@ import * as React from "react";
10
10
  /** Dot colour, keyed to the `--status-*` palette. */
11
11
  export type StatusColor = "gray" | "blue" | "green" | "red" | "yellow";
12
12
  /** Props accepted by `<Status>`. */
13
- export interface StatusProps {
13
+ export interface StatusProps extends React.HTMLAttributes<HTMLDivElement> {
14
14
  label: string;
15
15
  color: StatusColor;
16
16
  /** Pulse the dot (e.g. an in-progress run). */
@@ -21,8 +21,9 @@ export interface StatusProps {
21
21
  responsive?: boolean;
22
22
  /** `'sm'` (14px, default) or `'inherit'` to inherit the parent's size. */
23
23
  size?: "sm" | "inherit";
24
- className?: string;
24
+ /** React 19: ref is a regular prop, forwarded to the root node. */
25
+ ref?: React.Ref<HTMLDivElement>;
25
26
  }
26
27
  /** Render a status dot + label. */
27
- export declare function Status({ label, color, pulse, showLabel, responsive, size, className, }: StatusProps): React.ReactElement;
28
+ export declare function Status({ label, color, pulse, showLabel, responsive, size, className, ref, ...props }: StatusProps): React.ReactElement;
28
29
  //# sourceMappingURL=status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/status.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvE,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAgB,EAChB,UAAU,EACV,IAAW,EACX,SAAS,GACV,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CA4BlC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/status.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvE,oCAAoC;AACpC,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,mEAAmE;IACnE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC;AAUD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAgB,EAChB,UAAU,EACV,IAAW,EACX,SAAS,EACT,GAAG,EACH,GAAG,KAAK,EACT,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CA8BlC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Status — ported 1:1 from Veryfront Studio. A coloured status dot with a
2
+ * Status - ported 1:1 from Veryfront Studio. A coloured status dot with a
3
3
  * label (optionally pulsing / responsively hidden). Semantic classes remapped
4
- * to veryfront's `[var(--token)]` vocabulary — the `--status-*` dot tokens all
4
+ * to veryfront's `[var(--token)]` vocabulary - the `--status-*` dot tokens all
5
5
  * exist in `theme.ts`. Private to the chat module.
6
6
  *
7
7
  * @module react/components/ui/status
@@ -16,8 +16,8 @@ const dotColorMap = {
16
16
  yellow: "bg-[var(--status-warning)]",
17
17
  };
18
18
  /** Render a status dot + label. */
19
- export function Status({ label, color, pulse, showLabel = true, responsive, size = "sm", className, }) {
20
- return (React.createElement("div", { className: cn("flex items-center gap-1.5", responsive && "@container", className) },
19
+ export function Status({ label, color, pulse, showLabel = true, responsive, size = "sm", className, ref, ...props }) {
20
+ return (React.createElement("div", { ref: ref, ...props, className: cn("flex items-center gap-1.5", responsive && "@container", className) },
21
21
  React.createElement("span", { className: cn("size-2 rounded-full shrink-0", dotColorMap[color], pulse && "animate-pulse") }),
22
22
  React.createElement("span", { className: cn(size === "sm" && "text-sm", "font-normal text-[var(--foreground)] truncate", !showLabel && "sr-only", showLabel && responsive && "hidden @[5rem]:inline") }, label)));
23
23
  }
@@ -1,9 +1,16 @@
1
1
  /**
2
- * Tabs — ported from Veryfront Studio `components/Tabs/Tabs.tsx`, with the
2
+ * Tabs - ported from Veryfront Studio `components/Tabs/Tabs.tsx`, with the
3
3
  * `motion/react` spring-slide forked out: the active pill is a static
4
4
  * background (no dependency, no layout animation), only the `transition-colors`
5
5
  * CSS that Studio already ships. Semantic classes remapped to veryfront's
6
- * `[var(--token)]` vocabulary. Private to the chat module.
6
+ * `[var(--token)]` vocabulary.
7
+ *
8
+ * The selection MECHANICS (`role="tablist"` / `role="tab"`, `aria-selected`,
9
+ * select-on-click) come from the active adapter's `tabs` slot
10
+ * (`useAdapter().tabs`) - with no provider that is the zero-dependency builtin,
11
+ * so behaviour and markup are unchanged. This skin owns only the API shape, the
12
+ * `size` variant, and the visual look (including the active pill), which it
13
+ * drives from the controlled `value` prop.
7
14
  *
8
15
  * Flat, prefixed exports (`Tabs` + `TabsItem`) to match the other `ui/`
9
16
  * primitives (`SelectItem`, `DialogTrigger`, …). Note: `cn` is clsx-only (no
@@ -11,8 +18,23 @@
11
18
  * suffix (e.g. `px-8!`).
12
19
  *
13
20
  * Two sizes:
14
- * - `default` — filled track (`--input-bg`), 34/38px, accent pill.
15
- * - `sm` — flat, outlined, 32px, for panel headers.
21
+ * - `default` - filled track (`--input-bg`), 34/38px, accent pill.
22
+ * - `sm` - flat, outlined, 32px, for panel headers.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * import { Tabs, TabsItem } from "veryfront/ui";
27
+ *
28
+ * function Example() {
29
+ * const [tab, setTab] = React.useState("overview");
30
+ * return (
31
+ * <Tabs value={tab} onValueChange={setTab}>
32
+ * <TabsItem value="overview">Overview</TabsItem>
33
+ * <TabsItem value="activity">Activity</TabsItem>
34
+ * </Tabs>
35
+ * );
36
+ * }
37
+ * ```
16
38
  *
17
39
  * @module react/components/ui/tabs
18
40
  */
@@ -25,7 +47,7 @@ export interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "o
25
47
  size?: TabsSize;
26
48
  children: React.ReactNode;
27
49
  }
28
- /** Tablist container — manages active state and passes context to items. */
50
+ /** Tablist container - delegates selection to the adapter, owns the size + look. */
29
51
  export declare const Tabs: any;
30
52
  /** Props accepted by `<TabsItem>`. */
31
53
  export interface TabsItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "value"> {
@@ -34,10 +56,11 @@ export interface TabsItemProps extends Omit<React.ButtonHTMLAttributes<HTMLButto
34
56
  children: React.ReactNode;
35
57
  }
36
58
  /**
37
- * Individual tab — renders as a button, or an anchor when `href` is set.
38
- * Forwards native props/ref and composes the caller's `onClick` with the
39
- * internal selection (caller's runs first, then the tab activates), so a
40
- * consumer-supplied handler adds to — never overrides — selection.
59
+ * Individual tab - renders as a button, or an anchor when `href` is set. The
60
+ * adapter's `tabs.Tab` supplies the `role="tab"` / `aria-selected` / `data-state`
61
+ * mechanics and composes selection onto the caller's `onClick` (caller's runs
62
+ * first, then the tab activates); this skin renders the visual pill and forwards
63
+ * native props/ref.
41
64
  */
42
65
  export declare const TabsItem: any;
43
66
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AAUjC,0DAA0D;AAC1D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,4EAA4E;AAC5E,eAAO,MAAM,IAAI,KAsBf,CAAC;AAGH,sCAAsC;AACtC,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,KA6CpB,CAAC"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../../../src/src/react/components/ui/tabs.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,KAAK,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;AAWjC,0DAA0D;AAC1D,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,oFAAoF;AACpF,eAAO,MAAM,IAAI,KAwBf,CAAC;AAGH,sCAAsC;AACtC,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,KAyCpB,CAAC"}
@@ -1,9 +1,16 @@
1
1
  /**
2
- * Tabs — ported from Veryfront Studio `components/Tabs/Tabs.tsx`, with the
2
+ * Tabs - ported from Veryfront Studio `components/Tabs/Tabs.tsx`, with the
3
3
  * `motion/react` spring-slide forked out: the active pill is a static
4
4
  * background (no dependency, no layout animation), only the `transition-colors`
5
5
  * CSS that Studio already ships. Semantic classes remapped to veryfront's
6
- * `[var(--token)]` vocabulary. Private to the chat module.
6
+ * `[var(--token)]` vocabulary.
7
+ *
8
+ * The selection MECHANICS (`role="tablist"` / `role="tab"`, `aria-selected`,
9
+ * select-on-click) come from the active adapter's `tabs` slot
10
+ * (`useAdapter().tabs`) - with no provider that is the zero-dependency builtin,
11
+ * so behaviour and markup are unchanged. This skin owns only the API shape, the
12
+ * `size` variant, and the visual look (including the active pill), which it
13
+ * drives from the controlled `value` prop.
7
14
  *
8
15
  * Flat, prefixed exports (`Tabs` + `TabsItem`) to match the other `ui/`
9
16
  * primitives (`SelectItem`, `DialogTrigger`, …). Note: `cn` is clsx-only (no
@@ -11,40 +18,57 @@
11
18
  * suffix (e.g. `px-8!`).
12
19
  *
13
20
  * Two sizes:
14
- * - `default` — filled track (`--input-bg`), 34/38px, accent pill.
15
- * - `sm` — flat, outlined, 32px, for panel headers.
21
+ * - `default` - filled track (`--input-bg`), 34/38px, accent pill.
22
+ * - `sm` - flat, outlined, 32px, for panel headers.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * import { Tabs, TabsItem } from "veryfront/ui";
27
+ *
28
+ * function Example() {
29
+ * const [tab, setTab] = React.useState("overview");
30
+ * return (
31
+ * <Tabs value={tab} onValueChange={setTab}>
32
+ * <TabsItem value="overview">Overview</TabsItem>
33
+ * <TabsItem value="activity">Activity</TabsItem>
34
+ * </Tabs>
35
+ * );
36
+ * }
37
+ * ```
16
38
  *
17
39
  * @module react/components/ui/tabs
18
40
  */
19
41
  import * as React from "react";
20
42
  import { createStrictContext } from "../create-strict-context.js";
21
43
  import { cx as cn } from "./cva.js";
22
- const [TabsContext, useTabs] = createStrictContext("TabsItem", "Tabs");
23
- /** Tablist container — manages active state and passes context to items. */
44
+ import { useAdapter } from "./adapter/context.js";
45
+ const [TabsSkinContext, useTabsSkin] = createStrictContext("TabsItem", "Tabs");
46
+ /** Tablist container - delegates selection to the adapter, owns the size + look. */
24
47
  export const Tabs = React.forwardRef(function Tabs({ value, onValueChange, size = "default", className, children, ...props }, ref) {
25
- return (React.createElement(TabsContext.Provider, { value: { value, onValueChange, size } },
26
- React.createElement("div", { ref: ref, ...props, role: "tablist", className: cn("inline-flex w-fit items-center rounded-full", size === "sm"
48
+ const { tabs } = useAdapter();
49
+ return (React.createElement(TabsSkinContext.Provider, { value: { value, size } },
50
+ React.createElement(tabs.Root, { ref: ref, value: value, onValueChange: onValueChange, ...props, className: cn("inline-flex w-fit items-center rounded-full", size === "sm"
27
51
  ? "h-[32px] gap-0 border border-[var(--edge)] bg-transparent p-0.5"
28
52
  : "h-[34px] gap-2 bg-[var(--input-bg)] p-1 md:h-[38px]", className) }, children)));
29
53
  });
30
54
  Tabs.displayName = "Tabs";
31
55
  /**
32
- * Individual tab — renders as a button, or an anchor when `href` is set.
33
- * Forwards native props/ref and composes the caller's `onClick` with the
34
- * internal selection (caller's runs first, then the tab activates), so a
35
- * consumer-supplied handler adds to — never overrides — selection.
56
+ * Individual tab - renders as a button, or an anchor when `href` is set. The
57
+ * adapter's `tabs.Tab` supplies the `role="tab"` / `aria-selected` / `data-state`
58
+ * mechanics and composes selection onto the caller's `onClick` (caller's runs
59
+ * first, then the tab activates); this skin renders the visual pill and forwards
60
+ * native props/ref.
36
61
  */
37
62
  export const TabsItem = React.forwardRef(function TabsItem({ value, href, children, className, onClick, ...props }, ref) {
38
- const ctx = useTabs();
39
- const isActive = ctx.value === value;
63
+ const { tabs } = useAdapter();
64
+ const { value: selected, size } = useTabsSkin();
65
+ const isActive = selected === value;
40
66
  const Comp = (href ? "a" : "button");
41
- return (React.createElement(Comp, { ref: ref, ...(href ? { href } : { type: "button" }), ...props, role: "tab", "aria-selected": isActive, onClick: (e) => {
42
- onClick?.(e);
43
- ctx.onValueChange(value);
44
- }, className: cn("relative inline-flex items-center h-full rounded-full font-normal transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--edge-medium)]", ctx.size === "sm" ? "px-3 text-sm" : "px-5 md:px-6 text-sm md:text-base", isActive
45
- ? cn("text-[var(--foreground)]", ctx.size === "default" && "dark:text-[var(--background)]")
46
- : "text-[var(--foreground)] opacity-50 hover:opacity-100", className) },
47
- isActive && (React.createElement("div", { className: cn("absolute inset-0 rounded-full bg-[var(--accent)]", ctx.size === "default" && "dark:bg-[var(--foreground)]") })),
48
- React.createElement("span", { className: "relative z-10" }, children)));
67
+ return (React.createElement(tabs.Tab, { value: value, asChild: true, ref: ref, onClick: onClick },
68
+ React.createElement(Comp, { ...(href ? { href } : { type: "button" }), ...props, className: cn("relative inline-flex items-center h-full rounded-full font-normal transition-colors cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--edge-medium)]", size === "sm" ? "px-3 text-sm" : "px-5 md:px-6 text-sm md:text-base", isActive
69
+ ? cn("text-[var(--foreground)]", size === "default" && "dark:text-[var(--background)]")
70
+ : "text-[var(--foreground)] opacity-50 hover:opacity-100", className) },
71
+ isActive && (React.createElement("div", { className: cn("absolute inset-0 rounded-full bg-[var(--accent)]", size === "default" && "dark:bg-[var(--foreground)]") })),
72
+ React.createElement("span", { className: "relative z-10" }, children))));
49
73
  });
50
74
  TabsItem.displayName = "TabsItem";