@widgentic/designer 0.1.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 (105) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -0
  3. package/dist/action-designer.d.ts +35 -0
  4. package/dist/action-designer.d.ts.map +1 -0
  5. package/dist/action-designer.js +294 -0
  6. package/dist/action-designer.js.map +1 -0
  7. package/dist/action-editor.d.ts +49 -0
  8. package/dist/action-editor.d.ts.map +1 -0
  9. package/dist/action-editor.js +515 -0
  10. package/dist/action-editor.js.map +1 -0
  11. package/dist/browser/widgentic-designer.js +433 -0
  12. package/dist/browser/widgentic-designer.js.map +7 -0
  13. package/dist/browser.d.ts +2 -0
  14. package/dist/browser.d.ts.map +1 -0
  15. package/dist/browser.js +12 -0
  16. package/dist/browser.js.map +1 -0
  17. package/dist/dom.d.ts +37 -0
  18. package/dist/dom.d.ts.map +1 -0
  19. package/dist/dom.js +387 -0
  20. package/dist/dom.js.map +1 -0
  21. package/dist/element.d.ts +12 -0
  22. package/dist/element.d.ts.map +1 -0
  23. package/dist/element.js +131 -0
  24. package/dist/element.js.map +1 -0
  25. package/dist/highlight.d.ts +30 -0
  26. package/dist/highlight.d.ts.map +1 -0
  27. package/dist/highlight.js +123 -0
  28. package/dist/highlight.js.map +1 -0
  29. package/dist/index.d.ts +30 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +21 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/internal.d.ts +6 -0
  34. package/dist/internal.d.ts.map +1 -0
  35. package/dist/internal.js +10 -0
  36. package/dist/internal.js.map +1 -0
  37. package/dist/io.d.ts +32 -0
  38. package/dist/io.d.ts.map +1 -0
  39. package/dist/io.js +155 -0
  40. package/dist/io.js.map +1 -0
  41. package/dist/json-tree-editor.d.ts +8 -0
  42. package/dist/json-tree-editor.d.ts.map +1 -0
  43. package/dist/json-tree-editor.js +186 -0
  44. package/dist/json-tree-editor.js.map +1 -0
  45. package/dist/panels.d.ts +13 -0
  46. package/dist/panels.d.ts.map +1 -0
  47. package/dist/panels.js +414 -0
  48. package/dist/panels.js.map +1 -0
  49. package/dist/preview.d.ts +40 -0
  50. package/dist/preview.d.ts.map +1 -0
  51. package/dist/preview.js +138 -0
  52. package/dist/preview.js.map +1 -0
  53. package/dist/record-editor.d.ts +11 -0
  54. package/dist/record-editor.d.ts.map +1 -0
  55. package/dist/record-editor.js +70 -0
  56. package/dist/record-editor.js.map +1 -0
  57. package/dist/schema-builder.d.ts +8 -0
  58. package/dist/schema-builder.d.ts.map +1 -0
  59. package/dist/schema-builder.js +235 -0
  60. package/dist/schema-builder.js.map +1 -0
  61. package/dist/schema-designer.d.ts +33 -0
  62. package/dist/schema-designer.d.ts.map +1 -0
  63. package/dist/schema-designer.js +251 -0
  64. package/dist/schema-designer.js.map +1 -0
  65. package/dist/schema-form.d.ts +8 -0
  66. package/dist/schema-form.d.ts.map +1 -0
  67. package/dist/schema-form.js +181 -0
  68. package/dist/schema-form.js.map +1 -0
  69. package/dist/schema-paths.d.ts +18 -0
  70. package/dist/schema-paths.d.ts.map +1 -0
  71. package/dist/schema-paths.js +75 -0
  72. package/dist/schema-paths.js.map +1 -0
  73. package/dist/seed.d.ts +18 -0
  74. package/dist/seed.d.ts.map +1 -0
  75. package/dist/seed.js +299 -0
  76. package/dist/seed.js.map +1 -0
  77. package/dist/shell.d.ts +59 -0
  78. package/dist/shell.d.ts.map +1 -0
  79. package/dist/shell.js +102 -0
  80. package/dist/shell.js.map +1 -0
  81. package/dist/store.d.ts +44 -0
  82. package/dist/store.d.ts.map +1 -0
  83. package/dist/store.js +71 -0
  84. package/dist/store.js.map +1 -0
  85. package/dist/styles-editor.d.ts +8 -0
  86. package/dist/styles-editor.d.ts.map +1 -0
  87. package/dist/styles-editor.js +100 -0
  88. package/dist/styles-editor.js.map +1 -0
  89. package/dist/template-panel.d.ts +19 -0
  90. package/dist/template-panel.d.ts.map +1 -0
  91. package/dist/template-panel.js +585 -0
  92. package/dist/template-panel.js.map +1 -0
  93. package/dist/theme-designer.d.ts +35 -0
  94. package/dist/theme-designer.d.ts.map +1 -0
  95. package/dist/theme-designer.js +336 -0
  96. package/dist/theme-designer.js.map +1 -0
  97. package/dist/theme-panel.d.ts +20 -0
  98. package/dist/theme-panel.d.ts.map +1 -0
  99. package/dist/theme-panel.js +96 -0
  100. package/dist/theme-panel.js.map +1 -0
  101. package/dist/validate.d.ts +57 -0
  102. package/dist/validate.d.ts.map +1 -0
  103. package/dist/validate.js +131 -0
  104. package/dist/validate.js.map +1 -0
  105. package/package.json +49 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panels.js","sourceRoot":"","sources":["../src/panels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { WidgetDraft } from "./store.js";
