@xemahq/ui-kernel 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -21
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/biome-host/agent-validation.js +5 -9
  6. package/dist/lib/biome-host/agent-validation.js.map +1 -1
  7. package/dist/lib/biome-host/biome-builders.js +5 -9
  8. package/dist/lib/biome-host/biome-builders.js.map +1 -1
  9. package/dist/lib/biome-host/biome-mode.js +1 -2
  10. package/dist/lib/biome-host/biome-navigation.js +6 -10
  11. package/dist/lib/biome-host/biome-navigation.js.map +1 -1
  12. package/dist/lib/biome-host/biome-registry.d.ts.map +1 -1
  13. package/dist/lib/biome-host/biome-registry.js +27 -29
  14. package/dist/lib/biome-host/biome-registry.js.map +1 -1
  15. package/dist/lib/biome-host/biome-scope.js +9 -14
  16. package/dist/lib/biome-host/biome-scope.js.map +1 -1
  17. package/dist/lib/biome-host/biome-scoped-query.js +8 -13
  18. package/dist/lib/biome-host/biome-scoped-query.js.map +1 -1
  19. package/dist/lib/biome-host/create-biome-orval-config.js +1 -4
  20. package/dist/lib/biome-host/create-biome-orval-config.js.map +1 -1
  21. package/dist/lib/biome-host/define-web-biome.js +3 -6
  22. package/dist/lib/biome-host/define-web-biome.js.map +1 -1
  23. package/dist/lib/biome-host/errors.js +1 -4
  24. package/dist/lib/biome-host/errors.js.map +1 -1
  25. package/dist/lib/biome-host/frontend-biome.js +3 -6
  26. package/dist/lib/biome-host/frontend-biome.js.map +1 -1
  27. package/dist/lib/biome-host/host-bridge.js +5 -9
  28. package/dist/lib/biome-host/host-bridge.js.map +1 -1
  29. package/dist/lib/biome-host/host-sources.js +1 -2
  30. package/dist/lib/biome-host/i18n-hooks.js +5 -9
  31. package/dist/lib/biome-host/i18n-hooks.js.map +1 -1
  32. package/dist/lib/biome-host/i18n-port.js +1 -4
  33. package/dist/lib/biome-host/i18n-port.js.map +1 -1
  34. package/dist/lib/biome-host/index.js +22 -38
  35. package/dist/lib/biome-host/index.js.map +1 -1
  36. package/dist/lib/biome-host/realtime-hooks.js +7 -12
  37. package/dist/lib/biome-host/realtime-hooks.js.map +1 -1
  38. package/dist/lib/biome-host/realtime-port.js +1 -2
  39. package/dist/lib/biome-host/response-envelope.js +2 -6
  40. package/dist/lib/biome-host/response-envelope.js.map +1 -1
  41. package/dist/lib/biome-host/session-contributions.js +1 -2
  42. package/dist/lib/biome-host/session-profiles.js +7 -11
  43. package/dist/lib/biome-host/session-profiles.js.map +1 -1
  44. package/dist/lib/biome-host/use-mutation-with-error-toast.js +7 -10
  45. package/dist/lib/biome-host/use-mutation-with-error-toast.js.map +1 -1
  46. package/dist/lib/biome-host/use-page-state.js +16 -21
  47. package/dist/lib/biome-host/use-page-state.js.map +1 -1
  48. package/dist/lib/capabilities/capability-provider.js +11 -15
  49. package/dist/lib/capabilities/capability-provider.js.map +1 -1
  50. package/dist/lib/capabilities/index.js +3 -19
  51. package/dist/lib/capabilities/index.js.map +1 -1
  52. package/dist/lib/capabilities/types.js +1 -2
  53. package/dist/lib/capabilities/use-capability.js +5 -9
  54. package/dist/lib/capabilities/use-capability.js.map +1 -1
  55. package/dist/lib/contribution-registry/contribution-registry.d.ts +24 -0
  56. package/dist/lib/contribution-registry/contribution-registry.d.ts.map +1 -0
  57. package/dist/lib/contribution-registry/contribution-registry.js +67 -0
  58. package/dist/lib/contribution-registry/contribution-registry.js.map +1 -0
  59. package/dist/lib/contribution-registry/index.d.ts +3 -0
  60. package/dist/lib/contribution-registry/index.d.ts.map +1 -0
  61. package/dist/lib/contribution-registry/index.js +3 -0
  62. package/dist/lib/contribution-registry/index.js.map +1 -0
  63. package/dist/lib/contribution-registry/renderable-registry.d.ts +33 -0
  64. package/dist/lib/contribution-registry/renderable-registry.d.ts.map +1 -0
  65. package/dist/lib/contribution-registry/renderable-registry.js +51 -0
  66. package/dist/lib/contribution-registry/renderable-registry.js.map +1 -0
  67. package/dist/lib/system-bus/capability-invoke.js +1 -2
  68. package/dist/lib/system-bus/deeplink.js +12 -17
  69. package/dist/lib/system-bus/deeplink.js.map +1 -1
  70. package/dist/lib/system-bus/enums.js +10 -13
  71. package/dist/lib/system-bus/enums.js.map +1 -1
  72. package/dist/lib/system-bus/host-ports.js +1 -2
  73. package/dist/lib/system-bus/index.js +10 -26
  74. package/dist/lib/system-bus/index.js.map +1 -1
  75. package/dist/lib/system-bus/intent-registry.js +6 -10
  76. package/dist/lib/system-bus/intent-registry.js.map +1 -1
  77. package/dist/lib/system-bus/intents.js +1 -2
  78. package/dist/lib/system-bus/palette.js +1 -2
  79. package/dist/lib/system-bus/system-bus-builder.js +10 -13
  80. package/dist/lib/system-bus/system-bus-builder.js.map +1 -1
  81. package/dist/lib/system-bus/system-bus.js +1 -2
  82. package/dist/lib/system-bus/windows.js +1 -2
  83. package/dist/offline/id.js +1 -4
  84. package/dist/offline/id.js.map +1 -1
  85. package/dist/offline/index.js +8 -25
  86. package/dist/offline/index.js.map +1 -1
  87. package/dist/offline/mutation.js +5 -8
  88. package/dist/offline/mutation.js.map +1 -1
  89. package/dist/offline/offline-status-badge.js +7 -10
  90. package/dist/offline/offline-status-badge.js.map +1 -1
  91. package/dist/offline/online-controller.js +2 -7
  92. package/dist/offline/online-controller.js.map +1 -1
  93. package/dist/offline/outbox.js +22 -26
  94. package/dist/offline/outbox.js.map +1 -1
  95. package/dist/offline/react.js +15 -21
  96. package/dist/offline/react.js.map +1 -1
  97. package/dist/offline/storage.js +3 -9
  98. package/dist/offline/storage.js.map +1 -1
  99. package/dist/offline/types.js +2 -5
  100. package/dist/offline/types.js.map +1 -1
  101. package/dist/org-db/components/DbResultTable.js +7 -10
  102. package/dist/org-db/components/DbResultTable.js.map +1 -1
  103. package/dist/org-db/index.js +1 -5
  104. package/dist/org-db/index.js.map +1 -1
  105. package/dist/pdf/index.d.ts +2 -0
  106. package/dist/pdf/index.d.ts.map +1 -0
  107. package/dist/pdf/index.js +2 -0
  108. package/dist/pdf/index.js.map +1 -0
  109. package/dist/registry/index.js +8 -24
  110. package/dist/registry/index.js.map +1 -1
  111. package/dist/registry/lib/agent-validation-host.js +5 -8
  112. package/dist/registry/lib/agent-validation-host.js.map +1 -1
  113. package/dist/registry/lib/biome-slot.js +9 -12
  114. package/dist/registry/lib/biome-slot.js.map +1 -1
  115. package/dist/registry/lib/biomes-enabled-context.js +5 -9
  116. package/dist/registry/lib/biomes-enabled-context.js.map +1 -1
  117. package/dist/registry/lib/extension-points.js +1 -4
  118. package/dist/registry/lib/extension-points.js.map +1 -1
  119. package/dist/registry/lib/primitives/SessionEventCard.js +7 -10
  120. package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -1
  121. package/dist/registry/lib/primitives/SessionEventTimeline.js +9 -12
  122. package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -1
  123. package/dist/registry/lib/primitives/SessionMutationBar.js +3 -6
  124. package/dist/registry/lib/primitives/SessionMutationBar.js.map +1 -1
  125. package/dist/registry/lib/primitives/SessionTabbedDrawer.js +11 -14
  126. package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -1
  127. package/dist/registry/lib/primitives/index.js +4 -20
  128. package/dist/registry/lib/primitives/index.js.map +1 -1
  129. package/dist/registry/lib/session-context-builder.js +6 -10
  130. package/dist/registry/lib/session-context-builder.js.map +1 -1
  131. package/dist/registry/lib/session-context-provider.js +9 -14
  132. package/dist/registry/lib/session-context-provider.js.map +1 -1
  133. package/dist/registry/lib/session-selectors.js +30 -39
  134. package/dist/registry/lib/session-selectors.js.map +1 -1
  135. package/dist/session/comments/CommentRail.js +6 -9
  136. package/dist/session/comments/CommentRail.js.map +1 -1
  137. package/dist/session/index.js +3 -9
  138. package/dist/session/index.js.map +1 -1
  139. package/dist/session/lib/cn.js +4 -7
  140. package/dist/session/lib/cn.js.map +1 -1
  141. package/dist/session/shell/SessionWorkspaceShell.js +5 -8
  142. package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
  143. package/dist/session-kit/approvals/ApprovalButton.js +3 -6
  144. package/dist/session-kit/approvals/ApprovalButton.js.map +1 -1
  145. package/dist/session-kit/approvals/ApprovalCard.js +30 -33
  146. package/dist/session-kit/approvals/ApprovalCard.js.map +1 -1
  147. package/dist/session-kit/approvals/ApprovalsCenter.js +29 -32
  148. package/dist/session-kit/approvals/ApprovalsCenter.js.map +1 -1
  149. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js +12 -15
  150. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js.map +1 -1
  151. package/dist/session-kit/approvals/Obligation.js +12 -16
  152. package/dist/session-kit/approvals/Obligation.js.map +1 -1
  153. package/dist/session-kit/approvals/ScopedBody.js +34 -37
  154. package/dist/session-kit/approvals/ScopedBody.js.map +1 -1
  155. package/dist/session-kit/approvals/approval-icons.js +1 -2
  156. package/dist/session-kit/approvals/approval-model.js +6 -11
  157. package/dist/session-kit/approvals/approval-model.js.map +1 -1
  158. package/dist/session-kit/approvals/index.js +11 -27
  159. package/dist/session-kit/approvals/index.js.map +1 -1
  160. package/dist/session-kit/approvals/obligation-display.js +13 -16
  161. package/dist/session-kit/approvals/obligation-display.js.map +1 -1
  162. package/dist/session-kit/approvals/risk-accent.js +6 -9
  163. package/dist/session-kit/approvals/risk-accent.js.map +1 -1
  164. package/dist/session-kit/approvals/scope-icons.js +2 -5
  165. package/dist/session-kit/approvals/scope-icons.js.map +1 -1
  166. package/dist/session-kit/combobox/Combobox.js +19 -22
  167. package/dist/session-kit/combobox/Combobox.js.map +1 -1
  168. package/dist/session-kit/combobox/use-click-outside.js +4 -7
  169. package/dist/session-kit/combobox/use-click-outside.js.map +1 -1
  170. package/dist/session-kit/display/ContextHeader.js +10 -13
  171. package/dist/session-kit/display/ContextHeader.js.map +1 -1
  172. package/dist/session-kit/display/FileDiffCard.js +11 -14
  173. package/dist/session-kit/display/FileDiffCard.js.map +1 -1
  174. package/dist/session-kit/display/MD.js +14 -17
  175. package/dist/session-kit/display/MD.js.map +1 -1
  176. package/dist/session-kit/display/MessageTurn.js +20 -23
  177. package/dist/session-kit/display/MessageTurn.js.map +1 -1
  178. package/dist/session-kit/display/ThinkingPanel.js +7 -10
  179. package/dist/session-kit/display/ThinkingPanel.js.map +1 -1
  180. package/dist/session-kit/display/TodoChecklist.js +13 -16
  181. package/dist/session-kit/display/TodoChecklist.js.map +1 -1
  182. package/dist/session-kit/display/TokenMeter.js +8 -11
  183. package/dist/session-kit/display/TokenMeter.js.map +1 -1
  184. package/dist/session-kit/display/ToolStrip.js +26 -30
  185. package/dist/session-kit/display/ToolStrip.js.map +1 -1
  186. package/dist/session-kit/display/TypingDots.js +3 -6
  187. package/dist/session-kit/display/TypingDots.js.map +1 -1
  188. package/dist/session-kit/index.js +20 -36
  189. package/dist/session-kit/index.js.map +1 -1
  190. package/dist/session-kit/lib/enums.js +14 -17
  191. package/dist/session-kit/lib/enums.js.map +1 -1
  192. package/dist/session-kit/lib/portal-accent.js +1 -4
  193. package/dist/session-kit/lib/portal-accent.js.map +1 -1
  194. package/dist/session-kit/lib/status-dot.js +19 -24
  195. package/dist/session-kit/lib/status-dot.js.map +1 -1
  196. package/dist/session-kit/primitives/Avatar.js +3 -6
  197. package/dist/session-kit/primitives/Avatar.js.map +1 -1
  198. package/dist/session-kit/primitives/PortalGlyph.js +8 -11
  199. package/dist/session-kit/primitives/PortalGlyph.js.map +1 -1
  200. package/dist/session-kit/primitives/RiskPill.js +10 -14
  201. package/dist/session-kit/primitives/RiskPill.js.map +1 -1
  202. package/dist/session-kit/primitives/ScopeDot.js +7 -10
  203. package/dist/session-kit/primitives/ScopeDot.js.map +1 -1
  204. package/dist/session-kit/primitives/Segmented.js +4 -7
  205. package/dist/session-kit/primitives/Segmented.js.map +1 -1
  206. package/dist/ui/branding/app-branding-provider.js +13 -51
  207. package/dist/ui/branding/app-branding-provider.js.map +1 -1
  208. package/dist/ui/branding/sanitize.js +3 -8
  209. package/dist/ui/branding/sanitize.js.map +1 -1
  210. package/dist/ui/breakpoints.js +1 -4
  211. package/dist/ui/breakpoints.js.map +1 -1
  212. package/dist/ui/capture/document-preview.js +16 -19
  213. package/dist/ui/capture/document-preview.js.map +1 -1
  214. package/dist/ui/capture/field-spec-to-zod.d.ts +1 -0
  215. package/dist/ui/capture/field-spec-to-zod.d.ts.map +1 -1
  216. package/dist/ui/capture/field-spec-to-zod.js +51 -36
  217. package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
  218. package/dist/ui/capture/field-spec-validate.d.ts +4 -0
  219. package/dist/ui/capture/field-spec-validate.d.ts.map +1 -0
  220. package/dist/ui/capture/field-spec-validate.js +129 -0
  221. package/dist/ui/capture/field-spec-validate.js.map +1 -0
  222. package/dist/ui/capture/field-spec.d.ts +13 -1
  223. package/dist/ui/capture/field-spec.d.ts.map +1 -1
  224. package/dist/ui/capture/field-spec.js +31 -13
  225. package/dist/ui/capture/field-spec.js.map +1 -1
  226. package/dist/ui/capture/index.d.ts +4 -2
  227. package/dist/ui/capture/index.d.ts.map +1 -1
  228. package/dist/ui/capture/index.js +12 -30
  229. package/dist/ui/capture/index.js.map +1 -1
  230. package/dist/ui/capture/schema-field-input.d.ts.map +1 -1
  231. package/dist/ui/capture/schema-field-input.js +82 -58
  232. package/dist/ui/capture/schema-field-input.js.map +1 -1
  233. package/dist/ui/capture/schema-form.js +11 -14
  234. package/dist/ui/capture/schema-form.js.map +1 -1
  235. package/dist/ui/capture/submit-values.d.ts +6 -0
  236. package/dist/ui/capture/submit-values.d.ts.map +1 -0
  237. package/dist/ui/capture/submit-values.js +28 -0
  238. package/dist/ui/capture/submit-values.js.map +1 -0
  239. package/dist/ui/capture/use-prefill.js +13 -16
  240. package/dist/ui/capture/use-prefill.js.map +1 -1
  241. package/dist/ui/capture/use-schema-validation.js +13 -16
  242. package/dist/ui/capture/use-schema-validation.js.map +1 -1
  243. package/dist/ui/capture/use-wizard.js +15 -18
  244. package/dist/ui/capture/use-wizard.js.map +1 -1
  245. package/dist/ui/capture/value-format.js +4 -8
  246. package/dist/ui/capture/value-format.js.map +1 -1
  247. package/dist/ui/capture/wizard.js +10 -14
  248. package/dist/ui/capture/wizard.js.map +1 -1
  249. package/dist/ui/charts/bar-chart.js +14 -17
  250. package/dist/ui/charts/bar-chart.js.map +1 -1
  251. package/dist/ui/charts/chart-frame.js +11 -16
  252. package/dist/ui/charts/chart-frame.js.map +1 -1
  253. package/dist/ui/charts/chart-types.js +1 -2
  254. package/dist/ui/charts/chart-utils.js +7 -15
  255. package/dist/ui/charts/chart-utils.js.map +1 -1
  256. package/dist/ui/charts/donut-chart.js +11 -14
  257. package/dist/ui/charts/donut-chart.js.map +1 -1
  258. package/dist/ui/charts/index.js +6 -20
  259. package/dist/ui/charts/index.js.map +1 -1
  260. package/dist/ui/charts/line-chart.js +15 -18
  261. package/dist/ui/charts/line-chart.js.map +1 -1
  262. package/dist/ui/charts/sparkline.js +9 -12
  263. package/dist/ui/charts/sparkline.js.map +1 -1
  264. package/dist/ui/chrome/AsyncBoundary.js +9 -15
  265. package/dist/ui/chrome/AsyncBoundary.js.map +1 -1
  266. package/dist/ui/chrome/EmptyState.js +9 -12
  267. package/dist/ui/chrome/EmptyState.js.map +1 -1
  268. package/dist/ui/chrome/ErrorCard.js +8 -11
  269. package/dist/ui/chrome/ErrorCard.js.map +1 -1
  270. package/dist/ui/chrome/LoadingState.js +8 -11
  271. package/dist/ui/chrome/LoadingState.js.map +1 -1
  272. package/dist/ui/chrome/PageHeader.js +10 -14
  273. package/dist/ui/chrome/PageHeader.js.map +1 -1
  274. package/dist/ui/chrome/StateCard.js +7 -11
  275. package/dist/ui/chrome/StateCard.js.map +1 -1
  276. package/dist/ui/chrome/confirm-delete-dialog.js +5 -8
  277. package/dist/ui/chrome/confirm-delete-dialog.js.map +1 -1
  278. package/dist/ui/chrome/page-shell.js +9 -15
  279. package/dist/ui/chrome/page-shell.js.map +1 -1
  280. package/dist/ui/chrome/scope-badge.js +5 -8
  281. package/dist/ui/chrome/scope-badge.js.map +1 -1
  282. package/dist/ui/chrome/status-badge.js +7 -10
  283. package/dist/ui/chrome/status-badge.js.map +1 -1
  284. package/dist/ui/cn.js +5 -8
  285. package/dist/ui/cn.js.map +1 -1
  286. package/dist/ui/design-tokens.js +21 -28
  287. package/dist/ui/design-tokens.js.map +1 -1
  288. package/dist/ui/hooks/use-debounced-value.js +4 -7
  289. package/dist/ui/hooks/use-debounced-value.js.map +1 -1
  290. package/dist/ui/hooks/use-is-mobile.js +8 -11
  291. package/dist/ui/hooks/use-is-mobile.js.map +1 -1
  292. package/dist/ui/index.d.ts +1 -1
  293. package/dist/ui/index.d.ts.map +1 -1
  294. package/dist/ui/index.js +47 -87
  295. package/dist/ui/index.js.map +1 -1
  296. package/dist/ui/pdf/pdf-preview.js +17 -20
  297. package/dist/ui/pdf/pdf-preview.js.map +1 -1
  298. package/dist/ui/primitives/alert-dialog.js +14 -60
  299. package/dist/ui/primitives/alert-dialog.js.map +1 -1
  300. package/dist/ui/primitives/async-combobox.js +18 -21
  301. package/dist/ui/primitives/async-combobox.js.map +1 -1
  302. package/dist/ui/primitives/badge.js +7 -44
  303. package/dist/ui/primitives/badge.js.map +1 -1
  304. package/dist/ui/primitives/button.js +9 -46
  305. package/dist/ui/primitives/button.js.map +1 -1
  306. package/dist/ui/primitives/card.js +10 -51
  307. package/dist/ui/primitives/card.js.map +1 -1
  308. package/dist/ui/primitives/checkbox.js +7 -43
  309. package/dist/ui/primitives/checkbox.js.map +1 -1
  310. package/dist/ui/primitives/collapsible.js +2 -40
  311. package/dist/ui/primitives/collapsible.js.map +1 -1
  312. package/dist/ui/primitives/dialog.js +12 -57
  313. package/dist/ui/primitives/dialog.js.map +1 -1
  314. package/dist/ui/primitives/dropdown-menu.js +15 -65
  315. package/dist/ui/primitives/dropdown-menu.js.map +1 -1
  316. package/dist/ui/primitives/form-stepper.js +8 -12
  317. package/dist/ui/primitives/form-stepper.js.map +1 -1
  318. package/dist/ui/primitives/input.js +5 -41
  319. package/dist/ui/primitives/input.js.map +1 -1
  320. package/dist/ui/primitives/label.js +8 -44
  321. package/dist/ui/primitives/label.js.map +1 -1
  322. package/dist/ui/primitives/overflow-tabs.d.ts +5 -0
  323. package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -1
  324. package/dist/ui/primitives/overflow-tabs.js +19 -22
  325. package/dist/ui/primitives/overflow-tabs.js.map +1 -1
  326. package/dist/ui/primitives/popover.js +6 -44
  327. package/dist/ui/primitives/popover.js.map +1 -1
  328. package/dist/ui/primitives/preview-device-frame.js +16 -19
  329. package/dist/ui/primitives/preview-device-frame.js.map +1 -1
  330. package/dist/ui/primitives/radio-group.js +8 -45
  331. package/dist/ui/primitives/radio-group.js.map +1 -1
  332. package/dist/ui/primitives/resizable.js +11 -16
  333. package/dist/ui/primitives/resizable.js.map +1 -1
  334. package/dist/ui/primitives/scroll-area.js +7 -44
  335. package/dist/ui/primitives/scroll-area.js.map +1 -1
  336. package/dist/ui/primitives/select.js +15 -60
  337. package/dist/ui/primitives/select.js.map +1 -1
  338. package/dist/ui/primitives/separator.js +6 -42
  339. package/dist/ui/primitives/separator.js.map +1 -1
  340. package/dist/ui/primitives/sheet.js +14 -59
  341. package/dist/ui/primitives/sheet.js.map +1 -1
  342. package/dist/ui/primitives/skeleton.js +5 -7
  343. package/dist/ui/primitives/skeleton.js.map +1 -1
  344. package/dist/ui/primitives/switch.js +6 -42
  345. package/dist/ui/primitives/switch.js.map +1 -1
  346. package/dist/ui/primitives/table.js +12 -55
  347. package/dist/ui/primitives/table.js.map +1 -1
  348. package/dist/ui/primitives/tabs.js +8 -47
  349. package/dist/ui/primitives/tabs.js.map +1 -1
  350. package/dist/ui/primitives/tag-multi-select.js +24 -27
  351. package/dist/ui/primitives/tag-multi-select.js.map +1 -1
  352. package/dist/ui/primitives/textarea.js +5 -41
  353. package/dist/ui/primitives/textarea.js.map +1 -1
  354. package/dist/ui/primitives/tooltip.js +6 -45
  355. package/dist/ui/primitives/tooltip.js.map +1 -1
  356. package/dist/ui/primitives/url-preview-chrome.d.ts +8 -0
  357. package/dist/ui/primitives/url-preview-chrome.d.ts.map +1 -0
  358. package/dist/ui/primitives/url-preview-chrome.js +40 -0
  359. package/dist/ui/primitives/url-preview-chrome.js.map +1 -0
  360. package/dist/vista/GenericCatalogueSurface.d.ts +10 -0
  361. package/dist/vista/GenericCatalogueSurface.d.ts.map +1 -0
  362. package/dist/vista/GenericCatalogueSurface.js +80 -0
  363. package/dist/vista/GenericCatalogueSurface.js.map +1 -0
  364. package/dist/vista/SurfaceFallbackCard.d.ts +9 -0
  365. package/dist/vista/SurfaceFallbackCard.d.ts.map +1 -0
  366. package/dist/vista/SurfaceFallbackCard.js +44 -0
  367. package/dist/vista/SurfaceFallbackCard.js.map +1 -0
  368. package/dist/vista/VistaPanel.d.ts +21 -0
  369. package/dist/vista/VistaPanel.d.ts.map +1 -0
  370. package/dist/vista/VistaPanel.js +31 -0
  371. package/dist/vista/VistaPanel.js.map +1 -0
  372. package/dist/vista/html/CustomUiFrame.d.ts +20 -0
  373. package/dist/vista/html/CustomUiFrame.d.ts.map +1 -0
  374. package/dist/vista/html/CustomUiFrame.js +69 -0
  375. package/dist/vista/html/CustomUiFrame.js.map +1 -0
  376. package/dist/vista/html/custom-ui-frame-bridge.d.ts +13 -0
  377. package/dist/vista/html/custom-ui-frame-bridge.d.ts.map +1 -0
  378. package/dist/vista/html/custom-ui-frame-bridge.js +30 -0
  379. package/dist/vista/html/custom-ui-frame-bridge.js.map +1 -0
  380. package/dist/vista/html/custom-ui-frame-contract.d.ts +29 -0
  381. package/dist/vista/html/custom-ui-frame-contract.d.ts.map +1 -0
  382. package/dist/vista/html/custom-ui-frame-contract.js +16 -0
  383. package/dist/vista/html/custom-ui-frame-contract.js.map +1 -0
  384. package/dist/vista/html/custom-ui-intents.d.ts +20 -0
  385. package/dist/vista/html/custom-ui-intents.d.ts.map +1 -0
  386. package/dist/vista/html/custom-ui-intents.js +57 -0
  387. package/dist/vista/html/custom-ui-intents.js.map +1 -0
  388. package/dist/vista/html/custom-ui-srcdoc.d.ts +17 -0
  389. package/dist/vista/html/custom-ui-srcdoc.d.ts.map +1 -0
  390. package/dist/vista/html/custom-ui-srcdoc.js +70 -0
  391. package/dist/vista/html/custom-ui-srcdoc.js.map +1 -0
  392. package/dist/vista/html/index.d.ts +6 -0
  393. package/dist/vista/html/index.d.ts.map +1 -0
  394. package/dist/vista/html/index.js +6 -0
  395. package/dist/vista/html/index.js.map +1 -0
  396. package/dist/vista/index.d.ts +18 -0
  397. package/dist/vista/index.d.ts.map +1 -0
  398. package/dist/vista/index.js +18 -0
  399. package/dist/vista/index.js.map +1 -0
  400. package/dist/vista/surface-catalogue.d.ts +5 -0
  401. package/dist/vista/surface-catalogue.d.ts.map +1 -0
  402. package/dist/vista/surface-catalogue.js +30 -0
  403. package/dist/vista/surface-catalogue.js.map +1 -0
  404. package/dist/vista/surface-icons.d.ts +7 -0
  405. package/dist/vista/surface-icons.d.ts.map +1 -0
  406. package/dist/vista/surface-icons.js +26 -0
  407. package/dist/vista/surface-icons.js.map +1 -0
  408. package/dist/vista/surface-registry.d.ts +7 -0
  409. package/dist/vista/surface-registry.d.ts.map +1 -0
  410. package/dist/vista/surface-registry.js +7 -0
  411. package/dist/vista/surface-registry.js.map +1 -0
  412. package/dist/vista/surfaces/ChartSurface.d.ts +4 -0
  413. package/dist/vista/surfaces/ChartSurface.d.ts.map +1 -0
  414. package/dist/vista/surfaces/ChartSurface.js +17 -0
  415. package/dist/vista/surfaces/ChartSurface.js.map +1 -0
  416. package/dist/vista/surfaces/FilesSurface.d.ts +15 -0
  417. package/dist/vista/surfaces/FilesSurface.d.ts.map +1 -0
  418. package/dist/vista/surfaces/FilesSurface.js +121 -0
  419. package/dist/vista/surfaces/FilesSurface.js.map +1 -0
  420. package/dist/vista/surfaces/FormSurface.d.ts +4 -0
  421. package/dist/vista/surfaces/FormSurface.d.ts.map +1 -0
  422. package/dist/vista/surfaces/FormSurface.js +97 -0
  423. package/dist/vista/surfaces/FormSurface.js.map +1 -0
  424. package/dist/vista/surfaces/HtmlSurface.d.ts +4 -0
  425. package/dist/vista/surfaces/HtmlSurface.d.ts.map +1 -0
  426. package/dist/vista/surfaces/HtmlSurface.js +11 -0
  427. package/dist/vista/surfaces/HtmlSurface.js.map +1 -0
  428. package/dist/vista/surfaces/TableSurface.d.ts +4 -0
  429. package/dist/vista/surfaces/TableSurface.d.ts.map +1 -0
  430. package/dist/vista/surfaces/TableSurface.js +42 -0
  431. package/dist/vista/surfaces/TableSurface.js.map +1 -0
  432. package/dist/vista/surfaces/UrlSurface.d.ts +4 -0
  433. package/dist/vista/surfaces/UrlSurface.d.ts.map +1 -0
  434. package/dist/vista/surfaces/UrlSurface.js +7 -0
  435. package/dist/vista/surfaces/UrlSurface.js.map +1 -0
  436. package/dist/vista/surfaces/blob-surfaces.d.ts +6 -0
  437. package/dist/vista/surfaces/blob-surfaces.d.ts.map +1 -0
  438. package/dist/vista/surfaces/blob-surfaces.js +38 -0
  439. package/dist/vista/surfaces/blob-surfaces.js.map +1 -0
  440. package/dist/vista/surfaces/elicitation-transport.d.ts +18 -0
  441. package/dist/vista/surfaces/elicitation-transport.d.ts.map +1 -0
  442. package/dist/vista/surfaces/elicitation-transport.js +100 -0
  443. package/dist/vista/surfaces/elicitation-transport.js.map +1 -0
  444. package/dist/vista/surfaces/index.d.ts +11 -0
  445. package/dist/vista/surfaces/index.d.ts.map +1 -0
  446. package/dist/vista/surfaces/index.js +89 -0
  447. package/dist/vista/surfaces/index.js.map +1 -0
  448. package/dist/vista/surfaces/text-surfaces.d.ts +8 -0
  449. package/dist/vista/surfaces/text-surfaces.d.ts.map +1 -0
  450. package/dist/vista/surfaces/text-surfaces.js +54 -0
  451. package/dist/vista/surfaces/text-surfaces.js.map +1 -0
  452. package/dist/vista/use-vista-tabs.d.ts +30 -0
  453. package/dist/vista/use-vista-tabs.d.ts.map +1 -0
  454. package/dist/vista/use-vista-tabs.js +77 -0
  455. package/dist/vista/use-vista-tabs.js.map +1 -0
  456. package/dist/vista/vista-code-renderer.d.ts +12 -0
  457. package/dist/vista/vista-code-renderer.d.ts.map +1 -0
  458. package/dist/vista/vista-code-renderer.js +10 -0
  459. package/dist/vista/vista-code-renderer.js.map +1 -0
  460. package/dist/vista/vista-file-source.d.ts +20 -0
  461. package/dist/vista/vista-file-source.d.ts.map +1 -0
  462. package/dist/vista/vista-file-source.js +69 -0
  463. package/dist/vista/vista-file-source.js.map +1 -0
  464. package/dist/vista/vista-form-host.d.ts +16 -0
  465. package/dist/vista/vista-form-host.d.ts.map +1 -0
  466. package/dist/vista/vista-form-host.js +10 -0
  467. package/dist/vista/vista-form-host.js.map +1 -0
  468. package/dist/vista/vista-model.d.ts +12 -0
  469. package/dist/vista/vista-model.d.ts.map +1 -0
  470. package/dist/vista/vista-model.js +72 -0
  471. package/dist/vista/vista-model.js.map +1 -0
  472. package/dist/vista/vista-open-context.d.ts +9 -0
  473. package/dist/vista/vista-open-context.d.ts.map +1 -0
  474. package/dist/vista/vista-open-context.js +10 -0
  475. package/dist/vista/vista-open-context.js.map +1 -0
  476. package/dist/vista/vista-payloads.d.ts +107 -0
  477. package/dist/vista/vista-payloads.d.ts.map +1 -0
  478. package/dist/vista/vista-payloads.js +305 -0
  479. package/dist/vista/vista-payloads.js.map +1 -0
  480. package/dist/vista/vista-tabs-manifest.d.ts +17 -0
  481. package/dist/vista/vista-tabs-manifest.d.ts.map +1 -0
  482. package/dist/vista/vista-tabs-manifest.js +60 -0
  483. package/dist/vista/vista-tabs-manifest.js.map +1 -0
  484. package/dist/vista/vista-tools.d.ts +41 -0
  485. package/dist/vista/vista-tools.d.ts.map +1 -0
  486. package/dist/vista/vista-tools.js +113 -0
  487. package/dist/vista/vista-tools.js.map +1 -0
  488. package/package.json +10 -3
  489. package/src/index.ts +5 -0
  490. package/src/lib/biome-host/biome-registry.ts +31 -11
  491. package/src/lib/contribution-registry/contribution-registry.spec.ts +141 -0
  492. package/src/lib/contribution-registry/contribution-registry.ts +202 -0
  493. package/src/lib/contribution-registry/index.ts +9 -0
  494. package/src/lib/contribution-registry/renderable-registry.ts +142 -0
  495. package/src/pdf/index.ts +11 -0
  496. package/src/ui/capture/field-spec-to-zod.ts +22 -0
  497. package/src/ui/capture/field-spec-validate.ts +147 -0
  498. package/src/ui/capture/field-spec.ts +62 -0
  499. package/src/ui/capture/index.ts +9 -1
  500. package/src/ui/capture/schema-field-input.tsx +134 -14
  501. package/src/ui/capture/submit-values.test.ts +70 -0
  502. package/src/ui/capture/submit-values.ts +63 -0
  503. package/src/ui/index.ts +8 -1
  504. package/src/ui/primitives/overflow-tabs.tsx +24 -4
  505. package/src/ui/primitives/url-preview-chrome.tsx +102 -0
  506. package/src/vista/GenericCatalogueSurface.tsx +177 -0
  507. package/src/vista/SurfaceFallbackCard.tsx +109 -0
  508. package/src/vista/VistaPanel.tsx +155 -0
  509. package/src/vista/form-payload.spec.ts +93 -0
  510. package/src/vista/html/CustomUiFrame.spec.tsx +125 -0
  511. package/src/vista/html/CustomUiFrame.tsx +204 -0
  512. package/src/vista/html/custom-ui-frame-bridge.spec.ts +191 -0
  513. package/src/vista/html/custom-ui-frame-bridge.ts +92 -0
  514. package/src/vista/html/custom-ui-frame-contract.ts +88 -0
  515. package/src/vista/html/custom-ui-intents.spec.ts +133 -0
  516. package/src/vista/html/custom-ui-intents.ts +151 -0
  517. package/src/vista/html/custom-ui-srcdoc.spec.ts +151 -0
  518. package/src/vista/html/custom-ui-srcdoc.ts +193 -0
  519. package/src/vista/html/index.ts +13 -0
  520. package/src/vista/index.ts +48 -0
  521. package/src/vista/surface-catalogue.spec.ts +140 -0
  522. package/src/vista/surface-catalogue.ts +84 -0
  523. package/src/vista/surface-icons.ts +57 -0
  524. package/src/vista/surface-registry.ts +56 -0
  525. package/src/vista/surfaces/ChartSurface.tsx +34 -0
  526. package/src/vista/surfaces/FilesSurface.tsx +268 -0
  527. package/src/vista/surfaces/FormSurface.tsx +264 -0
  528. package/src/vista/surfaces/HtmlSurface.tsx +43 -0
  529. package/src/vista/surfaces/TableSurface.tsx +99 -0
  530. package/src/vista/surfaces/UrlSurface.tsx +40 -0
  531. package/src/vista/surfaces/blob-surfaces.tsx +129 -0
  532. package/src/vista/surfaces/elicitation-transport.spec.ts +187 -0
  533. package/src/vista/surfaces/elicitation-transport.ts +175 -0
  534. package/src/vista/surfaces/index.tsx +157 -0
  535. package/src/vista/surfaces/text-surfaces.tsx +119 -0
  536. package/src/vista/use-vista-tabs.ts +188 -0
  537. package/src/vista/vista-code-renderer.tsx +46 -0
  538. package/src/vista/vista-file-source.tsx +163 -0
  539. package/src/vista/vista-form-host.tsx +78 -0
  540. package/src/vista/vista-model.ts +130 -0
  541. package/src/vista/vista-open-context.tsx +42 -0
  542. package/src/vista/vista-payloads.ts +514 -0
  543. package/src/vista/vista-tabs-manifest.ts +123 -0
  544. package/src/vista/vista-tools.ts +220 -0
