@seed-ship/mcp-ui-solid 2.2.9 → 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") {
@@ -119,70 +123,70 @@ function ChartRenderer(props) {
119
123
  },
120
124
  get fallback() {
121
125
  return (() => {
122
- 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);
123
- insert(_el$4, createComponent(Show, {
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, {
124
128
  get when() {
125
129
  return isLoading();
126
130
  },
127
131
  get children() {
128
- return getNextElement(_tmpl$4);
132
+ return getNextElement(_tmpl$5);
129
133
  }
130
- }), _el$15, _co$2);
131
- insert(_el$4, createComponent(Show, {
134
+ }), _el$16, _co$2);
135
+ insert(_el$5, createComponent(Show, {
132
136
  get when() {
133
137
  return error();
134
138
  },
135
139
  get children() {
136
- var _el$6 = getNextElement(_tmpl$5), _el$7 = _el$6.firstChild, _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling;
137
- insert(_el$9, error);
138
- return _el$6;
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;
139
143
  }
140
- }), _el$17, _co$3);
141
- insert(_el$4, createComponent(Show, {
144
+ }), _el$18, _co$3);
145
+ insert(_el$5, createComponent(Show, {
142
146
  get when() {
143
147
  return memo(() => !!iframeUrl())() && !error();
144
148
  },
145
149
  get children() {
146
- 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;
147
- insert(_el$0, createComponent(Show, {
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, {
148
152
  get when() {
149
- var _a;
150
- return (_a = params()) == null ? void 0 : _a.title;
153
+ var _a2;
154
+ return (_a2 = params()) == null ? void 0 : _a2.title;
151
155
  },
152
156
  get children() {
153
- var _el$1 = getNextElement(_tmpl$6);
154
- insert(_el$1, () => {
155
- var _a;
156
- return (_a = params()) == null ? void 0 : _a.title;
157
+ var _el$10 = getNextElement(_tmpl$7);
158
+ insert(_el$10, () => {
159
+ var _a2;
160
+ return (_a2 = params()) == null ? void 0 : _a2.title;
157
161
  });
158
- return _el$1;
162
+ return _el$10;
159
163
  }
160
- }), _el$13, _co$);
161
- _el$11.addEventListener("error", () => {
162
- var _a;
164
+ }), _el$14, _co$);
165
+ _el$12.addEventListener("error", () => {
166
+ var _a2;
163
167
  setError("Failed to load chart");
164
- (_a = props.onError) == null ? void 0 : _a.call(props, {
168
+ (_a2 = props.onError) == null ? void 0 : _a2.call(props, {
165
169
  type: "render",
166
170
  message: "Chart rendering failed",
167
171
  componentId: props.component.id
168
172
  });
169
173
  });
170
174
  effect((_p$) => {
171
- var _a, _b, _c, _d;
172
- 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";
173
- _v$3 !== _p$.e && setAttribute(_el$10, "aria-label", _p$.e = _v$3);
174
- _v$4 !== _p$.t && setAttribute(_el$11, "src", _p$.t = _v$4);
175
- _v$5 !== _p$.a && setAttribute(_el$11, "alt", _p$.a = _v$5);
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);
176
180
  return _p$;
177
181
  }, {
178
182
  e: void 0,
179
183
  t: void 0,
180
184
  a: void 0
181
185
  });
182
- return _el$0;
186
+ return _el$1;
183
187
  }
184
- }), _el$19, _co$4);
185
- return _el$4;
188
+ }), _el$20, _co$4);
189
+ return _el$5;
186
190
  })();
187
191
  },
