@seed-ship/mcp-ui-solid 2.2.8 → 2.2.10

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.
@@ -19,7 +19,7 @@ import { ExpandableWrapper } from "./ExpandableWrapper.js";
19
19
  import { RenderProvider } from "./RenderContext.js";
20
20
  import { useAction } from "../hooks/useAction.js";
21
21
  import { marked as k } from "../node_modules/.pnpm/marked@16.4.2/node_modules/marked/lib/marked.esm.js";
22
- var _tmpl$ = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z">`), _tmpl$2 = /* @__PURE__ */ template(`<button>`), _tmpl$3 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-green-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M5 13l4 4L19 7">`), _tmpl$4 = /* @__PURE__ */ template(`<div class="absolute inset-0 flex items-center justify-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600">`), _tmpl$5 = /* @__PURE__ */ template(`<div class="absolute inset-0 flex items-center justify-center p-4"><div class=text-center><p class="text-red-600 dark:text-red-400 text-sm font-medium">Chart Error</p><p class="text-gray-600 dark:text-gray-400 text-xs mt-1">`), _tmpl$6 = /* @__PURE__ */ template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3">`), _tmpl$7 = /* @__PURE__ */ template(`<div class="w-full h-full p-4"><!$><!/><div class="w-full h-full"role=img><img class="w-full h-auto max-h-[300px] object-contain">`), _tmpl$8 = /* @__PURE__ */ template(`<div class="relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><!$><!/><!$><!/>`), _tmpl$9 = /* @__PURE__ */ template(`<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">`), _tmpl$0 = /* @__PURE__ */ template(`<tr>`), _tmpl$1 = /* @__PURE__ */ template(`<td class="px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6"><div>`), _tmpl$10 = /* @__PURE__ */ template(`<tbody class="bg-white dark:bg-gray-800 relative">`), _tmpl$11 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Copy TSV`), _tmpl$12 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download CSV`), _tmpl$13 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download JSON`), _tmpl$14 = /* @__PURE__ */ template(`<div class="absolute right-0 mt-1 w-36 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg py-1 text-sm"><!$><!/><!$><!/><!$><!/>`), _tmpl$15 = /* @__PURE__ */ template(`<div class="absolute right-10 top-2 z-10"><button class="opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm"title="Export table"aria-label="Export table"><svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></button><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<span class="ml-2 text-xs font-normal text-gray-400">(virtualized: <!$><!/> rows)`), _tmpl$17 = /* @__PURE__ */ template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3"><!$><!/><!$><!/>`), _tmpl$18 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$19 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group"><!$><!/><div class=p-4><!$><!/><div class=overflow-x-auto role=region tabindex=0><table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0"><thead class="bg-gray-50 dark:bg-gray-900/50 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/>`), _tmpl$20 = /* @__PURE__ */ template(`<th scope=col class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50">`), _tmpl$21 = /* @__PURE__ */ template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$22 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$23 = /* @__PURE__ */ template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div class="flex flex-col h-full justify-between"><div><p class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide"></p><div class="mt-2 flex items-baseline"><p class="text-2xl font-semibold text-gray-900 dark:text-white"></p><!$><!/></div></div><!$><!/><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><div class="flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]"><a target=_blank rel="noopener noreferrer"class=cursor-zoom-in><img class="max-w-full max-h-[400px] object-contain rounded shadow-sm hover:opacity-90 transition-opacity"loading=lazy></a></div><div class="p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800"><p class="text-sm text-gray-600 dark:text-gray-400 text-center italic">`, true, false, false), _tmpl$27 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900"><h3 class="text-sm font-semibold text-gray-900 dark:text-white">`), _tmpl$28 = /* @__PURE__ */ template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><!$><!/><iframe class="w-full border-0 flex-1"sandbox="allow-scripts allow-same-origin allow-popups allow-forms"loading=lazy>`, true, false, false), _tmpl$29 = /* @__PURE__ */ template(`<figcaption class="p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800"><p class="text-sm text-gray-600 dark:text-gray-400 text-center">`), _tmpl$30 = /* @__PURE__ */ template(`<figure><div class="flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]"><a target=_blank rel="noopener noreferrer"class="cursor-zoom-in focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded"><img class="max-w-full max-h-[500px] object-contain rounded shadow-sm hover:opacity-95 transition-opacity"loading=lazy></a></div><!$><!/>`, true, false, false), _tmpl$31 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$32 = /* @__PURE__ */ template(`<a target=_blank rel="noopener noreferrer"><div class="p-2 bg-blue-50 dark:bg-blue-900/30 rounded-full text-blue-600 dark:text-blue-400 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 shrink-0 transition-colors"aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></div><div class="flex-1 min-w-0"><h4 class="text-sm font-medium text-gray-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"></h4><!$><!/></div><svg xmlns=http://www.w3.org/2000/svg class="w-4 h-4 text-gray-400 group-hover:text-gray-600 dark:group-hover:text-gray-300 shrink-0 transition-colors"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1=10 y1=14 x2=21 y2=3>`), _tmpl$33 = /* @__PURE__ */ template(`<div class="w-full h-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4"><p class="text-sm font-medium text-red-900 dark:text-red-100">Validation Error</p><p class="text-xs text-red-700 dark:text-red-300 mt-1">`), _tmpl$34 = /* @__PURE__ */ template(`<span aria-hidden=true>`), _tmpl$35 = /* @__PURE__ */ template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$36 = /* @__PURE__ */ template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$37 = /* @__PURE__ */ template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$38 = /* @__PURE__ */ template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<div class=mt-3><p class="text-xs font-medium text-red-700 dark:text-red-300">Suggestions:</p><ul class="mt-1 text-xs text-red-600 dark:text-red-400 list-disc list-inside">`), _tmpl$40 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$41 = /* @__PURE__ */ template(`<div class="relative w-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 group"><!$><!/><div class="flex items-start gap-3"><div class="p-2 bg-red-100 dark:bg-red-900/40 rounded-full shrink-0"><svg class="w-5 h-5 text-red-600 dark:text-red-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg></div><div class="flex-1 min-w-0"><h4 class="text-sm font-semibold text-red-800 dark:text-red-200">Tool Error: <!$><!/></h4><p class="text-sm text-red-700 dark:text-red-300 mt-1"></p><!$><!/><!$><!/><!$><!/>`), _tmpl$42 = /* @__PURE__ */ template(`<li>`), _tmpl$43 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900"><h3 class="text-sm font-semibold text-gray-900 dark:text-white capitalize">`), _tmpl$44 = /* @__PURE__ */ template(`<div class="w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><div class="p-4 prose prose-sm dark:prose-invert max-w-none">`), _tmpl$45 = /* @__PURE__ */ template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<div>`);
22
+ var _tmpl$ = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z">`), _tmpl$2 = /* @__PURE__ */ template(`<button>`), _tmpl$3 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-green-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M5 13l4 4L19 7">`), _tmpl$4 = /* @__PURE__ */ template(`<div class="p-4 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700"><p class="text-red-500 dark:text-red-400 text-sm">Invalid chart data: missing data.datasets`), _tmpl$5 = /* @__PURE__ */ template(`<div class="absolute inset-0 flex items-center justify-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600">`), _tmpl$6 = /* @__PURE__ */ template(`<div class="absolute inset-0 flex items-center justify-center p-4"><div class=text-center><p class="text-red-600 dark:text-red-400 text-sm font-medium">Chart Error</p><p class="text-gray-600 dark:text-gray-400 text-xs mt-1">`), _tmpl$7 = /* @__PURE__ */ template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3">`), _tmpl$8 = /* @__PURE__ */ template(`<div class="w-full h-full p-4"><!$><!/><div class="w-full h-full"role=img><img class="w-full h-auto max-h-[300px] object-contain">`), _tmpl$9 = /* @__PURE__ */ template(`<div class="relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><!$><!/><!$><!/>`), _tmpl$0 = /* @__PURE__ */ template(`<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">`), _tmpl$1 = /* @__PURE__ */ template(`<tr>`), _tmpl$10 = /* @__PURE__ */ template(`<td class="px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6"><div>`), _tmpl$11 = /* @__PURE__ */ template(`<tbody class="bg-white dark:bg-gray-800 relative">`), _tmpl$12 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Copy TSV`), _tmpl$13 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download CSV`), _tmpl$14 = /* @__PURE__ */ template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download JSON`), _tmpl$15 = /* @__PURE__ */ template(`<div class="absolute right-0 mt-1 w-36 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg py-1 text-sm"><!$><!/><!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<div class="absolute right-10 top-2 z-10"><button class="opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm"title="Export table"aria-label="Export table"><svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></button><!$><!/>`), _tmpl$17 = /* @__PURE__ */ template(`<span class="ml-2 text-xs font-normal text-gray-400">(virtualized: <!$><!/> rows)`), _tmpl$18 = /* @__PURE__ */ template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3"><!$><!/><!$><!/>`), _tmpl$19 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$20 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group"><!$><!/><div class=p-4><!$><!/><div class=overflow-x-auto role=region tabindex=0><table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0"><thead class="bg-gray-50 dark:bg-gray-900/50 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<th scope=col class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50">`), _tmpl$22 = /* @__PURE__ */ template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$23 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$24 = /* @__PURE__ */ template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$25 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div class="flex flex-col h-full justify-between"><div><p class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide"></p><div class="mt-2 flex items-baseline"><p class="text-2xl font-semibold text-gray-900 dark:text-white"></p><!$><!/></div></div><!$><!/><!$><!/>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div>`), _tmpl$27 = /* @__PURE__ */ template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><div class="flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]"><a target=_blank rel="noopener noreferrer"class=cursor-zoom-in><img class="max-w-full max-h-[400px] object-contain rounded shadow-sm hover:opacity-90 transition-opacity"loading=lazy></a></div><div class="p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800"><p class="text-sm text-gray-600 dark:text-gray-400 text-center italic">`, true, false, false), _tmpl$28 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900"><h3 class="text-sm font-semibold text-gray-900 dark:text-white">`), _tmpl$29 = /* @__PURE__ */ template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><!$><!/><iframe class="w-full border-0 flex-1"sandbox="allow-scripts allow-same-origin allow-popups allow-forms"loading=lazy>`, true, false, false), _tmpl$30 = /* @__PURE__ */ template(`<figcaption class="p-3 border-t border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800"><p class="text-sm text-gray-600 dark:text-gray-400 text-center">`), _tmpl$31 = /* @__PURE__ */ template(`<figure><div class="flex-1 flex items-center justify-center p-4 bg-gray-50 dark:bg-gray-900 min-h-[200px]"><a target=_blank rel="noopener noreferrer"class="cursor-zoom-in focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 rounded"><img class="max-w-full max-h-[500px] object-contain rounded shadow-sm hover:opacity-95 transition-opacity"loading=lazy></a></div><!$><!/>`, true, false, false), _tmpl$32 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$33 = /* @__PURE__ */ template(`<a target=_blank rel="noopener noreferrer"><div class="p-2 bg-blue-50 dark:bg-blue-900/30 rounded-full text-blue-600 dark:text-blue-400 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/50 shrink-0 transition-colors"aria-hidden=true><svg xmlns=http://www.w3.org/2000/svg class="w-5 h-5"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path></svg></div><div class="flex-1 min-w-0"><h4 class="text-sm font-medium text-gray-900 dark:text-white truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"></h4><!$><!/></div><svg xmlns=http://www.w3.org/2000/svg class="w-4 h-4 text-gray-400 group-hover:text-gray-600 dark:group-hover:text-gray-300 shrink-0 transition-colors"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1=10 y1=14 x2=21 y2=3>`), _tmpl$34 = /* @__PURE__ */ template(`<div class="w-full h-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4"><p class="text-sm font-medium text-red-900 dark:text-red-100">Validation Error</p><p class="text-xs text-red-700 dark:text-red-300 mt-1">`), _tmpl$35 = /* @__PURE__ */ template(`<span aria-hidden=true>`), _tmpl$36 = /* @__PURE__ */ template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$37 = /* @__PURE__ */ template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$38 = /* @__PURE__ */ template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$40 = /* @__PURE__ */ template(`<div class=mt-3><p class="text-xs font-medium text-red-700 dark:text-red-300">Suggestions:</p><ul class="mt-1 text-xs text-red-600 dark:text-red-400 list-disc list-inside">`), _tmpl$41 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$42 = /* @__PURE__ */ template(`<div class="relative w-full bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg p-4 group"><!$><!/><div class="flex items-start gap-3"><div class="p-2 bg-red-100 dark:bg-red-900/40 rounded-full shrink-0"><svg class="w-5 h-5 text-red-600 dark:text-red-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg></div><div class="flex-1 min-w-0"><h4 class="text-sm font-semibold text-red-800 dark:text-red-200">Tool Error: <!$><!/></h4><p class="text-sm text-red-700 dark:text-red-300 mt-1"></p><!$><!/><!$><!/><!$><!/>`), _tmpl$43 = /* @__PURE__ */ template(`<li>`), _tmpl$44 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900"><h3 class="text-sm font-semibold text-gray-900 dark:text-white capitalize">`), _tmpl$45 = /* @__PURE__ */ template(`<div class="w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><div class="p-4 prose prose-sm dark:prose-invert max-w-none">`), _tmpl$46 = /* @__PURE__ */ template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$47 = /* @__PURE__ */ template(`<div>`);
23
23
  function CopyButton(props) {
24
24
  const [copied, setCopied] = createSignal(false);
25
25
  const handleCopy = async () => {
@@ -62,15 +62,19 @@ function CopyButton(props) {
62
62
  })();
63
63
  }
