@seed-ship/mcp-ui-solid 4.2.1 → 4.3.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 +64 -0
- package/README.md +43 -0
- package/dist/components/FormFieldRenderer.cjs +132 -52
- package/dist/components/FormFieldRenderer.cjs.map +1 -1
- package/dist/components/FormFieldRenderer.js +133 -53
- package/dist/components/FormFieldRenderer.js.map +1 -1
- package/dist/components/FormRenderer.cjs +25 -6
- package/dist/components/FormRenderer.cjs.map +1 -1
- package/dist/components/FormRenderer.d.ts.map +1 -1
- package/dist/components/FormRenderer.js +25 -6
- package/dist/components/FormRenderer.js.map +1 -1
- package/dist/components/ScratchpadPanel.cjs +329 -276
- package/dist/components/ScratchpadPanel.cjs.map +1 -1
- package/dist/components/ScratchpadPanel.js +329 -276
- package/dist/components/ScratchpadPanel.js.map +1 -1
- package/dist/services/validation.cjs +8 -0
- package/dist/services/validation.cjs.map +1 -1
- package/dist/services/validation.d.ts.map +1 -1
- package/dist/services/validation.js +8 -0
- package/dist/services/validation.js.map +1 -1
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types.d.cts +8 -0
- package/dist/types.d.ts +8 -0
- package/package.json +1 -1
- package/src/components/FormFieldRenderer.tsx +89 -2
- package/src/components/FormRenderer.tsx +12 -0
- package/src/components/ScratchpadPanel.tsx +35 -0
- package/src/services/validation.ts +10 -0
- package/src/types/index.ts +8 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -11,7 +11,7 @@ import { AgentHandoff } from "./AgentHandoff.js";
|
|
|
11
11
|
import { BriefingDiff } from "./BriefingDiff.js";
|
|
12
12
|
var _tmpl$ = /* @__PURE__ */ template(`<svg fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7">`), _tmpl$2 = /* @__PURE__ */ template(`<button class="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"aria-label=Close><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">`), _tmpl$3 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5">`), _tmpl$4 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$5 = /* @__PURE__ */ template(`<div class="flex flex-col items-center gap-2 py-4 text-center"><span class=text-2xl>🔍</span><p class="text-sm text-gray-500 dark:text-gray-400">No results for these filters</p><button type=button class="px-3 py-1.5 text-xs font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors">Modify filters`), _tmpl$6 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700">`), _tmpl$7 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-0.5">Code: <!$><!/>`), _tmpl$8 = /* @__PURE__ */ template(`<button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg bg-red-600 text-white hover:bg-red-700 transition-colors flex items-center gap-1">🔄 Retry`), _tmpl$9 = /* @__PURE__ */ template(`<button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">Close`), _tmpl$0 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-red-100 dark:border-red-900/30 bg-red-50 dark:bg-red-900/10"><div class="flex items-start gap-2 text-sm text-red-700 dark:text-red-400"><span class="flex-shrink-0 mt-0.5">⚠️</span><div class=flex-1><p class=font-medium></p><!$><!/></div></div><div class="flex gap-2 mt-2"><!$><!/><!$><!/>`), _tmpl$1 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700"><button type=button class="w-full px-4 py-2.5 text-sm font-semibold rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors flex items-center justify-center gap-2"><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>Search`), _tmpl$10 = /* @__PURE__ */ template(`<div style=overflow-y:auto><!$><!/><div class="divide-y divide-gray-100 dark:divide-gray-700"></div><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<div class="absolute bottom-1 right-1 px-2 py-1 text-[9px] font-mono bg-black/80 text-green-400 rounded z-50 pointer-events-none"><!$><!/> | ev:<!$><!/> | sec:<!$><!/> | <!$><!/> | last:<!$><!/>`), _tmpl$12 = /* @__PURE__ */ template(`<div style="animation:scratchpad-slide-down 0.2s ease-out"><div><div class="flex items-center gap-2"><span class=text-base>📝</span><h3 class="text-sm font-semibold text-gray-900 dark:text-white"></h3><!$><!/><!$><!/></div><div class="flex items-center gap-2"><span></span><!$><!/></div></div><!$><!/><style>
|
|
13
13
|
@keyframes scratchpad-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
|
|
14
|
-
</style><!$><!/>`), _tmpl$13 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-300 dark:text-gray-600 flex-shrink-0"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$14 = /* @__PURE__ */ template(`<span class="ml-1 font-normal opacity-75">— <!$><!/>`), _tmpl$15 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$17 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 mb-2"><span class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">Preview</span><span class="px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded">`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$19 = /* @__PURE__ */ template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$20 = /* @__PURE__ */ template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$21 = /* @__PURE__ */ template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$22 = /* @__PURE__ */ template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<pre class="text-xs text-gray-500 overflow-auto">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="px-4 py-3 animate-[slideDown_0.2s_ease-out]"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2"></h4><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div class=space-y-1>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="flex gap-2 text-xs"><span class="text-gray-500 dark:text-gray-400 font-mono min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$27 = /* @__PURE__ */ template(`<p class="text-xs text-gray-400 italic">No filters`), _tmpl$28 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1.5"><!$><!/><!$><!/>`), _tmpl$29 = /* @__PURE__ */ template(`<button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">×`), _tmpl$30 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><button type=button class=hover:underline><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span> <!$><!/></button><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="max-h-48 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<button type=button class="mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center">Cancel`), _tmpl$33 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 left-0 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg p-2 min-w-[200px]">`), _tmpl$34 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<button type=button class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium border border-dashed border-gray-300 dark:border-gray-600 text-gray-500 dark:text-gray-400 rounded-full hover:border-blue-400 hover:text-blue-500 transition-colors">+ <!$><!/>`), _tmpl$36 = /* @__PURE__ */ template(`<form class="flex gap-1"><input type=text autofocus class="flex-1 px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=submit class="px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700">OK</button><button type=button class="px-2 py-1 text-xs text-gray-500 hover:text-gray-700">Cancel`), _tmpl$37 = /* @__PURE__ */ template(`<span class=ml-1>✓`), _tmpl$38 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-2 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-md text-sm"><span class="text-blue-700 dark:text-blue-300"><!$><!/> in <!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-200">Cancel`), _tmpl$40 = /* @__PURE__ */ template(`<form class="flex flex-col gap-3"><!$><!/><!$><!/><div class="flex justify-end"><button type=submit class="px-4 py-2 text-sm font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors">`), _tmpl$41 = /* @__PURE__ */ template(`<div class="flex justify-end"><button type=button class="px-3 py-1.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-1">Next <svg class="w-3.5 h-3.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$42 = /* @__PURE__ */ template(`<div class=space-y-3><!$><!/><!$><!/>`), _tmpl$43 = /* @__PURE__ */ template(`<span class="text-xs font-normal text-gray-500 dark:text-gray-400">— <!$><!/>`), _tmpl$44 = /* @__PURE__ */ template(`<div class="mt-2 ml-6">`), _tmpl$45 = /* @__PURE__ */ template(`<div><div><span></span><!$><!/><!$><!/></div><!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<p class="text-sm font-medium text-gray-800 dark:text-gray-200 mb-2">`), _tmpl$47 = /* @__PURE__ */ template(`<span class=text-amber-600>(<!$><!/> unverified)`), _tmpl$48 = /* @__PURE__ */ template(`<div class="mb-2 flex items-center gap-2 text-xs"><span><!$><!/>% verified</span><!$><!/>`), _tmpl$49 = /* @__PURE__ */ template(`<div><!$><!/><!$><!/><!$><!/><div class="flex flex-wrap gap-2">`), _tmpl$50 = /* @__PURE__ */ template(`<span class="font-medium text-gray-800 dark:text-gray-200">`), _tmpl$51 = /* @__PURE__ */ template(`<span class=ml-1>— <!$><!/>`), _tmpl$52 = /* @__PURE__ */ template(`<div class="mb-2 p-2 rounded bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-xs text-gray-600 dark:text-gray-400"><!$><!/><!$><!/>`), _tmpl$53 = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$54 = /* @__PURE__ */ template(`<div class=space-y-2><div class=space-y-1.5></div><!$><!/>`), _tmpl$55 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-sm"><span></span><span class="text-gray-900 dark:text-white">`), _tmpl$56 = /* @__PURE__ */ template(`<div class="flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"><span class=flex-shrink-0>⚠️</span><span>`), _tmpl$57 = /* @__PURE__ */ template(`<span class=italic>— <!$><!/>`), _tmpl$58 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"><span><!$><!/> <!$><!/></span><!$><!/>`), _tmpl$59 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-2">`), _tmpl$60 = /* @__PURE__ */ template(`<div class="flex gap-1"><input type=text class="flex-1 px-3 py-2 text-sm border border-gray-200 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=button class="px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700">Send`), _tmpl$61 = /* @__PURE__ */ template(`<div class=space-y-3><p class="text-sm text-gray-700 dark:text-gray-300"></p><!$><!/><!$><!/>`), _tmpl$62 = /* @__PURE__ */ template(`<span>`), _tmpl$63 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 italic">"<!$><!/>"`), _tmpl$64 = /* @__PURE__ */ template(`<div class="mt-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/10 rounded-lg text-sm text-blue-700 dark:text-blue-300"><span class=font-medium>Plan:</span> <!$><!/>`), _tmpl$65 = /* @__PURE__ */ template(`<button type=button class="text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">✎ Modify`), _tmpl$66 = /* @__PURE__ */ template(`<div class=space-y-2><!$><!/><div class=space-y-1></div><!$><!/><!$><!/>`), _tmpl$67 = /* @__PURE__ */ template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-medium min-w-[80px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$68 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 flex-wrap">`), _tmpl$69 = /* @__PURE__ */ template(`<div class=space-y-2>`), _tmpl$70 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-500 dark:text-gray-400">— <!$><!/>`), _tmpl$71 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-400">(<!$><!/>ms)`), _tmpl$72 = /* @__PURE__ */ template(`<div><span class=flex-shrink-0></span><div><span></span><!$><!/><!$><!/>`), _tmpl$73 = /* @__PURE__ */ template(`<span class="text-[10px] opacity-75">`), _tmpl$74 = /* @__PURE__ */ template(`<div><span></span><span></span><!$><!/>`), _tmpl$75 = /* @__PURE__ */ template(`<button type=button>🔄 <!$><!/>`), _tmpl$76 = /* @__PURE__ */ template(`<button type=button class="px-2 py-1 text-xs opacity-70 hover:opacity-100">▶ Details`), _tmpl$77 = /* @__PURE__ */ template(`<pre class="mt-2 text-xs opacity-70 overflow-x-auto">`), _tmpl$78 = /* @__PURE__ */ template(`<div><div class="flex items-start gap-2"><span class=flex-shrink-0></span><div class=flex-1><p></p><div class="flex gap-2 mt-2"><!$><!/><!$><!/></div><!$><!/>`), _tmpl$79 = /* @__PURE__ */ template(`<span class="text-xs font-bold text-blue-600 dark:text-blue-400"><!$><!/> results`), _tmpl$80 = /* @__PURE__ */ template(`<p class="text-[10px] text-gray-400">`), _tmpl$81 = /* @__PURE__ */ template(`<div class="rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"><div class="flex items-center justify-between mb-1.5"><span class="text-sm font-medium text-gray-900 dark:text-white"><!$><!/> <!$><!/></span><!$><!/></div><div class="flex flex-wrap gap-1.5 mb-1"></div><!$><!/>`), _tmpl$82 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/>`), _tmpl$83 = /* @__PURE__ */ template(`<div class=overflow-x-auto><table class="min-w-full text-xs"><thead><tr><th class="px-2 py-1 text-left text-gray-500 dark:text-gray-400"></th><th class="px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400"></th><th class="px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400"></th></tr></thead><tbody>`), _tmpl$84 = /* @__PURE__ */ template(`<tr><td class="px-2 py-1 font-mono text-gray-500 dark:text-gray-400"></td><td class="px-2 py-1 text-gray-900 dark:text-white"></td><td class="px-2 py-1 text-gray-900 dark:text-white">`);
|
|
14
|
+
</style><!$><!/>`), _tmpl$13 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-300 dark:text-gray-600 flex-shrink-0"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$14 = /* @__PURE__ */ template(`<span class="ml-1 font-normal opacity-75">— <!$><!/>`), _tmpl$15 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$17 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 mb-2"><span class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">Preview</span><span class="px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded">`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$19 = /* @__PURE__ */ template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$20 = /* @__PURE__ */ template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$21 = /* @__PURE__ */ template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$22 = /* @__PURE__ */ template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<pre class="text-xs text-gray-500 overflow-auto">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="px-4 py-3 animate-[slideDown_0.2s_ease-out]"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2"></h4><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div class=space-y-1>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="flex gap-2 text-xs"><span class="text-gray-500 dark:text-gray-400 font-mono min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$27 = /* @__PURE__ */ template(`<p class="text-xs text-gray-400 italic">No filters`), _tmpl$28 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1.5"><!$><!/><!$><!/>`), _tmpl$29 = /* @__PURE__ */ template(`<button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">×`), _tmpl$30 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><button type=button class=hover:underline><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span> <!$><!/></button><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="max-h-48 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<button type=button class="mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center">Cancel`), _tmpl$33 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 left-0 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg p-2 min-w-[200px]">`), _tmpl$34 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<button type=button class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium border border-dashed border-gray-300 dark:border-gray-600 text-gray-500 dark:text-gray-400 rounded-full hover:border-blue-400 hover:text-blue-500 transition-colors">+ <!$><!/>`), _tmpl$36 = /* @__PURE__ */ template(`<form class="flex gap-1"><input type=text autofocus class="flex-1 px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=submit class="px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700">OK</button><button type=button class="px-2 py-1 text-xs text-gray-500 hover:text-gray-700">Cancel`), _tmpl$37 = /* @__PURE__ */ template(`<span class=ml-1>✓`), _tmpl$38 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400"><!$><!/> champ<!$><!/> pré-rempli<!$><!/> sur <!$><!/>`), _tmpl$40 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-2 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-md text-sm"><span class="text-blue-700 dark:text-blue-300"><!$><!/> in <!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-200">Cancel`), _tmpl$41 = /* @__PURE__ */ template(`<form class="flex flex-col gap-3"><!$><!/><!$><!/><!$><!/><div class="flex justify-end"><button type=submit class="px-4 py-2 text-sm font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors">`), _tmpl$42 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-3 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg text-sm"><span class="flex-1 text-blue-800 dark:text-blue-200 font-medium"></span><span class="text-blue-600 dark:text-blue-300"><!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline text-xs">Modifier</button><button type=button class="text-gray-400 hover:text-gray-600 dark:hover:text-gray-300">×`), _tmpl$43 = /* @__PURE__ */ template(`<div class="flex justify-end"><button type=button class="px-3 py-1.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-1">Next <svg class="w-3.5 h-3.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$44 = /* @__PURE__ */ template(`<div class=space-y-3><!$><!/><!$><!/>`), _tmpl$45 = /* @__PURE__ */ template(`<span class="text-xs font-normal text-gray-500 dark:text-gray-400">— <!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<div class="mt-2 ml-6">`), _tmpl$47 = /* @__PURE__ */ template(`<div><div><span></span><!$><!/><!$><!/></div><!$><!/>`), _tmpl$48 = /* @__PURE__ */ template(`<p class="text-sm font-medium text-gray-800 dark:text-gray-200 mb-2">`), _tmpl$49 = /* @__PURE__ */ template(`<span class=text-amber-600>(<!$><!/> unverified)`), _tmpl$50 = /* @__PURE__ */ template(`<div class="mb-2 flex items-center gap-2 text-xs"><span><!$><!/>% verified</span><!$><!/>`), _tmpl$51 = /* @__PURE__ */ template(`<div><!$><!/><!$><!/><!$><!/><div class="flex flex-wrap gap-2">`), _tmpl$52 = /* @__PURE__ */ template(`<span class="font-medium text-gray-800 dark:text-gray-200">`), _tmpl$53 = /* @__PURE__ */ template(`<span class=ml-1>— <!$><!/>`), _tmpl$54 = /* @__PURE__ */ template(`<div class="mb-2 p-2 rounded bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-xs text-gray-600 dark:text-gray-400"><!$><!/><!$><!/>`), _tmpl$55 = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$56 = /* @__PURE__ */ template(`<div class=space-y-2><div class=space-y-1.5></div><!$><!/>`), _tmpl$57 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-sm"><span></span><span class="text-gray-900 dark:text-white">`), _tmpl$58 = /* @__PURE__ */ template(`<div class="flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"><span class=flex-shrink-0>⚠️</span><span>`), _tmpl$59 = /* @__PURE__ */ template(`<span class=italic>— <!$><!/>`), _tmpl$60 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"><span><!$><!/> <!$><!/></span><!$><!/>`), _tmpl$61 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-2">`), _tmpl$62 = /* @__PURE__ */ template(`<div class="flex gap-1"><input type=text class="flex-1 px-3 py-2 text-sm border border-gray-200 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=button class="px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700">Send`), _tmpl$63 = /* @__PURE__ */ template(`<div class=space-y-3><p class="text-sm text-gray-700 dark:text-gray-300"></p><!$><!/><!$><!/>`), _tmpl$64 = /* @__PURE__ */ template(`<span>`), _tmpl$65 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 italic">"<!$><!/>"`), _tmpl$66 = /* @__PURE__ */ template(`<div class="mt-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/10 rounded-lg text-sm text-blue-700 dark:text-blue-300"><span class=font-medium>Plan:</span> <!$><!/>`), _tmpl$67 = /* @__PURE__ */ template(`<button type=button class="text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">✎ Modify`), _tmpl$68 = /* @__PURE__ */ template(`<div class=space-y-2><!$><!/><div class=space-y-1></div><!$><!/><!$><!/>`), _tmpl$69 = /* @__PURE__ */ template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-medium min-w-[80px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$70 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 flex-wrap">`), _tmpl$71 = /* @__PURE__ */ template(`<div class=space-y-2>`), _tmpl$72 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-500 dark:text-gray-400">— <!$><!/>`), _tmpl$73 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-400">(<!$><!/>ms)`), _tmpl$74 = /* @__PURE__ */ template(`<div><span class=flex-shrink-0></span><div><span></span><!$><!/><!$><!/>`), _tmpl$75 = /* @__PURE__ */ template(`<span class="text-[10px] opacity-75">`), _tmpl$76 = /* @__PURE__ */ template(`<div><span></span><span></span><!$><!/>`), _tmpl$77 = /* @__PURE__ */ template(`<button type=button>🔄 <!$><!/>`), _tmpl$78 = /* @__PURE__ */ template(`<button type=button class="px-2 py-1 text-xs opacity-70 hover:opacity-100">▶ Details`), _tmpl$79 = /* @__PURE__ */ template(`<pre class="mt-2 text-xs opacity-70 overflow-x-auto">`), _tmpl$80 = /* @__PURE__ */ template(`<div><div class="flex items-start gap-2"><span class=flex-shrink-0></span><div class=flex-1><p></p><div class="flex gap-2 mt-2"><!$><!/><!$><!/></div><!$><!/>`), _tmpl$81 = /* @__PURE__ */ template(`<span class="text-xs font-bold text-blue-600 dark:text-blue-400"><!$><!/> results`), _tmpl$82 = /* @__PURE__ */ template(`<p class="text-[10px] text-gray-400">`), _tmpl$83 = /* @__PURE__ */ template(`<div class="rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"><div class="flex items-center justify-between mb-1.5"><span class="text-sm font-medium text-gray-900 dark:text-white"><!$><!/> <!$><!/></span><!$><!/></div><div class="flex flex-wrap gap-1.5 mb-1"></div><!$><!/>`), _tmpl$84 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/>`), _tmpl$85 = /* @__PURE__ */ template(`<div class=overflow-x-auto><table class="min-w-full text-xs"><thead><tr><th class="px-2 py-1 text-left text-gray-500 dark:text-gray-400"></th><th class="px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400"></th><th class="px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400"></th></tr></thead><tbody>`), _tmpl$86 = /* @__PURE__ */ template(`<tr><td class="px-2 py-1 font-mono text-gray-500 dark:text-gray-400"></td><td class="px-2 py-1 text-gray-900 dark:text-white"></td><td class="px-2 py-1 text-gray-900 dark:text-white">`);
|
|
15
15
|
const STATUS_BADGES = {
|
|
16
16
|
loading: {
|
|
17
17
|
label: "Loading...",
|
|
@@ -1090,46 +1090,99 @@ const EmbeddedFormSection = (props) => {
|
|
|
1090
1090
|
});
|
|
1091
1091
|
}
|
|
1092
1092
|
};
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
var _el$
|
|
1117
|
-
_el$
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1093
|
+
const prefillSummary = () => {
|
|
1094
|
+
const fields = config().fields;
|
|
1095
|
+
const total = fields.length;
|
|
1096
|
+
const prefilled = fields.filter((f) => f.prefill != null).length;
|
|
1097
|
+
return {
|
|
1098
|
+
total,
|
|
1099
|
+
prefilled
|
|
1100
|
+
};
|
|
1101
|
+
};
|
|
1102
|
+
const [expanded, setExpanded] = createSignal(false);
|
|
1103
|
+
const allFieldsPrefilled = () => {
|
|
1104
|
+
const fields = config().fields;
|
|
1105
|
+
return fields.length > 0 && fields.every((f) => f.prefill != null);
|
|
1106
|
+
};
|
|
1107
|
+
const showToast = () => allFieldsPrefilled() && !userInteracted() && !expanded() && countdown() != null;
|
|
1108
|
+
return createComponent(Show, {
|
|
1109
|
+
get when() {
|
|
1110
|
+
return !showToast();
|
|
1111
|
+
},
|
|
1112
|
+
get fallback() {
|
|
1113
|
+
return (() => {
|
|
1114
|
+
var _el$184 = getNextElement(_tmpl$42), _el$185 = _el$184.firstChild, _el$186 = _el$185.nextSibling, _el$188 = _el$186.firstChild, [_el$189, _co$43] = getNextMarker(_el$188.nextSibling);
|
|
1115
|
+
_el$189.nextSibling;
|
|
1116
|
+
var _el$190 = _el$186.nextSibling, _el$191 = _el$190.nextSibling;
|
|
1117
|
+
insert(_el$185, () => config().fields.map((f) => f.displayHint || f.prefill).join(", "));
|
|
1118
|
+
insert(_el$186, countdown, _el$189, _co$43);
|
|
1119
|
+
_el$190.$$click = () => {
|
|
1120
|
+
setExpanded(true);
|
|
1121
|
+
cancelCountdown();
|
|
1122
|
+
setUserInteracted(true);
|
|
1123
|
+
};
|
|
1124
|
+
_el$191.$$click = () => {
|
|
1122
1125
|
cancelCountdown();
|
|
1123
1126
|
setUserInteracted(true);
|
|
1124
1127
|
};
|
|
1125
1128
|
runHydrationEvents();
|
|
1126
|
-
return _el$
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1129
|
+
return _el$184;
|
|
1130
|
+
})();
|
|
1131
|
+
},
|
|
1132
|
+
get children() {
|
|
1133
|
+
var _el$154 = getNextElement(_tmpl$41), _el$178 = _el$154.firstChild, [_el$179, _co$40] = getNextMarker(_el$178.nextSibling), _el$180 = _el$179.nextSibling, [_el$181, _co$41] = getNextMarker(_el$180.nextSibling), _el$182 = _el$181.nextSibling, [_el$183, _co$42] = getNextMarker(_el$182.nextSibling), _el$176 = _el$183.nextSibling, _el$177 = _el$176.firstChild;
|
|
1134
|
+
_el$154.addEventListener("submit", handleSubmit);
|
|
1135
|
+
insert(_el$154, createComponent(Show, {
|
|
1136
|
+
get when() {
|
|
1137
|
+
return prefillSummary().prefilled > 0;
|
|
1138
|
+
},
|
|
1139
|
+
get children() {
|
|
1140
|
+
var _el$155 = getNextElement(_tmpl$39), _el$159 = _el$155.firstChild, [_el$160, _co$34] = getNextMarker(_el$159.nextSibling), _el$156 = _el$160.nextSibling, _el$161 = _el$156.nextSibling, [_el$162, _co$35] = getNextMarker(_el$161.nextSibling), _el$157 = _el$162.nextSibling, _el$163 = _el$157.nextSibling, [_el$164, _co$36] = getNextMarker(_el$163.nextSibling), _el$158 = _el$164.nextSibling, _el$165 = _el$158.nextSibling, [_el$166, _co$37] = getNextMarker(_el$165.nextSibling);
|
|
1141
|
+
insert(_el$155, () => prefillSummary().prefilled, _el$160, _co$34);
|
|
1142
|
+
insert(_el$155, () => prefillSummary().prefilled > 1 ? "s" : "", _el$162, _co$35);
|
|
1143
|
+
insert(_el$155, () => prefillSummary().prefilled > 1 ? "s" : "", _el$164, _co$36);
|
|
1144
|
+
insert(_el$155, () => prefillSummary().total, _el$166, _co$37);
|
|
1145
|
+
return _el$155;
|
|
1146
|
+
}
|
|
1147
|
+
}), _el$179, _co$40);
|
|
1148
|
+
insert(_el$154, createComponent(For, {
|
|
1149
|
+
get each() {
|
|
1150
|
+
return config().fields;
|
|
1151
|
+
},
|
|
1152
|
+
children: (field) => createComponent(FormFieldRenderer, {
|
|
1153
|
+
get field() {
|
|
1154
|
+
return getField(field);
|
|
1155
|
+
},
|
|
1156
|
+
get value() {
|
|
1157
|
+
return formData()[field.name];
|
|
1158
|
+
},
|
|
1159
|
+
onChange: (val) => updateField(field.name, val),
|
|
1160
|
+
formData
|
|
1161
|
+
})
|
|
1162
|
+
}), _el$181, _co$41);
|
|
1163
|
+
insert(_el$154, createComponent(Show, {
|
|
1164
|
+
get when() {
|
|
1165
|
+
return countdown() != null;
|
|
1166
|
+
},
|
|
1167
|
+
get children() {
|
|
1168
|
+
var _el$167 = getNextElement(_tmpl$40), _el$168 = _el$167.firstChild, _el$171 = _el$168.firstChild, [_el$172, _co$38] = getNextMarker(_el$171.nextSibling), _el$169 = _el$172.nextSibling, _el$173 = _el$169.nextSibling, [_el$174, _co$39] = getNextMarker(_el$173.nextSibling);
|
|
1169
|
+
_el$174.nextSibling;
|
|
1170
|
+
var _el$175 = _el$168.nextSibling;
|
|
1171
|
+
insert(_el$168, () => config().submitLabel, _el$172, _co$38);
|
|
1172
|
+
insert(_el$168, countdown, _el$174, _co$39);
|
|
1173
|
+
_el$175.$$click = () => {
|
|
1174
|
+
cancelCountdown();
|
|
1175
|
+
setUserInteracted(true);
|
|
1176
|
+
};
|
|
1177
|
+
runHydrationEvents();
|
|
1178
|
+
return _el$167;
|
|
1179
|
+
}
|
|
1180
|
+
}), _el$183, _co$42);
|
|
1181
|
+
insert(_el$177, () => config().submitLabel);
|
|
1182
|
+
effect(() => setAttribute(_el$154, "id", `scratchpad-form-${props.sectionId}`));
|
|
1183
|
+
return _el$154;
|
|
1184
|
+
}
|
|
1185
|
+
});
|
|
1133
1186
|
};
|
|
1134
1187
|
const EnrichedStepsSection = (props) => {
|
|
1135
1188
|
const stepsData = () => {
|
|
@@ -1140,35 +1193,35 @@ const EnrichedStepsSection = (props) => {
|
|
|
1140
1193
|
};
|
|
1141
1194
|
};
|
|
1142
1195
|
return (() => {
|
|
1143
|
-
var _el$
|
|
1144
|
-
insert(_el$
|
|
1196
|
+
var _el$192 = getNextElement(_tmpl$44), _el$195 = _el$192.firstChild, [_el$196, _co$44] = getNextMarker(_el$195.nextSibling), _el$197 = _el$196.nextSibling, [_el$198, _co$45] = getNextMarker(_el$197.nextSibling);
|
|
1197
|
+
insert(_el$192, createComponent(For, {
|
|
1145
1198
|
get each() {
|
|
1146
1199
|
return stepsData().steps;
|
|
1147
1200
|
},
|
|
1148
1201
|
children: (step) => (() => {
|
|
1149
|
-
var _el$
|
|
1150
|
-
insert(_el$
|
|
1202
|
+
var _el$199 = getNextElement(_tmpl$47), _el$200 = _el$199.firstChild, _el$201 = _el$200.firstChild, _el$206 = _el$201.nextSibling, [_el$207, _co$47] = getNextMarker(_el$206.nextSibling), _el$208 = _el$207.nextSibling, [_el$209, _co$48] = getNextMarker(_el$208.nextSibling), _el$211 = _el$200.nextSibling, [_el$212, _co$49] = getNextMarker(_el$211.nextSibling);
|
|
1203
|
+
insert(_el$201, (() => {
|
|
1151
1204
|
var _c$5 = memo(() => step.status === "done");
|
|
1152
1205
|
return () => _c$5() ? "✅" : step.status === "active" ? "●" : "○";
|
|
1153
1206
|
})());
|
|
1154
|
-
insert(_el$
|
|
1155
|
-
insert(_el$
|
|
1207
|
+
insert(_el$200, () => step.label, _el$207, _co$47);
|
|
1208
|
+
insert(_el$200, createComponent(Show, {
|
|
1156
1209
|
get when() {
|
|
1157
1210
|
return memo(() => !!step.description)() && step.status === "active";
|
|
1158
1211
|
},
|
|
1159
1212
|
get children() {
|
|
1160
|
-
var _el$
|
|
1161
|
-
insert(_el$
|
|
1162
|
-
return _el$
|
|
1213
|
+
var _el$202 = getNextElement(_tmpl$45), _el$203 = _el$202.firstChild, _el$204 = _el$203.nextSibling, [_el$205, _co$46] = getNextMarker(_el$204.nextSibling);
|
|
1214
|
+
insert(_el$202, () => step.description, _el$205, _co$46);
|
|
1215
|
+
return _el$202;
|
|
1163
1216
|
}
|
|
1164
|
-
}), _el$
|
|
1165
|
-
insert(_el$
|
|
1217
|
+
}), _el$209, _co$48);
|
|
1218
|
+
insert(_el$199, createComponent(Show, {
|
|
1166
1219
|
get when() {
|
|
1167
1220
|
return memo(() => step.status === "active")() && step.content;
|
|
1168
1221
|
},
|
|
1169
1222
|
get children() {
|
|
1170
|
-
var _el$
|
|
1171
|
-
insert(_el$
|
|
1223
|
+
var _el$210 = getNextElement(_tmpl$46);
|
|
1224
|
+
insert(_el$210, createComponent(SectionRenderer, {
|
|
1172
1225
|
get section() {
|
|
1173
1226
|
return step.content;
|
|
1174
1227
|
},
|
|
@@ -1180,38 +1233,38 @@ const EnrichedStepsSection = (props) => {
|
|
|
1180
1233
|
return props.onAction;
|
|
1181
1234
|
}
|
|
1182
1235
|
}));
|
|
1183
|
-
return _el$
|
|
1236
|
+
return _el$210;
|
|
1184
1237
|
}
|
|
1185
|
-
}), _el$
|
|
1238
|
+
}), _el$212, _co$49);
|
|
1186
1239
|
effect((_p$) => {
|
|
1187
1240
|
var _v$4 = `rounded-lg ${step.status === "active" ? "bg-blue-50/50 dark:bg-blue-900/10 border border-blue-200 dark:border-blue-800 p-3 animate-pulse" : "px-1"}`, _v$5 = `flex items-center gap-2 text-sm font-medium ${step.status === "done" ? "text-green-600 dark:text-green-400" : step.status === "active" ? "text-blue-600 dark:text-blue-400" : "text-gray-400"}`;
|
|
1188
|
-
_v$4 !== _p$.e && className(_el$
|
|
1189
|
-
_v$5 !== _p$.t && className(_el$
|
|
1241
|
+
_v$4 !== _p$.e && className(_el$199, _p$.e = _v$4);
|
|
1242
|
+
_v$5 !== _p$.t && className(_el$200, _p$.t = _v$5);
|
|
1190
1243
|
return _p$;
|
|
1191
1244
|
}, {
|
|
1192
1245
|
e: void 0,
|
|
1193
1246
|
t: void 0
|
|
1194
1247
|
});
|
|
1195
|
-
return _el$
|
|
1248
|
+
return _el$199;
|
|
1196
1249
|
})()
|
|
1197
|
-
}), _el$
|
|
1198
|
-
insert(_el$
|
|
1250
|
+
}), _el$196, _co$44);
|
|
1251
|
+
insert(_el$192, createComponent(Show, {
|
|
1199
1252
|
get when() {
|
|
1200
1253
|
return stepsData().steps.some((s) => s.status === "active");
|
|
1201
1254
|
},
|
|
1202
1255
|
get children() {
|
|
1203
|
-
var _el$
|
|
1204
|
-
_el$
|
|
1256
|
+
var _el$193 = getNextElement(_tmpl$43), _el$194 = _el$193.firstChild;
|
|
1257
|
+
_el$194.$$click = () => {
|
|
1205
1258
|
var _a;
|
|
1206
1259
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, "next_step", {
|
|
1207
1260
|
step: stepsData().currentStep
|
|
1208
1261
|
});
|
|
1209
1262
|
};
|
|
1210
1263
|
runHydrationEvents();
|
|
1211
|
-
return _el$
|
|
1264
|
+
return _el$193;
|
|
1212
1265
|
}
|
|
1213
|
-
}), _el$
|
|
1214
|
-
return _el$
|
|
1266
|
+
}), _el$198, _co$45);
|
|
1267
|
+
return _el$192;
|
|
1215
1268
|
})();
|
|
1216
1269
|
};
|
|
1217
1270
|
const ActionSection = (props) => {
|
|
@@ -1237,103 +1290,103 @@ const ActionSection = (props) => {
|
|
|
1237
1290
|
};
|
|
1238
1291
|
};
|
|
1239
1292
|
return (() => {
|
|
1240
|
-
var _el$
|
|
1241
|
-
insert(_el$
|
|
1293
|
+
var _el$213 = getNextElement(_tmpl$51), _el$228 = _el$213.firstChild, [_el$229, _co$53] = getNextMarker(_el$228.nextSibling), _el$230 = _el$229.nextSibling, [_el$231, _co$54] = getNextMarker(_el$230.nextSibling), _el$232 = _el$231.nextSibling, [_el$233, _co$55] = getNextMarker(_el$232.nextSibling), _el$227 = _el$233.nextSibling;
|
|
1294
|
+
insert(_el$213, createComponent(Show, {
|
|
1242
1295
|
get when() {
|
|
1243
1296
|
return data().title;
|
|
1244
1297
|
},
|
|
1245
1298
|
get children() {
|
|
1246
|
-
var _el$
|
|
1247
|
-
insert(_el$
|
|
1248
|
-
return _el$
|
|
1299
|
+
var _el$214 = getNextElement(_tmpl$48);
|
|
1300
|
+
insert(_el$214, () => data().title);
|
|
1301
|
+
return _el$214;
|
|
1249
1302
|
}
|
|
1250
|
-
}), _el$
|
|
1251
|
-
insert(_el$
|
|
1303
|
+
}), _el$229, _co$53);
|
|
1304
|
+
insert(_el$213, createComponent(Show, {
|
|
1252
1305
|
get when() {
|
|
1253
1306
|
return data().preview;
|
|
1254
1307
|
},
|
|
1255
1308
|
children: (preview) => (() => {
|
|
1256
|
-
var _el$
|
|
1257
|
-
insert(_el$
|
|
1309
|
+
var _el$234 = getNextElement(_tmpl$54), _el$240 = _el$234.firstChild, [_el$241, _co$57] = getNextMarker(_el$240.nextSibling), _el$242 = _el$241.nextSibling, [_el$243, _co$58] = getNextMarker(_el$242.nextSibling);
|
|
1310
|
+
insert(_el$234, createComponent(Show, {
|
|
1258
1311
|
get when() {
|
|
1259
1312
|
return preview().count != null;
|
|
1260
1313
|
},
|
|
1261
1314
|
get children() {
|
|
1262
1315
|
return [(() => {
|
|
1263
|
-
var _el$
|
|
1264
|
-
insert(_el$
|
|
1265
|
-
return _el$
|
|
1316
|
+
var _el$235 = getNextElement(_tmpl$52);
|
|
1317
|
+
insert(_el$235, () => preview().count);
|
|
1318
|
+
return _el$235;
|
|
1266
1319
|
})(), " items"];
|
|
1267
1320
|
}
|
|
1268
|
-
}), _el$
|
|
1269
|
-
insert(_el$
|
|
1321
|
+
}), _el$241, _co$57);
|
|
1322
|
+
insert(_el$234, createComponent(Show, {
|
|
1270
1323
|
get when() {
|
|
1271
1324
|
return preview().summary;
|
|
1272
1325
|
},
|
|
1273
1326
|
get children() {
|
|
1274
|
-
var _el$
|
|
1275
|
-
insert(_el$
|
|
1276
|
-
return _el$
|
|
1327
|
+
var _el$236 = getNextElement(_tmpl$53), _el$237 = _el$236.firstChild, _el$238 = _el$237.nextSibling, [_el$239, _co$56] = getNextMarker(_el$238.nextSibling);
|
|
1328
|
+
insert(_el$236, () => preview().summary, _el$239, _co$56);
|
|
1329
|
+
return _el$236;
|
|
1277
1330
|
}
|
|
1278
|
-
}), _el$
|
|
1279
|
-
return _el$
|
|
1331
|
+
}), _el$243, _co$58);
|
|
1332
|
+
return _el$234;
|
|
1280
1333
|
})()
|
|
1281
|
-
}), _el$
|
|
1282
|
-
insert(_el$
|
|
1334
|
+
}), _el$231, _co$54);
|
|
1335
|
+
insert(_el$213, createComponent(Show, {
|
|
1283
1336
|
get when() {
|
|
1284
1337
|
return memo(() => !!data().validation)() && data().validation.confidence != null;
|
|
1285
1338
|
},
|
|
1286
1339
|
get children() {
|
|
1287
|
-
var _el$
|
|
1288
|
-
_el$
|
|
1289
|
-
var _el$
|
|
1290
|
-
insert(_el$
|
|
1291
|
-
insert(_el$
|
|
1340
|
+
var _el$215 = getNextElement(_tmpl$50), _el$216 = _el$215.firstChild, _el$218 = _el$216.firstChild, [_el$219, _co$50] = getNextMarker(_el$218.nextSibling);
|
|
1341
|
+
_el$219.nextSibling;
|
|
1342
|
+
var _el$225 = _el$216.nextSibling, [_el$226, _co$52] = getNextMarker(_el$225.nextSibling);
|
|
1343
|
+
insert(_el$216, () => Math.round(data().validation.confidence * 100), _el$219, _co$50);
|
|
1344
|
+
insert(_el$215, createComponent(Show, {
|
|
1292
1345
|
get when() {
|
|
1293
1346
|
var _a;
|
|
1294
1347
|
return ((_a = data().validation.hallucinated) == null ? void 0 : _a.length) > 0;
|
|
1295
1348
|
},
|
|
1296
1349
|
get children() {
|
|
1297
|
-
var _el$
|
|
1298
|
-
_el$
|
|
1299
|
-
insert(_el$
|
|
1300
|
-
return _el$
|
|
1350
|
+
var _el$220 = getNextElement(_tmpl$49), _el$221 = _el$220.firstChild, _el$223 = _el$221.nextSibling, [_el$224, _co$51] = getNextMarker(_el$223.nextSibling);
|
|
1351
|
+
_el$224.nextSibling;
|
|
1352
|
+
insert(_el$220, () => data().validation.hallucinated.length, _el$224, _co$51);
|
|
1353
|
+
return _el$220;
|
|
1301
1354
|
}
|
|
1302
|
-
}), _el$
|
|
1303
|
-
effect((_$p) => classList(_el$
|
|
1355
|
+
}), _el$226, _co$52);
|
|
1356
|
+
effect((_$p) => classList(_el$216, {
|
|
1304
1357
|
"text-green-600 dark:text-green-400": data().validation.confidence >= 0.8,
|
|
1305
1358
|
"text-amber-600 dark:text-amber-400": data().validation.confidence >= 0.5 && data().validation.confidence < 0.8,
|
|
1306
1359
|
"text-red-600 dark:text-red-400": data().validation.confidence < 0.5
|
|
1307
1360
|
}, _$p));
|
|
1308
|
-
return _el$
|
|
1361
|
+
return _el$215;
|
|
1309
1362
|
}
|
|
1310
|
-
}), _el$
|
|
1311
|
-
insert(_el$
|
|
1363
|
+
}), _el$233, _co$55);
|
|
1364
|
+
insert(_el$227, createComponent(For, {
|
|
1312
1365
|
get each() {
|
|
1313
1366
|
return data().actions;
|
|
1314
1367
|
},
|
|
1315
1368
|
children: (item) => (() => {
|
|
1316
|
-
var _el$
|
|
1317
|
-
addEventListener(_el$
|
|
1369
|
+
var _el$244 = getNextElement(_tmpl$38), _el$246 = _el$244.firstChild, [_el$247, _co$59] = getNextMarker(_el$246.nextSibling), _el$248 = _el$247.nextSibling, [_el$249, _co$60] = getNextMarker(_el$248.nextSibling);
|
|
1370
|
+
addEventListener(_el$244, "click", () => {
|
|
1318
1371
|
var _a;
|
|
1319
1372
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, item.value || item.action || item.label, item);
|
|
1320
1373
|
});
|
|
1321
|
-
insert(_el$
|
|
1374
|
+
insert(_el$244, createComponent(Show, {
|
|
1322
1375
|
get when() {
|
|
1323
1376
|
return item.icon;
|
|
1324
1377
|
},
|
|
1325
1378
|
get children() {
|
|
1326
|
-
var _el$
|
|
1327
|
-
insert(_el$
|
|
1328
|
-
return _el$
|
|
1379
|
+
var _el$245 = getNextElement(_tmpl$55);
|
|
1380
|
+
insert(_el$245, () => item.icon);
|
|
1381
|
+
return _el$245;
|
|
1329
1382
|
}
|
|
1330
|
-
}), _el$
|
|
1331
|
-
insert(_el$
|
|
1332
|
-
effect(() => className(_el$
|
|
1333
|
-
return _el$
|
|
1383
|
+
}), _el$247, _co$59);
|
|
1384
|
+
insert(_el$244, () => item.label, _el$249, _co$60);
|
|
1385
|
+
effect(() => className(_el$244, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${item.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : item.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : item.variant === "secondary" ? "border border-blue-300 dark:border-blue-600 text-blue-700 dark:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/20" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
|
|
1386
|
+
return _el$244;
|
|
1334
1387
|
})()
|
|
1335
1388
|
}));
|
|
1336
|
-
return _el$
|
|
1389
|
+
return _el$213;
|
|
1337
1390
|
})();
|
|
1338
1391
|
};
|
|
1339
1392
|
const UnderstandingSection = (props) => {
|
|
@@ -1357,39 +1410,39 @@ const UnderstandingSection = (props) => {
|
|
|
1357
1410
|
}
|
|
1358
1411
|
};
|
|
1359
1412
|
return (() => {
|
|
1360
|
-
var _el$
|
|
1361
|
-
insert(_el$
|
|
1413
|
+
var _el$250 = getNextElement(_tmpl$56), _el$251 = _el$250.firstChild, _el$253 = _el$251.nextSibling, [_el$254, _co$61] = getNextMarker(_el$253.nextSibling);
|
|
1414
|
+
insert(_el$251, createComponent(For, {
|
|
1362
1415
|
get each() {
|
|
1363
1416
|
return data().detections;
|
|
1364
1417
|
},
|
|
1365
1418
|
children: (det) => (() => {
|
|
1366
|
-
var _el$
|
|
1367
|
-
insert(_el$
|
|
1368
|
-
insert(_el$
|
|
1369
|
-
effect(() => className(_el$
|
|
1370
|
-
return _el$
|
|
1419
|
+
var _el$255 = getNextElement(_tmpl$57), _el$256 = _el$255.firstChild, _el$257 = _el$256.nextSibling;
|
|
1420
|
+
insert(_el$256, () => det.label);
|
|
1421
|
+
insert(_el$257, () => det.value);
|
|
1422
|
+
effect(() => className(_el$256, `px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`));
|
|
1423
|
+
return _el$255;
|
|
1371
1424
|
})()
|
|
1372
1425
|
}));
|
|
1373
|
-
insert(_el$
|
|
1426
|
+
insert(_el$250, createComponent(Show, {
|
|
1374
1427
|
get when() {
|
|
1375
1428
|
return data().warnings.length > 0;
|
|
1376
1429
|
},
|
|
1377
1430
|
get children() {
|
|
1378
|
-
var _el$
|
|
1379
|
-
insert(_el$
|
|
1431
|
+
var _el$252 = getNextElement(_tmpl$25);
|
|
1432
|
+
insert(_el$252, createComponent(For, {
|
|
1380
1433
|
get each() {
|
|
1381
1434
|
return data().warnings;
|
|
1382
1435
|
},
|
|
1383
1436
|
children: (w) => (() => {
|
|
1384
|
-
var _el$
|
|
1385
|
-
insert(_el$
|
|
1386
|
-
return _el$
|
|
1437
|
+
var _el$258 = getNextElement(_tmpl$58), _el$259 = _el$258.firstChild, _el$260 = _el$259.nextSibling;
|
|
1438
|
+
insert(_el$260, w);
|
|
1439
|
+
return _el$258;
|
|
1387
1440
|
})()
|
|
1388
1441
|
}));
|
|
1389
|
-
return _el$
|
|
1442
|
+
return _el$252;
|
|
1390
1443
|
}
|
|
1391
|
-
}), _el$
|
|
1392
|
-
return _el$
|
|
1444
|
+
}), _el$254, _co$61);
|
|
1445
|
+
return _el$250;
|
|
1393
1446
|
})();
|
|
1394
1447
|
};
|
|
1395
1448
|
const FeedbackSection = (props) => {
|
|
@@ -1444,81 +1497,81 @@ const FeedbackSection = (props) => {
|
|
|
1444
1497
|
(_a = props.onAction) == null ? void 0 : _a.call(props, "feedback", payload);
|
|
1445
1498
|
};
|
|
1446
1499
|
return (() => {
|
|
1447
|
-
var _el$
|
|
1448
|
-
insert(_el$
|
|
1449
|
-
insert(_el$
|
|
1500
|
+
var _el$261 = getNextElement(_tmpl$63), _el$262 = _el$261.firstChild, _el$280 = _el$262.nextSibling, [_el$281, _co$66] = getNextMarker(_el$280.nextSibling), _el$282 = _el$281.nextSibling, [_el$283, _co$67] = getNextMarker(_el$282.nextSibling);
|
|
1501
|
+
insert(_el$262, () => data().question);
|
|
1502
|
+
insert(_el$261, createComponent(Show, {
|
|
1450
1503
|
get when() {
|
|
1451
1504
|
return submitted();
|
|
1452
1505
|
},
|
|
1453
1506
|
get children() {
|
|
1454
|
-
var _el$
|
|
1455
|
-
insert(_el$
|
|
1507
|
+
var _el$263 = getNextElement(_tmpl$60), _el$264 = _el$263.firstChild, _el$266 = _el$264.firstChild, [_el$267, _co$62] = getNextMarker(_el$266.nextSibling), _el$265 = _el$267.nextSibling, _el$268 = _el$265.nextSibling, [_el$269, _co$63] = getNextMarker(_el$268.nextSibling), _el$274 = _el$264.nextSibling, [_el$275, _co$65] = getNextMarker(_el$274.nextSibling);
|
|
1508
|
+
insert(_el$264, (() => {
|
|
1456
1509
|
var _c$6 = memo(() => submitted() === "approve");
|
|
1457
1510
|
return () => _c$6() ? "✅" : submitted() === "reject" ? "❌" : "💬";
|
|
1458
|
-
})(), _el$
|
|
1459
|
-
insert(_el$
|
|
1460
|
-
insert(_el$
|
|
1511
|
+
})(), _el$267, _co$62);
|
|
1512
|
+
insert(_el$264, submitted, _el$269, _co$63);
|
|
1513
|
+
insert(_el$263, createComponent(Show, {
|
|
1461
1514
|
get when() {
|
|
1462
1515
|
return comment();
|
|
1463
1516
|
},
|
|
1464
1517
|
get children() {
|
|
1465
|
-
var _el$
|
|
1466
|
-
insert(_el$
|
|
1467
|
-
return _el$
|
|
1518
|
+
var _el$270 = getNextElement(_tmpl$59), _el$271 = _el$270.firstChild, _el$272 = _el$271.nextSibling, [_el$273, _co$64] = getNextMarker(_el$272.nextSibling);
|
|
1519
|
+
insert(_el$270, comment, _el$273, _co$64);
|
|
1520
|
+
return _el$270;
|
|
1468
1521
|
}
|
|
1469
|
-
}), _el$
|
|
1522
|
+
}), _el$275, _co$65);
|
|
1470
1523
|
effect((_p$) => {
|
|
1471
1524
|
var _v$6 = !!(submitted() === "approve"), _v$7 = !!(submitted() === "reject"), _v$8 = !!(submitted() !== "approve" && submitted() !== "reject");
|
|
1472
|
-
_v$6 !== _p$.e && _el$
|
|
1473
|
-
_v$7 !== _p$.t && _el$
|
|
1474
|
-
_v$8 !== _p$.a && _el$
|
|
1525
|
+
_v$6 !== _p$.e && _el$264.classList.toggle("text-green-600", _p$.e = _v$6);
|
|
1526
|
+
_v$7 !== _p$.t && _el$264.classList.toggle("text-red-600", _p$.t = _v$7);
|
|
1527
|
+
_v$8 !== _p$.a && _el$264.classList.toggle("text-blue-600", _p$.a = _v$8);
|
|
1475
1528
|
return _p$;
|
|
1476
1529
|
}, {
|
|
1477
1530
|
e: void 0,
|
|
1478
1531
|
t: void 0,
|
|
1479
1532
|
a: void 0
|
|
1480
1533
|
});
|
|
1481
|
-
return _el$
|
|
1534
|
+
return _el$263;
|
|
1482
1535
|
}
|
|
1483
|
-
}), _el$
|
|
1484
|
-
insert(_el$
|
|
1536
|
+
}), _el$281, _co$66);
|
|
1537
|
+
insert(_el$261, createComponent(Show, {
|
|
1485
1538
|
get when() {
|
|
1486
1539
|
return !submitted();
|
|
1487
1540
|
},
|
|
1488
1541
|
get children() {
|
|
1489
1542
|
return [(() => {
|
|
1490
|
-
var _el$
|
|
1491
|
-
insert(_el$
|
|
1543
|
+
var _el$276 = getNextElement(_tmpl$61);
|
|
1544
|
+
insert(_el$276, createComponent(For, {
|
|
1492
1545
|
get each() {
|
|
1493
1546
|
return data().options;
|
|
1494
1547
|
},
|
|
1495
1548
|
children: (option) => (() => {
|
|
1496
|
-
var _el$
|
|
1497
|
-
addEventListener(_el$
|
|
1498
|
-
insert(_el$
|
|
1549
|
+
var _el$284 = getNextElement(_tmpl$38), _el$286 = _el$284.firstChild, [_el$287, _co$68] = getNextMarker(_el$286.nextSibling), _el$288 = _el$287.nextSibling, [_el$289, _co$69] = getNextMarker(_el$288.nextSibling);
|
|
1550
|
+
addEventListener(_el$284, "click", () => handleOption(option));
|
|
1551
|
+
insert(_el$284, createComponent(Show, {
|
|
1499
1552
|
get when() {
|
|
1500
1553
|
return option.icon;
|
|
1501
1554
|
},
|
|
1502
1555
|
get children() {
|
|
1503
|
-
var _el$
|
|
1504
|
-
insert(_el$
|
|
1505
|
-
return _el$
|
|
1556
|
+
var _el$285 = getNextElement(_tmpl$64);
|
|
1557
|
+
insert(_el$285, () => option.icon);
|
|
1558
|
+
return _el$285;
|
|
1506
1559
|
}
|
|
1507
|
-
}), _el$
|
|
1508
|
-
insert(_el$
|
|
1509
|
-
effect(() => className(_el$
|
|
1510
|
-
return _el$
|
|
1560
|
+
}), _el$287, _co$68);
|
|
1561
|
+
insert(_el$284, () => option.label, _el$289, _co$69);
|
|
1562
|
+
effect(() => className(_el$284, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors flex items-center gap-1 ${option.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : option.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
|
|
1563
|
+
return _el$284;
|
|
1511
1564
|
})()
|
|
1512
1565
|
}));
|
|
1513
|
-
return _el$
|
|
1566
|
+
return _el$276;
|
|
1514
1567
|
})(), createComponent(Show, {
|
|
1515
1568
|
get when() {
|
|
1516
1569
|
return data().allowFreeText || showComment();
|
|
1517
1570
|
},
|
|
1518
1571
|
get children() {
|
|
1519
|
-
var _el$
|
|
1520
|
-
_el$
|
|
1521
|
-
addEventListener(_el$
|
|
1572
|
+
var _el$277 = getNextElement(_tmpl$62), _el$278 = _el$277.firstChild, _el$279 = _el$278.nextSibling;
|
|
1573
|
+
_el$278.$$input = (e) => setComment(e.currentTarget.value);
|
|
1574
|
+
addEventListener(_el$279, "click", () => {
|
|
1522
1575
|
var _a;
|
|
1523
1576
|
setSubmitted("comment");
|
|
1524
1577
|
(_a = props.onAction) == null ? void 0 : _a.call(props, "feedback", {
|
|
@@ -1530,21 +1583,21 @@ const FeedbackSection = (props) => {
|
|
|
1530
1583
|
});
|
|
1531
1584
|
effect((_p$) => {
|
|
1532
1585
|
var _v$9 = data().placeholder, _v$0 = showComment();
|
|
1533
|
-
_v$9 !== _p$.e && setAttribute(_el$
|
|
1534
|
-
_v$0 !== _p$.t && setProperty(_el$
|
|
1586
|
+
_v$9 !== _p$.e && setAttribute(_el$278, "placeholder", _p$.e = _v$9);
|
|
1587
|
+
_v$0 !== _p$.t && setProperty(_el$278, "autofocus", _p$.t = _v$0);
|
|
1535
1588
|
return _p$;
|
|
1536
1589
|
}, {
|
|
1537
1590
|
e: void 0,
|
|
1538
1591
|
t: void 0
|
|
1539
1592
|
});
|
|
1540
|
-
effect(() => setProperty(_el$
|
|
1593
|
+
effect(() => setProperty(_el$278, "value", comment()));
|
|
1541
1594
|
runHydrationEvents();
|
|
1542
|
-
return _el$
|
|
1595
|
+
return _el$277;
|
|
1543
1596
|
}
|
|
1544
1597
|
})];
|
|
1545
1598
|
}
|
|
1546
|
-
}), _el$
|
|
1547
|
-
return _el$
|
|
1599
|
+
}), _el$283, _co$67);
|
|
1600
|
+
return _el$261;
|
|
1548
1601
|
})();
|
|
1549
1602
|
};
|
|
1550
1603
|
const PromptSection = (props) => {
|
|
@@ -1559,56 +1612,56 @@ const PromptSection = (props) => {
|
|
|
1559
1612
|
};
|
|
1560
1613
|
};
|
|
1561
1614
|
return (() => {
|
|
1562
|
-
var _el$
|
|
1563
|
-
insert(_el$
|
|
1615
|
+
var _el$290 = getNextElement(_tmpl$68), _el$303 = _el$290.firstChild, [_el$304, _co$72] = getNextMarker(_el$303.nextSibling), _el$296 = _el$304.nextSibling, _el$305 = _el$296.nextSibling, [_el$306, _co$73] = getNextMarker(_el$305.nextSibling), _el$307 = _el$306.nextSibling, [_el$308, _co$74] = getNextMarker(_el$307.nextSibling);
|
|
1616
|
+
insert(_el$290, createComponent(Show, {
|
|
1564
1617
|
get when() {
|
|
1565
1618
|
return data().originalQuery;
|
|
1566
1619
|
},
|
|
1567
1620
|
get children() {
|
|
1568
|
-
var _el$
|
|
1569
|
-
_el$
|
|
1570
|
-
insert(_el$
|
|
1571
|
-
return _el$
|
|
1621
|
+
var _el$291 = getNextElement(_tmpl$65), _el$292 = _el$291.firstChild, _el$294 = _el$292.nextSibling, [_el$295, _co$70] = getNextMarker(_el$294.nextSibling);
|
|
1622
|
+
_el$295.nextSibling;
|
|
1623
|
+
insert(_el$291, () => data().originalQuery, _el$295, _co$70);
|
|
1624
|
+
return _el$291;
|
|
1572
1625
|
}
|
|
1573
|
-
}), _el$
|
|
1574
|
-
insert(_el$
|
|
1626
|
+
}), _el$304, _co$72);
|
|
1627
|
+
insert(_el$296, createComponent(For, {
|
|
1575
1628
|
get each() {
|
|
1576
1629
|
return Object.entries(data().extracted);
|
|
1577
1630
|
},
|
|
1578
1631
|
children: ([key, value]) => (() => {
|
|
1579
|
-
var _el$
|
|
1580
|
-
_el$
|
|
1581
|
-
var _el$
|
|
1582
|
-
insert(_el$
|
|
1583
|
-
insert(_el$
|
|
1584
|
-
return _el$
|
|
1632
|
+
var _el$309 = getNextElement(_tmpl$69), _el$310 = _el$309.firstChild, _el$312 = _el$310.firstChild, [_el$313, _co$75] = getNextMarker(_el$312.nextSibling);
|
|
1633
|
+
_el$313.nextSibling;
|
|
1634
|
+
var _el$314 = _el$310.nextSibling;
|
|
1635
|
+
insert(_el$310, key, _el$313, _co$75);
|
|
1636
|
+
insert(_el$314, () => String(value));
|
|
1637
|
+
return _el$309;
|
|
1585
1638
|
})()
|
|
1586
1639
|
}));
|
|
1587
|
-
insert(_el$
|
|
1640
|
+
insert(_el$290, createComponent(Show, {
|
|
1588
1641
|
get when() {
|
|
1589
1642
|
return data().plan;
|
|
1590
1643
|
},
|
|
1591
1644
|
get children() {
|
|
1592
|
-
var _el$
|
|
1593
|
-
insert(_el$
|
|
1594
|
-
return _el$
|
|
1645
|
+
var _el$297 = getNextElement(_tmpl$66), _el$298 = _el$297.firstChild, _el$299 = _el$298.nextSibling, _el$300 = _el$299.nextSibling, [_el$301, _co$71] = getNextMarker(_el$300.nextSibling);
|
|
1646
|
+
insert(_el$297, () => data().plan, _el$301, _co$71);
|
|
1647
|
+
return _el$297;
|
|
1595
1648
|
}
|
|
1596
|
-
}), _el$
|
|
1597
|
-
insert(_el$
|
|
1649
|
+
}), _el$306, _co$73);
|
|
1650
|
+
insert(_el$290, createComponent(Show, {
|
|
1598
1651
|
get when() {
|
|
1599
1652
|
return data().editable;
|
|
1600
1653
|
},
|
|
1601
1654
|
get children() {
|
|
1602
|
-
var _el$
|
|
1603
|
-
_el$
|
|
1655
|
+
var _el$302 = getNextElement(_tmpl$67);
|
|
1656
|
+
_el$302.$$click = () => {
|
|
1604
1657
|
var _a;
|
|
1605
1658
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, "edit_prompt", data());
|
|
1606
1659
|
};
|
|
1607
1660
|
runHydrationEvents();
|
|
1608
|
-
return _el$
|
|
1661
|
+
return _el$302;
|
|
1609
1662
|
}
|
|
1610
|
-
}), _el$
|
|
1611
|
-
return _el$
|
|
1663
|
+
}), _el$308, _co$74);
|
|
1664
|
+
return _el$290;
|
|
1612
1665
|
})();
|
|
1613
1666
|
};
|
|
1614
1667
|
const StepperProgressSection = (props) => {
|
|
@@ -1638,46 +1691,46 @@ const StepperProgressSection = (props) => {
|
|
|
1638
1691
|
},
|
|
1639
1692
|
get fallback() {
|
|
1640
1693
|
return (() => {
|
|
1641
|
-
var _el$
|
|
1642
|
-
insert(_el$
|
|
1694
|
+
var _el$316 = getNextElement(_tmpl$71);
|
|
1695
|
+
insert(_el$316, createComponent(For, {
|
|
1643
1696
|
get each() {
|
|
1644
1697
|
return data().steps;
|
|
1645
1698
|
},
|
|
1646
1699
|
children: (step) => (() => {
|
|
1647
|
-
var _el$
|
|
1648
|
-
insert(_el$
|
|
1649
|
-
insert(_el$
|
|
1650
|
-
insert(_el$
|
|
1700
|
+
var _el$317 = getNextElement(_tmpl$74), _el$318 = _el$317.firstChild, _el$319 = _el$318.nextSibling, _el$320 = _el$319.firstChild, _el$330 = _el$320.nextSibling, [_el$331, _co$78] = getNextMarker(_el$330.nextSibling), _el$332 = _el$331.nextSibling, [_el$333, _co$79] = getNextMarker(_el$332.nextSibling);
|
|
1701
|
+
insert(_el$318, () => statusIcon(step.status));
|
|
1702
|
+
insert(_el$320, () => step.label);
|
|
1703
|
+
insert(_el$319, createComponent(Show, {
|
|
1651
1704
|
get when() {
|
|
1652
1705
|
return step.summary;
|
|
1653
1706
|
},
|
|
1654
1707
|
get children() {
|
|
1655
|
-
var _el$
|
|
1656
|
-
insert(_el$
|
|
1657
|
-
return _el$
|
|
1708
|
+
var _el$321 = getNextElement(_tmpl$72), _el$322 = _el$321.firstChild, _el$323 = _el$322.nextSibling, [_el$324, _co$76] = getNextMarker(_el$323.nextSibling);
|
|
1709
|
+
insert(_el$321, () => step.summary, _el$324, _co$76);
|
|
1710
|
+
return _el$321;
|
|
1658
1711
|
}
|
|
1659
|
-
}), _el$
|
|
1660
|
-
insert(_el$
|
|
1712
|
+
}), _el$331, _co$78);
|
|
1713
|
+
insert(_el$319, createComponent(Show, {
|
|
1661
1714
|
get when() {
|
|
1662
1715
|
return step.duration_ms;
|
|
1663
1716
|
},
|
|
1664
1717
|
get children() {
|
|
1665
|
-
var _el$
|
|
1666
|
-
_el$
|
|
1667
|
-
insert(_el$
|
|
1668
|
-
return _el$
|
|
1718
|
+
var _el$325 = getNextElement(_tmpl$73), _el$326 = _el$325.firstChild, _el$328 = _el$326.nextSibling, [_el$329, _co$77] = getNextMarker(_el$328.nextSibling);
|
|
1719
|
+
_el$329.nextSibling;
|
|
1720
|
+
insert(_el$325, () => step.duration_ms, _el$329, _co$77);
|
|
1721
|
+
return _el$325;
|
|
1669
1722
|
}
|
|
1670
|
-
}), _el$
|
|
1671
|
-
effect(() => className(_el$
|
|
1672
|
-
return _el$
|
|
1723
|
+
}), _el$333, _co$79);
|
|
1724
|
+
effect(() => className(_el$317, `flex items-start gap-2 text-sm ${step.status === "active" ? "font-medium" : ""} ${step.status === "pending" ? "text-gray-400" : "text-gray-700 dark:text-gray-300"}`));
|
|
1725
|
+
return _el$317;
|
|
1673
1726
|
})()
|
|
1674
1727
|
}));
|
|
1675
|
-
return _el$
|
|
1728
|
+
return _el$316;
|
|
1676
1729
|
})();
|
|
1677
1730
|
},
|
|
1678
1731
|
get children() {
|
|
1679
|
-
var _el$
|
|
1680
|
-
insert(_el$
|
|
1732
|
+
var _el$315 = getNextElement(_tmpl$70);
|
|
1733
|
+
insert(_el$315, createComponent(For, {
|
|
1681
1734
|
get each() {
|
|
1682
1735
|
return data().steps;
|
|
1683
1736
|
},
|
|
@@ -1689,24 +1742,24 @@ const StepperProgressSection = (props) => {
|
|
|
1689
1742
|
return getNextElement(_tmpl$13);
|
|
1690
1743
|
}
|
|
1691
1744
|
}), (() => {
|
|
1692
|
-
var _el$
|
|
1693
|
-
insert(_el$
|
|
1694
|
-
insert(_el$
|
|
1695
|
-
insert(_el$
|
|
1745
|
+
var _el$335 = getNextElement(_tmpl$76), _el$336 = _el$335.firstChild, _el$337 = _el$336.nextSibling, _el$339 = _el$337.nextSibling, [_el$340, _co$80] = getNextMarker(_el$339.nextSibling);
|
|
1746
|
+
insert(_el$336, () => statusIcon(step.status));
|
|
1747
|
+
insert(_el$337, () => step.label);
|
|
1748
|
+
insert(_el$335, createComponent(Show, {
|
|
1696
1749
|
get when() {
|
|
1697
1750
|
return step.summary;
|
|
1698
1751
|
},
|
|
1699
1752
|
get children() {
|
|
1700
|
-
var _el$
|
|
1701
|
-
insert(_el$
|
|
1702
|
-
return _el$
|
|
1753
|
+
var _el$338 = getNextElement(_tmpl$75);
|
|
1754
|
+
insert(_el$338, () => step.summary);
|
|
1755
|
+
return _el$338;
|
|
1703
1756
|
}
|
|
1704
|
-
}), _el$
|
|
1705
|
-
effect(() => className(_el$
|
|
1706
|
-
return _el$
|
|
1757
|
+
}), _el$340, _co$80);
|
|
1758
|
+
effect(() => className(_el$335, `flex items-center gap-1 px-2 py-1 rounded text-xs ${step.status === "done" ? "bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-400" : step.status === "active" ? "bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400 font-medium animate-pulse" : step.status === "error" ? "bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-400" : "text-gray-400"}`));
|
|
1759
|
+
return _el$335;
|
|
1707
1760
|
})()]
|
|
1708
1761
|
}));
|
|
1709
|
-
return _el$
|
|
1762
|
+
return _el$315;
|
|
1710
1763
|
}
|
|
1711
1764
|
});
|
|
1712
1765
|
};
|
|
@@ -1727,48 +1780,48 @@ const ErrorSectionRenderer = (props) => {
|
|
|
1727
1780
|
};
|
|
1728
1781
|
const isWarning = () => data().severity === "warning";
|
|
1729
1782
|
return (() => {
|
|
1730
|
-
var _el$
|
|
1731
|
-
insert(_el$
|
|
1732
|
-
insert(_el$
|
|
1733
|
-
insert(_el$
|
|
1783
|
+
var _el$341 = getNextElement(_tmpl$80), _el$342 = _el$341.firstChild, _el$343 = _el$342.firstChild, _el$344 = _el$343.nextSibling, _el$345 = _el$344.firstChild, _el$346 = _el$345.nextSibling, _el$352 = _el$346.firstChild, [_el$353, _co$82] = getNextMarker(_el$352.nextSibling), _el$354 = _el$353.nextSibling, [_el$355, _co$83] = getNextMarker(_el$354.nextSibling), _el$357 = _el$346.nextSibling, [_el$358, _co$84] = getNextMarker(_el$357.nextSibling);
|
|
1784
|
+
insert(_el$343, () => isWarning() ? "⚠️" : "❌");
|
|
1785
|
+
insert(_el$345, () => data().message);
|
|
1786
|
+
insert(_el$346, createComponent(Show, {
|
|
1734
1787
|
get when() {
|
|
1735
1788
|
return data().retryAction;
|
|
1736
1789
|
},
|
|
1737
1790
|
get children() {
|
|
1738
|
-
var _el$
|
|
1739
|
-
_el$
|
|
1791
|
+
var _el$347 = getNextElement(_tmpl$77), _el$348 = _el$347.firstChild, _el$349 = _el$348.nextSibling, [_el$350, _co$81] = getNextMarker(_el$349.nextSibling);
|
|
1792
|
+
_el$347.$$click = () => {
|
|
1740
1793
|
var _a;
|
|
1741
1794
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, data().retryAction);
|
|
1742
1795
|
};
|
|
1743
|
-
insert(_el$
|
|
1744
|
-
effect(() => className(_el$
|
|
1796
|
+
insert(_el$347, () => data().retryLabel, _el$350, _co$81);
|
|
1797
|
+
effect(() => className(_el$347, `px-2 py-1 text-xs font-medium rounded ${isWarning() ? "bg-amber-600 text-white hover:bg-amber-700" : "bg-red-600 text-white hover:bg-red-700"} transition-colors`));
|
|
1745
1798
|
runHydrationEvents();
|
|
1746
|
-
return _el$
|
|
1799
|
+
return _el$347;
|
|
1747
1800
|
}
|
|
1748
|
-
}), _el$
|
|
1749
|
-
insert(_el$
|
|
1801
|
+
}), _el$353, _co$82);
|
|
1802
|
+
insert(_el$346, createComponent(Show, {
|
|
1750
1803
|
get when() {
|
|
1751
1804
|
return data().details;
|
|
1752
1805
|
},
|
|
1753
1806
|
get children() {
|
|
1754
|
-
var _el$
|
|
1755
|
-
_el$
|
|
1807
|
+
var _el$351 = getNextElement(_tmpl$78);
|
|
1808
|
+
_el$351.$$click = () => setShowDetails(!showDetails());
|
|
1756
1809
|
runHydrationEvents();
|
|
1757
|
-
return _el$
|
|
1810
|
+
return _el$351;
|
|
1758
1811
|
}
|
|
1759
|
-
}), _el$
|
|
1760
|
-
insert(_el$
|
|
1812
|
+
}), _el$355, _co$83);
|
|
1813
|
+
insert(_el$344, createComponent(Show, {
|
|
1761
1814
|
get when() {
|
|
1762
1815
|
return memo(() => !!showDetails())() && data().details;
|
|
1763
1816
|
},
|
|
1764
1817
|
get children() {
|
|
1765
|
-
var _el$
|
|
1766
|
-
insert(_el$
|
|
1767
|
-
return _el$
|
|
1818
|
+
var _el$356 = getNextElement(_tmpl$79);
|
|
1819
|
+
insert(_el$356, () => data().details);
|
|
1820
|
+
return _el$356;
|
|
1768
1821
|
}
|
|
1769
|
-
}), _el$
|
|
1770
|
-
effect(() => className(_el$
|
|
1771
|
-
return _el$
|
|
1822
|
+
}), _el$358, _co$84);
|
|
1823
|
+
effect(() => className(_el$341, `rounded-lg px-3 py-2 text-sm ${isWarning() ? "bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400 border border-amber-200 dark:border-amber-800" : "bg-red-50 dark:bg-red-900/10 text-red-700 dark:text-red-400 border border-red-200 dark:border-red-800"}`));
|
|
1824
|
+
return _el$341;
|
|
1772
1825
|
})();
|
|
1773
1826
|
};
|
|
1774
1827
|
const SourceCardSection = (props) => {
|
|
@@ -1789,46 +1842,46 @@ const SourceCardSection = (props) => {
|
|
|
1789
1842
|
error: "❌"
|
|
1790
1843
|
})[data().status] || "📦";
|
|
1791
1844
|
return (() => {
|
|
1792
|
-
var _el$
|
|
1793
|
-
insert(_el$
|
|
1794
|
-
insert(_el$
|
|
1795
|
-
insert(_el$
|
|
1845
|
+
var _el$359 = getNextElement(_tmpl$83), _el$360 = _el$359.firstChild, _el$361 = _el$360.firstChild, _el$363 = _el$361.firstChild, [_el$364, _co$85] = getNextMarker(_el$363.nextSibling), _el$362 = _el$364.nextSibling, _el$365 = _el$362.nextSibling, [_el$366, _co$86] = getNextMarker(_el$365.nextSibling), _el$371 = _el$361.nextSibling, [_el$372, _co$88] = getNextMarker(_el$371.nextSibling), _el$373 = _el$360.nextSibling, _el$375 = _el$373.nextSibling, [_el$376, _co$89] = getNextMarker(_el$375.nextSibling);
|
|
1846
|
+
insert(_el$361, statusIcon, _el$364, _co$85);
|
|
1847
|
+
insert(_el$361, () => data().name, _el$366, _co$86);
|
|
1848
|
+
insert(_el$360, createComponent(Show, {
|
|
1796
1849
|
get when() {
|
|
1797
1850
|
return data().row_count !== void 0;
|
|
1798
1851
|
},
|
|
1799
1852
|
get children() {
|
|
1800
|
-
var _el$
|
|
1801
|
-
_el$
|
|
1802
|
-
insert(_el$
|
|
1853
|
+
var _el$367 = getNextElement(_tmpl$81), _el$369 = _el$367.firstChild, [_el$370, _co$87] = getNextMarker(_el$369.nextSibling);
|
|
1854
|
+
_el$370.nextSibling;
|
|
1855
|
+
insert(_el$367, () => {
|
|
1803
1856
|
var _a;
|
|
1804
1857
|
return (_a = data().row_count) == null ? void 0 : _a.toLocaleString();
|
|
1805
|
-
}, _el$
|
|
1806
|
-
return _el$
|
|
1858
|
+
}, _el$370, _co$87);
|
|
1859
|
+
return _el$367;
|
|
1807
1860
|
}
|
|
1808
|
-
}), _el$
|
|
1809
|
-
insert(_el$
|
|
1861
|
+
}), _el$372, _co$88);
|
|
1862
|
+
insert(_el$373, createComponent(For, {
|
|
1810
1863
|
get each() {
|
|
1811
1864
|
return data().capabilities;
|
|
1812
1865
|
},
|
|
1813
1866
|
children: (cap) => (() => {
|
|
1814
|
-
var _el$
|
|
1815
|
-
insert(_el$
|
|
1816
|
-
insert(_el$
|
|
1817
|
-
effect(() => className(_el$
|
|
1818
|
-
return _el$
|
|
1867
|
+
var _el$377 = getNextElement(_tmpl$84), _el$379 = _el$377.firstChild, [_el$380, _co$90] = getNextMarker(_el$379.nextSibling), _el$378 = _el$380.nextSibling, _el$381 = _el$378.nextSibling, [_el$382, _co$91] = getNextMarker(_el$381.nextSibling);
|
|
1868
|
+
insert(_el$377, () => cap.supported ? "✅" : "❌", _el$380, _co$90);
|
|
1869
|
+
insert(_el$377, () => cap.label, _el$382, _co$91);
|
|
1870
|
+
effect(() => className(_el$377, `text-[10px] px-1.5 py-0.5 rounded ${cap.supported ? "bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400" : "bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400"}`));
|
|
1871
|
+
return _el$377;
|
|
1819
1872
|
})()
|
|
1820
1873
|
}));
|
|
1821
|
-
insert(_el$
|
|
1874
|
+
insert(_el$359, createComponent(Show, {
|
|
1822
1875
|
get when() {
|
|
1823
1876
|
return data().freshness || data().latency_ms;
|
|
1824
1877
|
},
|
|
1825
1878
|
get children() {
|
|
1826
|
-
var _el$
|
|
1827
|
-
insert(_el$
|
|
1828
|
-
return _el$
|
|
1879
|
+
var _el$374 = getNextElement(_tmpl$82);
|
|
1880
|
+
insert(_el$374, () => [data().freshness, data().latency_ms ? `${data().latency_ms}ms` : ""].filter(Boolean).join(" · "));
|
|
1881
|
+
return _el$374;
|
|
1829
1882
|
}
|
|
1830
|
-
}), _el$
|
|
1831
|
-
return _el$
|
|
1883
|
+
}), _el$376, _co$89);
|
|
1884
|
+
return _el$359;
|
|
1832
1885
|
})();
|
|
1833
1886
|
};
|
|
1834
1887
|
const DiffSection = (props) => {
|
|
@@ -1852,10 +1905,10 @@ const DiffSection = (props) => {
|
|
|
1852
1905
|
return [.../* @__PURE__ */ new Set([...Object.keys(l), ...Object.keys(r)])];
|
|
1853
1906
|
};
|
|
1854
1907
|
return (() => {
|
|
1855
|
-
var _el$
|
|
1856
|
-
insert(_el$
|
|
1857
|
-
insert(_el$
|
|
1858
|
-
insert(_el$
|
|
1908
|
+
var _el$383 = getNextElement(_tmpl$85), _el$384 = _el$383.firstChild, _el$385 = _el$384.firstChild, _el$386 = _el$385.firstChild, _el$387 = _el$386.firstChild, _el$388 = _el$387.nextSibling, _el$389 = _el$388.nextSibling, _el$390 = _el$385.nextSibling;
|
|
1909
|
+
insert(_el$388, () => data().left.label);
|
|
1910
|
+
insert(_el$389, () => data().right.label);
|
|
1911
|
+
insert(_el$390, createComponent(For, {
|
|
1859
1912
|
get each() {
|
|
1860
1913
|
return allKeys();
|
|
1861
1914
|
},
|
|
@@ -1870,22 +1923,22 @@ const DiffSection = (props) => {
|
|
|
1870
1923
|
};
|
|
1871
1924
|
const isDiff = () => String(lVal()) !== String(rVal()) && data().highlight.includes(key);
|
|
1872
1925
|
return (() => {
|
|
1873
|
-
var _el$
|
|
1874
|
-
insert(_el$
|
|
1875
|
-
insert(_el$
|
|
1926
|
+
var _el$391 = getNextElement(_tmpl$86), _el$392 = _el$391.firstChild, _el$393 = _el$392.nextSibling, _el$394 = _el$393.nextSibling;
|
|
1927
|
+
insert(_el$392, key);
|
|
1928
|
+
insert(_el$393, (() => {
|
|
1876
1929
|
var _c$7 = memo(() => lVal() !== void 0);
|
|
1877
1930
|
return () => _c$7() ? String(lVal()) : "—";
|
|
1878
1931
|
})());
|
|
1879
|
-
insert(_el$
|
|
1932
|
+
insert(_el$394, (() => {
|
|
1880
1933
|
var _c$8 = memo(() => rVal() !== void 0);
|
|
1881
1934
|
return () => _c$8() ? String(rVal()) : "—";
|
|
1882
1935
|
})());
|
|
1883
|
-
effect(() => className(_el$
|
|
1884
|
-
return _el$
|
|
1936
|
+
effect(() => className(_el$391, `border-t border-gray-100 dark:border-gray-700 ${isDiff() ? "bg-yellow-50 dark:bg-yellow-900/10" : ""}`));
|
|
1937
|
+
return _el$391;
|
|
1885
1938
|
})();
|
|
1886
1939
|
}
|
|
1887
1940
|
}));
|
|
1888
|
-
return _el$
|
|
1941
|
+
return _el$383;
|
|
1889
1942
|
})();
|
|
1890
1943
|
};
|
|
1891
1944
|
delegateEvents(["click", "input"]);
|