188
192
  get children() {
@@ -191,8 +195,8 @@ function ChartRenderer(props) {
191
195
  return props.component;
192
196
  },
193
197
  onError: (err) => {
194
- var _a;
195
- return (_a = props.onError) == null ? void 0 : _a.call(props, {
198
+ var _a2;
199
+ return (_a2 = props.onError) == null ? void 0 : _a2.call(props, {
196
200
  type: "render",
197
201
  message: err.message,
198
202
  componentId: props.component.id
@@ -377,28 +381,28 @@ ${dataRows}`;
377
381
  };
378
382
  const tableId = `table-${Math.random().toString(36).slice(2, 9)}`;
379
383
  const StandardTableBody = () => (() => {
380
- var _el$20 = getNextElement(_tmpl$9);
381
- insert(_el$20, createComponent(For, {
384
+ var _el$21 = getNextElement(_tmpl$0);
385
+ insert(_el$21, createComponent(For, {
382
386
  get each() {
383
387
  return tableParams.rows.slice(0, DEFAULT_RESOURCE_LIMITS.maxTableRows);
384
388
  },
385
389
  children: (row, i) => (() => {
386
- var _el$21 = getNextElement(_tmpl$0);
387
- insert(_el$21, createComponent(For, {
390
+ var _el$22 = getNextElement(_tmpl$1);
391
+ insert(_el$22, createComponent(For, {
388
392
  get each() {
389
393
  return tableParams.columns;
390
394
  },
391
395
  children: (column) => (() => {
392
- var _el$22 = getNextElement(_tmpl$1), _el$23 = _el$22.firstChild;
393
- effect(() => setProperty(_el$23, "innerHTML", renderCellValue(row[column.key])));
394
- 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;
395
399
  })()
396
400
  }));
397
- 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"}`));
398
- 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;
399
403
  })()
400
404
  }));
401
- return _el$20;
405
+ return _el$21;
402
406
  })();
403
407
  const VirtualizedTableBody = () => {
404
408
  const v = virtualizer();
@@ -408,39 +412,39 @@ ${dataRows}`;
408
412
  const opts = virtualizeOpts();
409
413
  const rowHeight = opts.rowHeight ?? 48;
410
414
  return (() => {
411
- var _el$24 = getNextElement(_tmpl$10);
412
- setStyleProperty(_el$24, "height", `${totalSize}px`);
413
- 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, {
414
418
  each: items,
415
419
  children: (virtualRow) => {
416
420
  const row = tableParams.rows[virtualRow.index];
417
421
  return (() => {
418
- var _el$25 = getNextElement(_tmpl$0);
419
- setStyleProperty(_el$25, "height", `${rowHeight}px`);
420
- 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, {
421
425
  get each() {
422
426
  return tableParams.columns;
423
427
  },
424
428
  children: (column) => (() => {
425
- var _el$26 = getNextElement(_tmpl$1), _el$27 = _el$26.firstChild;
426
- effect(() => setProperty(_el$27, "innerHTML", renderCellValue(row[column.key])));
427
- 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;
428
432
  })()
429
433
  }));
430
434
  effect((_p$) => {
431
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)`;
432
- _v$6 !== _p$.e && className(_el$25, _p$.e = _v$6);
433
- _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);
434
438
  return _p$;
435
439
  }, {
436
440
  e: void 0,
437
441
  t: void 0
438
442
  });
439
- return _el$25;
443
+ return _el$26;
440
444
  })();
441
445
  }
442
446
  }));
443
- return _el$24;
447
+ return _el$25;
444
448
  })();
445
449
  };
446
450
  return createComponent(ExpandableWrapper, {
@@ -452,8 +456,8 @@ ${dataRows}`;
452
456
  },
453
457
  copyLabel: "Copy table (TSV)",
454
458
  get children() {
455
- 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);
456
- 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, {
457
461
  when: exportable,
458
462
  get fallback() {
459
463
  return createComponent(CopyButton, {
@@ -463,95 +467,95 @@ ${dataRows}`;
463
467
  });
464
468
  },
