@xemahq/ui-kernel 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +5 -20
  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.js +13 -20
  13. package/dist/lib/biome-host/biome-registry.js.map +1 -1
  14. package/dist/lib/biome-host/biome-scope.js +9 -14
  15. package/dist/lib/biome-host/biome-scope.js.map +1 -1
  16. package/dist/lib/biome-host/biome-scoped-query.js +8 -13
  17. package/dist/lib/biome-host/biome-scoped-query.js.map +1 -1
  18. package/dist/lib/biome-host/create-biome-orval-config.js +1 -4
  19. package/dist/lib/biome-host/create-biome-orval-config.js.map +1 -1
  20. package/dist/lib/biome-host/define-web-biome.js +3 -6
  21. package/dist/lib/biome-host/define-web-biome.js.map +1 -1
  22. package/dist/lib/biome-host/errors.js +1 -4
  23. package/dist/lib/biome-host/errors.js.map +1 -1
  24. package/dist/lib/biome-host/frontend-biome.d.ts +6 -3
  25. package/dist/lib/biome-host/frontend-biome.d.ts.map +1 -1
  26. package/dist/lib/biome-host/frontend-biome.js +8 -2
  27. package/dist/lib/biome-host/frontend-biome.js.map +1 -1
  28. package/dist/lib/biome-host/host-bridge.js +5 -9
  29. package/dist/lib/biome-host/host-bridge.js.map +1 -1
  30. package/dist/lib/biome-host/host-sources.js +1 -2
  31. package/dist/lib/biome-host/i18n-hooks.js +5 -9
  32. package/dist/lib/biome-host/i18n-hooks.js.map +1 -1
  33. package/dist/lib/biome-host/i18n-port.js +1 -4
  34. package/dist/lib/biome-host/i18n-port.js.map +1 -1
  35. package/dist/lib/biome-host/index.js +22 -38
  36. package/dist/lib/biome-host/index.js.map +1 -1
  37. package/dist/lib/biome-host/realtime-hooks.js +7 -12
  38. package/dist/lib/biome-host/realtime-hooks.js.map +1 -1
  39. package/dist/lib/biome-host/realtime-port.js +1 -2
  40. package/dist/lib/biome-host/response-envelope.js +2 -6
  41. package/dist/lib/biome-host/response-envelope.js.map +1 -1
  42. package/dist/lib/biome-host/session-contributions.js +1 -2
  43. package/dist/lib/biome-host/session-profiles.js +7 -11
  44. package/dist/lib/biome-host/session-profiles.js.map +1 -1
  45. package/dist/lib/biome-host/use-mutation-with-error-toast.js +7 -10
  46. package/dist/lib/biome-host/use-mutation-with-error-toast.js.map +1 -1
  47. package/dist/lib/biome-host/use-page-state.js +16 -21
  48. package/dist/lib/biome-host/use-page-state.js.map +1 -1
  49. package/dist/lib/capabilities/capability-provider.js +11 -15
  50. package/dist/lib/capabilities/capability-provider.js.map +1 -1
  51. package/dist/lib/capabilities/index.js +3 -19
  52. package/dist/lib/capabilities/index.js.map +1 -1
  53. package/dist/lib/capabilities/types.js +1 -2
  54. package/dist/lib/capabilities/use-capability.js +5 -9
  55. package/dist/lib/capabilities/use-capability.js.map +1 -1
  56. package/dist/lib/system-bus/capability-invoke.js +1 -2
  57. package/dist/lib/system-bus/deeplink.js +12 -17
  58. package/dist/lib/system-bus/deeplink.js.map +1 -1
  59. package/dist/lib/system-bus/enums.js +10 -13
  60. package/dist/lib/system-bus/enums.js.map +1 -1
  61. package/dist/lib/system-bus/host-ports.js +1 -2
  62. package/dist/lib/system-bus/index.js +10 -26
  63. package/dist/lib/system-bus/index.js.map +1 -1
  64. package/dist/lib/system-bus/intent-registry.js +6 -10
  65. package/dist/lib/system-bus/intent-registry.js.map +1 -1
  66. package/dist/lib/system-bus/intents.js +1 -2
  67. package/dist/lib/system-bus/palette.js +1 -2
  68. package/dist/lib/system-bus/system-bus-builder.js +10 -13
  69. package/dist/lib/system-bus/system-bus-builder.js.map +1 -1
  70. package/dist/lib/system-bus/system-bus.js +1 -2
  71. package/dist/lib/system-bus/windows.js +1 -2
  72. package/dist/offline/id.d.ts +2 -0
  73. package/dist/offline/id.d.ts.map +1 -0
  74. package/dist/offline/id.js +12 -0
  75. package/dist/offline/id.js.map +1 -0
  76. package/dist/offline/index.d.ts +9 -0
  77. package/dist/offline/index.d.ts.map +1 -0
  78. package/dist/offline/index.js +9 -0
  79. package/dist/offline/index.js.map +1 -0
  80. package/dist/offline/mutation.d.ts +15 -0
  81. package/dist/offline/mutation.d.ts.map +1 -0
  82. package/dist/offline/mutation.js +34 -0
  83. package/dist/offline/mutation.js.map +1 -0
  84. package/dist/offline/offline-status-badge.d.ts +7 -0
  85. package/dist/offline/offline-status-badge.d.ts.map +1 -0
  86. package/dist/offline/offline-status-badge.js +18 -0
  87. package/dist/offline/offline-status-badge.js.map +1 -0
  88. package/dist/offline/online-controller.d.ts +18 -0
  89. package/dist/offline/online-controller.d.ts.map +1 -0
  90. package/dist/offline/online-controller.js +74 -0
  91. package/dist/offline/online-controller.js.map +1 -0
  92. package/dist/offline/outbox.d.ts +57 -0
  93. package/dist/offline/outbox.d.ts.map +1 -0
  94. package/dist/offline/outbox.js +253 -0
  95. package/dist/offline/outbox.js.map +1 -0
  96. package/dist/offline/react.d.ts +13 -0
  97. package/dist/offline/react.d.ts.map +1 -0
  98. package/dist/offline/react.js +36 -0
  99. package/dist/offline/react.js.map +1 -0
  100. package/dist/offline/storage.d.ts +22 -0
  101. package/dist/offline/storage.d.ts.map +1 -0
  102. package/dist/offline/storage.js +84 -0
  103. package/dist/offline/storage.js.map +1 -0
  104. package/dist/offline/types.d.ts +38 -0
  105. package/dist/offline/types.d.ts.map +1 -0
  106. package/dist/offline/types.js +8 -0
  107. package/dist/offline/types.js.map +1 -0
  108. package/dist/org-db/components/DbResultTable.js +7 -10
  109. package/dist/org-db/components/DbResultTable.js.map +1 -1
  110. package/dist/org-db/index.js +1 -5
  111. package/dist/org-db/index.js.map +1 -1
  112. package/dist/pdf/index.d.ts +2 -0
  113. package/dist/pdf/index.d.ts.map +1 -0
  114. package/dist/pdf/index.js +2 -0
  115. package/dist/pdf/index.js.map +1 -0
  116. package/dist/registry/index.js +8 -24
  117. package/dist/registry/index.js.map +1 -1
  118. package/dist/registry/lib/agent-validation-host.js +5 -8
  119. package/dist/registry/lib/agent-validation-host.js.map +1 -1
  120. package/dist/registry/lib/biome-slot.js +9 -12
  121. package/dist/registry/lib/biome-slot.js.map +1 -1
  122. package/dist/registry/lib/biomes-enabled-context.js +5 -9
  123. package/dist/registry/lib/biomes-enabled-context.js.map +1 -1
  124. package/dist/registry/lib/extension-points.js +1 -4
  125. package/dist/registry/lib/extension-points.js.map +1 -1
  126. package/dist/registry/lib/primitives/SessionEventCard.js +7 -10
  127. package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -1
  128. package/dist/registry/lib/primitives/SessionEventTimeline.js +9 -12
  129. package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -1
  130. package/dist/registry/lib/primitives/SessionMutationBar.js +3 -6
  131. package/dist/registry/lib/primitives/SessionMutationBar.js.map +1 -1
  132. package/dist/registry/lib/primitives/SessionTabbedDrawer.js +11 -14
  133. package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -1
  134. package/dist/registry/lib/primitives/index.js +4 -20
  135. package/dist/registry/lib/primitives/index.js.map +1 -1
  136. package/dist/registry/lib/session-context-builder.js +6 -10
  137. package/dist/registry/lib/session-context-builder.js.map +1 -1
  138. package/dist/registry/lib/session-context-provider.js +9 -14
  139. package/dist/registry/lib/session-context-provider.js.map +1 -1
  140. package/dist/registry/lib/session-selectors.js +30 -39
  141. package/dist/registry/lib/session-selectors.js.map +1 -1
  142. package/dist/session/comments/CommentRail.js +6 -9
  143. package/dist/session/comments/CommentRail.js.map +1 -1
  144. package/dist/session/index.js +3 -9
  145. package/dist/session/index.js.map +1 -1
  146. package/dist/session/lib/cn.js +4 -7
  147. package/dist/session/lib/cn.js.map +1 -1
  148. package/dist/session/shell/SessionWorkspaceShell.js +5 -8
  149. package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
  150. package/dist/session-kit/approvals/ApprovalButton.js +3 -6
  151. package/dist/session-kit/approvals/ApprovalButton.js.map +1 -1
  152. package/dist/session-kit/approvals/ApprovalCard.js +30 -33
  153. package/dist/session-kit/approvals/ApprovalCard.js.map +1 -1
  154. package/dist/session-kit/approvals/ApprovalsCenter.js +29 -32
  155. package/dist/session-kit/approvals/ApprovalsCenter.js.map +1 -1
  156. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js +12 -15
  157. package/dist/session-kit/approvals/CapabilityApprovalStickyBar.js.map +1 -1
  158. package/dist/session-kit/approvals/Obligation.js +12 -16
  159. package/dist/session-kit/approvals/Obligation.js.map +1 -1
  160. package/dist/session-kit/approvals/ScopedBody.js +34 -37
  161. package/dist/session-kit/approvals/ScopedBody.js.map +1 -1
  162. package/dist/session-kit/approvals/approval-icons.js +1 -2
  163. package/dist/session-kit/approvals/approval-model.js +6 -11
  164. package/dist/session-kit/approvals/approval-model.js.map +1 -1
  165. package/dist/session-kit/approvals/index.js +11 -27
  166. package/dist/session-kit/approvals/index.js.map +1 -1
  167. package/dist/session-kit/approvals/obligation-display.js +13 -16
  168. package/dist/session-kit/approvals/obligation-display.js.map +1 -1
  169. package/dist/session-kit/approvals/risk-accent.js +6 -9
  170. package/dist/session-kit/approvals/risk-accent.js.map +1 -1
  171. package/dist/session-kit/approvals/scope-icons.js +2 -5
  172. package/dist/session-kit/approvals/scope-icons.js.map +1 -1
  173. package/dist/session-kit/combobox/Combobox.js +19 -22
  174. package/dist/session-kit/combobox/Combobox.js.map +1 -1
  175. package/dist/session-kit/combobox/use-click-outside.js +4 -7
  176. package/dist/session-kit/combobox/use-click-outside.js.map +1 -1
  177. package/dist/session-kit/display/ContextHeader.js +10 -13
  178. package/dist/session-kit/display/ContextHeader.js.map +1 -1
  179. package/dist/session-kit/display/FileDiffCard.js +11 -14
  180. package/dist/session-kit/display/FileDiffCard.js.map +1 -1
  181. package/dist/session-kit/display/MD.js +14 -17
  182. package/dist/session-kit/display/MD.js.map +1 -1
  183. package/dist/session-kit/display/MessageTurn.js +20 -23
  184. package/dist/session-kit/display/MessageTurn.js.map +1 -1
  185. package/dist/session-kit/display/ThinkingPanel.js +7 -10
  186. package/dist/session-kit/display/ThinkingPanel.js.map +1 -1
  187. package/dist/session-kit/display/TodoChecklist.js +13 -16
  188. package/dist/session-kit/display/TodoChecklist.js.map +1 -1
  189. package/dist/session-kit/display/TokenMeter.js +8 -11
  190. package/dist/session-kit/display/TokenMeter.js.map +1 -1
  191. package/dist/session-kit/display/ToolStrip.js +26 -30
  192. package/dist/session-kit/display/ToolStrip.js.map +1 -1
  193. package/dist/session-kit/display/TypingDots.js +3 -6
  194. package/dist/session-kit/display/TypingDots.js.map +1 -1
  195. package/dist/session-kit/index.js +20 -36
  196. package/dist/session-kit/index.js.map +1 -1
  197. package/dist/session-kit/lib/enums.js +14 -17
  198. package/dist/session-kit/lib/enums.js.map +1 -1
  199. package/dist/session-kit/lib/portal-accent.js +1 -4
  200. package/dist/session-kit/lib/portal-accent.js.map +1 -1
  201. package/dist/session-kit/lib/status-dot.js +19 -24
  202. package/dist/session-kit/lib/status-dot.js.map +1 -1
  203. package/dist/session-kit/primitives/Avatar.js +3 -6
  204. package/dist/session-kit/primitives/Avatar.js.map +1 -1
  205. package/dist/session-kit/primitives/PortalGlyph.js +8 -11
  206. package/dist/session-kit/primitives/PortalGlyph.js.map +1 -1
  207. package/dist/session-kit/primitives/RiskPill.js +10 -14
  208. package/dist/session-kit/primitives/RiskPill.js.map +1 -1
  209. package/dist/session-kit/primitives/ScopeDot.js +7 -10
  210. package/dist/session-kit/primitives/ScopeDot.js.map +1 -1
  211. package/dist/session-kit/primitives/Segmented.js +4 -7
  212. package/dist/session-kit/primitives/Segmented.js.map +1 -1
  213. package/dist/ui/branding/app-branding-provider.d.ts +1 -1
  214. package/dist/ui/branding/app-branding-provider.d.ts.map +1 -1
  215. package/dist/ui/branding/app-branding-provider.js +13 -51
  216. package/dist/ui/branding/app-branding-provider.js.map +1 -1
  217. package/dist/ui/branding/sanitize.js +3 -8
  218. package/dist/ui/branding/sanitize.js.map +1 -1
  219. package/dist/ui/breakpoints.js +1 -4
  220. package/dist/ui/breakpoints.js.map +1 -1
  221. package/dist/ui/capture/document-preview.js +16 -19
  222. package/dist/ui/capture/document-preview.js.map +1 -1
  223. package/dist/ui/capture/field-spec-to-zod.d.ts.map +1 -1
  224. package/dist/ui/capture/field-spec-to-zod.js +33 -29
  225. package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
  226. package/dist/ui/capture/field-spec.d.ts +6 -1
  227. package/dist/ui/capture/field-spec.d.ts.map +1 -1
  228. package/dist/ui/capture/field-spec.js +9 -13
  229. package/dist/ui/capture/field-spec.js.map +1 -1
  230. package/dist/ui/capture/index.js +10 -30
  231. package/dist/ui/capture/index.js.map +1 -1
  232. package/dist/ui/capture/schema-field-input.d.ts.map +1 -1
  233. package/dist/ui/capture/schema-field-input.js +100 -40
  234. package/dist/ui/capture/schema-field-input.js.map +1 -1
  235. package/dist/ui/capture/schema-form.js +11 -14
  236. package/dist/ui/capture/schema-form.js.map +1 -1
  237. package/dist/ui/capture/use-prefill.js +13 -16
  238. package/dist/ui/capture/use-prefill.js.map +1 -1
  239. package/dist/ui/capture/use-schema-validation.js +13 -16
  240. package/dist/ui/capture/use-schema-validation.js.map +1 -1
  241. package/dist/ui/capture/use-wizard.js +15 -18
  242. package/dist/ui/capture/use-wizard.js.map +1 -1
  243. package/dist/ui/capture/value-format.js +4 -8
  244. package/dist/ui/capture/value-format.js.map +1 -1
  245. package/dist/ui/capture/wizard.js +10 -14
  246. package/dist/ui/capture/wizard.js.map +1 -1
  247. package/dist/ui/charts/bar-chart.js +14 -17
  248. package/dist/ui/charts/bar-chart.js.map +1 -1
  249. package/dist/ui/charts/chart-frame.js +11 -16
  250. package/dist/ui/charts/chart-frame.js.map +1 -1
  251. package/dist/ui/charts/chart-types.js +1 -2
  252. package/dist/ui/charts/chart-utils.js +7 -15
  253. package/dist/ui/charts/chart-utils.js.map +1 -1
  254. package/dist/ui/charts/donut-chart.js +11 -14
  255. package/dist/ui/charts/donut-chart.js.map +1 -1
  256. package/dist/ui/charts/index.js +6 -20
  257. package/dist/ui/charts/index.js.map +1 -1
  258. package/dist/ui/charts/line-chart.js +15 -18
  259. package/dist/ui/charts/line-chart.js.map +1 -1
  260. package/dist/ui/charts/sparkline.js +9 -12
  261. package/dist/ui/charts/sparkline.js.map +1 -1
  262. package/dist/ui/chrome/AsyncBoundary.js +9 -15
  263. package/dist/ui/chrome/AsyncBoundary.js.map +1 -1
  264. package/dist/ui/chrome/EmptyState.js +9 -12
  265. package/dist/ui/chrome/EmptyState.js.map +1 -1
  266. package/dist/ui/chrome/ErrorCard.js +8 -11
  267. package/dist/ui/chrome/ErrorCard.js.map +1 -1
  268. package/dist/ui/chrome/LoadingState.js +8 -11
  269. package/dist/ui/chrome/LoadingState.js.map +1 -1
  270. package/dist/ui/chrome/PageHeader.js +10 -14
  271. package/dist/ui/chrome/PageHeader.js.map +1 -1
  272. package/dist/ui/chrome/StateCard.js +7 -11
  273. package/dist/ui/chrome/StateCard.js.map +1 -1
  274. package/dist/ui/chrome/confirm-delete-dialog.js +5 -8
  275. package/dist/ui/chrome/confirm-delete-dialog.js.map +1 -1
  276. package/dist/ui/chrome/page-shell.js +9 -15
  277. package/dist/ui/chrome/page-shell.js.map +1 -1
  278. package/dist/ui/chrome/scope-badge.js +5 -8
  279. package/dist/ui/chrome/scope-badge.js.map +1 -1
  280. package/dist/ui/chrome/status-badge.js +7 -10
  281. package/dist/ui/chrome/status-badge.js.map +1 -1
  282. package/dist/ui/cn.js +5 -8
  283. package/dist/ui/cn.js.map +1 -1
  284. package/dist/ui/design-tokens.js +21 -28
  285. package/dist/ui/design-tokens.js.map +1 -1
  286. package/dist/ui/hooks/use-debounced-value.js +4 -7
  287. package/dist/ui/hooks/use-debounced-value.js.map +1 -1
  288. package/dist/ui/hooks/use-is-mobile.js +8 -11
  289. package/dist/ui/hooks/use-is-mobile.js.map +1 -1
  290. package/dist/ui/index.d.ts +0 -1
  291. package/dist/ui/index.d.ts.map +1 -1
  292. package/dist/ui/index.js +46 -87
  293. package/dist/ui/index.js.map +1 -1
  294. package/dist/ui/pdf/pdf-preview.js +17 -20
  295. package/dist/ui/pdf/pdf-preview.js.map +1 -1
  296. package/dist/ui/primitives/alert-dialog.js +14 -60
  297. package/dist/ui/primitives/alert-dialog.js.map +1 -1
  298. package/dist/ui/primitives/async-combobox.js +18 -21
  299. package/dist/ui/primitives/async-combobox.js.map +1 -1
  300. package/dist/ui/primitives/badge.js +7 -44
  301. package/dist/ui/primitives/badge.js.map +1 -1
  302. package/dist/ui/primitives/button.js +9 -46
  303. package/dist/ui/primitives/button.js.map +1 -1
  304. package/dist/ui/primitives/card.js +10 -51
  305. package/dist/ui/primitives/card.js.map +1 -1
  306. package/dist/ui/primitives/checkbox.js +7 -43
  307. package/dist/ui/primitives/checkbox.js.map +1 -1
  308. package/dist/ui/primitives/collapsible.js +2 -40
  309. package/dist/ui/primitives/collapsible.js.map +1 -1
  310. package/dist/ui/primitives/dialog.js +12 -57
  311. package/dist/ui/primitives/dialog.js.map +1 -1
  312. package/dist/ui/primitives/dropdown-menu.js +15 -65
  313. package/dist/ui/primitives/dropdown-menu.js.map +1 -1
  314. package/dist/ui/primitives/form-stepper.js +8 -12
  315. package/dist/ui/primitives/form-stepper.js.map +1 -1
  316. package/dist/ui/primitives/input.js +5 -41
  317. package/dist/ui/primitives/input.js.map +1 -1
  318. package/dist/ui/primitives/label.js +8 -44
  319. package/dist/ui/primitives/label.js.map +1 -1
  320. package/dist/ui/primitives/overflow-tabs.js +18 -21
  321. package/dist/ui/primitives/overflow-tabs.js.map +1 -1
  322. package/dist/ui/primitives/popover.js +6 -44
  323. package/dist/ui/primitives/popover.js.map +1 -1
  324. package/dist/ui/primitives/preview-device-frame.js +16 -19
  325. package/dist/ui/primitives/preview-device-frame.js.map +1 -1
  326. package/dist/ui/primitives/radio-group.js +8 -45
  327. package/dist/ui/primitives/radio-group.js.map +1 -1
  328. package/dist/ui/primitives/resizable.js +11 -16
  329. package/dist/ui/primitives/resizable.js.map +1 -1
  330. package/dist/ui/primitives/scroll-area.js +7 -44
  331. package/dist/ui/primitives/scroll-area.js.map +1 -1
  332. package/dist/ui/primitives/select.js +15 -60
  333. package/dist/ui/primitives/select.js.map +1 -1
  334. package/dist/ui/primitives/separator.js +6 -42
  335. package/dist/ui/primitives/separator.js.map +1 -1
  336. package/dist/ui/primitives/sheet.js +14 -59
  337. package/dist/ui/primitives/sheet.js.map +1 -1
  338. package/dist/ui/primitives/skeleton.js +5 -7
  339. package/dist/ui/primitives/skeleton.js.map +1 -1
  340. package/dist/ui/primitives/switch.js +6 -42
  341. package/dist/ui/primitives/switch.js.map +1 -1
  342. package/dist/ui/primitives/table.js +12 -55
  343. package/dist/ui/primitives/table.js.map +1 -1
  344. package/dist/ui/primitives/tabs.js +8 -47
  345. package/dist/ui/primitives/tabs.js.map +1 -1
  346. package/dist/ui/primitives/tag-multi-select.js +24 -27
  347. package/dist/ui/primitives/tag-multi-select.js.map +1 -1
  348. package/dist/ui/primitives/textarea.js +5 -41
  349. package/dist/ui/primitives/textarea.js.map +1 -1
  350. package/dist/ui/primitives/tooltip.js +6 -45
  351. package/dist/ui/primitives/tooltip.js.map +1 -1
  352. package/package.json +9 -2
  353. package/src/index.ts +4 -0
  354. package/src/lib/biome-host/define-web-biome.spec.ts +221 -0
  355. package/src/lib/biome-host/frontend-biome.ts +32 -5
  356. package/src/offline/id.ts +16 -0
  357. package/src/offline/index.ts +52 -0
  358. package/src/offline/mutation.ts +75 -0
  359. package/src/offline/offline-status-badge.tsx +51 -0
  360. package/src/offline/online-controller.ts +105 -0
  361. package/src/offline/outbox.test.ts +156 -0
  362. package/src/offline/outbox.ts +344 -0
  363. package/src/offline/react.tsx +71 -0
  364. package/src/offline/storage.ts +107 -0
  365. package/src/offline/types.ts +77 -0
  366. package/src/pdf/index.ts +11 -0
  367. package/src/ui/branding/app-branding-provider.tsx +1 -1
  368. package/src/ui/capture/field-spec-to-zod.test.ts +22 -0
  369. package/src/ui/capture/field-spec-to-zod.ts +12 -1
  370. package/src/ui/capture/field-spec.ts +24 -3
  371. package/src/ui/capture/schema-field-input.tsx +129 -1
  372. package/src/ui/index.ts +4 -1
  373. package/src/lib/biome-host/define-web-biome.test.js +0 -93
