@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.
- package/LICENSE +21 -0
- package/README.md +27 -0
- package/dist/action-designer.d.ts +35 -0
- package/dist/action-designer.d.ts.map +1 -0
- package/dist/action-designer.js +294 -0
- package/dist/action-designer.js.map +1 -0
- package/dist/action-editor.d.ts +49 -0
- package/dist/action-editor.d.ts.map +1 -0
- package/dist/action-editor.js +515 -0
- package/dist/action-editor.js.map +1 -0
- package/dist/browser/widgentic-designer.js +433 -0
- package/dist/browser/widgentic-designer.js.map +7 -0
- package/dist/browser.d.ts +2 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +12 -0
- package/dist/browser.js.map +1 -0
- package/dist/dom.d.ts +37 -0
- package/dist/dom.d.ts.map +1 -0
- package/dist/dom.js +387 -0
- package/dist/dom.js.map +1 -0
- package/dist/element.d.ts +12 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +131 -0
- package/dist/element.js.map +1 -0
- package/dist/highlight.d.ts +30 -0
- package/dist/highlight.d.ts.map +1 -0
- package/dist/highlight.js +123 -0
- package/dist/highlight.js.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/internal.d.ts +6 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/internal.js +10 -0
- package/dist/internal.js.map +1 -0
- package/dist/io.d.ts +32 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +155 -0
- package/dist/io.js.map +1 -0
- package/dist/json-tree-editor.d.ts +8 -0
- package/dist/json-tree-editor.d.ts.map +1 -0
- package/dist/json-tree-editor.js +186 -0
- package/dist/json-tree-editor.js.map +1 -0
- package/dist/panels.d.ts +13 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +414 -0
- package/dist/panels.js.map +1 -0
- package/dist/preview.d.ts +40 -0
- package/dist/preview.d.ts.map +1 -0
- package/dist/preview.js +138 -0
- package/dist/preview.js.map +1 -0
- package/dist/record-editor.d.ts +11 -0
- package/dist/record-editor.d.ts.map +1 -0
- package/dist/record-editor.js +70 -0
- package/dist/record-editor.js.map +1 -0
- package/dist/schema-builder.d.ts +8 -0
- package/dist/schema-builder.d.ts.map +1 -0
- package/dist/schema-builder.js +235 -0
- package/dist/schema-builder.js.map +1 -0
- package/dist/schema-designer.d.ts +33 -0
- package/dist/schema-designer.d.ts.map +1 -0
- package/dist/schema-designer.js +251 -0
- package/dist/schema-designer.js.map +1 -0
- package/dist/schema-form.d.ts +8 -0
- package/dist/schema-form.d.ts.map +1 -0
- package/dist/schema-form.js +181 -0
- package/dist/schema-form.js.map +1 -0
- package/dist/schema-paths.d.ts +18 -0
- package/dist/schema-paths.d.ts.map +1 -0
- package/dist/schema-paths.js +75 -0
- package/dist/schema-paths.js.map +1 -0
- package/dist/seed.d.ts +18 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +299 -0
- package/dist/seed.js.map +1 -0
- package/dist/shell.d.ts +59 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +102 -0
- package/dist/shell.js.map +1 -0
- package/dist/store.d.ts +44 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +71 -0
- package/dist/store.js.map +1 -0
- package/dist/styles-editor.d.ts +8 -0
- package/dist/styles-editor.d.ts.map +1 -0
- package/dist/styles-editor.js +100 -0
- package/dist/styles-editor.js.map +1 -0
- package/dist/template-panel.d.ts +19 -0
- package/dist/template-panel.d.ts.map +1 -0
- package/dist/template-panel.js +585 -0
- package/dist/template-panel.js.map +1 -0
- package/dist/theme-designer.d.ts +35 -0
- package/dist/theme-designer.d.ts.map +1 -0
- package/dist/theme-designer.js +336 -0
- package/dist/theme-designer.js.map +1 -0
- package/dist/theme-panel.d.ts +20 -0
- package/dist/theme-panel.d.ts.map +1 -0
- package/dist/theme-panel.js +96 -0
- package/dist/theme-panel.js.map +1 -0
- package/dist/validate.d.ts +57 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +131 -0
- package/dist/validate.js.map +1 -0
- 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"}
|
package/dist/preview.js
ADDED
|
@@ -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
|