465
469
  get children() {
466
- var _el$29 = getNextElement(_tmpl$15), _el$30 = _el$29.firstChild, _el$41 = _el$30.nextSibling, [_el$42, _co$8] = getNextMarker(_el$41.nextSibling);
467
- _el$30.$$click = () => setShowExportMenu(!showExportMenu());
468
- 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, {
469
473
  get when() {
470
474
  return showExportMenu();
471
475
  },
472
476
  get children() {
473
- 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);
474
- 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, {
475
479
  get when() {
476
480
  return exportFormats.includes("tsv");
477
481
  },
478
482
  get children() {
479
- var _el$32 = getNextElement(_tmpl$11);
480
- _el$32.$$click = () => handleExport("tsv");
483
+ var _el$33 = getNextElement(_tmpl$12);
484
+ _el$33.$$click = () => handleExport("tsv");
481
485
  runHydrationEvents();
482
- return _el$32;
486
+ return _el$33;
483
487
  }
484
- }), _el$36, _co$5);
485
- insert(_el$31, createComponent(Show, {
488
+ }), _el$37, _co$5);
489
+ insert(_el$32, createComponent(Show, {
486
490
  get when() {
487
491
  return exportFormats.includes("csv");
488
492
  },
489
493
  get children() {
490
- var _el$33 = getNextElement(_tmpl$12);
491
- _el$33.$$click = () => handleExport("csv");
494
+ var _el$34 = getNextElement(_tmpl$13);
495
+ _el$34.$$click = () => handleExport("csv");
492
496
  runHydrationEvents();
493
- return _el$33;
497
+ return _el$34;
494
498
  }
495
- }), _el$38, _co$6);
496
- insert(_el$31, createComponent(Show, {
499
+ }), _el$39, _co$6);
500
+ insert(_el$32, createComponent(Show, {
497
501
  get when() {
498
502
  return exportFormats.includes("json");
499
503
  },
500
504
  get children() {
501
- var _el$34 = getNextElement(_tmpl$13);
502
- _el$34.$$click = () => handleExport("json");
505
+ var _el$35 = getNextElement(_tmpl$14);
506
+ _el$35.$$click = () => handleExport("json");
503
507
  runHydrationEvents();
504
- return _el$34;
508
+ return _el$35;
505
509
  }
506
- }), _el$40, _co$7);
507
- return _el$31;
510
+ }), _el$41, _co$7);
511
+ return _el$32;
508
512
  }
509
- }), _el$42, _co$8);
513
+ }), _el$43, _co$8);
510
514
  runHydrationEvents();
511
- return _el$29;
515
+ return _el$30;
512
516
  }
513
- }), _el$78, _co$16);
514
- insert(_el$43, createComponent(Show, {
517
+ }), _el$79, _co$16);
518
+ insert(_el$44, createComponent(Show, {
515
519
  get when() {
516
520
  return tableParams.title;
517
521
  },
518
522
  get children() {
519
- 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);
520
- setAttribute(_el$44, "id", `${tableId}-title`);
521
- insert(_el$44, () => tableParams.title, _el$51, _co$0);
522
- 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, {
523
527
  get when() {
524
528
  return isVirtualizing();
525
529
  },
526
530
  get children() {
527
- var _el$45 = getNextElement(_tmpl$16), _el$46 = _el$45.firstChild, _el$48 = _el$46.nextSibling, [_el$49, _co$9] = getNextMarker(_el$48.nextSibling);
528
- _el$49.nextSibling;
529
- 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, () => {
530
534
  var _a;
531
535
  return (_a = tableParams.rows) == null ? void 0 : _a.length;
532
- }, _el$49, _co$9);
533
- return _el$45;
536
+ }, _el$50, _co$9);
537
+ return _el$46;
534
538
  }
535
- }), _el$53, _co$1);
536
- return _el$44;
539
+ }), _el$54, _co$1);
540
+ return _el$45;
537
541
  }
538
- }), _el$74, _co$14);
542
+ }), _el$75, _co$14);
539
543
  var _ref$ = scrollContainerRef;
