@webmcp-auto-ui/ui 2.5.14 → 2.5.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webmcp-auto-ui/ui",
3
- "version": "2.5.14",
3
+ "version": "2.5.15",
4
4
  "description": "Svelte 5 UI components — primitives, widgets, window manager",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "type": "module",
@@ -137,8 +137,11 @@
137
137
  customRenderer ? undefined : NATIVE_MAP[type],
138
138
  );
139
139
 
140
- // Deep-clone data to strip Svelte 5 $state proxies — third-party libs
141
- // (Chart.js, Cytoscape, etc.) use Object.defineProperty which conflicts.
140
+ // Deep-clone data to strip Svelte 5 $state proxies — only needed for vanilla
141
+ // renderers whose third-party libs (Cytoscape, Plotly, etc.) use
142
+ // Object.defineProperty which conflicts with Svelte 5 proxies.
143
+ // Native Svelte components handle proxied data fine and benefit from
144
+ // fine-grained reactivity, so they receive raw `data` directly.
142
145
  const plainData: Record<string, unknown> = $derived(JSON.parse(JSON.stringify(data)));
143
146
 
144
147
  // ── Vanilla renderer container + lifecycle ────────────
@@ -221,9 +224,9 @@
221
224
  {#if isVanillaRenderer}
222
225
  <div bind:this={vanillaContainer} class="vanilla-container w-full h-full overflow-auto p-2"></div>
223
226
  {:else if customRenderer}
224
- <svelte:component this={customRenderer as Component<any>} data={plainData} {id} />
227
+ <svelte:component this={customRenderer as Component<any>} {data} {id} />
225
228
  {:else if nativeEntry}
226
- <svelte:component this={nativeEntry.component} {...nativeEntry.props(plainData, emit)} />
229
+ <svelte:component this={nativeEntry.component} {...nativeEntry.props(data, emit)} />
227
230
  {:else}
228
231
  <div class="p-3 font-mono text-xs text-text2">[{type}]</div>
229
232
  {/if}