2
+ import type { DesignerDiagnostics } from "./validate.js";
3
+ import type { StoredAction } from "@widgentic/core";
4
+ /** Internal kind the draft renders under (stable across recompiles). */
5
+ export declare const PREVIEW_KIND = "designer-preview";
6
+ /**
7
+ * A host-supplied definition the preview can render by kind. `descriptor`
8
+ * stays `unknown` on purpose: hosts hand these straight off the wire, so
9
+ * the preview narrows what it needs and ignores the rest.
10
+ */
11
+ export interface PreviewWidget {
12
+ kind: string;
13
+ template: unknown;
14
+ descriptor?: unknown;
15
+ }
16
+ export interface PreviewOptions {
17
+ /**
18
+ * Custom widget definitions to make previewable by kind — a theme is
19
+ * judged against the widgets it will actually dress, not only the
20
+ * built-ins. Definitions that fail template validation are skipped.
21
+ */
22
+ widgets?: PreviewWidget[];
23
+ /** Shared actions, so `{ ref }` bindings preview with their real kind. */
24
+ actions?: StoredAction[];
25
+ }
26
+ export interface PreviewController {
27
+ readonly pane: HTMLElement;
28
+ /** Selectable kinds: built-ins plus the registered customs. */
29
+ readonly kinds: string[];
30
+ /**
31
+ * Re-render for a draft revision. The WIDGET designer always renders
32
+ * the draft (no `previewKind`); the optional kind parameter exists for
33
+ * the THEME designer, whose job is previewing catalog kinds under a
34
+ * theme.
35
+ */
36
+ update(draft: WidgetDraft, diagnostics: DesignerDiagnostics, previewKind?: string): void;
37
+ dispose(): void;
38
+ }
39
+ export declare function createPreview(options?: PreviewOptions): PreviewController;
40
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wEAAwE;AACxE,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,MAAM,CACJ,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,mBAAmB,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IACR,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,iBAAiB,CAyI7E"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Live preview through the real pipeline: the draft template compiles into
3
+ * a delegating renderer registered ONCE under a stable internal kind, so a
4
+ * single `mountWidget` handle survives every template revision and updates
5
+ * patch the DOM in place (`reactive-rendering` dogfooded). Built-in kinds
6
+ * share the same scratch catalog for theme-designer previews.
7
+ *
8
+ * Invalid drafts freeze the last good render behind an error banner —
9
+ * never a blank pane (the app-template error-state lesson).
10
+ */
11
+ import { isPlainObject } from "@widgentic/core";
12
+ import { createCatalog, widgetStylesToCss } from "@widgentic/core";
13
+ import { mountWidget } from "@widgentic/core";
14
+ import { compileTemplate, validateTemplate } from "@widgentic/core";
15
+ import { applyTheme, injectBaseStyles } from "@widgentic/core";
16
+ import { h } from "./dom.js";
17
+ /** Internal kind the draft renders under (stable across recompiles). */
18
+ export const PREVIEW_KIND = "designer-preview";
19
+ export function createPreview(options = {}) {
20
+ injectBaseStyles(document);
21
+ const banner = h("div", { class: "wgd-banner" });
22
+ banner.hidden = true;
23
+ const kindStyles = h("style");
24
+ const mountRoot = h("div", { class: "wgd-preview" });
25
+ const pane = h("div", { class: "wgd-preview-pane" }, [banner, kindStyles, mountRoot]);
26
+ const catalog = createCatalog();
27
+ let renderer = () => ({ tag: "div", children: ["…"] });
28
+ catalog.register(PREVIEW_KIND, (payload) => renderer(payload), {
29
+ description: "Designer preview delegate.",
30
+ dataShape: "Defined by the draft being designed."
31
+ });
32
+ // Host-supplied customs join the scratch catalog so the theme designer
33
+ // can preview them. Each carries its own styles, emitted when selected.
34
+ const customStyles = new Map();
35
+ for (const widget of options.widgets ?? []) {
36
+ const validated = validateTemplate(widget.template);
37
+ // Untrusted-ish input: a bad definition is skipped, never fatal.
38
+ if (!validated.ok || typeof widget.kind !== "string" || widget.kind === "")
39
+ continue;
40
+ const compiled = compileTemplate(validated.template);
41
+ const descriptor = isPlainObject(widget.descriptor) ? widget.descriptor : {};
42
+ try {
43
+ catalog.register(widget.kind, (payload) => compiled(payload), {
44
+ description: `Custom widget '${widget.kind}' supplied for preview.`,
45
+ dataShape: "Defined by the supplied definition.",
46
+ ...(descriptor.dataExample !== undefined
47
+ ? { dataExample: descriptor.dataExample }
48
+ : {})
49
+ });
50
+ }
51
+ catch {
52
+ continue; // a reserved/duplicate kind never breaks the designer
53
+ }
54
+ if (isPlainObject(descriptor.styles)) {
55
+ customStyles.set(widget.kind, widgetStylesToCss(descriptor.styles));
56
+ }
57
+ }
58
+ const kinds = catalog.kinds().filter((kind) => kind !== PREVIEW_KIND);
59
+ let mount;
60
+ function update(draft, diagnostics, previewKind) {
61
+ const renderingDraft = previewKind === undefined || previewKind === PREVIEW_KIND;
62
+ if (renderingDraft && !diagnostics.previewable) {
63
+ const issue = diagnostics.kind ??
64
+ (diagnostics.template
65
+ ? `${diagnostics.template.code}: ${diagnostics.template.message}` +
66
+ (diagnostics.template.path ? ` (at ${diagnostics.template.path})` : "")
67
+ : "Draft is not previewable.");
68
+ banner.hidden = false;
69
+ // Freezing needs something to freeze ON. On the first update there
70
+ // is no mount yet — reachable whenever a host supplies an invalid
71
+ // or reserved-kind `initialWidget` — and returning here left the
72
+ // pane blank, the one state the contract forbids.
73
+ if (mount === undefined) {
74
+ banner.textContent = `Nothing to preview yet — ${issue}`;
75
+ mountRoot.replaceChildren(h("div", { class: "wgd-preview-empty" }, [
76
+ "No preview: the draft has never been valid."
77
+ ]));
78
+ return;
79
+ }
80
+ banner.textContent = `Preview frozen on the last valid draft — ${issue}`;
81
+ return; // keep the last good render mounted
82
+ }
83
+ // A first valid render replaces the empty state.
84
+ mountRoot.querySelector(".wgd-preview-empty")?.remove();
85
+ banner.hidden = true;
86
+ banner.textContent = "";
87
+ if (renderingDraft) {
88
+ const validated = validateTemplate(draft.template);
89
+ if (!validated.ok)
90
+ return; // defensive: previewable implies ok
91
+ const shared = options.actions ?? [];
92
+ renderer = compileTemplate(validated.template, {
93
+ actions: (ref) => shared.find((action) => action.name === ref)?.definition
94
+ });
95
+ }
96
+ // Styles follow whatever is on screen: the draft's own, or the
97
+ // selected custom kind's (a built-in needs none).
98
+ kindStyles.textContent = renderingDraft
99
+ ? draft.descriptor.styles
100
+ ? widgetStylesToCss(draft.descriptor.styles)
101
+ : ""
102
+ : customStyles.get(previewKind) ?? "";
103
+ // Unsafe values are also skipped inside applyTheme (lenient layer).
104
+ applyTheme(mountRoot, draft.theme ?? {});
105
+ const payload = {
106
+ kind: renderingDraft ? PREVIEW_KIND : previewKind,
107
+ data: renderingDraft
108
+ ? draft.sampleData ?? draft.descriptor.dataExample ?? null
109
+ : sampleFor(previewKind)
110
+ };
111
+ if (mount === undefined) {
112
+ // No onAction: the preview never executes anything; bound elements
113
+ // only wear the inert badge below.
114
+ mount = mountWidget(payload, mountRoot, { catalog });
115
+ }
116
+ else {
117
+ mount.update(payload);
118
+ }
119
+ for (const bound of mountRoot.querySelectorAll("[data-wg-action]")) {
120
+ bound.classList.add("wg-designer-action");
121
+ }
122
+ }
123
+ /** Built-in preview data for the THEME designer's kind previews. */
124
+ function sampleFor(kind) {
125
+ return catalog.describe(kind)?.dataExample ?? { value: "preview" };
126
+ }
127
+ return {
128
+ pane,
129
+ kinds,
130
+ update,
131
+ dispose() {
132
+ mount?.dispose();
133
+ mount = undefined;
134
+ pane.replaceChildren();
135
+ }
136
+ };
137
+ }
138
+ //# sourceMappingURL=preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface RecordEditor {
2
+ element: HTMLElement;
3
+ getValue(): Record<string, string> | undefined;
4
+ setValue(record: Record<string, string> | undefined): void;
5
+ }
6
+ export declare function createRecordEditor(initial: Record<string, string> | undefined, placeholders: {
7
+ key: string;
8
+ value: string;
9
+ add: string;
10
+ }, onChange: (record: Record<string, string> | undefined) => void): RecordEditor;
11
+ //# sourceMappingURL=record-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-editor.d.ts","sourceRoot":"","sources":["../src/record-editor.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CAC5D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,YAAY,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACzD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KAAK,IAAI,GAC7D,YAAY,CAwFd"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Flat editor for a string→string record (hints: name → doc), under the
3
+ * same flat discipline as the styles tree — one slim row per entry,
4
+ * removal revealed by the row. Values are strings by construction, so
5
+ * the tree enforces the exact shape; anything looser is a JSON-tab
6
+ * affair.
7
+ */
8
+ import { h } from "./dom.js";
9
+ export function createRecordEditor(initial, placeholders, onChange) {
10
+ let current = initial;
11
+ const element = h("div", { class: "wgd-record" });
12
+ function commit(next) {
13
+ // An emptied record means "none" — the owning key drops entirely.
14
+ current = Object.keys(next).length > 0 ? next : undefined;
15
+ onChange(current);
16
+ render();
17
+ }
18
+ function changeInput(value, placeholder, className, onCommit) {
19
+ const input = h("input", {
20
+ type: "text",
21
+ class: className,
22
+ placeholder,
23
+ spellcheck: "false"
24
+ });
25
+ input.value = value;
26
+ input.addEventListener("change", () => onCommit(input.value));
27
+ return input;
28
+ }
29
+ function render() {
30
+ const record = current ?? {};
31
+ const rows = Object.entries(record).map(([key, value]) => {
32
+ const keyInput = changeInput(key, placeholders.key, "wgd-input wgd-rec-key", (next) => {
33
+ const entries = Object.entries(record).map(([k, v]) => k === key ? [next, v] : [k, v]);
34
+ commit(Object.fromEntries(entries));
35
+ });
36
+ const valueInput = changeInput(value, placeholders.value, "wgd-input wgd-rec-value", (next) => commit({ ...record, [key]: next }));
37
+ const remove = h("button", { class: "wgd-icon", type: "button", title: "Remove entry" }, ["✕"]);
38
+ remove.addEventListener("click", () => {
39
+ const { [key]: _gone, ...rest } = record;
40
+ commit(rest);
41
+ });
42
+ return h("div", { class: "wgd-rec-row" }, [
43
+ keyInput,
44
+ h("span", { class: "wgd-st-colon" }, [":"]),
45
+ valueInput,
46
+ remove
47
+ ]);
48
+ });
49
+ const add = h("button", { class: "wgd-button wgd-add wgd-st-add", type: "button" }, [placeholders.add]);
50
+ add.addEventListener("click", () => {
51
+ let key = "";
52
+ for (let i = 1; key in record; i++)
53
+ key = `key${i}`;
54
+ commit({ ...record, [key]: "" });
55
+ });
56
+ element.replaceChildren(...rows, h("div", { class: "wgd-toolbar" }, [add]));
57
+ }
58
+ render();
59
+ return {
60
+ element,
61
+ getValue: () => current,
62
+ setValue(record) {
63
+ if (element.contains(document.activeElement))
64
+ return;
65
+ current = record;
66
+ render();
67
+ }
68
+ };
69
+ }
70
+ //# sourceMappingURL=record-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-editor.js","sourceRoot":"","sources":["../src/record-editor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DataSchema } from "@widgentic/core";
2
+ export interface SchemaBuilder {
3
+ element: HTMLElement;
4
+ getValue(): DataSchema | undefined;
5
+ setValue(schema: DataSchema | undefined): void;
6
+ }
7
+ export declare function createSchemaBuilder(initial: DataSchema | undefined, onChange: (schema: DataSchema | undefined) => void): SchemaBuilder;
8
+ //# sourceMappingURL=schema-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.d.ts","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAYlD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,IAAI,UAAU,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;CAChD;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,GACjD,aAAa,CAsQf"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Structured editor for the dataSchema subset — the property-card pattern
3
+ * from the React schema-builder ecosystem, sized to widgentic's six
4
+ * keywords (type/properties/required/items/enum/pattern) so it stays a
5
+ * dependency-free couple hundred lines.
6
+ */
7
+ import { errorMessage } from "./internal.js";
8
+ import { isPlainObject } from "@widgentic/core";
9
+ import { diagnosticLine, fitSelect, h } from "./dom.js";
10
+ const TYPES = ["object", "array", "string", "number", "integer", "boolean", "null", "any"];
11
+ /**
12
+ * Types the builder offers `enum` for. The validator accepts `enum` on any
13
+ * type (deep JSON comparison, per JSON Schema), but enumerating whole
14
+ * objects/arrays belongs in the JSON tab, not a form.
15
+ */
16
+ const ENUM_TYPES = new Set(["string", "number", "integer", "any"]);
17
+ export function createSchemaBuilder(initial, onChange) {
18
+ let current = initial;
19
+ const element = h("div", { class: "wgd-schemabuilder" });
20
+ function commit(next, rerender = true) {
21
+ current = next;
22
+ onChange(current);
23
+ if (rerender)
24
+ render();
25
+ }
26
+ /** Rebuild a node with one key changed/removed (undefined removes). */
27
+ function withKey(node, key, value) {
28
+ const copy = { ...node };
29
+ if (value === undefined)
30
+ delete copy[key];
31
+ else
32
+ copy[key] = value;
33
+ return copy;
34
+ }
35
+ /**
36
+ * One schema node. `lead`/`trail` let a parent put the property name and
37
+ * its required/remove controls on the SAME row as the type select.
38
+ */
39
+ function renderNode(node, apply, depth, lead = [], trail = []) {
40
+ const rows = [];
41
+ const typeSelect = h("select", { class: "wgd-select wgd-sb-type" });
42
+ for (const t of TYPES)
43
+ typeSelect.append(h("option", { value: t }, [t]));
44
+ // Nullable type arrays ([<type>, "null"], either order) present as the
45
+ // PRIMARY type + a nullable toggle — never collapsing to "any", which
46
+ // silently hid pattern/enum for agent-authored nullable fields.
47
+ const rawType = node.type;
48
+ const typeList = Array.isArray(rawType)
49
+ ? rawType.filter((t) => typeof t === "string")
50
+ : undefined;
51
+ const nullable = typeList?.includes("null") ?? false;
52
+ const currentType = typeof rawType === "string"
53
+ ? rawType
54
+ : (typeList?.find((t) => t !== "null") ?? (nullable ? "null" : "any"));
55
+ typeSelect.value = TYPES.some((type) => type === currentType)
56
+ ? currentType
57
+ : "any";
58
+ fitSelect(typeSelect);
59
+ const nullBox = h("input", {
60
+ type: "checkbox",
61
+ title: "Also allows null"
62
+ });
63
+ nullBox.checked = nullable;
64
+ nullBox.disabled = typeSelect.value === "any" || typeSelect.value === "null";
65
+ /** The `type` value the current controls describe. */
66
+ function typeValue(selected, allowNull) {
67
+ if (selected === "any")
68
+ return undefined;
69
+ return allowNull && selected !== "null" ? [selected, "null"] : selected;
70
+ }
71
+ nullBox.addEventListener("change", () => {
72
+ apply(withKey(node, "type", typeValue(typeSelect.value, nullBox.checked)));
73
+ });
74
+ typeSelect.addEventListener("change", () => {
75
+ let next = withKey(node, "type", typeValue(typeSelect.value, nullBox.checked));
76
+ if (typeSelect.value !== "object") {
77
+ next = withKey(withKey(next, "properties", undefined), "required", undefined);
78
+ }
79
+ if (typeSelect.value !== "array")
80
+ next = withKey(next, "items", undefined);
81
+ if (typeSelect.value !== "string")
82
+ next = withKey(next, "pattern", undefined);
83
+ if (!ENUM_TYPES.has(typeSelect.value))
84
+ next = withKey(next, "enum", undefined);
85
+ apply(next);
86
+ });
87
+ // Header row: [name?] [type] [nullable] [required?] [remove?]
88
+ rows.push(h("div", { class: "wgd-sb-row" }, [
89
+ ...lead,
90
+ typeSelect,
91
+ h("label", { class: "wgd-sb-req wgd-sb-null", title: "Also allows null" }, [
92
+ nullBox,
93
+ "null"
94
+ ]),
95
+ ...trail
96
+ ]));
97
+ // Constraints row — only the ones this type can actually use.
98
+ const constraints = [];
99
+ if (typeSelect.value === "string") {
100
+ const pattern = h("input", {
101
+ type: "text",
102
+ class: "wgd-input wgd-sb-constraint",
103
+ placeholder: "pattern (regex, optional)"
104
+ });
105
+ pattern.value = typeof node.pattern === "string" ? node.pattern : "";
106
+ pattern.addEventListener("change", () => apply(withKey(node, "pattern", pattern.value === "" ? undefined : pattern.value)));
107
+ constraints.push(h("span", { class: "wgd-sb-label" }, ["pattern"]), pattern);
108
+ }
109
+ const enumError = diagnosticLine(undefined);
110
+ // `enum` is type-agnostic in the validator, but enumerating whole
111
+ // objects/arrays is a JSON-tab affair — the builder offers it where
112
+ // it is actually useful.
113
+ if (ENUM_TYPES.has(typeSelect.value)) {
114
+ const enumInput = h("input", {
115
+ type: "text",
116
+ class: "wgd-input wgd-sb-constraint",
117
+ placeholder: 'enum ["a","b"] (optional)'
118
+ });
119
+ enumInput.value = Array.isArray(node.enum) ? JSON.stringify(node.enum) : "";
120
+ enumInput.addEventListener("change", () => {
121
+ if (enumInput.value.trim() === "") {
122
+ enumError.hidden = true;
123
+ apply(withKey(node, "enum", undefined));
124
+ return;
125
+ }
126
+ try {
127
+ const parsed = JSON.parse(enumInput.value);
128
+ if (!Array.isArray(parsed))
129
+ throw new Error("must be a JSON array");
130
+ enumError.hidden = true;
131
+ apply(withKey(node, "enum", parsed));
132
+ }
133
+ catch (error) {
134
+ enumError.hidden = false;
135
+ enumError.textContent = `enum ignored: ${errorMessage(error)}`;
136
+ }
137
+ });
138
+ constraints.push(h("span", { class: "wgd-sb-label" }, ["enum"]), enumInput);
139
+ }
140
+ if (constraints.length > 0) {
141
+ rows.push(h("div", { class: "wgd-sb-row wgd-sb-constraints" }, constraints), enumError);
142
+ }
143
+ // Object: property cards + required toggles
144
+ if (typeSelect.value === "object") {
145
+ const properties = isPlainObject(node.properties) ? node.properties : {};
146
+ const required = Array.isArray(node.required)
147
+ ? node.required.filter((k) => typeof k === "string")
148
+ : [];
149
+ const cards = h("div", { class: "wgd-jt-children" });
150
+ for (const [name, sub] of Object.entries(properties)) {
151
+ const nameInput = h("input", {
152
+ type: "text",
153
+ class: "wgd-input wgd-sb-prop",
154
+ placeholder: "property name"
155
+ });
156
+ nameInput.value = name;
157
+ nameInput.addEventListener("change", () => {
158
+ const entries = Object.entries(properties).map(([k, v]) => k === name ? [nameInput.value, v] : [k, v]);
159
+ const nextRequired = required.map((k) => (k === name ? nameInput.value : k));
160
+ apply(withKey(withKey(node, "properties", Object.fromEntries(entries)), "required", nextRequired.length > 0 ? nextRequired : undefined));
161
+ });
162
+ const requiredBox = h("input", { type: "checkbox", title: "required" });
163
+ requiredBox.checked = required.includes(name);
164
+ requiredBox.addEventListener("change", () => {
165
+ const nextRequired = requiredBox.checked
166
+ ? [...required, name]
167
+ : required.filter((k) => k !== name);
168
+ apply(withKey(node, "required", nextRequired.length > 0 ? nextRequired : undefined));
169
+ });
170
+ const removeProp = h("button", { class: "wgd-icon", type: "button", title: "Remove property" }, ["✕"]);
171
+ removeProp.addEventListener("click", () => {
172
+ const { [name]: _gone, ...rest } = properties;
173
+ apply(withKey(withKey(node, "properties", Object.keys(rest).length > 0 ? rest : undefined), "required", required.filter((k) => k !== name).length > 0
174
+ ? required.filter((k) => k !== name)
175
+ : undefined));
176
+ });
177
+ // Name, type, required and remove all share the property's first row.
178
+ cards.append(renderNode(isPlainObject(sub) ? sub : {}, (nextSub) => apply(withKey(node, "properties", { ...properties, [name]: nextSub })), depth + 1, [nameInput], [
179
+ h("label", { class: "wgd-sb-req", title: "required" }, [requiredBox, "req"]),
180
+ removeProp
181
+ ]));
182
+ }
183
+ const addProp = h("button", { class: "wgd-button wgd-add", type: "button" }, [
184
+ "+ property"
185
+ ]);
186
+ addProp.addEventListener("click", () => {
187
+ let name = "field";
188
+ for (let i = 1; name in properties; i++)
189
+ name = `field${i}`;
190
+ apply(withKey(node, "properties", { ...properties, [name]: { type: "string" } }));
191
+ });
192
+ cards.append(h("div", { class: "wgd-toolbar" }, [addProp]));
193
+ rows.push(cards);
194
+ }
195
+ // Array: items node
196
+ if (typeSelect.value === "array") {
197
+ rows.push(h("div", { class: "wgd-slot" }, [
198
+ renderNode(isPlainObject(node.items) ? node.items : {}, (nextItems) => apply(withKey(node, "items", nextItems)), depth + 1, [h("span", { class: "wgd-sb-label" }, ["items"])])
199
+ ]));
200
+ }
201
+ return h("div", { class: depth === 0 ? "wgd-sb-root" : "wgd-sb-node" }, rows);
202
+ }
203
+ function render() {
204
+ if (current === undefined) {
205
+ const start = h("button", { class: "wgd-button wgd-add", type: "button" }, [
206
+ "+ add a data schema"
207
+ ]);
208
+ start.addEventListener("click", () => commit({ type: "object" }));
209
+ element.replaceChildren(h("div", undefined, [
210
+ h("span", { class: "wgd-sb-label" }, [
211
+ "No schema — data is accepted leniently."
212
+ ]),
213
+ h("div", { class: "wgd-toolbar" }, [start])
214
+ ]));
215
+ return;
216
+ }
217
+ const clear = h("button", { class: "wgd-button wgd-add wgd-remove", type: "button" }, [
218
+ "remove schema"
219
+ ]);
220
+ clear.addEventListener("click", () => commit(undefined));
221
+ element.replaceChildren(renderNode(current, (next) => commit(next), 0), h("div", { class: "wgd-toolbar" }, [clear]));
222
+ }
223
+ render();
224
+ return {
225
+ element,
226
+ getValue: () => current,
227
+ setValue(schema) {
228
+ if (element.contains(document.activeElement))
229
+ return;
230
+ current = schema;
231
+ render();
232
+ }
233
+ };
234
+ }
235
+ //# sourceMappingURL=schema-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-builder.js","sourceRoot":"","sources":["../src/schema-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ export interface SchemaEntry {
2
+ name: string;
3
+ label?: string;
4
+ description?: string;
5
+ schema: Record<string, unknown>;
6
+ }
7
+ export interface SchemaDesignerOptions {
8
+ initialSchema?: SchemaEntry;
9
+ appearance?: "auto" | "light" | "dark";
10
+ /**
11
+ * Mount with editing disabled: panels stay visible but inert. Toggle
12
+ * later via `setReadOnly`.
13
+ */
14
+ readOnly?: boolean;
15
+ }
16
+ export type SchemaLoadResult = {
17
+ ok: true;
18
+ } | {
19
+ ok: false;
20
+ errors: string[];
21
+ };
22
+ export interface SchemaDesignerHandle {
23
+ getSchema(): SchemaEntry;
24
+ loadSchema(entry: unknown): SchemaLoadResult;
25
+ /** Disable/enable editing. */
26
+ setReadOnly(readOnly: boolean): void;
27
+ subscribe(listener: (entry: SchemaEntry) => void): () => void;
28
+ dispose(): void;
29
+ }
30
+ /** Validate an untrusted entry; errors instead of throwing. */
31
+ export declare function checkSchemaEntry(entry: unknown): string[];
32
+ export declare function createSchemaDesigner(container: Element, options?: SchemaDesignerOptions): SchemaDesignerHandle;
33
+ //# sourceMappingURL=schema-designer.d.ts.map