@widgentic/designer 0.1.0 → 0.2.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/README.md +52 -0
- package/dist/action-designer.d.ts +8 -0
- package/dist/action-designer.d.ts.map +1 -1
- package/dist/action-designer.js +2 -1
- package/dist/action-designer.js.map +1 -1
- package/dist/browser/widgentic-designer.js +77 -71
- package/dist/browser/widgentic-designer.js.map +3 -3
- package/dist/dom.d.ts +18 -0
- package/dist/dom.d.ts.map +1 -1
- package/dist/dom.js +112 -57
- package/dist/dom.js.map +1 -1
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +18 -10
- package/dist/element.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/schema-designer.d.ts +8 -0
- package/dist/schema-designer.d.ts.map +1 -1
- package/dist/schema-designer.js +3 -2
- package/dist/schema-designer.js.map +1 -1
- package/dist/shell.d.ts +8 -0
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +2 -1
- package/dist/shell.js.map +1 -1
- package/dist/theme-designer.d.ts +8 -0
- package/dist/theme-designer.d.ts.map +1 -1
- package/dist/theme-designer.js +2 -1
- package/dist/theme-designer.js.map +1 -1
- package/package.json +1 -1
package/dist/dom.d.ts
CHANGED
|
@@ -32,6 +32,24 @@ export declare function fitSelect(select: HTMLSelectElement): void;
|
|
|
32
32
|
export declare function menuButton(label: string, title: string, options: string[], onPick: (option: string) => void): HTMLElement;
|
|
33
33
|
/** Inline diagnostic line (empty text removes it from the flow). */
|
|
34
34
|
export declare function diagnosticLine(text: string | undefined): HTMLElement;
|
|
35
|
+
/**
|
|
36
|
+
* The chrome tokens — every `--wgd-<token>` the stylesheet paints with.
|
|
37
|
+
* Colours (18) follow the light/dark blocks; typography, shape and shadow
|
|
38
|
+
* are scheme-independent. Public API: a rename is a spec change.
|
|
39
|
+
*/
|
|
40
|
+
export declare const CHROME_TOKENS: readonly ["bg", "panel", "border", "line", "text", "muted", "accent", "accent-bg", "accent-line", "danger", "danger-bg", "danger-line", "hover", "hl-key", "hl-str", "hl-num", "hl-bool", "hl-punct", "font", "font-mono", "font-size", "font-size-sm", "font-size-xs", "radius-sm", "radius", "radius-lg", "gap", "shadow"];
|
|
41
|
+
export type ChromeToken = (typeof CHROME_TOKENS)[number];
|
|
42
|
+
/** A host's partial chrome: token → CSS value (`var()` references welcome). */
|
|
43
|
+
export type ChromeOptions = Partial<Record<ChromeToken, string>>;
|
|
44
|
+
/**
|
|
45
|
+
* Apply a host's chrome on a designer root as inline custom properties —
|
|
46
|
+
* the style attribute outranks every rule in the injected stylesheet, so
|
|
47
|
+
* the host's values win over the light/dark defaults. Unknown tokens,
|
|
48
|
+
* non-string values and CSS-wide keywords are ignored at the door.
|
|
49
|
+
*/
|
|
50
|
+
export declare function applyChrome(root: HTMLElement, chrome: ChromeOptions | undefined): void;
|
|
51
|
+
/** The element form of the option: a `chrome` attribute holding JSON; anything else → nothing. */
|
|
52
|
+
export declare function parseChromeAttribute(value: string | null): ChromeOptions | undefined;
|
|
35
53
|
/** Designer chrome stylesheet — injected once per document. */
|
|
36
54
|
export declare function injectDesignerStyles(doc: Document): void;
|
|
37
55
|
//# sourceMappingURL=dom.d.ts.map
|
package/dist/dom.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAElC,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAChE,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,CAAC,GACV,qBAAqB,CAAC,CAAC,CAAC,CAI1B;AAED,wBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACrD,GAAG,EAAE,CAAC,EACN,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,CAAC,EAAE,KAAK,EAAE,GACjB,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC5B,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;AAgBhG,0DAA0D;AAC1D,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,WAAW,CAQb;AAED,4DAA4D;AAC5D,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,IAAI,SAAI,GACP,WAAW,CAcb;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,UAAO,GAAG,WAAW,CAOlF;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAOzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAC/B,WAAW,CA6Cb;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAIpE;AAID,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAElC,8FAA8F;AAC9F,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAChE,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,CAAC,GACV,qBAAqB,CAAC,CAAC,CAAC,CAI1B;AAED,wBAAgB,CAAC,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACrD,GAAG,EAAE,CAAC,EACN,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,QAAQ,CAAC,EAAE,KAAK,EAAE,GACjB,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC5B,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;AAgBhG,0DAA0D;AAC1D,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,WAAW,CAQb;AAED,4DAA4D;AAC5D,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,IAAI,SAAI,GACP,WAAW,CAcb;AAED,oDAAoD;AACpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,UAAO,GAAG,WAAW,CAOlF;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAOzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAC/B,WAAW,CA6Cb;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAIpE;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,YACxB,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAChD,QAAQ,EAAE,WAAW,EAAE,aAAa,EACpC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAC7C,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EACnD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAChE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAC3C,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AASjE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAOtF;AAED,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,SAAS,CASpF;AAID,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmQxD"}
|
package/dist/dom.js
CHANGED
|
@@ -127,6 +127,55 @@ export function diagnosticLine(text) {
|
|
|
127
127
|
el.setAttribute("hidden", "");
|
|
128
128
|
return el;
|
|
129
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* The chrome tokens — every `--wgd-<token>` the stylesheet paints with.
|
|
132
|
+
* Colours (18) follow the light/dark blocks; typography, shape and shadow
|
|
133
|
+
* are scheme-independent. Public API: a rename is a spec change.
|
|
134
|
+
*/
|
|
135
|
+
export const CHROME_TOKENS = [
|
|
136
|
+
"bg", "panel", "border", "line", "text", "muted",
|
|
137
|
+
"accent", "accent-bg", "accent-line",
|
|
138
|
+
"danger", "danger-bg", "danger-line", "hover",
|
|
139
|
+
"hl-key", "hl-str", "hl-num", "hl-bool", "hl-punct",
|
|
140
|
+
"font", "font-mono", "font-size", "font-size-sm", "font-size-xs",
|
|
141
|
+
"radius-sm", "radius", "radius-lg", "gap", "shadow"
|
|
142
|
+
];
|
|
143
|
+
const CHROME_TOKEN_SET = new Set(CHROME_TOKENS);
|
|
144
|
+
// On a custom property a CSS-wide keyword acts on the property itself (it
|
|
145
|
+
// inherits/resets the TOKEN, not the consumer), so it never expresses what
|
|
146
|
+
// a host means by it; hosts pass `var(--their-token, fallback)` instead.
|
|
147
|
+
const CSS_WIDE_KEYWORD = /^(inherit|initial|unset|revert|revert-layer)$/i;
|
|
148
|
+
/**
|
|
149
|
+
* Apply a host's chrome on a designer root as inline custom properties —
|
|
150
|
+
* the style attribute outranks every rule in the injected stylesheet, so
|
|
151
|
+
* the host's values win over the light/dark defaults. Unknown tokens,
|
|
152
|
+
* non-string values and CSS-wide keywords are ignored at the door.
|
|
153
|
+
*/
|
|
154
|
+
export function applyChrome(root, chrome) {
|
|
155
|
+
if (chrome === undefined)
|
|
156
|
+
return;
|
|
157
|
+
for (const [token, value] of Object.entries(chrome)) {
|
|
158
|
+
if (!CHROME_TOKEN_SET.has(token))
|
|
159
|
+
continue;
|
|
160
|
+
if (typeof value !== "string" || CSS_WIDE_KEYWORD.test(value.trim()))
|
|
161
|
+
continue;
|
|
162
|
+
root.style.setProperty(`--wgd-${token}`, value);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/** The element form of the option: a `chrome` attribute holding JSON; anything else → nothing. */
|
|
166
|
+
export function parseChromeAttribute(value) {
|
|
167
|
+
if (value === null)
|
|
168
|
+
return undefined;
|
|
169
|
+
try {
|
|
170
|
+
const parsed = JSON.parse(value);
|
|
171
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
|
|
172
|
+
return undefined;
|
|
173
|
+
return parsed;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
130
179
|
const STYLE_MARKER = "data-widgentic-designer";
|
|
131
180
|
/** Designer chrome stylesheet — injected once per document. */
|
|
132
181
|
export function injectDesignerStyles(doc) {
|
|
@@ -135,8 +184,10 @@ export function injectDesignerStyles(doc) {
|
|
|
135
184
|
const style = doc.createElement("style");
|
|
136
185
|
style.setAttribute(STYLE_MARKER, "chrome");
|
|
137
186
|
style.textContent = `
|
|
138
|
-
/* Chrome
|
|
139
|
-
|
|
187
|
+
/* Chrome tokens (CHROME_TOKENS): light colours, overridden for dark below;
|
|
188
|
+
typography, shape and shadow are scheme-independent. A host overrides any
|
|
189
|
+
of them through options.chrome (inline on the root). Widget content inside
|
|
190
|
+
the preview keeps its own --wg-* theme tokens. */
|
|
140
191
|
.wgd-root {
|
|
141
192
|
--wgd-bg: #ffffff; --wgd-panel: #fbfcfe; --wgd-border: #d5dbe3;
|
|
142
193
|
--wgd-line: #e2e8f0; --wgd-text: #1f2430; --wgd-muted: #5b6472;
|
|
@@ -145,6 +196,10 @@ export function injectDesignerStyles(doc) {
|
|
|
145
196
|
--wgd-hover: #eef2f7;
|
|
146
197
|
--wgd-hl-key: #0b5fa5; --wgd-hl-str: #0a7a3d; --wgd-hl-num: #b45309;
|
|
147
198
|
--wgd-hl-bool: #7c3aed; --wgd-hl-punct: #7a8494;
|
|
199
|
+
--wgd-font: system-ui, sans-serif; --wgd-font-mono: ui-monospace, monospace;
|
|
200
|
+
--wgd-font-size: 13px; --wgd-font-size-sm: 12px; --wgd-font-size-xs: 11px;
|
|
201
|
+
--wgd-radius-sm: 3px; --wgd-radius: 4px; --wgd-radius-lg: 6px; --wgd-gap: 16px;
|
|
202
|
+
--wgd-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
|
|
148
203
|
}
|
|
149
204
|
@media (prefers-color-scheme: dark) {
|
|
150
205
|
.wgd-root:not([data-wgd-theme="light"]) {
|
|
@@ -166,7 +221,7 @@ export function injectDesignerStyles(doc) {
|
|
|
166
221
|
--wgd-hl-key: #7aa2f7; --wgd-hl-str: #9ece6a; --wgd-hl-num: #ff9e64;
|
|
167
222
|
--wgd-hl-bool: #bb9af7; --wgd-hl-punct: #8b94a7;
|
|
168
223
|
}
|
|
169
|
-
.wgd-root { display: flex; gap:
|
|
224
|
+
.wgd-root { display: flex; gap: var(--wgd-gap); font-family: var(--wgd-font); font-size: var(--wgd-font-size); align-items: flex-start; color: var(--wgd-text); background: var(--wgd-bg); }
|
|
170
225
|
/* Any chrome class that sets display would silently defeat the hidden
|
|
171
226
|
attribute (learned live twice: the add menu, then the styles tree as a
|
|
172
227
|
tab pane). hidden always wins — scoped to the designer's own tree. */
|
|
@@ -178,7 +233,7 @@ export function injectDesignerStyles(doc) {
|
|
|
178
233
|
.wgd-readonly .wgd-section-body[inert] { opacity: 0.75; }
|
|
179
234
|
/* Empty preview state — shown only when there has never been a valid
|
|
180
235
|
render to freeze on; a blank pane is the one state the contract bans. */
|
|
181
|
-
.wgd-preview-empty { color: var(--wgd-muted); font-style: italic; font-size:
|
|
236
|
+
.wgd-preview-empty { color: var(--wgd-muted); font-style: italic; font-size: var(--wgd-font-size-sm); }
|
|
182
237
|
.wgd-readonly [inert] .wgd-input,
|
|
183
238
|
.wgd-readonly [inert] .wgd-select,
|
|
184
239
|
.wgd-readonly [inert] .wgd-textarea,
|
|
@@ -194,62 +249,62 @@ export function injectDesignerStyles(doc) {
|
|
|
194
249
|
.wgd-panels { flex: 1 1 460px; min-width: 340px; display: flex; flex-direction: column; gap: 8px; }
|
|
195
250
|
.wgd-side { flex: 1 1 420px; min-width: 320px; display: flex; flex-direction: column; gap: 8px; position: sticky; top: 8px; }
|
|
196
251
|
.wgd-preview-pane { display: flex; flex-direction: column; gap: 8px; }
|
|
197
|
-
.wgd-section { border: 1px solid var(--wgd-border); border-radius:
|
|
252
|
+
.wgd-section { border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius-lg); padding: 6px 10px; background: var(--wgd-panel); }
|
|
198
253
|
.wgd-section-title { cursor: pointer; font-weight: 600; }
|
|
199
254
|
.wgd-section-body { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; }
|
|
200
255
|
.wgd-field { display: flex; flex-direction: column; gap: 2px; }
|
|
201
|
-
.wgd-field-label { color: var(--wgd-muted); font-size:
|
|
202
|
-
.wgd-input, .wgd-textarea, .wgd-select { font: inherit; padding: 4px 6px; border: 1px solid var(--wgd-border); border-radius:
|
|
256
|
+
.wgd-field-label { color: var(--wgd-muted); font-size: var(--wgd-font-size-sm); }
|
|
257
|
+
.wgd-input, .wgd-textarea, .wgd-select { font: inherit; padding: 4px 6px; border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius); background: var(--wgd-bg); color: var(--wgd-text); }
|
|
203
258
|
/* Textareas fill their panel regardless of the intrinsic cols width. */
|
|
204
|
-
.wgd-textarea { font-family:
|
|
205
|
-
.wgd-preview .wg-designer-action { position: relative; outline: 1px dashed var(--wgd-muted
|
|
206
|
-
.wgd-preview .wg-designer-action::after { content: "⚡ action"; position: absolute; top: -0.9em; right: 0; font:
|
|
207
|
-
.wgd-binding { display: flex; flex-direction: column; gap: 6px; padding: 6px 8px; border: 1px dashed var(--wgd-border
|
|
208
|
-
.wgd-binding-field { min-width: 8ch; font-family:
|
|
259
|
+
.wgd-textarea { font-family: var(--wgd-font-mono); white-space: pre; width: 100%; box-sizing: border-box; min-width: 0; resize: vertical; }
|
|
260
|
+
.wgd-preview .wg-designer-action { position: relative; outline: 1px dashed var(--wgd-muted); outline-offset: 2px; }
|
|
261
|
+
.wgd-preview .wg-designer-action::after { content: "⚡ action"; position: absolute; top: -0.9em; right: 0; font: calc(var(--wgd-font-size-xs) - 1px) var(--wgd-font); color: var(--wgd-muted); background: var(--wgd-panel); padding: 0 4px; border-radius: var(--wgd-radius-sm); pointer-events: none; }
|
|
262
|
+
.wgd-binding { display: flex; flex-direction: column; gap: 6px; padding: 6px 8px; border: 1px dashed var(--wgd-border); border-radius: var(--wgd-radius); margin: 4px 0; }
|
|
263
|
+
.wgd-binding-field { min-width: 8ch; font-family: var(--wgd-font-mono); font-size: var(--wgd-font-size-sm); }
|
|
209
264
|
.wgd-action-definition { display: flex; flex-direction: column; gap: 6px; }
|
|
210
265
|
.wgd-action-schema { display: flex; flex-direction: column; gap: 4px; padding: 4px 0; }
|
|
211
|
-
.wgd-test-output { font:
|
|
212
|
-
.wgd-diagnostic { color: var(--wgd-danger); font-size:
|
|
213
|
-
.wgd-banner { border: 1px solid var(--wgd-danger-line); background: var(--wgd-danger-bg); color: var(--wgd-danger); border-radius:
|
|
266
|
+
.wgd-test-output { font: var(--wgd-font-size-sm) var(--wgd-font-mono); white-space: pre-wrap; word-break: break-all; max-height: 240px; overflow: auto; margin: 6px 0 0; }
|
|
267
|
+
.wgd-diagnostic { color: var(--wgd-danger); font-size: var(--wgd-font-size-sm); white-space: pre-wrap; }
|
|
268
|
+
.wgd-banner { border: 1px solid var(--wgd-danger-line); background: var(--wgd-danger-bg); color: var(--wgd-danger); border-radius: var(--wgd-radius-lg); padding: 8px 10px; margin-bottom: 8px; }
|
|
214
269
|
/* The preview is the WIDGET's surface, not chrome: it establishes the
|
|
215
270
|
--wg-* context (like composePage does for page output) so widget content
|
|
216
271
|
— including custom kinds the base stylesheet doesn't color — never
|
|
217
272
|
inherits the designer's own text/background. */
|
|
218
|
-
.wgd-preview { border: 1px dashed var(--wgd-border); border-radius:
|
|
273
|
+
.wgd-preview { border: 1px dashed var(--wgd-border); border-radius: var(--wgd-radius-lg); padding: 16px; background: var(--wg-bg); color: var(--wg-fg); }
|
|
219
274
|
.wgd-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
|
|
220
|
-
.wgd-button { font: inherit; padding: 4px 10px; border: 1px solid var(--wgd-border); border-radius:
|
|
275
|
+
.wgd-button { font: inherit; padding: 4px 10px; border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius); background: var(--wgd-bg); color: var(--wgd-text); cursor: pointer; }
|
|
221
276
|
.wgd-button:hover { background: var(--wgd-hover); }
|
|
222
277
|
.wgd-tab-active { background: var(--wgd-accent-bg); border-color: var(--wgd-accent); }
|
|
223
278
|
/* Shared tree/editor chrome (JSON tree, schema builder/form, template tree) */
|
|
224
279
|
.wgd-jt-children, .wgd-children { margin-left: 10px; padding-left: 10px; border-left: 2px solid var(--wgd-line); display: flex; flex-direction: column; gap: 4px; }
|
|
225
280
|
.wgd-jt-row { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
|
|
226
281
|
.wgd-jt-entry { padding: 2px 0; }
|
|
227
|
-
.wgd-jt-key { font-family:
|
|
282
|
+
.wgd-jt-key { font-family: var(--wgd-font-mono); color: var(--wgd-muted); min-width: 2ch; }
|
|
228
283
|
.wgd-jt-keyinput, .wgd-jt-type { max-width: 12ch; }
|
|
229
|
-
.wgd-jt-summary { cursor: pointer; color: var(--wgd-muted); font-size:
|
|
230
|
-
.wgd-sf-object { border: 1px solid var(--wgd-line); border-radius:
|
|
284
|
+
.wgd-jt-summary { cursor: pointer; color: var(--wgd-muted); font-size: var(--wgd-font-size-sm); }
|
|
285
|
+
.wgd-sf-object { border: 1px solid var(--wgd-line); border-radius: var(--wgd-radius-lg); padding: 6px 10px; margin: 4px 0; }
|
|
231
286
|
/* Schema builder: property name + type + required on one row. */
|
|
232
287
|
.wgd-sb-node { margin-left: 8px; padding: 1px 0 1px 8px; border-left: 2px solid var(--wgd-line); }
|
|
233
288
|
.wgd-sb-row { display: flex; gap: 4px; align-items: center; flex-wrap: nowrap; padding: 1px 0; }
|
|
234
289
|
.wgd-sb-constraints { padding-left: 12px; }
|
|
235
|
-
.wgd-sb-label { color: var(--wgd-muted); font-size:
|
|
236
|
-
.wgd-sb-prop { flex: 1 1 auto; min-width: 6ch; font-family:
|
|
237
|
-
.wgd-sb-type { flex: 0 0 auto; max-width: 11ch; font-size:
|
|
238
|
-
.wgd-sb-req { display: flex; gap: 2px; align-items: center; color: var(--wgd-muted); font-size:
|
|
239
|
-
.wgd-sb-constraint { flex: 1 1 auto; min-width: 6ch; font-size:
|
|
290
|
+
.wgd-sb-label { color: var(--wgd-muted); font-size: var(--wgd-font-size-xs); flex: 0 0 auto; }
|
|
291
|
+
.wgd-sb-prop { flex: 1 1 auto; min-width: 6ch; font-family: var(--wgd-font-mono); }
|
|
292
|
+
.wgd-sb-type { flex: 0 0 auto; max-width: 11ch; font-size: var(--wgd-font-size-sm); }
|
|
293
|
+
.wgd-sb-req { display: flex; gap: 2px; align-items: center; color: var(--wgd-muted); font-size: var(--wgd-font-size-xs); flex: 0 0 auto; }
|
|
294
|
+
.wgd-sb-constraint { flex: 1 1 auto; min-width: 6ch; font-size: var(--wgd-font-size-sm); }
|
|
240
295
|
.wgd-sb-root { padding: 2px 0 2px 8px; border-left: 2px solid transparent; }
|
|
241
296
|
/* Schema builder: the template tree's flat discipline — chrome on
|
|
242
297
|
hover/focus only, removal revealed by the row, fitted type selects. */
|
|
243
|
-
.wgd-schemabuilder .wgd-input, .wgd-schemabuilder .wgd-select { padding: 1px 4px; font-size:
|
|
298
|
+
.wgd-schemabuilder .wgd-input, .wgd-schemabuilder .wgd-select { padding: 1px 4px; font-size: var(--wgd-font-size-sm); border-color: transparent; background: transparent; }
|
|
244
299
|
.wgd-schemabuilder .wgd-input:hover, .wgd-schemabuilder .wgd-select:hover,
|
|
245
300
|
.wgd-schemabuilder .wgd-input:focus, .wgd-schemabuilder .wgd-select:focus { border-color: var(--wgd-border); background: var(--wgd-bg); }
|
|
246
301
|
.wgd-schemabuilder .wgd-sb-type { flex: 0 0 auto; box-sizing: border-box; max-width: none; color: var(--wgd-accent); }
|
|
247
|
-
.wgd-schemabuilder .wgd-sb-prop { font-size:
|
|
248
|
-
.wgd-sb-row { border-radius:
|
|
302
|
+
.wgd-schemabuilder .wgd-sb-prop { font-size: var(--wgd-font-size-sm); color: var(--wgd-hl-key); }
|
|
303
|
+
.wgd-sb-row { border-radius: var(--wgd-radius-sm); }
|
|
249
304
|
.wgd-sb-row:hover { background: var(--wgd-hover); }
|
|
250
305
|
.wgd-sb-row > .wgd-icon { visibility: hidden; }
|
|
251
306
|
.wgd-sb-row:hover > .wgd-icon, .wgd-sb-row:focus-within > .wgd-icon { visibility: visible; }
|
|
252
|
-
.wgd-schemabuilder .wgd-button { font-size:
|
|
307
|
+
.wgd-schemabuilder .wgd-button { font-size: var(--wgd-font-size-xs); padding: 0 6px; border-color: transparent; color: var(--wgd-accent); background: none; }
|
|
253
308
|
.wgd-schemabuilder .wgd-button:hover { border-color: var(--wgd-border); background: var(--wgd-hover); }
|
|
254
309
|
.wgd-remove { color: var(--wgd-danger); }
|
|
255
310
|
/* Breathing room between a tab strip and its active pane. */
|
|
@@ -258,18 +313,18 @@ export function injectDesignerStyles(doc) {
|
|
|
258
313
|
Controls stay flat (chrome appears on hover/focus) so a deep template
|
|
259
314
|
reads like the JSON it projects, not like a form. */
|
|
260
315
|
.wgd-node { padding: 0 0 0 4px; }
|
|
261
|
-
.wgd-node-row { display: flex; gap: 4px; align-items: center; flex-wrap: nowrap; padding: 1px 0; border-radius:
|
|
316
|
+
.wgd-node-row { display: flex; gap: 4px; align-items: center; flex-wrap: nowrap; padding: 1px 0; border-radius: var(--wgd-radius-sm); }
|
|
262
317
|
.wgd-node-row:hover { background: var(--wgd-hover); }
|
|
263
|
-
.wgd-node-badge { font-family:
|
|
318
|
+
.wgd-node-badge { font-family: var(--wgd-font-mono); font-size: var(--wgd-font-size-xs); color: var(--wgd-accent); background: var(--wgd-accent-bg); border-radius: var(--wgd-radius-sm); padding: 0 5px; flex: 0 0 auto; }
|
|
264
319
|
.wgd-node-icons { display: flex; gap: 2px; margin-left: auto; flex: 0 0 auto; visibility: hidden; }
|
|
265
320
|
.wgd-node-row:hover > .wgd-node-icons, .wgd-node-row:focus-within > .wgd-node-icons { visibility: visible; }
|
|
266
321
|
.wgd-node-value { flex: 1 1 auto; min-width: 4ch; }
|
|
267
|
-
.wgd-icon { font: inherit; font-size:
|
|
322
|
+
.wgd-icon { font: inherit; font-size: var(--wgd-font-size-xs); line-height: 1.4; padding: 0 5px; border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius-sm); background: var(--wgd-bg); cursor: pointer; color: var(--wgd-muted); }
|
|
268
323
|
.wgd-icon:hover { background: var(--wgd-hover); }
|
|
269
324
|
/* Compact controls: inside tree nodes, and wherever a section opts in with
|
|
270
325
|
.wgd-compact (the Load action editor mirrors an element's binding editor). */
|
|
271
326
|
.wgd-node .wgd-input, .wgd-node .wgd-select,
|
|
272
|
-
.wgd-compact .wgd-input, .wgd-compact .wgd-select { padding: 1px 4px; font-size:
|
|
327
|
+
.wgd-compact .wgd-input, .wgd-compact .wgd-select { padding: 1px 4px; font-size: var(--wgd-font-size-sm); border-color: transparent; background: transparent; }
|
|
273
328
|
.wgd-node .wgd-input:hover, .wgd-node .wgd-select:hover, .wgd-compact .wgd-input:hover, .wgd-compact .wgd-select:hover,
|
|
274
329
|
.wgd-node .wgd-input:focus, .wgd-node .wgd-select:focus, .wgd-compact .wgd-input:focus, .wgd-compact .wgd-select:focus { border-color: var(--wgd-border); background: var(--wgd-bg); }
|
|
275
330
|
.wgd-compact .wgd-binding { border: none; padding: 0; }
|
|
@@ -279,82 +334,82 @@ export function injectDesignerStyles(doc) {
|
|
|
279
334
|
@keyframes wgd-spin { to { transform: rotate(360deg); } }
|
|
280
335
|
.wgd-tagwrap, .wgd-pathwrap { display: contents; }
|
|
281
336
|
/* Collapse chevron: every tree row reserves the column so values align. */
|
|
282
|
-
.wgd-chevron { flex: 0 0 auto; width: 16px; padding: 0; border: none; background: none; color: var(--wgd-muted); font-size:
|
|
337
|
+
.wgd-chevron { flex: 0 0 auto; width: 16px; padding: 0; border: none; background: none; color: var(--wgd-muted); font-size: calc(var(--wgd-font-size-xs) - 1px); cursor: pointer; }
|
|
283
338
|
.wgd-chevron-none { visibility: hidden; }
|
|
284
|
-
.wgd-node-summary { color: var(--wgd-muted); font-size:
|
|
339
|
+
.wgd-node-summary { color: var(--wgd-muted); font-size: var(--wgd-font-size-xs); flex: 0 0 auto; }
|
|
285
340
|
/* Attrs vs children: attributes group under a dotted muted rail with
|
|
286
341
|
key-colored names; children keep the solid accent rail. */
|
|
287
342
|
.wgd-attrs { margin-left: 14px; padding-left: 8px; border-left: 2px dotted var(--wgd-border); display: flex; flex-direction: column; gap: 1px; }
|
|
288
343
|
.wgd-attr-row { display: flex; gap: 4px; align-items: center; flex-wrap: nowrap; padding: 0; }
|
|
289
344
|
.wgd-attr-row > .wgd-icon { visibility: hidden; }
|
|
290
345
|
.wgd-attr-row:hover > .wgd-icon, .wgd-attr-row:focus-within > .wgd-icon { visibility: visible; }
|
|
291
|
-
.wgd-attr-name { font-family:
|
|
292
|
-
.wgd-attr-prefix { flex: 0 1 auto; min-width: 6ch; max-width: 10ch; font-family:
|
|
346
|
+
.wgd-attr-name { font-family: var(--wgd-font-mono); color: var(--wgd-hl-key); flex: 0 1 auto; min-width: 5ch; }
|
|
347
|
+
.wgd-attr-prefix { flex: 0 1 auto; min-width: 6ch; max-width: 10ch; font-family: var(--wgd-font-mono); color: var(--wgd-hl-str); }
|
|
293
348
|
.wgd-attr { display: flex; flex-direction: column; gap: 1px; }
|
|
294
349
|
/* Transform block under a bind attr: one more dotted level in. */
|
|
295
350
|
.wgd-attr-map { margin-left: 24px; padding-left: 8px; border-left: 2px dotted var(--wgd-border); display: flex; flex-direction: column; gap: 1px; }
|
|
296
351
|
.wgd-attr-map-default { flex: 1 1 auto; min-width: 8ch; }
|
|
297
|
-
.wgd-attr-mode { flex: 0 0 auto; color: var(--wgd-muted); font-size:
|
|
352
|
+
.wgd-attr-mode { flex: 0 0 auto; color: var(--wgd-muted); font-size: var(--wgd-font-size-xs); }
|
|
298
353
|
.wgd-children { margin-left: 14px; padding-left: 8px; border-left: 2px solid var(--wgd-accent-line); gap: 1px; }
|
|
299
354
|
.wgd-slot { display: flex; flex-direction: column; gap: 1px; }
|
|
300
|
-
.wgd-slot-label { color: var(--wgd-muted); font-size:
|
|
355
|
+
.wgd-slot-label { color: var(--wgd-muted); font-size: var(--wgd-font-size-xs); font-style: italic; padding-left: 4px; }
|
|
301
356
|
/* Add menu: one toggle, options in a popover. */
|
|
302
357
|
.wgd-menuwrap { position: relative; display: inline-flex; }
|
|
303
358
|
.wgd-menu-toggle { color: var(--wgd-accent); }
|
|
304
|
-
.wgd-menu { position: absolute; top: 100%; left: 0; z-index: 10; min-width: 9ch; display: flex; flex-direction: column; background: var(--wgd-panel); border: 1px solid var(--wgd-border); border-radius:
|
|
359
|
+
.wgd-menu { position: absolute; top: 100%; left: 0; z-index: 10; min-width: 9ch; display: flex; flex-direction: column; background: var(--wgd-panel); border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius); box-shadow: var(--wgd-shadow); padding: 2px; }
|
|
305
360
|
/* An OPEN menu must not inherit the icons' hover-gated visibility:
|
|
306
361
|
visibility (unlike display) lets a child re-assert visible. */
|
|
307
362
|
.wgd-menu:not([hidden]) { visibility: visible; }
|
|
308
363
|
.wgd-menuwrap:has(> .wgd-menu:not([hidden])) { visibility: visible; }
|
|
309
364
|
/* Menus in the right-aligned icons area hang leftward, not off-panel. */
|
|
310
365
|
.wgd-node-icons .wgd-menu { left: auto; right: 0; }
|
|
311
|
-
.wgd-menu-item { font: inherit; font-size:
|
|
366
|
+
.wgd-menu-item { font: inherit; font-size: var(--wgd-font-size-sm); text-align: left; padding: 3px 8px; border: none; border-radius: var(--wgd-radius-sm); background: none; color: var(--wgd-text); cursor: pointer; white-space: nowrap; }
|
|
312
367
|
.wgd-menu-item:hover { background: var(--wgd-accent-bg); color: var(--wgd-accent); }
|
|
313
368
|
/* Styles tree: selector rows with declaration rows — the same flat
|
|
314
369
|
template-tree discipline (flat inputs, hover-revealed icons). */
|
|
315
370
|
.wgd-styles { display: flex; flex-direction: column; gap: 2px; }
|
|
316
|
-
.wgd-st-row { display: flex; gap: 4px; align-items: center; border-radius:
|
|
371
|
+
.wgd-st-row { display: flex; gap: 4px; align-items: center; border-radius: var(--wgd-radius-sm); }
|
|
317
372
|
.wgd-st-row:hover { background: var(--wgd-hover); }
|
|
318
373
|
.wgd-st-row:hover > .wgd-node-icons, .wgd-st-row:focus-within > .wgd-node-icons { visibility: visible; }
|
|
319
|
-
.wgd-styles .wgd-input { padding: 1px 4px; font-size:
|
|
374
|
+
.wgd-styles .wgd-input { padding: 1px 4px; font-size: var(--wgd-font-size-sm); font-family: var(--wgd-font-mono); border-color: transparent; background: transparent; }
|
|
320
375
|
.wgd-styles .wgd-input:hover, .wgd-styles .wgd-input:focus { border-color: var(--wgd-border); background: var(--wgd-bg); }
|
|
321
376
|
.wgd-st-selector { flex: 1 1 auto; min-width: 8ch; color: var(--wgd-accent); }
|
|
322
377
|
.wgd-st-decls { margin-left: 14px; padding-left: 8px; border-left: 2px dotted var(--wgd-border); display: flex; flex-direction: column; gap: 1px; }
|
|
323
|
-
.wgd-st-decl { display: flex; gap: 2px; align-items: center; border-radius:
|
|
378
|
+
.wgd-st-decl { display: flex; gap: 2px; align-items: center; border-radius: var(--wgd-radius-sm); }
|
|
324
379
|
.wgd-st-decl:hover { background: var(--wgd-hover); }
|
|
325
380
|
.wgd-st-decl > .wgd-icon { visibility: hidden; }
|
|
326
381
|
.wgd-st-decl:hover > .wgd-icon, .wgd-st-decl:focus-within > .wgd-icon { visibility: visible; }
|
|
327
382
|
.wgd-st-prop { flex: 0 1 auto; min-width: 8ch; color: var(--wgd-hl-key); }
|
|
328
383
|
.wgd-st-value { flex: 1 1 auto; min-width: 8ch; }
|
|
329
384
|
.wgd-st-colon { color: var(--wgd-muted); flex: 0 0 auto; }
|
|
330
|
-
.wgd-st-add { font-size:
|
|
385
|
+
.wgd-st-add { font-size: var(--wgd-font-size-xs); padding: 0 6px; border-color: transparent; color: var(--wgd-accent); background: none; }
|
|
331
386
|
.wgd-st-add:hover { border-color: var(--wgd-border); background: var(--wgd-hover); }
|
|
332
387
|
/* Import and export stack as sibling sections with the column's rhythm. */
|
|
333
388
|
.wgd-io { display: flex; flex-direction: column; gap: 8px; }
|
|
334
389
|
/* Flat string→string record rows (hints): mono keys, prose values. */
|
|
335
390
|
.wgd-record { display: flex; flex-direction: column; gap: 1px; }
|
|
336
|
-
.wgd-rec-row { display: flex; gap: 2px; align-items: center; border-radius:
|
|
391
|
+
.wgd-rec-row { display: flex; gap: 2px; align-items: center; border-radius: var(--wgd-radius-sm); }
|
|
337
392
|
.wgd-rec-row:hover { background: var(--wgd-hover); }
|
|
338
393
|
.wgd-rec-row > .wgd-icon { visibility: hidden; }
|
|
339
394
|
.wgd-rec-row:hover > .wgd-icon, .wgd-rec-row:focus-within > .wgd-icon { visibility: visible; }
|
|
340
|
-
.wgd-record .wgd-input { padding: 1px 4px; font-size:
|
|
395
|
+
.wgd-record .wgd-input { padding: 1px 4px; font-size: var(--wgd-font-size-sm); border-color: transparent; background: transparent; }
|
|
341
396
|
.wgd-record .wgd-input:hover, .wgd-record .wgd-input:focus { border-color: var(--wgd-border); background: var(--wgd-bg); }
|
|
342
|
-
.wgd-rec-key { flex: 0 1 auto; min-width: 8ch; font-family:
|
|
397
|
+
.wgd-rec-key { flex: 0 1 auto; min-width: 8ch; font-family: var(--wgd-font-mono); color: var(--wgd-hl-key); }
|
|
343
398
|
.wgd-rec-value { flex: 1 1 auto; min-width: 8ch; }
|
|
344
399
|
/* The tag select IS the element node's label: flat, accent, monospace.
|
|
345
400
|
Tag and path selects are width-fitted to their SELECTED value by the
|
|
346
401
|
panel (fitSelect), so carets hug the text — no flex stretching here. */
|
|
347
|
-
.wgd-node .wgd-tag { flex: 0 0 auto; font-family:
|
|
402
|
+
.wgd-node .wgd-tag { flex: 0 0 auto; font-family: var(--wgd-font-mono); font-size: var(--wgd-font-size-xs); color: var(--wgd-accent); background: var(--wgd-accent-bg); border: 1px solid transparent; border-radius: var(--wgd-radius-sm); padding: 0 4px; }
|
|
348
403
|
.wgd-node .wgd-tag:hover, .wgd-node .wgd-tag:focus { border-color: var(--wgd-accent-line); }
|
|
349
|
-
.wgd-node .wgd-path { flex: 0 1 auto; min-width: 6ch; max-width: 100%; font-family:
|
|
404
|
+
.wgd-node .wgd-path { flex: 0 1 auto; min-width: 6ch; max-width: 100%; font-family: var(--wgd-font-mono); }
|
|
350
405
|
.wgd-node .wgd-select { box-sizing: border-box; }
|
|
351
406
|
/* Theme panel: swatch beside each color token. */
|
|
352
407
|
/* Syntax coloring: <pre> layer behind a transparent-text textarea. Every
|
|
353
408
|
metric here must mirror .wgd-textarea or the glyphs drift apart. */
|
|
354
409
|
.wgd-hlwrap { position: relative; }
|
|
355
410
|
.wgd-hl, .wgd-hl-input {
|
|
356
|
-
font-family:
|
|
357
|
-
padding: 4px 6px; border: 1px solid transparent; border-radius:
|
|
411
|
+
font-family: var(--wgd-font-mono); font-size: var(--wgd-font-size); line-height: 1.45;
|
|
412
|
+
padding: 4px 6px; border: 1px solid transparent; border-radius: var(--wgd-radius);
|
|
358
413
|
box-sizing: border-box; white-space: pre; tab-size: 2; letter-spacing: normal;
|
|
359
414
|
}
|
|
360
415
|
.wgd-hl {
|
|
@@ -371,14 +426,14 @@ textarea.wgd-hl-input {
|
|
|
371
426
|
.wgd-hl-n { color: var(--wgd-hl-num); }
|
|
372
427
|
.wgd-hl-b { color: var(--wgd-hl-bool); }
|
|
373
428
|
.wgd-hl-p { color: var(--wgd-hl-punct); }
|
|
374
|
-
.wgd-swatch { flex: 0 0 auto; width: 26px; height: 22px; padding: 0; border: 1px solid var(--wgd-border); border-radius:
|
|
429
|
+
.wgd-swatch { flex: 0 0 auto; width: 26px; height: 22px; padding: 0; border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius); background: none; cursor: pointer; }
|
|
375
430
|
.wgd-token-row { display: flex; gap: 6px; align-items: center; }
|
|
376
|
-
.wgd-token-row .wgd-input { flex: 1 1 auto; min-width: 6ch; font-family:
|
|
431
|
+
.wgd-token-row .wgd-input { flex: 1 1 auto; min-width: 6ch; font-family: var(--wgd-font-mono); font-size: var(--wgd-font-size-sm); }
|
|
377
432
|
.wgd-token-ref { display: flex; flex-direction: column; gap: 2px; max-height: 220px; overflow-y: auto; margin-top: 4px; }
|
|
378
|
-
.wgd-token-ref-row { display: flex; gap: 6px; align-items: center; font-size:
|
|
379
|
-
.wgd-token-ref-swatch { flex: 0 0 auto; width: 14px; height: 14px; border: 1px solid var(--wgd-border); border-radius:
|
|
433
|
+
.wgd-token-ref-row { display: flex; gap: 6px; align-items: center; font-size: var(--wgd-font-size-xs); }
|
|
434
|
+
.wgd-token-ref-swatch { flex: 0 0 auto; width: 14px; height: 14px; border: 1px solid var(--wgd-border); border-radius: var(--wgd-radius-sm); }
|
|
380
435
|
.wgd-token-ref-noswatch { border-style: dashed; opacity: 0.35; }
|
|
381
|
-
.wgd-token-ref-name { font-family:
|
|
436
|
+
.wgd-token-ref-name { font-family: var(--wgd-font-mono); color: var(--wgd-accent); }
|
|
382
437
|
.wgd-token-ref-value { color: var(--wgd-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
383
438
|
.wgd-token-ref-details summary { cursor: pointer; }
|
|
384
439
|
`;
|
package/dist/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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"}
|
package/dist/element.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAC5D,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAE9D,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAAoB,GAAG,IAAI,CAkCzE;AAED,2DAA2D;AAC3D,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,MAA0B,GAAG,IAAI,CA8BpF;AAED,4DAA4D;AAC5D,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,MAA2B,GAAG,IAAI,CA8BtF;AAED,4DAA4D;AAC5D,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,MAA2B,GAAG,IAAI,CA8BtF"}
|
package/dist/element.js
CHANGED
|
@@ -7,6 +7,20 @@ import { createDesigner } from "./shell.js";
|
|
|
7
7
|
import { createSchemaDesigner } from "./schema-designer.js";
|
|
8
8
|
import { createThemeDesigner } from "./theme-designer.js";
|
|
9
9
|
import { createActionDesigner } from "./action-designer.js";
|
|
10
|
+
import { parseChromeAttribute } from "./dom.js";
|
|
11
|
+
/**
|
|
12
|
+
* The attributes every designer element shares, read once at connect:
|
|
13
|
+
* `appearance` pins the chrome scheme, `chrome` (JSON) hands over the
|
|
14
|
+
* host's chrome tokens. Anything invalid is ignored, never thrown.
|
|
15
|
+
*/
|
|
16
|
+
function elementOptions(element) {
|
|
17
|
+
const appearance = element.getAttribute("appearance");
|
|
18
|
+
const chrome = parseChromeAttribute(element.getAttribute("chrome"));
|
|
19
|
+
return {
|
|
20
|
+
...(appearance === "light" || appearance === "dark" ? { appearance } : {}),
|
|
21
|
+
...(chrome === undefined ? {} : { chrome })
|
|
22
|
+
};
|
|
23
|
+
}
|
|
10
24
|
export const DEFAULT_TAG = "widgentic-designer";
|
|
11
25
|
export const DEFAULT_THEME_TAG = "widgentic-theme-designer";
|
|
12
26
|
export const DEFAULT_SCHEMA_TAG = "widgentic-schema-designer";
|
|
@@ -20,10 +34,7 @@ export function defineDesignerElement(tagName = DEFAULT_TAG) {
|
|
|
20
34
|
connectedCallback() {
|
|
21
35
|
if (this.#handle !== undefined)
|
|
22
36
|
return;
|
|
23
|
-
|
|
24
|
-
// follows the host's prefers-color-scheme.
|
|
25
|
-
const appearance = this.getAttribute("appearance");
|
|
26
|
-
this.#handle = createDesigner(this, appearance === "light" || appearance === "dark" ? { appearance } : {});
|
|
37
|
+
this.#handle = createDesigner(this, elementOptions(this));
|
|
27
38
|
this.#unsubscribe = this.#handle.subscribe((draft, diagnostics) => {
|
|
28
39
|
this.dispatchEvent(new CustomEvent("widgentic-change", {
|
|
29
40
|
detail: { draft, diagnostics },
|
|
@@ -54,8 +65,7 @@ export function defineThemeDesignerElement(tagName = DEFAULT_THEME_TAG) {
|
|
|
54
65
|
connectedCallback() {
|
|
55
66
|
if (this.#handle !== undefined)
|
|
56
67
|
return;
|
|
57
|
-
|
|
58
|
-
this.#handle = createThemeDesigner(this, appearance === "light" || appearance === "dark" ? { appearance } : {});
|
|
68
|
+
this.#handle = createThemeDesigner(this, elementOptions(this));
|
|
59
69
|
this.#unsubscribe = this.#handle.subscribe((entry) => {
|
|
60
70
|
this.dispatchEvent(new CustomEvent("widgentic-change", { detail: { theme: entry }, bubbles: true }));
|
|
61
71
|
});
|
|
@@ -82,8 +92,7 @@ export function defineSchemaDesignerElement(tagName = DEFAULT_SCHEMA_TAG) {
|
|
|
82
92
|
connectedCallback() {
|
|
83
93
|
if (this.#handle !== undefined)
|
|
84
94
|
return;
|
|
85
|
-
|
|
86
|
-
this.#handle = createSchemaDesigner(this, appearance === "light" || appearance === "dark" ? { appearance } : {});
|
|
95
|
+
this.#handle = createSchemaDesigner(this, elementOptions(this));
|
|
87
96
|
this.#unsubscribe = this.#handle.subscribe((entry) => {
|
|
88
97
|
this.dispatchEvent(new CustomEvent("widgentic-change", { detail: { schema: entry }, bubbles: true }));
|
|
89
98
|
});
|
|
@@ -110,8 +119,7 @@ export function defineActionDesignerElement(tagName = DEFAULT_ACTION_TAG) {
|
|
|
110
119
|
connectedCallback() {
|
|
111
120
|
if (this.#handle !== undefined)
|
|
112
121
|
return;
|
|
113
|
-
|
|
114
|
-
this.#handle = createActionDesigner(this, appearance === "light" || appearance === "dark" ? { appearance } : {});
|
|
122
|
+
this.#handle = createActionDesigner(this, elementOptions(this));
|
|
115
123
|
this.#unsubscribe = this.#handle.subscribe((entry) => {
|
|
116
124
|
this.dispatchEvent(new CustomEvent("widgentic-change", { detail: { action: entry }, bubbles: true }));
|
|
117
125
|
});
|
package/dist/element.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
* action, each mountable standalone or as a custom element.
|
|
4
4
|
*
|
|
5
5
|
* Import discipline: this capability consumes the rest of widgentic ONLY
|
|
6
|
-
* through public package entries (
|
|
7
|
-
*
|
|
6
|
+
* through public package entries (`@widgentic/core/catalog`, `@widgentic/core/templates`,
|
|
7
|
+
* `@widgentic/core/theming`, `@widgentic/core/reactive`, `@widgentic/core/contract`) so it can
|
|
8
8
|
* be extracted into a standalone npm package without code changes. It
|
|
9
9
|
* performs no network I/O — hosts own persistence via change events.
|
|
10
10
|
*/
|
|
11
11
|
export { createDesigner } from "./shell.js";
|
|
12
|
+
export { CHROME_TOKENS } from "./dom.js";
|
|
13
|
+
export type { ChromeOptions, ChromeToken } from "./dom.js";
|
|
12
14
|
export type { DesignerHandle, DesignerOptions, LoadResult, WidgetDefinition } from "./shell.js";
|
|
13
15
|
export { defineDesignerElement, defineThemeDesignerElement, defineSchemaDesignerElement, defineActionDesignerElement, DEFAULT_TAG, DEFAULT_THEME_TAG, DEFAULT_SCHEMA_TAG, DEFAULT_ACTION_TAG } from "./element.js";
|
|
14
16
|
export { createActionDesigner, checkActionEntry } from "./action-designer.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,cAAc,EACd,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC3D,YAAY,EACV,cAAc,EACd,eAAe,EACf,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* action, each mountable standalone or as a custom element.
|
|
4
4
|
*
|
|
5
5
|
* Import discipline: this capability consumes the rest of widgentic ONLY
|
|
6
|
-
* through public package entries (
|
|
7
|
-
*
|
|
6
|
+
* through public package entries (`@widgentic/core/catalog`, `@widgentic/core/templates`,
|
|
7
|
+
* `@widgentic/core/theming`, `@widgentic/core/reactive`, `@widgentic/core/contract`) so it can
|
|
8
8
|
* be extracted into a standalone npm package without code changes. It
|
|
9
9
|
* performs no network I/O — hosts own persistence via change events.
|
|
10
10
|
*/
|
|
11
11
|
export { createDesigner } from "./shell.js";
|
|
12
|
+
export { CHROME_TOKENS } from "./dom.js";
|
|
12
13
|
export { defineDesignerElement, defineThemeDesignerElement, defineSchemaDesignerElement, defineActionDesignerElement, DEFAULT_TAG, DEFAULT_THEME_TAG, DEFAULT_SCHEMA_TAG, DEFAULT_ACTION_TAG } from "./element.js";
|
|
13
14
|
export { createActionDesigner, checkActionEntry } from "./action-designer.js";
|
|
14
15
|
export { createBindingEditor, createDefinitionEditor, starterHttpDefinition, starterPromptDefinition } from "./action-editor.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAa9E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,SAAS,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ChromeOptions } from "./dom.js";
|
|
1
2
|
export interface SchemaEntry {
|
|
2
3
|
name: string;
|
|
3
4
|
label?: string;
|
|
@@ -7,6 +8,13 @@ export interface SchemaEntry {
|
|
|
7
8
|
export interface SchemaDesignerOptions {
|
|
8
9
|
initialSchema?: SchemaEntry;
|
|
9
10
|
appearance?: "auto" | "light" | "dark";
|
|
11
|
+
/**
|
|
12
|
+
* Host chrome: a partial map over `CHROME_TOKENS` applied inline on the
|
|
13
|
+
* root, winning over the built-in light/dark defaults. Values may be
|
|
14
|
+
* `var()` references to the host's own properties; CSS-wide keywords are
|
|
15
|
+
* ignored (pass `var(--host-font, system-ui, sans-serif)`, not `inherit`).
|
|
16
|
+
*/
|
|
17
|
+
chrome?: ChromeOptions;
|
|
10
18
|
/**
|
|
11
19
|
* Mount with editing disabled: panels stay visible but inert. Toggle
|
|
12
20
|
* later via `setReadOnly`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-designer.d.ts","sourceRoot":"","sources":["../src/schema-designer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema-designer.d.ts","sourceRoot":"","sources":["../src/schema-designer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ9C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE9E,MAAM,WAAW,oBAAoB;IACnC,SAAS,IAAI,WAAW,CAAC;IACzB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC;IAC7C,8BAA8B;IAC9B,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC9D,OAAO,IAAI,IAAI,CAAC;CACjB;AAUD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAczD;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,qBAA0B,GAClC,oBAAoB,CAiPtB"}
|
package/dist/schema-designer.js
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { errorMessage } from "./internal.js";
|
|
11
11
|
import { isPlainObject } from "@widgentic/core";
|
|
12
|
-
import { diagnosticLine, h, injectDesignerStyles, section, textField, requireChild } from "./dom.js";
|
|
12
|
+
import { applyChrome, diagnosticLine, h, injectDesignerStyles, section, textField, requireChild } from "./dom.js";
|
|
13
13
|
import { attachJsonHighlight, repaintHighlight } from "./highlight.js";
|
|
14
14
|
import { createSchemaBuilder } from "./schema-builder.js";
|
|
15
|
-
/** The store's identifier charset — kept local:
|
|
15
|
+
/** The store's identifier charset — kept local: `@widgentic/mcp/store` is a
|
|
16
16
|
* Node-only entry and the designer runs in browsers. */
|
|
17
17
|
const SAFE_NAME = /^[a-zA-Z0-9._-]+$/;
|
|
18
18
|
function starterEntry() {
|
|
@@ -49,6 +49,7 @@ export function createSchemaDesigner(container, options = {}) {
|
|
|
49
49
|
if (options.appearance === "light" || options.appearance === "dark") {
|
|
50
50
|
root.setAttribute("data-wgd-theme", options.appearance);
|
|
51
51
|
}
|
|
52
|
+
applyChrome(root, options.chrome);
|
|
52
53
|
container.appendChild(root);
|
|
53
54
|
function getEntry() {
|
|
54
55
|
return JSON.parse(JSON.stringify(entry));
|