@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.
Files changed (238) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/biome-host/biome-registry.d.ts.map +1 -1
  6. package/dist/lib/biome-host/biome-registry.js +14 -9
  7. package/dist/lib/biome-host/biome-registry.js.map +1 -1
  8. package/dist/lib/contribution-registry/contribution-registry.d.ts +24 -0
  9. package/dist/lib/contribution-registry/contribution-registry.d.ts.map +1 -0
  10. package/dist/lib/contribution-registry/contribution-registry.js +67 -0
  11. package/dist/lib/contribution-registry/contribution-registry.js.map +1 -0
  12. package/dist/lib/contribution-registry/index.d.ts +3 -0
  13. package/dist/lib/contribution-registry/index.d.ts.map +1 -0
  14. package/dist/lib/contribution-registry/index.js +3 -0
  15. package/dist/lib/contribution-registry/index.js.map +1 -0
  16. package/dist/lib/contribution-registry/renderable-registry.d.ts +33 -0
  17. package/dist/lib/contribution-registry/renderable-registry.d.ts.map +1 -0
  18. package/dist/lib/contribution-registry/renderable-registry.js +51 -0
  19. package/dist/lib/contribution-registry/renderable-registry.js.map +1 -0
  20. package/dist/ui/capture/field-spec-to-zod.d.ts +1 -0
  21. package/dist/ui/capture/field-spec-to-zod.d.ts.map +1 -1
  22. package/dist/ui/capture/field-spec-to-zod.js +19 -0
  23. package/dist/ui/capture/field-spec-to-zod.js.map +1 -1
  24. package/dist/ui/capture/field-spec-validate.d.ts +4 -0
  25. package/dist/ui/capture/field-spec-validate.d.ts.map +1 -0
  26. package/dist/ui/capture/field-spec-validate.js +129 -0
  27. package/dist/ui/capture/field-spec-validate.js.map +1 -0
  28. package/dist/ui/capture/field-spec.d.ts +13 -1
  29. package/dist/ui/capture/field-spec.d.ts.map +1 -1
  30. package/dist/ui/capture/field-spec.js +25 -0
  31. package/dist/ui/capture/field-spec.js.map +1 -1
  32. package/dist/ui/capture/index.d.ts +4 -2
  33. package/dist/ui/capture/index.d.ts.map +1 -1
  34. package/dist/ui/capture/index.js +4 -2
  35. package/dist/ui/capture/index.js.map +1 -1
  36. package/dist/ui/capture/schema-field-input.d.ts.map +1 -1
  37. package/dist/ui/capture/schema-field-input.js +39 -12
  38. package/dist/ui/capture/schema-field-input.js.map +1 -1
  39. package/dist/ui/capture/submit-values.d.ts +6 -0
  40. package/dist/ui/capture/submit-values.d.ts.map +1 -0
  41. package/dist/ui/capture/submit-values.js +28 -0
  42. package/dist/ui/capture/submit-values.js.map +1 -0
  43. package/dist/ui/index.d.ts +1 -0
  44. package/dist/ui/index.d.ts.map +1 -1
  45. package/dist/ui/index.js +1 -0
  46. package/dist/ui/index.js.map +1 -1
  47. package/dist/ui/primitives/overflow-tabs.d.ts +5 -0
  48. package/dist/ui/primitives/overflow-tabs.d.ts.map +1 -1
  49. package/dist/ui/primitives/overflow-tabs.js +4 -4
  50. package/dist/ui/primitives/overflow-tabs.js.map +1 -1
  51. package/dist/ui/primitives/url-preview-chrome.d.ts +8 -0
  52. package/dist/ui/primitives/url-preview-chrome.d.ts.map +1 -0
  53. package/dist/ui/primitives/url-preview-chrome.js +40 -0
  54. package/dist/ui/primitives/url-preview-chrome.js.map +1 -0
  55. package/dist/vista/GenericCatalogueSurface.d.ts +10 -0
  56. package/dist/vista/GenericCatalogueSurface.d.ts.map +1 -0
  57. package/dist/vista/GenericCatalogueSurface.js +80 -0
  58. package/dist/vista/GenericCatalogueSurface.js.map +1 -0
  59. package/dist/vista/SurfaceFallbackCard.d.ts +9 -0
  60. package/dist/vista/SurfaceFallbackCard.d.ts.map +1 -0
  61. package/dist/vista/SurfaceFallbackCard.js +44 -0
  62. package/dist/vista/SurfaceFallbackCard.js.map +1 -0
  63. package/dist/vista/VistaPanel.d.ts +21 -0
  64. package/dist/vista/VistaPanel.d.ts.map +1 -0
  65. package/dist/vista/VistaPanel.js +31 -0
  66. package/dist/vista/VistaPanel.js.map +1 -0
  67. package/dist/vista/html/CustomUiFrame.d.ts +20 -0
  68. package/dist/vista/html/CustomUiFrame.d.ts.map +1 -0
  69. package/dist/vista/html/CustomUiFrame.js +69 -0
  70. package/dist/vista/html/CustomUiFrame.js.map +1 -0
  71. package/dist/vista/html/custom-ui-frame-bridge.d.ts +13 -0
  72. package/dist/vista/html/custom-ui-frame-bridge.d.ts.map +1 -0
  73. package/dist/vista/html/custom-ui-frame-bridge.js +30 -0
  74. package/dist/vista/html/custom-ui-frame-bridge.js.map +1 -0
  75. package/dist/vista/html/custom-ui-frame-contract.d.ts +29 -0
  76. package/dist/vista/html/custom-ui-frame-contract.d.ts.map +1 -0
  77. package/dist/vista/html/custom-ui-frame-contract.js +16 -0
  78. package/dist/vista/html/custom-ui-frame-contract.js.map +1 -0
  79. package/dist/vista/html/custom-ui-intents.d.ts +20 -0
  80. package/dist/vista/html/custom-ui-intents.d.ts.map +1 -0
  81. package/dist/vista/html/custom-ui-intents.js +57 -0
  82. package/dist/vista/html/custom-ui-intents.js.map +1 -0
  83. package/dist/vista/html/custom-ui-srcdoc.d.ts +17 -0
  84. package/dist/vista/html/custom-ui-srcdoc.d.ts.map +1 -0
  85. package/dist/vista/html/custom-ui-srcdoc.js +70 -0
  86. package/dist/vista/html/custom-ui-srcdoc.js.map +1 -0
  87. package/dist/vista/html/index.d.ts +6 -0
  88. package/dist/vista/html/index.d.ts.map +1 -0
  89. package/dist/vista/html/index.js +6 -0
  90. package/dist/vista/html/index.js.map +1 -0
  91. package/dist/vista/index.d.ts +18 -0
  92. package/dist/vista/index.d.ts.map +1 -0
  93. package/dist/vista/index.js +18 -0
  94. package/dist/vista/index.js.map +1 -0
  95. package/dist/vista/surface-catalogue.d.ts +5 -0
  96. package/dist/vista/surface-catalogue.d.ts.map +1 -0
  97. package/dist/vista/surface-catalogue.js +30 -0
  98. package/dist/vista/surface-catalogue.js.map +1 -0
  99. package/dist/vista/surface-icons.d.ts +7 -0
  100. package/dist/vista/surface-icons.d.ts.map +1 -0
  101. package/dist/vista/surface-icons.js +26 -0
  102. package/dist/vista/surface-icons.js.map +1 -0
  103. package/dist/vista/surface-registry.d.ts +7 -0
  104. package/dist/vista/surface-registry.d.ts.map +1 -0
  105. package/dist/vista/surface-registry.js +7 -0
  106. package/dist/vista/surface-registry.js.map +1 -0
  107. package/dist/vista/surfaces/ChartSurface.d.ts +4 -0
  108. package/dist/vista/surfaces/ChartSurface.d.ts.map +1 -0
  109. package/dist/vista/surfaces/ChartSurface.js +17 -0
  110. package/dist/vista/surfaces/ChartSurface.js.map +1 -0
  111. package/dist/vista/surfaces/FilesSurface.d.ts +15 -0
  112. package/dist/vista/surfaces/FilesSurface.d.ts.map +1 -0
  113. package/dist/vista/surfaces/FilesSurface.js +121 -0
  114. package/dist/vista/surfaces/FilesSurface.js.map +1 -0
  115. package/dist/vista/surfaces/FormSurface.d.ts +4 -0
  116. package/dist/vista/surfaces/FormSurface.d.ts.map +1 -0
  117. package/dist/vista/surfaces/FormSurface.js +97 -0
  118. package/dist/vista/surfaces/FormSurface.js.map +1 -0
  119. package/dist/vista/surfaces/HtmlSurface.d.ts +4 -0
  120. package/dist/vista/surfaces/HtmlSurface.d.ts.map +1 -0
  121. package/dist/vista/surfaces/HtmlSurface.js +11 -0
  122. package/dist/vista/surfaces/HtmlSurface.js.map +1 -0
  123. package/dist/vista/surfaces/TableSurface.d.ts +4 -0
  124. package/dist/vista/surfaces/TableSurface.d.ts.map +1 -0
  125. package/dist/vista/surfaces/TableSurface.js +42 -0
  126. package/dist/vista/surfaces/TableSurface.js.map +1 -0
  127. package/dist/vista/surfaces/UrlSurface.d.ts +4 -0
  128. package/dist/vista/surfaces/UrlSurface.d.ts.map +1 -0
  129. package/dist/vista/surfaces/UrlSurface.js +7 -0
  130. package/dist/vista/surfaces/UrlSurface.js.map +1 -0
  131. package/dist/vista/surfaces/blob-surfaces.d.ts +6 -0
  132. package/dist/vista/surfaces/blob-surfaces.d.ts.map +1 -0
  133. package/dist/vista/surfaces/blob-surfaces.js +38 -0
  134. package/dist/vista/surfaces/blob-surfaces.js.map +1 -0
  135. package/dist/vista/surfaces/elicitation-transport.d.ts +18 -0
  136. package/dist/vista/surfaces/elicitation-transport.d.ts.map +1 -0
  137. package/dist/vista/surfaces/elicitation-transport.js +100 -0
  138. package/dist/vista/surfaces/elicitation-transport.js.map +1 -0
  139. package/dist/vista/surfaces/index.d.ts +11 -0
  140. package/dist/vista/surfaces/index.d.ts.map +1 -0
  141. package/dist/vista/surfaces/index.js +89 -0
  142. package/dist/vista/surfaces/index.js.map +1 -0
  143. package/dist/vista/surfaces/text-surfaces.d.ts +8 -0
  144. package/dist/vista/surfaces/text-surfaces.d.ts.map +1 -0
  145. package/dist/vista/surfaces/text-surfaces.js +54 -0
  146. package/dist/vista/surfaces/text-surfaces.js.map +1 -0
  147. package/dist/vista/use-vista-tabs.d.ts +30 -0
  148. package/dist/vista/use-vista-tabs.d.ts.map +1 -0
  149. package/dist/vista/use-vista-tabs.js +77 -0
  150. package/dist/vista/use-vista-tabs.js.map +1 -0
  151. package/dist/vista/vista-code-renderer.d.ts +12 -0
  152. package/dist/vista/vista-code-renderer.d.ts.map +1 -0
  153. package/dist/vista/vista-code-renderer.js +10 -0
  154. package/dist/vista/vista-code-renderer.js.map +1 -0
  155. package/dist/vista/vista-file-source.d.ts +20 -0
  156. package/dist/vista/vista-file-source.d.ts.map +1 -0
  157. package/dist/vista/vista-file-source.js +69 -0
  158. package/dist/vista/vista-file-source.js.map +1 -0
  159. package/dist/vista/vista-form-host.d.ts +16 -0
  160. package/dist/vista/vista-form-host.d.ts.map +1 -0
  161. package/dist/vista/vista-form-host.js +10 -0
  162. package/dist/vista/vista-form-host.js.map +1 -0
  163. package/dist/vista/vista-model.d.ts +12 -0
  164. package/dist/vista/vista-model.d.ts.map +1 -0
  165. package/dist/vista/vista-model.js +72 -0
  166. package/dist/vista/vista-model.js.map +1 -0
  167. package/dist/vista/vista-open-context.d.ts +9 -0
  168. package/dist/vista/vista-open-context.d.ts.map +1 -0
  169. package/dist/vista/vista-open-context.js +10 -0
  170. package/dist/vista/vista-open-context.js.map +1 -0
  171. package/dist/vista/vista-payloads.d.ts +107 -0
  172. package/dist/vista/vista-payloads.d.ts.map +1 -0
  173. package/dist/vista/vista-payloads.js +305 -0
  174. package/dist/vista/vista-payloads.js.map +1 -0
  175. package/dist/vista/vista-tabs-manifest.d.ts +17 -0
  176. package/dist/vista/vista-tabs-manifest.d.ts.map +1 -0
  177. package/dist/vista/vista-tabs-manifest.js +60 -0
  178. package/dist/vista/vista-tabs-manifest.js.map +1 -0
  179. package/dist/vista/vista-tools.d.ts +41 -0
  180. package/dist/vista/vista-tools.d.ts.map +1 -0
  181. package/dist/vista/vista-tools.js +113 -0
  182. package/dist/vista/vista-tools.js.map +1 -0
  183. package/package.json +3 -3
  184. package/src/index.ts +5 -0
  185. package/src/lib/biome-host/biome-registry.ts +31 -11
  186. package/src/lib/contribution-registry/contribution-registry.spec.ts +141 -0
  187. package/src/lib/contribution-registry/contribution-registry.ts +202 -0
  188. package/src/lib/contribution-registry/index.ts +9 -0
  189. package/src/lib/contribution-registry/renderable-registry.ts +142 -0
  190. package/src/ui/capture/field-spec-to-zod.ts +22 -0
  191. package/src/ui/capture/field-spec-validate.ts +147 -0
  192. package/src/ui/capture/field-spec.ts +62 -0
  193. package/src/ui/capture/index.ts +9 -1
  194. package/src/ui/capture/schema-field-input.tsx +134 -14
  195. package/src/ui/capture/submit-values.test.ts +70 -0
  196. package/src/ui/capture/submit-values.ts +63 -0
  197. package/src/ui/index.ts +4 -0
  198. package/src/ui/primitives/overflow-tabs.tsx +24 -4
  199. package/src/ui/primitives/url-preview-chrome.tsx +102 -0
  200. package/src/vista/GenericCatalogueSurface.tsx +177 -0
  201. package/src/vista/SurfaceFallbackCard.tsx +109 -0
  202. package/src/vista/VistaPanel.tsx +155 -0
  203. package/src/vista/form-payload.spec.ts +93 -0
  204. package/src/vista/html/CustomUiFrame.spec.tsx +125 -0
  205. package/src/vista/html/CustomUiFrame.tsx +204 -0
  206. package/src/vista/html/custom-ui-frame-bridge.spec.ts +191 -0
  207. package/src/vista/html/custom-ui-frame-bridge.ts +92 -0
  208. package/src/vista/html/custom-ui-frame-contract.ts +88 -0
  209. package/src/vista/html/custom-ui-intents.spec.ts +133 -0
  210. package/src/vista/html/custom-ui-intents.ts +151 -0
  211. package/src/vista/html/custom-ui-srcdoc.spec.ts +151 -0
  212. package/src/vista/html/custom-ui-srcdoc.ts +193 -0
  213. package/src/vista/html/index.ts +13 -0
  214. package/src/vista/index.ts +48 -0
  215. package/src/vista/surface-catalogue.spec.ts +140 -0
  216. package/src/vista/surface-catalogue.ts +84 -0
  217. package/src/vista/surface-icons.ts +57 -0
  218. package/src/vista/surface-registry.ts +56 -0
  219. package/src/vista/surfaces/ChartSurface.tsx +34 -0
  220. package/src/vista/surfaces/FilesSurface.tsx +268 -0
  221. package/src/vista/surfaces/FormSurface.tsx +264 -0
  222. package/src/vista/surfaces/HtmlSurface.tsx +43 -0
  223. package/src/vista/surfaces/TableSurface.tsx +99 -0
  224. package/src/vista/surfaces/UrlSurface.tsx +40 -0
  225. package/src/vista/surfaces/blob-surfaces.tsx +129 -0
  226. package/src/vista/surfaces/elicitation-transport.spec.ts +187 -0
  227. package/src/vista/surfaces/elicitation-transport.ts +175 -0
  228. package/src/vista/surfaces/index.tsx +157 -0
  229. package/src/vista/surfaces/text-surfaces.tsx +119 -0
  230. package/src/vista/use-vista-tabs.ts +188 -0
  231. package/src/vista/vista-code-renderer.tsx +46 -0
  232. package/src/vista/vista-file-source.tsx +163 -0
  233. package/src/vista/vista-form-host.tsx +78 -0
  234. package/src/vista/vista-model.ts +130 -0
  235. package/src/vista/vista-open-context.tsx +42 -0
  236. package/src/vista/vista-payloads.ts +514 -0
  237. package/src/vista/vista-tabs-manifest.ts +123 -0
  238. 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,7 @@