540
- typeof _ref$ === "function" ? use(_ref$, _el$54) : scrollContainerRef = _el$54;
541
- insert(_el$57, createComponent(For, {
544
+ typeof _ref$ === "function" ? use(_ref$, _el$55) : scrollContainerRef = _el$55;
545
+ insert(_el$58, createComponent(For, {
542
546
  get each() {
543
547
  return tableParams.columns;
544
548
  },
545
549
  children: (column) => (() => {
546
- var _el$79 = getNextElement(_tmpl$20);
547
- insert(_el$79, () => column.label);
548
- 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 ? {
549
553
  width: column.width
550
554
  } : {}, _$p));
551
- return _el$79;
555
+ return _el$80;
552
556
  })()
553
557
  }));
554
- insert(_el$55, createComponent(Show, {
558
+ insert(_el$56, createComponent(Show, {
555
559
  get when() {
556
560
  return isVirtualizing();
557
561
  },
@@ -561,34 +565,34 @@ ${dataRows}`;
561
565
  get children() {
562
566
  return createComponent(VirtualizedTableBody, {});
563
567
  }
564
- }), _el$59, _co$10);
565
- insert(_el$43, createComponent(Show, {
568
+ }), _el$60, _co$10);
569
+ insert(_el$44, createComponent(Show, {
566
570
  get when() {
567
571
  return tableParams.pagination;
568
572
  },
569
573
  get children() {
570
- 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);
571
- insert(_el$61, () => tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1, _el$68, _co$11);
572
- insert(_el$61, () => Math.min((tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize, tableParams.pagination.totalRows), _el$70, _co$12);
573
- insert(_el$61, () => tableParams.pagination.totalRows, _el$72, _co$13);
574
- 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;
575
579
  }
576
- }), _el$76, _co$15);
580
+ }), _el$77, _co$15);
577
581
  effect((_p$) => {
578
582
  var _v$8 = isVirtualizing() ? {
579
583
  "max-height": "500px",
580
584
  "overflow-y": "auto"
581
585
  } : {}, _v$9 = tableParams.title || "Data table", _v$0 = tableParams.title ? `${tableId}-title` : void 0;
582
- _p$.e = style(_el$54, _v$8, _p$.e);
583
- _v$9 !== _p$.t && setAttribute(_el$54, "aria-label", _p$.t = _v$9);
584
- _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);
585
589
  return _p$;
586
590
  }, {
587
591
  e: void 0,
588
592
  t: void 0,
589
593
  a: void 0
590
594
  });
591
- return _el$28;
595
+ return _el$29;
592
596
  }
593
597
  });
594
598
  }
@@ -601,51 +605,51 @@ function MetricRenderer(props) {
601
605
  return `${title}: ${value}${unit ? " " + unit : ""}`;
602
606
  };
603
607
  return (() => {
604
- 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);
605
- 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, {
606
610
  getText: getMetricText,
607
611
  title: "Copy metric",
608
612
  position: "top-right"
609
- }), _el$103, _co$22);
610
- insert(_el$83, () => metricParams.title);
611
- insert(_el$85, () => metricParams.value);
612
- 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, {
613
617
  get when() {
614
618
  return metricParams.unit;
615
619
  },
616
620
  get children() {
617
- var _el$86 = getNextElement(_tmpl$21);
618
- insert(_el$86, () => metricParams.unit);
619
- return _el$86;
621
+ var _el$87 = getNextElement(_tmpl$22);
622
+ insert(_el$87, () => metricParams.unit);
623
+ return _el$87;
620
624
  }
621
- }), _el$88, _co$17);
622
- insert(_el$81, createComponent(Show, {
625
+ }), _el$89, _co$17);
626
+ insert(_el$82, createComponent(Show, {
623
627
  get when() {
624
628
  return metricParams.trend;
625
629
  },
626
630
  get children() {
627
- 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);
628
- _el$96.nextSibling;
629
- 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, (() => {
630
634
  var _c$ = memo(() => metricParams.trend.direction === "up");
631
635
  return () => _c$() ? "�" : metricParams.trend.direction === "down" ? "�" : "�";
632
- })(), _el$94, _co$18);
633
- insert(_el$90, () => Math.abs(metricParams.trend.value), _el$96, _co$19);
634
- 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"}`));
635
- 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;
636
640
  }
637
- }), _el$99, _co$20);
638
- insert(_el$81, createComponent(Show, {
641
+ }), _el$100, _co$20);
642
+ insert(_el$82, createComponent(Show, {
639
643
  get when() {
640
644
  return metricParams.subtitle;
641
645
  },
642
646
  get children() {
643
- var _el$97 = getNextElement(_tmpl$23);
644
- insert(_el$97, () => metricParams.subtitle);
645
- return _el$97;
647
+ var _el$98 = getNextElement(_tmpl$24);
648
+ insert(_el$98, () => metricParams.subtitle);
649
+ return _el$98;
646
650
  }
647
- }), _el$101, _co$21);
648
- return _el$80;
651
+ }), _el$102, _co$21);
652
+ return _el$81;
649
653
  })();
650
654
  }
651
655
  function extractImageFromMarkdown(content) {
@@ -686,91 +690,91 @@ function TextRenderer(props) {
686
690
  },
687
691
  get fallback() {
688
692
  return (() => {
689
- var _el$104 = getNextElement(_tmpl$25), _el$106 = _el$104.firstChild, [_el$107, _co$23] = getNextMarker(_el$106.nextSibling), _el$105 = _el$107.nextSibling;
690
- 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, {
691
695
  getText: getTextContent,
692
696
  title: "Copy text",
693
697
  position: "top-right"
694
- }), _el$107, _co$23);
698
+ }), _el$108, _co$23);
695
699
  effect((_p$) => {
696
700
  var _v$1 = `prose prose-sm dark:prose-invert max-w-none ${textParams.className || ""}`, _v$10 = htmlContent();
697
- _v$1 !== _p$.e && className(_el$105, _p$.e = _v$1);
698
- _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);
699
703
  return _p$;
700
704
  }, {
701
705
  e: void 0,
702
706
  t: void 0
703
707
  });
