@maxhealth.tech/prefab 0.2.19 → 0.2.20

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/CHANGELOG.md CHANGED
@@ -2,7 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [Unreleased] — v0.2.19
5
+ ## [Unreleased] — v0.2.20
6
+
7
+ ### Theme Toggle Fix
8
+ - **Fixed**: dark/light toggle icon flipped but colours didn't change — `@media (prefers-color-scheme: dark) :root:not(...)` at specificity (0,2,0) beat `[data-theme]` at (0,1,0). Bumped to `:root[data-theme="dark/light"]` (0,2,0) so toggle wins by source order
9
+ - `[data-theme]` blocks now use static values only (not host var fallback chains) — prevents both themes resolving to the same host variable
10
+
11
+ ### VS Code Theme Sync
12
+ - `syncVsCodeTheme()` — reads `data-vscode-theme-kind` from `document.body`, maps to `data-theme` on `:root` (`vscode-dark` / `vscode-high-contrast` → `dark`, else `light`)
13
+ - `MutationObserver` watches for VS Code theme switches and keeps `data-theme` in sync automatically
14
+ - Only active in standalone / VS Code context (skipped when MCP Apps bridge is present)
15
+
16
+ ### Tests
17
+ - Added `renderer-destroy.test.ts` — 12 tests for component destroy hook lifecycle
18
+ - **1142 tests** passing across 32 files
19
+
20
+ ## [0.2.19] — 2026-04-29
6
21
 
7
22
  ### SDK Type Compatibility
8
23
  - `McpToolResult` now structurally assignable to `@modelcontextprotocol/sdk` `CallToolResult` — no cast needed when returning `display()` from SDK tool handlers
package/dist/app.d.ts CHANGED
@@ -9,7 +9,7 @@ import type { ComponentJSON } from './core/component.js';
9
9
  import type { Action, ActionJSON } from './actions/types.js';
10
10
  import type { PipeFn } from './rx/pipes.js';
11
11
  /** Package version — injected by build script, updated at release time. */
12
- export declare const VERSION = "0.2.19";
12
+ export declare const VERSION = "0.2.20";
13
13
  export interface Theme {
14
14
  light?: Record<string, string>;
15
15
  dark?: Record<string, string>;
package/dist/app.js CHANGED
@@ -7,7 +7,7 @@
7
7
  import {} from './core/component.js';
8
8
  import { drainAutoState } from './rx/state-collector.js';
9
9
  /** Package version — injected by build script, updated at release time. */
10
- export const VERSION = '0.2.19';
10
+ export const VERSION = '0.2.20';
11
11
  export class PrefabApp {
12
12
  title;
13
13
  view;
package/dist/prefab.css CHANGED
@@ -111,78 +111,82 @@
111
111
  }
112
112
  }
113
113
 
