@cocoar/vue-page-builder 2.19.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/IDP_INTEGRATION.md +350 -0
  2. package/README.md +498 -169
  3. package/dist/BuilderElementCodeDialog-DXGNzleE.js +64 -0
  4. package/dist/BuilderExpressionDialog-yIfwYgXD.js +61 -0
  5. package/dist/BuilderLogicPanel-C9urz5Cd.js +68 -0
  6. package/dist/BuilderPageRootCodeDialog-CQsg_ozW.js +61 -0
  7. package/dist/CoarPageBuilder.vue.d.ts +71 -1
  8. package/dist/CoarPageBuilder.vue.d.ts.map +1 -1
  9. package/dist/CoarPageRenderer.vue.d.ts +36 -1
  10. package/dist/CoarPageRenderer.vue.d.ts.map +1 -1
  11. package/dist/PageNode.vue.d.ts +9 -1
  12. package/dist/PageNode.vue.d.ts.map +1 -1
  13. package/dist/VisualMarkupInspector-CmAOc-CH.js +54 -0
  14. package/dist/_plugin-vue_export-helper-BTgDAbhb.js +8 -0
  15. package/dist/actionValues.d.ts +21 -0
  16. package/dist/actionValues.d.ts.map +1 -0
  17. package/dist/assets/pageScriptRuntime.worker-Cll8Lm_I.js +25 -0
  18. package/dist/builder/BuilderCanvas.vue.d.ts +31 -1
  19. package/dist/builder/BuilderCanvas.vue.d.ts.map +1 -1
  20. package/dist/builder/BuilderCanvasNode.vue.d.ts.map +1 -1
  21. package/dist/builder/BuilderCompositionsPanel.vue.d.ts +3 -0
  22. package/dist/builder/BuilderCompositionsPanel.vue.d.ts.map +1 -0
  23. package/dist/builder/BuilderElementCodeDialog.vue.d.ts +14 -0
  24. package/dist/builder/BuilderElementCodeDialog.vue.d.ts.map +1 -0
  25. package/dist/builder/BuilderExpressionDialog.vue.d.ts +11 -0
  26. package/dist/builder/BuilderExpressionDialog.vue.d.ts.map +1 -0
  27. package/dist/builder/BuilderFxButton.vue.d.ts +28 -0
  28. package/dist/builder/BuilderFxButton.vue.d.ts.map +1 -0
  29. package/dist/builder/BuilderLogicPanel.vue.d.ts +3 -0
  30. package/dist/builder/BuilderLogicPanel.vue.d.ts.map +1 -0
  31. package/dist/builder/BuilderOutline.vue.d.ts.map +1 -1
  32. package/dist/builder/BuilderOutlineNode.vue.d.ts.map +1 -1
  33. package/dist/builder/BuilderPageRootCodeDialog.vue.d.ts +13 -0
  34. package/dist/builder/BuilderPageRootCodeDialog.vue.d.ts.map +1 -0
  35. package/dist/builder/BuilderPalette.vue.d.ts +3 -0
  36. package/dist/builder/BuilderPalette.vue.d.ts.map +1 -0
  37. package/dist/builder/BuilderPropsPanel.vue.d.ts.map +1 -1
  38. package/dist/builder/BuilderTranslationsPanel.vue.d.ts +6 -0
  39. package/dist/builder/BuilderTranslationsPanel.vue.d.ts.map +1 -0
  40. package/dist/builder/boxSides.d.ts +30 -0
  41. package/dist/builder/boxSides.d.ts.map +1 -0
  42. package/dist/builder/builderContext.d.ts +46 -4
  43. package/dist/builder/builderContext.d.ts.map +1 -1
  44. package/dist/builder/expressionAuthoring.d.ts +7 -0
  45. package/dist/builder/expressionAuthoring.d.ts.map +1 -0
  46. package/dist/builder/nodeDefaults.d.ts +10 -5
  47. package/dist/builder/nodeDefaults.d.ts.map +1 -1
  48. package/dist/builder/pageCodeAuthoring.d.ts +11 -0
  49. package/dist/builder/pageCodeAuthoring.d.ts.map +1 -0
  50. package/dist/builder/props/ActionPropsEditor.vue.d.ts +9 -0
  51. package/dist/builder/props/ActionPropsEditor.vue.d.ts.map +1 -0
  52. package/dist/builder/props/BuilderViewportControl.vue.d.ts +23 -0
  53. package/dist/builder/props/BuilderViewportControl.vue.d.ts.map +1 -0
  54. package/dist/builder/props/BuilderZoomControl.vue.d.ts +24 -0
  55. package/dist/builder/props/BuilderZoomControl.vue.d.ts.map +1 -0
  56. package/dist/builder/props/CompoundLengthProperty.vue.d.ts +20 -0
  57. package/dist/builder/props/CompoundLengthProperty.vue.d.ts.map +1 -0
  58. package/dist/builder/props/StyleProps.vue.d.ts +1 -0
  59. package/dist/builder/props/StyleProps.vue.d.ts.map +1 -1
  60. package/dist/builder/schemaMigrateV1.d.ts +7 -0
  61. package/dist/builder/schemaMigrateV1.d.ts.map +1 -1
  62. package/dist/builder/schemaNormalize.d.ts.map +1 -1
  63. package/dist/builder/{useSchemaValidation.d.ts → useAuthoringFindings.d.ts} +8 -8
  64. package/dist/builder/useAuthoringFindings.d.ts.map +1 -0
  65. package/dist/builder/useBuilderDnd.d.ts +8 -1
  66. package/dist/builder/useBuilderDnd.d.ts.map +1 -1
  67. package/dist/builder/useCanvasZoom.d.ts +50 -0
  68. package/dist/builder/useCanvasZoom.d.ts.map +1 -0
  69. package/dist/builder/usePageBuilder.d.ts +2 -0
  70. package/dist/builder/usePageBuilder.d.ts.map +1 -1
  71. package/dist/builder/usePageCompositions.d.ts +71 -0
  72. package/dist/builder/usePageCompositions.d.ts.map +1 -0
  73. package/dist/builderContext-B3rX2dxZ.js +4 -0
  74. package/dist/compositions.d.ts +79 -0
  75. package/dist/compositions.d.ts.map +1 -0
  76. package/dist/conditions.d.ts +8 -0
  77. package/dist/conditions.d.ts.map +1 -0
  78. package/dist/context.d.ts +17 -3
  79. package/dist/context.d.ts.map +1 -1
  80. package/dist/documentValidation.d.ts +12 -0
  81. package/dist/documentValidation.d.ts.map +1 -0
  82. package/dist/elements/builtins.d.ts.map +1 -1
  83. package/dist/elements/button/ButtonInspector.vue.d.ts.map +1 -1
  84. package/dist/elements/button/ButtonRenderer.vue.d.ts.map +1 -1
  85. package/dist/elements/button/index.d.ts +2 -2
  86. package/dist/elements/button/index.d.ts.map +1 -1
  87. package/dist/elements/card/CardInspector.vue.d.ts.map +1 -1
  88. package/dist/elements/card/index.d.ts.map +1 -1
  89. package/dist/elements/checkbox/CheckboxDefaultInput.vue.d.ts.map +1 -1
  90. package/dist/elements/checkbox/CheckboxInspector.vue.d.ts.map +1 -1
  91. package/dist/elements/checkbox/CheckboxRenderer.vue.d.ts.map +1 -1
  92. package/dist/elements/checkbox/index.d.ts.map +1 -1
  93. package/dist/elements/date-input/DateInputDefaultInput.vue.d.ts.map +1 -1
  94. package/dist/elements/date-input/DateInputInspector.vue.d.ts.map +1 -1
  95. package/dist/elements/date-input/index.d.ts.map +1 -1
  96. package/dist/elements/datetime-input/DateTimeInputDefaultInput.vue.d.ts.map +1 -1
  97. package/dist/elements/datetime-input/DateTimeInputInspector.vue.d.ts.map +1 -1
  98. package/dist/elements/datetime-input/index.d.ts.map +1 -1
  99. package/dist/elements/feedback/FeedbackInspector.vue.d.ts +8 -0
  100. package/dist/elements/feedback/FeedbackInspector.vue.d.ts.map +1 -0
  101. package/dist/elements/feedback/FeedbackPreview.vue.d.ts +7 -0
  102. package/dist/elements/feedback/FeedbackPreview.vue.d.ts.map +1 -0
  103. package/dist/elements/{stack/StackInspector.vue.d.ts → feedback/FeedbackRenderer.vue.d.ts} +3 -4
  104. package/dist/elements/feedback/FeedbackRenderer.vue.d.ts.map +1 -0
  105. package/dist/elements/feedback/index.d.ts +6 -0
  106. package/dist/elements/feedback/index.d.ts.map +1 -0
  107. package/dist/elements/heading/HeadingInspector.vue.d.ts.map +1 -1
  108. package/dist/elements/heading/index.d.ts.map +1 -1
  109. package/dist/elements/image/ImageInspector.vue.d.ts.map +1 -1
  110. package/dist/elements/image/index.d.ts.map +1 -1
  111. package/dist/elements/link/LinkInspector.vue.d.ts +1 -1
  112. package/dist/elements/link/LinkInspector.vue.d.ts.map +1 -1
  113. package/dist/elements/link/index.d.ts +1 -2
  114. package/dist/elements/link/index.d.ts.map +1 -1
  115. package/dist/elements/multi-select/MultiSelectDefaultInput.vue.d.ts.map +1 -1
  116. package/dist/elements/multi-select/MultiSelectInspector.vue.d.ts.map +1 -1
  117. package/dist/elements/multi-select/index.d.ts.map +1 -1
  118. package/dist/elements/note/NoteInspector.vue.d.ts.map +1 -1
  119. package/dist/elements/number-input/NumberInputDefaultInput.vue.d.ts.map +1 -1
  120. package/dist/elements/number-input/NumberInputInspector.vue.d.ts.map +1 -1
  121. package/dist/elements/number-input/index.d.ts.map +1 -1
  122. package/dist/elements/otp-input/OtpInputInspector.vue.d.ts.map +1 -1
  123. package/dist/elements/otp-input/index.d.ts.map +1 -1
  124. package/dist/elements/paragraph/index.d.ts.map +1 -1
  125. package/dist/elements/password-input/PasswordInputInspector.vue.d.ts.map +1 -1
  126. package/dist/elements/password-input/index.d.ts.map +1 -1
  127. package/dist/elements/previewUtils.d.ts.map +1 -1
  128. package/dist/elements/radio-group/RadioGroupDefaultInput.vue.d.ts.map +1 -1
  129. package/dist/elements/radio-group/RadioGroupInspector.vue.d.ts.map +1 -1
  130. package/dist/elements/radio-group/index.d.ts.map +1 -1
  131. package/dist/elements/registry.d.ts +265 -2
  132. package/dist/elements/registry.d.ts.map +1 -1
  133. package/dist/elements/repeat/RepeatInspector.vue.d.ts +8 -0
  134. package/dist/elements/repeat/RepeatInspector.vue.d.ts.map +1 -0
  135. package/dist/elements/repeat/RepeatRenderer.vue.d.ts +29 -0
  136. package/dist/elements/repeat/RepeatRenderer.vue.d.ts.map +1 -0
  137. package/dist/elements/repeat/index.d.ts +10 -0
  138. package/dist/elements/repeat/index.d.ts.map +1 -0
  139. package/dist/elements/section/SectionInspector.vue.d.ts.map +1 -1
  140. package/dist/elements/section/index.d.ts.map +1 -1
  141. package/dist/elements/select/SelectDefaultInput.vue.d.ts.map +1 -1
  142. package/dist/elements/select/SelectInspector.vue.d.ts.map +1 -1
  143. package/dist/elements/select/index.d.ts.map +1 -1
  144. package/dist/elements/spacer/SpacerInspector.vue.d.ts.map +1 -1
  145. package/dist/elements/stack/StackRenderer.vue.d.ts.map +1 -1
  146. package/dist/elements/stack/index.d.ts.map +1 -1
  147. package/dist/elements/switch/SwitchDefaultInput.vue.d.ts.map +1 -1
  148. package/dist/elements/switch/SwitchInspector.vue.d.ts.map +1 -1
  149. package/dist/elements/switch/index.d.ts.map +1 -1
  150. package/dist/elements/text-input/TextInputInspector.vue.d.ts.map +1 -1
  151. package/dist/elements/text-input/index.d.ts.map +1 -1
  152. package/dist/elements/usePageElement.d.ts +6 -2
  153. package/dist/elements/usePageElement.d.ts.map +1 -1
  154. package/dist/elements/visual-markup/VisualMarkupInspector.vue.d.ts +10 -0
  155. package/dist/elements/visual-markup/VisualMarkupInspector.vue.d.ts.map +1 -0
  156. package/dist/elements/visual-markup/VisualMarkupPreview.vue.d.ts +7 -0
  157. package/dist/elements/visual-markup/VisualMarkupPreview.vue.d.ts.map +1 -0
  158. package/dist/elements/visual-markup/VisualMarkupRenderer.vue.d.ts +7 -0
  159. package/dist/elements/visual-markup/VisualMarkupRenderer.vue.d.ts.map +1 -0
  160. package/dist/elements/visual-markup/index.d.ts +6 -0
  161. package/dist/elements/visual-markup/index.d.ts.map +1 -0
  162. package/dist/elements/visual-markup/visualDocument.d.ts +13 -0
  163. package/dist/elements/visual-markup/visualDocument.d.ts.map +1 -0
  164. package/dist/expressionAuthoring-7iAyadA3.js +74 -0
  165. package/dist/index.css +1 -1
  166. package/dist/index.d.ts +32 -2
  167. package/dist/index.d.ts.map +1 -1
  168. package/dist/index.js +8571 -3448
  169. package/dist/pageCode-echPQdna.js +455 -0
  170. package/dist/pageCode.d.ts +101 -0
  171. package/dist/pageCode.d.ts.map +1 -0
  172. package/dist/pageCodeAuthoring-C8grEAUf.js +123 -0
  173. package/dist/responsive.d.ts +7 -0
  174. package/dist/responsive.d.ts.map +1 -0
  175. package/dist/runtime/PageRuntimeHost.d.ts +57 -0
  176. package/dist/runtime/PageRuntimeHost.d.ts.map +1 -0
  177. package/dist/runtime/PageScriptRuntime.d.ts +62 -0
  178. package/dist/runtime/PageScriptRuntime.d.ts.map +1 -0
  179. package/dist/runtime/pageScriptRuntime.worker.d.ts +1 -0
  180. package/dist/runtime/pageScriptRuntime.worker.d.ts.map +1 -0
  181. package/dist/runtime/runtimeProtocol.d.ts +150 -0
  182. package/dist/runtime/runtimeProtocol.d.ts.map +1 -0
  183. package/dist/runtime/usePageCodeRuntime.d.ts +32 -0
  184. package/dist/runtime/usePageCodeRuntime.d.ts.map +1 -0
  185. package/dist/runtime-worker.js +240 -0
  186. package/dist/runtimeBindings.d.ts +32 -0
  187. package/dist/runtimeBindings.d.ts.map +1 -0
  188. package/dist/runtimeExpressions.d.ts +16 -0
  189. package/dist/runtimeExpressions.d.ts.map +1 -0
  190. package/dist/runtimeProtocol-Bg1C-O0c.js +36 -0
  191. package/dist/runtimeWorkerEntry.d.ts +2 -0
  192. package/dist/runtimeWorkerEntry.d.ts.map +1 -0
  193. package/dist/schema.d.ts +298 -31
  194. package/dist/schema.d.ts.map +1 -1
  195. package/dist/styleMapping.d.ts +7 -0
  196. package/dist/styleMapping.d.ts.map +1 -1
  197. package/dist/translations.d.ts +8 -0
  198. package/dist/translations.d.ts.map +1 -0
  199. package/dist/visualDocument-DKjWBfpW.js +139 -0
  200. package/package.json +24 -6
  201. package/dist/builder/useSchemaValidation.d.ts.map +0 -1
  202. package/dist/elements/stack/StackInspector.vue.d.ts.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { i as e } from "./expressionAuthoring-7iAyadA3.js";