1
+ import type { ComponentType } from 'react';
2
+ type Glyph = ComponentType<{
3
+ className?: string;
4
+ }>;
5
+ export declare function surfaceKindIcon(kind: string): Glyph | undefined;
6
+ export {};
7
+ //# sourceMappingURL=surface-icons.d.ts.map
@@ -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,4 @@
1
+ import { type VistaChartPayload } from '../vista-payloads';
2
+ import type { ReactElement } from 'react';
3
+ export declare function ChartSurface(payload: VistaChartPayload): ReactElement;
4
+ //# sourceMappingURL=ChartSurface.d.ts.map
@@ -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":";AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAWrD,MAAM,QAAQ,GAA0C;IACtD,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE;IAC5C,GAAG,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE;IAC9C,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,IAAI,EAAE;IAC/C,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE;IACjD,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE;IACjD,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,IAAI,EAAE;IAChD,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE;IACjD,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE;IACjD,GAAG,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE;CACjD,CAAC;AAGF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACxC,OAAO,CACL,QAAQ,CAAC,GAAG,CAAC,IAAI;QACf,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KAC/C,CACF,CAAC;AACJ,CAAC;AAUD,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,CAAC,CAAC;IACvB,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAGD,MAAM,UAAU,kBAAkB,CAChC,KAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxD,GAAG;QACH,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,GACuB;IAC5B,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CACL,cACE,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,mBAAmB;aAC3B,+CAGG,CACP,CAAC;IACJ,CAAC;IACD,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YACpE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,mBAAmC,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,aAC5D,eACE,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;wBACpB,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,WAAW;qBACrB,aAED,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,GAAI,EAC3D,eACE,SAAS,EAAC,KAAK,EACf,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,YAEhD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GACjD,IACH,EACN,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACzB,KAAC,OAAO,IAEN,IAAI,EAAE,IAAI,EACV,MAAM,EACJ,IAAI,KAAK,IAAI;4BACX,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,GAAG,EAAE;gCACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC/B,CAAC,IAPF,IAAI,CAAC,IAAI,CASd,CACH,CAAC,GACE,KA/BM,KAAK,CAAC,GAAG,IAAI,MAAM,CAgCvB,CACX,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,EACf,IAAI,EACJ,MAAM,GAIN;IACA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;IACjE,MAAM,IAAI,GAAG,CACX,8BACE,eACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,UAAU,EAAE,uBAAuB,IAAI,CAAC,KAAK,oBAAoB;oBACjE,MAAM,EAAE,iCAAiC,IAAI,CAAC,KAAK,oBAAoB;iBACxE,YAED,eACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;wBACL,QAAQ,EAAE,CAAC;wBACX,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,aAAa,EAAE,QAAQ;qBACxB,YAEA,IAAI,CAAC,GAAG,GACJ,GACF,EACP,gBAAM,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,aACnC,eACE,KAAK,EAAE;4BACL,OAAO,EAAE,OAAO;4BAChB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,GAAG;4BACf,KAAK,EAAE,iBAAiB;4BACxB,QAAQ,EAAE,QAAQ;4BAClB,YAAY,EAAE,UAAU;4BACxB,UAAU,EAAE,QAAQ;yBACrB,YAEA,IAAI,GACA,EACN,OAAO,IAAI,CACV,eACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,wBAG9C,CACR,IACI,EACN,OAAO,IAAI,CACV,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,aAC3D,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CACzC,gBACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,kBAErD,IAAI,CAAC,GAAG,IACL,CACR,EACA,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CACzC,gBACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE;4BACL,QAAQ,EAAE,IAAI;4BACd,KAAK,EAAE,wCAAwC;yBAChD,uBAEC,IAAI,CAAC,GAAG,IACL,CACR,IACI,CACR,EACA,MAAM,KAAK,IAAI,IAAI,CAClB,KAAC,YAAY,IACX,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAClE,CACH,IACA,CACJ,CAAC;IAEF,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,CAAC;QACf,SAAS,EAAE,MAAM;KACT,CAAC;IAEX,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,cAAK,KAAK,EAAE,QAAQ,YAAG,IAAI,GAAO,CAAC;IAC5C,CAAC;IACD,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,uBAAuB,EAAE,EAC3D,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,wBAAwB,CAAC;QAC9D,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,aAAa,CAAC;QACnD,CAAC,YAEA,IAAI,GACE,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { VistaFormPayload } from '../vista-payloads';
3
+ export declare function FormSurface(payload: Readonly<VistaFormPayload>): ReactElement;
4
+ //# sourceMappingURL=FormSurface.d.ts.map
@@ -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,4 @@
1
+ import type { VistaHtmlPayload } from '../vista-payloads';
2
+ import type { ReactElement } from 'react';
3
+ export declare function HtmlSurface(payload: VistaHtmlPayload): ReactElement;
4
+ //# sourceMappingURL=HtmlSurface.d.ts.map
@@ -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,4 @@
1
+ import type { VistaTablePayload } from '../vista-payloads';
2
+ import type { ReactElement } from 'react';
3
+ export declare function TableSurface({ columns, rows, }: Readonly<VistaTablePayload>): ReactElement;
4
+ //# sourceMappingURL=TableSurface.d.ts.map
@@ -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,4 @@
1
+ import type { VistaUrlPayload } from '../vista-payloads';
2
+ import type { ReactElement } from 'react';
3
+ export declare function UrlSurface({ url, device, reloadNonce, }: Readonly<VistaUrlPayload>): ReactElement;
4
+ //# sourceMappingURL=UrlSurface.d.ts.map
@@ -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