64
64
  function ChartRenderer(props) {
65
+ var _a, _b;
65
66
  const [useNative, setUseNative] = createSignal(false);
66
67
  const [iframeUrl, setIframeUrl] = createSignal();
67
68
  const [isLoading, setIsLoading] = createSignal(true);
68
69
  const [error, setError] = createSignal();
69
70
  const params = () => props.component.params;
70
71
  const rendererPref = () => {
71
- var _a;
72
- return ((_a = params()) == null ? void 0 : _a.renderer) || "auto";
72
+ var _a2;
73
+ return ((_a2 = params()) == null ? void 0 : _a2.renderer) || "auto";
73
74
  };
75
+ if (!((_b = (_a = params()) == null ? void 0 : _a.data) == null ? void 0 : _b.datasets)) {
76
+ return getNextElement(_tmpl$4);
77
+ }
74
78
  createEffect(async () => {
75
79
  const pref = rendererPref();
76
80
  if (pref === "iframe") {
@@ -113,87 +117,94 @@ function ChartRenderer(props) {
113
117
  setIframeUrl(url);
114
118
  setIsLoading(false);
115
119
  };
116
- if (useNative()) {
117
- return createComponent(ChartJSRenderer, {
118
- get component() {
119
- return props.component;
120
- },
121
- onError: (err) => {
122
- var _a;
123
- return (_a = props.onError) == null ? void 0 : _a.call(props, {
124
- type: "render",
125
- message: err.message,
126
- componentId: props.component.id
127
- });
128
- }
129
- });
130
- }
131
- return (() => {
132
- var _el$4 = getNextElement(_tmpl$8), _el$14 = _el$4.firstChild, [_el$15, _co$2] = getNextMarker(_el$14.nextSibling), _el$16 = _el$15.nextSibling, [_el$17, _co$3] = getNextMarker(_el$16.nextSibling), _el$18 = _el$17.nextSibling, [_el$19, _co$4] = getNextMarker(_el$18.nextSibling);
133
- insert(_el$4, createComponent(Show, {
134
- get when() {
135
- return isLoading();
136
- },
137
- get children() {
138
- return getNextElement(_tmpl$4);
139
- }
140
- }), _el$15, _co$2);
141
- insert(_el$4, createComponent(Show, {
142
- get when() {
143
- return error();
144
- },
145
- get children() {
146
- var _el$6 = getNextElement(_tmpl$5), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling;
147
- insert(_el$9, error);
148
- return _el$6;
149
- }
150
- }), _el$17, _co$3);
151
- insert(_el$4, createComponent(Show, {
152
- get when() {
153
- return memo(() => !!iframeUrl())() && !error();
154
- },
155
- get children() {
156
- var _el$0 = getNextElement(_tmpl$7), _el$12 = _el$0.firstChild, [_el$13, _co$] = getNextMarker(_el$12.nextSibling), _el$10 = _el$13.nextSibling, _el$11 = _el$10.firstChild;
157
- insert(_el$0, createComponent(Show, {
120
+ return createComponent(Show, {
121
+ get when() {
122
+ return useNative();
123
+ },
124
+ get fallback() {
125
+ return (() => {
126
+ var _el$5 = getNextElement(_tmpl$9), _el$15 = _el$5.firstChild, [_el$16, _co$2] = getNextMarker(_el$15.nextSibling), _el$17 = _el$16.nextSibling, [_el$18, _co$3] = getNextMarker(_el$17.nextSibling), _el$19 = _el$18.nextSibling, [_el$20, _co$4] = getNextMarker(_el$19.nextSibling);
127
+ insert(_el$5, createComponent(Show, {
128
+ get when() {
129
+ return isLoading();
130
+ },
131
+ get children() {
132
+ return getNextElement(_tmpl$5);
133
+ }
134
+ }), _el$16, _co$2);
135
+ insert(_el$5, createComponent(Show, {
136
+ get when() {
137
+ return error();
138
+ },
139
+ get children() {
140
+ var _el$7 = getNextElement(_tmpl$6), _el$8 = _el$7.firstChild, _el$9 = _el$8.firstChild, _el$0 = _el$9.nextSibling;
141
+ insert(_el$0, error);
142
+ return _el$7;
143
+ }
144
+ }), _el$18, _co$3);
145
+ insert(_el$5, createComponent(Show, {
158
146
  get when() {
159
- var _a;
160
- return (_a = params()) == null ? void 0 : _a.title;
147
+ return memo(() => !!iframeUrl())() && !error();
161
148
  },
162
149
  get children() {
163
- var _el$1 = getNextElement(_tmpl$6);
164
- insert(_el$1, () => {
165
- var _a;
166
- return (_a = params()) == null ? void 0 : _a.title;
150
+ var _el$1 = getNextElement(_tmpl$8), _el$13 = _el$1.firstChild, [_el$14, _co$] = getNextMarker(_el$13.nextSibling), _el$11 = _el$14.nextSibling, _el$12 = _el$11.firstChild;
151
+ insert(_el$1, createComponent(Show, {
152
+ get when() {
153
+ var _a2;
154
+ return (_a2 = params()) == null ? void 0 : _a2.title;
155
+ },
156
+ get children() {
157
+ var _el$10 = getNextElement(_tmpl$7);
158
+ insert(_el$10, () => {
159
+ var _a2;
160
+ return (_a2 = params()) == null ? void 0 : _a2.title;
161
+ });
162
+ return _el$10;
163
+ }
164
+ }), _el$14, _co$);
165
+ _el$12.addEventListener("error", () => {
166
+ var _a2;
167
+ setError("Failed to load chart");
168
+ (_a2 = props.onError) == null ? void 0 : _a2.call(props, {
169
+ type: "render",
170
+ message: "Chart rendering failed",
171
+ componentId: props.component.id
172
+ });
173
+ });
174
+ effect((_p$) => {
175
+ var _a2, _b2, _c, _d;
176
+ var _v$3 = ((_a2 = params()) == null ? void 0 : _a2.title) ? `Chart: ${(_b2 = params()) == null ? void 0 : _b2.title}` : "Chart visualization", _v$4 = iframeUrl(), _v$5 = ((_c = params()) == null ? void 0 : _c.title) ? `Chart: ${(_d = params()) == null ? void 0 : _d.title}` : "Chart visualization";
177
+ _v$3 !== _p$.e && setAttribute(_el$11, "aria-label", _p$.e = _v$3);
178
+ _v$4 !== _p$.t && setAttribute(_el$12, "src", _p$.t = _v$4);
179
+ _v$5 !== _p$.a && setAttribute(_el$12, "alt", _p$.a = _v$5);
180
+ return _p$;
181
+ }, {
182
+ e: void 0,
183
+ t: void 0,
184
+ a: void 0
167
185
  });
168
186
  return _el$1;
169
187
  }
170
- }), _el$13, _co$);
171
- _el$11.addEventListener("error", () => {
172
- var _a;
173
- setError("Failed to load chart");
174
- (_a = props.onError) == null ? void 0 : _a.call(props, {
188
+ }), _el$20, _co$4);
189
+ return _el$5;
190
+ })();
191
+ },
192
+ get children() {
193
+ return createComponent(ChartJSRenderer, {
194
+ get component() {
195
+ return props.component;
196
+ },
197
+ onError: (err) => {
198
+ var _a2;
199
+ return (_a2 = props.onError) == null ? void 0 : _a2.call(props, {
175
200
  type: "render",
176
- message: "Chart rendering failed",
201
+ message: err.message,
177
202
  componentId: props.component.id
178
203
  });
179
- });
180
- effect((_p$) => {
181
- var _a, _b, _c, _d;
182
- var _v$3 = ((_a = params()) == null ? void 0 : _a.title) ? `Chart: ${(_b = params()) == null ? void 0 : _b.title}` : "Chart visualization", _v$4 = iframeUrl(), _v$5 = ((_c = params()) == null ? void 0 : _c.title) ? `Chart: ${(_d = params()) == null ? void 0 : _d.title}` : "Chart visualization";
183
- _v$3 !== _p$.e && setAttribute(_el$10, "aria-label", _p$.e = _v$3);
184
- _v$4 !== _p$.t && setAttribute(_el$11, "src", _p$.t = _v$4);
185
- _v$5 !== _p$.a && setAttribute(_el$11, "alt", _p$.a = _v$5);
186
- return _p$;
187
- }, {
188
- e: void 0,
189
- t: void 0,
190
- a: void 0
191
- });
192
- return _el$0;
193
- }
194
- }), _el$19, _co$4);
195
- return _el$4;
196
- })();
204
+ }
205
+ });
206
+ }
207
+ });
197
208
  }
198
209
  function renderCellValue(value) {
199
210
  if (value === null || value === void 0) {
@@ -370,28 +381,28 @@ ${dataRows}`;
370
381
  };
371
382
  const tableId = `table-${Math.random().toString(36).slice(2, 9)}`;
372
383
  const StandardTableBody = () => (() => {
373
- var _el$20 = getNextElement(_tmpl$9);
374
- insert(_el$20, createComponent(For, {
384
+ var _el$21 = getNextElement(_tmpl$0);
385
+ insert(_el$21, createComponent(For, {
375
386
  get each() {
376
387
  return tableParams.rows.slice(0, DEFAULT_RESOURCE_LIMITS.maxTableRows);
377
388
  },
378
389
  children: (row, i) => (() => {
379
- var _el$21 = getNextElement(_tmpl$0);
380
- insert(_el$21, createComponent(For, {
390
+ var _el$22 = getNextElement(_tmpl$1);
391
+ insert(_el$22, createComponent(For, {
381
392
  get each() {
382
393
  return tableParams.columns;
383
394
  },
384
395
  children: (column) => (() => {
385
- var _el$22 = getNextElement(_tmpl$1), _el$23 = _el$22.firstChild;
386
- effect(() => setProperty(_el$23, "innerHTML", renderCellValue(row[column.key])));
387
- return _el$22;
396
+ var _el$23 = getNextElement(_tmpl$10), _el$24 = _el$23.firstChild;
397
+ effect(() => setProperty(_el$24, "innerHTML", renderCellValue(row[column.key])));
398
+ return _el$23;
388
399
  })()
389
400
  }));
390
- effect(() => className(_el$21, `hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors ${i() % 2 === 0 ? "bg-white dark:bg-gray-800" : "bg-gray-50/30 dark:bg-gray-800/50"}`));
391
- return _el$21;
401
+ effect(() => className(_el$22, `hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors ${i() % 2 === 0 ? "bg-white dark:bg-gray-800" : "bg-gray-50/30 dark:bg-gray-800/50"}`));
402
+ return _el$22;
392
403
  })()
393
404
  }));
394
- return _el$20;
405
+ return _el$21;
395
406
  })();
396
407
  const VirtualizedTableBody = () => {
397
408
  const v = virtualizer();
@@ -401,39 +412,39 @@ ${dataRows}`;
401
412
  const opts = virtualizeOpts();
402
413
  const rowHeight = opts.rowHeight ?? 48;
403
414
  return (() => {
404
- var _el$24 = getNextElement(_tmpl$10);
405
- setStyleProperty(_el$24, "height", `${totalSize}px`);
406
- insert(_el$24, createComponent(For, {
415
+ var _el$25 = getNextElement(_tmpl$11);
416
+ setStyleProperty(_el$25, "height", `${totalSize}px`);
417
+ insert(_el$25, createComponent(For, {
407
418
  each: items,
408
419
  children: (virtualRow) => {
409
420
  const row = tableParams.rows[virtualRow.index];
410
421
  return (() => {
411
- var _el$25 = getNextElement(_tmpl$0);
412
- setStyleProperty(_el$25, "height", `${rowHeight}px`);
413
- insert(_el$25, createComponent(For, {
422
+ var _el$26 = getNextElement(_tmpl$1);
423
+ setStyleProperty(_el$26, "height", `${rowHeight}px`);
424
+ insert(_el$26, createComponent(For, {
414
425
  get each() {
415
426
  return tableParams.columns;
416
427
  },
417
428
  children: (column) => (() => {
418
- var _el$26 = getNextElement(_tmpl$1), _el$27 = _el$26.firstChild;
419
- effect(() => setProperty(_el$27, "innerHTML", renderCellValue(row[column.key])));
420
- return _el$26;
429
+ var _el$27 = getNextElement(_tmpl$10), _el$28 = _el$27.firstChild;
430
+ effect(() => setProperty(_el$28, "innerHTML", renderCellValue(row[column.key])));
431
+ return _el$27;
421
432
  })()
422
433
  }));
423
434
  effect((_p$) => {
424
435
  var _v$6 = `hover:bg-gray-50 dark:hover:bg-gray-700/50 transition-colors absolute left-0 right-0 ${virtualRow.index % 2 === 0 ? "bg-white dark:bg-gray-800" : "bg-gray-50/30 dark:bg-gray-800/50"}`, _v$7 = `translateY(${virtualRow.start}px)`;
425
- _v$6 !== _p$.e && className(_el$25, _p$.e = _v$6);
426
- _v$7 !== _p$.t && setStyleProperty(_el$25, "transform", _p$.t = _v$7);
436
+ _v$6 !== _p$.e && className(_el$26, _p$.e = _v$6);
437
+ _v$7 !== _p$.t && setStyleProperty(_el$26, "transform", _p$.t = _v$7);
427
438
  return _p$;
428
439
  }, {
429
440
  e: void 0,
430
441
  t: void 0
431
442
  });
432
- return _el$25;
443
+ return _el$26;
433
444
  })();
434
445
  }
435
446
  }));
436
- return _el$24;
447
+ return _el$25;
437
448
  })();
438
449
  };
439
450
  return createComponent(ExpandableWrapper, {
@@ -445,8 +456,8 @@ ${dataRows}`;
445
456
  },
446
457
  copyLabel: "Copy table (TSV)",
447
458
  get children() {
448
- var _el$28 = getNextElement(_tmpl$19), _el$77 = _el$28.firstChild, [_el$78, _co$16] = getNextMarker(_el$77.nextSibling), _el$43 = _el$78.nextSibling, _el$73 = _el$43.firstChild, [_el$74, _co$14] = getNextMarker(_el$73.nextSibling), _el$54 = _el$74.nextSibling, _el$55 = _el$54.firstChild, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$56.nextSibling, [_el$59, _co$10] = getNextMarker(_el$58.nextSibling), _el$75 = _el$54.nextSibling, [_el$76, _co$15] = getNextMarker(_el$75.nextSibling);
449
- insert(_el$28, createComponent(Show, {
459
+ var _el$29 = getNextElement(_tmpl$20), _el$78 = _el$29.firstChild, [_el$79, _co$16] = getNextMarker(_el$78.nextSibling), _el$44 = _el$79.nextSibling, _el$74 = _el$44.firstChild, [_el$75, _co$14] = getNextMarker(_el$74.nextSibling), _el$55 = _el$75.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$57.firstChild, _el$59 = _el$57.nextSibling, [_el$60, _co$10] = getNextMarker(_el$59.nextSibling), _el$76 = _el$55.nextSibling, [_el$77, _co$15] = getNextMarker(_el$76.nextSibling);
460
+ insert(_el$29, createComponent(Show, {
450
461
  when: exportable,
451
462
  get fallback() {
452
463
  return createComponent(CopyButton, {
@@ -456,95 +467,95 @@ ${dataRows}`;
456
467
  });
457
468
  },
458
469
  get children() {
459
- var _el$29 = getNextElement(_tmpl$15), _el$30 = _el$29.firstChild, _el$41 = _el$30.nextSibling, [_el$42, _co$8] = getNextMarker(_el$41.nextSibling);
460
- _el$30.$$click = () => setShowExportMenu(!showExportMenu());
461
- insert(_el$29, createComponent(Show, {
470
+ var _el$30 = getNextElement(_tmpl$16), _el$31 = _el$30.firstChild, _el$42 = _el$31.nextSibling, [_el$43, _co$8] = getNextMarker(_el$42.nextSibling);
471
+ _el$31.$$click = () => setShowExportMenu(!showExportMenu());
472
+ insert(_el$30, createComponent(Show, {
462
473
  get when() {
463
474
  return showExportMenu();
464
475
  },
465
476
  get children() {
466
- var _el$31 = getNextElement(_tmpl$14), _el$35 = _el$31.firstChild, [_el$36, _co$5] = getNextMarker(_el$35.nextSibling), _el$37 = _el$36.nextSibling, [_el$38, _co$6] = getNextMarker(_el$37.nextSibling), _el$39 = _el$38.nextSibling, [_el$40, _co$7] = getNextMarker(_el$39.nextSibling);
467
- insert(_el$31, createComponent(Show, {
477
+ var _el$32 = getNextElement(_tmpl$15), _el$36 = _el$32.firstChild, [_el$37, _co$5] = getNextMarker(_el$36.nextSibling), _el$38 = _el$37.nextSibling, [_el$39, _co$6] = getNextMarker(_el$38.nextSibling), _el$40 = _el$39.nextSibling, [_el$41, _co$7] = getNextMarker(_el$40.nextSibling);
478
+ insert(_el$32, createComponent(Show, {
468
479
  get when() {
469
480
  return exportFormats.includes("tsv");
470
481
  },
471
482
  get children() {
472
- var _el$32 = getNextElement(_tmpl$11);
473
- _el$32.$$click = () => handleExport("tsv");
483
+ var _el$33 = getNextElement(_tmpl$12);
484
+ _el$33.$$click = () => handleExport("tsv");
474
485
  runHydrationEvents();
475
- return _el$32;
486
+ return _el$33;
476
487
  }
477
- }), _el$36, _co$5);
478
- insert(_el$31, createComponent(Show, {
488
+ }), _el$37, _co$5);
489
+ insert(_el$32, createComponent(Show, {
479
490
  get when() {
480
491
  return exportFormats.includes("csv");
481
492
  },
482
493
  get children() {
483
- var _el$33 = getNextElement(_tmpl$12);
484
- _el$33.$$click = () => handleExport("csv");
494
+ var _el$34 = getNextElement(_tmpl$13);
495
+ _el$34.$$click = () => handleExport("csv");
485
496
  runHydrationEvents();
486
- return _el$33;
497
+ return _el$34;
487
498
  }
488
- }), _el$38, _co$6);
489
- insert(_el$31, createComponent(Show, {
499
+ }), _el$39, _co$6);
500
+ insert(_el$32, createComponent(Show, {
490
501
  get when() {
491
502
  return exportFormats.includes("json");
492
503
  },
493
504
  get children() {
494
- var _el$34 = getNextElement(_tmpl$13);
495
- _el$34.$$click = () => handleExport("json");
505
+ var _el$35 = getNextElement(_tmpl$14);
506
+ _el$35.$$click = () => handleExport("json");
496
507
  runHydrationEvents();
497
- return _el$34;
508
+ return _el$35;
498
509
  }
499
- }), _el$40, _co$7);
500
- return _el$31;
510
+ }), _el$41, _co$7);
511
+ return _el$32;
501
512
  }
502
- }), _el$42, _co$8);
513
+ }), _el$43, _co$8);
503
514
  runHydrationEvents();
504
- return _el$29;
515
+ return _el$30;
505
516
  }
506
- }), _el$78, _co$16);
507
- insert(_el$43, createComponent(Show, {
517
+ }), _el$79, _co$16);
518
+ insert(_el$44, createComponent(Show, {
508
519
  get when() {
509
520
  return tableParams.title;
510
521
  },
511
522
  get children() {
512
- var _el$44 = getNextElement(_tmpl$17), _el$50 = _el$44.firstChild, [_el$51, _co$0] = getNextMarker(_el$50.nextSibling), _el$52 = _el$51.nextSibling, [_el$53, _co$1] = getNextMarker(_el$52.nextSibling);
513
- setAttribute(_el$44, "id", `${tableId}-title`);
514
- insert(_el$44, () => tableParams.title, _el$51, _co$0);
515
- insert(_el$44, createComponent(Show, {
523
+ var _el$45 = getNextElement(_tmpl$18), _el$51 = _el$45.firstChild, [_el$52, _co$0] = getNextMarker(_el$51.nextSibling), _el$53 = _el$52.nextSibling, [_el$54, _co$1] = getNextMarker(_el$53.nextSibling);
524
+ setAttribute(_el$45, "id", `${tableId}-title`);
525
+ insert(_el$45, () => tableParams.title, _el$52, _co$0);
526
+ insert(_el$45, createComponent(Show, {
516
527
  get when() {
517
528
  return isVirtualizing();
518
529
  },
519
530
  get children() {
520
- var _el$45 = getNextElement(_tmpl$16), _el$46 = _el$45.firstChild, _el$48 = _el$46.nextSibling, [_el$49, _co$9] = getNextMarker(_el$48.nextSibling);
521
- _el$49.nextSibling;
522
- insert(_el$45, () => {
531
+ var _el$46 = getNextElement(_tmpl$17), _el$47 = _el$46.firstChild, _el$49 = _el$47.nextSibling, [_el$50, _co$9] = getNextMarker(_el$49.nextSibling);
532
+ _el$50.nextSibling;
533
+ insert(_el$46, () => {
523
534
  var _a;
524
535
  return (_a = tableParams.rows) == null ? void 0 : _a.length;
525
- }, _el$49, _co$9);
526
- return _el$45;
536
+ }, _el$50, _co$9);
537
+ return _el$46;
527
538
  }
528
- }), _el$53, _co$1);
529
- return _el$44;
539
+ }), _el$54, _co$1);
540
+ return _el$45;
530
541
  }
531
- }), _el$74, _co$14);
542
+ }), _el$75, _co$14);
532
543
  var _ref$ = scrollContainerRef;
533
- typeof _ref$ === "function" ? use(_ref$, _el$54) : scrollContainerRef = _el$54;
534
- insert(_el$57, createComponent(For, {
544
+ typeof _ref$ === "function" ? use(_ref$, _el$55) : scrollContainerRef = _el$55;
545
+ insert(_el$58, createComponent(For, {
535
546
  get each() {
536
547
  return tableParams.columns;
537
548
  },
538
549
  children: (column) => (() => {
539
- var _el$79 = getNextElement(_tmpl$20);
540
- insert(_el$79, () => column.label);
541
- effect((_$p) => style(_el$79, column.width ? {
550
+ var _el$80 = getNextElement(_tmpl$21);
551
+ insert(_el$80, () => column.label);
552
+ effect((_$p) => style(_el$80, column.width ? {
542
553
  width: column.width
543
554
  } : {}, _$p));
544
- return _el$79;
555
+ return _el$80;
545
556
  })()
546
557
  }));
547
- insert(_el$55, createComponent(Show, {
558
+ insert(_el$56, createComponent(Show, {
548
559
  get when() {
549
560
  return isVirtualizing();
550
561
  },
@@ -554,34 +565,34 @@ ${dataRows}`;
554
565
  get children() {
555
566
  return createComponent(VirtualizedTableBody, {});
556
567
  }
557
- }), _el$59, _co$10);
558
- insert(_el$43, createComponent(Show, {
568
+ }), _el$60, _co$10);
569
+ insert(_el$44, createComponent(Show, {
559
570
  get when() {
560
571
  return tableParams.pagination;
561
572
  },
562
573
  get children() {
563
- var _el$60 = getNextElement(_tmpl$18), _el$61 = _el$60.firstChild, _el$62 = _el$61.firstChild, _el$67 = _el$62.nextSibling, [_el$68, _co$11] = getNextMarker(_el$67.nextSibling), _el$63 = _el$68.nextSibling, _el$69 = _el$63.nextSibling, [_el$70, _co$12] = getNextMarker(_el$69.nextSibling), _el$65 = _el$70.nextSibling, _el$71 = _el$65.nextSibling, [_el$72, _co$13] = getNextMarker(_el$71.nextSibling);
564
- insert(_el$61, () => tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1, _el$68, _co$11);
565
- insert(_el$61, () => Math.min((tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize, tableParams.pagination.totalRows), _el$70, _co$12);
566
- insert(_el$61, () => tableParams.pagination.totalRows, _el$72, _co$13);
567
- return _el$60;
574
+ var _el$61 = getNextElement(_tmpl$19), _el$62 = _el$61.firstChild, _el$63 = _el$62.firstChild, _el$68 = _el$63.nextSibling, [_el$69, _co$11] = getNextMarker(_el$68.nextSibling), _el$64 = _el$69.nextSibling, _el$70 = _el$64.nextSibling, [_el$71, _co$12] = getNextMarker(_el$70.nextSibling), _el$66 = _el$71.nextSibling, _el$72 = _el$66.nextSibling, [_el$73, _co$13] = getNextMarker(_el$72.nextSibling);
575
+ insert(_el$62, () => tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1, _el$69, _co$11);
576
+ insert(_el$62, () => Math.min((tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize, tableParams.pagination.totalRows), _el$71, _co$12);
577
+ insert(_el$62, () => tableParams.pagination.totalRows, _el$73, _co$13);
578
+ return _el$61;
568
579
  }
569
- }), _el$76, _co$15);
580
+ }), _el$77, _co$15);
570
581
  effect((_p$) => {
571
582
  var _v$8 = isVirtualizing() ? {
572
583
  "max-height": "500px",
573
584
  "overflow-y": "auto"
574
585
  } : {}, _v$9 = tableParams.title || "Data table", _v$0 = tableParams.title ? `${tableId}-title` : void 0;
575
- _p$.e = style(_el$54, _v$8, _p$.e);
576
- _v$9 !== _p$.t && setAttribute(_el$54, "aria-label", _p$.t = _v$9);
577
- _v$0 !== _p$.a && setAttribute(_el$55, "aria-labelledby", _p$.a = _v$0);
586
+ _p$.e = style(_el$55, _v$8, _p$.e);
587
+ _v$9 !== _p$.t && setAttribute(_el$55, "aria-label", _p$.t = _v$9);
588
+ _v$0 !== _p$.a && setAttribute(_el$56, "aria-labelledby", _p$.a = _v$0);
578
589
  return _p$;
579
590
  }, {
580
591
  e: void 0,
581
592
  t: void 0,
582
593
  a: void 0
583
594
  });
584
- return _el$28;
595
+ return _el$29;
585
596
  }
586
597
  });
587
598
  }
@@ -594,51 +605,51 @@ function MetricRenderer(props) {
594
605
  return `${title}: ${value}${unit ? " " + unit : ""}`;
595
606
  };
596
607
  return (() => {
597
- var _el$80 = getNextElement(_tmpl$24), _el$102 = _el$80.firstChild, [_el$103, _co$22] = getNextMarker(_el$102.nextSibling), _el$81 = _el$103.nextSibling, _el$82 = _el$81.firstChild, _el$83 = _el$82.firstChild, _el$84 = _el$83.nextSibling, _el$85 = _el$84.firstChild, _el$87 = _el$85.nextSibling, [_el$88, _co$17] = getNextMarker(_el$87.nextSibling), _el$98 = _el$82.nextSibling, [_el$99, _co$20] = getNextMarker(_el$98.nextSibling), _el$100 = _el$99.nextSibling, [_el$101, _co$21] = getNextMarker(_el$100.nextSibling);
598
- insert(_el$80, createComponent(CopyButton, {
608
+ var _el$81 = getNextElement(_tmpl$25), _el$103 = _el$81.firstChild, [_el$104, _co$22] = getNextMarker(_el$103.nextSibling), _el$82 = _el$104.nextSibling, _el$83 = _el$82.firstChild, _el$84 = _el$83.firstChild, _el$85 = _el$84.nextSibling, _el$86 = _el$85.firstChild, _el$88 = _el$86.nextSibling, [_el$89, _co$17] = getNextMarker(_el$88.nextSibling), _el$99 = _el$83.nextSibling, [_el$100, _co$20] = getNextMarker(_el$99.nextSibling), _el$101 = _el$100.nextSibling, [_el$102, _co$21] = getNextMarker(_el$101.nextSibling);
609
+ insert(_el$81, createComponent(CopyButton, {
599
610
  getText: getMetricText,
600
611
  title: "Copy metric",
601
612
  position: "top-right"
602
- }), _el$103, _co$22);
603
- insert(_el$83, () => metricParams.title);
604
- insert(_el$85, () => metricParams.value);
605
- insert(_el$84, createComponent(Show, {
613
+ }), _el$104, _co$22);
614
+ insert(_el$84, () => metricParams.title);
615
+ insert(_el$86, () => metricParams.value);
616
+ insert(_el$85, createComponent(Show, {
606
617
  get when() {
607
618
  return metricParams.unit;
608
619
  },
609
620
  get children() {
610
- var _el$86 = getNextElement(_tmpl$21);
611
- insert(_el$86, () => metricParams.unit);
612
- return _el$86;
621
+ var _el$87 = getNextElement(_tmpl$22);
622
+ insert(_el$87, () => metricParams.unit);
623
+ return _el$87;
613
624
  }
614
- }), _el$88, _co$17);
615
- insert(_el$81, createComponent(Show, {
625
+ }), _el$89, _co$17);
626
+ insert(_el$82, createComponent(Show, {
616
627
  get when() {
617
628
  return metricParams.trend;
618
629
  },
619
630
  get children() {
620
- var _el$89 = getNextElement(_tmpl$22), _el$90 = _el$89.firstChild, _el$93 = _el$90.firstChild, [_el$94, _co$18] = getNextMarker(_el$93.nextSibling), _el$91 = _el$94.nextSibling, _el$95 = _el$91.nextSibling, [_el$96, _co$19] = getNextMarker(_el$95.nextSibling);
621
- _el$96.nextSibling;
622
- insert(_el$90, (() => {
631
+ var _el$90 = getNextElement(_tmpl$23), _el$91 = _el$90.firstChild, _el$94 = _el$91.firstChild, [_el$95, _co$18] = getNextMarker(_el$94.nextSibling), _el$92 = _el$95.nextSibling, _el$96 = _el$92.nextSibling, [_el$97, _co$19] = getNextMarker(_el$96.nextSibling);
632
+ _el$97.nextSibling;
633
+ insert(_el$91, (() => {
623
634
  var _c$ = memo(() => metricParams.trend.direction === "up");
624
635
  return () => _c$() ? "�" : metricParams.trend.direction === "down" ? "�" : "�";
625
- })(), _el$94, _co$18);
626
- insert(_el$90, () => Math.abs(metricParams.trend.value), _el$96, _co$19);
627
- effect(() => className(_el$90, `text-sm font-medium ${metricParams.trend.direction === "up" ? "text-green-600 dark:text-green-400" : metricParams.trend.direction === "down" ? "text-red-600 dark:text-red-400" : "text-gray-600 dark:text-gray-400"}`));
628
- return _el$89;
636
+ })(), _el$95, _co$18);
637
+ insert(_el$91, () => Math.abs(metricParams.trend.value), _el$97, _co$19);
638
+ effect(() => className(_el$91, `text-sm font-medium ${metricParams.trend.direction === "up" ? "text-green-600 dark:text-green-400" : metricParams.trend.direction === "down" ? "text-red-600 dark:text-red-400" : "text-gray-600 dark:text-gray-400"}`));
639
+ return _el$90;
629
640
  }
630
- }), _el$99, _co$20);
631
- insert(_el$81, createComponent(Show, {
641
+ }), _el$100, _co$20);
642
+ insert(_el$82, createComponent(Show, {
632
643
  get when() {
633
644
  return metricParams.subtitle;
634
645
  },
635
646
  get children() {
636
- var _el$97 = getNextElement(_tmpl$23);
637
- insert(_el$97, () => metricParams.subtitle);
638
- return _el$97;
647
+ var _el$98 = getNextElement(_tmpl$24);
648
+ insert(_el$98, () => metricParams.subtitle);
649
+ return _el$98;
639
650
  }
640
- }), _el$101, _co$21);
641
- return _el$80;
651
+ }), _el$102, _co$21);
652
+ return _el$81;
642
653
  })();
643
654
  }
644
655
  function extractImageFromMarkdown(content) {
@@ -679,91 +690,91 @@ function TextRenderer(props) {
679
690
  },
680
691
  get fallback() {
681
692
  return (() => {
682
- var _el$104 = getNextElement(_tmpl$25), _el$106 = _el$104.firstChild, [_el$107, _co$23] = getNextMarker(_el$106.nextSibling), _el$105 = _el$107.nextSibling;
683
- insert(_el$104, createComponent(CopyButton, {
693
+ var _el$105 = getNextElement(_tmpl$26), _el$107 = _el$105.firstChild, [_el$108, _co$23] = getNextMarker(_el$107.nextSibling), _el$106 = _el$108.nextSibling;
694
+ insert(_el$105, createComponent(CopyButton, {
684
695
  getText: getTextContent,
685
696
  title: "Copy text",
686
697
  position: "top-right"
687
- }), _el$107, _co$23);
698
+ }), _el$108, _co$23);
688
699
  effect((_p$) => {
689
700
  var _v$1 = `prose prose-sm dark:prose-invert max-w-none ${textParams.className || ""}`, _v$10 = htmlContent();
690
- _v$1 !== _p$.e && className(_el$105, _p$.e = _v$1);
691
- _v$10 !== _p$.t && setProperty(_el$105, "innerHTML", _p$.t = _v$10);
701
+ _v$1 !== _p$.e && className(_el$106, _p$.e = _v$1);
702
+ _v$10 !== _p$.t && setProperty(_el$106, "innerHTML", _p$.t = _v$10);
692
703
  return _p$;
693
704
  }, {
694
705
  e: void 0,
695
706
  t: void 0
696
707
  });
697
- return _el$104;
708
+ return _el$105;
698
709
  })();
699
710
  },
700
711
  children: (data) => (() => {
701
- var _el$108 = getNextElement(_tmpl$26), _el$109 = _el$108.firstChild, _el$110 = _el$109.firstChild, _el$111 = _el$110.firstChild, _el$112 = _el$109.nextSibling, _el$113 = _el$112.firstChild;
702
- insert(_el$113, () => data().credit);
712
+ var _el$109 = getNextElement(_tmpl$27), _el$110 = _el$109.firstChild, _el$111 = _el$110.firstChild, _el$112 = _el$111.firstChild, _el$113 = _el$110.nextSibling, _el$114 = _el$113.firstChild;
713
+ insert(_el$114, () => data().credit);
703
714
  effect((_p$) => {
704
715
  var _v$11 = data().linkUrl, _v$12 = data().imageUrl, _v$13 = data().alt;
705
- _v$11 !== _p$.e && setAttribute(_el$110, "href", _p$.e = _v$11);
706
- _v$12 !== _p$.t && setAttribute(_el$111, "src", _p$.t = _v$12);
707
- _v$13 !== _p$.a && setAttribute(_el$111, "alt", _p$.a = _v$13);
716
+ _v$11 !== _p$.e && setAttribute(_el$111, "href", _p$.e = _v$11);
717
+ _v$12 !== _p$.t && setAttribute(_el$112, "src", _p$.t = _v$12);
718
+ _v$13 !== _p$.a && setAttribute(_el$112, "alt", _p$.a = _v$13);
708
719
  return _p$;
709
720
  }, {
710
721
  e: void 0,
711
722
  t: void 0,
712
723
  a: void 0
713
724
  });
714
- return _el$108;
725
+ return _el$109;
715
726
  })()
716
727
  });
717
728
  }
718
729
  function IframeRenderer(props) {
719
730
  const params = props.component.params;
720
731
  return (() => {
721
- var _el$114 = getNextElement(_tmpl$28), _el$118 = _el$114.firstChild, [_el$119, _co$24] = getNextMarker(_el$118.nextSibling), _el$117 = _el$119.nextSibling;
722
- insert(_el$114, createComponent(Show, {
732
+ var _el$115 = getNextElement(_tmpl$29), _el$119 = _el$115.firstChild, [_el$120, _co$24] = getNextMarker(_el$119.nextSibling), _el$118 = _el$120.nextSibling;
733
+ insert(_el$115, createComponent(Show, {
723
734
  get when() {
724
735
  return params.title;
725
736
  },
726
737
  get children() {
727
- var _el$115 = getNextElement(_tmpl$27), _el$116 = _el$115.firstChild;
728
- insert(_el$116, () => params.title);
729
- return _el$115;
738
+ var _el$116 = getNextElement(_tmpl$28), _el$117 = _el$116.firstChild;
739
+ insert(_el$117, () => params.title);
740
+ return _el$116;
730
741
  }
731
- }), _el$119, _co$24);
742
+ }), _el$120, _co$24);
732
743
  effect((_p$) => {
733
744
  var _v$14 = params.url, _v$15 = params.title || "Embedded content", _v$16 = `height: ${params.height || "400px"}; min-height: 300px;`;
734
- _v$14 !== _p$.e && setAttribute(_el$117, "src", _p$.e = _v$14);
735
- _v$15 !== _p$.t && setAttribute(_el$117, "title", _p$.t = _v$15);
736
- _p$.a = style(_el$117, _v$16, _p$.a);
745
+ _v$14 !== _p$.e && setAttribute(_el$118, "src", _p$.e = _v$14);
746
+ _v$15 !== _p$.t && setAttribute(_el$118, "title", _p$.t = _v$15);
747
+ _p$.a = style(_el$118, _v$16, _p$.a);
737
748
  return _p$;
738
749
  }, {
739
750
  e: void 0,
740
751
  t: void 0,
741
752
  a: void 0
742
753
  });
743
- return _el$114;
754
+ return _el$115;
744
755
  })();
745
756
  }
746
757
  function ImageRenderer(props) {
747
758
  const params = props.component.params;
748
759
  return (() => {
749
- var _el$120 = getNextElement(_tmpl$30), _el$121 = _el$120.firstChild, _el$122 = _el$121.firstChild, _el$123 = _el$122.firstChild, _el$126 = _el$121.nextSibling, [_el$127, _co$25] = getNextMarker(_el$126.nextSibling);
750
- insert(_el$120, createComponent(Show, {
760
+ var _el$121 = getNextElement(_tmpl$31), _el$122 = _el$121.firstChild, _el$123 = _el$122.firstChild, _el$124 = _el$123.firstChild, _el$127 = _el$122.nextSibling, [_el$128, _co$25] = getNextMarker(_el$127.nextSibling);
761
+ insert(_el$121, createComponent(Show, {
751
762
  get when() {
752
763
  return params.caption;
753
764
  },
754
765
  get children() {
755
- var _el$124 = getNextElement(_tmpl$29), _el$125 = _el$124.firstChild;
756
- insert(_el$125, () => params.caption);
757
- return _el$124;
766
+ var _el$125 = getNextElement(_tmpl$30), _el$126 = _el$125.firstChild;
767
+ insert(_el$126, () => params.caption);
768
+ return _el$125;
758
769
  }
759
- }), _el$127, _co$25);
770
+ }), _el$128, _co$25);
760
771
  effect((_p$) => {
761
772
  var _v$17 = `w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col ${params.className || ""}`, _v$18 = params.url, _v$19 = `View full size: ${params.alt || "image"}`, _v$20 = params.url, _v$21 = params.alt || "Image";
762
- _v$17 !== _p$.e && className(_el$120, _p$.e = _v$17);
763
- _v$18 !== _p$.t && setAttribute(_el$122, "href", _p$.t = _v$18);
764
- _v$19 !== _p$.a && setAttribute(_el$122, "aria-label", _p$.a = _v$19);
765
- _v$20 !== _p$.o && setAttribute(_el$123, "src", _p$.o = _v$20);
766
- _v$21 !== _p$.i && setAttribute(_el$123, "alt", _p$.i = _v$21);
773
+ _v$17 !== _p$.e && className(_el$121, _p$.e = _v$17);
774
+ _v$18 !== _p$.t && setAttribute(_el$123, "href", _p$.t = _v$18);
775
+ _v$19 !== _p$.a && setAttribute(_el$123, "aria-label", _p$.a = _v$19);
776
+ _v$20 !== _p$.o && setAttribute(_el$124, "src", _p$.o = _v$20);
777
+ _v$21 !== _p$.i && setAttribute(_el$124, "alt", _p$.i = _v$21);
767
778
  return _p$;
768
779
  }, {
769
780
  e: void 0,
@@ -772,30 +783,30 @@ function ImageRenderer(props) {
772
783
  o: void 0,
773
784
  i: void 0
774
785
  });
775
- return _el$120;
786
+ return _el$121;
776
787
  })();
777
788
  }
778
789
  function LinkRenderer(props) {
779
790
  const params = props.component.params;
780
791
  return (() => {
781
- var _el$128 = getNextElement(_tmpl$32), _el$129 = _el$128.firstChild, _el$130 = _el$129.nextSibling, _el$131 = _el$130.firstChild, _el$133 = _el$131.nextSibling, [_el$134, _co$26] = getNextMarker(_el$133.nextSibling);
782
- _el$128.$$click = (e) => e.stopPropagation();
783
- insert(_el$131, () => params.label || params.url);
784
- insert(_el$130, createComponent(Show, {
792
+ var _el$129 = getNextElement(_tmpl$33), _el$130 = _el$129.firstChild, _el$131 = _el$130.nextSibling, _el$132 = _el$131.firstChild, _el$134 = _el$132.nextSibling, [_el$135, _co$26] = getNextMarker(_el$134.nextSibling);
793
+ _el$129.$$click = (e) => e.stopPropagation();
794
+ insert(_el$132, () => params.label || params.url);
795
+ insert(_el$131, createComponent(Show, {
785
796
  get when() {
786
797
  return params.description;
787
798
  },
788
799
  get children() {
789
- var _el$132 = getNextElement(_tmpl$31);
790
- insert(_el$132, () => params.description);
791
- return _el$132;
800
+ var _el$133 = getNextElement(_tmpl$32);
801
+ insert(_el$133, () => params.description);
802
+ return _el$133;
792
803
  }
793
- }), _el$134, _co$26);
804
+ }), _el$135, _co$26);
794
805
  effect((_p$) => {
795
806
  var _v$22 = params.url, _v$23 = `${params.label || "Link"}: ${params.description || params.url} (opens in new tab)`, _v$24 = `flex items-center gap-3 p-4 bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors group h-full focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 ${params.className || ""}`;
796
- _v$22 !== _p$.e && setAttribute(_el$128, "href", _p$.e = _v$22);
797
- _v$23 !== _p$.t && setAttribute(_el$128, "aria-label", _p$.t = _v$23);
798
- _v$24 !== _p$.a && className(_el$128, _p$.a = _v$24);
807
+ _v$22 !== _p$.e && setAttribute(_el$129, "href", _p$.e = _v$22);
808
+ _v$23 !== _p$.t && setAttribute(_el$129, "aria-label", _p$.t = _v$23);
809
+ _v$24 !== _p$.a && className(_el$129, _p$.a = _v$24);
799
810
  return _p$;
800
811
  }, {
801
812
  e: void 0,
@@ -803,7 +814,7 @@ function LinkRenderer(props) {
803
814
  a: void 0
804
815
  });
805
816
  runHydrationEvents();
806
- return _el$128;
817
+ return _el$129;
807
818
  })();
808
819
  }
809
820
  function ComponentRenderer(props) {
@@ -817,12 +828,12 @@ function ComponentRenderer(props) {
817
828
  details: validation.errors
818
829
  });
819
830
  return (() => {
820
- var _el$135 = getNextElement(_tmpl$33), _el$136 = _el$135.firstChild, _el$137 = _el$136.nextSibling;
821
- insert(_el$137, () => {
831
+ var _el$136 = getNextElement(_tmpl$34), _el$137 = _el$136.firstChild, _el$138 = _el$137.nextSibling;
832
+ insert(_el$138, () => {
822
833
  var _a2, _b;
823
834
  return ((_b = (_a2 = validation.errors) == null ? void 0 : _a2[0]) == null ? void 0 : _b.message) || "Unknown validation error";
824
835
  });
825
- return _el$135;
836
+ return _el$136;
826
837
  })();
827
838
  }
828
839
  return createComponent(GenerativeUIErrorBoundary, {
@@ -1068,27 +1079,27 @@ function ActionRenderer(props) {
1068
1079
  const isDisabled = () => params.disabled || params.action === "tool-call" && isExecuting();
1069
1080
  if (params.type === "link" || params.action === "link") {
1070
1081
  return (() => {
1071
- var _el$138 = getNextElement(_tmpl$35), _el$140 = _el$138.firstChild, [_el$141, _co$27] = getNextMarker(_el$140.nextSibling), _el$142 = _el$141.nextSibling, [_el$143, _co$28] = getNextMarker(_el$142.nextSibling);
1072
- _el$138.$$click = handleClick;
1073
- insert(_el$138, createComponent(Show, {
1082
+ var _el$139 = getNextElement(_tmpl$36), _el$141 = _el$139.firstChild, [_el$142, _co$27] = getNextMarker(_el$141.nextSibling), _el$143 = _el$142.nextSibling, [_el$144, _co$28] = getNextMarker(_el$143.nextSibling);
1083
+ _el$139.$$click = handleClick;
1084
+ insert(_el$139, createComponent(Show, {
1074
1085
  get when() {
1075
1086
  return params.icon;
1076
1087
  },
1077
1088
  get children() {
1078
- var _el$139 = getNextElement(_tmpl$34);
1079
- insert(_el$139, () => params.icon);
1080
- return _el$139;
1089
+ var _el$140 = getNextElement(_tmpl$35);
1090
+ insert(_el$140, () => params.icon);
1091
+ return _el$140;
1081
1092
  }
1082
- }), _el$141, _co$27);
1083
- insert(_el$138, () => params.label, _el$143, _co$28);
1093
+ }), _el$142, _co$27);
1094
+ insert(_el$139, () => params.label, _el$144, _co$28);
1084
1095
  effect((_p$) => {
1085
1096
  var _v$25 = params.url || "#", _v$26 = params.url ? "_blank" : void 0, _v$27 = params.ariaLabel || params.label, _v$28 = `inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500
1086
1097
  ${params.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : params.variant === "outline" ? "border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800" : "text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300"}
1087
1098
  ${params.className || ""}`;
1088
- _v$25 !== _p$.e && setAttribute(_el$138, "href", _p$.e = _v$25);
1089
- _v$26 !== _p$.t && setAttribute(_el$138, "target", _p$.t = _v$26);
1090
- _v$27 !== _p$.a && setAttribute(_el$138, "aria-label", _p$.a = _v$27);
1091
- _v$28 !== _p$.o && className(_el$138, _p$.o = _v$28);
1099
+ _v$25 !== _p$.e && setAttribute(_el$139, "href", _p$.e = _v$25);
1100
+ _v$26 !== _p$.t && setAttribute(_el$139, "target", _p$.t = _v$26);
1101
+ _v$27 !== _p$.a && setAttribute(_el$139, "aria-label", _p$.a = _v$27);
1102
+ _v$28 !== _p$.o && className(_el$139, _p$.o = _v$28);
1092
1103
  return _p$;
1093
1104
  }, {
1094
1105
  e: void 0,
@@ -1097,42 +1108,42 @@ function ActionRenderer(props) {
1097
1108
  o: void 0
1098
1109
  });
1099
1110
  runHydrationEvents();
1100
- return _el$138;
1111
+ return _el$139;
1101
1112
  })();
1102
1113
  }
1103
1114
  return (() => {
1104
- var _el$144 = getNextElement(_tmpl$37), _el$147 = _el$144.firstChild, [_el$148, _co$29] = getNextMarker(_el$147.nextSibling), _el$149 = _el$148.nextSibling, [_el$150, _co$30] = getNextMarker(_el$149.nextSibling), _el$151 = _el$150.nextSibling, [_el$152, _co$31] = getNextMarker(_el$151.nextSibling);
1105
- _el$144.$$click = handleClick;
1106
- insert(_el$144, createComponent(Show, {
1115
+ var _el$145 = getNextElement(_tmpl$38), _el$148 = _el$145.firstChild, [_el$149, _co$29] = getNextMarker(_el$148.nextSibling), _el$150 = _el$149.nextSibling, [_el$151, _co$30] = getNextMarker(_el$150.nextSibling), _el$152 = _el$151.nextSibling, [_el$153, _co$31] = getNextMarker(_el$152.nextSibling);
1116
+ _el$145.$$click = handleClick;
1117
+ insert(_el$145, createComponent(Show, {
1107
1118
  get when() {
1108
1119
  return memo(() => !!isExecuting())() && params.action === "tool-call";
1109
1120
  },
1110
1121
  get children() {
1111
- return getNextElement(_tmpl$36);
1122
+ return getNextElement(_tmpl$37);
1112
1123
  }
1113
- }), _el$148, _co$29);
1114
- insert(_el$144, createComponent(Show, {
1124
+ }), _el$149, _co$29);
1125
+ insert(_el$145, createComponent(Show, {
1115
1126
  get when() {
1116
1127
  return memo(() => !!params.icon)() && !(isExecuting() && params.action === "tool-call");
1117
1128
  },
1118
1129
  get children() {
1119
- var _el$146 = getNextElement(_tmpl$34);
1120
- insert(_el$146, () => params.icon);
1121
- return _el$146;
1130
+ var _el$147 = getNextElement(_tmpl$35);
1131
+ insert(_el$147, () => params.icon);
1132
+ return _el$147;
1122
1133
  }
1123
- }), _el$150, _co$30);
1124
- insert(_el$144, () => params.label, _el$152, _co$31);
1134
+ }), _el$151, _co$30);
1135
+ insert(_el$145, () => params.label, _el$153, _co$31);
1125
1136
  effect((_p$) => {
1126
1137
  var _v$29 = params.action === "submit" ? "submit" : "button", _v$30 = isDisabled(), _v$31 = isExecuting() && params.action === "tool-call", _v$32 = params.ariaLabel || params.label, _v$33 = `inline-flex items-center gap-2 px-4 py-2 rounded-md text-sm font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500
1127
1138
  ${params.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700 shadow-sm" : params.variant === "secondary" ? "bg-gray-100 text-gray-900 hover:bg-gray-200 dark:bg-gray-700 dark:text-white dark:hover:bg-gray-600" : params.variant === "outline" ? "border border-gray-300 text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800" : params.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : "bg-transparent text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800"}
1128
1139
  ${isDisabled() ? "opacity-50 cursor-not-allowed" : ""}
1129
1140
  ${params.size === "sm" ? "px-3 py-1.5 text-xs" : params.size === "lg" ? "px-6 py-3 text-base" : ""}
1130
1141
  ${params.className || ""}`;
1131
- _v$29 !== _p$.e && setAttribute(_el$144, "type", _p$.e = _v$29);
1132
- _v$30 !== _p$.t && setProperty(_el$144, "disabled", _p$.t = _v$30);
1133
- _v$31 !== _p$.a && setAttribute(_el$144, "aria-busy", _p$.a = _v$31);
1134
- _v$32 !== _p$.o && setAttribute(_el$144, "aria-label", _p$.o = _v$32);
1135
- _v$33 !== _p$.i && className(_el$144, _p$.i = _v$33);
1142
+ _v$29 !== _p$.e && setAttribute(_el$145, "type", _p$.e = _v$29);
1143
+ _v$30 !== _p$.t && setProperty(_el$145, "disabled", _p$.t = _v$30);
1144
+ _v$31 !== _p$.a && setAttribute(_el$145, "aria-busy", _p$.a = _v$31);
1145
+ _v$32 !== _p$.o && setAttribute(_el$145, "aria-label", _p$.o = _v$32);
1146
+ _v$33 !== _p$.i && className(_el$145, _p$.i = _v$33);
1136
1147
  return _p$;
1137
1148
  }, {
1138
1149
  e: void 0,
@@ -1142,7 +1153,7 @@ function ActionRenderer(props) {
1142
1153
  i: void 0
1143
1154
  });
1144
1155
  runHydrationEvents();
1145
- return _el$144;
1156
+ return _el$145;
1146
1157
  })();
1147
1158
  }
1148
1159
  function ErrorCardRenderer(props) {
@@ -1150,55 +1161,55 @@ function ErrorCardRenderer(props) {
1150
1161
  return `Error in ${props.error.tool || "unknown tool"}: ${props.error.message || "Unknown error"}`;
1151
1162
  };
1152
1163
  return (() => {
1153
- var _el$153 = getNextElement(_tmpl$41), _el$176 = _el$153.firstChild, [_el$177, _co$37] = getNextMarker(_el$176.nextSibling), _el$154 = _el$177.nextSibling, _el$155 = _el$154.firstChild, _el$156 = _el$155.nextSibling, _el$157 = _el$156.firstChild, _el$158 = _el$157.firstChild, _el$159 = _el$158.nextSibling, [_el$160, _co$32] = getNextMarker(_el$159.nextSibling), _el$161 = _el$157.nextSibling, _el$170 = _el$161.nextSibling, [_el$171, _co$34] = getNextMarker(_el$170.nextSibling), _el$172 = _el$171.nextSibling, [_el$173, _co$35] = getNextMarker(_el$172.nextSibling), _el$174 = _el$173.nextSibling, [_el$175, _co$36] = getNextMarker(_el$174.nextSibling);
1154
- insert(_el$153, createComponent(CopyButton, {
1164
+ var _el$154 = getNextElement(_tmpl$42), _el$177 = _el$154.firstChild, [_el$178, _co$37] = getNextMarker(_el$177.nextSibling), _el$155 = _el$178.nextSibling, _el$156 = _el$155.firstChild, _el$157 = _el$156.nextSibling, _el$158 = _el$157.firstChild, _el$159 = _el$158.firstChild, _el$160 = _el$159.nextSibling, [_el$161, _co$32] = getNextMarker(_el$160.nextSibling), _el$162 = _el$158.nextSibling, _el$171 = _el$162.nextSibling, [_el$172, _co$34] = getNextMarker(_el$171.nextSibling), _el$173 = _el$172.nextSibling, [_el$174, _co$35] = getNextMarker(_el$173.nextSibling), _el$175 = _el$174.nextSibling, [_el$176, _co$36] = getNextMarker(_el$175.nextSibling);
1165
+ insert(_el$154, createComponent(CopyButton, {
1155
1166
  getText: getErrorText,
1156
1167
  title: "Copy error details",
1157
1168
  position: "top-right"
1158
- }), _el$177, _co$37);
1159
- insert(_el$157, () => props.error.tool || "Unknown", _el$160, _co$32);
1160
- insert(_el$161, () => props.error.message || "An error occurred during tool execution");
1161
- insert(_el$156, createComponent(Show, {
1169
+ }), _el$178, _co$37);
1170
+ insert(_el$158, () => props.error.tool || "Unknown", _el$161, _co$32);
1171
+ insert(_el$162, () => props.error.message || "An error occurred during tool execution");
1172
+ insert(_el$157, createComponent(Show, {
1162
1173
  get when() {
1163
1174
  return props.error.type;
1164
1175
  },
1165
1176
  get children() {
1166
- var _el$162 = getNextElement(_tmpl$38), _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling, [_el$165, _co$33] = getNextMarker(_el$164.nextSibling);
1167
- insert(_el$162, () => props.error.type, _el$165, _co$33);
1168
- return _el$162;
1177
+ var _el$163 = getNextElement(_tmpl$39), _el$164 = _el$163.firstChild, _el$165 = _el$164.nextSibling, [_el$166, _co$33] = getNextMarker(_el$165.nextSibling);
1178
+ insert(_el$163, () => props.error.type, _el$166, _co$33);
1179
+ return _el$163;
1169
1180
  }
1170
- }), _el$171, _co$34);
1171
- insert(_el$156, createComponent(Show, {
1181
+ }), _el$172, _co$34);
1182
+ insert(_el$157, createComponent(Show, {
1172
1183
  get when() {
1173
1184
  var _a;
1174
1185
  return (_a = props.error.suggestions) == null ? void 0 : _a.length;
1175
1186
  },
1176
1187
  get children() {
1177
- var _el$166 = getNextElement(_tmpl$39), _el$167 = _el$166.firstChild, _el$168 = _el$167.nextSibling;
1178
- insert(_el$168, createComponent(For, {
1188
+ var _el$167 = getNextElement(_tmpl$40), _el$168 = _el$167.firstChild, _el$169 = _el$168.nextSibling;
1189
+ insert(_el$169, createComponent(For, {
1179
1190
  get each() {
1180
1191
  return props.error.suggestions;
1181
1192
  },
1182
1193
  children: (suggestion) => (() => {
1183
- var _el$178 = getNextElement(_tmpl$42);
1184
- insert(_el$178, suggestion);
1185
- return _el$178;
1194
+ var _el$179 = getNextElement(_tmpl$43);
1195
+ insert(_el$179, suggestion);
1196
+ return _el$179;
1186
1197
  })()
1187
1198
  }));
1188
- return _el$166;
1199
+ return _el$167;
1189
1200
  }
1190
- }), _el$173, _co$35);
1191
- insert(_el$156, createComponent(Show, {
1201
+ }), _el$174, _co$35);
1202
+ insert(_el$157, createComponent(Show, {
1192
1203
  get when() {
1193
1204
  return props.error.timestamp;
1194
1205
  },
1195
1206
  get children() {
1196
- var _el$169 = getNextElement(_tmpl$40);
1197
- insert(_el$169, () => new Date(props.error.timestamp).toLocaleString());
1198
- return _el$169;
1207
+ var _el$170 = getNextElement(_tmpl$41);
1208
+ insert(_el$170, () => new Date(props.error.timestamp).toLocaleString());
1209
+ return _el$170;
1199
1210
  }
1200
- }), _el$175, _co$36);
1201
- return _el$153;
1211
+ }), _el$176, _co$36);
1212
+ return _el$154;
1202
1213
  })();
1203
1214
  }
1204
1215
  function isErrorResponse(content) {
@@ -1221,20 +1232,20 @@ function UIResourceHtmlRenderer(props) {
1221
1232
  return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || ((_b = props.resource.uri) == null ? void 0 : _b.replace("ui://deposium/", "")) || "Resource";
1222
1233
  };
1223
1234
  return (() => {
1224
- var _el$179 = getNextElement(_tmpl$44), _el$183 = _el$179.firstChild, [_el$184, _co$38] = getNextMarker(_el$183.nextSibling), _el$182 = _el$184.nextSibling;
1225
- insert(_el$179, createComponent(Show, {
1235
+ var _el$180 = getNextElement(_tmpl$45), _el$184 = _el$180.firstChild, [_el$185, _co$38] = getNextMarker(_el$184.nextSibling), _el$183 = _el$185.nextSibling;
1236
+ insert(_el$180, createComponent(Show, {
1226
1237
  get when() {
1227
1238
  var _a;
1228
1239
  return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || props.resource.uri;
1229
1240
  },
1230
1241
  get children() {
1231
- var _el$180 = getNextElement(_tmpl$43), _el$181 = _el$180.firstChild;
1232
- insert(_el$181, resourceTitle);
1233
- return _el$180;
1242
+ var _el$181 = getNextElement(_tmpl$44), _el$182 = _el$181.firstChild;
1243
+ insert(_el$182, resourceTitle);
1244
+ return _el$181;
1234
1245
  }
1235
- }), _el$184, _co$38);
1236
- effect(() => setProperty(_el$182, "innerHTML", htmlContent()));
1237
- return _el$179;
1246
+ }), _el$185, _co$38);
1247
+ effect(() => setProperty(_el$183, "innerHTML", htmlContent()));
1248
+ return _el$180;
1238
1249
  })();
1239
1250
  }
1240
1251
  const UIResourceRenderer = (props) => {
@@ -1314,24 +1325,24 @@ const UIResourceRenderer = (props) => {
1314
1325
  return createComponent(RenderProvider, {
1315
1326
  renderComponent,
1316
1327
  get children() {
1317
- var _el$185 = getNextElement(_tmpl$45), _el$186 = _el$185.firstChild, _el$187 = _el$186.nextSibling, [_el$188, _co$39] = getNextMarker(_el$187.nextSibling);
1318
- insert(_el$186, createComponent(For, {
1328
+ var _el$186 = getNextElement(_tmpl$46), _el$187 = _el$186.firstChild, _el$188 = _el$187.nextSibling, [_el$189, _co$39] = getNextMarker(_el$188.nextSibling);
1329
+ insert(_el$187, createComponent(For, {
1319
1330
  get each() {
1320
1331
  return layoutData.components;
1321
1332
  },
1322
1333
  children: (component) => (() => {
1323
- var _el$189 = getNextElement(_tmpl$46);
1324
- insert(_el$189, createComponent(ComponentRenderer, {
1334
+ var _el$190 = getNextElement(_tmpl$47);
1335
+ insert(_el$190, createComponent(ComponentRenderer, {
1325
1336
  component,
1326
1337
  get onError() {
1327
1338
  return props.onError;
1328
1339
  }
1329
1340
  }));
1330
- effect((_$p) => style(_el$189, getGridStyleString(component), _$p));
1331
- return _el$189;
1341
+ effect((_$p) => style(_el$190, getGridStyleString(component), _$p));
1342
+ return _el$190;
1332
1343
  })()
1333
1344
  }));
1334
- insert(_el$185, createComponent(Show, {
1345
+ insert(_el$186, createComponent(Show, {
1335
1346
  get when() {
1336
1347
  return shouldShowAutoFooter();
1337
1348
  },
@@ -1342,17 +1353,17 @@ const UIResourceRenderer = (props) => {
1342
1353
  }
1343
1354
  });
1344
1355
  }
1345
- }), _el$188, _co$39);
1356
+ }), _el$189, _co$39);
1346
1357
  effect((_p$) => {
1347
1358
  var _v$34 = `w-full ${props.class || ""}`, _v$35 = gridContainerStyle();
1348
- _v$34 !== _p$.e && className(_el$185, _p$.e = _v$34);
1349
- _p$.t = style(_el$186, _v$35, _p$.t);
1359
+ _v$34 !== _p$.e && className(_el$186, _p$.e = _v$34);
1360
+ _p$.t = style(_el$187, _v$35, _p$.t);
1350
1361
  return _p$;
1351
1362
  }, {
1352
1363
  e: void 0,
1353
1364
  t: void 0
1354
1365
  });
1355
- return _el$185;
1366
+ return _el$186;
1356
1367
  }
1357
1368
  });
1358
1369
  };