@xemahq/ui-kernel 0.10.0 → 0.11.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.
- package/dist/lib/biome-host/agent-validation.d.ts.map +1 -1
- package/dist/lib/biome-host/agent-validation.js +26 -13
- package/dist/lib/biome-host/agent-validation.js.map +1 -1
- package/dist/lib/biome-host/biome-registry.d.ts.map +1 -1
- package/dist/lib/biome-host/biome-registry.js +27 -10
- package/dist/lib/biome-host/biome-registry.js.map +1 -1
- package/dist/lib/biome-host/biome-scope-hooks.d.ts.map +1 -1
- package/dist/lib/biome-host/biome-scope-hooks.js +2 -1
- package/dist/lib/biome-host/biome-scope-hooks.js.map +1 -1
- package/dist/lib/biome-host/biome-scoped-query.d.ts.map +1 -1
- package/dist/lib/biome-host/biome-scoped-query.js +5 -3
- package/dist/lib/biome-host/biome-scoped-query.js.map +1 -1
- package/dist/lib/biome-host/frontend-biome.d.ts +1 -1
- package/dist/lib/biome-host/frontend-biome.d.ts.map +1 -1
- package/dist/lib/biome-host/host-bridge.d.ts +1 -1
- package/dist/lib/biome-host/host-bridge.d.ts.map +1 -1
- package/dist/lib/biome-host/host-bridge.js.map +1 -1
- package/dist/lib/biome-host/i18n-hooks.d.ts.map +1 -1
- package/dist/lib/biome-host/i18n-hooks.js.map +1 -1
- package/dist/lib/biome-host/realtime-hooks.d.ts.map +1 -1
- package/dist/lib/biome-host/realtime-hooks.js.map +1 -1
- package/dist/lib/biome-host/session-contributions.d.ts +1 -1
- package/dist/lib/biome-host/session-contributions.d.ts.map +1 -1
- package/dist/lib/biome-host/use-mutation-with-error-toast.d.ts.map +1 -1
- package/dist/lib/biome-host/use-mutation-with-error-toast.js +3 -2
- package/dist/lib/biome-host/use-mutation-with-error-toast.js.map +1 -1
- package/dist/lib/biome-host/use-page-state.d.ts.map +1 -1
- package/dist/lib/biome-host/use-page-state.js +19 -10
- package/dist/lib/biome-host/use-page-state.js.map +1 -1
- package/dist/lib/capabilities/capability-provider.d.ts +1 -1
- package/dist/lib/capabilities/capability-provider.d.ts.map +1 -1
- package/dist/lib/capabilities/capability-provider.js +2 -2
- package/dist/lib/capabilities/capability-provider.js.map +1 -1
- package/dist/lib/capabilities/use-capability.d.ts +1 -1
- package/dist/lib/capabilities/use-capability.d.ts.map +1 -1
- package/dist/lib/capabilities/use-capability.js +2 -1
- package/dist/lib/capabilities/use-capability.js.map +1 -1
- package/dist/lib/contribution-registry/contribution-registry.d.ts.map +1 -1
- package/dist/lib/contribution-registry/contribution-registry.js +2 -1
- package/dist/lib/contribution-registry/contribution-registry.js.map +1 -1
- package/dist/lib/system-bus/deeplink.d.ts.map +1 -1
- package/dist/lib/system-bus/deeplink.js +4 -2
- package/dist/lib/system-bus/deeplink.js.map +1 -1
- package/dist/lib/system-bus/host-ports.d.ts +2 -2
- package/dist/lib/system-bus/host-ports.d.ts.map +1 -1
- package/dist/lib/system-bus/intent-registry.d.ts.map +1 -1
- package/dist/lib/system-bus/intent-registry.js +6 -3
- package/dist/lib/system-bus/intent-registry.js.map +1 -1
- package/dist/lib/system-bus/intents.d.ts +1 -1
- package/dist/lib/system-bus/intents.d.ts.map +1 -1
- package/dist/lib/system-bus/palette.d.ts +1 -1
- package/dist/lib/system-bus/palette.d.ts.map +1 -1
- package/dist/lib/system-bus/system-bus-builder.d.ts.map +1 -1
- package/dist/lib/system-bus/system-bus-builder.js +1 -1
- package/dist/lib/system-bus/system-bus-builder.js.map +1 -1
- package/dist/lib/system-bus/windows.d.ts +1 -1
- package/dist/lib/system-bus/windows.d.ts.map +1 -1
- package/dist/offline/outbox.d.ts +1 -0
- package/dist/offline/outbox.d.ts.map +1 -1
- package/dist/offline/outbox.js +4 -1
- package/dist/offline/outbox.js.map +1 -1
- package/dist/offline/react-hooks.d.ts +1 -1
- package/dist/offline/react-hooks.d.ts.map +1 -1
- package/dist/offline/react-hooks.js.map +1 -1
- package/dist/org-db/components/DbResultTable.d.ts.map +1 -1
- package/dist/org-db/components/DbResultTable.js +15 -6
- package/dist/org-db/components/DbResultTable.js.map +1 -1
- package/dist/registry/lib/agent-validation-host.d.ts.map +1 -1
- package/dist/registry/lib/agent-validation-host.js +1 -1
- package/dist/registry/lib/agent-validation-host.js.map +1 -1
- package/dist/registry/lib/biome-slot.d.ts.map +1 -1
- package/dist/registry/lib/biome-slot.js +5 -3
- package/dist/registry/lib/biome-slot.js.map +1 -1
- package/dist/registry/lib/primitives/SessionEventCard.d.ts.map +1 -1
- package/dist/registry/lib/primitives/SessionEventCard.js +14 -2
- package/dist/registry/lib/primitives/SessionEventCard.js.map +1 -1
- package/dist/registry/lib/primitives/SessionEventTimeline.d.ts.map +1 -1
- package/dist/registry/lib/primitives/SessionEventTimeline.js +6 -3
- package/dist/registry/lib/primitives/SessionEventTimeline.js.map +1 -1
- package/dist/registry/lib/primitives/SessionTabbedDrawer.d.ts.map +1 -1
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js +10 -5
- package/dist/registry/lib/primitives/SessionTabbedDrawer.js.map +1 -1
- package/dist/registry/lib/session-context-provider.d.ts +1 -1
- package/dist/registry/lib/session-context-provider.d.ts.map +1 -1
- package/dist/registry/lib/session-context-provider.js.map +1 -1
- package/dist/registry/lib/session-selectors.d.ts.map +1 -1
- package/dist/registry/lib/session-selectors.js +35 -20
- package/dist/registry/lib/session-selectors.js.map +1 -1
- package/dist/session/comments/CommentRail.d.ts.map +1 -1
- package/dist/session/comments/CommentRail.js.map +1 -1
- package/dist/session/shell/SessionWorkspaceShell.d.ts.map +1 -1
- package/dist/session/shell/SessionWorkspaceShell.js.map +1 -1
- package/dist/session-kit/approvals/ApprovalCard.d.ts.map +1 -1
- package/dist/session-kit/approvals/ApprovalCard.js +6 -2
- package/dist/session-kit/approvals/ApprovalCard.js.map +1 -1
- package/dist/session-kit/approvals/ApprovalsCenter.d.ts.map +1 -1
- package/dist/session-kit/approvals/ApprovalsCenter.js +6 -3
- package/dist/session-kit/approvals/ApprovalsCenter.js.map +1 -1
- package/dist/session-kit/combobox/Combobox.d.ts.map +1 -1
- package/dist/session-kit/combobox/Combobox.js +20 -6
- package/dist/session-kit/combobox/Combobox.js.map +1 -1
- package/dist/session-kit/display/MD.d.ts.map +1 -1
- package/dist/session-kit/display/MD.js +7 -4
- package/dist/session-kit/display/MD.js.map +1 -1
- package/dist/ui/branding/app-branding-provider.d.ts.map +1 -1
- package/dist/ui/branding/app-branding-provider.js.map +1 -1
- package/dist/ui/branding/sanitize.d.ts.map +1 -1
- package/dist/ui/branding/sanitize.js +12 -6
- package/dist/ui/branding/sanitize.js.map +1 -1
- package/dist/ui/capture/document-preview.d.ts +1 -1
- package/dist/ui/capture/document-preview.d.ts.map +1 -1
- package/dist/ui/capture/document-preview.js +8 -6
- package/dist/ui/capture/document-preview.js.map +1 -1
- package/dist/ui/capture/field-spec-to-zod.d.ts.map +1 -1
- package/dist/ui/capture/field-spec-to-zod.js +45 -16
- package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
- package/dist/ui/capture/field-spec-validate.d.ts.map +1 -1
- package/dist/ui/capture/field-spec-validate.js +79 -38
- package/dist/ui/capture/field-spec-validate.js.map +1 -1
- package/dist/ui/capture/field-spec.d.ts.map +1 -1
- package/dist/ui/capture/field-spec.js +17 -6
- package/dist/ui/capture/field-spec.js.map +1 -1
- package/dist/ui/capture/schema-field-input.d.ts.map +1 -1
- package/dist/ui/capture/schema-field-input.js +23 -18
- package/dist/ui/capture/schema-field-input.js.map +1 -1
- package/dist/ui/capture/schema-form.d.ts +1 -1
- package/dist/ui/capture/schema-form.d.ts.map +1 -1
- package/dist/ui/capture/schema-form.js +7 -6
- package/dist/ui/capture/schema-form.js.map +1 -1
- package/dist/ui/capture/use-prefill.d.ts.map +1 -1
- package/dist/ui/capture/use-prefill.js +32 -14
- package/dist/ui/capture/use-prefill.js.map +1 -1
- package/dist/ui/capture/use-schema-validation.d.ts +1 -1
- package/dist/ui/capture/use-schema-validation.d.ts.map +1 -1
- package/dist/ui/capture/use-schema-validation.js +13 -8
- package/dist/ui/capture/use-schema-validation.js.map +1 -1
- package/dist/ui/capture/use-wizard.d.ts.map +1 -1
- package/dist/ui/capture/use-wizard.js +23 -8
- package/dist/ui/capture/use-wizard.js.map +1 -1
- package/dist/ui/capture/value-format.d.ts.map +1 -1
- package/dist/ui/capture/value-format.js +6 -3
- package/dist/ui/capture/value-format.js.map +1 -1
- package/dist/ui/capture/wizard.d.ts.map +1 -1
- package/dist/ui/capture/wizard.js +3 -3
- package/dist/ui/capture/wizard.js.map +1 -1
- package/dist/ui/charts/bar-chart.d.ts +1 -1
- package/dist/ui/charts/bar-chart.d.ts.map +1 -1
- package/dist/ui/charts/bar-chart.js +1 -1
- package/dist/ui/charts/bar-chart.js.map +1 -1
- package/dist/ui/charts/chart-frame.d.ts +2 -2
- package/dist/ui/charts/chart-frame.d.ts.map +1 -1
- package/dist/ui/charts/chart-frame.js +4 -3
- package/dist/ui/charts/chart-frame.js.map +1 -1
- package/dist/ui/charts/chart-utils.d.ts.map +1 -1
- package/dist/ui/charts/chart-utils.js +32 -14
- package/dist/ui/charts/chart-utils.js.map +1 -1
- package/dist/ui/charts/donut-chart.d.ts +1 -1
- package/dist/ui/charts/donut-chart.d.ts.map +1 -1
- package/dist/ui/charts/donut-chart.js +7 -3
- package/dist/ui/charts/donut-chart.js.map +1 -1
- package/dist/ui/charts/line-chart.d.ts +1 -1
- package/dist/ui/charts/line-chart.d.ts.map +1 -1
- package/dist/ui/charts/line-chart.js +7 -4
- package/dist/ui/charts/line-chart.js.map +1 -1
- package/dist/ui/charts/sparkline.d.ts +1 -1
- package/dist/ui/charts/sparkline.d.ts.map +1 -1
- package/dist/ui/charts/sparkline.js +10 -6
- package/dist/ui/charts/sparkline.js.map +1 -1
- package/dist/ui/chrome/AsyncBoundary.d.ts +2 -2
- package/dist/ui/chrome/AsyncBoundary.d.ts.map +1 -1
- package/dist/ui/chrome/AsyncBoundary.js +3 -3
- package/dist/ui/chrome/AsyncBoundary.js.map +1 -1
- package/dist/ui/chrome/EmptyState.d.ts +19 -8
- package/dist/ui/chrome/EmptyState.d.ts.map +1 -1
- package/dist/ui/chrome/EmptyState.js +6 -4
- package/dist/ui/chrome/EmptyState.js.map +1 -1
- package/dist/ui/chrome/RecordCardList.d.ts +19 -0
- package/dist/ui/chrome/RecordCardList.d.ts.map +1 -0
- package/dist/ui/chrome/RecordCardList.js +12 -0
- package/dist/ui/chrome/RecordCardList.js.map +1 -0
- package/dist/ui/chrome/page-shell.d.ts.map +1 -1
- package/dist/ui/chrome/page-shell.js +9 -3
- package/dist/ui/chrome/page-shell.js.map +1 -1
- package/dist/ui/chrome/status-badge.d.ts.map +1 -1
- package/dist/ui/chrome/status-badge.js +1 -1
- package/dist/ui/chrome/status-badge.js.map +1 -1
- package/dist/ui/design-tokens.d.ts +4 -6
- package/dist/ui/design-tokens.d.ts.map +1 -1
- package/dist/ui/design-tokens.js +17 -11
- package/dist/ui/design-tokens.js.map +1 -1
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/primitives/async-combobox.d.ts.map +1 -1
- package/dist/ui/primitives/async-combobox.js +4 -2
- package/dist/ui/primitives/async-combobox.js.map +1 -1
- package/dist/ui/primitives/badge.d.ts +2 -2
- package/dist/ui/primitives/badge.d.ts.map +1 -1
- package/dist/ui/primitives/badge.js +3 -3
- package/dist/ui/primitives/badge.js.map +1 -1
- package/dist/ui/primitives/button.d.ts +2 -2
- package/dist/ui/primitives/button.d.ts.map +1 -1
- package/dist/ui/primitives/button.js +5 -5
- package/dist/ui/primitives/button.js.map +1 -1
- package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -1
- package/dist/ui/primitives/overflow-tabs.js +19 -12
- package/dist/ui/primitives/overflow-tabs.js.map +1 -1
- package/dist/ui/primitives/preview-device-frame.js +8 -4
- package/dist/ui/primitives/preview-device-frame.js.map +1 -1
- package/dist/ui/primitives/tag-multi-select.d.ts.map +1 -1
- package/dist/ui/primitives/tag-multi-select.js +10 -5
- package/dist/ui/primitives/tag-multi-select.js.map +1 -1
- package/dist/ui/primitives/url-preview-chrome.d.ts.map +1 -1
- package/dist/ui/primitives/url-preview-chrome.js.map +1 -1
- package/dist/vista/GenericCatalogueSurface.d.ts.map +1 -1
- package/dist/vista/GenericCatalogueSurface.js +5 -3
- package/dist/vista/GenericCatalogueSurface.js.map +1 -1
- package/dist/vista/VistaPanel.d.ts.map +1 -1
- package/dist/vista/VistaPanel.js +8 -4
- package/dist/vista/VistaPanel.js.map +1 -1
- package/dist/vista/html/CustomUiFrame.d.ts.map +1 -1
- package/dist/vista/html/CustomUiFrame.js +2 -1
- package/dist/vista/html/CustomUiFrame.js.map +1 -1
- package/dist/vista/html/custom-ui-frame-bridge.d.ts.map +1 -1
- package/dist/vista/html/custom-ui-frame-bridge.js +6 -3
- package/dist/vista/html/custom-ui-frame-bridge.js.map +1 -1
- package/dist/vista/html/custom-ui-intents.d.ts.map +1 -1
- package/dist/vista/html/custom-ui-intents.js +13 -15
- package/dist/vista/html/custom-ui-intents.js.map +1 -1
- package/dist/vista/surface-catalogue.d.ts.map +1 -1
- package/dist/vista/surface-catalogue.js +6 -3
- package/dist/vista/surface-catalogue.js.map +1 -1
- package/dist/vista/surfaces/FormSurface.d.ts.map +1 -1
- package/dist/vista/surfaces/FormSurface.js +20 -7
- package/dist/vista/surfaces/FormSurface.js.map +1 -1
- package/dist/vista/surfaces/TableSurface.d.ts.map +1 -1
- package/dist/vista/surfaces/TableSurface.js +2 -1
- package/dist/vista/surfaces/TableSurface.js.map +1 -1
- package/dist/vista/surfaces/blob-surfaces.d.ts.map +1 -1
- package/dist/vista/surfaces/blob-surfaces.js +7 -2
- package/dist/vista/surfaces/blob-surfaces.js.map +1 -1
- package/dist/vista/surfaces/elicitation-transport.d.ts.map +1 -1
- package/dist/vista/surfaces/elicitation-transport.js +14 -7
- package/dist/vista/surfaces/elicitation-transport.js.map +1 -1
- package/dist/vista/surfaces/file-surface-utils.d.ts.map +1 -1
- package/dist/vista/surfaces/file-surface-utils.js +8 -4
- package/dist/vista/surfaces/file-surface-utils.js.map +1 -1
- package/dist/vista/surfaces/register-surfaces.js +2 -1
- package/dist/vista/surfaces/register-surfaces.js.map +1 -1
- package/dist/vista/surfaces/text-surfaces.d.ts +1 -1
- package/dist/vista/surfaces/text-surfaces.d.ts.map +1 -1
- package/dist/vista/surfaces/text-surfaces.js +13 -7
- package/dist/vista/surfaces/text-surfaces.js.map +1 -1
- package/dist/vista/use-vista-tabs.d.ts.map +1 -1
- package/dist/vista/use-vista-tabs.js +8 -4
- package/dist/vista/use-vista-tabs.js.map +1 -1
- package/dist/vista/vista-code-renderer.d.ts.map +1 -1
- package/dist/vista/vista-code-renderer.js.map +1 -1
- package/dist/vista/vista-file-source.d.ts.map +1 -1
- package/dist/vista/vista-file-source.js +9 -5
- package/dist/vista/vista-file-source.js.map +1 -1
- package/dist/vista/vista-form-host.d.ts.map +1 -1
- package/dist/vista/vista-form-host.js +1 -1
- package/dist/vista/vista-form-host.js.map +1 -1
- package/dist/vista/vista-model.d.ts.map +1 -1
- package/dist/vista/vista-model.js +5 -3
- package/dist/vista/vista-model.js.map +1 -1
- package/dist/vista/vista-open-context.d.ts.map +1 -1
- package/dist/vista/vista-open-context.js +1 -1
- package/dist/vista/vista-open-context.js.map +1 -1
- package/dist/vista/vista-payloads.d.ts.map +1 -1
- package/dist/vista/vista-payloads.js +127 -63
- package/dist/vista/vista-payloads.js.map +1 -1
- package/dist/vista/vista-tabs-manifest.d.ts.map +1 -1
- package/dist/vista/vista-tabs-manifest.js +18 -9
- package/dist/vista/vista-tabs-manifest.js.map +1 -1
- package/dist/vista/vista-tools.d.ts.map +1 -1
- package/dist/vista/vista-tools.js +12 -6
- package/dist/vista/vista-tools.js.map +1 -1
- package/package.json +3 -3
- package/src/lib/biome-host/agent-validation.ts +37 -13
- package/src/lib/biome-host/biome-registry.ts +48 -13
- package/src/lib/biome-host/biome-scope-hooks.ts +3 -1
- package/src/lib/biome-host/biome-scoped-query.ts +7 -6
- package/src/lib/biome-host/frontend-biome.ts +1 -1
- package/src/lib/biome-host/host-bridge.ts +5 -4
- package/src/lib/biome-host/i18n-hooks.ts +1 -0
- package/src/lib/biome-host/realtime-hooks.ts +1 -0
- package/src/lib/biome-host/session-contributions.ts +1 -1
- package/src/lib/biome-host/use-mutation-with-error-toast.ts +4 -2
- package/src/lib/biome-host/use-page-state.ts +27 -10
- package/src/lib/capabilities/capability-provider.tsx +12 -5
- package/src/lib/capabilities/use-capability.ts +8 -4
- package/src/lib/contribution-registry/contribution-registry.ts +3 -1
- package/src/lib/system-bus/deeplink.ts +14 -4
- package/src/lib/system-bus/host-ports.ts +3 -7
- package/src/lib/system-bus/intent-registry.ts +12 -8
- package/src/lib/system-bus/intents.ts +6 -2
- package/src/lib/system-bus/palette.ts +2 -1
- package/src/lib/system-bus/system-bus-builder.ts +4 -2
- package/src/lib/system-bus/windows.ts +1 -1
- package/src/offline/outbox.test.ts +12 -3
- package/src/offline/outbox.ts +5 -1
- package/src/offline/react-hooks.ts +5 -2
- package/src/org-db/components/DbResultTable.tsx +48 -15
- package/src/registry/lib/agent-validation-host.ts +1 -2
- package/src/registry/lib/biome-slot.tsx +7 -4
- package/src/registry/lib/primitives/SessionEventCard.tsx +29 -5
- package/src/registry/lib/primitives/SessionEventTimeline.tsx +9 -3
- package/src/registry/lib/primitives/SessionTabbedDrawer.tsx +15 -5
- package/src/registry/lib/session-context-provider.tsx +1 -1
- package/src/registry/lib/session-selectors.ts +66 -27
- package/src/session/comments/CommentRail.tsx +2 -2
- package/src/session/shell/SessionWorkspaceShell.tsx +2 -2
- package/src/session-kit/approvals/ApprovalCard.tsx +7 -2
- package/src/session-kit/approvals/ApprovalsCenter.tsx +13 -4
- package/src/session-kit/combobox/Combobox.tsx +42 -11
- package/src/session-kit/display/MD.tsx +14 -5
- package/src/ui/branding/app-branding-provider.tsx +2 -3
- package/src/ui/branding/sanitize.ts +18 -6
- package/src/ui/capture/document-preview.tsx +84 -19
- package/src/ui/capture/field-spec-to-zod.ts +62 -14
- package/src/ui/capture/field-spec-validate.ts +132 -43
- package/src/ui/capture/field-spec.test.ts +2 -2
- package/src/ui/capture/field-spec.ts +41 -10
- package/src/ui/capture/schema-field-input.tsx +218 -38
- package/src/ui/capture/schema-form.tsx +54 -13
- package/src/ui/capture/use-prefill.ts +50 -17
- package/src/ui/capture/use-schema-validation.ts +45 -13
- package/src/ui/capture/use-wizard.ts +57 -11
- package/src/ui/capture/value-format.ts +14 -4
- package/src/ui/capture/wizard.tsx +9 -5
- package/src/ui/charts/bar-chart.tsx +8 -4
- package/src/ui/charts/chart-frame.tsx +18 -5
- package/src/ui/charts/chart-utils.ts +47 -15
- package/src/ui/charts/donut-chart.tsx +24 -6
- package/src/ui/charts/line-chart.tsx +34 -12
- package/src/ui/charts/sparkline.tsx +17 -9
- package/src/ui/chrome/AsyncBoundary.tsx +14 -6
- package/src/ui/chrome/EmptyState.tsx +116 -43
- package/src/ui/chrome/RecordCardList.tsx +98 -0
- package/src/ui/chrome/page-shell.tsx +32 -8
- package/src/ui/chrome/status-badge.tsx +8 -4
- package/src/ui/design-tokens.ts +39 -13
- package/src/ui/index.ts +5 -0
- package/src/ui/primitives/async-combobox.tsx +7 -3
- package/src/ui/primitives/badge.tsx +14 -5
- package/src/ui/primitives/button.tsx +13 -6
- package/src/ui/primitives/overflow-tabs.tsx +46 -16
- package/src/ui/primitives/preview-device-frame.tsx +12 -4
- package/src/ui/primitives/tag-multi-select.tsx +30 -9
- package/src/ui/primitives/url-preview-chrome.tsx +1 -0
- package/src/vista/GenericCatalogueSurface.tsx +7 -5
- package/src/vista/VistaPanel.tsx +12 -4
- package/src/vista/html/CustomUiFrame.spec.tsx +3 -1
- package/src/vista/html/CustomUiFrame.tsx +3 -1
- package/src/vista/html/custom-ui-frame-bridge.ts +9 -3
- package/src/vista/html/custom-ui-intents.spec.ts +3 -1
- package/src/vista/html/custom-ui-intents.ts +19 -15
- package/src/vista/surface-catalogue.ts +9 -3
- package/src/vista/surfaces/FormSurface.tsx +27 -10
- package/src/vista/surfaces/TableSurface.tsx +4 -3
- package/src/vista/surfaces/blob-surfaces.tsx +13 -3
- package/src/vista/surfaces/elicitation-transport.ts +21 -7
- package/src/vista/surfaces/file-surface-utils.ts +11 -4
- package/src/vista/surfaces/register-surfaces.tsx +3 -1
- package/src/vista/surfaces/text-surfaces.tsx +21 -8
- package/src/vista/use-vista-tabs.ts +12 -4
- package/src/vista/vista-code-renderer.tsx +6 -5
- package/src/vista/vista-file-source.tsx +15 -14
- package/src/vista/vista-form-host.tsx +3 -8
- package/src/vista/vista-model.ts +10 -3
- package/src/vista/vista-open-context.tsx +3 -8
- package/src/vista/vista-payloads.ts +186 -63
- package/src/vista/vista-tabs-manifest.ts +28 -13
- package/src/vista/vista-tools.ts +18 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/session-kit/combobox/Combobox.tsx"],"names":[],"mappings":";AAmBA,OAAO,EACL,SAAS,EACT,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwEtD,MAAM,SAAS,GAAkB;IAC/B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,wBAAwB;IACpC,MAAM,EAAE,8BAA8B;IACtC,SAAS,EAAE,qCAAqC;IAChD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"Combobox.js","sourceRoot":"","sources":["../../../src/session-kit/combobox/Combobox.tsx"],"names":[],"mappings":";AAmBA,OAAO,EACL,SAAS,EACT,MAAM,EACN,QAAQ,GAIT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwEtD,MAAM,SAAS,GAAkB;IAC/B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,wBAAwB;IACpC,MAAM,EAAE,8BAA8B;IACtC,SAAS,EAAE,qCAAqC;IAChD,QAAQ,EAAE,QAAQ;CACnB,CAAC;AAEF,MAAM,UAAU,QAAQ,CACtB,KAAuB;IAEvB,MAAM,EACJ,KAAK,EACL,OAAO,EACP,KAAK,EACL,WAAW,GAAG,SAAS,EACvB,eAAe,GAAG,CAAC,EACnB,KAAK,GAAG,MAAM,EACd,EAAE,GAAG,KAAK,EACV,KAAK,GAAG,GAAG,EACX,MAAM,GACP,GAAG,KAAK,CAAC;IAEV,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,eAAe,CAAiB,GAAG,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,QAAQ,CAAC,EAAE,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;IAIlD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YACvB,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,KAAK;QACpB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAClB,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE;aAC3B,WAAW,EAAE;aACb,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACjC;QACH,CAAC,CAAC,KAAK,CAAC;IAEV,MAAM,IAAI,GAAG,CAAC,KAAQ,EAAW,EAAE,CACjC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;IAEpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK;QAC1B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjD,SAAS,IAAI,CAAC,KAAQ;QACpB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAkB,EAAE;QAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE;QAChC,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;IAEhC,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,EAAE,aAErE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC7D,IAAI,IAAI,CACP,eAAK,KAAK,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,aACpD,UAAU,IAAI,CACb,eACE,KAAK,EAAE;4BACL,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,UAAU;4BACnB,YAAY,EAAE,4BAA4B;yBAC3C,aAEA,KAAK,EAAE,MAAM,IAAI,CAChB,eACE,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,mBAAmB,EAAE,YAE5D,KAAK,CAAC,MAAM,GACR,CACR,EACD,gBACE,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE;oCACL,IAAI,EAAE,CAAC;oCACP,MAAM,EAAE,MAAM;oCACd,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,aAAa;oCACzB,QAAQ,EAAE,EAAE;oCACZ,KAAK,EAAE,iBAAiB;iCACzB,GACD,EACD,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,gBACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,aAElD,QAAQ,CAAC,MAAM,OAAG,KAAK,CAAC,MAAM,IAC1B,CACR,IACG,CACP,EACD,eAAK,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,aAC1D,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gCACnB,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;gCAC1B,MAAM,cAAc,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gCAC1C,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EAEb,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAC7B,KAAK,EAAE;wCACL,OAAO,EAAE,MAAM;wCACf,UAAU,EAAE,QAAQ;wCACpB,GAAG,EAAE,CAAC;wCACN,KAAK,EAAE,MAAM;wCACb,OAAO,EAAE,SAAS;wCAClB,YAAY,EAAE,CAAC;wCACf,SAAS,EAAE,MAAM;wCACjB,UAAU,EAAE,cAAc;4CACxB,CAAC,CAAC,0BAA0B;4CAC5B,CAAC,CAAC,aAAa;wCACjB,UAAU,EAAE,uBAAuB;qCACpC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wCAClB,IAAI,CAAC,cAAc,EAAE,CAAC;4CACpB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU;gDAC9B,wBAAwB,CAAC;wCAC7B,CAAC;oCACH,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;wCAClB,IAAI,CAAC,cAAc,EAAE,CAAC;4CACpB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC;wCACnD,CAAC;oCACH,CAAC,aAEA,EAAE,CAAC,IAAI,IAAI,CACV,eACE,KAAK,EAAE;gDACL,OAAO,EAAE,aAAa;gDACtB,KAAK,EAAE,mBAAmB;gDAC1B,UAAU,EAAE,CAAC;6CACd,YAEA,EAAE,CAAC,IAAI,GACH,CACR,EACD,gBAAM,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACnC,eACE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAChC,KAAK,EAAE;wDACL,OAAO,EAAE,OAAO;wDAChB,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;wDAC7B,KAAK,EAAE,iBAAiB;wDACxB,QAAQ,EAAE,QAAQ;wDAClB,YAAY,EAAE,UAAU;wDACxB,UAAU,EAAE,QAAQ;qDACrB,YAEA,EAAE,CAAC,KAAK,GACJ,EACN,EAAE,CAAC,IAAI,IAAI,CACV,eACE,KAAK,EAAE;wDACL,OAAO,EAAE,OAAO;wDAChB,QAAQ,EAAE,IAAI;wDACd,KAAK,EAAE,mBAAmB;wDAC1B,QAAQ,EAAE,QAAQ;wDAClB,YAAY,EAAE,UAAU;wDACxB,UAAU,EAAE,QAAQ;qDACrB,YAEA,EAAE,CAAC,IAAI,GACH,CACR,IACI,EACN,EAAE,CAAC,IAAI,IAAI,CACV,eACE,SAAS,EAAC,KAAK,EACf,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,YAEtC,EAAE,CAAC,IAAI,GACH,CACR,EACA,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CACb,eACE,KAAK,EAAE;gDACL,KAAK,EAAE,EAAE;gDACT,MAAM,EAAE,EAAE;gDACV,YAAY,EAAE,CAAC;gDACf,UAAU,EAAE,CAAC;gDACb,OAAO,EAAE,MAAM;gDACf,UAAU,EAAE,QAAQ;gDACpB,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa;gDACtD,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC;gDACtD,KAAK,EAAE,MAAM;6CACd,YAEA,EAAE,IAAI,KAAK,EAAE,UAAU,GACnB,CACR,CAAC,CAAC,CAAC,CACF,EAAE,IAAI,CACJ,eACE,KAAK,EAAE;gDACL,OAAO,EAAE,aAAa;gDACtB,KAAK,EAAE,qBAAqB;gDAC5B,UAAU,EAAE,CAAC;6CACd,YAEA,KAAK,EAAE,KAAK,GACR,CACR,CACF,KAvGI,EAAE,CAAC,KAAK,CAwGN,CACV,CAAC;4BACJ,CAAC,CAAC,EACD,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CACxB,cACE,KAAK,EAAE;oCACL,OAAO,EAAE,QAAQ;oCACjB,SAAS,EAAE,QAAQ;oCACnB,QAAQ,EAAE,EAAE;oCACZ,KAAK,EAAE,mBAAmB;iCAC3B,2BAGG,CACP,IACG,EACL,MAAM,IAAI,CACT,cACE,KAAK,EAAE,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC,EAAE,YAE7D,MAAM,GACH,CACP,IACG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD.d.ts","sourceRoot":"","sources":["../../../src/session-kit/display/MD.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"MD.d.ts","sourceRoot":"","sources":["../../../src/session-kit/display/MD.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAY,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;AAqDzD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAG,YAAY,CAsFtD"}
|
|
@@ -12,8 +12,9 @@ function renderInline(text) {
|
|
|
12
12
|
const nodes = [];
|
|
13
13
|
const parts = text.split(/(\*\*[^*]+\*\*|`[^`]+`)/g);
|
|
14
14
|
parts.forEach((part, index) => {
|
|
15
|
-
if (!part)
|
|
15
|
+
if (!part) {
|
|
16
16
|
return;
|
|
17
|
+
}
|
|
17
18
|
if (part.startsWith('**') && part.endsWith('**')) {
|
|
18
19
|
nodes.push(_jsx("strong", { style: { fontWeight: 600, color: 'hsl(var(--ink))' }, children: part.slice(2, -2) }, index));
|
|
19
20
|
return;
|
|
@@ -24,16 +25,18 @@ function renderInline(text) {
|
|
|
24
25
|
}
|
|
25
26
|
const lines = part.split('\n');
|
|
26
27
|
lines.forEach((line, lineIndex) => {
|
|
27
|
-
if (lineIndex > 0)
|
|
28
|
+
if (lineIndex > 0) {
|
|
28
29
|
nodes.push(_jsx("br", {}, `${index}-br-${lineIndex}`));
|
|
29
|
-
|
|
30
|
+
}
|
|
31
|
+
if (line) {
|
|
30
32
|
nodes.push(_jsx(Fragment, { children: line }, `${index}-t-${lineIndex}`));
|
|
33
|
+
}
|
|
31
34
|
});
|
|
32
35
|
});
|
|
33
36
|
return nodes;
|
|
34
37
|
}
|
|
35
38
|
export function MD({ children }) {
|
|
36
|
-
const text =
|
|
39
|
+
const text = children;
|
|
37
40
|
const blocks = text.split(/\n\n+/);
|
|
38
41
|
return (_jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 9 }, children: blocks.map((block, index) => {
|
|
39
42
|
if (block.startsWith('```')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MD.js","sourceRoot":"","sources":["../../../src/session-kit/display/MD.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,QAAQ,EAAqC,MAAM,OAAO,CAAC;AAKpE,MAAM,iBAAiB,GAAG;IACxB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,wBAAwB;IACpC,MAAM,EAAE,4BAA4B;IACpC,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,iBAAiB;CAChB,CAAC;AAGX,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"MD.js","sourceRoot":"","sources":["../../../src/session-kit/display/MD.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,QAAQ,EAAqC,MAAM,OAAO,CAAC;AAKpE,MAAM,iBAAiB,GAAG;IACxB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,wBAAwB;IACpC,MAAM,EAAE,4BAA4B;IACpC,YAAY,EAAE,CAAC;IACf,KAAK,EAAE,iBAAiB;CAChB,CAAC;AAGX,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACrD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CACR,iBAEE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAEnD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAHb,KAAK,CAIH,CACV,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CACR,eAAkB,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,iBAAiB,YACxD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IADT,KAAK,CAET,CACR,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;YAChC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,eAAS,GAAG,KAAK,OAAO,SAAS,EAAE,CAAI,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,KAAC,QAAQ,cAAkC,IAAI,IAAhC,GAAG,KAAK,MAAM,SAAS,EAAE,CAAmB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAW;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7D,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACpE,OAAO,CACL,cAEE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;wBACL,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,WAAW;wBACpB,UAAU,EAAE,wBAAwB;wBACpC,MAAM,EAAE,4BAA4B;wBACpC,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,GAAG;wBACf,SAAS,EAAE,MAAM;wBACjB,KAAK,EAAE,mBAAmB;wBAC1B,UAAU,EAAE,KAAK;qBAClB,YAEA,IAAI,IAfA,KAAK,CAgBN,CACP,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CACL,aAEE,KAAK,EAAE;wBACL,MAAM,EAAE,CAAC;wBACT,WAAW,EAAE,CAAC;wBACd,SAAS,EAAE,MAAM;wBACjB,OAAO,EAAE,MAAM;wBACf,aAAa,EAAE,QAAQ;wBACvB,GAAG,EAAE,CAAC;qBACP,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAC9B,cAEE,KAAK,EAAE;4BACL,OAAO,EAAE,MAAM;4BACf,GAAG,EAAE,CAAC;4BACN,QAAQ,EAAE,IAAI;4BACd,UAAU,EAAE,IAAI;4BAChB,KAAK,EAAE,mBAAmB;yBAC3B,aAED,eACE,KAAK,EAAE;oCACL,SAAS,EAAE,CAAC;oCACZ,KAAK,EAAE,CAAC;oCACR,MAAM,EAAE,CAAC;oCACT,YAAY,EAAE,KAAK;oCACnB,UAAU,EAAE,mBAAmB;oCAC/B,UAAU,EAAE,CAAC;iCACd,GACD,EACF,yBAAO,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,GAAQ,KAnBnD,SAAS,CAoBX,CACN,CAAC,IAjCG,KAAK,CAkCP,CACN,CAAC;YACJ,CAAC;YACD,OAAO,CACL,YAEE,KAAK,EAAE;oBACL,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,mBAAmB;iBAC3B,YAEA,YAAY,CAAC,KAAK,CAAC,IARf,KAAK,CASR,CACL,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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;
|
|
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;AAa/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAE3D,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 +1 @@
|
|
|
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;
|
|
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;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EACL,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAKpB,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAoB3D,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,OAAO,YAEb,QAAQ,GACL,GACsB,CAC/B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/ui/branding/sanitize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/ui/branding/sanitize.ts"],"names":[],"mappings":"AA2CA,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY3D;AAMD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3E;AAOD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAc3E"}
|
|
@@ -3,30 +3,36 @@ const CSS_CUSTOM_PROPERTY_NAME = /^[a-zA-Z_][a-zA-Z0-9_-]*$/;
|
|
|
3
3
|
function hasControlChar(value) {
|
|
4
4
|
for (let i = 0; i < value.length; i += 1) {
|
|
5
5
|
const code = value.charCodeAt(i);
|
|
6
|
-
if (code < 0x20 || code === 0x7f)
|
|
6
|
+
if (code < 0x20 || code === 0x7f) {
|
|
7
7
|
return true;
|
|
8
|
+
}
|
|
8
9
|
}
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
11
12
|
export function sanitizeCssValue(raw) {
|
|
12
13
|
const value = raw.trim();
|
|
13
|
-
if (value.length === 0)
|
|
14
|
+
if (value.length === 0) {
|
|
14
15
|
return null;
|
|
15
|
-
|
|
16
|
+
}
|
|
17
|
+
if (CSS_VALUE_UNSAFE.test(value)) {
|
|
16
18
|
return null;
|
|
17
|
-
|
|
19
|
+
}
|
|
20
|
+
if (hasControlChar(value)) {
|
|
18
21
|
return null;
|
|
22
|
+
}
|
|
19
23
|
return value;
|
|
20
24
|
}
|
|
21
25
|
export function sanitizeCssCustomPropertyName(rawKey) {
|
|
22
26
|
const name = rawKey.trim();
|
|
23
|
-
if (!CSS_CUSTOM_PROPERTY_NAME.test(name))
|
|
27
|
+
if (!CSS_CUSTOM_PROPERTY_NAME.test(name)) {
|
|
24
28
|
return null;
|
|
29
|
+
}
|
|
25
30
|
return `--${name}`;
|
|
26
31
|
}
|
|
27
32
|
export function sanitizeLogoUrl(raw) {
|
|
28
|
-
if (raw === undefined)
|
|
33
|
+
if (raw === undefined) {
|
|
29
34
|
return undefined;
|
|
35
|
+
}
|
|
30
36
|
let parsed;
|
|
31
37
|
try {
|
|
32
38
|
parsed = new URL(raw);
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,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,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,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,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,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"}
|
|
@@ -8,5 +8,5 @@ export interface DocumentPreviewProps {
|
|
|
8
8
|
readonly emptyText?: string;
|
|
9
9
|
readonly className?: string;
|
|
10
10
|
}
|
|
11
|
-
export declare function DocumentPreview({ fields, sections, schema, values, title, emptyText, className }: DocumentPreviewProps): import("react").JSX.Element;
|
|
11
|
+
export declare function DocumentPreview({ fields, sections, schema, values, title, emptyText, className, }: DocumentPreviewProps): import("react").JSX.Element;
|
|
12
12
|
//# sourceMappingURL=document-preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-preview.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-preview.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAEnB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAe,EACf,SAAS,GACV,EAAE,oBAAoB,+BAqCtB"}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from '../cn';
|
|
3
|
-
import { CaptureFieldType, toSections } from './field-spec';
|
|
3
|
+
import { CaptureFieldType, toSections, } from './field-spec';
|
|
4
4
|
import { formatScalar } from './value-format';
|
|
5
|
-
export function DocumentPreview({ fields, sections, schema, values, title, emptyText = '—', className }) {
|
|
5
|
+
export function DocumentPreview({ fields, sections, schema, values, title, emptyText = '—', className, }) {
|
|
6
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))) })] }));
|
|
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))) })] }));
|
|
8
8
|
}
|
|
9
|
-
function FieldRow({ field, value, emptyText }) {
|
|
9
|
+
function FieldRow({ field, value, emptyText, }) {
|
|
10
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) })] }));
|
|
11
11
|
}
|
|
12
12
|
function renderValue(field, value, emptyText) {
|
|
13
13
|
if (field.type === CaptureFieldType.Object) {
|
|
14
14
|
const record = (value && typeof value === 'object' && !Array.isArray(value) ? value : null);
|
|
15
|
-
if (!record)
|
|
15
|
+
if (!record) {
|
|
16
16
|
return _jsx("span", { className: "text-ink-3", children: emptyText });
|
|
17
|
+
}
|
|
17
18
|
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))) }));
|
|
18
19
|
}
|
|
19
20
|
if (field.type === CaptureFieldType.List) {
|
|
20
21
|
const items = (Array.isArray(value) ? value : []);
|
|
21
|
-
if (items.length === 0)
|
|
22
|
+
if (items.length === 0) {
|
|
22
23
|
return _jsx("span", { className: "text-ink-3", children: emptyText });
|
|
24
|
+
}
|
|
23
25
|
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))) }));
|
|
24
26
|
}
|
|
25
27
|
const text = formatScalar(field, value, emptyText);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-preview.js","sourceRoot":"","sources":["../../../src/ui/capture/document-preview.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
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,
|
|
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,EAEL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEpB,MAAM,cAAc,CAAC;AAGtB,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOpD;AAmDD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOrD;AAkFD,wBAAgB,cAAc,CAC5B,MAAM,EACF,aAAa,GACb,SAAS,gBAAgB,EAAE,GAC3B,SAAS,cAAc,EAAE,GAC5B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAE5B"}
|
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { CaptureFieldType, toFieldList } from './field-spec';
|
|
2
|
+
import { CaptureFieldType, toFieldList, } from './field-spec';
|
|
3
3
|
export function isEmptyValue(value) {
|
|
4
|
-
return value === undefined ||
|
|
4
|
+
return (value === undefined ||
|
|
5
|
+
value === null ||
|
|
6
|
+
value === '' ||
|
|
7
|
+
(Array.isArray(value) && value.length === 0));
|
|
5
8
|
}
|
|
6
9
|
function scalarSchema(field) {
|
|
7
10
|
switch (field.type) {
|
|
8
11
|
case CaptureFieldType.Number: {
|
|
9
12
|
let s = z.number({ message: `${field.label} must be a number` });
|
|
10
|
-
if (typeof field.min === 'number')
|
|
11
|
-
s = s.min(field.min, {
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
if (typeof field.min === 'number') {
|
|
14
|
+
s = s.min(field.min, {
|
|
15
|
+
message: `${field.label} must be ≥ ${field.min}`,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
if (typeof field.max === 'number') {
|
|
19
|
+
s = s.max(field.max, {
|
|
20
|
+
message: `${field.label} must be ≤ ${field.max}`,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
14
23
|
return s;
|
|
15
24
|
}
|
|
16
25
|
case CaptureFieldType.Boolean:
|
|
17
26
|
return z.boolean({ message: `${field.label} must be true or false` });
|
|
18
27
|
case CaptureFieldType.Decimal:
|
|
19
|
-
return z
|
|
28
|
+
return z
|
|
29
|
+
.string()
|
|
30
|
+
.regex(/^-?\d+(\.\d+)?$/, {
|
|
31
|
+
message: `${field.label} must be a decimal number`,
|
|
32
|
+
});
|
|
20
33
|
case CaptureFieldType.Enum: {
|
|
21
34
|
const values = [...(field.enumValues ?? [])];
|
|
22
|
-
if (values.length === 0)
|
|
35
|
+
if (values.length === 0) {
|
|
23
36
|
return z.string();
|
|
37
|
+
}
|
|
24
38
|
return z.enum(values);
|
|
25
39
|
}
|
|
26
40
|
case CaptureFieldType.Date:
|
|
27
|
-
return z
|
|
41
|
+
return z
|
|
42
|
+
.string()
|
|
43
|
+
.regex(/^\d{4}-\d{2}-\d{2}$/, {
|
|
44
|
+
message: `${field.label} must be a date`,
|
|
45
|
+
});
|
|
28
46
|
case CaptureFieldType.Datetime:
|
|
29
|
-
return z
|
|
47
|
+
return z
|
|
48
|
+
.string()
|
|
49
|
+
.min(1, { message: `${field.label} must be a date/time` });
|
|
30
50
|
default:
|
|
31
51
|
return z.string();
|
|
32
52
|
}
|
|
@@ -55,10 +75,16 @@ function fieldSchema(field) {
|
|
|
55
75
|
}
|
|
56
76
|
else if (field.type === CaptureFieldType.List) {
|
|
57
77
|
let arr = z.array(objectSchema(field.fields ?? []));
|
|
58
|
-
if (typeof field.min === 'number')
|
|
59
|
-
arr = arr.min(field.min, {
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
if (typeof field.min === 'number') {
|
|
79
|
+
arr = arr.min(field.min, {
|
|
80
|
+
message: `${field.label} needs at least ${field.min} item(s)`,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
if (typeof field.max === 'number') {
|
|
84
|
+
arr = arr.max(field.max, {
|
|
85
|
+
message: `${field.label} allows at most ${field.max} item(s)`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
62
88
|
base = arr;
|
|
63
89
|
}
|
|
64
90
|
else {
|
|
@@ -74,7 +100,9 @@ function fieldSchema(field) {
|
|
|
74
100
|
field.type === CaptureFieldType.Image ||
|
|
75
101
|
field.type === CaptureFieldType.File ||
|
|
76
102
|
field.type === CaptureFieldType.Audio)) {
|
|
77
|
-
base = base.min(1, {
|
|
103
|
+
base = base.min(1, {
|
|
104
|
+
message: `${field.label} is required`,
|
|
105
|
+
});
|
|
78
106
|
}
|
|
79
107
|
}
|
|
80
108
|
if (!field.required) {
|
|
@@ -84,8 +112,9 @@ function fieldSchema(field) {
|
|
|
84
112
|
}
|
|
85
113
|
function objectSchema(fields) {
|
|
86
114
|
const shape = {};
|
|
87
|
-
for (const f of fields)
|
|
115
|
+
for (const f of fields) {
|
|
88
116
|
shape[f.key] = fieldSchema(f);
|
|
117
|
+
}
|
|
89
118
|
return z.object(shape);
|
|
90
119
|
}
|
|
91
120
|
export function fieldSpecToZod(schema) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-spec-to-zod.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-to-zod.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-spec-validate.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"AAYA,OAAO,
|
|
1
|
+
{"version":3,"file":"field-spec-validate.d.ts","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AA0CtB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CA2J1E;AAOD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,GACX,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAapC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CaptureFieldTransform, CaptureFieldType } from './field-spec';
|
|
1
|
+
import { CaptureFieldTransform, CaptureFieldType, } from './field-spec';
|
|
2
2
|
const FIELD_TYPES = new Set(Object.values(CaptureFieldType));
|
|
3
3
|
const TRANSFORMS = new Set(Object.values(CaptureFieldTransform));
|
|
4
4
|
function asRecord(value) {
|
|
@@ -7,121 +7,162 @@ function asRecord(value) {
|
|
|
7
7
|
: null;
|
|
8
8
|
}
|
|
9
9
|
function optionalString(value) {
|
|
10
|
-
if (value === undefined)
|
|
10
|
+
if (value === undefined) {
|
|
11
11
|
return undefined;
|
|
12
|
+
}
|
|
12
13
|
return typeof value === 'string' ? value : null;
|
|
13
14
|
}
|
|
14
15
|
function optionalBoolean(value) {
|
|
15
|
-
if (value === undefined)
|
|
16
|
+
if (value === undefined) {
|
|
16
17
|
return undefined;
|
|
18
|
+
}
|
|
17
19
|
return typeof value === 'boolean' ? value : null;
|
|
18
20
|
}
|
|
19
21
|
function optionalNumber(value) {
|
|
20
|
-
if (value === undefined)
|
|
22
|
+
if (value === undefined) {
|
|
21
23
|
return undefined;
|
|
24
|
+
}
|
|
22
25
|
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
23
26
|
}
|
|
24
27
|
export function validateCaptureField(raw) {
|
|
25
28
|
const record = asRecord(raw);
|
|
26
|
-
if (record === null)
|
|
29
|
+
if (record === null) {
|
|
27
30
|
return null;
|
|
28
|
-
|
|
31
|
+
}
|
|
32
|
+
if (typeof record.key !== 'string' || record.key.length === 0) {
|
|
29
33
|
return null;
|
|
30
|
-
|
|
34
|
+
}
|
|
35
|
+
if (typeof record.label !== 'string' || record.label.length === 0) {
|
|
31
36
|
return null;
|
|
32
|
-
|
|
37
|
+
}
|
|
38
|
+
if (typeof record.type !== 'string' || !FIELD_TYPES.has(record.type)) {
|
|
33
39
|
return null;
|
|
40
|
+
}
|
|
34
41
|
const required = optionalBoolean(record.required);
|
|
35
|
-
if (required === null)
|
|
42
|
+
if (required === null) {
|
|
36
43
|
return null;
|
|
44
|
+
}
|
|
37
45
|
const isSecret = optionalBoolean(record.isSecret);
|
|
38
|
-
if (isSecret === null)
|
|
46
|
+
if (isSecret === null) {
|
|
39
47
|
return null;
|
|
48
|
+
}
|
|
40
49
|
const description = optionalString(record.description);
|
|
41
|
-
if (description === null)
|
|
50
|
+
if (description === null) {
|
|
42
51
|
return null;
|
|
52
|
+
}
|
|
43
53
|
const placeholder = optionalString(record.placeholder);
|
|
44
|
-
if (placeholder === null)
|
|
54
|
+
if (placeholder === null) {
|
|
45
55
|
return null;
|
|
56
|
+
}
|
|
46
57
|
const section = optionalString(record.section);
|
|
47
|
-
if (section === null)
|
|
58
|
+
if (section === null) {
|
|
48
59
|
return null;
|
|
60
|
+
}
|
|
49
61
|
const referenceEntity = optionalString(record.referenceEntity);
|
|
50
|
-
if (referenceEntity === null)
|
|
62
|
+
if (referenceEntity === null) {
|
|
51
63
|
return null;
|
|
64
|
+
}
|
|
52
65
|
const accept = optionalString(record.accept);
|
|
53
|
-
if (accept === null)
|
|
66
|
+
if (accept === null) {
|
|
54
67
|
return null;
|
|
68
|
+
}
|
|
55
69
|
const min = optionalNumber(record.min);
|
|
56
|
-
if (min === null)
|
|
70
|
+
if (min === null) {
|
|
57
71
|
return null;
|
|
72
|
+
}
|
|
58
73
|
const max = optionalNumber(record.max);
|
|
59
|
-
if (max === null)
|
|
74
|
+
if (max === null) {
|
|
60
75
|
return null;
|
|
76
|
+
}
|
|
61
77
|
let transform;
|
|
62
78
|
if (record.transform !== undefined) {
|
|
63
|
-
if (typeof record.transform !== 'string' ||
|
|
79
|
+
if (typeof record.transform !== 'string' ||
|
|
80
|
+
!TRANSFORMS.has(record.transform)) {
|
|
64
81
|
return null;
|
|
82
|
+
}
|
|
65
83
|
transform = record.transform;
|
|
66
84
|
}
|
|
67
85
|
let enumValues;
|
|
68
86
|
if (record.enumValues !== undefined) {
|
|
69
|
-
if (!Array.isArray(record.enumValues))
|
|
87
|
+
if (!Array.isArray(record.enumValues)) {
|
|
70
88
|
return null;
|
|
71
|
-
|
|
89
|
+
}
|
|
90
|
+
if (!record.enumValues.every((v) => typeof v === 'string')) {
|
|
72
91
|
return null;
|
|
92
|
+
}
|
|
73
93
|
enumValues = record.enumValues;
|
|
74
94
|
}
|
|
75
95
|
let capture;
|
|
76
96
|
if (record.capture !== undefined) {
|
|
77
|
-
if (record.capture !== 'user' && record.capture !== 'environment')
|
|
97
|
+
if (record.capture !== 'user' && record.capture !== 'environment') {
|
|
78
98
|
return null;
|
|
99
|
+
}
|
|
79
100
|
capture = record.capture;
|
|
80
101
|
}
|
|
81
102
|
let fields;
|
|
82
103
|
if (record.fields !== undefined) {
|
|
83
104
|
const nested = validateCaptureFields(record.fields);
|
|
84
|
-
if (nested === null)
|
|
105
|
+
if (nested === null) {
|
|
85
106
|
return null;
|
|
107
|
+
}
|
|
86
108
|
fields = nested;
|
|
87
109
|
}
|
|
88
|
-
const spec = {
|
|
89
|
-
|
|
110
|
+
const spec = {
|
|
111
|
+
key: record.key,
|
|
112
|
+
label: record.label,
|
|
113
|
+
type: record.type,
|
|
114
|
+
};
|
|
115
|
+
if (required !== undefined) {
|
|
90
116
|
spec.required = required;
|
|
91
|
-
|
|
117
|
+
}
|
|
118
|
+
if (isSecret !== undefined) {
|
|
92
119
|
spec.isSecret = isSecret;
|
|
93
|
-
|
|
120
|
+
}
|
|
121
|
+
if (transform !== undefined) {
|
|
94
122
|
spec.transform = transform;
|
|
95
|
-
|
|
123
|
+
}
|
|
124
|
+
if (description !== undefined) {
|
|
96
125
|
spec.description = description;
|
|
97
|
-
|
|
126
|
+
}
|
|
127
|
+
if (placeholder !== undefined) {
|
|
98
128
|
spec.placeholder = placeholder;
|
|
99
|
-
|
|
129
|
+
}
|
|
130
|
+
if (section !== undefined) {
|
|
100
131
|
spec.section = section;
|
|
101
|
-
|
|
132
|
+
}
|
|
133
|
+
if (referenceEntity !== undefined) {
|
|
102
134
|
spec.referenceEntity = referenceEntity;
|
|
103
|
-
|
|
135
|
+
}
|
|
136
|
+
if (accept !== undefined) {
|
|
104
137
|
spec.accept = accept;
|
|
105
|
-
|
|
138
|
+
}
|
|
139
|
+
if (capture !== undefined) {
|
|
106
140
|
spec.capture = capture;
|
|
107
|
-
|
|
141
|
+
}
|
|
142
|
+
if (enumValues !== undefined) {
|
|
108
143
|
spec.enumValues = enumValues;
|
|
109
|
-
|
|
144
|
+
}
|
|
145
|
+
if (fields !== undefined) {
|
|
110
146
|
spec.fields = fields;
|
|
111
|
-
|
|
147
|
+
}
|
|
148
|
+
if (min !== undefined) {
|
|
112
149
|
spec.min = min;
|
|
113
|
-
|
|
150
|
+
}
|
|
151
|
+
if (max !== undefined) {
|
|
114
152
|
spec.max = max;
|
|
153
|
+
}
|
|
115
154
|
return spec;
|
|
116
155
|
}
|
|
117
156
|
export function validateCaptureFields(raw) {
|
|
118
|
-
if (!Array.isArray(raw))
|
|
157
|
+
if (!Array.isArray(raw)) {
|
|
119
158
|
return null;
|
|
159
|
+
}
|
|
120
160
|
const out = [];
|
|
121
161
|
for (const entry of raw) {
|
|
122
162
|
const spec = validateCaptureField(entry);
|
|
123
|
-
if (spec === null)
|
|
163
|
+
if (spec === null) {
|
|
124
164
|
return null;
|
|
165
|
+
}
|
|
125
166
|
out.push(spec);
|
|
126
167
|
}
|
|
127
168
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-spec-validate.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"AAYA,OAAO,
|
|
1
|
+
{"version":3,"file":"field-spec-validate.js","sourceRoot":"","sources":["../../../src/ui/capture/field-spec-validate.ts"],"names":[],"mappings":"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"}
|