@xemahq/ui-kernel 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/biome-host/biome-registry.d.ts.map +1 -1
- package/dist/lib/biome-host/biome-registry.js +14 -9
- package/dist/lib/biome-host/biome-registry.js.map +1 -1
- package/dist/lib/contribution-registry/contribution-registry.d.ts +24 -0
- package/dist/lib/contribution-registry/contribution-registry.d.ts.map +1 -0
- package/dist/lib/contribution-registry/contribution-registry.js +67 -0
- package/dist/lib/contribution-registry/contribution-registry.js.map +1 -0
- package/dist/lib/contribution-registry/index.d.ts +3 -0
- package/dist/lib/contribution-registry/index.d.ts.map +1 -0
- package/dist/lib/contribution-registry/index.js +3 -0
- package/dist/lib/contribution-registry/index.js.map +1 -0
- package/dist/lib/contribution-registry/renderable-registry.d.ts +33 -0
- package/dist/lib/contribution-registry/renderable-registry.d.ts.map +1 -0
- package/dist/lib/contribution-registry/renderable-registry.js +51 -0
- package/dist/lib/contribution-registry/renderable-registry.js.map +1 -0
- package/dist/ui/capture/field-spec-to-zod.d.ts +1 -0
- package/dist/ui/capture/field-spec-to-zod.d.ts.map +1 -1
- package/dist/ui/capture/field-spec-to-zod.js +19 -0
- package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
- package/dist/ui/capture/field-spec-validate.d.ts +4 -0
- package/dist/ui/capture/field-spec-validate.d.ts.map +1 -0
- package/dist/ui/capture/field-spec-validate.js +129 -0
- package/dist/ui/capture/field-spec-validate.js.map +1 -0
- package/dist/ui/capture/field-spec.d.ts +13 -1
- package/dist/ui/capture/field-spec.d.ts.map +1 -1
- package/dist/ui/capture/field-spec.js +25 -0
- package/dist/ui/capture/field-spec.js.map +1 -1
- package/dist/ui/capture/index.d.ts +4 -2
- package/dist/ui/capture/index.d.ts.map +1 -1
- package/dist/ui/capture/index.js +4 -2
- package/dist/ui/capture/index.js.map +1 -1
- package/dist/ui/capture/schema-field-input.d.ts.map +1 -1
- package/dist/ui/capture/schema-field-input.js +39 -12
- package/dist/ui/capture/schema-field-input.js.map +1 -1
- package/dist/ui/capture/submit-values.d.ts +6 -0
- package/dist/ui/capture/submit-values.d.ts.map +1 -0
- package/dist/ui/capture/submit-values.js +28 -0
- package/dist/ui/capture/submit-values.js.map +1 -0
- 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/overflow-tabs.d.ts +5 -0
- package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -1
- package/dist/ui/primitives/overflow-tabs.js +4 -4
- package/dist/ui/primitives/overflow-tabs.js.map +1 -1
- package/dist/ui/primitives/url-preview-chrome.d.ts +8 -0
- package/dist/ui/primitives/url-preview-chrome.d.ts.map +1 -0
- package/dist/ui/primitives/url-preview-chrome.js +40 -0
- package/dist/ui/primitives/url-preview-chrome.js.map +1 -0
- package/dist/vista/GenericCatalogueSurface.d.ts +10 -0
- package/dist/vista/GenericCatalogueSurface.d.ts.map +1 -0
- package/dist/vista/GenericCatalogueSurface.js +80 -0
- package/dist/vista/GenericCatalogueSurface.js.map +1 -0
- package/dist/vista/SurfaceFallbackCard.d.ts +9 -0
- package/dist/vista/SurfaceFallbackCard.d.ts.map +1 -0
- package/dist/vista/SurfaceFallbackCard.js +44 -0
- package/dist/vista/SurfaceFallbackCard.js.map +1 -0
- package/dist/vista/VistaPanel.d.ts +21 -0
- package/dist/vista/VistaPanel.d.ts.map +1 -0
- package/dist/vista/VistaPanel.js +31 -0
- package/dist/vista/VistaPanel.js.map +1 -0
- package/dist/vista/html/CustomUiFrame.d.ts +20 -0
- package/dist/vista/html/CustomUiFrame.d.ts.map +1 -0
- package/dist/vista/html/CustomUiFrame.js +69 -0
- package/dist/vista/html/CustomUiFrame.js.map +1 -0
- package/dist/vista/html/custom-ui-frame-bridge.d.ts +13 -0
- package/dist/vista/html/custom-ui-frame-bridge.d.ts.map +1 -0
- package/dist/vista/html/custom-ui-frame-bridge.js +30 -0
- package/dist/vista/html/custom-ui-frame-bridge.js.map +1 -0
- package/dist/vista/html/custom-ui-frame-contract.d.ts +29 -0
- package/dist/vista/html/custom-ui-frame-contract.d.ts.map +1 -0
- package/dist/vista/html/custom-ui-frame-contract.js +16 -0
- package/dist/vista/html/custom-ui-frame-contract.js.map +1 -0
- package/dist/vista/html/custom-ui-intents.d.ts +20 -0
- package/dist/vista/html/custom-ui-intents.d.ts.map +1 -0
- package/dist/vista/html/custom-ui-intents.js +57 -0
- package/dist/vista/html/custom-ui-intents.js.map +1 -0
- package/dist/vista/html/custom-ui-srcdoc.d.ts +17 -0
- package/dist/vista/html/custom-ui-srcdoc.d.ts.map +1 -0
- package/dist/vista/html/custom-ui-srcdoc.js +70 -0
- package/dist/vista/html/custom-ui-srcdoc.js.map +1 -0
- package/dist/vista/html/index.d.ts +6 -0
- package/dist/vista/html/index.d.ts.map +1 -0
- package/dist/vista/html/index.js +6 -0
- package/dist/vista/html/index.js.map +1 -0
- package/dist/vista/index.d.ts +18 -0
- package/dist/vista/index.d.ts.map +1 -0
- package/dist/vista/index.js +18 -0
- package/dist/vista/index.js.map +1 -0
- package/dist/vista/surface-catalogue.d.ts +5 -0
- package/dist/vista/surface-catalogue.d.ts.map +1 -0
- package/dist/vista/surface-catalogue.js +30 -0
- package/dist/vista/surface-catalogue.js.map +1 -0
- package/dist/vista/surface-icons.d.ts +7 -0
- package/dist/vista/surface-icons.d.ts.map +1 -0
- package/dist/vista/surface-icons.js +26 -0
- package/dist/vista/surface-icons.js.map +1 -0
- package/dist/vista/surface-registry.d.ts +7 -0
- package/dist/vista/surface-registry.d.ts.map +1 -0
- package/dist/vista/surface-registry.js +7 -0
- package/dist/vista/surface-registry.js.map +1 -0
- package/dist/vista/surfaces/ChartSurface.d.ts +4 -0
- package/dist/vista/surfaces/ChartSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/ChartSurface.js +17 -0
- package/dist/vista/surfaces/ChartSurface.js.map +1 -0
- package/dist/vista/surfaces/FilesSurface.d.ts +15 -0
- package/dist/vista/surfaces/FilesSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/FilesSurface.js +121 -0
- package/dist/vista/surfaces/FilesSurface.js.map +1 -0
- package/dist/vista/surfaces/FormSurface.d.ts +4 -0
- package/dist/vista/surfaces/FormSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/FormSurface.js +97 -0
- package/dist/vista/surfaces/FormSurface.js.map +1 -0
- package/dist/vista/surfaces/HtmlSurface.d.ts +4 -0
- package/dist/vista/surfaces/HtmlSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/HtmlSurface.js +11 -0
- package/dist/vista/surfaces/HtmlSurface.js.map +1 -0
- package/dist/vista/surfaces/TableSurface.d.ts +4 -0
- package/dist/vista/surfaces/TableSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/TableSurface.js +42 -0
- package/dist/vista/surfaces/TableSurface.js.map +1 -0
- package/dist/vista/surfaces/UrlSurface.d.ts +4 -0
- package/dist/vista/surfaces/UrlSurface.d.ts.map +1 -0
- package/dist/vista/surfaces/UrlSurface.js +7 -0
- package/dist/vista/surfaces/UrlSurface.js.map +1 -0
- package/dist/vista/surfaces/blob-surfaces.d.ts +6 -0
- package/dist/vista/surfaces/blob-surfaces.d.ts.map +1 -0
- package/dist/vista/surfaces/blob-surfaces.js +38 -0
- package/dist/vista/surfaces/blob-surfaces.js.map +1 -0
- package/dist/vista/surfaces/elicitation-transport.d.ts +18 -0
- package/dist/vista/surfaces/elicitation-transport.d.ts.map +1 -0
- package/dist/vista/surfaces/elicitation-transport.js +100 -0
- package/dist/vista/surfaces/elicitation-transport.js.map +1 -0
- package/dist/vista/surfaces/index.d.ts +11 -0
- package/dist/vista/surfaces/index.d.ts.map +1 -0
- package/dist/vista/surfaces/index.js +89 -0
- package/dist/vista/surfaces/index.js.map +1 -0
- package/dist/vista/surfaces/text-surfaces.d.ts +8 -0
- package/dist/vista/surfaces/text-surfaces.d.ts.map +1 -0
- package/dist/vista/surfaces/text-surfaces.js +54 -0
- package/dist/vista/surfaces/text-surfaces.js.map +1 -0
- package/dist/vista/use-vista-tabs.d.ts +30 -0
- package/dist/vista/use-vista-tabs.d.ts.map +1 -0
- package/dist/vista/use-vista-tabs.js +77 -0
- package/dist/vista/use-vista-tabs.js.map +1 -0
- package/dist/vista/vista-code-renderer.d.ts +12 -0
- package/dist/vista/vista-code-renderer.d.ts.map +1 -0
- package/dist/vista/vista-code-renderer.js +10 -0
- package/dist/vista/vista-code-renderer.js.map +1 -0
- package/dist/vista/vista-file-source.d.ts +20 -0
- package/dist/vista/vista-file-source.d.ts.map +1 -0
- package/dist/vista/vista-file-source.js +69 -0
- package/dist/vista/vista-file-source.js.map +1 -0
- package/dist/vista/vista-form-host.d.ts +16 -0
- package/dist/vista/vista-form-host.d.ts.map +1 -0
- package/dist/vista/vista-form-host.js +10 -0
- package/dist/vista/vista-form-host.js.map +1 -0
- package/dist/vista/vista-model.d.ts +12 -0
- package/dist/vista/vista-model.d.ts.map +1 -0
- package/dist/vista/vista-model.js +72 -0
- package/dist/vista/vista-model.js.map +1 -0
- package/dist/vista/vista-open-context.d.ts +9 -0
- package/dist/vista/vista-open-context.d.ts.map +1 -0
- package/dist/vista/vista-open-context.js +10 -0
- package/dist/vista/vista-open-context.js.map +1 -0
- package/dist/vista/vista-payloads.d.ts +107 -0
- package/dist/vista/vista-payloads.d.ts.map +1 -0
- package/dist/vista/vista-payloads.js +305 -0
- package/dist/vista/vista-payloads.js.map +1 -0
- package/dist/vista/vista-tabs-manifest.d.ts +17 -0
- package/dist/vista/vista-tabs-manifest.d.ts.map +1 -0
- package/dist/vista/vista-tabs-manifest.js +60 -0
- package/dist/vista/vista-tabs-manifest.js.map +1 -0
- package/dist/vista/vista-tools.d.ts +41 -0
- package/dist/vista/vista-tools.d.ts.map +1 -0
- package/dist/vista/vista-tools.js +113 -0
- package/dist/vista/vista-tools.js.map +1 -0
- package/package.json +3 -3
- package/src/index.ts +5 -0
- package/src/lib/biome-host/biome-registry.ts +31 -11
- package/src/lib/contribution-registry/contribution-registry.spec.ts +141 -0
- package/src/lib/contribution-registry/contribution-registry.ts +202 -0
- package/src/lib/contribution-registry/index.ts +9 -0
- package/src/lib/contribution-registry/renderable-registry.ts +142 -0
- package/src/ui/capture/field-spec-to-zod.ts +22 -0
- package/src/ui/capture/field-spec-validate.ts +147 -0
- package/src/ui/capture/field-spec.ts +62 -0
- package/src/ui/capture/index.ts +9 -1
- package/src/ui/capture/schema-field-input.tsx +134 -14
- package/src/ui/capture/submit-values.test.ts +70 -0
- package/src/ui/capture/submit-values.ts +63 -0
- package/src/ui/index.ts +4 -0
- package/src/ui/primitives/overflow-tabs.tsx +24 -4
- package/src/ui/primitives/url-preview-chrome.tsx +102 -0
- package/src/vista/GenericCatalogueSurface.tsx +177 -0
- package/src/vista/SurfaceFallbackCard.tsx +109 -0
- package/src/vista/VistaPanel.tsx +155 -0
- package/src/vista/form-payload.spec.ts +93 -0
- package/src/vista/html/CustomUiFrame.spec.tsx +125 -0
- package/src/vista/html/CustomUiFrame.tsx +204 -0
- package/src/vista/html/custom-ui-frame-bridge.spec.ts +191 -0
- package/src/vista/html/custom-ui-frame-bridge.ts +92 -0
- package/src/vista/html/custom-ui-frame-contract.ts +88 -0
- package/src/vista/html/custom-ui-intents.spec.ts +133 -0
- package/src/vista/html/custom-ui-intents.ts +151 -0
- package/src/vista/html/custom-ui-srcdoc.spec.ts +151 -0
- package/src/vista/html/custom-ui-srcdoc.ts +193 -0
- package/src/vista/html/index.ts +13 -0
- package/src/vista/index.ts +48 -0
- package/src/vista/surface-catalogue.spec.ts +140 -0
- package/src/vista/surface-catalogue.ts +84 -0
- package/src/vista/surface-icons.ts +57 -0
- package/src/vista/surface-registry.ts +56 -0
- package/src/vista/surfaces/ChartSurface.tsx +34 -0
- package/src/vista/surfaces/FilesSurface.tsx +268 -0
- package/src/vista/surfaces/FormSurface.tsx +264 -0
- package/src/vista/surfaces/HtmlSurface.tsx +43 -0
- package/src/vista/surfaces/TableSurface.tsx +99 -0
- package/src/vista/surfaces/UrlSurface.tsx +40 -0
- package/src/vista/surfaces/blob-surfaces.tsx +129 -0
- package/src/vista/surfaces/elicitation-transport.spec.ts +187 -0
- package/src/vista/surfaces/elicitation-transport.ts +175 -0
- package/src/vista/surfaces/index.tsx +157 -0
- package/src/vista/surfaces/text-surfaces.tsx +119 -0
- package/src/vista/use-vista-tabs.ts +188 -0
- package/src/vista/vista-code-renderer.tsx +46 -0
- package/src/vista/vista-file-source.tsx +163 -0
- package/src/vista/vista-form-host.tsx +78 -0
- package/src/vista/vista-model.ts +130 -0
- package/src/vista/vista-open-context.tsx +42 -0
- package/src/vista/vista-payloads.ts +514 -0
- package/src/vista/vista-tabs-manifest.ts +123 -0
- package/src/vista/vista-tools.ts +220 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SurfaceKindSource, } from '@xemahq/kernel-contracts/surface';
|
|
2
|
+
import { makeGenericSurfaceRenderer } from './GenericCatalogueSurface';
|
|
3
|
+
import { vistaSurfaceRegistry } from './surface-registry';
|
|
4
|
+
let synced = false;
|
|
5
|
+
export function __resetSurfaceCatalogueSyncForTests() {
|
|
6
|
+
synced = false;
|
|
7
|
+
}
|
|
8
|
+
export async function syncSurfaceCatalogue(fetchCatalogue) {
|
|
9
|
+
if (synced)
|
|
10
|
+
return;
|
|
11
|
+
synced = true;
|
|
12
|
+
try {
|
|
13
|
+
const entries = await fetchCatalogue();
|
|
14
|
+
for (const entry of entries) {
|
|
15
|
+
if (entry.source !== SurfaceKindSource.Biome)
|
|
16
|
+
continue;
|
|
17
|
+
if (vistaSurfaceRegistry.has(entry.kind))
|
|
18
|
+
continue;
|
|
19
|
+
vistaSurfaceRegistry.register(entry.kind, {
|
|
20
|
+
version: entry.version,
|
|
21
|
+
validate: (payload) => payload !== null && typeof payload === 'object' ? payload : null,
|
|
22
|
+
render: makeGenericSurfaceRenderer(entry.displayName, entry.payloadSchema),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
synced = false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=surface-catalogue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-catalogue.js","sourceRoot":"","sources":["../../src/vista/surface-catalogue.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,iBAAiB,GAElB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO1D,IAAI,MAAM,GAAG,KAAK,CAAC;AAGnB,MAAM,UAAU,mCAAmC;IACjD,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,cAAuC;IAEvC,IAAI,MAAM;QAAE,OAAO;IACnB,MAAM,GAAG,IAAI,CAAC;IACd,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAG5B,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,KAAK;gBAAE,SAAS;YAEvD,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACnD,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CACpB,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAClE,MAAM,EAAE,0BAA0B,CAChC,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,aAAa,CACpB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QAIP,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-icons.d.ts","sourceRoot":"","sources":["../../src/vista/surface-icons.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,KAAK,KAAK,GAAG,aAAa,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAwBnD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAE/D"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SurfaceKind } from '@xemahq/kernel-contracts/surface';
|
|
2
|
+
import { AppWindow, BarChart3, Braces, FileCode, FileText, FileType2, Film, Folder, Globe, Image, LayoutGrid, Share2, SquarePen, Table2, TextCursorInput, } from 'lucide-react';
|
|
3
|
+
const SURFACE_KIND_ICON = {
|
|
4
|
+
[SurfaceKind.Url]: Globe,
|
|
5
|
+
[SurfaceKind.Web]: AppWindow,
|
|
6
|
+
[SurfaceKind.Html]: LayoutGrid,
|
|
7
|
+
[SurfaceKind.Markdown]: FileText,
|
|
8
|
+
[SurfaceKind.Code]: FileCode,
|
|
9
|
+
[SurfaceKind.Diff]: SquarePen,
|
|
10
|
+
[SurfaceKind.Json]: Braces,
|
|
11
|
+
[SurfaceKind.Table]: Table2,
|
|
12
|
+
[SurfaceKind.Chart]: BarChart3,
|
|
13
|
+
[SurfaceKind.Pdf]: FileType2,
|
|
14
|
+
[SurfaceKind.Image]: Image,
|
|
15
|
+
[SurfaceKind.Media]: Film,
|
|
16
|
+
[SurfaceKind.Object]: LayoutGrid,
|
|
17
|
+
[SurfaceKind.BiomeRoute]: AppWindow,
|
|
18
|
+
[SurfaceKind.Form]: TextCursorInput,
|
|
19
|
+
[SurfaceKind.App]: AppWindow,
|
|
20
|
+
[SurfaceKind.Files]: Folder,
|
|
21
|
+
[SurfaceKind.Graph]: Share2,
|
|
22
|
+
};
|
|
23
|
+
export function surfaceKindIcon(kind) {
|
|
24
|
+
return SURFACE_KIND_ICON[kind];
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=surface-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-icons.js","sourceRoot":"","sources":["../../src/vista/surface-icons.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,SAAS,EACT,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,MAAM,EACN,eAAe,GAChB,MAAM,cAAc,CAAC;AAMtB,MAAM,iBAAiB,GAA+B;IACpD,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK;IACxB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU;IAC9B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAChC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ;IAC5B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS;IAC7B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;IAC3B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS;IAC9B,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK;IAC1B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI;IACzB,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,UAAU;IAChC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,SAAS;IACnC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe;IACnC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS;IAC5B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;IAC3B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;CAC5B,CAAC;AAGF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,iBAAiB,CAAC,IAAmB,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
import { type ContributionEnvelope, type RenderableContributionEntry, type RenderableResolution } from '../lib/contribution-registry';
|
|
3
|
+
export type VistaSurfaceEntry<TPayload = unknown> = RenderableContributionEntry<ReactElement, TPayload>;
|
|
4
|
+
export type VistaSurfaceResolution = RenderableResolution<ReactElement>;
|
|
5
|
+
export type VistaSurfaceEnvelope = ContributionEnvelope;
|
|
6
|
+
export declare const vistaSurfaceRegistry: import("..").RenderableContributionRegistry<ReactElement<any, string | import("react").JSXElementConstructor<any>>>;
|
|
7
|
+
//# sourceMappingURL=surface-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-registry.d.ts","sourceRoot":"","sources":["../../src/vista/surface-registry.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AAGtC,MAAM,MAAM,iBAAiB,CAAC,QAAQ,GAAG,OAAO,IAAI,2BAA2B,CAC7E,YAAY,EACZ,QAAQ,CACT,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAGxE,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAOxD,eAAO,MAAM,oBAAoB,qHAI7B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SurfaceKind } from '@xemahq/kernel-contracts/surface';
|
|
2
|
+
import { createRenderableContributionRegistry, } from '../lib/contribution-registry';
|
|
3
|
+
export const vistaSurfaceRegistry = createRenderableContributionRegistry({
|
|
4
|
+
name: 'vista-surface',
|
|
5
|
+
reservedKinds: Object.values(SurfaceKind),
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=surface-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"surface-registry.js","sourceRoot":"","sources":["../../src/vista/surface-registry.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAG/D,OAAO,EACL,oCAAoC,GAIrC,MAAM,8BAA8B,CAAC;AAmBtC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,oCAAoC,CAAe;IACjD,IAAI,EAAE,eAAe;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;CAC1C,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/ChartSurface.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAcrD,wBAAgB,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAMrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { BarChart, DonutChart, LineChart } from '../../ui/charts';
|
|
3
|
+
import { VistaChartKind } from '../vista-payloads';
|
|
4
|
+
function chartBody({ kind, title, series }) {
|
|
5
|
+
switch (kind) {
|
|
6
|
+
case VistaChartKind.Line:
|
|
7
|
+
return _jsx(LineChart, { title: title, series: series });
|
|
8
|
+
case VistaChartKind.Bar:
|
|
9
|
+
return _jsx(BarChart, { title: title, data: series[0].points });
|
|
10
|
+
case VistaChartKind.Donut:
|
|
11
|
+
return _jsx(DonutChart, { title: title, data: series[0].points });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function ChartSurface(payload) {
|
|
15
|
+
return (_jsx("div", { style: { height: '100%', overflow: 'auto', padding: 16 }, children: chartBody(payload) }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ChartSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/ChartSurface.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,cAAc,EAA0B,MAAM,mBAAmB,CAAC;AAK3E,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAqB;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,IAAI;YACtB,OAAO,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;QACrD,KAAK,cAAc,CAAC,GAAG;YACrB,OAAO,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAI,CAAC;QAC5D,KAAK,cAAc,CAAC,KAAK;YACvB,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAI,CAAC;IAChE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA0B;IACrD,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,YAC1D,SAAS,CAAC,OAAO,CAAC,GACf,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { VistaFileEntry, VistaFilesPayload } from '../vista-payloads';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
|
+
interface FileExtMeta {
|
|
4
|
+
readonly color: string;
|
|
5
|
+
readonly tag: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function fileExtMeta(name: string): FileExtMeta;
|
|
8
|
+
export interface VistaFileGroup {
|
|
9
|
+
readonly dir: string;
|
|
10
|
+
readonly files: readonly VistaFileEntry[];
|
|
11
|
+
}
|
|
12
|
+
export declare function groupFilesByFolder(files: readonly VistaFileEntry[]): VistaFileGroup[];
|
|
13
|
+
export declare function FilesSurface({ files, }: Readonly<VistaFilesPayload>): ReactElement;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=FilesSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/FilesSurface.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,UAAU,WAAW;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAgBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAWrD;AAGD,MAAM,WAAW,cAAc;IAE7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAC3C;AAUD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,cAAc,EAAE,CAelB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,GACN,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAyD5C"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronRight, Folder } from 'lucide-react';
|
|
3
|
+
import { fileSurface } from '../vista-model';
|
|
4
|
+
import { useVistaOpen } from '../vista-open-context';
|
|
5
|
+
const EXT_META = {
|
|
6
|
+
ts: { color: 'hsl(var(--info))', tag: 'TS' },
|
|
7
|
+
tsx: { color: 'hsl(var(--info))', tag: 'TSX' },
|
|
8
|
+
js: { color: 'hsl(var(--warning))', tag: 'JS' },
|
|
9
|
+
jsx: { color: 'hsl(var(--warning))', tag: 'JSX' },
|
|
10
|
+
json: { color: 'hsl(var(--ink-3))', tag: 'JSON' },
|
|
11
|
+
md: { color: 'hsl(var(--p-people))', tag: 'MD' },
|
|
12
|
+
css: { color: 'hsl(var(--p-sales))', tag: 'CSS' },
|
|
13
|
+
html: { color: 'hsl(var(--p-sales))', tag: 'HTML' },
|
|
14
|
+
yaml: { color: 'hsl(var(--ink-3))', tag: 'YAML' },
|
|
15
|
+
yml: { color: 'hsl(var(--ink-3))', tag: 'YAML' },
|
|
16
|
+
};
|
|
17
|
+
export function fileExtMeta(name) {
|
|
18
|
+
if (/\.test\.[tj]sx?$/.test(name) || /\.spec\.[tj]sx?$/.test(name)) {
|
|
19
|
+
return { color: 'hsl(var(--success))', tag: 'TEST' };
|
|
20
|
+
}
|
|
21
|
+
const ext = name.split('.').pop() ?? '';
|
|
22
|
+
return (EXT_META[ext] ?? {
|
|
23
|
+
color: 'hsl(var(--ink-4))',
|
|
24
|
+
tag: (ext || 'FILE').toUpperCase().slice(0, 4),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
function compareDirs(a, b) {
|
|
28
|
+
if (a === '')
|
|
29
|
+
return -1;
|
|
30
|
+
if (b === '')
|
|
31
|
+
return 1;
|
|
32
|
+
return a.localeCompare(b);
|
|
33
|
+
}
|
|
34
|
+
export function groupFilesByFolder(files) {
|
|
35
|
+
const groups = new Map();
|
|
36
|
+
for (const file of files) {
|
|
37
|
+
const slash = file.path.lastIndexOf('/');
|
|
38
|
+
const dir = slash < 0 ? '' : file.path.slice(0, slash);
|
|
39
|
+
const bucket = groups.get(dir);
|
|
40
|
+
if (bucket)
|
|
41
|
+
bucket.push(file);
|
|
42
|
+
else
|
|
43
|
+
groups.set(dir, [file]);
|
|
44
|
+
}
|
|
45
|
+
return [...groups.keys()].sort(compareDirs).map((dir) => ({
|
|
46
|
+
dir,
|
|
47
|
+
files: [...(groups.get(dir) ?? [])].sort((a, b) => a.path.localeCompare(b.path)),
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
export function FilesSurface({ files, }) {
|
|
51
|
+
const open = useVistaOpen();
|
|
52
|
+
const groups = groupFilesByFolder(files);
|
|
53
|
+
if (groups.length === 0) {
|
|
54
|
+
return (_jsx("div", { style: {
|
|
55
|
+
height: '100%',
|
|
56
|
+
display: 'grid',
|
|
57
|
+
placeItems: 'center',
|
|
58
|
+
fontSize: 12.5,
|
|
59
|
+
color: 'hsl(var(--ink-4))',
|
|
60
|
+
}, children: "No files in the workspace yet." }));
|
|
61
|
+
}
|
|
62
|
+
return (_jsx("div", { style: { height: '100%', overflowY: 'auto', padding: '14px 12px' }, children: groups.map((group) => (_jsxs("section", { style: { marginBottom: 16 }, children: [_jsxs("div", { style: {
|
|
63
|
+
display: 'flex',
|
|
64
|
+
alignItems: 'center',
|
|
65
|
+
gap: 6,
|
|
66
|
+
padding: '0 8px 8px',
|
|
67
|
+
}, children: [_jsx(Folder, { size: 12, style: { color: 'hsl(var(--ink-4))' } }), _jsx("span", { className: "cap", style: { fontSize: 9.5, letterSpacing: '0.07em' }, children: group.dir ? group.dir.replaceAll('/', ' / ') : 'Root' })] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 1 }, children: group.files.map((file) => (_jsx(FileRow, { file: file, onOpen: open === null
|
|
68
|
+
? null
|
|
69
|
+
: () => {
|
|
70
|
+
open(fileSurface(file.path));
|
|
71
|
+
} }, file.path))) })] }, group.dir || 'root'))) }));
|
|
72
|
+
}
|
|
73
|
+
function FileRow({ file, onOpen, }) {
|
|
74
|
+
const name = file.path.split('/').pop() ?? file.path;
|
|
75
|
+
const meta = fileExtMeta(name);
|
|
76
|
+
const changed = file.add !== undefined || file.del !== undefined;
|
|
77
|
+
const body = (_jsxs(_Fragment, { children: [_jsx("span", { style: {
|
|
78
|
+
width: 28,
|
|
79
|
+
height: 28,
|
|
80
|
+
borderRadius: 8,
|
|
81
|
+
flexShrink: 0,
|
|
82
|
+
display: 'grid',
|
|
83
|
+
placeItems: 'center',
|
|
84
|
+
background: `color-mix(in oklch, ${meta.color} 13%, transparent)`,
|
|
85
|
+
border: `1px solid color-mix(in oklch, ${meta.color} 26%, transparent)`,
|
|
86
|
+
}, children: _jsx("span", { className: "mono", style: {
|
|
87
|
+
fontSize: 8,
|
|
88
|
+
fontWeight: 700,
|
|
89
|
+
color: meta.color,
|
|
90
|
+
letterSpacing: '0.02em',
|
|
91
|
+
}, children: meta.tag }) }), _jsxs("span", { style: { flex: 1, minWidth: 0 }, children: [_jsx("span", { style: {
|
|
92
|
+
display: 'block',
|
|
93
|
+
fontSize: 13,
|
|
94
|
+
fontWeight: 500,
|
|
95
|
+
color: 'hsl(var(--ink))',
|
|
96
|
+
overflow: 'hidden',
|
|
97
|
+
textOverflow: 'ellipsis',
|
|
98
|
+
whiteSpace: 'nowrap',
|
|
99
|
+
}, children: name }), changed && (_jsx("span", { className: "mono", style: { fontSize: 10, color: 'hsl(var(--ink-4))' }, children: "changed" }))] }), changed && (_jsxs("span", { style: { display: 'inline-flex', gap: 6, flexShrink: 0 }, children: [file.add !== undefined && file.add > 0 && (_jsxs("span", { className: "mono", style: { fontSize: 10.5, color: 'hsl(var(--success))' }, children: ["+", file.add] })), file.del !== undefined && file.del > 0 && (_jsxs("span", { className: "mono", style: {
|
|
100
|
+
fontSize: 10.5,
|
|
101
|
+
color: 'hsl(var(--destructive, var(--danger)))',
|
|
102
|
+
}, children: ["\u2212", file.del] }))] })), onOpen !== null && (_jsx(ChevronRight, { size: 13, style: { color: 'hsl(var(--ink-4))', flexShrink: 0, opacity: 0.6 } }))] }));
|
|
103
|
+
const rowStyle = {
|
|
104
|
+
display: 'flex',
|
|
105
|
+
alignItems: 'center',
|
|
106
|
+
gap: 11,
|
|
107
|
+
width: '100%',
|
|
108
|
+
padding: '8px 9px',
|
|
109
|
+
borderRadius: 9,
|
|
110
|
+
textAlign: 'left',
|
|
111
|
+
};
|
|
112
|
+
if (onOpen === null) {
|
|
113
|
+
return _jsx("div", { style: rowStyle, children: body });
|
|
114
|
+
}
|
|
115
|
+
return (_jsx("button", { type: "button", onClick: onOpen, style: { ...rowStyle, transition: 'background 140ms ease' }, onMouseEnter: (e) => {
|
|
116
|
+
e.currentTarget.style.background = 'hsl(var(--paper-elev))';
|
|
117
|
+
}, onMouseLeave: (e) => {
|
|
118
|
+
e.currentTarget.style.background = 'transparent';
|
|
119
|
+
}, children: body }));
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=FilesSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/FilesSurface.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/FormSurface.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAoC,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAW5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAS1D,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAwK7E"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AlertTriangle, CheckCircle2, ExternalLink, Loader2, ShieldCheck } from 'lucide-react';
|
|
3
|
+
import { useCallback, useEffect, useState } from 'react';
|
|
4
|
+
import { readElicitationStatus, submitElicitationFields, VistaFormSubmitError } from './elicitation-transport';
|
|
5
|
+
import { SchemaForm } from '../../ui/capture/schema-form';
|
|
6
|
+
import { captureValuesToStringMap } from '../../ui/capture/submit-values';
|
|
7
|
+
import { useSchemaValidation } from '../../ui/capture/use-schema-validation';
|
|
8
|
+
import { cn } from '../../ui/cn';
|
|
9
|
+
import { Button } from '../../ui/primitives/button';
|
|
10
|
+
import { useVistaFormHost } from '../vista-form-host';
|
|
11
|
+
var FormPhase;
|
|
12
|
+
(function (FormPhase) {
|
|
13
|
+
FormPhase["Editing"] = "editing";
|
|
14
|
+
FormPhase["Working"] = "working";
|
|
15
|
+
FormPhase["Settled"] = "settled";
|
|
16
|
+
})(FormPhase || (FormPhase = {}));
|
|
17
|
+
export function FormSurface(payload) {
|
|
18
|
+
const host = useVistaFormHost();
|
|
19
|
+
const [values, setValues] = useState({});
|
|
20
|
+
const [phase, setPhase] = useState(FormPhase.Editing);
|
|
21
|
+
const [serviceError, setServiceError] = useState(null);
|
|
22
|
+
const [showFieldErrors, setShowFieldErrors] = useState(false);
|
|
23
|
+
const [outcome, setOutcome] = useState(null);
|
|
24
|
+
const { errors, isValid } = useSchemaValidation(payload.fields, values);
|
|
25
|
+
const settle = useCallback((next) => {
|
|
26
|
+
setValues({});
|
|
27
|
+
setOutcome(next);
|
|
28
|
+
setPhase(FormPhase.Settled);
|
|
29
|
+
host?.onOutcome(next);
|
|
30
|
+
}, [host]);
|
|
31
|
+
const failed = useCallback((error) => {
|
|
32
|
+
setServiceError(error instanceof VistaFormSubmitError || error instanceof Error
|
|
33
|
+
? error.message
|
|
34
|
+
: 'The submission could not be completed.');
|
|
35
|
+
setPhase(FormPhase.Editing);
|
|
36
|
+
}, []);
|
|
37
|
+
const handleSubmit = useCallback(() => {
|
|
38
|
+
if (host === null)
|
|
39
|
+
return;
|
|
40
|
+
setShowFieldErrors(true);
|
|
41
|
+
if (!isValid)
|
|
42
|
+
return;
|
|
43
|
+
setServiceError(null);
|
|
44
|
+
setPhase(FormPhase.Working);
|
|
45
|
+
void host
|
|
46
|
+
.getAccessToken()
|
|
47
|
+
.then((accessToken) => submitElicitationFields({
|
|
48
|
+
submitUrl: payload.submitUrl,
|
|
49
|
+
ref: payload.ref,
|
|
50
|
+
accessToken,
|
|
51
|
+
fields: captureValuesToStringMap(payload.fields, values),
|
|
52
|
+
}))
|
|
53
|
+
.then(settle, failed);
|
|
54
|
+
}, [host, isValid, payload.fields, payload.ref, payload.submitUrl, settle, failed, values]);
|
|
55
|
+
const handleCheckStatus = useCallback(() => {
|
|
56
|
+
if (host === null)
|
|
57
|
+
return;
|
|
58
|
+
setServiceError(null);
|
|
59
|
+
setPhase(FormPhase.Working);
|
|
60
|
+
void host
|
|
61
|
+
.getAccessToken()
|
|
62
|
+
.then((accessToken) => readElicitationStatus({ statusUrl: payload.statusUrl, ref: payload.ref, accessToken }))
|
|
63
|
+
.then((next) => {
|
|
64
|
+
if (next === null) {
|
|
65
|
+
setServiceError('Not completed yet — finish the steps in the other window, then check again.');
|
|
66
|
+
setPhase(FormPhase.Editing);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
settle(next);
|
|
70
|
+
}, failed);
|
|
71
|
+
}, [host, payload.ref, payload.statusUrl, settle, failed]);
|
|
72
|
+
const isLaunch = payload.launch !== undefined;
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (!isLaunch || phase === FormPhase.Settled || host === null)
|
|
75
|
+
return;
|
|
76
|
+
const onFocus = () => handleCheckStatus();
|
|
77
|
+
globalThis.addEventListener?.('focus', onFocus);
|
|
78
|
+
return () => globalThis.removeEventListener?.('focus', onFocus);
|
|
79
|
+
}, [isLaunch, phase, host, handleCheckStatus]);
|
|
80
|
+
if (host === null) {
|
|
81
|
+
return (_jsx(Shell, { heading: payload.heading, purpose: payload.purpose, children: _jsx(Notice, { tone: "error", title: "This form cannot be submitted here", children: "No form host is mounted for this panel, so there is no way to sign the request as you. Open the request from a surface that provides one." }) }));
|
|
82
|
+
}
|
|
83
|
+
if (phase === FormPhase.Settled && outcome !== null) {
|
|
84
|
+
return (_jsx(Shell, { heading: payload.heading, purpose: payload.purpose, children: _jsxs("div", { className: "flex items-start gap-2 rounded-md border border-rule bg-paper-elev p-3", children: [_jsx(CheckCircle2, { className: "mt-0.5 h-4 w-4 shrink-0 text-primary" }), _jsxs("div", { className: "space-y-0.5", children: [_jsx("p", { className: "text-body-1 font-medium text-ink", children: "Submitted." }), _jsxs("p", { className: "text-caption text-ink-3", children: ["The value went straight to the service and was never shown to the agent", outcome.connectionId === null ? '.' : `. Connection ${outcome.connectionId} is ready.`] })] })] }) }));
|
|
85
|
+
}
|
|
86
|
+
const working = phase === FormPhase.Working;
|
|
87
|
+
return (_jsxs(Shell, { heading: payload.heading, purpose: payload.purpose, children: [payload.launch !== undefined ? (_jsxs(_Fragment, { children: [payload.launch.hint !== undefined && (_jsx("p", { className: "text-body-1 text-ink-3", children: payload.launch.hint })), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Button, { onClick: () => {
|
|
88
|
+
globalThis.open(payload.launch?.url, '_blank', 'noopener,noreferrer');
|
|
89
|
+
}, className: "gap-1.5", disabled: working, children: [_jsx(ExternalLink, { className: "h-4 w-4" }), payload.launch.label] }), _jsxs(Button, { variant: "outline", onClick: handleCheckStatus, disabled: working, children: [working && _jsx(Loader2, { className: "mr-1 h-4 w-4 animate-spin" }), "I've finished \u2014 check"] })] })] })) : (_jsxs(_Fragment, { children: [payload.fields.length === 0 && (_jsx(Notice, { tone: "warn", title: "No form fields were declared", children: "This connector declares no onboarding form. Submitting will ask the service, which is the authority on whether that is allowed." })), _jsx(SchemaForm, { fields: payload.fields, values: values, onChange: setValues, disabled: working, ...(showFieldErrors ? { errors } : {}) }), _jsx("div", { className: "flex items-center gap-2", children: _jsxs(Button, { onClick: handleSubmit, disabled: working, children: [working && _jsx(Loader2, { className: "mr-1 h-4 w-4 animate-spin" }), payload.submitLabel ?? 'Submit securely'] }) })] })), serviceError !== null && (_jsx(Notice, { tone: "error", title: "The service rejected this", children: serviceError }))] }));
|
|
90
|
+
}
|
|
91
|
+
function Shell({ heading, purpose, children, }) {
|
|
92
|
+
return (_jsx("div", { className: "h-full overflow-auto", children: _jsxs("div", { className: "mx-auto max-w-2xl space-y-4 p-6", children: [_jsxs("div", { className: "space-y-1", children: [_jsx("h2", { className: "text-subtitle font-semibold text-ink", children: heading ?? 'Secure request' }), purpose.length > 0 && _jsx("p", { className: "text-body-1 text-ink-2", children: purpose }), _jsxs("p", { className: "flex items-center gap-1.5 text-caption text-ink-3", children: [_jsx(ShieldCheck, { className: "h-3.5 w-3.5" }), "Sent straight to the service with your own sign-in. The agent never sees what you type."] })] }), children] }) }));
|
|
93
|
+
}
|
|
94
|
+
function Notice({ tone, title, children, }) {
|
|
95
|
+
return (_jsxs("div", { role: "alert", className: cn('flex items-start gap-2 rounded-md border p-3', tone === 'error' ? 'border-destructive/40 bg-destructive/10' : 'border-rule bg-paper-elev'), children: [_jsx(AlertTriangle, { className: cn('mt-0.5 h-4 w-4 shrink-0', tone === 'error' ? 'text-destructive' : 'text-ink-3') }), _jsxs("div", { className: "space-y-0.5", children: [_jsx("p", { className: cn('text-body-1 font-medium', tone === 'error' ? 'text-destructive' : 'text-ink'), children: title }), _jsx("p", { className: cn('text-body-1', tone === 'error' ? 'text-destructive/90' : 'text-ink-3'), children: children })] })] }));
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=FormSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/FormSurface.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/HtmlSurface.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CAenE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { NO_CUSTOM_UI_INTENTS } from '../html/custom-ui-intents';
|
|
3
|
+
import { CustomUiFrame } from '../html/CustomUiFrame';
|
|
4
|
+
export function HtmlSurface(payload) {
|
|
5
|
+
const content = 'document' in payload
|
|
6
|
+
? { document: payload.document }
|
|
7
|
+
: { compiledOutput: payload.compiledOutput, integrity: payload.integrity };
|
|
8
|
+
const styleCss = 'document' in payload ? undefined : payload.styleCss;
|
|
9
|
+
return (_jsx(CustomUiFrame, { content: content, intents: NO_CUSTOM_UI_INTENTS, title: "Rendered view", className: "h-full p-2", ...(styleCss === undefined ? {} : { styleCss }) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=HtmlSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HtmlSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/HtmlSurface.tsx"],"names":[],"mappings":";AAqBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,UAAU,WAAW,CAAC,OAAyB;IACnD,MAAM,OAAO,GACX,UAAU,IAAI,OAAO;QACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;QAChC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACtE,OAAO,CACL,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAC,eAAe,EACrB,SAAS,EAAC,YAAY,KAClB,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAChD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/TableSurface.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAe1C,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,IAAI,GACL,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAuE5C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
function cellText(value) {
|
|
3
|
+
if (value === null || value === undefined)
|
|
4
|
+
return '';
|
|
5
|
+
if (typeof value === 'object') {
|
|
6
|
+
try {
|
|
7
|
+
return JSON.stringify(value);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return String(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return String(value);
|
|
14
|
+
}
|
|
15
|
+
export function TableSurface({ columns, rows, }) {
|
|
16
|
+
return (_jsxs("div", { style: { height: '100%', overflow: 'auto' }, children: [_jsxs("table", { style: {
|
|
17
|
+
width: '100%',
|
|
18
|
+
borderCollapse: 'collapse',
|
|
19
|
+
fontSize: 12.5,
|
|
20
|
+
}, children: [_jsx("thead", { children: _jsx("tr", { children: columns.map((column) => (_jsx("th", { style: {
|
|
21
|
+
position: 'sticky',
|
|
22
|
+
top: 0,
|
|
23
|
+
textAlign: 'left',
|
|
24
|
+
padding: '8px 12px',
|
|
25
|
+
background: 'hsl(var(--paper-elev))',
|
|
26
|
+
borderBottom: '1px solid hsl(var(--rule))',
|
|
27
|
+
color: 'hsl(var(--ink-3))',
|
|
28
|
+
fontWeight: 600,
|
|
29
|
+
whiteSpace: 'nowrap',
|
|
30
|
+
}, children: column }, column))) }) }), _jsx("tbody", { children: rows.map((row, rowIndex) => (_jsx("tr", { children: columns.map((column, columnIndex) => (_jsx("td", { style: {
|
|
31
|
+
padding: '7px 12px',
|
|
32
|
+
borderBottom: '1px solid hsl(var(--rule) / 0.6)',
|
|
33
|
+
color: 'hsl(var(--ink-2))',
|
|
34
|
+
verticalAlign: 'top',
|
|
35
|
+
}, children: cellText(row[columnIndex]) }, column))) }, rowIndex))) })] }), rows.length === 0 && (_jsx("div", { style: {
|
|
36
|
+
padding: 24,
|
|
37
|
+
textAlign: 'center',
|
|
38
|
+
fontSize: 12.5,
|
|
39
|
+
color: 'hsl(var(--ink-4))',
|
|
40
|
+
}, children: "No rows." }))] }));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=TableSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/TableSurface.tsx"],"names":[],"mappings":";AAYA,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,IAAI,GACwB;IAC5B,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAC9C,iBACE,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,cAAc,EAAE,UAAU;oBAC1B,QAAQ,EAAE,IAAI;iBACf,aAED,0BACE,uBACG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,aAEE,KAAK,EAAE;oCACL,QAAQ,EAAE,QAAQ;oCAClB,GAAG,EAAE,CAAC;oCACN,SAAS,EAAE,MAAM;oCACjB,OAAO,EAAE,UAAU;oCACnB,UAAU,EAAE,wBAAwB;oCACpC,YAAY,EAAE,4BAA4B;oCAC1C,KAAK,EAAE,mBAAmB;oCAC1B,UAAU,EAAE,GAAG;oCACf,UAAU,EAAE,QAAQ;iCACrB,YAEA,MAAM,IAbF,MAAM,CAcR,CACN,CAAC,GACC,GACC,EACR,0BACG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,CAC3B,uBAMG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CACpC,aAEE,KAAK,EAAE;oCACL,OAAO,EAAE,UAAU;oCACnB,YAAY,EAAE,kCAAkC;oCAChD,KAAK,EAAE,mBAAmB;oCAC1B,aAAa,EAAE,KAAK;iCACrB,YAEA,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IARtB,MAAM,CASR,CACN,CAAC,IAdG,QAAQ,CAeV,CACN,CAAC,GACI,IACF,EACP,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CACpB,cACE,KAAK,EAAE;oBACL,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,mBAAmB;iBAC3B,yBAGG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlSurface.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/UrlSurface.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,MAAkB,EAClB,WAAW,GACZ,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,YAAY,CAmB1C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { PreviewDeviceFrame } from '../../ui/primitives/preview-device-frame';
|
|
3
|
+
import { UrlPreviewChrome } from '../../ui/primitives/url-preview-chrome';
|
|
4
|
+
export function UrlSurface({ url, device = 'desktop', reloadNonce, }) {
|
|
5
|
+
return (_jsx(UrlPreviewChrome, { url: url, children: _jsx(PreviewDeviceFrame, { device: device, children: _jsx("iframe", { title: `Preview of ${url}`, src: url, sandbox: "allow-scripts allow-forms", loading: "lazy", style: { height: '100%', width: '100%', border: 0 } }, `${url}::${device}::${reloadNonce ?? 0}`) }) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=UrlSurface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UrlSurface.js","sourceRoot":"","sources":["../../../src/vista/surfaces/UrlSurface.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAK1E,MAAM,UAAU,UAAU,CAAC,EACzB,GAAG,EACH,MAAM,GAAG,SAAS,EAClB,WAAW,GACe;IAC1B,OAAO,CACL,KAAC,gBAAgB,IAAC,GAAG,EAAE,GAAG,YACxB,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,YAChC,iBAIE,KAAK,EAAE,cAAc,GAAG,EAAE,EAC1B,GAAG,EAAE,GAAG,EAGR,OAAO,EAAC,2BAA2B,EACnC,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAP9C,GAAG,GAAG,KAAK,MAAM,KAAK,WAAW,IAAI,CAAC,EAAE,CAQ7C,GACiB,GACJ,CACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
import type { VistaBlobPayload } from '../vista-payloads';
|
|
3
|
+
export declare function ImageSurface(payload: VistaBlobPayload): ReactElement;
|
|
4
|
+
export declare function PdfSurface(payload: VistaBlobPayload): ReactElement;
|
|
5
|
+
export declare function MediaSurface(payload: VistaBlobPayload): ReactElement;
|
|
6
|
+
//# sourceMappingURL=blob-surfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-surfaces.d.ts","sourceRoot":"","sources":["../../../src/vista/surfaces/blob-surfaces.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAkB,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAI1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAmB1D,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CAuBpE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CA6BlE;AAQD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY,CA8BpE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Suspense, lazy } from 'react';
|
|
3
|
+
import { VistaFileUrl } from '../vista-file-source';
|
|
4
|
+
const PdfPreview = lazy(() => import('../../pdf').then((m) => ({ default: m.PdfPreview })));
|
|
5
|
+
function BlobBody({ payload, render, }) {
|
|
6
|
+
if (payload.url !== undefined)
|
|
7
|
+
return _jsx(_Fragment, { children: render(payload.url) });
|
|
8
|
+
return _jsx(VistaFileUrl, { path: payload.path, render: render });
|
|
9
|
+
}
|
|
10
|
+
export function ImageSurface(payload) {
|
|
11
|
+
return (_jsx(BlobBody, { payload: payload, render: (url) => (_jsx("div", { style: {
|
|
12
|
+
height: '100%',
|
|
13
|
+
display: 'grid',
|
|
14
|
+
placeItems: 'center',
|
|
15
|
+
padding: 16,
|
|
16
|
+
overflow: 'auto',
|
|
17
|
+
}, children: _jsx("img", { src: url, alt: payload.alt ?? 'Preview', style: { maxWidth: '100%', maxHeight: '100%', objectFit: 'contain' } }) })) }));
|
|
18
|
+
}
|
|
19
|
+
export function PdfSurface(payload) {
|
|
20
|
+
return (_jsx(BlobBody, { payload: payload, render: (url) => (_jsx(Suspense, { fallback: _jsx("div", { style: {
|
|
21
|
+
height: '100%',
|
|
22
|
+
display: 'grid',
|
|
23
|
+
placeItems: 'center',
|
|
24
|
+
fontSize: 12.5,
|
|
25
|
+
color: 'hsl(var(--ink-4))',
|
|
26
|
+
}, children: "Loading viewer\u2026" }), children: _jsx(PdfPreview, { url: url, title: payload.alt ?? 'PDF preview', className: "h-full w-full" }) })) }));
|
|
27
|
+
}
|
|
28
|
+
export function MediaSurface(payload) {
|
|
29
|
+
const isAudio = (payload.contentType ?? '').startsWith('audio/');
|
|
30
|
+
return (_jsx(BlobBody, { payload: payload, render: (url) => (_jsx("div", { style: {
|
|
31
|
+
height: '100%',
|
|
32
|
+
display: 'grid',
|
|
33
|
+
placeItems: 'center',
|
|
34
|
+
padding: 16,
|
|
35
|
+
background: 'hsl(var(--paper-sunk))',
|
|
36
|
+
}, children: isAudio ? (_jsx("audio", { src: url, controls: true, style: { width: '100%', maxWidth: 520 } })) : (_jsx("video", { src: url, controls: true, style: { maxWidth: '100%', maxHeight: '100%' } })) })) }));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=blob-surfaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob-surfaces.js","sourceRoot":"","sources":["../../../src/vista/surfaces/blob-surfaces.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAqC,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAC3B,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAC7D,CAAC;AAGF,SAAS,QAAQ,CAAC,EAChB,OAAO,EACP,MAAM,GAIN;IACA,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS;QAAE,OAAO,4BAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAI,CAAC;IAEjE,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,OAAO,CAAC,IAAc,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CACf,cACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,MAAM;aACjB,YAED,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS,EAC7B,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GACpE,GACE,CACP,GACD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAyB;IAClD,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CACf,KAAC,QAAQ,IACP,QAAQ,EACN,cACE,KAAK,EAAE;oBACL,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,mBAAmB;iBAC3B,qCAGG,YAGR,KAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,aAAa,EACnC,SAAS,EAAC,eAAe,GACzB,GACO,CACZ,GACD,CACH,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjE,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CACf,cACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,wBAAwB;aACrC,YAEA,OAAO,CAAC,CAAC,CAAC,CAET,gBAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAI,CACtE,CAAC,CAAC,CAAC,CAEF,gBACE,GAAG,EAAE,GAAG,EACR,QAAQ,QACR,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAC9C,CACH,GACG,CACP,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { VistaFormOutcome } from '../vista-form-host';
|
|
2
|
+
export declare class VistaFormSubmitError extends Error {
|
|
3
|
+
readonly status: number;
|
|
4
|
+
constructor(status: number, message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function extractServiceMessage(body: unknown, status: number): string;
|
|
7
|
+
export declare function submitElicitationFields(args: {
|
|
8
|
+
readonly submitUrl: string;
|
|
9
|
+
readonly ref: string;
|
|
10
|
+
readonly accessToken: string;
|
|
11
|
+
readonly fields: Readonly<Record<string, string>>;
|
|
12
|
+
}): Promise<VistaFormOutcome>;
|
|
13
|
+
export declare function readElicitationStatus(args: {
|
|
14
|
+
readonly statusUrl: string;
|
|
15
|
+
readonly ref: string;
|
|
16
|
+
readonly accessToken: string;
|
|
17
|
+
}): Promise<VistaFormOutcome | null>;
|
|
18
|
+
//# sourceMappingURL=elicitation-transport.d.ts.map
|