@@ -1,40 +1,36 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CapabilityRiskTier = void 0;
4
- exports.RiskPill = RiskPill;
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const capability_1 = require("@xemahq/kernel-contracts/capability");
7
- Object.defineProperty(exports, "CapabilityRiskTier", { enumerable: true, get: function () { return capability_1.CapabilityRiskTier; } });
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { CapabilityRiskTier } from '@xemahq/kernel-contracts/capability';
3
+ export { CapabilityRiskTier };
8
4
  const DANGER = 'var(--destructive, var(--danger))';
9
5
  const RISK = {
10
- [capability_1.CapabilityRiskTier.Low]: {
6
+ [CapabilityRiskTier.Low]: {
11
7
  label: 'Low',
12
8
  fg: 'hsl(var(--ink-3))',
13
9
  bg: 'hsl(var(--muted))',
14
10
  bd: 'hsl(var(--rule))',
15
11
  },
16
- [capability_1.CapabilityRiskTier.Medium]: {
12
+ [CapabilityRiskTier.Medium]: {
17
13
  label: 'Medium',
18
14
  fg: 'hsl(var(--info))',
19
15
  bg: 'hsl(var(--info) / 0.09)',
20
16
  bd: 'hsl(var(--info) / 0.28)',
21
17
  },
22
- [capability_1.CapabilityRiskTier.High]: {
18
+ [CapabilityRiskTier.High]: {
23
19
  label: 'High',
24
20
  fg: 'hsl(var(--warning))',
25
21
  bg: 'hsl(var(--warning) / 0.1)',
26
22
  bd: 'hsl(var(--warning) / 0.3)',
27
23
  },
28
- [capability_1.CapabilityRiskTier.Critical]: {
24
+ [CapabilityRiskTier.Critical]: {
29
25
  label: 'Critical',
30
26
  fg: `hsl(${DANGER})`,
31
27
  bg: `hsl(${DANGER} / 0.09)`,
32
28
  bd: `hsl(${DANGER} / 0.32)`,
33
29
  },
34
30
  };
35
- function RiskPill({ tier, size = 'sm', criticalIcon, style, }) {
31
+ export function RiskPill({ tier, size = 'sm', criticalIcon, style, }) {
36
32
  const r = RISK[tier];
37
- return ((0, jsx_runtime_1.jsxs)("span", { className: "mono", style: {
33
+ return (_jsxs("span", { className: "mono", style: {
38
34
  display: 'inline-flex',
39
35
  alignItems: 'center',
40
36
  gap: 4,
@@ -48,6 +44,6 @@ function RiskPill({ tier, size = 'sm', criticalIcon, style, }) {
48
44
  border: `1px solid ${r.bd}`,
49
45
  borderRadius: 5,
50
46
  ...style,
51
- }, children: [tier === capability_1.CapabilityRiskTier.Critical && criticalIcon, r.label] }));
47
+ }, children: [tier === CapabilityRiskTier.Critical && criticalIcon, r.label] }));
52
48
  }
53
49
  //# sourceMappingURL=RiskPill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RiskPill.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/RiskPill.tsx"],"names":[],"mappings":";;;AAgEA,4BA8BC;;AAlFD,oEAAyE;AAIhE,mGAJA,+BAAkB,OAIA;AAS3B,MAAM,MAAM,GAAG,mCAAmC,CAAC;AAEnD,MAAM,IAAI,GAA0C;IAClD,CAAC,+BAAkB,CAAC,GAAG,CAAC,EAAE;QACxB,KAAK,EAAE,KAAK;QACZ,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,kBAAkB;KACvB;IACD,CAAC,+BAAkB,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,kBAAkB;QACtB,EAAE,EAAE,yBAAyB;QAC7B,EAAE,EAAE,yBAAyB;KAC9B;IACD,CAAC,+BAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,2BAA2B;KAChC;IACD,CAAC,+BAAkB,CAAC,QAAQ,CAAC,EAAE;QAC7B,KAAK,EAAE,UAAU;QACjB,EAAE,EAAE,OAAO,MAAM,GAAG;QACpB,EAAE,EAAE,OAAO,MAAM,UAAU;QAC3B,EAAE,EAAE,OAAO,MAAM,UAAU;KAC5B;CACF,CAAC;AAYF,SAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,YAAY,EACZ,KAAK,GACS;IACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,CACL,kCACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAClC,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,EAAE;YAChB,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE;YAC3B,YAAY,EAAE,CAAC;YACf,GAAG,KAAK;SACT,aAEA,IAAI,KAAK,+BAAkB,CAAC,QAAQ,IAAI,YAAY,EACpD,CAAC,CAAC,KAAK,IACH,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"RiskPill.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/RiskPill.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAIzE,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAS9B,MAAM,MAAM,GAAG,mCAAmC,CAAC;AAEnD,MAAM,IAAI,GAA0C;IAClD,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;QACxB,KAAK,EAAE,KAAK;QACZ,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,kBAAkB;KACvB;IACD,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,EAAE,QAAQ;QACf,EAAE,EAAE,kBAAkB;QACtB,EAAE,EAAE,yBAAyB;QAC7B,EAAE,EAAE,yBAAyB;KAC9B;IACD,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;QACzB,KAAK,EAAE,MAAM;QACb,EAAE,EAAE,qBAAqB;QACzB,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,2BAA2B;KAChC;IACD,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;QAC7B,KAAK,EAAE,UAAU;QACjB,EAAE,EAAE,OAAO,MAAM,GAAG;QACpB,EAAE,EAAE,OAAO,MAAM,UAAU;QAC3B,EAAE,EAAE,OAAO,MAAM,UAAU;KAC5B;CACF,CAAC;AAYF,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,YAAY,EACZ,KAAK,GACS;IACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,CACL,gBACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAClC,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,EAAE;YAChB,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE;YAC3B,YAAY,EAAE,CAAC;YACf,GAAG,KAAK;SACT,aAEA,IAAI,KAAK,kBAAkB,CAAC,QAAQ,IAAI,YAAY,EACpD,CAAC,CAAC,KAAK,IACH,CACR,CAAC;AACJ,CAAC"}
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ScopeDot = ScopeDot;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const enums_1 = require("../lib/enums");
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { BiomeScope } from '../lib/enums';
6
3
  const SCOPE = {
7
- [enums_1.BiomeScope.System]: { color: 'hsl(var(--ink-4))', label: 'System' },
8
- [enums_1.BiomeScope.Platform]: { color: 'hsl(var(--primary))', label: 'Platform' },
9
- [enums_1.BiomeScope.Community]: { color: 'hsl(var(--p-people))', label: 'Community' },
4
+ [BiomeScope.System]: { color: 'hsl(var(--ink-4))', label: 'System' },
5
+ [BiomeScope.Platform]: { color: 'hsl(var(--primary))', label: 'Platform' },
6
+ [BiomeScope.Community]: { color: 'hsl(var(--p-people))', label: 'Community' },
10
7
  };
11
- function ScopeDot({ scope, size = 7, style, }) {
8
+ export function ScopeDot({ scope, size = 7, style, }) {
12
9
  const s = SCOPE[scope];
13
- return ((0, jsx_runtime_1.jsx)("span", { title: s.label, style: {
10
+ return (_jsx("span", { title: s.label, style: {
14
11
  width: size,
15
12
  height: size,
16
13
  borderRadius: '50%',
@@ -1 +1 @@
1
- {"version":3,"file":"ScopeDot.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/ScopeDot.tsx"],"names":[],"mappings":";;AA0BA,4BAoBC;;AA1CD,wCAA0C;AAU1C,MAAM,KAAK,GAAmC;IAC5C,CAAC,kBAAU,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,CAAC,kBAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE;IAC1E,CAAC,kBAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE;CAC9E,CAAC;AAQF,SAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,GAAG,CAAC,EACR,KAAK,GACS;IACd,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,CACL,iCACE,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC,CAAC,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,cAAc;YACvB,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ScopeDot.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/ScopeDot.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU1C,MAAM,KAAK,GAAmC;IAC5C,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE;IAC1E,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE;CAC9E,CAAC;AAQF,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,GAAG,CAAC,EACR,KAAK,GACS;IACd,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,CACL,eACE,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC,CAAC,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,OAAO,EAAE,cAAc;YACvB,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Segmented = Segmented;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- function Segmented({ options, value, onChange, size = 'sm', style, }) {
6
- return ((0, jsx_runtime_1.jsx)("div", { style: {
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ export function Segmented({ options, value, onChange, size = 'sm', style, }) {
3
+ return (_jsx("div", { style: {
7
4
  display: 'inline-flex',
8
5
  padding: 2,
9
6
  gap: 2,
@@ -13,7 +10,7 @@ function Segmented({ options, value, onChange, size = 'sm', style, }) {
13
10
  ...style,
14
11
  }, children: options.map((option) => {
15
12
  const on = option.value === value;
16
- return ((0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: () => onChange(option.value), style: {
13
+ return (_jsxs("button", { type: "button", onClick: () => onChange(option.value), style: {
17
14
  display: 'inline-flex',
18
15
  alignItems: 'center',
19
16
  gap: 5,
@@ -1 +1 @@
1
- {"version":3,"file":"Segmented.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/Segmented.tsx"],"names":[],"mappings":";;AAuBA,8BA+CC;;AA/CD,SAAgB,SAAS,CAAmB,EAC1C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,KAAK,GACa;IAClB,OAAO,CACL,gCACE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,4BAA4B;YACpC,YAAY,EAAE,CAAC;YACf,GAAG,KAAK;SACT,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAClC,OAAO,CACL,oCAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;oBACL,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBAChD,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACjC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBAC1B,YAAY,EAAE,CAAC;oBACf,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB;oBACnD,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa;oBACzD,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM;oBAC3D,UAAU,EAAE,gEAAgE;iBAC7E,aAEA,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,KAlBR,MAAM,CAAC,KAAK,CAmBV,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Segmented.js","sourceRoot":"","sources":["../../../src/session-kit/primitives/Segmented.tsx"],"names":[],"mappings":";AAuBA,MAAM,UAAU,SAAS,CAAmB,EAC1C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,KAAK,GACa;IAClB,OAAO,CACL,cACE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,4BAA4B;YACpC,YAAY,EAAE,CAAC;YACf,GAAG,KAAK;SACT,YAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAClC,OAAO,CACL,kBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EACrC,KAAK,EAAE;oBACL,OAAO,EAAE,aAAa;oBACtB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBAChD,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBACjC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBAC1B,YAAY,EAAE,CAAC;oBACf,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB;oBACnD,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa;oBACzD,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,MAAM;oBAC3D,UAAU,EAAE,gEAAgE;iBAC7E,aAEA,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,KAlBR,MAAM,CAAC,KAAK,CAmBV,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { BrandingConfig } from '@xemahq/kernel-contracts/app-runtime';
2
+ import type { BrandingConfig } from '@xemahq/kernel-contracts/app-platform';
3
3
  export declare const APP_PRIMARY_COLOR_VAR = "--app-primary-color";
4
4
  export interface AppBrandingContextValue {
5
5
  readonly displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"app-branding-provider.d.ts","sourceRoot":"","sources":["../../../src/ui/branding/app-branding-provider.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAW3E,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAG3D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAWD,wBAAgB,cAAc,IAAI,uBAAuB,CAQxD;AAED,MAAM,WAAW,wBAAwB;IAEvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAMlC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAgDD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAmB/C"}
1
+ {"version":3,"file":"app-branding-provider.d.ts","sourceRoot":"","sources":["../../../src/ui/branding/app-branding-provider.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAW5E,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAG3D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAWD,wBAAgB,cAAc,IAAI,uBAAuB,CAQxD;AAED,MAAM,WAAW,wBAAwB;IAEvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAMlC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAElD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC;AAgDD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,CAmB/C"}
@@ -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":"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"}
1
+ {"version":3,"file":"document-preview.js","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":"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"}
@@ -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;AAyED,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;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,47 +1,43 @@
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();
36
32
  }
37
33
  }
38
34
  function fieldSchema(field) {
39
35
  let base;
40
- if (field.type === field_spec_1.CaptureFieldType.Object) {
36
+ if (field.type === CaptureFieldType.Object) {
41
37
  base = objectSchema(field.fields ?? []);
42
38
  }
43
- else if (field.type === field_spec_1.CaptureFieldType.List) {
44
- let arr = zod_1.z.array(objectSchema(field.fields ?? []));
39
+ else if (field.type === CaptureFieldType.List) {
40
+ let arr = z.array(objectSchema(field.fields ?? []));
45
41
  if (typeof field.min === 'number')
46
42
  arr = arr.min(field.min, { message: `${field.label} needs at least ${field.min} item(s)` });
47
43
  if (typeof field.max === 'number')
@@ -50,12 +46,20 @@ function fieldSchema(field) {
50
46
  }
51
47
  else {
52
48
  base = scalarSchema(field);
53
- if (field.required && (field.type === field_spec_1.CaptureFieldType.String || field.type === field_spec_1.CaptureFieldType.Text || field.type === field_spec_1.CaptureFieldType.User || field.type === field_spec_1.CaptureFieldType.Reference || field.type === field_spec_1.CaptureFieldType.Datetime)) {
49
+ if (field.required &&
50
+ (field.type === CaptureFieldType.String ||
51
+ field.type === CaptureFieldType.Text ||
52
+ field.type === CaptureFieldType.User ||
53
+ field.type === CaptureFieldType.Reference ||
54
+ field.type === CaptureFieldType.Datetime ||
55
+ field.type === CaptureFieldType.Image ||
56
+ field.type === CaptureFieldType.File ||
57
+ field.type === CaptureFieldType.Audio)) {
54
58
  base = base.min(1, { message: `${field.label} is required` });
55
59
  }
56
60
  }
57
61
  if (!field.required) {
58
- return zod_1.z.union([base, zod_1.z.literal(''), zod_1.z.null()]).optional();
62
+ return z.union([base, z.literal(''), z.null()]).optional();
59
63
  }
60
64
  return base;
61
65
  }
@@ -63,9 +67,9 @@ function objectSchema(fields) {
63
67
  const shape = {};
64
68
  for (const f of fields)
65
69
  shape[f.key] = fieldSchema(f);
66
- return zod_1.z.object(shape);
70
+ return z.object(shape);
67
71
  }
68
- function fieldSpecToZod(schema) {
69
- return objectSchema((0, field_spec_1.toFieldList)(schema));
72
+ export function fieldSpecToZod(schema) {
73
+ return objectSchema(toFieldList(schema));
70
74
  }
71
75
  //# 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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"}
@@ -10,7 +10,10 @@ export declare enum CaptureFieldType {
10
10
  Reference = "reference",
11
11
  User = "user",
12
12
  Object = "object",
13
- List = "list"
13
+ List = "list",
14
+ Image = "image",
15
+ File = "file",
16
+ Audio = "audio"
14
17
  }
15
18
  export interface CaptureFieldSpec {
16
19
  readonly key: string;
@@ -24,6 +27,8 @@ export interface CaptureFieldSpec {
24
27
  readonly fields?: readonly CaptureFieldSpec[];
25
28
  readonly min?: number;
26
29
  readonly max?: number;
30
+ readonly accept?: string;
31
+ readonly capture?: 'user' | 'environment';
27
32
  readonly section?: string;
28
33
  }
29
34
  export interface CaptureSection {
@@ -1 +1 @@
1
- {"version":3,"file":"field-spec.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec.ts"],"names":[],"mappings":"AA4BA,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;CACd;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;IAMtB,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":"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,11 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CaptureFieldType = void 0;
4
- exports.isSectioned = isSectioned;
5
- exports.toFieldList = toFieldList;
6
- exports.toSections = toSections;
7
- exports.groupFieldsBySection = groupFieldsBySection;
8
- var CaptureFieldType;
1
+ export var CaptureFieldType;
9
2
  (function (CaptureFieldType) {
10
3
  CaptureFieldType["String"] = "string";
11
4
  CaptureFieldType["Text"] = "text";
@@ -19,11 +12,14 @@ var CaptureFieldType;
19
12
  CaptureFieldType["User"] = "user";
20
13
  CaptureFieldType["Object"] = "object";
21
14
  CaptureFieldType["List"] = "list";
22
- })(CaptureFieldType || (exports.CaptureFieldType = CaptureFieldType = {}));
23
- function isSectioned(x) {
15
+ CaptureFieldType["Image"] = "image";
16
+ CaptureFieldType["File"] = "file";
17
+ CaptureFieldType["Audio"] = "audio";
18
+ })(CaptureFieldType || (CaptureFieldType = {}));
19
+ export function isSectioned(x) {
24
20
  return !Array.isArray(x) && 'sections' in x && Array.isArray(x.sections);
25
21
  }
26
- function toFieldList(schema) {
22
+ export function toFieldList(schema) {
27
23
  if (Array.isArray(schema)) {
28
24
  const arr = schema;
29
25
  if (arr.length > 0 && arr.every((e) => 'title' in e && 'fields' in e && !('type' in e))) {
@@ -35,7 +31,7 @@ function toFieldList(schema) {
35
31
  return schema.sections.flatMap((s) => s.fields);
36
32
  return schema.fields;
37
33
  }
38
- function toSections(schema, fallbackTitle = '') {
34
+ export function toSections(schema, fallbackTitle = '') {
39
35
  if (Array.isArray(schema) && schema.length > 0 && schema.every((e) => 'title' in e && 'fields' in e)) {
40
36
  return schema;
41
37
  }
@@ -43,7 +39,7 @@ function toSections(schema, fallbackTitle = '') {
43
39
  return schema.sections;
44
40
  return groupFieldsBySection(toFieldList(schema), fallbackTitle);
45
41
  }
46
- function groupFieldsBySection(fields, fallbackTitle = '') {
42
+ export function groupFieldsBySection(fields, fallbackTitle = '') {
47
43
  const order = [];
48
44
  const byKey = new Map();
49
45
  for (const f of fields) {