704
- return _el$104;
708
+ return _el$105;
705
709
  })();
706
710
  },
707
711
  children: (data) => (() => {
708
- 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;
709
- 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);
710
714
  effect((_p$) => {
711
715
  var _v$11 = data().linkUrl, _v$12 = data().imageUrl, _v$13 = data().alt;
712
- _v$11 !== _p$.e && setAttribute(_el$110, "href", _p$.e = _v$11);
713
- _v$12 !== _p$.t && setAttribute(_el$111, "src", _p$.t = _v$12);
714
- _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);
715
719
  return _p$;
716
720
  }, {
717
721
  e: void 0,
718
722
  t: void 0,
719
723
  a: void 0
720
724
  });
721
- return _el$108;
725
+ return _el$109;
722
726
  })()
723
727
  });
724
728
  }
725
729
  function IframeRenderer(props) {
726
730
  const params = props.component.params;
727
731
  return (() => {
728
- var _el$114 = getNextElement(_tmpl$28), _el$118 = _el$114.firstChild, [_el$119, _co$24] = getNextMarker(_el$118.nextSibling), _el$117 = _el$119.nextSibling;
729
- 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, {
730
734
  get when() {
731
735
  return params.title;
732
736
  },
733
737
  get children() {
734
- var _el$115 = getNextElement(_tmpl$27), _el$116 = _el$115.firstChild;
735
- insert(_el$116, () => params.title);
736
- 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;
737
741
  }
738
- }), _el$119, _co$24);
742
+ }), _el$120, _co$24);
739
743
  effect((_p$) => {
740
744
  var _v$14 = params.url, _v$15 = params.title || "Embedded content", _v$16 = `height: ${params.height || "400px"}; min-height: 300px;`;
741
- _v$14 !== _p$.e && setAttribute(_el$117, "src", _p$.e = _v$14);
742
- _v$15 !== _p$.t && setAttribute(_el$117, "title", _p$.t = _v$15);
743
- _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);
744
748
  return _p$;
745
749
  }, {
746
750
  e: void 0,
747
751
  t: void 0,
748
752
  a: void 0
749
753
  });
750
- return _el$114;
754
+ return _el$115;
751
755
  })();
752
756
  }
753
757
  function ImageRenderer(props) {
754
758
  const params = props.component.params;
755
759
  return (() => {
756
- 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);
757
- 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, {
758
762
  get when() {
759
763
  return params.caption;
760
764
  },
761
765
  get children() {
762
- var _el$124 = getNextElement(_tmpl$29), _el$125 = _el$124.firstChild;
763
- insert(_el$125, () => params.caption);
764
- 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;
765
769
  }
766
- }), _el$127, _co$25);
770
+ }), _el$128, _co$25);
767
771
  effect((_p$) => {
768
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";
769
- _v$17 !== _p$.e && className(_el$120, _p$.e = _v$17);
770
- _v$18 !== _p$.t && setAttribute(_el$122, "href", _p$.t = _v$18);
771
- _v$19 !== _p$.a && setAttribute(_el$122, "aria-label", _p$.a = _v$19);
772
- _v$20 !== _p$.o && setAttribute(_el$123, "src", _p$.o = _v$20);
773
- _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);
774
778
  return _p$;
775
779
  }, {
776
780
  e: void 0,
@@ -779,30 +783,30 @@ function ImageRenderer(props) {
779
783
  o: void 0,
780
784
  i: void 0
781
785
  });
782
- return _el$120;
786
+ return _el$121;
783
787
  })();
784
788
  }
