@seed-ship/mcp-ui-solid 4.0.4 → 4.0.6
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/dist/components/UIResourceRenderer.cjs +235 -175
- package/dist/components/UIResourceRenderer.cjs.map +1 -1
- package/dist/components/UIResourceRenderer.d.ts.map +1 -1
- package/dist/components/UIResourceRenderer.js +236 -176
- package/dist/components/UIResourceRenderer.js.map +1 -1
- package/package.json +1 -1
- package/src/components/UIResourceRenderer.tsx +69 -13
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -21,7 +21,7 @@ const ExpandableWrapper = require("./ExpandableWrapper.cjs");
|
|
|
21
21
|
const RenderContext = require("./RenderContext.cjs");
|
|
22
22
|
const useAction = require("../hooks/useAction.cjs");
|
|
23
23
|
const marked_esm = require("../node_modules/.pnpm/marked@16.4.2/node_modules/marked/lib/marked.esm.cjs");
|
|
24
|
-
var _tmpl$ = /* @__PURE__ */ web.template(`<svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z">`), _tmpl$2 = /* @__PURE__ */ web.template(`<button>`), _tmpl$3 = /* @__PURE__ */ web.template(`<svg class="w-3 h-3 text-green-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M5 13l4 4L19 7">`), _tmpl$4 = /* @__PURE__ */ web.template(`<div class="p-4 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700"><p class="text-red-500 dark:text-red-400 text-sm">Invalid chart data: missing data.datasets`), _tmpl$5 = /* @__PURE__ */ web.template(`<div class="absolute inset-0 flex items-center justify-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600">`), _tmpl$6 = /* @__PURE__ */ web.template(`<div class="absolute inset-0 flex items-center justify-center p-4"><div class=text-center><p class="text-red-600 dark:text-red-400 text-sm font-medium">Chart Error</p><p class="text-gray-600 dark:text-gray-400 text-xs mt-1">`), _tmpl$7 = /* @__PURE__ */ web.template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3">`), _tmpl$8 = /* @__PURE__ */ web.template(`<div class="w-full h-full p-4"><!$><!/><div class="w-full h-full"role=img><img class="w-full h-auto max-h-[300px] object-contain">`), _tmpl$9 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><!$><!/><!$><!/>`), _tmpl$0 = /* @__PURE__ */ web.template(`<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">`), _tmpl$1 = /* @__PURE__ */ web.template(`<tr>`), _tmpl$10 = /* @__PURE__ */ web.template(`<td class="px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6"><div>`), _tmpl$11 = /* @__PURE__ */ web.template(`<tbody class="bg-white dark:bg-gray-800 relative">`), _tmpl$12 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Copy TSV`), _tmpl$13 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download CSV`), _tmpl$14 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download JSON`), _tmpl$15 = /* @__PURE__ */ web.template(`<div class="absolute right-0 mt-1 w-36 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg py-1 text-sm"><!$><!/><!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ web.template(`<div class="absolute right-10 top-2 z-10"><button class="opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm"title="Export table"aria-label="Export table"><svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></button><!$><!/>`), _tmpl$17 = /* @__PURE__ */ web.template(`<span class="ml-2 text-xs font-normal text-gray-400">(virtualized: <!$><!/> rows)`), _tmpl$18 = /* @__PURE__ */ web.template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3"><!$><!/><!$><!/>`), _tmpl$19 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$20 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/>–<!$><!/> of <!$><!/></span><div class="flex items-center gap-1"><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">◀ Prev</button><span class=px-2>Page <!$><!/> / <!$><!/></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">Next ▶`), _tmpl$21 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group"><!$><!/><div class=p-4><!$><!/><div class=overflow-x-auto role=region tabindex=0><table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0"><thead class="bg-gray-50 dark:bg-gray-900/50 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/><!$><!/>`), _tmpl$22 = /* @__PURE__ */ web.template(`<th scope=col class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50">`), _tmpl$23 = /* @__PURE__ */ web.template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$24 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$25 = /* @__PURE__ */ web.template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$26 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div 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$27 = /* @__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$28 = /* @__PURE__ */ web.template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><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$29 = /* @__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$30 = /* @__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$31 = /* @__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$32 = /* @__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$33 = /* @__PURE__ */ web.template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$34 = /* @__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$35 = /* @__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$36 = /* @__PURE__ */ web.template(`<span aria-hidden=true>`), _tmpl$37 = /* @__PURE__ */ web.template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$38 = /* @__PURE__ */ web.template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$39 = /* @__PURE__ */ web.template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$40 = /* @__PURE__ */ web.template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$41 = /* @__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$42 = /* @__PURE__ */ web.template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$43 = /* @__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$44 = /* @__PURE__ */ web.template(`<li>`), _tmpl$45 = /* @__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$46 = /* @__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$47 = /* @__PURE__ */ web.template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$48 = /* @__PURE__ */ web.template(`<div>`);
|
|
24
|
+
var _tmpl$ = /* @__PURE__ */ web.template(`<svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z">`), _tmpl$2 = /* @__PURE__ */ web.template(`<button>`), _tmpl$3 = /* @__PURE__ */ web.template(`<svg class="w-3 h-3 text-green-500"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M5 13l4 4L19 7">`), _tmpl$4 = /* @__PURE__ */ web.template(`<div class="p-4 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700"><p class="text-red-500 dark:text-red-400 text-sm">Invalid chart data: missing data.datasets`), _tmpl$5 = /* @__PURE__ */ web.template(`<div class="absolute inset-0 flex items-center justify-center"><div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600">`), _tmpl$6 = /* @__PURE__ */ web.template(`<div class="absolute inset-0 flex items-center justify-center p-4"><div class=text-center><p class="text-red-600 dark:text-red-400 text-sm font-medium">Chart Error</p><p class="text-gray-600 dark:text-gray-400 text-xs mt-1">`), _tmpl$7 = /* @__PURE__ */ web.template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3">`), _tmpl$8 = /* @__PURE__ */ web.template(`<div class="w-full h-full p-4"><!$><!/><div class="w-full h-full"role=img><img class="w-full h-auto max-h-[300px] object-contain">`), _tmpl$9 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full min-h-[300px] bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden"><!$><!/><!$><!/><!$><!/>`), _tmpl$0 = /* @__PURE__ */ web.template(`<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">`), _tmpl$1 = /* @__PURE__ */ web.template(`<tr>`), _tmpl$10 = /* @__PURE__ */ web.template(`<td class="px-6 py-4 text-sm text-gray-700 dark:text-gray-200 whitespace-normal break-words leading-relaxed first:pl-6 last:pr-6"><div>`), _tmpl$11 = /* @__PURE__ */ web.template(`<tbody class="bg-white dark:bg-gray-800 relative">`), _tmpl$12 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Copy TSV`), _tmpl$13 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download CSV`), _tmpl$14 = /* @__PURE__ */ web.template(`<button class="w-full text-left px-3 py-1.5 hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300">Download JSON`), _tmpl$15 = /* @__PURE__ */ web.template(`<div class="absolute right-0 mt-1 w-36 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg py-1 text-sm"><!$><!/><!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ web.template(`<div class="absolute right-10 top-2 z-10"><button class="opacity-60 hover:opacity-100 px-2 py-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-all shadow-sm"title="Export table"aria-label="Export table"><svg class="w-3 h-3 text-gray-500 dark:text-gray-400"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path></svg></button><!$><!/>`), _tmpl$17 = /* @__PURE__ */ web.template(`<span class="ml-2 text-xs font-normal text-gray-400">(virtualized: <!$><!/> rows)`), _tmpl$18 = /* @__PURE__ */ web.template(`<h3 class="text-sm font-semibold text-gray-900 dark:text-white mb-3"><!$><!/><!$><!/>`), _tmpl$19 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/> - <!$><!/> of <!$><!/>`), _tmpl$20 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><span>Showing <!$><!/>–<!$><!/> of <!$><!/></span><div class="flex items-center gap-1"><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">◀ Prev</button><span class=px-2>Page <!$><!/> / <!$><!/></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">Next ▶`), _tmpl$21 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden group"><!$><!/><div class=p-4><!$><!/><div class=overflow-x-auto role=region tabindex=0><table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700 border-separate border-spacing-0"><thead class="bg-gray-50 dark:bg-gray-900/50 sticky top-0 z-10"><tr></tr></thead><!$><!/></table></div><!$><!/><!$><!/>`), _tmpl$22 = /* @__PURE__ */ web.template(`<th scope=col class="px-6 py-3 text-left text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider border-b border-gray-200 dark:border-gray-700 first:pl-6 last:pr-6 bg-gray-50 dark:bg-gray-900/50 cursor-pointer select-none hover:bg-gray-100 dark:hover:bg-gray-800/50 transition-colors"><span class="inline-flex items-center gap-1"><!$><!/><span class="text-[10px] leading-none">`), _tmpl$23 = /* @__PURE__ */ web.template(`<span class="ml-2 text-sm font-medium text-gray-500 dark:text-gray-400">`), _tmpl$24 = /* @__PURE__ */ web.template(`<div class="mt-3 flex items-center"><span><!$><!/> <!$><!/>%`), _tmpl$25 = /* @__PURE__ */ web.template(`<p class="mt-2 text-xs text-gray-500 dark:text-gray-400">`), _tmpl$26 = /* @__PURE__ */ web.template(`<div class="relative w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 p-4 group"><!$><!/><div 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$27 = /* @__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$28 = /* @__PURE__ */ web.template(`<div class="w-full h-full bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 overflow-hidden flex flex-col"><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$29 = /* @__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$30 = /* @__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$31 = /* @__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$32 = /* @__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$33 = /* @__PURE__ */ web.template(`<p class="text-xs text-gray-500 dark:text-gray-400 truncate">`), _tmpl$34 = /* @__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$35 = /* @__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$36 = /* @__PURE__ */ web.template(`<span aria-hidden=true>`), _tmpl$37 = /* @__PURE__ */ web.template(`<a rel="noopener noreferrer"><!$><!/><!$><!/>`), _tmpl$38 = /* @__PURE__ */ web.template(`<span class="animate-spin h-4 w-4 border-2 border-current border-t-transparent rounded-full"aria-hidden=true>`), _tmpl$39 = /* @__PURE__ */ web.template(`<button><!$><!/><!$><!/><!$><!/>`), _tmpl$40 = /* @__PURE__ */ web.template(`<p class="text-xs text-red-600 dark:text-red-400 mt-1">Type: <!$><!/>`), _tmpl$41 = /* @__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$42 = /* @__PURE__ */ web.template(`<p class="text-xs text-red-500 dark:text-red-500 mt-2">`), _tmpl$43 = /* @__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$44 = /* @__PURE__ */ web.template(`<li>`), _tmpl$45 = /* @__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$46 = /* @__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$47 = /* @__PURE__ */ web.template(`<div><div class="grid gap-4"></div><!$><!/>`), _tmpl$48 = /* @__PURE__ */ web.template(`<div>`);
|
|
25
25
|
function CopyButton(props) {
|
|
26
26
|
const [copied, setCopied] = solidJs.createSignal(false);
|
|
27
27
|
const handleCopy = async () => {
|
|
@@ -266,23 +266,68 @@ function renderCellValue(value) {
|
|
|
266
266
|
function TableRenderer(props) {
|
|
267
267
|
const tableParams = props.component.params;
|
|
268
268
|
let scrollContainerRef;
|
|
269
|
+
const allRows = () => tableParams.rows || [];
|
|
270
|
+
const columns = () => tableParams.columns || [];
|
|
271
|
+
const [sortKey, setSortKey] = solidJs.createSignal(null);
|
|
272
|
+
const [sortDir, setSortDir] = solidJs.createSignal(null);
|
|
273
|
+
const handleSort = (key) => {
|
|
274
|
+
if (sortKey() === key) {
|
|
275
|
+
if (sortDir() === "asc") setSortDir("desc");
|
|
276
|
+
else {
|
|
277
|
+
setSortKey(null);
|
|
278
|
+
setSortDir(null);
|
|
279
|
+
}
|
|
280
|
+
} else {
|
|
281
|
+
setSortKey(key);
|
|
282
|
+
setSortDir("asc");
|
|
283
|
+
}
|
|
284
|
+
setClientPage(0);
|
|
285
|
+
};
|
|
286
|
+
const sortedRows = solidJs.createMemo(() => {
|
|
287
|
+
var _a;
|
|
288
|
+
const r = allRows();
|
|
289
|
+
const key = sortKey();
|
|
290
|
+
const dir = sortDir();
|
|
291
|
+
if (!key || !dir) return r;
|
|
292
|
+
const col = columns().find((c) => c.key === key);
|
|
293
|
+
const isNum = (col == null ? void 0 : col.type) === "number" || r.length > 0 && typeof ((_a = r[0]) == null ? void 0 : _a[key]) === "number";
|
|
294
|
+
return [...r].sort((a, b) => {
|
|
295
|
+
const va = a[key], vb = b[key];
|
|
296
|
+
if (va == null && vb == null) return 0;
|
|
297
|
+
if (va == null) return 1;
|
|
298
|
+
if (vb == null) return -1;
|
|
299
|
+
let cmp;
|
|
300
|
+
if (isNum) {
|
|
301
|
+
cmp = (Number(va) || 0) - (Number(vb) || 0);
|
|
302
|
+
} else {
|
|
303
|
+
cmp = String(va).localeCompare(String(vb), "fr", {
|
|
304
|
+
sensitivity: "base"
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
return dir === "desc" ? -cmp : cmp;
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
const sortIndicator = (key) => {
|
|
311
|
+
if (sortKey() !== key) return "↕";
|
|
312
|
+
return sortDir() === "asc" ? "↑" : "↓";
|
|
313
|
+
};
|
|
269
314
|
const clientPageSize = () => tableParams.pageSize ?? 25;
|
|
270
315
|
const hasServerPagination = () => !!tableParams.pagination;
|
|
271
|
-
const
|
|
272
|
-
const needsClientPagination = () => !hasServerPagination() && clientPageSize() > 0 && allRows().length > clientPageSize();
|
|
316
|
+
const needsClientPagination = () => !hasServerPagination() && clientPageSize() > 0 && sortedRows().length > clientPageSize();
|
|
273
317
|
const [clientPage, setClientPage] = solidJs.createSignal(tableParams.initialPage ?? 0);
|
|
274
|
-
const clientTotalPages = () => needsClientPagination() ? Math.ceil(
|
|
318
|
+
const clientTotalPages = () => needsClientPagination() ? Math.ceil(sortedRows().length / clientPageSize()) : 1;
|
|
275
319
|
const clientVisibleRows = solidJs.createMemo(() => {
|
|
276
|
-
if (!needsClientPagination()) return
|
|
320
|
+
if (!needsClientPagination()) return sortedRows();
|
|
277
321
|
const start = clientPage() * clientPageSize();
|
|
278
|
-
return
|
|
322
|
+
return sortedRows().slice(start, start + clientPageSize());
|
|
279
323
|
});
|
|
280
324
|
const clientRangeStart = () => needsClientPagination() ? clientPage() * clientPageSize() + 1 : 1;
|
|
281
|
-
const clientRangeEnd = () => needsClientPagination() ? Math.min((clientPage() + 1) * clientPageSize(),
|
|
325
|
+
const clientRangeEnd = () => needsClientPagination() ? Math.min((clientPage() + 1) * clientPageSize(), sortedRows().length) : sortedRows().length;
|
|
282
326
|
const [virtualizer, setVirtualizer] = solidJs.createSignal(null);
|
|
283
327
|
const [isVirtualizing, setIsVirtualizing] = solidJs.createSignal(false);
|
|
284
328
|
const shouldVirtualize = solidJs.createMemo(() => {
|
|
285
329
|
var _a, _b;
|
|
330
|
+
if (needsClientPagination()) return false;
|
|
286
331
|
const opts = tableParams.virtualize;
|
|
287
332
|
if (opts === false) return false;
|
|
288
333
|
if (opts === true) return true;
|
|
@@ -333,15 +378,15 @@ function TableRenderer(props) {
|
|
|
333
378
|
return String(value);
|
|
334
379
|
};
|
|
335
380
|
const getTableText = () => {
|
|
336
|
-
const
|
|
381
|
+
const columns2 = tableParams.columns || [];
|
|
337
382
|
const rows = tableParams.rows || [];
|
|
338
|
-
const header =
|
|
339
|
-
const dataRows = rows.map((row) =>
|
|
383
|
+
const header = columns2.map((c) => c.label).join(" ");
|
|
384
|
+
const dataRows = rows.map((row) => columns2.map((c) => getCellValue(row, c.key)).join(" ")).join("\n");
|
|
340
385
|
return `${header}
|
|
341
386
|
${dataRows}`;
|
|
342
387
|
};
|
|
343
388
|
const getTableCSV = () => {
|
|
344
|
-
const
|
|
389
|
+
const columns2 = tableParams.columns || [];
|
|
345
390
|
const rows = tableParams.rows || [];
|
|
346
391
|
const escapeCSV = (val) => {
|
|
347
392
|
if (val.includes(",") || val.includes('"') || val.includes("\n")) {
|
|
@@ -349,16 +394,16 @@ ${dataRows}`;
|
|
|
349
394
|
}
|
|
350
395
|
return val;
|
|
351
396
|
};
|
|
352
|
-
const header =
|
|
353
|
-
const dataRows = rows.map((row) =>
|
|
397
|
+
const header = columns2.map((c) => escapeCSV(c.label)).join(",");
|
|
398
|
+
const dataRows = rows.map((row) => columns2.map((c) => escapeCSV(getCellValue(row, c.key))).join(",")).join("\n");
|
|
354
399
|
return `${header}
|
|
355
400
|
${dataRows}`;
|
|
356
401
|
};
|
|
357
402
|
const getTableJSON = () => {
|
|
358
|
-
const
|
|
403
|
+
const columns2 = tableParams.columns || [];
|
|
359
404
|
const rows = tableParams.rows || [];
|
|
360
405
|
return JSON.stringify({
|
|
361
|
-
columns:
|
|
406
|
+
columns: columns2.map((c) => ({
|
|
362
407
|
key: c.key,
|
|
363
408
|
label: c.label
|
|
364
409
|
})),
|
|
@@ -562,11 +607,26 @@ ${dataRows}`;
|
|
|
562
607
|
return tableParams.columns;
|
|
563
608
|
},
|
|
564
609
|
children: (column) => (() => {
|
|
565
|
-
var _el$103 = web.getNextElement(_tmpl$22);
|
|
566
|
-
web.
|
|
567
|
-
web.
|
|
568
|
-
|
|
569
|
-
|
|
610
|
+
var _el$103 = web.getNextElement(_tmpl$22), _el$104 = _el$103.firstChild, _el$106 = _el$104.firstChild, [_el$107, _co$23] = web.getNextMarker(_el$106.nextSibling), _el$105 = _el$107.nextSibling;
|
|
611
|
+
web.addEventListener(_el$103, "click", () => handleSort(column.key));
|
|
612
|
+
web.insert(_el$104, () => column.label, _el$107, _co$23);
|
|
613
|
+
web.insert(_el$105, () => sortIndicator(column.key));
|
|
614
|
+
web.effect((_p$) => {
|
|
615
|
+
var _v$11 = column.width ? {
|
|
616
|
+
width: column.width
|
|
617
|
+
} : {}, _v$12 = `Sort by ${column.label}`, _v$13 = {
|
|
618
|
+
"opacity-30": sortKey() !== column.key,
|
|
619
|
+
"opacity-100 text-blue-600 dark:text-blue-400": sortKey() === column.key
|
|
620
|
+
};
|
|
621
|
+
_p$.e = web.style(_el$103, _v$11, _p$.e);
|
|
622
|
+
_v$12 !== _p$.t && web.setAttribute(_el$103, "title", _p$.t = _v$12);
|
|
623
|
+
_p$.a = web.classList(_el$105, _v$13, _p$.a);
|
|
624
|
+
return _p$;
|
|
625
|
+
}, {
|
|
626
|
+
e: void 0,
|
|
627
|
+
t: void 0,
|
|
628
|
+
a: void 0
|
|
629
|
+
});
|
|
570
630
|
return _el$103;
|
|
571
631
|
})()
|
|
572
632
|
}));
|
|
@@ -646,51 +706,51 @@ function MetricRenderer(props) {
|
|
|
646
706
|
return `${title}: ${value}${unit ? " " + unit : ""}`;
|
|
647
707
|
};
|
|
648
708
|
return (() => {
|
|
649
|
-
var _el$
|
|
650
|
-
web.insert(_el$
|
|
709
|
+
var _el$108 = web.getNextElement(_tmpl$26), _el$130 = _el$108.firstChild, [_el$131, _co$29] = web.getNextMarker(_el$130.nextSibling), _el$109 = _el$131.nextSibling, _el$110 = _el$109.firstChild, _el$111 = _el$110.firstChild, _el$112 = _el$111.nextSibling, _el$113 = _el$112.firstChild, _el$115 = _el$113.nextSibling, [_el$116, _co$24] = web.getNextMarker(_el$115.nextSibling), _el$126 = _el$110.nextSibling, [_el$127, _co$27] = web.getNextMarker(_el$126.nextSibling), _el$128 = _el$127.nextSibling, [_el$129, _co$28] = web.getNextMarker(_el$128.nextSibling);
|
|
710
|
+
web.insert(_el$108, web.createComponent(CopyButton, {
|
|
651
711
|
getText: getMetricText,
|
|
652
712
|
title: "Copy metric",
|
|
653
713
|
position: "top-right"
|
|
654
|
-
}), _el$
|
|
655
|
-
web.insert(_el$
|
|
656
|
-
web.insert(_el$
|
|
657
|
-
web.insert(_el$
|
|
714
|
+
}), _el$131, _co$29);
|
|
715
|
+
web.insert(_el$111, () => metricParams.title);
|
|
716
|
+
web.insert(_el$113, () => metricParams.value);
|
|
717
|
+
web.insert(_el$112, web.createComponent(solidJs.Show, {
|
|
658
718
|
get when() {
|
|
659
719
|
return metricParams.unit;
|
|
660
720
|
},
|
|
661
721
|
get children() {
|
|
662
|
-
var _el$
|
|
663
|
-
web.insert(_el$
|
|
664
|
-
return _el$
|
|
722
|
+
var _el$114 = web.getNextElement(_tmpl$23);
|
|
723
|
+
web.insert(_el$114, () => metricParams.unit);
|
|
724
|
+
return _el$114;
|
|
665
725
|
}
|
|
666
|
-
}), _el$
|
|
667
|
-
web.insert(_el$
|
|
726
|
+
}), _el$116, _co$24);
|
|
727
|
+
web.insert(_el$109, web.createComponent(solidJs.Show, {
|
|
668
728
|
get when() {
|
|
669
729
|
return metricParams.trend;
|
|
670
730
|
},
|
|
671
731
|
get children() {
|
|
672
|
-
var _el$
|
|
673
|
-
_el$
|
|
674
|
-
web.insert(_el$
|
|
732
|
+
var _el$117 = web.getNextElement(_tmpl$24), _el$118 = _el$117.firstChild, _el$121 = _el$118.firstChild, [_el$122, _co$25] = web.getNextMarker(_el$121.nextSibling), _el$119 = _el$122.nextSibling, _el$123 = _el$119.nextSibling, [_el$124, _co$26] = web.getNextMarker(_el$123.nextSibling);
|
|
733
|
+
_el$124.nextSibling;
|
|
734
|
+
web.insert(_el$118, (() => {
|
|
675
735
|
var _c$ = web.memo(() => metricParams.trend.direction === "up");
|
|
676
736
|
return () => _c$() ? "�" : metricParams.trend.direction === "down" ? "�" : "�";
|
|
677
|
-
})(), _el$
|
|
678
|
-
web.insert(_el$
|
|
679
|
-
web.effect(() => web.className(_el$
|
|
680
|
-
return _el$
|
|
737
|
+
})(), _el$122, _co$25);
|
|
738
|
+
web.insert(_el$118, () => Math.abs(metricParams.trend.value), _el$124, _co$26);
|
|
739
|
+
web.effect(() => web.className(_el$118, `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"}`));
|
|
740
|
+
return _el$117;
|
|
681
741
|
}
|
|
682
|
-
}), _el$
|
|
683
|
-
web.insert(_el$
|
|
742
|
+
}), _el$127, _co$27);
|
|
743
|
+
web.insert(_el$109, web.createComponent(solidJs.Show, {
|
|
684
744
|
get when() {
|
|
685
745
|
return metricParams.subtitle;
|
|
686
746
|
},
|
|
687
747
|
get children() {
|
|
688
|
-
var _el$
|
|
689
|
-
web.insert(_el$
|
|
690
|
-
return _el$
|
|
748
|
+
var _el$125 = web.getNextElement(_tmpl$25);
|
|
749
|
+
web.insert(_el$125, () => metricParams.subtitle);
|
|
750
|
+
return _el$125;
|
|
691
751
|
}
|
|
692
|
-
}), _el$
|
|
693
|
-
return _el$
|
|
752
|
+
}), _el$129, _co$28);
|
|
753
|
+
return _el$108;
|
|
694
754
|
})();
|
|
695
755
|
}
|
|
696
756
|
function extractImageFromMarkdown(content) {
|
|
@@ -731,62 +791,62 @@ function TextRenderer(props) {
|
|
|
731
791
|
},
|
|
732
792
|
get fallback() {
|
|
733
793
|
return (() => {
|
|
734
|
-
var _el$
|
|
735
|
-
web.insert(_el$
|
|
794
|
+
var _el$132 = web.getNextElement(_tmpl$27), _el$134 = _el$132.firstChild, [_el$135, _co$30] = web.getNextMarker(_el$134.nextSibling), _el$133 = _el$135.nextSibling;
|
|
795
|
+
web.insert(_el$132, web.createComponent(CopyButton, {
|
|
736
796
|
getText: getTextContent,
|
|
737
797
|
title: "Copy text",
|
|
738
798
|
position: "top-right"
|
|
739
|
-
}), _el$
|
|
799
|
+
}), _el$135, _co$30);
|
|
740
800
|
web.effect((_p$) => {
|
|
741
|
-
var _v$
|
|
742
|
-
_v$
|
|
743
|
-
_v$
|
|
801
|
+
var _v$14 = `prose prose-sm dark:prose-invert max-w-none ${textParams.className || ""}`, _v$15 = htmlContent();
|
|
802
|
+
_v$14 !== _p$.e && web.className(_el$133, _p$.e = _v$14);
|
|
803
|
+
_v$15 !== _p$.t && web.setProperty(_el$133, "innerHTML", _p$.t = _v$15);
|
|
744
804
|
return _p$;
|
|
745
805
|
}, {
|
|
746
806
|
e: void 0,
|
|
747
807
|
t: void 0
|
|
748
808
|
});
|
|
749
|
-
return _el$
|
|
809
|
+
return _el$132;
|
|
750
810
|
})();
|
|
751
811
|
},
|
|
752
812
|
children: (data) => (() => {
|
|
753
|
-
var _el$
|
|
754
|
-
web.insert(_el$
|
|
813
|
+
var _el$136 = web.getNextElement(_tmpl$28), _el$137 = _el$136.firstChild, _el$138 = _el$137.firstChild, _el$139 = _el$138.firstChild, _el$140 = _el$137.nextSibling, _el$141 = _el$140.firstChild;
|
|
814
|
+
web.insert(_el$141, () => data().credit);
|
|
755
815
|
web.effect((_p$) => {
|
|
756
|
-
var _v$
|
|
757
|
-
_v$
|
|
758
|
-
_v$
|
|
759
|
-
_v$
|
|
816
|
+
var _v$16 = data().linkUrl, _v$17 = data().imageUrl, _v$18 = data().alt;
|
|
817
|
+
_v$16 !== _p$.e && web.setAttribute(_el$138, "href", _p$.e = _v$16);
|
|
818
|
+
_v$17 !== _p$.t && web.setAttribute(_el$139, "src", _p$.t = _v$17);
|
|
819
|
+
_v$18 !== _p$.a && web.setAttribute(_el$139, "alt", _p$.a = _v$18);
|
|
760
820
|
return _p$;
|
|
761
821
|
}, {
|
|
762
822
|
e: void 0,
|
|
763
823
|
t: void 0,
|
|
764
824
|
a: void 0
|
|
765
825
|
});
|
|
766
|
-
return _el$
|
|
826
|
+
return _el$136;
|
|
767
827
|
})()
|
|
768
828
|
});
|
|
769
829
|
}
|
|
770
830
|
function IframeRenderer(props) {
|
|
771
831
|
const params = props.component.params;
|
|
772
832
|
return (() => {
|
|
773
|
-
var _el$
|
|
774
|
-
web.insert(_el$
|
|
833
|
+
var _el$142 = web.getNextElement(_tmpl$30), _el$146 = _el$142.firstChild, [_el$147, _co$31] = web.getNextMarker(_el$146.nextSibling), _el$145 = _el$147.nextSibling;
|
|
834
|
+
web.insert(_el$142, web.createComponent(solidJs.Show, {
|
|
775
835
|
get when() {
|
|
776
836
|
return params.title;
|
|
777
837
|
},
|
|
778
838
|
get children() {
|
|
779
|
-
var _el$
|
|
780
|
-
web.insert(_el$
|
|
781
|
-
return _el$
|
|
839
|
+
var _el$143 = web.getNextElement(_tmpl$29), _el$144 = _el$143.firstChild;
|
|
840
|
+
web.insert(_el$144, () => params.title);
|
|
841
|
+
return _el$143;
|
|
782
842
|
}
|
|
783
|
-
}), _el$
|
|
843
|
+
}), _el$147, _co$31);
|
|
784
844
|
web.effect((_p$) => {
|
|
785
|
-
var _v$
|
|
786
|
-
_v$
|
|
787
|
-
_v$
|
|
788
|
-
_p$.a = web.style(_el$
|
|
789
|
-
_v$
|
|
845
|
+
var _v$19 = params.url, _v$20 = params.title || "Embedded content", _v$21 = `height: ${params.height || "400px"}; min-height: 300px;`, _v$22 = validation.getIframeSandbox(params.url);
|
|
846
|
+
_v$19 !== _p$.e && web.setAttribute(_el$145, "src", _p$.e = _v$19);
|
|
847
|
+
_v$20 !== _p$.t && web.setAttribute(_el$145, "title", _p$.t = _v$20);
|
|
848
|
+
_p$.a = web.style(_el$145, _v$21, _p$.a);
|
|
849
|
+
_v$22 !== _p$.o && web.setAttribute(_el$145, "sandbox", _p$.o = _v$22);
|
|
790
850
|
return _p$;
|
|
791
851
|
}, {
|
|
792
852
|
e: void 0,
|
|
@@ -794,30 +854,30 @@ function IframeRenderer(props) {
|
|
|
794
854
|
a: void 0,
|
|
795
855
|
o: void 0
|
|
796
856
|
});
|
|
797
|
-
return _el$
|
|
857
|
+
return _el$142;
|
|
798
858
|
})();
|
|
799
859
|
}
|
|
800
860
|
function ImageRenderer(props) {
|
|
801
861
|
const params = props.component.params;
|
|
802
862
|
return (() => {
|
|
803
|
-
var _el$
|
|
804
|
-
web.insert(_el$
|
|
863
|
+
var _el$148 = web.getNextElement(_tmpl$32), _el$149 = _el$148.firstChild, _el$150 = _el$149.firstChild, _el$151 = _el$150.firstChild, _el$154 = _el$149.nextSibling, [_el$155, _co$32] = web.getNextMarker(_el$154.nextSibling);
|
|
864
|
+
web.insert(_el$148, web.createComponent(solidJs.Show, {
|
|
805
865
|
get when() {
|
|
806
866
|
return params.caption;
|
|
807
867
|
},
|
|
808
868
|
get children() {
|
|
809
|
-
var _el$
|
|
810
|
-
web.insert(_el$
|
|
811
|
-
return _el$
|
|
869
|
+
var _el$152 = web.getNextElement(_tmpl$31), _el$153 = _el$152.firstChild;
|
|
870
|
+
web.insert(_el$153, () => params.caption);
|
|
871
|
+
return _el$152;
|
|
812
872
|
}
|
|
813
|
-
}), _el$
|
|
873
|
+
}), _el$155, _co$32);
|
|
814
874
|
web.effect((_p$) => {
|
|
815
|
-
var _v$
|
|
816
|
-
_v$
|
|
817
|
-
_v$
|
|
818
|
-
_v$
|
|
819
|
-
_v$
|
|
820
|
-
_v$
|
|
875
|
+
var _v$23 = `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$24 = params.url, _v$25 = `View full size: ${params.alt || "image"}`, _v$26 = params.url, _v$27 = params.alt || "Image";
|
|
876
|
+
_v$23 !== _p$.e && web.className(_el$148, _p$.e = _v$23);
|
|
877
|
+
_v$24 !== _p$.t && web.setAttribute(_el$150, "href", _p$.t = _v$24);
|
|
878
|
+
_v$25 !== _p$.a && web.setAttribute(_el$150, "aria-label", _p$.a = _v$25);
|
|
879
|
+
_v$26 !== _p$.o && web.setAttribute(_el$151, "src", _p$.o = _v$26);
|
|
880
|
+
_v$27 !== _p$.i && web.setAttribute(_el$151, "alt", _p$.i = _v$27);
|
|
821
881
|
return _p$;
|
|
822
882
|
}, {
|
|
823
883
|
e: void 0,
|
|
@@ -826,30 +886,30 @@ function ImageRenderer(props) {
|
|
|
826
886
|
o: void 0,
|
|
827
887
|
i: void 0
|
|
828
888
|
});
|
|
829
|
-
return _el$
|
|
889
|
+
return _el$148;
|
|
830
890
|
})();
|
|
831
891
|
}
|
|
832
892
|
function LinkRenderer(props) {
|
|
833
893
|
const params = props.component.params;
|
|
834
894
|
return (() => {
|
|
835
|
-
var _el$
|
|
836
|
-
_el$
|
|
837
|
-
web.insert(_el$
|
|
838
|
-
web.insert(_el$
|
|
895
|
+
var _el$156 = web.getNextElement(_tmpl$34), _el$157 = _el$156.firstChild, _el$158 = _el$157.nextSibling, _el$159 = _el$158.firstChild, _el$161 = _el$159.nextSibling, [_el$162, _co$33] = web.getNextMarker(_el$161.nextSibling);
|
|
896
|
+
_el$156.$$click = (e) => e.stopPropagation();
|
|
897
|
+
web.insert(_el$159, () => params.label || params.url);
|
|
898
|
+
web.insert(_el$158, web.createComponent(solidJs.Show, {
|
|
839
899
|
get when() {
|
|
840
900
|
return params.description;
|
|
841
901
|
},
|
|
842
902
|
get children() {
|
|
843
|
-
var _el$
|
|
844
|
-
web.insert(_el$
|
|
845
|
-
return _el$
|
|
903
|
+
var _el$160 = web.getNextElement(_tmpl$33);
|
|
904
|
+
web.insert(_el$160, () => params.description);
|
|
905
|
+
return _el$160;
|
|
846
906
|
}
|
|
847
|
-
}), _el$
|
|
907
|
+
}), _el$162, _co$33);
|
|
848
908
|
web.effect((_p$) => {
|
|
849
|
-
var _v$
|
|
850
|
-
_v$
|
|
851
|
-
_v$
|
|
852
|
-
_v$
|
|
909
|
+
var _v$28 = params.url, _v$29 = `${params.label || "Link"}: ${params.description || params.url} (opens in new tab)`, _v$30 = `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 || ""}`;
|
|
910
|
+
_v$28 !== _p$.e && web.setAttribute(_el$156, "href", _p$.e = _v$28);
|
|
911
|
+
_v$29 !== _p$.t && web.setAttribute(_el$156, "aria-label", _p$.t = _v$29);
|
|
912
|
+
_v$30 !== _p$.a && web.className(_el$156, _p$.a = _v$30);
|
|
853
913
|
return _p$;
|
|
854
914
|
}, {
|
|
855
915
|
e: void 0,
|
|
@@ -857,7 +917,7 @@ function LinkRenderer(props) {
|
|
|
857
917
|
a: void 0
|
|
858
918
|
});
|
|
859
919
|
web.runHydrationEvents();
|
|
860
|
-
return _el$
|
|
920
|
+
return _el$156;
|
|
861
921
|
})();
|
|
862
922
|
}
|
|
863
923
|
function ComponentRenderer(props) {
|
|
@@ -871,12 +931,12 @@ function ComponentRenderer(props) {
|
|
|
871
931
|
details: validation$1.errors
|
|
872
932
|
});
|
|
873
933
|
return (() => {
|
|
874
|
-
var _el$
|
|
875
|
-
web.insert(_el$
|
|
934
|
+
var _el$163 = web.getNextElement(_tmpl$35), _el$164 = _el$163.firstChild, _el$165 = _el$164.nextSibling;
|
|
935
|
+
web.insert(_el$165, () => {
|
|
876
936
|
var _a2, _b;
|
|
877
937
|
return ((_b = (_a2 = validation$1.errors) == null ? void 0 : _a2[0]) == null ? void 0 : _b.message) || "Unknown validation error";
|
|
878
938
|
});
|
|
879
|
-
return _el$
|
|
939
|
+
return _el$163;
|
|
880
940
|
})();
|
|
881
941
|
}
|
|
882
942
|
return web.createComponent(GenerativeUIErrorBoundary.GenerativeUIErrorBoundary, {
|
|
@@ -1122,27 +1182,27 @@ function ActionRenderer(props) {
|
|
|
1122
1182
|
const isDisabled = () => params.disabled || params.action === "tool-call" && isExecuting();
|
|
1123
1183
|
if (params.type === "link" || params.action === "link") {
|
|
1124
1184
|
return (() => {
|
|
1125
|
-
var _el$
|
|
1126
|
-
_el$
|
|
1127
|
-
web.insert(_el$
|
|
1185
|
+
var _el$166 = web.getNextElement(_tmpl$37), _el$168 = _el$166.firstChild, [_el$169, _co$34] = web.getNextMarker(_el$168.nextSibling), _el$170 = _el$169.nextSibling, [_el$171, _co$35] = web.getNextMarker(_el$170.nextSibling);
|
|
1186
|
+
_el$166.$$click = handleClick;
|
|
1187
|
+
web.insert(_el$166, web.createComponent(solidJs.Show, {
|
|
1128
1188
|
get when() {
|
|
1129
1189
|
return params.icon;
|
|
1130
1190
|
},
|
|
1131
1191
|
get children() {
|
|
1132
|
-
var _el$
|
|
1133
|
-
web.insert(_el$
|
|
1134
|
-
return _el$
|
|
1192
|
+
var _el$167 = web.getNextElement(_tmpl$36);
|
|
1193
|
+
web.insert(_el$167, () => params.icon);
|
|
1194
|
+
return _el$167;
|
|
1135
1195
|
}
|
|
1136
|
-
}), _el$
|
|
1137
|
-
web.insert(_el$
|
|
1196
|
+
}), _el$169, _co$34);
|
|
1197
|
+
web.insert(_el$166, () => params.label, _el$171, _co$35);
|
|
1138
1198
|
web.effect((_p$) => {
|
|
1139
|
-
var _v$
|
|
1199
|
+
var _v$31 = params.url || "#", _v$32 = params.url ? "_blank" : void 0, _v$33 = params.ariaLabel || params.label, _v$34 = `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
|
|
1140
1200
|
${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"}
|
|
1141
1201
|
${params.className || ""}`;
|
|
1142
|
-
_v$
|
|
1143
|
-
_v$
|
|
1144
|
-
_v$
|
|
1145
|
-
_v$
|
|
1202
|
+
_v$31 !== _p$.e && web.setAttribute(_el$166, "href", _p$.e = _v$31);
|
|
1203
|
+
_v$32 !== _p$.t && web.setAttribute(_el$166, "target", _p$.t = _v$32);
|
|
1204
|
+
_v$33 !== _p$.a && web.setAttribute(_el$166, "aria-label", _p$.a = _v$33);
|
|
1205
|
+
_v$34 !== _p$.o && web.className(_el$166, _p$.o = _v$34);
|
|
1146
1206
|
return _p$;
|
|
1147
1207
|
}, {
|
|
1148
1208
|
e: void 0,
|
|
@@ -1151,42 +1211,42 @@ function ActionRenderer(props) {
|
|
|
1151
1211
|
o: void 0
|
|
1152
1212
|
});
|
|
1153
1213
|
web.runHydrationEvents();
|
|
1154
|
-
return _el$
|
|
1214
|
+
return _el$166;
|
|
1155
1215
|
})();
|
|
1156
1216
|
}
|
|
1157
1217
|
return (() => {
|
|
1158
|
-
var _el$
|
|
1159
|
-
_el$
|
|
1160
|
-
web.insert(_el$
|
|
1218
|
+
var _el$172 = web.getNextElement(_tmpl$39), _el$175 = _el$172.firstChild, [_el$176, _co$36] = web.getNextMarker(_el$175.nextSibling), _el$177 = _el$176.nextSibling, [_el$178, _co$37] = web.getNextMarker(_el$177.nextSibling), _el$179 = _el$178.nextSibling, [_el$180, _co$38] = web.getNextMarker(_el$179.nextSibling);
|
|
1219
|
+
_el$172.$$click = handleClick;
|
|
1220
|
+
web.insert(_el$172, web.createComponent(solidJs.Show, {
|
|
1161
1221
|
get when() {
|
|
1162
1222
|
return web.memo(() => !!isExecuting())() && params.action === "tool-call";
|
|
1163
1223
|
},
|
|
1164
1224
|
get children() {
|
|
1165
1225
|
return web.getNextElement(_tmpl$38);
|
|
1166
1226
|
}
|
|
1167
|
-
}), _el$
|
|
1168
|
-
web.insert(_el$
|
|
1227
|
+
}), _el$176, _co$36);
|
|
1228
|
+
web.insert(_el$172, web.createComponent(solidJs.Show, {
|
|
1169
1229
|
get when() {
|
|
1170
1230
|
return web.memo(() => !!params.icon)() && !(isExecuting() && params.action === "tool-call");
|
|
1171
1231
|
},
|
|
1172
1232
|
get children() {
|
|
1173
|
-
var _el$
|
|
1174
|
-
web.insert(_el$
|
|
1175
|
-
return _el$
|
|
1233
|
+
var _el$174 = web.getNextElement(_tmpl$36);
|
|
1234
|
+
web.insert(_el$174, () => params.icon);
|
|
1235
|
+
return _el$174;
|
|
1176
1236
|
}
|
|
1177
|
-
}), _el$
|
|
1178
|
-
web.insert(_el$
|
|
1237
|
+
}), _el$178, _co$37);
|
|
1238
|
+
web.insert(_el$172, () => params.label, _el$180, _co$38);
|
|
1179
1239
|
web.effect((_p$) => {
|
|
1180
|
-
var _v$
|
|
1240
|
+
var _v$35 = params.action === "submit" ? "submit" : "button", _v$36 = isDisabled(), _v$37 = isExecuting() && params.action === "tool-call", _v$38 = params.ariaLabel || params.label, _v$39 = `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
|
|
1181
1241
|
${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"}
|
|
1182
1242
|
${isDisabled() ? "opacity-50 cursor-not-allowed" : ""}
|
|
1183
1243
|
${params.size === "sm" ? "px-3 py-1.5 text-xs" : params.size === "lg" ? "px-6 py-3 text-base" : ""}
|
|
1184
1244
|
${params.className || ""}`;
|
|
1185
|
-
_v$
|
|
1186
|
-
_v$
|
|
1187
|
-
_v$
|
|
1188
|
-
_v$
|
|
1189
|
-
_v$
|
|
1245
|
+
_v$35 !== _p$.e && web.setAttribute(_el$172, "type", _p$.e = _v$35);
|
|
1246
|
+
_v$36 !== _p$.t && web.setProperty(_el$172, "disabled", _p$.t = _v$36);
|
|
1247
|
+
_v$37 !== _p$.a && web.setAttribute(_el$172, "aria-busy", _p$.a = _v$37);
|
|
1248
|
+
_v$38 !== _p$.o && web.setAttribute(_el$172, "aria-label", _p$.o = _v$38);
|
|
1249
|
+
_v$39 !== _p$.i && web.className(_el$172, _p$.i = _v$39);
|
|
1190
1250
|
return _p$;
|
|
1191
1251
|
}, {
|
|
1192
1252
|
e: void 0,
|
|
@@ -1196,7 +1256,7 @@ function ActionRenderer(props) {
|
|
|
1196
1256
|
i: void 0
|
|
1197
1257
|
});
|
|
1198
1258
|
web.runHydrationEvents();
|
|
1199
|
-
return _el$
|
|
1259
|
+
return _el$172;
|
|
1200
1260
|
})();
|
|
1201
1261
|
}
|
|
1202
1262
|
function ErrorCardRenderer(props) {
|
|
@@ -1204,55 +1264,55 @@ function ErrorCardRenderer(props) {
|
|
|
1204
1264
|
return `Error in ${props.error.tool || "unknown tool"}: ${props.error.message || "Unknown error"}`;
|
|
1205
1265
|
};
|
|
1206
1266
|
return (() => {
|
|
1207
|
-
var _el$
|
|
1208
|
-
web.insert(_el$
|
|
1267
|
+
var _el$181 = web.getNextElement(_tmpl$43), _el$204 = _el$181.firstChild, [_el$205, _co$44] = web.getNextMarker(_el$204.nextSibling), _el$182 = _el$205.nextSibling, _el$183 = _el$182.firstChild, _el$184 = _el$183.nextSibling, _el$185 = _el$184.firstChild, _el$186 = _el$185.firstChild, _el$187 = _el$186.nextSibling, [_el$188, _co$39] = web.getNextMarker(_el$187.nextSibling), _el$189 = _el$185.nextSibling, _el$198 = _el$189.nextSibling, [_el$199, _co$41] = web.getNextMarker(_el$198.nextSibling), _el$200 = _el$199.nextSibling, [_el$201, _co$42] = web.getNextMarker(_el$200.nextSibling), _el$202 = _el$201.nextSibling, [_el$203, _co$43] = web.getNextMarker(_el$202.nextSibling);
|
|
1268
|
+
web.insert(_el$181, web.createComponent(CopyButton, {
|
|
1209
1269
|
getText: getErrorText,
|
|
1210
1270
|
title: "Copy error details",
|
|
1211
1271
|
position: "top-right"
|
|
1212
|
-
}), _el$
|
|
1213
|
-
web.insert(_el$
|
|
1214
|
-
web.insert(_el$
|
|
1215
|
-
web.insert(_el$
|
|
1272
|
+
}), _el$205, _co$44);
|
|
1273
|
+
web.insert(_el$185, () => props.error.tool || "Unknown", _el$188, _co$39);
|
|
1274
|
+
web.insert(_el$189, () => props.error.message || "An error occurred during tool execution");
|
|
1275
|
+
web.insert(_el$184, web.createComponent(solidJs.Show, {
|
|
1216
1276
|
get when() {
|
|
1217
1277
|
return props.error.type;
|
|
1218
1278
|
},
|
|
1219
1279
|
get children() {
|
|
1220
|
-
var _el$
|
|
1221
|
-
web.insert(_el$
|
|
1222
|
-
return _el$
|
|
1280
|
+
var _el$190 = web.getNextElement(_tmpl$40), _el$191 = _el$190.firstChild, _el$192 = _el$191.nextSibling, [_el$193, _co$40] = web.getNextMarker(_el$192.nextSibling);
|
|
1281
|
+
web.insert(_el$190, () => props.error.type, _el$193, _co$40);
|
|
1282
|
+
return _el$190;
|
|
1223
1283
|
}
|
|
1224
|
-
}), _el$
|
|
1225
|
-
web.insert(_el$
|
|
1284
|
+
}), _el$199, _co$41);
|
|
1285
|
+
web.insert(_el$184, web.createComponent(solidJs.Show, {
|
|
1226
1286
|
get when() {
|
|
1227
1287
|
var _a;
|
|
1228
1288
|
return (_a = props.error.suggestions) == null ? void 0 : _a.length;
|
|
1229
1289
|
},
|
|
1230
1290
|
get children() {
|
|
1231
|
-
var _el$
|
|
1232
|
-
web.insert(_el$
|
|
1291
|
+
var _el$194 = web.getNextElement(_tmpl$41), _el$195 = _el$194.firstChild, _el$196 = _el$195.nextSibling;
|
|
1292
|
+
web.insert(_el$196, web.createComponent(solidJs.For, {
|
|
1233
1293
|
get each() {
|
|
1234
1294
|
return props.error.suggestions;
|
|
1235
1295
|
},
|
|
1236
1296
|
children: (suggestion) => (() => {
|
|
1237
|
-
var _el$
|
|
1238
|
-
web.insert(_el$
|
|
1239
|
-
return _el$
|
|
1297
|
+
var _el$206 = web.getNextElement(_tmpl$44);
|
|
1298
|
+
web.insert(_el$206, suggestion);
|
|
1299
|
+
return _el$206;
|
|
1240
1300
|
})()
|
|
1241
1301
|
}));
|
|
1242
|
-
return _el$
|
|
1302
|
+
return _el$194;
|
|
1243
1303
|
}
|
|
1244
|
-
}), _el$
|
|
1245
|
-
web.insert(_el$
|
|
1304
|
+
}), _el$201, _co$42);
|
|
1305
|
+
web.insert(_el$184, web.createComponent(solidJs.Show, {
|
|
1246
1306
|
get when() {
|
|
1247
1307
|
return props.error.timestamp;
|
|
1248
1308
|
},
|
|
1249
1309
|
get children() {
|
|
1250
|
-
var _el$
|
|
1251
|
-
web.insert(_el$
|
|
1252
|
-
return _el$
|
|
1310
|
+
var _el$197 = web.getNextElement(_tmpl$42);
|
|
1311
|
+
web.insert(_el$197, () => new Date(props.error.timestamp).toLocaleString());
|
|
1312
|
+
return _el$197;
|
|
1253
1313
|
}
|
|
1254
|
-
}), _el$
|
|
1255
|
-
return _el$
|
|
1314
|
+
}), _el$203, _co$43);
|
|
1315
|
+
return _el$181;
|
|
1256
1316
|
})();
|
|
1257
1317
|
}
|
|
1258
1318
|
function isErrorResponse(content) {
|
|
@@ -1275,20 +1335,20 @@ function UIResourceHtmlRenderer(props) {
|
|
|
1275
1335
|
return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || ((_b = props.resource.uri) == null ? void 0 : _b.replace("ui://deposium/", "")) || "Resource";
|
|
1276
1336
|
};
|
|
1277
1337
|
return (() => {
|
|
1278
|
-
var _el$
|
|
1279
|
-
web.insert(_el$
|
|
1338
|
+
var _el$207 = web.getNextElement(_tmpl$46), _el$211 = _el$207.firstChild, [_el$212, _co$45] = web.getNextMarker(_el$211.nextSibling), _el$210 = _el$212.nextSibling;
|
|
1339
|
+
web.insert(_el$207, web.createComponent(solidJs.Show, {
|
|
1280
1340
|
get when() {
|
|
1281
1341
|
var _a;
|
|
1282
1342
|
return ((_a = props.resource.metadata) == null ? void 0 : _a.title) || props.resource.uri;
|
|
1283
1343
|
},
|
|
1284
1344
|
get children() {
|
|
1285
|
-
var _el$
|
|
1286
|
-
web.insert(_el$
|
|
1287
|
-
return _el$
|
|
1345
|
+
var _el$208 = web.getNextElement(_tmpl$45), _el$209 = _el$208.firstChild;
|
|
1346
|
+
web.insert(_el$209, resourceTitle);
|
|
1347
|
+
return _el$208;
|
|
1288
1348
|
}
|
|
1289
|
-
}), _el$
|
|
1290
|
-
web.effect(() => web.setProperty(_el$
|
|
1291
|
-
return _el$
|
|
1349
|
+
}), _el$212, _co$45);
|
|
1350
|
+
web.effect(() => web.setProperty(_el$210, "innerHTML", htmlContent()));
|
|
1351
|
+
return _el$207;
|
|
1292
1352
|
})();
|
|
1293
1353
|
}
|
|
1294
1354
|
const UIResourceRenderer = (props) => {
|
|
@@ -1368,24 +1428,24 @@ const UIResourceRenderer = (props) => {
|
|
|
1368
1428
|
return web.createComponent(RenderContext.RenderProvider, {
|
|
1369
1429
|
renderComponent,
|
|
1370
1430
|
get children() {
|
|
1371
|
-
var _el$
|
|
1372
|
-
web.insert(_el$
|
|
1431
|
+
var _el$213 = web.getNextElement(_tmpl$47), _el$214 = _el$213.firstChild, _el$215 = _el$214.nextSibling, [_el$216, _co$46] = web.getNextMarker(_el$215.nextSibling);
|
|
1432
|
+
web.insert(_el$214, web.createComponent(solidJs.For, {
|
|
1373
1433
|
get each() {
|
|
1374
1434
|
return layoutData.components;
|
|
1375
1435
|
},
|
|
1376
1436
|
children: (component) => (() => {
|
|
1377
|
-
var _el$
|
|
1378
|
-
web.insert(_el$
|
|
1437
|
+
var _el$217 = web.getNextElement(_tmpl$48);
|
|
1438
|
+
web.insert(_el$217, web.createComponent(ComponentRenderer, {
|
|
1379
1439
|
component,
|
|
1380
1440
|
get onError() {
|
|
1381
1441
|
return props.onError;
|
|
1382
1442
|
}
|
|
1383
1443
|
}));
|
|
1384
|
-
web.effect((_$p) => web.style(_el$
|
|
1385
|
-
return _el$
|
|
1444
|
+
web.effect((_$p) => web.style(_el$217, getGridStyleString(component), _$p));
|
|
1445
|
+
return _el$217;
|
|
1386
1446
|
})()
|
|
1387
1447
|
}));
|
|
1388
|
-
web.insert(_el$
|
|
1448
|
+
web.insert(_el$213, web.createComponent(solidJs.Show, {
|
|
1389
1449
|
get when() {
|
|
1390
1450
|
return shouldShowAutoFooter();
|
|
1391
1451
|
},
|
|
@@ -1396,17 +1456,17 @@ const UIResourceRenderer = (props) => {
|
|
|
1396
1456
|
}
|
|
1397
1457
|
});
|
|
1398
1458
|
}
|
|
1399
|
-
}), _el$
|
|
1459
|
+
}), _el$216, _co$46);
|
|
1400
1460
|
web.effect((_p$) => {
|
|
1401
|
-
var _v$
|
|
1402
|
-
_v$
|
|
1403
|
-
_p$.t = web.style(_el$
|
|
1461
|
+
var _v$40 = `w-full ${props.class || ""}`, _v$41 = gridContainerStyle();
|
|
1462
|
+
_v$40 !== _p$.e && web.className(_el$213, _p$.e = _v$40);
|
|
1463
|
+
_p$.t = web.style(_el$214, _v$41, _p$.t);
|
|
1404
1464
|
return _p$;
|
|
1405
1465
|
}, {
|
|
1406
1466
|
e: void 0,
|
|
1407
1467
|
t: void 0
|
|
1408
1468
|
});
|
|
1409
|
-
return _el$
|
|
1469
|
+
return _el$213;
|
|
1410
1470
|
}
|
|
1411
1471
|
});
|
|
1412
1472
|
};
|