2
+ import { l as t } from "./pageCode-echPQdna.js";
3
+ //#region src/builder/pageCodeAuthoring.ts
4
+ function n(e) {
5
+ if (typeof e == "string") return "string";
6
+ if (typeof e == "number") return "number";
7
+ if (typeof e == "boolean") return "boolean";
8
+ if (Array.isArray(e)) return "unknown[]";
9
+ if (e && typeof e == "object") {
10
+ let t = e;
11
+ return t.source === "translation" || t.localized ? "PageLocalizedText" : "Record<string, unknown>";
12
+ }
13
+ return "unknown";
14
+ }
15
+ var r = "\ninterface PageTranslationBinding {\n readonly source: 'translation';\n readonly key: string;\n readonly params?: Readonly<Record<string, unknown>>;\n readonly fallback?: string;\n}\ntype PageLocalizedText = string | PageTranslationBinding;\ninterface PageI18n {\n text(key: PageTranslationKey, params?: Record<string, unknown>, fallback?: string): PageTranslationBinding;\n}\ndeclare const i18n: PageI18n;\ninterface PageElementProps {\n label?: PageLocalizedText; text?: PageLocalizedText; title?: PageLocalizedText; placeholder?: PageLocalizedText;\n disabled?: boolean; action?: string; validates?: boolean; default?: boolean;\n variant?: string; size?: string; icon?: string; rows?: number; level?: number;\n inputType?: string; options?: Array<{ value: string; label: string }>;\n items?: unknown[]; source?: string; keyPath?: string; emptyText?: string;\n [property: string]: unknown;\n}\ninterface PageNodeStyle {\n width?: string; minWidth?: string; maxWidth?: string; height?: string; minHeight?: string; maxHeight?: string;\n overflow?: 'visible' | 'hidden' | 'clip' | 'auto' | 'scroll';\n gap?: string; padding?: string; hidden?: boolean; direction?: 'column' | 'row'; wrap?: boolean;\n align?: 'start' | 'center' | 'end' | 'stretch'; justify?: string; alignSelf?: string;\n surface?: string; foreground?: string; radius?: string; elevation?: string;\n fontSize?: string; fontWeight?: string; textAlign?: 'start' | 'center' | 'end';\n [property: string]: unknown;\n}\ninterface PageValidation {\n required?: boolean; minLength?: number; maxLength?: number; pattern?: string;\n matchField?: string; message?: string;\n}\ninterface PageElementDraft<P = PageElementProps> {\n readonly id: string; readonly type: string; readonly name: string;\n props: P;\n style: PageNodeStyle;\n responsive: Record<string, Partial<PageNodeStyle>>;\n validation: PageValidation | null;\n visibleWhen: Record<string, unknown> | null;\n bindings: Record<string, unknown>;\n defaultValue?: unknown;\n enterSubmits?: boolean;\n}\n";
16
+ function i(e) {
17
+ let t = e.type === "page" ? e : void 0, n = /* @__PURE__ */ new Set();
18
+ for (let e of Object.values(t?.translations ?? {})) for (let t of Object.keys(e)) n.add(t);
19
+ return `type PageTranslationKey = ${n.size > 0 ? [...n].sort().map((e) => JSON.stringify(e)).join(" | ") : "string"};`;
20
+ }
21
+ function a(e) {
22
+ return (e.split(/[^A-Za-z0-9_$]+/).filter(Boolean).map((e) => `${e.slice(0, 1).toUpperCase()}${e.slice(1)}`).join("") || "Custom").replace(/^[^A-Za-z_$]/, (e) => `_${e}`);
23
+ }
24
+ function o(e) {
25
+ return `Page${a(e.type)}Element`;
26
+ }
27
+ function s(e, r) {
28
+ let i = t(e), a = Object.entries(i.nodeIds).find(([, e]) => e === r.id), s = a ? i.elements[a[0]] : void 0, c = Object.entries(s?.props ?? {}).map(([e, t]) => ` ${JSON.stringify(e)}?: ${n(t)};`).join("\n"), l = o(r), u = `${l}Props`;
29
+ return `interface ${u} extends PageElementProps {\n${c}\n}\ninterface ${l} extends PageElementDraft<${u}> {\n readonly type: ${JSON.stringify(r.type)};\n readonly name: ${JSON.stringify(r.name ?? "")};\n}`;
30
+ }
31
+ var c = `
32
+ ${r}
33
+ interface PageCapabilities {}
34
+ type PageComputeContext<S extends Record<string, unknown>> = PageCapabilities & {
35
+ readonly state: Readonly<S>;
36
+ readonly fields: Readonly<PageFields>;
37
+ readonly form: Readonly<PageForm>;
38
+ readonly context: Readonly<PageContext>;
39
+ readonly resources: Readonly<PageResources>;
40
+ readonly viewport: Readonly<PageViewport>;
41
+ readonly locale?: string;
42
+ };
43
+ type PageActionContext<S extends Record<string, unknown>> = PageCapabilities & {
44
+ state: S;
45
+ readonly fields: Readonly<PageFields>;
46
+ readonly form: Readonly<PageForm>;
47
+ readonly context: Readonly<PageContext>;
48
+ readonly resources: Readonly<PageResources>;
49
+ readonly viewport: Readonly<PageViewport>;
50
+ readonly locale?: string;
51
+ };
52
+ interface PageAction {
53
+ readonly payload: Readonly<Record<string, unknown>>;
54
+ }
55
+ interface ElementDefinition<S extends Record<string, unknown>, E extends PageElementDraft> {
56
+ compute?: (element: E, page: PageComputeContext<S>) => void;
57
+ actions?: Record<string, (element: E, page: PageActionContext<S>, action: PageAction) => void | Promise<void>>;
58
+ }
59
+ type DefineElement<S extends Record<string, unknown>, E extends PageElementDraft> = (definition: ElementDefinition<S, E>) => ElementDefinition<S, E>;
60
+ `;
61
+ function l(t) {
62
+ return [...e(t), {
63
+ filePath: "file:///page-builder/page-state.d.ts",
64
+ content: "declare function definePageState<S extends Record<string, unknown>>(state: S): S;"
65
+ }];
66
+ }
67
+ function u(t, n, r) {
68
+ return [...e(r), {
69
+ filePath: `file:///page-builder/element-code-${n.id}.d.ts`,
70
+ content: `${i(t)}\n${c}\n${s(t, n)}`
71
+ }];
72
+ }
73
+ var d = `
74
+ ${r}
75
+ interface PageRootDraft {
76
+ readonly id: string;
77
+ readonly type: 'page';
78
+ readonly name: 'page';
79
+ style: PageNodeStyle;
80
+ responsive: Record<string, Partial<PageNodeStyle>>;
81
+ enterSubmits: boolean;
82
+ }
83
+ interface PageCapabilities {}
84
+ type PageRootRuntime<S extends Record<string, unknown>> = PageCapabilities & {
85
+ readonly state: Readonly<S>;
86
+ readonly fields: Readonly<PageFields>;
87
+ readonly form: Readonly<PageForm>;
88
+ readonly context: Readonly<PageContext>;
89
+ readonly resources: Readonly<PageResources>;
90
+ readonly viewport: Readonly<PageViewport>;
91
+ readonly locale?: string;
92
+ };
93
+ interface PageRootDefinition<S extends Record<string, unknown>> {
94
+ compute?: (page: PageRootDraft, runtime: PageRootRuntime<S>) => void;
95
+ }
96
+ type DefinePageRoot<S extends Record<string, unknown>> =
97
+ (definition: PageRootDefinition<S>) => PageRootDefinition<S>;
98
+ `;
99
+ function f(t, n) {
100
+ return [...e(n), {
101
+ filePath: "file:///page-builder/page-root-code.d.ts",
102
+ content: `${i(t)}\n${d}`
103
+ }];
104
+ }
105
+ function p(e, t) {
106
+ return `
107
+ const definePageState = /** @type {<S extends Record<string, unknown>>(state: S) => S} */ ((state) => state);
108
+ const i18n = /** @type {PageI18n} */ ({ text: (key, params, fallback) => ({ source: 'translation', key, params, fallback }) });
109
+ const __pageState = (${e}
110
+ );
111
+ const defineElement = /** @type {DefineElement<typeof __pageState, ${o(t)}>} */ ((definition) => definition);
112
+ `;
113
+ }
114
+ function m(e) {
115
+ return `
116
+ const definePageState = /** @type {<S extends Record<string, unknown>>(state: S) => S} */ ((state) => state);
117
+ const __pageState = (${e}
118
+ );
119
+ const definePageRoot = /** @type {DefinePageRoot<typeof __pageState>} */ ((definition) => definition);
120
+ `;
121
+ }
122
+ //#endregion
123
+ export { l as a, f as i, u as n, m as r, p as t };
@@ -0,0 +1,7 @@
1
+ import { NodeStyle, PageBreakpoint, PageNode } from './schema';
2
+ export declare const PAGE_BREAKPOINT_WIDTHS: Readonly<Record<PageBreakpoint, number>>;
3
+ export declare function breakpointForWidth(width: number): PageBreakpoint;
4
+ /** Resolve the exact mobile-first cascade used by both builder and renderer. */
5
+ export declare function resolveNodeStyle(node: Pick<PageNode, 'style' | 'responsive'>, viewport: number | PageBreakpoint): NodeStyle;
6
+ export declare function localNodeStyle(node: Pick<PageNode, 'style' | 'responsive'>, breakpoint: PageBreakpoint): Partial<NodeStyle>;
7
+ //# sourceMappingURL=responsive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive.d.ts","sourceRoot":"","sources":["../src/responsive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnE,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAK3E,CAAA;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAKhE;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY,CAAC,EAC5C,QAAQ,EAAE,MAAM,GAAG,cAAc,GAChC,SAAS,CAYX;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY,CAAC,EAC5C,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,SAAS,CAAC,CAEpB"}
@@ -0,0 +1,57 @@
1
+ import { PageScriptRuntime, RuntimeEndowments, RuntimeInvocation } from '#page-runtime-worker';
2
+ import { RuntimeBootstrapMetrics, RuntimeDefinition, RuntimeEndowmentGrants, RuntimeInitializationMetrics, RuntimeReactiveUpdate, RuntimeStatePatch, RuntimeStateUpdateMetrics, RuntimeValue } from './runtimeProtocol';
3
+ /** Host-owned information used to decide which capabilities a definition receives. */
4
+ export interface PageRuntimeGrantContext {
5
+ sessionId: string;
6
+ pageId: string;
7
+ tenantId?: string;
8
+ definition: RuntimeDefinition;
9
+ }
10
+ export interface PageRuntimeHostOptions {
11
+ /** Application-owned objects. Their implementations never enter the Worker. */
12
+ endowments?: RuntimeEndowments;
13
+ /** Application-owned policy. Tenant-authored documents cannot grant themselves authority. */
14
+ grants?: (context: PageRuntimeGrantContext) => readonly string[];
15
+ }
16
+ export interface PageRuntimeSessionOptions {
17
+ pageId: string;
18
+ tenantId?: string;
19
+ definitions: RuntimeDefinition[];
20
+ }
21
+ export declare class PageRuntimeSession {
22
+ readonly sessionId: string;
23
+ readonly pageId: string;
24
+ readonly tenantId: string | undefined;
25
+ private readonly definitions;
26
+ private readonly grants;
27
+ private readonly runtime;
28
+ private readonly release;
29
+ private initializing;
30
+ private initialized;
31
+ private disposed;
32
+ readonly bootstrap: Promise<RuntimeBootstrapMetrics>;
33
+ /** False after a fatal worker error/timeout or explicit disposal. */
34
+ get isAvailable(): boolean;
35
+ constructor(sessionId: string, pageId: string, tenantId: string | undefined, definitions: RuntimeDefinition[], grants: RuntimeEndowmentGrants, runtime: PageScriptRuntime, release: (session: PageRuntimeSession) => void);
36
+ initialize(): Promise<RuntimeInitializationMetrics>;
37
+ invoke<T extends RuntimeValue = RuntimeValue>(scriptId: string, input: unknown, timeoutMs?: number): Promise<RuntimeInvocation<T>>;
38
+ setState(state: unknown, timeoutMs?: number): Promise<RuntimeStateUpdateMetrics>;
39
+ patchState(patches: RuntimeStatePatch[], timeoutMs?: number): Promise<RuntimeStateUpdateMetrics>;
40
+ subscribe(listener: (update: RuntimeReactiveUpdate) => void): () => void;
41
+ cancelResource(resourceId: string): void;
42
+ dispose(reason?: string): void;
43
+ private assertActive;
44
+ private assertReady;
45
+ }
46
+ export declare class PageRuntimeHost {
47
+ private readonly endowments;
48
+ private readonly grantPolicy;
49
+ private readonly sessions;
50
+ constructor(options: PageRuntimeHostOptions);
51
+ get activeSessionCount(): number;
52
+ createSession(options: PageRuntimeSessionOptions): PageRuntimeSession;
53
+ disposeAll(reason?: string): void;
54
+ }
55
+ /** Defines the application-wide host catalog; it does not create a Worker. */
56
+ export declare function definePageRuntimeHost(options: PageRuntimeHostOptions): PageRuntimeHost;
57
+ //# sourceMappingURL=PageRuntimeHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageRuntimeHost.d.ts","sourceRoot":"","sources":["../../src/runtime/PageRuntimeHost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { RuntimeBootstrapMetrics, RuntimeDefinition, RuntimeEndowmentGrants, RuntimeInitializationMetrics, RuntimeReactiveUpdate, RuntimeStatePatch, RuntimeStateUpdateMetrics, RuntimeValue } from './runtimeProtocol';
2
+ /** Identity and cancellation metadata supplied only to opted-in host methods. */
3
+ export interface RuntimeEndowmentContext {
4
+ signal: AbortSignal;
5
+ definitionId: string;
6
+ sessionId: string;
7
+ pageId: string;
8
+ tenantId?: string;
9
+ }
10
+ export type ContextualRuntimeEndowmentMethodHandler = (context: RuntimeEndowmentContext, ...args: RuntimeValue[]) => RuntimeValue | Promise<RuntimeValue>;
11
+ declare const CONTEXTUAL_ENDOWMENT_METHOD: unique symbol;
12
+ export interface ContextualRuntimeEndowmentMethod {
13
+ readonly [CONTEXTUAL_ENDOWMENT_METHOD]: true;
14
+ readonly invoke: ContextualRuntimeEndowmentMethodHandler;
15
+ }
16
+ /** Opt-in only for host methods that need caller identity or cancellation. */
17
+ export declare function withRuntimeEndowmentContext(invoke: ContextualRuntimeEndowmentMethodHandler): ContextualRuntimeEndowmentMethod;
18
+ export type RuntimeEndowmentObject = object;
19
+ export type RuntimeEndowments = Record<string, RuntimeEndowmentObject>;
20
+ export interface PageScriptRuntimeContext {
21
+ sessionId: string;
22
+ pageId: string;
23
+ tenantId?: string;
24
+ }
25
+ export interface RuntimeInvocation<T extends RuntimeValue = RuntimeValue> {
26
+ value: T;
27
+ durationMs: number;
28
+ }
29
+ export declare class PageScriptRuntime {
30
+ private readonly worker;
31
+ private readonly endowments;
32
+ private readonly context;
33
+ private readonly pending;
34
+ private readonly endowmentCalls;
35
+ private readonly listeners;
36
+ private readonly resourceTimeouts;
37
+ private readonly resourceTimeoutHandles;
38
+ private readonly workerStarted;
39
+ private nextRequestId;
40
+ private stopped;
41
+ private resolveBootstrap;
42
+ private rejectBootstrap;
43
+ readonly bootstrap: Promise<RuntimeBootstrapMetrics>;
44
+ get isAvailable(): boolean;
45
+ constructor(endowments?: RuntimeEndowments, context?: PageScriptRuntimeContext);
46
+ initialize(definitions: RuntimeDefinition[], endowmentGrants?: RuntimeEndowmentGrants): Promise<RuntimeInitializationMetrics>;
47
+ invoke<T extends RuntimeValue = RuntimeValue>(scriptId: string, input: unknown, timeoutMs?: number): Promise<RuntimeInvocation<T>>;
48
+ setState(state: unknown, timeoutMs?: number): Promise<RuntimeStateUpdateMetrics>;
49
+ patchState(patches: RuntimeStatePatch[], timeoutMs?: number): Promise<RuntimeStateUpdateMetrics>;
50
+ subscribe(listener: (update: RuntimeReactiveUpdate) => void): () => void;
51
+ cancelResource(resourceId: string): void;
52
+ terminate(reason?: string): void;
53
+ private request;
54
+ private settle;
55
+ private startResourceTimeout;
56
+ private clearResourceTimeout;
57
+ private publishReactiveUpdate;
58
+ private onMessage;
59
+ private failAll;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=PageScriptRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageScriptRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/PageScriptRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=pageScriptRuntime.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pageScriptRuntime.worker.d.ts","sourceRoot":"","sources":["../../src/runtime/pageScriptRuntime.worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC"}
@@ -0,0 +1,150 @@
1
+ /** Data-only value accepted at the public Page Runtime boundary. */
2
+ export type RuntimeValue = undefined | null | boolean | number | string | RuntimeValue[] | {
3
+ [key: string]: RuntimeValue;
4
+ };
5
+ /** Copy and validate the data-only values allowed across the runtime boundary. */
6
+ export declare function cloneRuntimeValue(value: unknown): RuntimeValue;
7
+ export type RuntimePath = string[];
8
+ export interface RuntimeStatePatch {
9
+ op: 'set' | 'delete';
10
+ path: RuntimePath;
11
+ value?: RuntimeValue;
12
+ }
13
+ export interface RuntimeScriptDefinition {
14
+ id: string;
15
+ kind?: 'script';
16
+ /** Function source: `(input, endowments) => value`. */
17
+ source: string;
18
+ }
19
+ export interface RuntimeBindingDefinition {
20
+ id: string;
21
+ kind: 'binding';
22
+ /** Pure synchronous function source: `(scope) => value`. */
23
+ source: string;
24
+ }
25
+ export interface RuntimeResourceDefinition {
26
+ id: string;
27
+ kind: 'resource';
28
+ /** Pure synchronous function source. Its property reads become dependencies. */
29
+ inputsSource: string;
30
+ /** Async-capable function source: `async (input, endowments) => value`. */
31
+ source: string;
32
+ debounceMs?: number;
33
+ timeoutMs?: number;
34
+ }
35
+ export type RuntimeDefinition = RuntimeScriptDefinition | RuntimeBindingDefinition | RuntimeResourceDefinition;
36
+ /**
37
+ * Host-owned grants from definition id to host-defined endowment names. They
38
+ * are runtime configuration, never authority persisted in a tenant document.
39
+ */
40
+ export type RuntimeEndowmentGrants = Record<string, string[]>;
41
+ export interface RuntimeEndowmentDescriptor {
42
+ name: string;
43
+ methods: string[];
44
+ values: Record<string, RuntimeValue>;
45
+ }
46
+ export type RuntimeResourceStatus = 'idle' | 'pending' | 'success' | 'error';
47
+ export interface RuntimeResourceState {
48
+ status: RuntimeResourceStatus;
49
+ value?: RuntimeValue;
50
+ error?: string;
51
+ runId: number;
52
+ }
53
+ export type RuntimeReactiveUpdate = {
54
+ kind: 'binding';
55
+ id: string;
56
+ value: RuntimeValue;
57
+ dependencies: RuntimePath[];
58
+ durationMs: number;
59
+ } | {
60
+ kind: 'resource';
61
+ id: string;
62
+ state: RuntimeResourceState;
63
+ dependencies: RuntimePath[];
64
+ durationMs?: number;
65
+ };
66
+ export interface RuntimeBootstrapMetrics {
67
+ workerBootstrapMs: number;
68
+ lockdownMs: number;
69
+ }
70
+ export interface RuntimeInitializationMetrics {
71
+ compartmentMs: number;
72
+ compileMs: number;
73
+ scriptCount: number;
74
+ bindingCount: number;
75
+ resourceCount: number;
76
+ }
77
+ export interface RuntimeStateUpdateMetrics {
78
+ durationMs: number;
79
+ evaluatedBindings: string[];
80
+ evaluatedResourceInputs: string[];
81
+ }
82
+ export type MainToRuntimeMessage = {
83
+ type: 'initialize';
84
+ requestId: number;
85
+ definitions: RuntimeDefinition[];
86
+ endowments: RuntimeEndowmentDescriptor[];
87
+ endowmentGrants: RuntimeEndowmentGrants;
88
+ } | {
89
+ type: 'invoke';
90
+ requestId: number;
91
+ scriptId: string;
92
+ input: RuntimeValue;
93
+ } | {
94
+ type: 'set-state';
95
+ requestId: number;
96
+ state: RuntimeValue;
97
+ } | {
98
+ type: 'patch-state';
99
+ requestId: number;
100
+ patches: RuntimeStatePatch[];
101
+ } | {
102
+ type: 'endowment-result';
103
+ callId: number;
104
+ ok: true;
105
+ value: RuntimeValue;
106
+ } | {
107
+ type: 'endowment-result';
108
+ callId: number;
109
+ ok: false;
110
+ error: string;
111
+ } | {
112
+ type: 'cancel-resource';
113
+ resourceId: string;
114
+ };
115
+ export type RuntimeToMainMessage = {
116
+ type: 'worker-ready';
117
+ lockdownMs: number;
118
+ } | {
119
+ type: 'initialized';
120
+ requestId: number;
121
+ metrics: RuntimeInitializationMetrics;
122
+ } | {
123
+ type: 'state-updated';
124
+ requestId: number;
125
+ metrics: RuntimeStateUpdateMetrics;
126
+ } | {
127
+ type: 'result';
128
+ requestId: number;
129
+ value: RuntimeValue;
130
+ durationMs: number;
131
+ } | {
132
+ type: 'failure';
133
+ requestId: number;
134
+ error: string;
135
+ } | {
136
+ type: 'reactive-update';
137
+ update: RuntimeReactiveUpdate;
138
+ } | {
139
+ type: 'endowment-call';
140
+ callId: number;
141
+ ownerId: string;
142
+ definitionId: string;
143
+ endowment: string;
144
+ method: string;
145
+ args: RuntimeValue[];
146
+ } | {
147
+ type: 'endowment-cancel';
148
+ callId: number;
149
+ };
150
+ //# sourceMappingURL=runtimeProtocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeProtocol.d.ts","sourceRoot":"","sources":["../../src/runtime/runtimeProtocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ import { PageCodeRuntimeInput, PageCodeRuntimeValues } from '../pageCode';
3
+ import { ActionValues } from '../context';
4
+ import { PageNode } from '../schema';
5
+ import { PageRuntimeHost } from './PageRuntimeHost';
6
+ type ReadonlyValue<T> = Readonly<Ref<T>> | ComputedRef<T>;
7
+ export interface PageCodeRuntimeOptions {
8
+ pageId: ReadonlyValue<string>;
9
+ schema: ReadonlyValue<PageNode>;
10
+ context: ReadonlyValue<Record<string, unknown>>;
11
+ viewport: ReadonlyValue<{
12
+ width: number;
13
+ breakpoint: string;
14
+ }>;
15
+ locale?: ReadonlyValue<string | undefined>;
16
+ enabled?: ReadonlyValue<boolean>;
17
+ tenantId?: string;
18
+ /** Application-owned host. Create once and reuse it for every renderer session. */
19
+ runtimeHost?: PageRuntimeHost;
20
+ }
21
+ /**
22
+ * Owns one isolated SES session for the current page and returns data-only
23
+ * normalized patches. Applications that expose host capabilities pass a shared
24
+ * `runtimeHost`; the default host deliberately exposes none.
25
+ */
26
+ export declare function usePageCodeRuntime(options: PageCodeRuntimeOptions): {
27
+ pageCodeValues: Ref<PageCodeRuntimeValues | undefined, PageCodeRuntimeValues | undefined>;
28
+ onRuntimeChange: (scope: Pick<PageCodeRuntimeInput, "fields" | "form">) => void;
29
+ runPageAction: (id: string, payload: ActionValues) => Promise<boolean>;
30
+ };
31
+ export {};
32
+ //# sourceMappingURL=usePageCodeRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageCodeRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/usePageCodeRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7E,OAAO,EAYL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAe,QAAQ,EAAgB,MAAM,WAAW,CAAA;AACpE,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAA;AAQ1B,KAAK,aAAa,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC/B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC/C,QAAQ,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC9D,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC1C,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,sBAAsB;;6BA4KhC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,MAAM,CAAC;wBAU5C,MAAM,WAAW,YAAY,KAAG,OAAO,CAAC,OAAO,CAAC;EAsDlF"}