785
789
  function LinkRenderer(props) {
786
790
  const params = props.component.params;
787
791
  return (() => {
788
- 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);
789
- _el$128.$$click = (e) => e.stopPropagation();
790
- insert(_el$131, () => params.label || params.url);
791
- 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, {
792
796
  get when() {
793
797
  return params.description;
794
798
  },
795
799
  get children() {
796
- var _el$132 = getNextElement(_tmpl$31);
797
- insert(_el$132, () => params.description);
798
- return _el$132;
800
+ var _el$133 = getNextElement(_tmpl$32);
801
+ insert(_el$133, () => params.description);
802
+ return _el$133;
799
803
  }
800
- }), _el$134, _co$26);
804
+ }), _el$135, _co$26);
801
805
  effect((_p$) => {
802
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 || ""}`;
803
- _v$22 !== _p$.e && setAttribute(_el$128, "href", _p$.e = _v$22);
804
- _v$23 !== _p$.t && setAttribute(_el$128, "aria-label", _p$.t = _v$23);
805
- _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);
806
810
  return _p$;
807
811
  }, {
808
812
  e: void 0,
@@ -810,7 +814,7 @@ function LinkRenderer(props) {
810
814
  a: void 0
811
815
  });
812
816
  runHydrationEvents();
813
- return _el$128;
817
+ return _el$129;
814
818
  })();
815
819
  }
816
820
  function ComponentRenderer(props) {
@@ -824,12 +828,12 @@ function ComponentRenderer(props) {
824
828
  details: validation.errors
825
829
  });
826
830
  return (() => {
827
- var _el$135 = getNextElement(_tmpl$33), _el$136 = _el$135.firstChild, _el$137 = _el$136.nextSibling;
828
- insert(_el$137, () => {
831
+ var _el$136 = getNextElement(_tmpl$34), _el$137 = _el$136.firstChild, _el$138 = _el$137.nextSibling;
832
+ insert(_el$138, () => {
829
833
  var _a2, _b;
830
834
  return ((_b = (_a2 = validation.errors) == null ? void 0 : _a2[0]) == null ? void 0 : _b.message) || "Unknown validation error";
831
835
  });
832
- return _el$135;
836
+ return _el$136;
833
837
  })();
834
838
  }
835
839
  return createComponent(GenerativeUIErrorBoundary, {
@@ -1075,27 +1079,27 @@ function ActionRenderer(props) {
1075
1079
  const isDisabled = () => params.disabled || params.action === "tool-call" && isExecuting();
1076
1080
  if (params.type === "link" || params.action === "link") {
1077
1081
  return (() => {
1078
- 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);
1079
- _el$138.$$click = handleClick;
1080
- 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, {
1081
1085
  get when() {
1082
1086
  return params.icon;
1083
1087
  },
1084
1088
  get children() {
1085
- var _el$139 = getNextElement(_tmpl$34);
1086
- insert(_el$139, () => params.icon);
1087
- return _el$139;
1089
+ var _el$140 = getNextElement(_tmpl$35);
1090
+ insert(_el$140, () => params.icon);
1091
+ return _el$140;
1088
1092
  }
1089
- }), _el$141, _co$27);
1090
- insert(_el$138, () => params.label, _el$143, _co$28);
1093
+ }), _el$142, _co$27);
1094
+ insert(_el$139, () => params.label, _el$144, _co$28);
1091
1095
  effect((_p$) => {
1092
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
1093
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"}
1094
1098
  ${params.className || ""}`;
1095
- _v$25 !== _p$.e && setAttribute(_el$138, "href", _p$.e = _v$25);
1096
- _v$26 !== _p$.t && setAttribute(_el$138, "target", _p$.t = _v$26);
1097
- _v$27 !== _p$.a && setAttribute(_el$138, "aria-label", _p$.a = _v$27);
1098
- _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);
1099
1103
  return _p$;
1100
1104
  }, {
1101
1105
  e: void 0,
@@ -1104,42 +1108,42 @@ function ActionRenderer(props) {
1104
1108
  o: void 0
1105
1109
  });
1106
1110
  runHydrationEvents();
1107
- return _el$138;
1111
+ return _el$139;
1108
1112
  })();
1109
1113
  }