@@ -1,48 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.APP_PRIMARY_COLOR_VAR = void 0;
37
- exports.useAppBranding = useAppBranding;
38
- exports.AppBrandingProvider = AppBrandingProvider;
39
- const jsx_runtime_1 = require("react/jsx-runtime");
40
- const React = __importStar(require("react"));
41
- const cn_1 = require("../cn");
42
- const sanitize_1 = require("./sanitize");
43
- exports.APP_PRIMARY_COLOR_VAR = '--app-primary-color';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { cn } from '../cn';
4
+ import { sanitizeCssCustomPropertyName, sanitizeCssValue, sanitizeLogoUrl, } from './sanitize';
5
+ export const APP_PRIMARY_COLOR_VAR = '--app-primary-color';
44
6
  const AppBrandingContext = React.createContext(null);
45
- function useAppBranding() {
7
+ export function useAppBranding() {
46
8
  const ctx = React.useContext(AppBrandingContext);
47
9
  if (ctx === null) {
48
10
  throw new Error('useAppBranding must be used within an <AppBrandingProvider>.');
@@ -55,16 +17,16 @@ function resolveBranding(branding, tenantBranding) {
55
17
  const rawLogo = tenantBranding?.logoUrl ?? branding.logoUrl;
56
18
  const cssTokens = { ...branding.cssTokens, ...tenantBranding?.cssTokens };
57
19
  const primaryColor = rawPrimary !== undefined
58
- ? ((0, sanitize_1.sanitizeCssValue)(rawPrimary) ?? undefined)
20
+ ? (sanitizeCssValue(rawPrimary) ?? undefined)
59
21
  : undefined;
60
- const logoUrl = (0, sanitize_1.sanitizeLogoUrl)(rawLogo);
22
+ const logoUrl = sanitizeLogoUrl(rawLogo);
61
23
  const cssVars = {};
62
24
  if (primaryColor !== undefined) {
63
- cssVars[exports.APP_PRIMARY_COLOR_VAR] = primaryColor;
25
+ cssVars[APP_PRIMARY_COLOR_VAR] = primaryColor;
64
26
  }
65
27
  for (const [rawKey, rawValue] of Object.entries(cssTokens)) {
66
- const name = (0, sanitize_1.sanitizeCssCustomPropertyName)(rawKey);
67
- const value = (0, sanitize_1.sanitizeCssValue)(rawValue);
28
+ const name = sanitizeCssCustomPropertyName(rawKey);
29
+ const value = sanitizeCssValue(rawValue);
68
30
  if (name !== null && value !== null) {
69
31
  cssVars[name] = value;
70
32
  }
@@ -74,8 +36,8 @@ function resolveBranding(branding, tenantBranding) {
74
36
  cssVars,
75
37
  };
76
38
  }
77
- function AppBrandingProvider({ branding, tenantBranding, className, children, }) {
39
+ export function AppBrandingProvider({ branding, tenantBranding, className, children, }) {
78
40
  const { context, cssVars } = React.useMemo(() => resolveBranding(branding, tenantBranding), [branding, tenantBranding]);
79
- return ((0, jsx_runtime_1.jsx)(AppBrandingContext.Provider, { value: context, children: (0, jsx_runtime_1.jsx)("div", { "data-app-branding": "", className: (0, cn_1.cn)(className), style: cssVars, children: children }) }));
41
+ return (_jsx(AppBrandingContext.Provider, { value: context, children: _jsx("div", { "data-app-branding": "", className: cn(className), style: cssVars, children: children }) }));
80
42
  }
81
43
  //# sourceMappingURL=app-branding-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-branding-provider.js","sourceRoot":"","sources":["../../../src/ui/branding/app-branding-provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,wCAQC;AA8DD,kDAwBC;;AA7HD,6CAA+B;AAI/B,8BAA2B;AAE3B,yCAIoB;AAGP,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAS3D,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAC5C,IAAI,CACL,CAAC;AAOF,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAoBD,SAAS,eAAe,CACtB,QAAwB,EACxB,cAAmD;IAKnD,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IACxE,MAAM,UAAU,GAAG,cAAc,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IACzE,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;IAC5D,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAC;IAE1E,MAAM,YAAY,GAChB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC,IAAA,2BAAgB,EAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,IAAA,0BAAe,EAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,6BAAqB,CAAC,GAAG,YAAY,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,wCAA6B,EAAC,MAAM,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,2BAAgB,EAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;QAC/C,OAAO;KACR,CAAC;AACJ,CAAC;AAQD,SAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,QAAQ,GACiB;IACzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC/C,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,OAAO,CACL,uBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACzC,qDACoB,EAAE,EACpB,SAAS,EAAE,IAAA,OAAE,EAAC,SAAS,CAAC,EAGxB,KAAK,EAAE,OAA8B,YAEpC,QAAQ,GACL,GACsB,CAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"app-branding-provider.js","sourceRoot":"","sources":["../../../src/ui/branding/app-branding-provider.tsx"],"names":[],"mappings":";AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAS3D,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAC5C,IAAI,CACL,CAAC;AAOF,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAoBD,SAAS,eAAe,CACtB,QAAwB,EACxB,cAAmD;IAKnD,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IACxE,MAAM,UAAU,GAAG,cAAc,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;IACzE,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC;IAC5D,MAAM,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAC;IAE1E,MAAM,YAAY,GAChB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,qBAAqB,CAAC,GAAG,YAAY,CAAC;IAChD,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;QAC/C,OAAO;KACR,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,QAAQ,GACiB;IACzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CACxC,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,EAC/C,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACzC,mCACoB,EAAE,EACpB,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAGxB,KAAK,EAAE,OAA8B,YAEpC,QAAQ,GACL,GACsB,CAC/B,CAAC;AACJ,CAAC"}
@@ -1,8 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sanitizeCssValue = sanitizeCssValue;
4
- exports.sanitizeCssCustomPropertyName = sanitizeCssCustomPropertyName;
5
- exports.sanitizeLogoUrl = sanitizeLogoUrl;
6
1
  const CSS_VALUE_UNSAFE = /[;{}<>\\]|\/\*|\*\//;
7
2
  const CSS_CUSTOM_PROPERTY_NAME = /^[a-zA-Z_][a-zA-Z0-9_-]*$/;
8
3
  function hasControlChar(value) {
@@ -13,7 +8,7 @@ function hasControlChar(value) {
13
8
  }
14
9
  return false;
15
10
  }
16
- function sanitizeCssValue(raw) {
11
+ export function sanitizeCssValue(raw) {
17
12
  const value = raw.trim();
18
13
  if (value.length === 0)
19
14
  return null;
@@ -23,13 +18,13 @@ function sanitizeCssValue(raw) {
23
18
  return null;
24
19
  return value;
25
20
  }
26
- function sanitizeCssCustomPropertyName(rawKey) {
21
+ export function sanitizeCssCustomPropertyName(rawKey) {
27
22
  const name = rawKey.trim();
28
23
  if (!CSS_CUSTOM_PROPERTY_NAME.test(name))
29
24
  return null;
30
25
  return `--${name}`;
31
26
  }
32
- function sanitizeLogoUrl(raw) {
27
+ export function sanitizeLogoUrl(raw) {
33
28
  if (raw === undefined)
34
29
  return undefined;
35
30
  let parsed;
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/ui/branding/sanitize.ts"],"names":[],"mappings":";;AAyCA,4CAMC;AAMD,sEAIC;AAOD,0CAYC;AAzDD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAO/C,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAG7D,SAAS,cAAc,CAAC,KAAa;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,SAAgB,6BAA6B,CAAC,MAAc;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAOD,SAAgB,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../../src/ui/branding/sanitize.ts"],"names":[],"mappings":"AAmBA,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAO/C,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAG7D,SAAS,cAAc,CAAC,KAAa;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
@@ -1,5 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MOBILE_BREAKPOINT = void 0;
4
- exports.MOBILE_BREAKPOINT = 768;
1
+ export const MOBILE_BREAKPOINT = 768;
5
2
  //# sourceMappingURL=breakpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../../src/ui/breakpoints.ts"],"names":[],"mappings":";;;AAaa,QAAA,iBAAiB,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"breakpoints.js","sourceRoot":"","sources":["../../src/ui/breakpoints.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC"}
@@ -1,31 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DocumentPreview = DocumentPreview;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const cn_1 = require("../cn");
6
- const field_spec_1 = require("./field-spec");
7
- const value_format_1 = require("./value-format");
8
- function DocumentPreview({ fields, sections, schema, values, title, emptyText = '—', className }) {
9
- const resolved = (0, field_spec_1.toSections)(sections ?? (fields ? fields : schema) ?? []);
10
- return ((0, jsx_runtime_1.jsxs)("article", { className: (0, cn_1.cn)('rounded-xl border border-border bg-card p-5 text-card-foreground shadow-sm sm:p-6', className), children: [title ? (0, jsx_runtime_1.jsx)("h2", { className: "mb-4 text-title font-semibold tracking-tight text-ink", children: title }) : null, (0, jsx_runtime_1.jsx)("div", { className: "space-y-6", children: resolved.map((section) => ((0, jsx_runtime_1.jsxs)("section", { children: [section.title ? (0, jsx_runtime_1.jsx)("h3", { className: "mb-2 border-b border-rule pb-1 text-caption font-semibold uppercase tracking-wider text-ink-3", children: section.title }) : null, (0, jsx_runtime_1.jsx)("dl", { className: "grid grid-cols-1 gap-x-6 gap-y-3 sm:grid-cols-[minmax(8rem,12rem)_1fr]", children: section.fields.map((field) => ((0, jsx_runtime_1.jsx)(FieldRow, { field: field, value: values[field.key], emptyText: emptyText }, field.key))) })] }, section.key))) })] }));
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { cn } from '../cn';
3
+ import { CaptureFieldType, toSections } from './field-spec';
4
+ import { formatScalar } from './value-format';
5
+ export function DocumentPreview({ fields, sections, schema, values, title, emptyText = '—', className }) {
6
+ const resolved = toSections(sections ?? (fields ? fields : schema) ?? []);
7
+ return (_jsxs("article", { className: cn('rounded-xl border border-border bg-card p-5 text-card-foreground shadow-sm sm:p-6', className), children: [title ? _jsx("h2", { className: "mb-4 text-title font-semibold tracking-tight text-ink", children: title }) : null, _jsx("div", { className: "space-y-6", children: resolved.map((section) => (_jsxs("section", { children: [section.title ? _jsx("h3", { className: "mb-2 border-b border-rule pb-1 text-caption font-semibold uppercase tracking-wider text-ink-3", children: section.title }) : null, _jsx("dl", { className: "grid grid-cols-1 gap-x-6 gap-y-3 sm:grid-cols-[minmax(8rem,12rem)_1fr]", children: section.fields.map((field) => (_jsx(FieldRow, { field: field, value: values[field.key], emptyText: emptyText }, field.key))) })] }, section.key))) })] }));
11
8
  }
12
9
  function FieldRow({ field, value, emptyText }) {
13
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("dt", { className: "text-body-1 font-medium text-ink-3 sm:text-right", children: field.label }), (0, jsx_runtime_1.jsx)("dd", { className: "min-w-0 text-body-1 text-ink", children: renderValue(field, value, emptyText) })] }));
10
+ return (_jsxs(_Fragment, { children: [_jsx("dt", { className: "text-body-1 font-medium text-ink-3 sm:text-right", children: field.label }), _jsx("dd", { className: "min-w-0 text-body-1 text-ink", children: renderValue(field, value, emptyText) })] }));
14
11
  }
15
12
  function renderValue(field, value, emptyText) {
16
- if (field.type === field_spec_1.CaptureFieldType.Object) {
13
+ if (field.type === CaptureFieldType.Object) {
17
14
  const record = (value && typeof value === 'object' && !Array.isArray(value) ? value : null);
18
15
  if (!record)
19
- return (0, jsx_runtime_1.jsx)("span", { className: "text-ink-3", children: emptyText });
20
- return ((0, jsx_runtime_1.jsx)("dl", { className: "space-y-1 rounded-md border border-rule bg-paper-elev/40 p-2", children: (field.fields ?? []).map((child) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-2", children: [(0, jsx_runtime_1.jsxs)("dt", { className: "text-caption font-medium text-ink-3", children: [child.label, ":"] }), (0, jsx_runtime_1.jsx)("dd", { className: "text-caption text-ink", children: renderValue(child, record[child.key], emptyText) })] }, child.key))) }));
16
+ return _jsx("span", { className: "text-ink-3", children: emptyText });
17
+ return (_jsx("dl", { className: "space-y-1 rounded-md border border-rule bg-paper-elev/40 p-2", children: (field.fields ?? []).map((child) => (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsxs("dt", { className: "text-caption font-medium text-ink-3", children: [child.label, ":"] }), _jsx("dd", { className: "text-caption text-ink", children: renderValue(child, record[child.key], emptyText) })] }, child.key))) }));
21
18
  }
22
- if (field.type === field_spec_1.CaptureFieldType.List) {
19
+ if (field.type === CaptureFieldType.List) {
23
20
  const items = (Array.isArray(value) ? value : []);
24
21
  if (items.length === 0)
25
- return (0, jsx_runtime_1.jsx)("span", { className: "text-ink-3", children: emptyText });
26
- return ((0, jsx_runtime_1.jsx)("ol", { className: "space-y-2", children: items.map((item, index) => ((0, jsx_runtime_1.jsxs)("li", { className: "rounded-md border border-rule bg-paper-elev/40 p-2", children: [(0, jsx_runtime_1.jsxs)("p", { className: "mb-1 text-caption font-medium text-ink-3", children: [field.label, " #", index + 1] }), (0, jsx_runtime_1.jsx)("dl", { className: "space-y-1", children: (field.fields ?? []).map((child) => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-2", children: [(0, jsx_runtime_1.jsxs)("dt", { className: "text-caption font-medium text-ink-3", children: [child.label, ":"] }), (0, jsx_runtime_1.jsx)("dd", { className: "text-caption text-ink", children: renderValue(child, item[child.key], emptyText) })] }, child.key))) })] }, index))) }));
22
+ return _jsx("span", { className: "text-ink-3", children: emptyText });
23
+ return (_jsx("ol", { className: "space-y-2", children: items.map((item, index) => (_jsxs("li", { className: "rounded-md border border-rule bg-paper-elev/40 p-2", children: [_jsxs("p", { className: "mb-1 text-caption font-medium text-ink-3", children: [field.label, " #", index + 1] }), _jsx("dl", { className: "space-y-1", children: (field.fields ?? []).map((child) => (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsxs("dt", { className: "text-caption font-medium text-ink-3", children: [child.label, ":"] }), _jsx("dd", { className: "text-caption text-ink", children: renderValue(child, item[child.key], emptyText) })] }, child.key))) })] }, index))) }));
27
24
  }
28
- const text = (0, value_format_1.formatScalar)(field, value, emptyText);
29
- return (0, jsx_runtime_1.jsx)("span", { className: (0, cn_1.cn)(text === emptyText && 'text-ink-3'), children: text });
25
+ const text = formatScalar(field, value, emptyText);
26
+ return _jsx("span", { className: cn(text === emptyText && 'text-ink-3'), children: text });
30
27
  }
31
28
  //# sourceMappingURL=document-preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-preview.js","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":";;AA8BA,0CAmBC;;AAvCD,8BAA2B;AAE3B,6CAAgJ;AAChJ,iDAA8C;AAiB9C,SAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,EAAE,SAAS,EAAwB;IAC3H,MAAM,QAAQ,GAAG,IAAA,uBAAU,EAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,OAAO,CACL,qCAAS,SAAS,EAAE,IAAA,OAAE,EAAC,mFAAmF,EAAE,SAAS,CAAC,aACnH,KAAK,CAAC,CAAC,CAAC,+BAAI,SAAS,EAAC,uDAAuD,YAAE,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EAClG,gCAAK,SAAS,EAAC,WAAW,YACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACzB,gDACG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,+BAAI,SAAS,EAAC,+FAA+F,YAAE,OAAO,CAAC,KAAK,GAAM,CAAC,CAAC,CAAC,IAAI,EAC1J,+BAAI,SAAS,EAAC,wEAAwE,YACnF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,uBAAC,QAAQ,IAAiB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,IAAvE,KAAK,CAAC,GAAG,CAAkE,CAC3F,CAAC,GACC,KANO,OAAO,CAAC,GAAG,CAOf,CACX,CAAC,GACE,IACE,CACX,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAkE;IAC3G,OAAO,CACL,6DACE,+BAAI,SAAS,EAAC,kDAAkD,YAAE,KAAK,CAAC,KAAK,GAAM,EACnF,+BAAI,SAAS,EAAC,8BAA8B,YAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,GAAM,IACvF,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB,EAAE,KAAc,EAAE,SAAiB;IAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,6BAAgB,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAyB,CAAC;QACpH,IAAI,CAAC,MAAM;YAAE,OAAO,iCAAM,SAAS,EAAC,YAAY,YAAE,SAAS,GAAQ,CAAC;QACpE,OAAO,CACL,+BAAI,SAAS,EAAC,8DAA8D,YACzE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACnC,iCAAqB,SAAS,EAAC,sBAAsB,aACnD,gCAAI,SAAS,EAAC,qCAAqC,aAAE,KAAK,CAAC,KAAK,SAAO,EACvE,+BAAI,SAAS,EAAC,uBAAuB,YAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAM,KAFrF,KAAK,CAAC,GAAG,CAGb,CACP,CAAC,GACC,CACN,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,6BAAgB,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAoB,CAAC;QACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,iCAAM,SAAS,EAAC,YAAY,YAAE,SAAS,GAAQ,CAAC;QAC/E,OAAO,CACL,+BAAI,SAAS,EAAC,WAAW,YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,gCAAgB,SAAS,EAAC,oDAAoD,aAC5E,+BAAG,SAAS,EAAC,0CAA0C,aACpD,KAAK,CAAC,KAAK,QAAI,KAAK,GAAG,CAAC,IACvB,EACJ,+BAAI,SAAS,EAAC,WAAW,YACtB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACnC,iCAAqB,SAAS,EAAC,sBAAsB,aACnD,gCAAI,SAAS,EAAC,qCAAqC,aAAE,KAAK,CAAC,KAAK,SAAO,EACvE,+BAAI,SAAS,EAAC,uBAAuB,YAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAM,KAFnF,KAAK,CAAC,GAAG,CAGb,CACP,CAAC,GACC,KAXE,KAAK,CAYT,CACN,CAAC,GACC,CACN,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,2BAAY,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,iCAAM,SAAS,EAAE,IAAA,OAAE,EAAC,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,YAAG,IAAI,GAAQ,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"document-preview.js","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { type CaptureFieldSpec, type CaptureSchema, type CaptureSection } from './field-spec';
3
3
  export declare function isEmptyValue(value: unknown): boolean;
4
+ export declare function isParsableJson(value: string): boolean;
4
5
  export declare function fieldSpecToZod(schema: CaptureSchema | readonly CaptureFieldSpec[] | readonly CaptureSection[]): z.ZodObject<z.ZodRawShape>;
5
6
  //# sourceMappingURL=field-spec-to-zod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec-to-zod.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-to-zod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAoB,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAe,MAAM,cAAc,CAAC;AAG7H,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AAoFD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG,SAAS,gBAAgB,EAAE,GAAG,SAAS,cAAc,EAAE,GAC9E,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAE5B"}
1
+ {"version":3,"file":"field-spec-to-zod.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-to-zod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAoB,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAe,MAAM,cAAc,CAAC;AAG7H,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEpD;AA+BD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOrD;AAoED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG,SAAS,gBAAgB,EAAE,GAAG,SAAS,cAAc,EAAE,GAC9E,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAE5B"}
@@ -1,47 +1,60 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmptyValue = isEmptyValue;
4
- exports.fieldSpecToZod = fieldSpecToZod;
5
- const zod_1 = require("zod");
6
- const field_spec_1 = require("./field-spec");
7
- function isEmptyValue(value) {
1
+ import { z } from 'zod';
2
+ import { CaptureFieldType, toFieldList } from './field-spec';
3
+ export function isEmptyValue(value) {
8
4
  return value === undefined || value === null || value === '' || (Array.isArray(value) && value.length === 0);
9
5
  }
10
6
  function scalarSchema(field) {
11
7
  switch (field.type) {
12
- case field_spec_1.CaptureFieldType.Number: {
13
- let s = zod_1.z.number({ message: `${field.label} must be a number` });
8
+ case CaptureFieldType.Number: {
9
+ let s = z.number({ message: `${field.label} must be a number` });
14
10
  if (typeof field.min === 'number')
15
11
  s = s.min(field.min, { message: `${field.label} must be ≥ ${field.min}` });
16
12
  if (typeof field.max === 'number')
17
13
  s = s.max(field.max, { message: `${field.label} must be ≤ ${field.max}` });
18
14
  return s;
19
15
  }
20
- case field_spec_1.CaptureFieldType.Boolean:
21
- return zod_1.z.boolean({ message: `${field.label} must be true or false` });
22
- case field_spec_1.CaptureFieldType.Decimal:
23
- return zod_1.z.string().regex(/^-?\d+(\.\d+)?$/, { message: `${field.label} must be a decimal number` });
24
- case field_spec_1.CaptureFieldType.Enum: {
16
+ case CaptureFieldType.Boolean:
17
+ return z.boolean({ message: `${field.label} must be true or false` });
18
+ case CaptureFieldType.Decimal:
19
+ return z.string().regex(/^-?\d+(\.\d+)?$/, { message: `${field.label} must be a decimal number` });
20
+ case CaptureFieldType.Enum: {
25
21
  const values = [...(field.enumValues ?? [])];
26
22
  if (values.length === 0)
27
- return zod_1.z.string();
28
- return zod_1.z.enum(values);
23
+ return z.string();
24
+ return z.enum(values);
29
25
  }
30
- case field_spec_1.CaptureFieldType.Date:
31
- return zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, { message: `${field.label} must be a date` });
32
- case field_spec_1.CaptureFieldType.Datetime:
33
- return zod_1.z.string().min(1, { message: `${field.label} must be a date/time` });
26
+ case CaptureFieldType.Date:
27
+ return z.string().regex(/^\d{4}-\d{2}-\d{2}$/, { message: `${field.label} must be a date` });
28
+ case CaptureFieldType.Datetime:
29
+ return z.string().min(1, { message: `${field.label} must be a date/time` });
34
30
  default:
35
- return zod_1.z.string();
31
+ return z.string();
32
+ }
33
+ }
34
+ export function isParsableJson(value) {
35
+ try {
36
+ JSON.parse(value);
37
+ return true;
38
+ }
39
+ catch {
40
+ return false;
36
41
  }
37
42
  }
38
43
  function fieldSchema(field) {
39
44
  let base;
40
- if (field.type === field_spec_1.CaptureFieldType.Object) {
45
+ if (field.type === CaptureFieldType.Object) {
41
46
  base = objectSchema(field.fields ?? []);
42
47
  }
43
- else if (field.type === field_spec_1.CaptureFieldType.List) {
44
- let arr = zod_1.z.array(objectSchema(field.fields ?? []));
48
+ else if (field.type === CaptureFieldType.Json) {
49
+ const text = field.required
50
+ ? z.string().min(1, { message: `${field.label} is required` })
51
+ : z.string();
52
+ base = text.refine((v) => v === '' || isParsableJson(v), {
53
+ message: `${field.label} must be valid JSON`,
54
+ });
55
+ }
56
+ else if (field.type === CaptureFieldType.List) {
57
+ let arr = z.array(objectSchema(field.fields ?? []));
45
58
  if (typeof field.min === 'number')
46
59
  arr = arr.min(field.min, { message: `${field.label} needs at least ${field.min} item(s)` });
47
60
  if (typeof field.max === 'number')
@@ -51,19 +64,21 @@ function fieldSchema(field) {
51
64
  else {
52
65
  base = scalarSchema(field);
53
66
  if (field.required &&
54
- (field.type === field_spec_1.CaptureFieldType.String ||
55
- field.type === field_spec_1.CaptureFieldType.Text ||
56
- field.type === field_spec_1.CaptureFieldType.User ||
57
- field.type === field_spec_1.CaptureFieldType.Reference ||
58
- field.type === field_spec_1.CaptureFieldType.Datetime ||
59
- field.type === field_spec_1.CaptureFieldType.Image ||
60
- field.type === field_spec_1.CaptureFieldType.File ||
61
- field.type === field_spec_1.CaptureFieldType.Audio)) {
67
+ (field.type === CaptureFieldType.String ||
68
+ field.type === CaptureFieldType.Text ||
69
+ field.type === CaptureFieldType.Email ||
70
+ field.type === CaptureFieldType.Url ||
71
+ field.type === CaptureFieldType.User ||
72
+ field.type === CaptureFieldType.Reference ||
73
+ field.type === CaptureFieldType.Datetime ||
74
+ field.type === CaptureFieldType.Image ||
75
+ field.type === CaptureFieldType.File ||
76
+ field.type === CaptureFieldType.Audio)) {
62
77
  base = base.min(1, { message: `${field.label} is required` });
63
78
  }
64
79
  }
65
80
  if (!field.required) {
66
- return zod_1.z.union([base, zod_1.z.literal(''), zod_1.z.null()]).optional();
81
+ return z.union([base, z.literal(''), z.null()]).optional();
67
82
  }
68
83
  return base;
69
84
  }
@@ -71,9 +86,9 @@ function objectSchema(fields) {
71
86
  const shape = {};
72
87
  for (const f of fields)
73
88
  shape[f.key] = fieldSchema(f);
74
- return zod_1.z.object(shape);
89
+ return z.object(shape);
75
90
  }
76
- function fieldSpecToZod(schema) {
77
- return objectSchema((0, field_spec_1.toFieldList)(schema));
91
+ export function fieldSpecToZod(schema) {
92
+ return objectSchema(toFieldList(schema));
78
93
  }
79
94
  //# sourceMappingURL=field-spec-to-zod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec-to-zod.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-to-zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-spec-to-zod.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-to-zod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type CaptureFieldSpec } from './field-spec';
2
+ export declare function validateCaptureField(raw: unknown): CaptureFieldSpec | null;
3
+ export declare function validateCaptureFields(raw: unknown): readonly CaptureFieldSpec[] | null;
4
+ //# sourceMappingURL=field-spec-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-spec-validate.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"AAYA,OAAO,EAA2C,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAgC9F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAsF1E;AAOD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAStF"}
@@ -0,0 +1,129 @@
1
+ import { CaptureFieldTransform, CaptureFieldType } from './field-spec';
2
+ const FIELD_TYPES = new Set(Object.values(CaptureFieldType));
3
+ const TRANSFORMS = new Set(Object.values(CaptureFieldTransform));
4
+ function asRecord(value) {
5
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
6
+ ? value
7
+ : null;
8
+ }
9
+ function optionalString(value) {
10
+ if (value === undefined)
11
+ return undefined;
12
+ return typeof value === 'string' ? value : null;
13
+ }
14
+ function optionalBoolean(value) {
15
+ if (value === undefined)
16
+ return undefined;
17
+ return typeof value === 'boolean' ? value : null;
18
+ }
19
+ function optionalNumber(value) {
20
+ if (value === undefined)
21
+ return undefined;
22
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
23
+ }
24
+ export function validateCaptureField(raw) {
25
+ const record = asRecord(raw);
26
+ if (record === null)
27
+ return null;
28
+ if (typeof record.key !== 'string' || record.key.length === 0)
29
+ return null;
30
+ if (typeof record.label !== 'string' || record.label.length === 0)
31
+ return null;
32
+ if (typeof record.type !== 'string' || !FIELD_TYPES.has(record.type))
33
+ return null;
34
+ const required = optionalBoolean(record.required);
35
+ if (required === null)
36
+ return null;
37
+ const isSecret = optionalBoolean(record.isSecret);
38
+ if (isSecret === null)
39
+ return null;
40
+ const description = optionalString(record.description);
41
+ if (description === null)
42
+ return null;
43
+ const placeholder = optionalString(record.placeholder);
44
+ if (placeholder === null)
45
+ return null;
46
+ const section = optionalString(record.section);
47
+ if (section === null)
48
+ return null;
49
+ const referenceEntity = optionalString(record.referenceEntity);
50
+ if (referenceEntity === null)
51
+ return null;
52
+ const accept = optionalString(record.accept);
53
+ if (accept === null)
54
+ return null;
55
+ const min = optionalNumber(record.min);
56
+ if (min === null)
57
+ return null;
58
+ const max = optionalNumber(record.max);
59
+ if (max === null)
60
+ return null;
61
+ let transform;
62
+ if (record.transform !== undefined) {
63
+ if (typeof record.transform !== 'string' || !TRANSFORMS.has(record.transform))
64
+ return null;
65
+ transform = record.transform;
66
+ }
67
+ let enumValues;
68
+ if (record.enumValues !== undefined) {
69
+ if (!Array.isArray(record.enumValues))
70
+ return null;
71
+ if (!record.enumValues.every((v) => typeof v === 'string'))
72
+ return null;
73
+ enumValues = record.enumValues;
74
+ }
75
+ let capture;
76
+ if (record.capture !== undefined) {
77
+ if (record.capture !== 'user' && record.capture !== 'environment')
78
+ return null;
79
+ capture = record.capture;
80
+ }
81
+ let fields;
82
+ if (record.fields !== undefined) {
83
+ const nested = validateCaptureFields(record.fields);
84
+ if (nested === null)
85
+ return null;
86
+ fields = nested;
87
+ }
88
+ const spec = { key: record.key, label: record.label, type: record.type };
89
+ if (required !== undefined)
90
+ spec.required = required;
91
+ if (isSecret !== undefined)
92
+ spec.isSecret = isSecret;
93
+ if (transform !== undefined)
94
+ spec.transform = transform;
95
+ if (description !== undefined)
96
+ spec.description = description;
97
+ if (placeholder !== undefined)
98
+ spec.placeholder = placeholder;
99
+ if (section !== undefined)
100
+ spec.section = section;
101
+ if (referenceEntity !== undefined)
102
+ spec.referenceEntity = referenceEntity;
103
+ if (accept !== undefined)
104
+ spec.accept = accept;
105
+ if (capture !== undefined)
106
+ spec.capture = capture;
107
+ if (enumValues !== undefined)
108
+ spec.enumValues = enumValues;
109
+ if (fields !== undefined)
110
+ spec.fields = fields;
111
+ if (min !== undefined)
112
+ spec.min = min;
113
+ if (max !== undefined)
114
+ spec.max = max;
115
+ return spec;
116
+ }
117
+ export function validateCaptureFields(raw) {
118
+ if (!Array.isArray(raw))
119
+ return null;
120
+ const out = [];
121
+ for (const entry of raw) {
122
+ const spec = validateCaptureField(entry);
123
+ if (spec === null)
124
+ return null;
125
+ out.push(spec);
126
+ }
127
+ return out;
128
+ }
129
+ //# sourceMappingURL=field-spec-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-spec-validate.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,18 @@ export declare enum CaptureFieldType {
13
13
  List = "list",
14
14
  Image = "image",
15
15
  File = "file",
16
- Audio = "audio"
16
+ Audio = "audio",
17
+ Email = "email",
18
+ Url = "url",
19
+ Json = "json"
17
20
  }
21
+ export declare enum CaptureFieldTransform {
22
+ None = "none",
23
+ Uppercase = "uppercase",
24
+ Lowercase = "lowercase",
25
+ Trim = "trim"
26
+ }
27
+ export declare function applyCaptureTransform(value: string, transform: CaptureFieldTransform | `${CaptureFieldTransform}` | undefined): string;
18
28
  export interface CaptureFieldSpec {
19
29
  readonly key: string;
20
30
  readonly label: string;
@@ -30,6 +40,8 @@ export interface CaptureFieldSpec {
30
40
  readonly accept?: string;
31
41
  readonly capture?: 'user' | 'environment';
32
42
  readonly section?: string;
43
+ readonly isSecret?: boolean;
44
+ readonly transform?: CaptureFieldTransform | `${CaptureFieldTransform}`;
33
45
  }
34
46
  export interface CaptureSection {
35
47
  readonly key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec.ts"],"names":[],"mappings":"AA+BA,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,IAAI,SAAS;IAMb,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAYD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,GAAG,gBAAgB,EAAE,CAAC;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAKtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAKzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAM1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAOD,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAGlF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGpD,wBAAgB,WAAW,CACzB,CAAC,EAAE,aAAa,GAAG,SAAS,gBAAgB,EAAE,GAAG,SAAS,cAAc,EAAE,GACzE,CAAC,IAAI;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAEvD;AAQD,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,GAAG,SAAS,gBAAgB,EAAE,GAAG,SAAS,cAAc,EAAE,GAC9E,SAAS,gBAAgB,EAAE,CAW7B;AAOD,wBAAgB,UAAU,CACxB,MAAM,EAAE,aAAa,GAAG,SAAS,gBAAgB,EAAE,GAAG,SAAS,cAAc,EAAE,EAC/E,aAAa,SAAK,GACjB,SAAS,cAAc,EAAE,CAM3B;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,aAAa,SAAK,GACjB,SAAS,cAAc,EAAE,CAY3B"}
1
+ {"version":3,"file":"field-spec.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec.ts"],"names":[],"mappings":"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"}