114
- /* Explicit dark override via data-theme attribute */
115
- [data-theme="dark"] {
116
- --background: var(--color-background-primary, var(--vscode-editor-background, #09090b));
117
- --foreground: var(--color-text-primary, var(--vscode-editor-foreground, #fafafa));
114
+ /* Explicit dark override via data-theme attribute.
115
+ Specificity (0,2,0) via :root[...] to beat the @media dark :root:not(...) rule.
116
+ Static values only — host vars live in :root / @media dark.
117
+ applyHostTheme() inline styles win over these when a host is present. */
118
+ :root[data-theme="dark"] {
119
+ --background: #09090b;
120
+ --foreground: #fafafa;
118
121
 
119
- --card: var(--color-background-secondary, var(--vscode-editorWidget-background, #111113));
120
- --card-foreground: var(--color-text-primary, var(--vscode-editorWidget-foreground, #fafafa));
122
+ --card: #111113;
123
+ --card-foreground: #fafafa;
121
124
 
122
- --popover: var(--color-background-secondary, var(--vscode-editorHoverWidget-background, #111113));
123
- --popover-foreground: var(--color-text-primary, var(--vscode-editorHoverWidget-foreground, #fafafa));
125
+ --popover: #111113;
126
+ --popover-foreground: #fafafa;
124
127
 
125
- --primary: var(--color-background-info, var(--vscode-button-background, #60a5fa));
126
- --primary-foreground: var(--color-text-inverse, var(--vscode-button-foreground, #09090b));
128
+ --primary: #60a5fa;
129
+ --primary-foreground: #09090b;
127
130
 
128
- --secondary: var(--color-background-tertiary, var(--vscode-button-secondaryBackground, #1f2937));
129
- --secondary-foreground: var(--color-text-secondary, var(--vscode-button-secondaryForeground, #f3f4f6));
131
+ --secondary: #1f2937;
132
+ --secondary-foreground: #f3f4f6;
130
133
 
131
- --muted: var(--color-background-tertiary, var(--vscode-editorWidget-background, #1f2937));
132
- --muted-foreground: var(--color-text-tertiary, var(--vscode-descriptionForeground, #9ca3af));
134
+ --muted: #1f2937;
135
+ --muted-foreground: #9ca3af;
133
136
 
134
- --accent: var(--color-background-ghost, var(--vscode-list-hoverBackground, #1e3a5f));
135
- --accent-foreground: var(--color-text-info, var(--vscode-list-hoverForeground, #93c5fd));
137
+ --accent: #1e3a5f;
138
+ --accent-foreground: #93c5fd;
136
139
 
137
- --destructive: var(--color-background-danger, var(--vscode-errorForeground, #f87171));
138
- --destructive-foreground: var(--color-text-inverse, #09090b);
140
+ --destructive: #f87171;
141
+ --destructive-foreground: #09090b;
139
142
 
140
- --success: var(--color-background-success, #4ade80);
141
- --success-foreground: var(--color-text-inverse, #09090b);
143
+ --success: #4ade80;
144
+ --success-foreground: #09090b;
142
145
 
143
- --warning: var(--color-background-warning, #fbbf24);
144
- --warning-foreground: var(--color-text-inverse, #09090b);
146
+ --warning: #fbbf24;
147
+ --warning-foreground: #09090b;
145
148
 
146
- --border: var(--color-border-primary, var(--vscode-panel-border, #27272a));
147
- --input: var(--color-border-secondary, var(--vscode-input-background, #27272a));
148
- --ring: var(--color-ring-primary, var(--vscode-focusBorder, #60a5fa));
149
+ --border: #27272a;
150
+ --input: #27272a;
151
+ --ring: #60a5fa;
149
152
  }
150
153
 
151
- /* Explicit light override via data-theme attribute */
152
- [data-theme="light"] {
153
- --background: var(--color-background-primary, var(--vscode-editor-background, #ffffff));
154
- --foreground: var(--color-text-primary, var(--vscode-editor-foreground, #09090b));
154
+ /* Explicit light override via data-theme attribute.
155
+ Same specificity bump as dark block above. */
156
+ :root[data-theme="light"] {
157
+ --background: #ffffff;
158
+ --foreground: #09090b;
155
159
 
156
- --card: var(--color-background-secondary, var(--vscode-editorWidget-background, #ffffff));
157
- --card-foreground: var(--color-text-primary, var(--vscode-editorWidget-foreground, #09090b));
160
+ --card: #ffffff;
161
+ --card-foreground: #09090b;
158
162
 
159
- --popover: var(--color-background-secondary, var(--vscode-editorHoverWidget-background, #ffffff));
160
- --popover-foreground: var(--color-text-primary, var(--vscode-editorHoverWidget-foreground, #09090b));
163
+ --popover: #ffffff;
164
+ --popover-foreground: #09090b;
161
165
 
162
- --primary: var(--color-background-info, var(--vscode-button-background, #3b82f6));
163
- --primary-foreground: var(--color-text-inverse, var(--vscode-button-foreground, #ffffff));
166
+ --primary: #3b82f6;
167
+ --primary-foreground: #ffffff;
164
168
 
165
- --secondary: var(--color-background-tertiary, var(--vscode-button-secondaryBackground, #f3f4f6));
166
- --secondary-foreground: var(--color-text-secondary, var(--vscode-button-secondaryForeground, #1f2937));
169
+ --secondary: #f3f4f6;
170
+ --secondary-foreground: #1f2937;
167
171
 
168
- --muted: var(--color-background-tertiary, var(--vscode-editorWidget-background, #f3f4f6));
169
- --muted-foreground: var(--color-text-tertiary, var(--vscode-descriptionForeground, #6b7280));
172
+ --muted: #f3f4f6;
173
+ --muted-foreground: #6b7280;
170
174
 
171
- --accent: var(--color-background-ghost, var(--vscode-list-hoverBackground, #eff6ff));
172
- --accent-foreground: var(--color-text-info, var(--vscode-list-hoverForeground, #1e40af));
175
+ --accent: #eff6ff;
176
+ --accent-foreground: #1e40af;
173
177
 
174
- --destructive: var(--color-background-danger, var(--vscode-errorForeground, #ef4444));
175
- --destructive-foreground: var(--color-text-inverse, #ffffff);
178
+ --destructive: #ef4444;
179
+ --destructive-foreground: #ffffff;
176
180
 
177
- --success: var(--color-background-success, #22c55e);
178
- --success-foreground: var(--color-text-inverse, #ffffff);
181
+ --success: #22c55e;
182
+ --success-foreground: #ffffff;
179
183
 
180
- --warning: var(--color-background-warning, #f59e0b);
181
- --warning-foreground: var(--color-text-inverse, #ffffff);
184
+ --warning: #f59e0b;
185
+ --warning-foreground: #ffffff;
182
186
 
183
- --border: var(--color-border-primary, var(--vscode-panel-border, #e5e7eb));
184
- --input: var(--color-border-secondary, var(--vscode-input-background, #e5e7eb));
185
- --ring: var(--color-ring-primary, var(--vscode-focusBorder, #3b82f6));
187
+ --border: #e5e7eb;
188
+ --input: #e5e7eb;
189
+ --ring: #3b82f6;
186
190
  }
187
191
 
188
192
  /* ═══════════════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/renderer/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,WAAW,EACZ,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAI/D,MAAM,WAAW,UAAU;IACzB,uEAAuE;IACvE,IAAI,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAA;IACvC,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;AACzD,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5E,4CAA4C;IAC5C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,uDAAuD;IACvD,WAAW,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAChD,yDAAyD;IACzD,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAClD,gDAAgD;IAChD,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,2DAA2D;IAC3D,kBAAkB,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAA;IACvD,kDAAkD;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,KAAK,WAAW,CAAA;IACrF,gDAAgD;IAChD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,UAAU,CAAA;IAC9F,qCAAqC;IACrC,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IACxC,sCAAsC;IACtC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAChD,4BAA4B;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;IACzD;;;;OAIG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,KAAK,MAAM,IAAI,CAAA;IAC7D,wCAAwC;IACxC,IAAI,EAAE,WAAW,CAAA;IACjB,yBAAyB;IACzB,YAAY,EAAE,gBAAgB,CAAA;IAC9B,gCAAgC;IAChC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAA;IAC5B,oCAAoC;IACpC,SAAS,EAAE,YAAY,CAAA;IACvB,oCAAoC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,iCAAiC;IACjC,KAAK,EAAE,KAAK,CAAA;IACZ,eAAe;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAID;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CA2JlE"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/renderer/app.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,10 @@ export async function app(options) {
52
52
  if (hostContext.theme && typeof document !== 'undefined') {
53
53
  applyHostTheme(document.documentElement, hostContext.theme);
54
54
  }
55
+ // VS Code webview theme sync: detect data-vscode-theme-kind and keep in sync
56
+ if (typeof document !== 'undefined' && !bridge) {
57
+ syncVsCodeTheme();
58
+ }
55
59
  // Lifecycle handlers
56
60
  let toolInputHandler;
57
61
  let toolResultHandler;
@@ -188,4 +192,24 @@ function resolveTarget(target) {
188
192
  }
189
193
  return target;
190
194
  }
195
+ // ── VS Code Theme Sync ───────────────────────────────────────────────────────
196
+ /**
197
+ * Detect VS Code webview theme from `data-vscode-theme-kind` on body
198
+ * and keep `data-theme` on `:root` in sync via MutationObserver.
199
+ * VS Code sets: vscode-dark, vscode-light, vscode-high-contrast, vscode-high-contrast-light.
200
+ */
201
+ function syncVsCodeTheme() {
202
+ function applyVsCodeThemeKind() {
203
+ const kind = document.body.getAttribute('data-vscode-theme-kind');
204
+ if (!kind)
205
+ return;
206
+ const theme = kind.includes('light') ? 'light' : 'dark';
207
+ document.documentElement.setAttribute('data-theme', theme);
208
+ }
209
+ // Apply immediately if attribute already present
210
+ applyVsCodeThemeKind();
211
+ // Watch for changes (VS Code updates this when user switches theme)
212
+ const observer = new MutationObserver(applyVsCodeThemeKind);
213
+ observer.observe(document.body, { attributes: true, attributeFilter: ['data-vscode-theme-kind'] });
214
+ }
191
215
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/renderer/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/renderer/app.ts"],"names":[],"mappings":"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"}
@@ -25,8 +25,25 @@ export interface RenderContext {
25
25
  defs?: Record<string, ComponentNode>;
26
26
  templates?: Record<string, ComponentNode[]>;
27
27
  slots?: Record<string, ComponentNode[]>;
28
+ destroyRegistry?: DestroyRegistry;
29
+ }
30
+ /** Result of a render function that includes a cleanup callback. */
31
+ export interface RenderResult {
32
+ element: HTMLElement | DocumentFragment;
33
+ destroy: () => void;
34
+ }
35
+ export type RenderFnReturn = HTMLElement | DocumentFragment | RenderResult;
36
+ export type RenderFn = (node: ComponentNode, ctx: RenderContext) => RenderFnReturn;
37
+ /** Tracks destroy callbacks for mounted components within a render cycle. */
38
+ export declare class DestroyRegistry {
39
+ private callbacks;
40
+ /** Register a destroy callback. */
41
+ track(cb: () => void): void;
42
+ /** Call all registered destroy callbacks and clear the list. */
43
+ flush(): void;
44
+ /** Number of registered callbacks (for testing). */
45
+ get size(): number;
28
46
  }
29
- export type RenderFn = (node: ComponentNode, ctx: RenderContext) => HTMLElement | DocumentFragment;
30
47
  /** Register a render function for a component type */
31
48
  export declare function registerComponent(type: string, fn: RenderFn): void;
32
49
  /** Get a render function (or fallback) */
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/renderer/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAMzF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,CAAC,EAAE,YAAY,CAAA;IACxB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;CACxC;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,KAAK,WAAW,GAAG,gBAAgB,CAAA;AAMlG,sDAAsD;AACtD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,CAKlE;AAED,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE9D;AAID;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAwClG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAGjG;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,WAAW,GAAG,gBAAgB,EACtC,GAAG,EAAE,aAAa,GACjB,IAAI,CAcN;AAmED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAMrE;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAKxE;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,eAAe,CAQnE;AAED,yCAAyC;AACzC,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAI/D;AAED,qCAAqC;AACrC,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAGvE"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/renderer/engine.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,36 @@
7
7
  */
8
8
  import { evaluateTemplate, isRxExpression } from './rx.js';
9
9
  import { dispatchActions } from './actions.js';
10
+ // ── Destroy registry ─────────────────────────────────────────────────────────
11
+ /** Tracks destroy callbacks for mounted components within a render cycle. */
12
+ export class DestroyRegistry {
13
+ callbacks = [];
14
+ /** Register a destroy callback. */
15
+ track(cb) {
16
+ this.callbacks.push(cb);
17
+ }
18
+ /** Call all registered destroy callbacks and clear the list. */
19
+ flush() {
20
+ for (const cb of this.callbacks) {
21
+ try {
22
+ cb();
23
+ }
24
+ catch (e) {
25
+ console.warn('[prefab] destroy callback error:', e);
26
+ }
27
+ }
28
+ this.callbacks = [];
29
+ }
30
+ /** Number of registered callbacks (for testing). */
31
+ get size() {
32
+ return this.callbacks.length;
33
+ }
34
+ }
10
35
  // ── Registry ─────────────────────────────────────────────────────────────────
36
+ /** Type guard: does the render function return include a destroy callback? */
37
+ function isRenderResult(value) {
38
+ return typeof value === 'object' && 'element' in value;
39
+ }
11
40
  const registry = new Map();
12
41
  /** Register a render function for a component type */
13
42
  export function registerComponent(type, fn) {
@@ -34,7 +63,14 @@ export function renderNode(node, ctx) {
34
63
  const renderFn = registry.get(node.type);
35
64
  let el;
36
65
  if (renderFn) {
37
- el = renderFn(node, ctx);
66
+ const result = renderFn(node, ctx);
67
+ if (isRenderResult(result)) {
68
+ el = result.element;
69
+ ctx.destroyRegistry?.track(result.destroy);
70
+ }
71
+ else {
72
+ el = result;
73
+ }
38
74
  }
39
75
  else {
40
76
  // Fallback: generic div with data-type
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/renderer/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/renderer/engine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAmC9C,gFAAgF;AAEhF,6EAA6E;AAC7E,MAAM,OAAO,eAAe;IAClB,SAAS,GAAmB,EAAE,CAAA;IAEtC,mCAAmC;IACnC,KAAK,CAAC,EAAc;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,gEAAgE;IAChE,KAAK;QACH,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBAAC,EAAE,EAAE,CAAA;YAAC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;YAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,oDAAoD;IACpD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;IAC9B,CAAC;CACF;AAED,gFAAgF;AAEhF,8EAA8E;AAC9E,SAAS,cAAc,CAAC,KAAqB;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,CAAA;AACxD,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAA;AAE5C,sDAAsD;AACtD,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,EAAY;IAC1D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,8CAA8C,IAAI,GAAG,CAAC,CAAA;IACrE,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACxB,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAmB,EAAE,GAAkB;IAChE,uDAAuD;IACvD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QACnF,OAAO,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,EAAkC,CAAA;IAEtC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACnB,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC5C,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,MAAM,CAAA;QACb,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uCAAuC;QACvC,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CACjC;QAAA,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,EAAE,YAAY,WAAW,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,EAAE;YAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;QAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAC1C,IAAI,GAAG;gBAAE,EAAE,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;QACxE,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;QACpC,cAAc,CAAC,GAAG,EAAE,CAAC,KAAK,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAmB,EAAE,MAAmB,EAAE,GAAkB;IACzF,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAM;IAC1B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAyB,EACzB,MAAsC,EACtC,GAAkB;IAElB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,CAAC,GAAG,sBAAsB,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1D,yDAAyD;YACzD,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YAC1C,CAAC,EAAE,CAAA;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,QAAyB,EACzB,KAAa,EACb,MAAsC,EACtC,GAAkB;IAElB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,CAAC,GAAG,KAAK,CAAA;IAEb,uBAAuB;IACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,aAAa,CAAC,MAAM,CAAC,SAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;QACnD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;QACzC,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IACD,CAAC,EAAE,CAAA;IAEH,2CAA2C;IAC3C,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,SAAmB,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;gBAC1C,OAAO,GAAG,IAAI,CAAA;YAChB,CAAC;YACD,CAAC,EAAE,CAAA;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YAC5C,CAAC;YACD,CAAC,EAAE,CAAA;YACH,MAAK,CAAC,mCAAmC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAK,CAAC,uCAAuC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAED,0EAA0E;AAC1E,SAAS,aAAa,CAAC,SAAiB,EAAE,GAAkB;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAC5B,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,uDAAuD;AACvD,SAAS,oBAAoB,CAC3B,IAAmB,EACnB,MAAsC,EACtC,GAAkB;IAElB,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAM;IAC1B,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED,gFAAgF;AAEhF,+CAA+C;AAC/C,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,GAAkB;IAC3D,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5D,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAmC,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAkC,CAAC,CAAA;AACxE,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,GAAkB;IAC7D,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAA;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,EAAE,CAAC,GAAW,EAAE,SAAkB;IAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,SAAS;QAAE,CAAC,CAAC,SAAS,GAAG,SAAS,CAAA;IACtC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,IAAI,CAAC,OAAoB,EAAE,OAAe;IACxD,OAAO,CAAC,WAAW,GAAG,OAAO,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -37,7 +37,8 @@ export { Bridge, isIframe, applyHostTheme } from './bridge.js';
37
37
  export { registerPipe, unregisterPipe, listPipes } from '../rx/pipes.js';
38
38
  export type { PipeFn } from '../rx/pipes.js';
39
39
  export { registerComponent } from './engine.js';
40
- export type { RenderFn, ComponentNode, RenderContext } from './engine.js';
40
+ export type { RenderFn, RenderResult, RenderFnReturn, ComponentNode, RenderContext } from './engine.js';
41
+ export { DestroyRegistry } from './engine.js';
41
42
  export type { AppCapabilities, HostCapabilities, HostContext, HostTheme, DisplayMode, BridgeMessage, } from './bridge.js';
42
43
  export { createThemeToggle } from './theme.js';
43
44
  export type { ThemeToggleOptions } from './theme.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@
28
28
  */
29
29
  import { Store } from './state.js';
30
30
  import { renderNode } from './engine.js';
31
+ import { DestroyRegistry } from './engine.js';
31
32
  import { registerAllComponents } from './components/index.js';
32
33
  import { applyTheme, applyKeyBindings, createThemeToggle } from './theme.js';
33
34
  import { dispatchActions, clearAllIntervals } from './actions.js';
@@ -41,6 +42,7 @@ export { app } from './app.js';
41
42
  export { Bridge, isIframe, applyHostTheme } from './bridge.js';
42
43
  export { registerPipe, unregisterPipe, listPipes } from '../rx/pipes.js';
43
44
  export { registerComponent } from './engine.js';
45
+ export { DestroyRegistry } from './engine.js';
44
46
  export { createThemeToggle } from './theme.js';
45
47
  // ── PrefabRenderer ───────────────────────────────────────────────────────────
46
48
  export const PrefabRenderer = {
@@ -77,6 +79,8 @@ export const PrefabRenderer = {
77
79
  }
78
80
  // Toast handler with fallback
79
81
  const onToast = options?.onToast ?? defaultToastHandler;
82
+ // Destroy registry — tracks component cleanup callbacks
83
+ const destroyRegistry = new DestroyRegistry();
80
84
  // Build render context
81
85
  const ctx = {
82
86
  store,
@@ -85,6 +89,7 @@ export const PrefabRenderer = {
85
89
  rerender: () => render(),
86
90
  onToast,
87
91
  defs: data.defs,
92
+ destroyRegistry,
88
93
  };
89
94
  // Apply theme
90
95
  applyTheme(root, data.theme);
@@ -121,6 +126,8 @@ export const PrefabRenderer = {
121
126
  }
122
127
  // Render function
123
128
  function render() {
129
+ // Flush destroy callbacks from previous render cycle
130
+ destroyRegistry.flush();
124
131
  // Preserve the toggle button across re-renders
125
132
  const toggleBtn = root.querySelector('.pf-theme-toggle');
126
133
  root.innerHTML = '';
@@ -141,6 +148,7 @@ export const PrefabRenderer = {
141
148
  },
142
149
  store,
143
150
  destroy() {
151
+ destroyRegistry.flush();
144
152
  cleanupToggle?.();
145
153
  cleanupKeys?.();
146
154
  clearAllIntervals();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}