@seed-ship/mcp-ui-solid 6.3.0 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +87 -0
- package/dist/components/CarouselRenderer.cjs +3 -0
- package/dist/components/CarouselRenderer.cjs.map +1 -1
- package/dist/components/CarouselRenderer.d.ts +5 -0
- package/dist/components/CarouselRenderer.d.ts.map +1 -1
- package/dist/components/CarouselRenderer.js +3 -0
- package/dist/components/CarouselRenderer.js.map +1 -1
- package/dist/components/ChartJSRenderer.cjs +3 -0
- package/dist/components/ChartJSRenderer.cjs.map +1 -1
- package/dist/components/ChartJSRenderer.d.ts +5 -0
- package/dist/components/ChartJSRenderer.d.ts.map +1 -1
- package/dist/components/ChartJSRenderer.js +3 -0
- package/dist/components/ChartJSRenderer.js.map +1 -1
- package/dist/components/CodeBlockRenderer.cjs +3 -0
- package/dist/components/CodeBlockRenderer.cjs.map +1 -1
- package/dist/components/CodeBlockRenderer.d.ts +5 -0
- package/dist/components/CodeBlockRenderer.d.ts.map +1 -1
- package/dist/components/CodeBlockRenderer.js +3 -0
- package/dist/components/CodeBlockRenderer.js.map +1 -1
- package/dist/components/GraphRenderer.cjs +33 -24
- package/dist/components/GraphRenderer.cjs.map +1 -1
- package/dist/components/GraphRenderer.d.ts +8 -2
- package/dist/components/GraphRenderer.d.ts.map +1 -1
- package/dist/components/GraphRenderer.js +33 -24
- package/dist/components/GraphRenderer.js.map +1 -1
- package/dist/components/ImageGalleryRenderer.cjs +3 -0
- package/dist/components/ImageGalleryRenderer.cjs.map +1 -1
- package/dist/components/ImageGalleryRenderer.d.ts +5 -0
- package/dist/components/ImageGalleryRenderer.d.ts.map +1 -1
- package/dist/components/ImageGalleryRenderer.js +3 -0
- package/dist/components/ImageGalleryRenderer.js.map +1 -1
- package/dist/components/MapRenderer.cjs +3 -0
- package/dist/components/MapRenderer.cjs.map +1 -1
- package/dist/components/MapRenderer.d.ts +5 -0
- package/dist/components/MapRenderer.d.ts.map +1 -1
- package/dist/components/MapRenderer.js +3 -0
- package/dist/components/MapRenderer.js.map +1 -1
- package/dist/components/PortalDropdownMenu.cjs +82 -0
- package/dist/components/PortalDropdownMenu.cjs.map +1 -0
- package/dist/components/PortalDropdownMenu.d.ts +56 -0
- package/dist/components/PortalDropdownMenu.d.ts.map +1 -0
- package/dist/components/PortalDropdownMenu.js +82 -0
- package/dist/components/PortalDropdownMenu.js.map +1 -0
- package/dist/components/UIResourceRenderer.cjs +296 -256
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts +12 -0
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +296 -256
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/dist/components/VideoRenderer.cjs +3 -0
- package/dist/components/VideoRenderer.cjs.map +1 -1
- package/dist/components/VideoRenderer.d.ts +5 -0
- package/dist/components/VideoRenderer.d.ts.map +1 -1
- package/dist/components/VideoRenderer.js +3 -0
- package/dist/components/VideoRenderer.js.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components.cjs +2 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +2 -0
- package/dist/components.d.ts +2 -0
- package/dist/components.js +2 -0
- package/dist/components.js.map +1 -1
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CarouselRenderer.tsx +6 -0
- package/src/components/ChartJSRenderer.tsx +7 -0
- package/src/components/CodeBlockRenderer.tsx +7 -1
- package/src/components/GraphRenderer.tsx +40 -21
- package/src/components/ImageGalleryRenderer.tsx +7 -0
- package/src/components/MapRenderer.tsx +7 -0
- package/src/components/PortalDropdownMenu.test.tsx +113 -0
- package/src/components/PortalDropdownMenu.tsx +130 -0
- package/src/components/UIResourceRenderer.fluidity.test.tsx +51 -0
- package/src/components/UIResourceRenderer.tsx +50 -24
- package/src/components/VideoRenderer.tsx +7 -0
- package/src/components/index.ts +4 -0
- package/src/index.ts +2 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -19,10 +19,11 @@ import { CodeBlockRenderer } from "./CodeBlockRenderer.js";
|
|
|
19
19
|
import { MapRenderer } from "./MapRenderer.js";
|
|
20
20
|
import { GraphRenderer } from "./GraphRenderer.js";
|
|
21
21
|
import { useExpanded, ExpandableWrapper } from "./ExpandableWrapper.js";
|
|
22
|
+
import { PortalDropdownMenu } from "./PortalDropdownMenu.js";
|
|
22
23
|
import { RenderProvider } from "./RenderContext.js";
|
|
23
24
|
import { useAction } from "../hooks/useAction.js";
|
|
24
25
|
import { marked as k } from "../node_modules/.pnpm/marked@16.4.2/node_modules/marked/lib/marked.esm.js";
|
|
25
|
-
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 flex-shrink-0"><!$><!/><!$><!/>`), _tmpl$19 = /* @__PURE__ */ template(`<button type=button class="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 text-sm"aria-label="Clear search">×`), _tmpl$20 = /* @__PURE__ */ template(`<div class="relative mb-3"><span class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-400 pointer-events-none text-sm">🔍</span><input type=text class="w-full max-w-xs min-w-[200px] pl-8 pr-8 py-1.5 text-sm border border-gray-200 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-400 focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none"><!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 mb-2"><!$><!/> result<!$><!/> on <!$><!/>`), _tmpl$22 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$23 = /* @__PURE__ */ template(`<select class="ml-2 px-1 py-0.5 text-xs border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300">`), _tmpl$24 = /* @__PURE__ */ template(`<span class=text-gray-400>/ page`), _tmpl$25 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span><!$><!/>–<!$><!/> / <!$><!/></span><div class="flex items-center gap-2"><button class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors">◀</button><span><!$><!/> / <!$><!/></span><button class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors">▶</button><!$><!/>`), _tmpl$26 = /* @__PURE__ */ template(`<div><!$><!/><div><!$><!/><!$><!/><div 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-100 dark:bg-gray-900 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/><!$><!/>`), _tmpl$27 = /* @__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-100 dark:bg-gray-900 cursor-pointer select-none hover:bg-gray-200 dark:hover:bg-gray-800 transition-colors"><span class="inline-flex items-center gap-1"><!$><!/><span class="text-[10px] leading-none">`), _tmpl$28 = /* @__PURE__ */ template(`<option>`), _tmpl$29 = /* @__PURE__ */ template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$30 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$31 = /* @__PURE__ */ template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$32 = /* @__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$33 = /* @__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$34 = /* @__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$35 = /* @__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$36 = /* @__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"loading=lazy>`, true, false, false), _tmpl$37 = /* @__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$38 = /* @__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$39 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$40 = /* @__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$41 = /* @__PURE__ */ template(`<div class="inline-flex items-center gap-1.5 px-2 py-1 rounded-md bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 text-xs text-yellow-800 dark:text-yellow-200"role=alert aria-label="Component validation warning"><svg xmlns=http://www.w3.org/2000/svg class="w-3.5 h-3.5"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1=12 y1=9 x2=12 y2=13></line><line x1=12 y1=17 x2=12.01 y2=17></line></svg><span>Invalid <!$><!/>`), _tmpl$42 = /* @__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$43 = /* @__PURE__ */ template(`<span aria-hidden=true>`), _tmpl$44 = /* @__PURE__ */ template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$45 = /* @__PURE__ */ template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$46 = /* @__PURE__ */ template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$47 = /* @__PURE__ */ template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$48 = /* @__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$49 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$50 = /* @__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$51 = /* @__PURE__ */ template(`<li>`), _tmpl$52 = /* @__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$53 = /* @__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$54 = /* @__PURE__ */ template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$55 = /* @__PURE__ */ template(`<div>`);
|
|
26
|
+
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-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"aria-haspopup=menu><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 flex-shrink-0"><!$><!/><!$><!/>`), _tmpl$18 = /* @__PURE__ */ template(`<button type=button class="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 text-sm"aria-label="Clear search">×`), _tmpl$19 = /* @__PURE__ */ template(`<div class="relative mb-3"><span class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-400 pointer-events-none text-sm">🔍</span><input type=text class="w-full max-w-xs min-w-[200px] pl-8 pr-8 py-1.5 text-sm border border-gray-200 dark:border-gray-600 rounded-md bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-400 focus:border-blue-400 focus:ring-1 focus:ring-blue-400 outline-none"><!$><!/>`), _tmpl$20 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 mb-2"><!$><!/> result<!$><!/> on <!$><!/>`), _tmpl$21 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$22 = /* @__PURE__ */ template(`<select class="ml-2 px-1 py-0.5 text-xs border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<span class=text-gray-400>/ page`), _tmpl$24 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span><!$><!/>–<!$><!/> / <!$><!/></span><div class="flex items-center gap-2"><button class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors">◀</button><span><!$><!/> / <!$><!/></span><button class="px-2 py-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 disabled:opacity-40 disabled:cursor-not-allowed transition-colors">▶</button><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div><!$><!/><div><!$><!/><!$><!/><div 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-100 dark:bg-gray-900 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/><!$><!/>`), _tmpl$26 = /* @__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-100 dark:bg-gray-900 cursor-pointer select-none hover:bg-gray-200 dark:hover:bg-gray-800 transition-colors"><span class="inline-flex items-center gap-1"><!$><!/><span class="text-[10px] leading-none">`), _tmpl$27 = /* @__PURE__ */ template(`<option>`), _tmpl$28 = /* @__PURE__ */ template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$29 = /* @__PURE__ */ template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$30 = /* @__PURE__ */ template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$31 = /* @__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$32 = /* @__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$33 = /* @__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$34 = /* @__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$35 = /* @__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"loading=lazy>`, true, false, false), _tmpl$36 = /* @__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$37 = /* @__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$38 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$39 = /* @__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$40 = /* @__PURE__ */ template(`<div class="inline-flex items-center gap-1.5 px-2 py-1 rounded-md bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 text-xs text-yellow-800 dark:text-yellow-200"role=alert aria-label="Component validation warning"><svg xmlns=http://www.w3.org/2000/svg class="w-3.5 h-3.5"viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1=12 y1=9 x2=12 y2=13></line><line x1=12 y1=17 x2=12.01 y2=17></line></svg><span>Invalid <!$><!/>`), _tmpl$41 = /* @__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$42 = /* @__PURE__ */ template(`<span aria-hidden=true>`), _tmpl$43 = /* @__PURE__ */ template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$44 = /* @__PURE__ */ template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$45 = /* @__PURE__ */ template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$47 = /* @__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$48 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$49 = /* @__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$50 = /* @__PURE__ */ template(`<li>`), _tmpl$51 = /* @__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$52 = /* @__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$53 = /* @__PURE__ */ template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$54 = /* @__PURE__ */ template(`<div>`);
|
|
26
27
|
function CopyButton(props) {
|
|
27
28
|
const [copied, setCopied] = createSignal(false);
|
|
28
29
|
const handleCopy = async () => {
|
|
@@ -197,6 +198,9 @@ function ChartRenderer(props) {
|
|
|
197
198
|
get component() {
|
|
198
199
|
return props.component;
|
|
199
200
|
},
|
|
201
|
+
get toolbarVariant() {
|
|
202
|
+
return props.toolbarVariant;
|
|
203
|
+
},
|
|
200
204
|
onError: (err) => {
|
|
201
205
|
var _a2;
|
|
202
206
|
return (_a2 = props.onError) == null ? void 0 : _a2.call(props, {
|
|
@@ -518,6 +522,7 @@ ${dataRows}`;
|
|
|
518
522
|
const exportFormats = typeof exportable === "object" && (exportable == null ? void 0 : exportable.formats) ? exportable.formats : ["csv", "json"];
|
|
519
523
|
const exportFilename = typeof exportable === "object" && (exportable == null ? void 0 : exportable.filename) || `table-${Math.random().toString(36).slice(2, 9)}`;
|
|
520
524
|
const [showExportMenu, setShowExportMenu] = createSignal(false);
|
|
525
|
+
let exportTriggerRef;
|
|
521
526
|
const handleExport = (format) => {
|
|
522
527
|
setShowExportMenu(false);
|
|
523
528
|
switch (format) {
|
|
@@ -608,8 +613,11 @@ ${dataRows}`;
|
|
|
608
613
|
return getTableCSV();
|
|
609
614
|
},
|
|
610
615
|
copyLabel: "Copy table (CSV)",
|
|
616
|
+
get toolbarVariant() {
|
|
617
|
+
return props.toolbarVariant;
|
|
618
|
+
},
|
|
611
619
|
get children() {
|
|
612
|
-
var _el$29 = getNextElement(_tmpl$
|
|
620
|
+
var _el$29 = getNextElement(_tmpl$25), _el$113 = _el$29.firstChild, [_el$114, _co$25] = getNextMarker(_el$113.nextSibling), _el$37 = _el$114.nextSibling, _el$105 = _el$37.firstChild, [_el$106, _co$21] = getNextMarker(_el$105.nextSibling), _el$107 = _el$106.nextSibling, [_el$108, _co$22] = getNextMarker(_el$107.nextSibling), _el$63 = _el$108.nextSibling, _el$64 = _el$63.firstChild, _el$65 = _el$64.firstChild, _el$66 = _el$65.firstChild, _el$67 = _el$65.nextSibling, [_el$68, _co$11] = getNextMarker(_el$67.nextSibling), _el$109 = _el$63.nextSibling, [_el$110, _co$23] = getNextMarker(_el$109.nextSibling), _el$111 = _el$110.nextSibling, [_el$112, _co$24] = getNextMarker(_el$111.nextSibling);
|
|
613
621
|
insert(_el$29, createComponent(Show, {
|
|
614
622
|
when: exportable,
|
|
615
623
|
get fallback() {
|
|
@@ -620,131 +628,133 @@ ${dataRows}`;
|
|
|
620
628
|
});
|
|
621
629
|
},
|
|
622
630
|
get children() {
|
|
623
|
-
var _el$30 = getNextElement(_tmpl$
|
|
631
|
+
var _el$30 = getNextElement(_tmpl$15), _el$31 = _el$30.firstChild, _el$35 = _el$31.nextSibling, [_el$36, _co$5] = getNextMarker(_el$35.nextSibling);
|
|
624
632
|
_el$31.$$click = () => setShowExportMenu(!showExportMenu());
|
|
625
|
-
|
|
626
|
-
|
|
633
|
+
var _ref$ = exportTriggerRef;
|
|
634
|
+
typeof _ref$ === "function" ? use(_ref$, _el$31) : exportTriggerRef = _el$31;
|
|
635
|
+
insert(_el$30, createComponent(PortalDropdownMenu, {
|
|
636
|
+
get open() {
|
|
627
637
|
return showExportMenu();
|
|
628
638
|
},
|
|
639
|
+
onClose: () => setShowExportMenu(false),
|
|
640
|
+
trigger: exportTriggerRef,
|
|
641
|
+
width: 144,
|
|
629
642
|
get children() {
|
|
630
|
-
|
|
631
|
-
insert(_el$32, createComponent(Show, {
|
|
643
|
+
return [createComponent(Show, {
|
|
632
644
|
get when() {
|
|
633
645
|
return exportFormats.includes("tsv");
|
|
634
646
|
},
|
|
635
647
|
get children() {
|
|
636
|
-
var _el$
|
|
637
|
-
_el$
|
|
648
|
+
var _el$32 = getNextElement(_tmpl$12);
|
|
649
|
+
_el$32.$$click = () => handleExport("tsv");
|
|
638
650
|
runHydrationEvents();
|
|
639
|
-
return _el$
|
|
651
|
+
return _el$32;
|
|
640
652
|
}
|
|
641
|
-
}),
|
|
642
|
-
insert(_el$32, createComponent(Show, {
|
|
653
|
+
}), createComponent(Show, {
|
|
643
654
|
get when() {
|
|
644
655
|
return exportFormats.includes("csv");
|
|
645
656
|
},
|
|
646
657
|
get children() {
|
|
647
|
-
var _el$
|
|
648
|
-
_el$
|
|
658
|
+
var _el$33 = getNextElement(_tmpl$13);
|
|
659
|
+
_el$33.$$click = () => handleExport("csv");
|
|
649
660
|
runHydrationEvents();
|
|
650
|
-
return _el$
|
|
661
|
+
return _el$33;
|
|
651
662
|
}
|
|
652
|
-
}),
|
|
653
|
-
insert(_el$32, createComponent(Show, {
|
|
663
|
+
}), createComponent(Show, {
|
|
654
664
|
get when() {
|
|
655
665
|
return exportFormats.includes("json");
|
|
656
666
|
},
|
|
657
667
|
get children() {
|
|
658
|
-
var _el$
|
|
659
|
-
_el$
|
|
668
|
+
var _el$34 = getNextElement(_tmpl$14);
|
|
669
|
+
_el$34.$$click = () => handleExport("json");
|
|
660
670
|
runHydrationEvents();
|
|
661
|
-
return _el$
|
|
671
|
+
return _el$34;
|
|
662
672
|
}
|
|
663
|
-
})
|
|
664
|
-
return _el$32;
|
|
673
|
+
})];
|
|
665
674
|
}
|
|
666
|
-
}), _el$
|
|
675
|
+
}), _el$36, _co$5);
|
|
676
|
+
effect(() => setAttribute(_el$31, "aria-expanded", showExportMenu()));
|
|
667
677
|
runHydrationEvents();
|
|
668
678
|
return _el$30;
|
|
669
679
|
}
|
|
670
|
-
}), _el$
|
|
671
|
-
insert(_el$
|
|
680
|
+
}), _el$114, _co$25);
|
|
681
|
+
insert(_el$37, createComponent(Show, {
|
|
672
682
|
get when() {
|
|
673
683
|
return tableParams.title;
|
|
674
684
|
},
|
|
675
685
|
get children() {
|
|
676
|
-
var _el$
|
|
677
|
-
setAttribute(_el$
|
|
678
|
-
insert(_el$
|
|
679
|
-
insert(_el$
|
|
686
|
+
var _el$38 = getNextElement(_tmpl$17), _el$44 = _el$38.firstChild, [_el$45, _co$7] = getNextMarker(_el$44.nextSibling), _el$46 = _el$45.nextSibling, [_el$47, _co$8] = getNextMarker(_el$46.nextSibling);
|
|
687
|
+
setAttribute(_el$38, "id", `${tableId}-title`);
|
|
688
|
+
insert(_el$38, () => tableParams.title, _el$45, _co$7);
|
|
689
|
+
insert(_el$38, createComponent(Show, {
|
|
680
690
|
get when() {
|
|
681
691
|
return isVirtualizing();
|
|
682
692
|
},
|
|
683
693
|
get children() {
|
|
684
|
-
var _el$
|
|
685
|
-
_el$
|
|
686
|
-
insert(_el$
|
|
694
|
+
var _el$39 = getNextElement(_tmpl$16), _el$40 = _el$39.firstChild, _el$42 = _el$40.nextSibling, [_el$43, _co$6] = getNextMarker(_el$42.nextSibling);
|
|
695
|
+
_el$43.nextSibling;
|
|
696
|
+
insert(_el$39, () => {
|
|
687
697
|
var _a;
|
|
688
698
|
return (_a = tableParams.rows) == null ? void 0 : _a.length;
|
|
689
|
-
}, _el$
|
|
690
|
-
return _el$
|
|
699
|
+
}, _el$43, _co$6);
|
|
700
|
+
return _el$39;
|
|
691
701
|
}
|
|
692
|
-
}), _el$
|
|
693
|
-
return _el$
|
|
702
|
+
}), _el$47, _co$8);
|
|
703
|
+
return _el$38;
|
|
694
704
|
}
|
|
695
|
-
}), _el$
|
|
696
|
-
insert(_el$
|
|
705
|
+
}), _el$106, _co$21);
|
|
706
|
+
insert(_el$37, createComponent(Show, {
|
|
697
707
|
get when() {
|
|
698
708
|
return isSearchable();
|
|
699
709
|
},
|
|
700
710
|
get children() {
|
|
701
711
|
return [(() => {
|
|
702
|
-
var _el$
|
|
703
|
-
_el$
|
|
704
|
-
insert(_el$
|
|
712
|
+
var _el$48 = getNextElement(_tmpl$19), _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$52 = _el$50.nextSibling, [_el$53, _co$9] = getNextMarker(_el$52.nextSibling);
|
|
713
|
+
_el$50.$$input = (e) => handleSearch(e.currentTarget.value);
|
|
714
|
+
insert(_el$48, createComponent(Show, {
|
|
705
715
|
get when() {
|
|
706
716
|
return searchQuery();
|
|
707
717
|
},
|
|
708
718
|
get children() {
|
|
709
|
-
var _el$
|
|
710
|
-
_el$
|
|
719
|
+
var _el$51 = getNextElement(_tmpl$18);
|
|
720
|
+
_el$51.$$click = () => {
|
|
711
721
|
handleSearch("");
|
|
712
722
|
setSearchQuery("");
|
|
713
723
|
setDebouncedQuery("");
|
|
714
724
|
};
|
|
715
725
|
runHydrationEvents();
|
|
716
|
-
return _el$
|
|
726
|
+
return _el$51;
|
|
717
727
|
}
|
|
718
|
-
}), _el$
|
|
719
|
-
effect(() => setAttribute(_el$
|
|
720
|
-
effect(() => setProperty(_el$
|
|
728
|
+
}), _el$53, _co$9);
|
|
729
|
+
effect(() => setAttribute(_el$50, "placeholder", searchPlaceholder()));
|
|
730
|
+
effect(() => setProperty(_el$50, "value", searchQuery()));
|
|
721
731
|
runHydrationEvents();
|
|
722
|
-
return _el$
|
|
732
|
+
return _el$48;
|
|
723
733
|
})(), createComponent(Show, {
|
|
724
734
|
get when() {
|
|
725
735
|
return memo(() => !!debouncedQuery())() && filteredRows().length !== sortedRows().length;
|
|
726
736
|
},
|
|
727
737
|
get children() {
|
|
728
|
-
var _el$
|
|
729
|
-
insert(_el$
|
|
730
|
-
insert(_el$
|
|
731
|
-
insert(_el$
|
|
732
|
-
return _el$
|
|
738
|
+
var _el$54 = getNextElement(_tmpl$20), _el$57 = _el$54.firstChild, [_el$58, _co$0] = getNextMarker(_el$57.nextSibling), _el$55 = _el$58.nextSibling, _el$59 = _el$55.nextSibling, [_el$60, _co$1] = getNextMarker(_el$59.nextSibling), _el$56 = _el$60.nextSibling, _el$61 = _el$56.nextSibling, [_el$62, _co$10] = getNextMarker(_el$61.nextSibling);
|
|
739
|
+
insert(_el$54, () => filteredRows().length, _el$58, _co$0);
|
|
740
|
+
insert(_el$54, () => filteredRows().length !== 1 ? "s" : "", _el$60, _co$1);
|
|
741
|
+
insert(_el$54, () => sortedRows().length, _el$62, _co$10);
|
|
742
|
+
return _el$54;
|
|
733
743
|
}
|
|
734
744
|
})];
|
|
735
745
|
}
|
|
736
|
-
}), _el$
|
|
737
|
-
var _ref$ = scrollContainerRef;
|
|
738
|
-
typeof _ref$ === "function" ? use(_ref
|
|
739
|
-
insert(_el$
|
|
746
|
+
}), _el$108, _co$22);
|
|
747
|
+
var _ref$2 = scrollContainerRef;
|
|
748
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$63) : scrollContainerRef = _el$63;
|
|
749
|
+
insert(_el$66, createComponent(For, {
|
|
740
750
|
get each() {
|
|
741
751
|
return tableParams.columns;
|
|
742
752
|
},
|
|
743
753
|
children: (column) => (() => {
|
|
744
|
-
var _el$
|
|
745
|
-
addEventListener(_el$
|
|
746
|
-
insert(_el$
|
|
747
|
-
insert(_el$
|
|
754
|
+
var _el$115 = getNextElement(_tmpl$26), _el$116 = _el$115.firstChild, _el$118 = _el$116.firstChild, [_el$119, _co$26] = getNextMarker(_el$118.nextSibling), _el$117 = _el$119.nextSibling;
|
|
755
|
+
addEventListener(_el$115, "click", () => handleSort(column.key));
|
|
756
|
+
insert(_el$116, () => column.label, _el$119, _co$26);
|
|
757
|
+
insert(_el$117, () => sortIndicator(column.key));
|
|
748
758
|
effect((_p$) => {
|
|
749
759
|
var _v$14 = column.width ? {
|
|
750
760
|
width: column.width
|
|
@@ -752,19 +762,19 @@ ${dataRows}`;
|
|
|
752
762
|
"opacity-30": sortKey() !== column.key,
|
|
753
763
|
"opacity-100 text-blue-600 dark:text-blue-400": sortKey() === column.key
|
|
754
764
|
};
|
|
755
|
-
_p$.e = style(_el$
|
|
756
|
-
_v$15 !== _p$.t && setAttribute(_el$
|
|
757
|
-
_p$.a = classList(_el$
|
|
765
|
+
_p$.e = style(_el$115, _v$14, _p$.e);
|
|
766
|
+
_v$15 !== _p$.t && setAttribute(_el$115, "title", _p$.t = _v$15);
|
|
767
|
+
_p$.a = classList(_el$117, _v$16, _p$.a);
|
|
758
768
|
return _p$;
|
|
759
769
|
}, {
|
|
760
770
|
e: void 0,
|
|
761
771
|
t: void 0,
|
|
762
772
|
a: void 0
|
|
763
773
|
});
|
|
764
|
-
return _el$
|
|
774
|
+
return _el$115;
|
|
765
775
|
})()
|
|
766
776
|
}));
|
|
767
|
-
insert(_el$
|
|
777
|
+
insert(_el$64, createComponent(Show, {
|
|
768
778
|
get when() {
|
|
769
779
|
return isVirtualizing();
|
|
770
780
|
},
|
|
@@ -774,69 +784,69 @@ ${dataRows}`;
|
|
|
774
784
|
get children() {
|
|
775
785
|
return createComponent(VirtualizedTableBody, {});
|
|
776
786
|
}
|
|
777
|
-
}), _el$
|
|
778
|
-
insert(_el$
|
|
787
|
+
}), _el$68, _co$11);
|
|
788
|
+
insert(_el$37, createComponent(Show, {
|
|
779
789
|
get when() {
|
|
780
790
|
return tableParams.pagination;
|
|
781
791
|
},
|
|
782
792
|
get children() {
|
|
783
|
-
var _el$
|
|
784
|
-
insert(_el$
|
|
785
|
-
insert(_el$
|
|
786
|
-
insert(_el$
|
|
787
|
-
return _el$
|
|
793
|
+
var _el$69 = getNextElement(_tmpl$21), _el$70 = _el$69.firstChild, _el$71 = _el$70.firstChild, _el$76 = _el$71.nextSibling, [_el$77, _co$12] = getNextMarker(_el$76.nextSibling), _el$72 = _el$77.nextSibling, _el$78 = _el$72.nextSibling, [_el$79, _co$13] = getNextMarker(_el$78.nextSibling), _el$74 = _el$79.nextSibling, _el$80 = _el$74.nextSibling, [_el$81, _co$14] = getNextMarker(_el$80.nextSibling);
|
|
794
|
+
insert(_el$70, () => tableParams.pagination.currentPage * tableParams.pagination.pageSize + 1, _el$77, _co$12);
|
|
795
|
+
insert(_el$70, () => Math.min((tableParams.pagination.currentPage + 1) * tableParams.pagination.pageSize, tableParams.pagination.totalRows), _el$79, _co$13);
|
|
796
|
+
insert(_el$70, () => tableParams.pagination.totalRows, _el$81, _co$14);
|
|
797
|
+
return _el$69;
|
|
788
798
|
}
|
|
789
|
-
}), _el$
|
|
790
|
-
insert(_el$
|
|
799
|
+
}), _el$110, _co$23);
|
|
800
|
+
insert(_el$37, createComponent(Show, {
|
|
791
801
|
get when() {
|
|
792
802
|
return needsClientPagination();
|
|
793
803
|
},
|
|
794
804
|
get children() {
|
|
795
|
-
var _el$
|
|
796
|
-
insert(_el$
|
|
797
|
-
insert(_el$
|
|
798
|
-
insert(_el$
|
|
799
|
-
_el$
|
|
800
|
-
insert(_el$
|
|
801
|
-
insert(_el$
|
|
802
|
-
_el$
|
|
803
|
-
insert(_el$
|
|
805
|
+
var _el$82 = getNextElement(_tmpl$24), _el$83 = _el$82.firstChild, _el$86 = _el$83.firstChild, [_el$87, _co$15] = getNextMarker(_el$86.nextSibling), _el$84 = _el$87.nextSibling, _el$88 = _el$84.nextSibling, [_el$89, _co$16] = getNextMarker(_el$88.nextSibling), _el$85 = _el$89.nextSibling, _el$90 = _el$85.nextSibling, [_el$91, _co$17] = getNextMarker(_el$90.nextSibling), _el$92 = _el$83.nextSibling, _el$93 = _el$92.firstChild, _el$94 = _el$93.nextSibling, _el$96 = _el$94.firstChild, [_el$97, _co$18] = getNextMarker(_el$96.nextSibling), _el$95 = _el$97.nextSibling, _el$98 = _el$95.nextSibling, [_el$99, _co$19] = getNextMarker(_el$98.nextSibling), _el$100 = _el$94.nextSibling, _el$103 = _el$100.nextSibling, [_el$104, _co$20] = getNextMarker(_el$103.nextSibling);
|
|
806
|
+
insert(_el$83, clientRangeStart, _el$87, _co$15);
|
|
807
|
+
insert(_el$83, clientRangeEnd, _el$89, _co$16);
|
|
808
|
+
insert(_el$83, () => filteredRows().length.toLocaleString("fr-FR"), _el$91, _co$17);
|
|
809
|
+
_el$93.$$click = () => setClientPage((p) => p - 1);
|
|
810
|
+
insert(_el$94, () => clientPage() + 1, _el$97, _co$18);
|
|
811
|
+
insert(_el$94, clientTotalPages, _el$99, _co$19);
|
|
812
|
+
_el$100.$$click = () => setClientPage((p) => p + 1);
|
|
813
|
+
insert(_el$92, createComponent(Show, {
|
|
804
814
|
get when() {
|
|
805
815
|
return memo(() => !!isExpanded())() && filteredRows().length > 10;
|
|
806
816
|
},
|
|
807
817
|
get children() {
|
|
808
818
|
return [(() => {
|
|
809
|
-
var _el$
|
|
810
|
-
_el$
|
|
811
|
-
insert(_el$
|
|
819
|
+
var _el$101 = getNextElement(_tmpl$22);
|
|
820
|
+
_el$101.addEventListener("change", (e) => handlePageSizeChange(Number(e.currentTarget.value)));
|
|
821
|
+
insert(_el$101, createComponent(For, {
|
|
812
822
|
get each() {
|
|
813
823
|
return pageSizeOptions();
|
|
814
824
|
},
|
|
815
825
|
children: (opt) => (() => {
|
|
816
|
-
var _el$
|
|
817
|
-
insert(_el$
|
|
818
|
-
effect(() => setProperty(_el$
|
|
819
|
-
return _el$
|
|
826
|
+
var _el$120 = getNextElement(_tmpl$27);
|
|
827
|
+
insert(_el$120, () => opt.label);
|
|
828
|
+
effect(() => setProperty(_el$120, "value", opt.value));
|
|
829
|
+
return _el$120;
|
|
820
830
|
})()
|
|
821
831
|
}));
|
|
822
|
-
effect(() => setProperty(_el$
|
|
823
|
-
return _el$
|
|
824
|
-
})(), getNextElement(_tmpl$
|
|
832
|
+
effect(() => setProperty(_el$101, "value", clientPageSize()));
|
|
833
|
+
return _el$101;
|
|
834
|
+
})(), getNextElement(_tmpl$23)];
|
|
825
835
|
}
|
|
826
|
-
}), _el$
|
|
836
|
+
}), _el$104, _co$20);
|
|
827
837
|
effect((_p$) => {
|
|
828
838
|
var _v$8 = clientPage() === 0, _v$9 = clientPage() >= clientTotalPages() - 1;
|
|
829
|
-
_v$8 !== _p$.e && setProperty(_el$
|
|
830
|
-
_v$9 !== _p$.t && setProperty(_el$
|
|
839
|
+
_v$8 !== _p$.e && setProperty(_el$93, "disabled", _p$.e = _v$8);
|
|
840
|
+
_v$9 !== _p$.t && setProperty(_el$100, "disabled", _p$.t = _v$9);
|
|
831
841
|
return _p$;
|
|
832
842
|
}, {
|
|
833
843
|
e: void 0,
|
|
834
844
|
t: void 0
|
|
835
845
|
});
|
|
836
846
|
runHydrationEvents();
|
|
837
|
-
return _el$
|
|
847
|
+
return _el$82;
|
|
838
848
|
}
|
|
839
|
-
}), _el$
|
|
849
|
+
}), _el$112, _co$24);
|
|
840
850
|
effect((_p$) => {
|
|
841
851
|
var _v$0 = `relative w-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group ${isExpanded() ? "flex-1 min-h-0 flex flex-col" : "h-full"}`, _v$1 = `p-4 ${isExpanded() ? "flex-1 min-h-0 flex flex-col" : ""}`, _v$10 = `overflow-x-auto ${isExpanded() ? "flex-1 min-h-0" : ""}`, _v$11 = (
|
|
842
852
|
// v6.1.0 — when expanded, the scroll container fills the
|
|
@@ -869,11 +879,11 @@ ${dataRows}`;
|
|
|
869
879
|
})()
|
|
870
880
|
), _v$12 = tableParams.title || "Data table", _v$13 = tableParams.title ? `${tableId}-title` : void 0;
|
|
871
881
|
_v$0 !== _p$.e && className(_el$29, _p$.e = _v$0);
|
|
872
|
-
_v$1 !== _p$.t && className(_el$
|
|
873
|
-
_v$10 !== _p$.a && className(_el$
|
|
874
|
-
_p$.o = style(_el$
|
|
875
|
-
_v$12 !== _p$.i && setAttribute(_el$
|
|
876
|
-
_v$13 !== _p$.n && setAttribute(_el$
|
|
882
|
+
_v$1 !== _p$.t && className(_el$37, _p$.t = _v$1);
|
|
883
|
+
_v$10 !== _p$.a && className(_el$63, _p$.a = _v$10);
|
|
884
|
+
_p$.o = style(_el$63, _v$11, _p$.o);
|
|
885
|
+
_v$12 !== _p$.i && setAttribute(_el$63, "aria-label", _p$.i = _v$12);
|
|
886
|
+
_v$13 !== _p$.n && setAttribute(_el$64, "aria-labelledby", _p$.n = _v$13);
|
|
877
887
|
return _p$;
|
|
878
888
|
}, {
|
|
879
889
|
e: void 0,
|
|
@@ -896,51 +906,51 @@ function MetricRenderer(props) {
|
|
|
896
906
|
return `${title}: ${value}${unit ? " " + unit : ""}`;
|
|
897
907
|
};
|
|
898
908
|
return (() => {
|
|
899
|
-
var _el$
|
|
900
|
-
insert(_el$
|
|
909
|
+
var _el$121 = getNextElement(_tmpl$31), _el$143 = _el$121.firstChild, [_el$144, _co$32] = getNextMarker(_el$143.nextSibling), _el$122 = _el$144.nextSibling, _el$123 = _el$122.firstChild, _el$124 = _el$123.firstChild, _el$125 = _el$124.nextSibling, _el$126 = _el$125.firstChild, _el$128 = _el$126.nextSibling, [_el$129, _co$27] = getNextMarker(_el$128.nextSibling), _el$139 = _el$123.nextSibling, [_el$140, _co$30] = getNextMarker(_el$139.nextSibling), _el$141 = _el$140.nextSibling, [_el$142, _co$31] = getNextMarker(_el$141.nextSibling);
|
|
910
|
+
insert(_el$121, createComponent(CopyButton, {
|
|
901
911
|
getText: getMetricText,
|
|
902
912
|
title: "Copy metric",
|
|
903
913
|
position: "top-right"
|
|
904
|
-
}), _el$
|
|
905
|
-
insert(_el$
|
|
906
|
-
insert(_el$
|
|
907
|
-
insert(_el$
|
|
914
|
+
}), _el$144, _co$32);
|
|
915
|
+
insert(_el$124, () => metricParams.title);
|
|
916
|
+
insert(_el$126, () => metricParams.value);
|
|
917
|
+
insert(_el$125, createComponent(Show, {
|
|
908
918
|
get when() {
|
|
909
919
|
return metricParams.unit;
|
|
910
920
|
},
|
|
911
921
|
get children() {
|
|
912
|
-
var _el$
|
|
913
|
-
insert(_el$
|
|
914
|
-
return _el$
|
|
922
|
+
var _el$127 = getNextElement(_tmpl$28);
|
|
923
|
+
insert(_el$127, () => metricParams.unit);
|
|
924
|
+
return _el$127;
|
|
915
925
|
}
|
|
916
|
-
}), _el$
|
|
917
|
-
insert(_el$
|
|
926
|
+
}), _el$129, _co$27);
|
|
927
|
+
insert(_el$122, createComponent(Show, {
|
|
918
928
|
get when() {
|
|
919
929
|
return metricParams.trend;
|
|
920
930
|
},
|
|
921
931
|
get children() {
|
|
922
|
-
var _el$
|
|
923
|
-
_el$
|
|
924
|
-
insert(_el$
|
|
932
|
+
var _el$130 = getNextElement(_tmpl$29), _el$131 = _el$130.firstChild, _el$134 = _el$131.firstChild, [_el$135, _co$28] = getNextMarker(_el$134.nextSibling), _el$132 = _el$135.nextSibling, _el$136 = _el$132.nextSibling, [_el$137, _co$29] = getNextMarker(_el$136.nextSibling);
|
|
933
|
+
_el$137.nextSibling;
|
|
934
|
+
insert(_el$131, (() => {
|
|
925
935
|
var _c$ = memo(() => metricParams.trend.direction === "up");
|
|
926
936
|
return () => _c$() ? "�" : metricParams.trend.direction === "down" ? "�" : "�";
|
|
927
|
-
})(), _el$
|
|
928
|
-
insert(_el$
|
|
929
|
-
effect(() => className(_el$
|
|
930
|
-
return _el$
|
|
937
|
+
})(), _el$135, _co$28);
|
|
938
|
+
insert(_el$131, () => Math.abs(metricParams.trend.value), _el$137, _co$29);
|
|
939
|
+
effect(() => className(_el$131, `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"}`));
|
|
940
|
+
return _el$130;
|
|
931
941
|
}
|
|
932
|
-
}), _el$
|
|
933
|
-
insert(_el$
|
|
942
|
+
}), _el$140, _co$30);
|
|
943
|
+
insert(_el$122, createComponent(Show, {
|
|
934
944
|
get when() {
|
|
935
945
|
return metricParams.subtitle;
|
|
936
946
|
},
|
|
937
947
|
get children() {
|
|
938
|
-
var _el$
|
|
939
|
-
insert(_el$
|
|
940
|
-
return _el$
|
|
948
|
+
var _el$138 = getNextElement(_tmpl$30);
|
|
949
|
+
insert(_el$138, () => metricParams.subtitle);
|
|
950
|
+
return _el$138;
|
|
941
951
|
}
|
|
942
|
-
}), _el$
|
|
943
|
-
return _el$
|
|
952
|
+
}), _el$142, _co$31);
|
|
953
|
+
return _el$121;
|
|
944
954
|
})();
|
|
945
955
|
}
|
|
946
956
|
function extractImageFromMarkdown(content) {
|
|
@@ -981,62 +991,62 @@ function TextRenderer(props) {
|
|
|
981
991
|
},
|
|
982
992
|
get fallback() {
|
|
983
993
|
return (() => {
|
|
984
|
-
var _el$
|
|
985
|
-
insert(_el$
|
|
994
|
+
var _el$145 = getNextElement(_tmpl$32), _el$147 = _el$145.firstChild, [_el$148, _co$33] = getNextMarker(_el$147.nextSibling), _el$146 = _el$148.nextSibling;
|
|
995
|
+
insert(_el$145, createComponent(CopyButton, {
|
|
986
996
|
getText: getTextContent,
|
|
987
997
|
title: "Copy text",
|
|
988
998
|
position: "top-right"
|
|
989
|
-
}), _el$
|
|
999
|
+
}), _el$148, _co$33);
|
|
990
1000
|
effect((_p$) => {
|
|
991
1001
|
var _v$17 = `prose prose-sm dark:prose-invert max-w-none ${textParams.className || ""}`, _v$18 = htmlContent();
|
|
992
|
-
_v$17 !== _p$.e && className(_el$
|
|
993
|
-
_v$18 !== _p$.t && setProperty(_el$
|
|
1002
|
+
_v$17 !== _p$.e && className(_el$146, _p$.e = _v$17);
|
|
1003
|
+
_v$18 !== _p$.t && setProperty(_el$146, "innerHTML", _p$.t = _v$18);
|
|
994
1004
|
return _p$;
|
|
995
1005
|
}, {
|
|
996
1006
|
e: void 0,
|
|
997
1007
|
t: void 0
|
|
998
1008
|
});
|
|
999
|
-
return _el$
|
|
1009
|
+
return _el$145;
|
|
1000
1010
|
})();
|
|
1001
1011
|
},
|
|
1002
1012
|
children: (data) => (() => {
|
|
1003
|
-
var _el$
|
|
1004
|
-
insert(_el$
|
|
1013
|
+
var _el$149 = getNextElement(_tmpl$33), _el$150 = _el$149.firstChild, _el$151 = _el$150.firstChild, _el$152 = _el$151.firstChild, _el$153 = _el$150.nextSibling, _el$154 = _el$153.firstChild;
|
|
1014
|
+
insert(_el$154, () => data().credit);
|
|
1005
1015
|
effect((_p$) => {
|
|
1006
1016
|
var _v$19 = data().linkUrl, _v$20 = data().imageUrl, _v$21 = data().alt;
|
|
1007
|
-
_v$19 !== _p$.e && setAttribute(_el$
|
|
1008
|
-
_v$20 !== _p$.t && setAttribute(_el$
|
|
1009
|
-
_v$21 !== _p$.a && setAttribute(_el$
|
|
1017
|
+
_v$19 !== _p$.e && setAttribute(_el$151, "href", _p$.e = _v$19);
|
|
1018
|
+
_v$20 !== _p$.t && setAttribute(_el$152, "src", _p$.t = _v$20);
|
|
1019
|
+
_v$21 !== _p$.a && setAttribute(_el$152, "alt", _p$.a = _v$21);
|
|
1010
1020
|
return _p$;
|
|
1011
1021
|
}, {
|
|
1012
1022
|
e: void 0,
|
|
1013
1023
|
t: void 0,
|
|
1014
1024
|
a: void 0
|
|
1015
1025
|
});
|
|
1016
|
-
return _el$
|
|
1026
|
+
return _el$149;
|
|
1017
1027
|
})()
|
|
1018
1028
|
});
|
|
1019
1029
|
}
|
|
1020
1030
|
function IframeRenderer(props) {
|
|
1021
1031
|
const params = props.component.params;
|
|
1022
1032
|
return (() => {
|
|
1023
|
-
var _el$
|
|
1024
|
-
insert(_el$
|
|
1033
|
+
var _el$155 = getNextElement(_tmpl$35), _el$159 = _el$155.firstChild, [_el$160, _co$34] = getNextMarker(_el$159.nextSibling), _el$158 = _el$160.nextSibling;
|
|
1034
|
+
insert(_el$155, createComponent(Show, {
|
|
1025
1035
|
get when() {
|
|
1026
1036
|
return params.title;
|
|
1027
1037
|
},
|
|
1028
1038
|
get children() {
|
|
1029
|
-
var _el$
|
|
1030
|
-
insert(_el$
|
|
1031
|
-
return _el$
|
|
1039
|
+
var _el$156 = getNextElement(_tmpl$34), _el$157 = _el$156.firstChild;
|
|
1040
|
+
insert(_el$157, () => params.title);
|
|
1041
|
+
return _el$156;
|
|
1032
1042
|
}
|
|
1033
|
-
}), _el$
|
|
1043
|
+
}), _el$160, _co$34);
|
|
1034
1044
|
effect((_p$) => {
|
|
1035
1045
|
var _v$22 = params.url, _v$23 = params.title || "Embedded content", _v$24 = `height: ${params.height || "400px"}; min-height: 300px;`, _v$25 = getIframeSandbox(params.url);
|
|
1036
|
-
_v$22 !== _p$.e && setAttribute(_el$
|
|
1037
|
-
_v$23 !== _p$.t && setAttribute(_el$
|
|
1038
|
-
_p$.a = style(_el$
|
|
1039
|
-
_v$25 !== _p$.o && setAttribute(_el$
|
|
1046
|
+
_v$22 !== _p$.e && setAttribute(_el$158, "src", _p$.e = _v$22);
|
|
1047
|
+
_v$23 !== _p$.t && setAttribute(_el$158, "title", _p$.t = _v$23);
|
|
1048
|
+
_p$.a = style(_el$158, _v$24, _p$.a);
|
|
1049
|
+
_v$25 !== _p$.o && setAttribute(_el$158, "sandbox", _p$.o = _v$25);
|
|
1040
1050
|
return _p$;
|
|
1041
1051
|
}, {
|
|
1042
1052
|
e: void 0,
|
|
@@ -1044,30 +1054,30 @@ function IframeRenderer(props) {
|
|
|
1044
1054
|
a: void 0,
|
|
1045
1055
|
o: void 0
|
|
1046
1056
|
});
|
|
1047
|
-
return _el$
|
|
1057
|
+
return _el$155;
|
|
1048
1058
|
})();
|
|
1049
1059
|
}
|
|
1050
1060
|
function ImageRenderer(props) {
|
|
1051
1061
|
const params = props.component.params;
|
|
1052
1062
|
return (() => {
|
|
1053
|
-
var _el$
|
|
1054
|
-
insert(_el$
|
|
1063
|
+
var _el$161 = getNextElement(_tmpl$37), _el$162 = _el$161.firstChild, _el$163 = _el$162.firstChild, _el$164 = _el$163.firstChild, _el$167 = _el$162.nextSibling, [_el$168, _co$35] = getNextMarker(_el$167.nextSibling);
|
|
1064
|
+
insert(_el$161, createComponent(Show, {
|
|
1055
1065
|
get when() {
|
|
1056
1066
|
return params.caption;
|
|
1057
1067
|
},
|
|
1058
1068
|
get children() {
|
|
1059
|
-
var _el$
|
|
1060
|
-
insert(_el$
|
|
1061
|
-
return _el$
|
|
1069
|
+
var _el$165 = getNextElement(_tmpl$36), _el$166 = _el$165.firstChild;
|
|
1070
|
+
insert(_el$166, () => params.caption);
|
|
1071
|
+
return _el$165;
|
|
1062
1072
|
}
|
|
1063
|
-
}), _el$
|
|
1073
|
+
}), _el$168, _co$35);
|
|
1064
1074
|
effect((_p$) => {
|
|
1065
1075
|
var _v$26 = `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$27 = params.url, _v$28 = `View full size: ${params.alt || "image"}`, _v$29 = params.url, _v$30 = params.alt || "Image";
|
|
1066
|
-
_v$26 !== _p$.e && className(_el$
|
|
1067
|
-
_v$27 !== _p$.t && setAttribute(_el$
|
|
1068
|
-
_v$28 !== _p$.a && setAttribute(_el$
|
|
1069
|
-
_v$29 !== _p$.o && setAttribute(_el$
|
|
1070
|
-
_v$30 !== _p$.i && setAttribute(_el$
|
|
1076
|
+
_v$26 !== _p$.e && className(_el$161, _p$.e = _v$26);
|
|
1077
|
+
_v$27 !== _p$.t && setAttribute(_el$163, "href", _p$.t = _v$27);
|
|
1078
|
+
_v$28 !== _p$.a && setAttribute(_el$163, "aria-label", _p$.a = _v$28);
|
|
1079
|
+
_v$29 !== _p$.o && setAttribute(_el$164, "src", _p$.o = _v$29);
|
|
1080
|
+
_v$30 !== _p$.i && setAttribute(_el$164, "alt", _p$.i = _v$30);
|
|
1071
1081
|
return _p$;
|
|
1072
1082
|
}, {
|
|
1073
1083
|
e: void 0,
|
|
@@ -1076,30 +1086,30 @@ function ImageRenderer(props) {
|
|
|
1076
1086
|
o: void 0,
|
|
1077
1087
|
i: void 0
|
|
1078
1088
|
});
|
|
1079
|
-
return _el$
|
|
1089
|
+
return _el$161;
|
|
1080
1090
|
})();
|
|
1081
1091
|
}
|
|
1082
1092
|
function LinkRenderer(props) {
|
|
1083
1093
|
const params = props.component.params;
|
|
1084
1094
|
return (() => {
|
|
1085
|
-
var _el$
|
|
1086
|
-
_el$
|
|
1087
|
-
insert(_el$
|
|
1088
|
-
insert(_el$
|
|
1095
|
+
var _el$169 = getNextElement(_tmpl$39), _el$170 = _el$169.firstChild, _el$171 = _el$170.nextSibling, _el$172 = _el$171.firstChild, _el$174 = _el$172.nextSibling, [_el$175, _co$36] = getNextMarker(_el$174.nextSibling);
|
|
1096
|
+
_el$169.$$click = (e) => e.stopPropagation();
|
|
1097
|
+
insert(_el$172, () => params.label || params.url);
|
|
1098
|
+
insert(_el$171, createComponent(Show, {
|
|
1089
1099
|
get when() {
|
|
1090
1100
|
return params.description;
|
|
1091
1101
|
},
|
|
1092
1102
|
get children() {
|
|
1093
|
-
var _el$
|
|
1094
|
-
insert(_el$
|
|
1095
|
-
return _el$
|
|
1103
|
+
var _el$173 = getNextElement(_tmpl$38);
|
|
1104
|
+
insert(_el$173, () => params.description);
|
|
1105
|
+
return _el$173;
|
|
1096
1106
|
}
|
|
1097
|
-
}), _el$
|
|
1107
|
+
}), _el$175, _co$36);
|
|
1098
1108
|
effect((_p$) => {
|
|
1099
1109
|
var _v$31 = params.url, _v$32 = `${params.label || "Link"}: ${params.description || params.url} (opens in new tab)`, _v$33 = `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 || ""}`;
|
|
1100
|
-
_v$31 !== _p$.e && setAttribute(_el$
|
|
1101
|
-
_v$32 !== _p$.t && setAttribute(_el$
|
|
1102
|
-
_v$33 !== _p$.a && className(_el$
|
|
1110
|
+
_v$31 !== _p$.e && setAttribute(_el$169, "href", _p$.e = _v$31);
|
|
1111
|
+
_v$32 !== _p$.t && setAttribute(_el$169, "aria-label", _p$.t = _v$32);
|
|
1112
|
+
_v$33 !== _p$.a && className(_el$169, _p$.a = _v$33);
|
|
1103
1113
|
return _p$;
|
|
1104
1114
|
}, {
|
|
1105
1115
|
e: void 0,
|
|
@@ -1107,7 +1117,7 @@ function LinkRenderer(props) {
|
|
|
1107
1117
|
a: void 0
|
|
1108
1118
|
});
|
|
1109
1119
|
runHydrationEvents();
|
|
1110
|
-
return _el$
|
|
1120
|
+
return _el$169;
|
|
1111
1121
|
})();
|
|
1112
1122
|
}
|
|
1113
1123
|
function ComponentRenderer(props) {
|
|
@@ -1174,16 +1184,16 @@ function ComponentRenderer(props) {
|
|
|
1174
1184
|
}
|
|
1175
1185
|
if (mode === "inline-warn") {
|
|
1176
1186
|
return (() => {
|
|
1177
|
-
var _el$
|
|
1178
|
-
setAttribute(_el$
|
|
1179
|
-
insert(_el$
|
|
1180
|
-
return _el$
|
|
1187
|
+
var _el$176 = getNextElement(_tmpl$40), _el$177 = _el$176.firstChild, _el$178 = _el$177.nextSibling, _el$179 = _el$178.firstChild, _el$180 = _el$179.nextSibling, [_el$181, _co$37] = getNextMarker(_el$180.nextSibling);
|
|
1188
|
+
setAttribute(_el$176, "title", firstError);
|
|
1189
|
+
insert(_el$178, () => props.component.type, _el$181, _co$37);
|
|
1190
|
+
return _el$176;
|
|
1181
1191
|
})();
|
|
1182
1192
|
}
|
|
1183
1193
|
return (() => {
|
|
1184
|
-
var _el$
|
|
1185
|
-
insert(_el$
|
|
1186
|
-
return _el$
|
|
1194
|
+
var _el$182 = getNextElement(_tmpl$41), _el$183 = _el$182.firstChild, _el$184 = _el$183.nextSibling;
|
|
1195
|
+
insert(_el$184, firstError);
|
|
1196
|
+
return _el$182;
|
|
1187
1197
|
})();
|
|
1188
1198
|
}
|
|
1189
1199
|
return createComponent(GenerativeUIErrorBoundary, {
|
|
@@ -1209,6 +1219,9 @@ function ComponentRenderer(props) {
|
|
|
1209
1219
|
},
|
|
1210
1220
|
get onError() {
|
|
1211
1221
|
return props.onError;
|
|
1222
|
+
},
|
|
1223
|
+
get toolbarVariant() {
|
|
1224
|
+
return props.toolbarVariant;
|
|
1212
1225
|
}
|
|
1213
1226
|
});
|
|
1214
1227
|
}
|
|
@@ -1223,6 +1236,9 @@ function ComponentRenderer(props) {
|
|
|
1223
1236
|
},
|
|
1224
1237
|
get onError() {
|
|
1225
1238
|
return props.onError;
|
|
1239
|
+
},
|
|
1240
|
+
get toolbarVariant() {
|
|
1241
|
+
return props.toolbarVariant;
|
|
1226
1242
|
}
|
|
1227
1243
|
});
|
|
1228
1244
|
}
|
|
@@ -1319,6 +1335,9 @@ function ComponentRenderer(props) {
|
|
|
1319
1335
|
get height() {
|
|
1320
1336
|
var _a2;
|
|
1321
1337
|
return (_a2 = props.component.params) == null ? void 0 : _a2.height;
|
|
1338
|
+
},
|
|
1339
|
+
get toolbarVariant() {
|
|
1340
|
+
return props.toolbarVariant;
|
|
1322
1341
|
}
|
|
1323
1342
|
});
|
|
1324
1343
|
}
|
|
@@ -1374,6 +1393,9 @@ function ComponentRenderer(props) {
|
|
|
1374
1393
|
return createComponent(ImageGalleryRenderer, {
|
|
1375
1394
|
get component() {
|
|
1376
1395
|
return props.component;
|
|
1396
|
+
},
|
|
1397
|
+
get toolbarVariant() {
|
|
1398
|
+
return props.toolbarVariant;
|
|
1377
1399
|
}
|
|
1378
1400
|
});
|
|
1379
1401
|
}
|
|
@@ -1385,6 +1407,9 @@ function ComponentRenderer(props) {
|
|
|
1385
1407
|
return createComponent(VideoRenderer, {
|
|
1386
1408
|
get component() {
|
|
1387
1409
|
return props.component;
|
|
1410
|
+
},
|
|
1411
|
+
get toolbarVariant() {
|
|
1412
|
+
return props.toolbarVariant;
|
|
1388
1413
|
}
|
|
1389
1414
|
});
|
|
1390
1415
|
}
|
|
@@ -1396,6 +1421,9 @@ function ComponentRenderer(props) {
|
|
|
1396
1421
|
return createComponent(CodeBlockRenderer, {
|
|
1397
1422
|
get component() {
|
|
1398
1423
|
return props.component;
|
|
1424
|
+
},
|
|
1425
|
+
get toolbarVariant() {
|
|
1426
|
+
return props.toolbarVariant;
|
|
1399
1427
|
}
|
|
1400
1428
|
});
|
|
1401
1429
|
}
|
|
@@ -1407,6 +1435,9 @@ function ComponentRenderer(props) {
|
|
|
1407
1435
|
return createComponent(MapRenderer, {
|
|
1408
1436
|
get component() {
|
|
1409
1437
|
return props.component;
|
|
1438
|
+
},
|
|
1439
|
+
get toolbarVariant() {
|
|
1440
|
+
return props.toolbarVariant;
|
|
1410
1441
|
}
|
|
1411
1442
|
});
|
|
1412
1443
|
}
|
|
@@ -1418,6 +1449,9 @@ function ComponentRenderer(props) {
|
|
|
1418
1449
|
return createComponent(GraphRenderer, {
|
|
1419
1450
|
get component() {
|
|
1420
1451
|
return props.component;
|
|
1452
|
+
},
|
|
1453
|
+
get toolbarVariant() {
|
|
1454
|
+
return props.toolbarVariant;
|
|
1421
1455
|
}
|
|
1422
1456
|
});
|
|
1423
1457
|
}
|
|
@@ -1453,27 +1487,27 @@ function ActionRenderer(props) {
|
|
|
1453
1487
|
const isDisabled = () => params.disabled || params.action === "tool-call" && isExecuting();
|
|
1454
1488
|
if (params.type === "link" || params.action === "link") {
|
|
1455
1489
|
return (() => {
|
|
1456
|
-
var _el$
|
|
1457
|
-
_el$
|
|
1458
|
-
insert(_el$
|
|
1490
|
+
var _el$185 = getNextElement(_tmpl$43), _el$187 = _el$185.firstChild, [_el$188, _co$38] = getNextMarker(_el$187.nextSibling), _el$189 = _el$188.nextSibling, [_el$190, _co$39] = getNextMarker(_el$189.nextSibling);
|
|
1491
|
+
_el$185.$$click = handleClick;
|
|
1492
|
+
insert(_el$185, createComponent(Show, {
|
|
1459
1493
|
get when() {
|
|
1460
1494
|
return params.icon;
|
|
1461
1495
|
},
|
|
1462
1496
|
get children() {
|
|
1463
|
-
var _el$
|
|
1464
|
-
insert(_el$
|
|
1465
|
-
return _el$
|
|
1497
|
+
var _el$186 = getNextElement(_tmpl$42);
|
|
1498
|
+
insert(_el$186, () => params.icon);
|
|
1499
|
+
return _el$186;
|
|
1466
1500
|
}
|
|
1467
|
-
}), _el$
|
|
1468
|
-
insert(_el$
|
|
1501
|
+
}), _el$188, _co$38);
|
|
1502
|
+
insert(_el$185, () => params.label, _el$190, _co$39);
|
|
1469
1503
|
effect((_p$) => {
|
|
1470
1504
|
var _v$34 = params.url || "#", _v$35 = params.url ? "_blank" : void 0, _v$36 = params.ariaLabel || params.label, _v$37 = `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
|
|
1471
1505
|
${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"}
|
|
1472
1506
|
${params.className || ""}`;
|
|
1473
|
-
_v$34 !== _p$.e && setAttribute(_el$
|
|
1474
|
-
_v$35 !== _p$.t && setAttribute(_el$
|
|
1475
|
-
_v$36 !== _p$.a && setAttribute(_el$
|
|
1476
|
-
_v$37 !== _p$.o && className(_el$
|
|
1507
|
+
_v$34 !== _p$.e && setAttribute(_el$185, "href", _p$.e = _v$34);
|
|
1508
|
+
_v$35 !== _p$.t && setAttribute(_el$185, "target", _p$.t = _v$35);
|
|
1509
|
+
_v$36 !== _p$.a && setAttribute(_el$185, "aria-label", _p$.a = _v$36);
|
|
1510
|
+
_v$37 !== _p$.o && className(_el$185, _p$.o = _v$37);
|
|
1477
1511
|
return _p$;
|
|
1478
1512
|
}, {
|
|
1479
1513
|
e: void 0,
|
|
@@ -1482,42 +1516,42 @@ function ActionRenderer(props) {
|
|
|
1482
1516
|
o: void 0
|
|
1483
1517
|
});
|
|
1484
1518
|
runHydrationEvents();
|
|
1485
|
-
return _el$
|
|
1519
|
+
return _el$185;
|
|
1486
1520
|
})();
|
|
1487
1521
|
}
|
|
1488
1522
|
return (() => {
|
|
1489
|
-
var _el$
|
|
1490
|
-
_el$
|
|
1491
|
-
insert(_el$
|
|
1523
|
+
var _el$191 = getNextElement(_tmpl$45), _el$194 = _el$191.firstChild, [_el$195, _co$40] = getNextMarker(_el$194.nextSibling), _el$196 = _el$195.nextSibling, [_el$197, _co$41] = getNextMarker(_el$196.nextSibling), _el$198 = _el$197.nextSibling, [_el$199, _co$42] = getNextMarker(_el$198.nextSibling);
|
|
1524
|
+
_el$191.$$click = handleClick;
|
|
1525
|
+
insert(_el$191, createComponent(Show, {
|
|
1492
1526
|
get when() {
|
|
1493
1527
|
return memo(() => !!isExecuting())() && params.action === "tool-call";
|
|
1494
1528
|
},
|
|
1495
1529
|
get children() {
|
|
1496
|
-
return getNextElement(_tmpl$
|
|
1530
|
+
return getNextElement(_tmpl$44);
|
|
1497
1531
|
}
|
|
1498
|
-
}), _el$
|
|
1499
|
-
insert(_el$
|
|
1532
|
+
}), _el$195, _co$40);
|
|
1533
|
+
insert(_el$191, createComponent(Show, {
|
|
1500
1534
|
get when() {
|
|
1501
1535
|
return memo(() => !!params.icon)() && !(isExecuting() && params.action === "tool-call");
|
|
1502
1536
|
},
|
|
1503
1537
|
get children() {
|
|
1504
|
-
var _el$
|
|
1505
|
-
insert(_el$
|
|
1506
|
-
return _el$
|
|
1538
|
+
var _el$193 = getNextElement(_tmpl$42);
|
|
1539
|
+
insert(_el$193, () => params.icon);
|
|
1540
|
+
return _el$193;
|
|
1507
1541
|
}
|
|
1508
|
-
}), _el$
|
|
1509
|
-
insert(_el$
|
|
1542
|
+
}), _el$197, _co$41);
|
|
1543
|
+
insert(_el$191, () => params.label, _el$199, _co$42);
|
|
1510
1544
|
effect((_p$) => {
|
|
1511
1545
|
var _v$38 = params.action === "submit" ? "submit" : "button", _v$39 = isDisabled(), _v$40 = isExecuting() && params.action === "tool-call", _v$41 = params.ariaLabel || params.label, _v$42 = `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
|
|
1512
1546
|
${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"}
|
|
1513
1547
|
${isDisabled() ? "opacity-50 cursor-not-allowed" : ""}
|
|
1514
1548
|
${params.size === "sm" ? "px-3 py-1.5 text-xs" : params.size === "lg" ? "px-6 py-3 text-base" : ""}
|
|
1515
1549
|
${params.className || ""}`;
|
|
1516
|
-
_v$38 !== _p$.e && setAttribute(_el$
|
|
1517
|
-
_v$39 !== _p$.t && setProperty(_el$
|
|
1518
|
-
_v$40 !== _p$.a && setAttribute(_el$
|
|
1519
|
-
_v$41 !== _p$.o && setAttribute(_el$
|
|
1520
|
-
_v$42 !== _p$.i && className(_el$
|
|
1550
|
+
_v$38 !== _p$.e && setAttribute(_el$191, "type", _p$.e = _v$38);
|
|
1551
|
+
_v$39 !== _p$.t && setProperty(_el$191, "disabled", _p$.t = _v$39);
|
|
1552
|
+
_v$40 !== _p$.a && setAttribute(_el$191, "aria-busy", _p$.a = _v$40);
|
|
1553
|
+
_v$41 !== _p$.o && setAttribute(_el$191, "aria-label", _p$.o = _v$41);
|
|
1554
|
+
_v$42 !== _p$.i && className(_el$191, _p$.i = _v$42);
|
|
1521
1555
|
return _p$;
|
|
1522
1556
|
}, {
|
|
1523
1557
|
e: void 0,
|
|
@@ -1527,7 +1561,7 @@ function ActionRenderer(props) {
|
|
|
1527
1561
|
i: void 0
|
|
1528
1562
|
});
|
|
1529
1563
|
runHydrationEvents();
|
|
1530
|
-
return _el$
|
|
1564
|
+
return _el$191;
|
|
1531
1565
|
})();
|
|
1532
1566
|
}
|
|
1533
1567
|
function ErrorCardRenderer(props) {
|
|
@@ -1535,55 +1569,55 @@ function ErrorCardRenderer(props) {
|
|
|
1535
1569
|
return `Error in ${props.error.tool || "unknown tool"}: ${props.error.message || "Unknown error"}`;
|
|
1536
1570
|
};
|
|
1537
1571
|
return (() => {
|
|
1538
|
-
var _el$
|
|
1539
|
-
insert(_el$
|
|
1572
|
+
var _el$200 = getNextElement(_tmpl$49), _el$223 = _el$200.firstChild, [_el$224, _co$48] = getNextMarker(_el$223.nextSibling), _el$201 = _el$224.nextSibling, _el$202 = _el$201.firstChild, _el$203 = _el$202.nextSibling, _el$204 = _el$203.firstChild, _el$205 = _el$204.firstChild, _el$206 = _el$205.nextSibling, [_el$207, _co$43] = getNextMarker(_el$206.nextSibling), _el$208 = _el$204.nextSibling, _el$217 = _el$208.nextSibling, [_el$218, _co$45] = getNextMarker(_el$217.nextSibling), _el$219 = _el$218.nextSibling, [_el$220, _co$46] = getNextMarker(_el$219.nextSibling), _el$221 = _el$220.nextSibling, [_el$222, _co$47] = getNextMarker(_el$221.nextSibling);
|
|
1573
|
+
insert(_el$200, createComponent(CopyButton, {
|
|
1540
1574
|
getText: getErrorText,
|
|
1541
1575
|
title: "Copy error details",
|
|
1542
1576
|
position: "top-right"
|
|
1543
|
-
}), _el$
|
|
1544
|
-
insert(_el$
|
|
1545
|
-
insert(_el$
|
|
1546
|
-
insert(_el$
|
|
1577
|
+
}), _el$224, _co$48);
|
|
1578
|
+
insert(_el$204, () => props.error.tool || "Unknown", _el$207, _co$43);
|
|
1579
|
+
insert(_el$208, () => props.error.message || "An error occurred during tool execution");
|
|
1580
|
+
insert(_el$203, createComponent(Show, {
|
|
1547
1581
|
get when() {
|
|
1548
1582
|
return props.error.type;
|
|
1549
1583
|
},
|
|
1550
1584
|
get children() {
|
|
1551
|
-
var _el$
|
|
1552
|
-
insert(_el$
|
|
1553
|
-
return _el$
|
|
1585
|
+
var _el$209 = getNextElement(_tmpl$46), _el$210 = _el$209.firstChild, _el$211 = _el$210.nextSibling, [_el$212, _co$44] = getNextMarker(_el$211.nextSibling);
|
|
1586
|
+
insert(_el$209, () => props.error.type, _el$212, _co$44);
|
|
1587
|
+
return _el$209;
|
|
1554
1588
|
}
|
|
1555
|
-
}), _el$
|
|
1556
|
-
insert(_el$
|
|
1589
|
+
}), _el$218, _co$45);
|
|
1590
|
+
insert(_el$203, createComponent(Show, {
|
|
1557
1591
|
get when() {
|
|
1558
1592
|
var _a;
|
|
1559
1593
|
return (_a = props.error.suggestions) == null ? void 0 : _a.length;
|
|
1560
1594
|
},
|
|
1561
1595
|
get children() {
|
|
1562
|
-
var _el$
|
|
1563
|
-
insert(_el$
|
|
1596
|
+
var _el$213 = getNextElement(_tmpl$47), _el$214 = _el$213.firstChild, _el$215 = _el$214.nextSibling;
|
|
1597
|
+
insert(_el$215, createComponent(For, {
|
|
1564
1598
|
get each() {
|
|
1565
1599
|
return props.error.suggestions;
|
|
1566
1600
|
},
|
|
1567
1601
|
children: (suggestion) => (() => {
|
|
1568
|
-
var _el$
|
|
1569
|
-
insert(_el$
|
|
1570
|
-
return _el$
|
|
1602
|
+
var _el$225 = getNextElement(_tmpl$50);
|
|
1603
|
+
insert(_el$225, suggestion);
|
|
1604
|
+
return _el$225;
|
|
1571
1605
|
})()
|
|
1572
1606
|
}));
|
|
1573
|
-
return _el$
|
|
1607
|
+
return _el$213;
|
|
1574
1608
|
}
|
|
1575
|
-
}), _el$
|
|
1576
|
-
insert(_el$
|
|
1609
|
+
}), _el$220, _co$46);
|
|
1610
|
+
insert(_el$203, createComponent(Show, {
|
|
1577
1611
|
get when() {
|
|
1578
1612
|
return props.error.timestamp;
|
|
1579
1613
|
},
|
|
1580
1614
|
get children() {
|
|
1581
|
-
var _el$
|
|
1582
|
-
insert(_el$
|
|
1583
|
-
return _el$
|
|
1615
|
+
var _el$216 = getNextElement(_tmpl$48);
|
|
1616
|
+
insert(_el$216, () => new Date(props.error.timestamp).toLocaleString());
|
|
1617
|
+
return _el$216;
|
|
1584
1618
|
}
|
|
1585
|
-
}), _el$
|
|
1586
|
-
return _el$
|
|
1619
|
+
}), _el$222, _co$47);
|
|
1620
|
+
return _el$200;
|
|
1587
1621
|
})();
|
|
1588
1622
|
}
|
|
1589
1623
|
function isErrorResponse(content) {
|
|
@@ -1606,20 +1640,20 @@ function UIResourceHtmlRenderer(props) {
|
|
|
1606
1640
|
return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || ((_b = props.resource.uri) == null ? void 0 : _b.replace("ui://deposium/", "")) || "Resource";
|
|
1607
1641
|
};
|
|
1608
1642
|
return (() => {
|
|
1609
|
-
var _el$
|
|
1610
|
-
insert(_el$
|
|
1643
|
+
var _el$226 = getNextElement(_tmpl$52), _el$230 = _el$226.firstChild, [_el$231, _co$49] = getNextMarker(_el$230.nextSibling), _el$229 = _el$231.nextSibling;
|
|
1644
|
+
insert(_el$226, createComponent(Show, {
|
|
1611
1645
|
get when() {
|
|
1612
1646
|
var _a;
|
|
1613
1647
|
return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || props.resource.uri;
|
|
1614
1648
|
},
|
|
1615
1649
|
get children() {
|
|
1616
|
-
var _el$
|
|
1617
|
-
insert(_el$
|
|
1618
|
-
return _el$
|
|
1650
|
+
var _el$227 = getNextElement(_tmpl$51), _el$228 = _el$227.firstChild;
|
|
1651
|
+
insert(_el$228, resourceTitle);
|
|
1652
|
+
return _el$227;
|
|
1619
1653
|
}
|
|
1620
|
-
}), _el$
|
|
1621
|
-
effect(() => setProperty(_el$
|
|
1622
|
-
return _el$
|
|
1654
|
+
}), _el$231, _co$49);
|
|
1655
|
+
effect(() => setProperty(_el$229, "innerHTML", htmlContent()));
|
|
1656
|
+
return _el$226;
|
|
1623
1657
|
})();
|
|
1624
1658
|
}
|
|
1625
1659
|
const UIResourceRenderer = (props) => {
|
|
@@ -1697,32 +1731,38 @@ const UIResourceRenderer = (props) => {
|
|
|
1697
1731
|
onError,
|
|
1698
1732
|
get errorMode() {
|
|
1699
1733
|
return props.errorMode;
|
|
1734
|
+
},
|
|
1735
|
+
get toolbarVariant() {
|
|
1736
|
+
return props.toolbarVariant;
|
|
1700
1737
|
}
|
|
1701
1738
|
});
|
|
1702
1739
|
return createComponent(RenderProvider, {
|
|
1703
1740
|
renderComponent,
|
|
1704
1741
|
get children() {
|
|
1705
|
-
var _el$
|
|
1706
|
-
insert(_el$
|
|
1742
|
+
var _el$232 = getNextElement(_tmpl$53), _el$233 = _el$232.firstChild, _el$234 = _el$233.nextSibling, [_el$235, _co$50] = getNextMarker(_el$234.nextSibling);
|
|
1743
|
+
insert(_el$233, createComponent(For, {
|
|
1707
1744
|
get each() {
|
|
1708
1745
|
return layoutData.components;
|
|
1709
1746
|
},
|
|
1710
1747
|
children: (component) => (() => {
|
|
1711
|
-
var _el$
|
|
1712
|
-
insert(_el$
|
|
1748
|
+
var _el$236 = getNextElement(_tmpl$54);
|
|
1749
|
+
insert(_el$236, createComponent(ComponentRenderer, {
|
|
1713
1750
|
component,
|
|
1714
1751
|
get onError() {
|
|
1715
1752
|
return props.onError;
|
|
1716
1753
|
},
|
|
1717
1754
|
get errorMode() {
|
|
1718
1755
|
return props.errorMode;
|
|
1756
|
+
},
|
|
1757
|
+
get toolbarVariant() {
|
|
1758
|
+
return props.toolbarVariant;
|
|
1719
1759
|
}
|
|
1720
1760
|
}));
|
|
1721
|
-
effect((_$p) => style(_el$
|
|
1722
|
-
return _el$
|
|
1761
|
+
effect((_$p) => style(_el$236, getGridStyleString(component), _$p));
|
|
1762
|
+
return _el$236;
|
|
1723
1763
|
})()
|
|
1724
1764
|
}));
|
|
1725
|
-
insert(_el$
|
|
1765
|
+
insert(_el$232, createComponent(Show, {
|
|
1726
1766
|
get when() {
|
|
1727
1767
|
return shouldShowAutoFooter();
|
|
1728
1768
|
},
|
|
@@ -1733,17 +1773,17 @@ const UIResourceRenderer = (props) => {
|
|
|
1733
1773
|
}
|
|
1734
1774
|
});
|
|
1735
1775
|
}
|
|
1736
|
-
}), _el$
|
|
1776
|
+
}), _el$235, _co$50);
|
|
1737
1777
|
effect((_p$) => {
|
|
1738
1778
|
var _v$43 = `w-full ${props.class || ""}`, _v$44 = gridContainerStyle();
|
|
1739
|
-
_v$43 !== _p$.e && className(_el$
|
|
1740
|
-
_p$.t = style(_el$
|
|
1779
|
+
_v$43 !== _p$.e && className(_el$232, _p$.e = _v$43);
|
|
1780
|
+
_p$.t = style(_el$233, _v$44, _p$.t);
|
|
1741
1781
|
return _p$;
|
|
1742
1782
|
}, {
|
|
1743
1783
|
e: void 0,
|
|
1744
1784
|
t: void 0
|
|
1745
1785
|
});
|
|
1746
|
-
return _el$
|
|
1786
|
+
return _el$232;
|
|
1747
1787
|
}
|
|
1748
1788
|
});
|
|
1749
1789
|
};
|