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