1110
1114
  return (() => {
1111
- 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);
1112
- _el$144.$$click = handleClick;
1113
- 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, {
1114
1118
  get when() {
1115
1119
  return memo(() => !!isExecuting())() && params.action === "tool-call";
1116
1120
  },
1117
1121
  get children() {
1118
- return getNextElement(_tmpl$36);
1122
+ return getNextElement(_tmpl$37);
1119
1123
  }
1120
- }), _el$148, _co$29);
1121
- insert(_el$144, createComponent(Show, {
1124
+ }), _el$149, _co$29);
1125
+ insert(_el$145, createComponent(Show, {
1122
1126
  get when() {
1123
1127
  return memo(() => !!params.icon)() && !(isExecuting() && params.action === "tool-call");
1124
1128
  },
1125
1129
  get children() {
1126
- var _el$146 = getNextElement(_tmpl$34);
1127
- insert(_el$146, () => params.icon);
1128
- return _el$146;
1130
+ var _el$147 = getNextElement(_tmpl$35);
1131
+ insert(_el$147, () => params.icon);
1132
+ return _el$147;
1129
1133
  }
1130
- }), _el$150, _co$30);
1131
- insert(_el$144, () => params.label, _el$152, _co$31);
1134
+ }), _el$151, _co$30);
1135
+ insert(_el$145, () => params.label, _el$153, _co$31);
1132
1136
  effect((_p$) => {
1133
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
1134
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"}
1135
1139
  ${isDisabled() ? "opacity-50 cursor-not-allowed" : ""}
1136
1140
  ${params.size === "sm" ? "px-3 py-1.5 text-xs" : params.size === "lg" ? "px-6 py-3 text-base" : ""}
1137
1141
  ${params.className || ""}`;
1138
- _v$29 !== _p$.e && setAttribute(_el$144, "type", _p$.e = _v$29);
1139
- _v$30 !== _p$.t && setProperty(_el$144, "disabled", _p$.t = _v$30);
1140
- _v$31 !== _p$.a && setAttribute(_el$144, "aria-busy", _p$.a = _v$31);
1141
- _v$32 !== _p$.o && setAttribute(_el$144, "aria-label", _p$.o = _v$32);
1142
- _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);
1143
1147
  return _p$;
1144
1148
  }, {
1145
1149
  e: void 0,
@@ -1149,7 +1153,7 @@ function ActionRenderer(props) {
1149
1153
  i: void 0
1150
1154
  });
1151
1155
  runHydrationEvents();
1152
- return _el$144;
1156
+ return _el$145;
1153
1157
  })();
1154
1158
  }
1155
1159
  function ErrorCardRenderer(props) {
@@ -1157,55 +1161,55 @@ function ErrorCardRenderer(props) {
1157
1161
  return `Error in ${props.error.tool || "unknown tool"}: ${props.error.message || "Unknown error"}`;
1158
1162
  };
1159
1163
  return (() => {
1160
- 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);
1161
- 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, {
1162
1166
  getText: getErrorText,
1163
1167
  title: "Copy error details",
1164
1168
  position: "top-right"
1165
- }), _el$177, _co$37);
1166
- insert(_el$157, () => props.error.tool || "Unknown", _el$160, _co$32);
1167
- insert(_el$161, () => props.error.message || "An error occurred during tool execution");
1168
- 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, {
1169
1173
  get when() {
1170
1174
  return props.error.type;
1171
1175
  },
1172
1176
  get children() {
1173
- var _el$162 = getNextElement(_tmpl$38), _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling, [_el$165, _co$33] = getNextMarker(_el$164.nextSibling);
1174
- insert(_el$162, () => props.error.type, _el$165, _co$33);
1175
- 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;
1176
1180
  }
1177
- }), _el$171, _co$34);
1178
- insert(_el$156, createComponent(Show, {
1181
+ }), _el$172, _co$34);
1182
+ insert(_el$157, createComponent(Show, {
1179
1183
  get when() {
1180
1184
  var _a;
1181
1185
  return (_a = props.error.suggestions) == null ? void 0 : _a.length;
1182
1186
  },
1183
1187
  get children() {
1184
- var _el$166 = getNextElement(_tmpl$39), _el$167 = _el$166.firstChild, _el$168 = _el$167.nextSibling;
1185
- 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, {
1186
1190
  get each() {
1187
1191
  return props.error.suggestions;
1188
1192
  },
1189
1193
  children: (suggestion) => (() => {
1190
- var _el$178 = getNextElement(_tmpl$42);
1191
- insert(_el$178, suggestion);
1192
- return _el$178;
1194
+ var _el$179 = getNextElement(_tmpl$43);
1195
+ insert(_el$179, suggestion);
1196
+ return _el$179;
1193
1197
  })()
1194
1198
  }));
1195
- return _el$166;
1199
+ return _el$167;
1196
1200
  }
1197
- }), _el$173, _co$35);
1198
- insert(_el$156, createComponent(Show, {
1201
+ }), _el$174, _co$35);
1202
+ insert(_el$157, createComponent(Show, {
1199
1203
  get when() {
1200
1204
  return props.error.timestamp;
1201
1205
  },
1202
1206
  get children() {
1203
- var _el$169 = getNextElement(_tmpl$40);
1204
- insert(_el$169, () => new Date(props.error.timestamp).toLocaleString());
1205
- return _el$169;
1207
+ var _el$170 = getNextElement(_tmpl$41);
1208
+ insert(_el$170, () => new Date(props.error.timestamp).toLocaleString());
1209
+ return _el$170;
1206
1210
  }
1207
- }), _el$175, _co$36);
1208
- return _el$153;
1211
+ }), _el$176, _co$36);
1212
+ return _el$154;
1209
1213
  })();
1210
1214
  }
1211
1215
  function isErrorResponse(content) {
@@ -1228,20 +1232,20 @@ function UIResourceHtmlRenderer(props) {
1228
1232
  return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || ((_b = props.resource.uri) == null ? void 0 : _b.replace("ui://deposium/", "")) || "Resource";
1229
1233
  };
1230
1234
  return (() => {
1231
- var _el$179 = getNextElement(_tmpl$44), _el$183 = _el$179.firstChild, [_el$184, _co$38] = getNextMarker(_el$183.nextSibling), _el$182 = _el$184.nextSibling;
1232
- 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, {
1233
1237
  get when() {
1234
1238
  var _a;
1235
1239
  return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || props.resource.uri;
1236
1240
  },
1237
1241
  get children() {
1238
- var _el$180 = getNextElement(_tmpl$43), _el$181 = _el$180.firstChild;
1239
- insert(_el$181, resourceTitle);
1240
- return _el$180;
1242
+ var _el$181 = getNextElement(_tmpl$44), _el$182 = _el$181.firstChild;
1243
+ insert(_el$182, resourceTitle);
1244
+ return _el$181;
1241
1245
  }
1242
- }), _el$184, _co$38);
1243
- effect(() => setProperty(_el$182, "innerHTML", htmlContent()));
1244
- return _el$179;
1246
+ }), _el$185, _co$38);
1247
+ effect(() => setProperty(_el$183, "innerHTML", htmlContent()));
1248
+ return _el$180;
1245
1249
  })();
1246
1250
  }
1247
1251
  const UIResourceRenderer = (props) => {
@@ -1321,24 +1325,24 @@ const UIResourceRenderer = (props) => {
1321
1325
  return createComponent(RenderProvider, {
1322
1326
  renderComponent,
1323
1327
  get children() {
1324
- var _el$185 = getNextElement(_tmpl$45), _el$186 = _el$185.firstChild, _el$187 = _el$186.nextSibling, [_el$188, _co$39] = getNextMarker(_el$187.nextSibling);
1325
- 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, {
1326
1330
  get each() {
1327
1331
  return layoutData.components;
1328
1332
  },
1329
1333
  children: (component) => (() => {
1330
- var _el$189 = getNextElement(_tmpl$46);
1331
- insert(_el$189, createComponent(ComponentRenderer, {
1334
+ var _el$190 = getNextElement(_tmpl$47);
1335
+ insert(_el$190, createComponent(ComponentRenderer, {
1332
1336
  component,
1333
1337
  get onError() {
1334
1338
  return props.onError;
1335
1339
  }
1336
1340
  }));
1337
- effect((_$p) => style(_el$189, getGridStyleString(component), _$p));
1338
- return _el$189;
1341
+ effect((_$p) => style(_el$190, getGridStyleString(component), _$p));
1342
+ return _el$190;
1339
1343
  })()
1340
1344
  }));
1341
- insert(_el$185, createComponent(Show, {
1345
+ insert(_el$186, createComponent(Show, {
1342
1346
  get when() {
1343
1347
  return shouldShowAutoFooter();
1344
1348
  },
@@ -1349,17 +1353,17 @@ const UIResourceRenderer = (props) => {
1349
1353
  }
1350
1354
  });
1351
1355
  }
1352
- }), _el$188, _co$39);
1356
+ }), _el$189, _co$39);
1353
1357
  effect((_p$) => {
1354
1358
  var _v$34 = `w-full ${props.class || ""}`, _v$35 = gridContainerStyle();
1355
- _v$34 !== _p$.e && className(_el$185, _p$.e = _v$34);
1356
- _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);
1357
1361
  return _p$;
1358
1362
  }, {
1359
1363
  e: void 0,
1360
1364
  t: void 0
1361
1365
  });
1362
- return _el$185;
1366
+ return _el$186;
1363
1367
  }
1364
1368
  });
1365
1369
  };