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