@seed-ship/mcp-ui-solid 4.0.6 → 4.1.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/dist/components/AgentCard.cjs +122 -0
- package/dist/components/AgentCard.cjs.map +1 -0
- package/dist/components/AgentCard.d.ts +20 -0
- package/dist/components/AgentCard.d.ts.map +1 -0
- package/dist/components/AgentCard.js +122 -0
- package/dist/components/AgentCard.js.map +1 -0
- package/dist/components/AgentHandoff.cjs +49 -0
- package/dist/components/AgentHandoff.cjs.map +1 -0
- package/dist/components/AgentHandoff.d.ts +12 -0
- package/dist/components/AgentHandoff.d.ts.map +1 -0
- package/dist/components/AgentHandoff.js +49 -0
- package/dist/components/AgentHandoff.js.map +1 -0
- package/dist/components/BriefingDiff.cjs +165 -0
- package/dist/components/BriefingDiff.cjs.map +1 -0
- package/dist/components/BriefingDiff.d.ts +12 -0
- package/dist/components/BriefingDiff.d.ts.map +1 -0
- package/dist/components/BriefingDiff.js +165 -0
- package/dist/components/BriefingDiff.js.map +1 -0
- package/dist/components/ScratchpadPanel.cjs +618 -411
- package/dist/components/ScratchpadPanel.cjs.map +1 -1
- package/dist/components/ScratchpadPanel.d.ts.map +1 -1
- package/dist/components/ScratchpadPanel.js +619 -412
- package/dist/components/ScratchpadPanel.js.map +1 -1
- package/dist/components/SplitStepper.cjs +121 -0
- package/dist/components/SplitStepper.cjs.map +1 -0
- package/dist/components/SplitStepper.d.ts +12 -0
- package/dist/components/SplitStepper.d.ts.map +1 -0
- package/dist/components/SplitStepper.js +121 -0
- package/dist/components/SplitStepper.js.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components.cjs +9 -0
- package/dist/components.cjs.map +1 -1
- package/dist/components.d.cts +8 -0
- package/dist/components.d.ts +8 -0
- package/dist/components.js +9 -0
- package/dist/components.js.map +1 -1
- package/dist/index.cjs +9 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/types/chat-bus.d.ts +81 -1
- package/dist/types/chat-bus.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/AgentCard.tsx +109 -0
- package/src/components/AgentHandoff.tsx +64 -0
- package/src/components/BriefingDiff.tsx +93 -0
- package/src/components/ScratchpadPanel.tsx +131 -49
- package/src/components/SplitStepper.tsx +111 -0
- package/src/components/index.ts +13 -0
- package/src/index.ts +15 -0
- package/src/types/chat-bus.ts +70 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BriefingDiff.cjs","sources":["../../src/components/BriefingDiff.tsx"],"sourcesContent":["/**\n * BriefingDiff — highlight changes between two briefings\n * v4.1.0: AITL sprint — added/removed/changed entries with color coding\n *\n * @experimental\n */\n\nimport { For, Show } from 'solid-js'\nimport type { BriefingDiffContent } from '../types/chat-bus'\n\nexport interface BriefingDiffProps {\n content: BriefingDiffContent\n}\n\nconst CHANGE_CONFIG: Record<string, { icon: string; color: string; bg: string }> = {\n added: { icon: '+', color: 'text-green-700 dark:text-green-300', bg: 'bg-green-50 dark:bg-green-900/10' },\n removed: { icon: '\\u2212', color: 'text-red-700 dark:text-red-300', bg: 'bg-red-50 dark:bg-red-900/10' },\n changed: { icon: '\\u2194', color: 'text-amber-700 dark:text-amber-300', bg: 'bg-amber-50 dark:bg-amber-900/10' },\n}\n\nexport function BriefingDiff(props: BriefingDiffProps) {\n const c = () => props.content\n\n if (typeof console !== 'undefined') {\n console.info('[MCP-UI:BriefingDiff] mounted', {\n changes: c().changes.length,\n stats: c().stats,\n })\n }\n\n return (\n <div class=\"briefing-diff space-y-2\">\n {/* Header */}\n <Show when={c().title || c().previousDate || c().currentDate}>\n <div class=\"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400\">\n <Show when={c().title}><span class=\"font-medium\">{c().title}</span></Show>\n <Show when={c().previousDate && c().currentDate}>\n <span>{c().previousDate} → {c().currentDate}</span>\n </Show>\n </div>\n </Show>\n\n {/* Stats summary */}\n <Show when={c().stats}>\n {(stats) => (\n <div class=\"flex items-center gap-3 text-xs\">\n <Show when={stats().added > 0}>\n <span class=\"text-green-600 dark:text-green-400\">+{stats().added} added</span>\n </Show>\n <Show when={stats().removed > 0}>\n <span class=\"text-red-600 dark:text-red-400\">{stats().removed} removed</span>\n </Show>\n <Show when={stats().changed > 0}>\n <span class=\"text-amber-600 dark:text-amber-400\">{stats().changed} changed</span>\n </Show>\n </div>\n )}\n </Show>\n\n {/* Change list */}\n <div class=\"space-y-1\">\n <For each={c().changes}>\n {(change) => {\n const cfg = CHANGE_CONFIG[change.type] || CHANGE_CONFIG.changed\n return (\n <div class={`flex items-start gap-2 px-2 py-1.5 rounded ${cfg.bg}`}>\n <span class={`flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center text-xs font-bold ${cfg.color}`}>\n {cfg.icon}\n </span>\n <div class=\"flex-1 min-w-0\">\n <span class={`text-sm font-medium ${cfg.color}`}>{change.label}</span>\n <Show when={change.type === 'changed' && change.previous && change.current}>\n <div class=\"mt-0.5 text-xs\">\n <span class=\"text-red-500 line-through\">{change.previous}</span>\n <span class=\"mx-1 text-gray-400\">→</span>\n <span class=\"text-green-600 dark:text-green-400\">{change.current}</span>\n </div>\n </Show>\n <Show when={change.type === 'added' && change.current}>\n <div class=\"mt-0.5 text-xs text-gray-600 dark:text-gray-400\">{change.current}</div>\n </Show>\n <Show when={change.type === 'removed' && change.previous}>\n <div class=\"mt-0.5 text-xs text-gray-500 line-through\">{change.previous}</div>\n </Show>\n </div>\n </div>\n )\n }}\n </For>\n </div>\n </div>\n )\n}\n"],"names":["CHANGE_CONFIG","added","icon","color","bg","removed","changed","BriefingDiff","props","c","content","console","info","changes","length","stats","_el$","_$getNextElement","_tmpl$4","_el$13","firstChild","_el$14","_co$5","_$getNextMarker","nextSibling","_el$15","_el$16","_co$6","_el$12","_$insert","_$createComponent","Show","when","title","previousDate","currentDate","children","_el$2","_tmpl$3","_el$0","_el$1","_co$3","_el$10","_el$11","_co$4","_el$3","_tmpl$","_$memo","_el$4","_tmpl$2","_el$6","_el$7","_co$","_el$5","_el$8","_el$9","_co$2","_el$17","_tmpl$8","_el$31","_el$32","_co$0","_el$33","_el$34","_co$1","_el$35","_el$36","_co$10","_el$18","_tmpl$5","_el$19","_el$21","_el$22","_co$7","_el$23","_tmpl$6","_el$25","_el$26","_co$8","_el$27","_tmpl$7","_el$29","_el$30","_co$9","For","each","change","cfg","type","_el$37","_tmpl$10","_el$38","_el$39","_el$40","_el$47","_el$48","_co$11","_el$49","_el$50","_co$12","_el$51","_el$52","_co$13","label","previous","current","_el$41","_tmpl$9","_el$42","_el$43","_el$44","_el$45","_tmpl$0","_el$46","_tmpl$1","_$effect","_p$","_v$","_v$2","_v$3","e","_$className","t","a","undefined"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BriefingDiff — highlight changes between two briefings
|
|
3
|
+
* v4.1.0: AITL sprint — added/removed/changed entries with color coding
|
|
4
|
+
*
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
import type { BriefingDiffContent } from '../types/chat-bus';
|
|
8
|
+
export interface BriefingDiffProps {
|
|
9
|
+
content: BriefingDiffContent;
|
|
10
|
+
}
|
|
11
|
+
export declare function BriefingDiff(props: BriefingDiffProps): import("solid-js").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=BriefingDiff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BriefingDiff.d.ts","sourceRoot":"","sources":["../../src/components/BriefingDiff.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,mBAAmB,CAAA;CAC7B;AAQD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,kCAwEpD"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { getNextElement, template, getNextMarker, insert, createComponent, memo, effect, className } from "solid-js/web";
|
|
2
|
+
import { Show, For } from "solid-js";
|
|
3
|
+
var _tmpl$ = /* @__PURE__ */ template(`<span class=font-medium>`), _tmpl$2 = /* @__PURE__ */ template(`<span><!$><!/> → <!$><!/>`), _tmpl$3 = /* @__PURE__ */ template(`<div class="flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"><!$><!/><!$><!/>`), _tmpl$4 = /* @__PURE__ */ template(`<div class="briefing-diff space-y-2"><!$><!/><!$><!/><div class=space-y-1>`), _tmpl$5 = /* @__PURE__ */ template(`<span class="text-green-600 dark:text-green-400">+<!$><!/> added`), _tmpl$6 = /* @__PURE__ */ template(`<span class="text-red-600 dark:text-red-400"><!$><!/> removed`), _tmpl$7 = /* @__PURE__ */ template(`<span class="text-amber-600 dark:text-amber-400"><!$><!/> changed`), _tmpl$8 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 text-xs"><!$><!/><!$><!/><!$><!/>`), _tmpl$9 = /* @__PURE__ */ template(`<div class="mt-0.5 text-xs"><span class="text-red-500 line-through"></span><span class="mx-1 text-gray-400">→</span><span class="text-green-600 dark:text-green-400">`), _tmpl$0 = /* @__PURE__ */ template(`<div class="mt-0.5 text-xs text-gray-600 dark:text-gray-400">`), _tmpl$1 = /* @__PURE__ */ template(`<div class="mt-0.5 text-xs text-gray-500 line-through">`), _tmpl$10 = /* @__PURE__ */ template(`<div><span></span><div class="flex-1 min-w-0"><span></span><!$><!/><!$><!/><!$><!/>`);
|
|
4
|
+
const CHANGE_CONFIG = {
|
|
5
|
+
added: {
|
|
6
|
+
icon: "+",
|
|
7
|
+
color: "text-green-700 dark:text-green-300",
|
|
8
|
+
bg: "bg-green-50 dark:bg-green-900/10"
|
|
9
|
+
},
|
|
10
|
+
removed: {
|
|
11
|
+
icon: "−",
|
|
12
|
+
color: "text-red-700 dark:text-red-300",
|
|
13
|
+
bg: "bg-red-50 dark:bg-red-900/10"
|
|
14
|
+
},
|
|
15
|
+
changed: {
|
|
16
|
+
icon: "↔",
|
|
17
|
+
color: "text-amber-700 dark:text-amber-300",
|
|
18
|
+
bg: "bg-amber-50 dark:bg-amber-900/10"
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
function BriefingDiff(props) {
|
|
22
|
+
const c = () => props.content;
|
|
23
|
+
if (typeof console !== "undefined") {
|
|
24
|
+
console.info("[MCP-UI:BriefingDiff] mounted", {
|
|
25
|
+
changes: c().changes.length,
|
|
26
|
+
stats: c().stats
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return (() => {
|
|
30
|
+
var _el$ = getNextElement(_tmpl$4), _el$13 = _el$.firstChild, [_el$14, _co$5] = getNextMarker(_el$13.nextSibling), _el$15 = _el$14.nextSibling, [_el$16, _co$6] = getNextMarker(_el$15.nextSibling), _el$12 = _el$16.nextSibling;
|
|
31
|
+
insert(_el$, createComponent(Show, {
|
|
32
|
+
get when() {
|
|
33
|
+
return c().title || c().previousDate || c().currentDate;
|
|
34
|
+
},
|
|
35
|
+
get children() {
|
|
36
|
+
var _el$2 = getNextElement(_tmpl$3), _el$0 = _el$2.firstChild, [_el$1, _co$3] = getNextMarker(_el$0.nextSibling), _el$10 = _el$1.nextSibling, [_el$11, _co$4] = getNextMarker(_el$10.nextSibling);
|
|
37
|
+
insert(_el$2, createComponent(Show, {
|
|
38
|
+
get when() {
|
|
39
|
+
return c().title;
|
|
40
|
+
},
|
|
41
|
+
get children() {
|
|
42
|
+
var _el$3 = getNextElement(_tmpl$);
|
|
43
|
+
insert(_el$3, () => c().title);
|
|
44
|
+
return _el$3;
|
|
45
|
+
}
|
|
46
|
+
}), _el$1, _co$3);
|
|
47
|
+
insert(_el$2, createComponent(Show, {
|
|
48
|
+
get when() {
|
|
49
|
+
return memo(() => !!c().previousDate)() && c().currentDate;
|
|
50
|
+
},
|
|
51
|
+
get children() {
|
|
52
|
+
var _el$4 = getNextElement(_tmpl$2), _el$6 = _el$4.firstChild, [_el$7, _co$] = getNextMarker(_el$6.nextSibling), _el$5 = _el$7.nextSibling, _el$8 = _el$5.nextSibling, [_el$9, _co$2] = getNextMarker(_el$8.nextSibling);
|
|
53
|
+
insert(_el$4, () => c().previousDate, _el$7, _co$);
|
|
54
|
+
insert(_el$4, () => c().currentDate, _el$9, _co$2);
|
|
55
|
+
return _el$4;
|
|
56
|
+
}
|
|
57
|
+
}), _el$11, _co$4);
|
|
58
|
+
return _el$2;
|
|
59
|
+
}
|
|
60
|
+
}), _el$14, _co$5);
|
|
61
|
+
insert(_el$, createComponent(Show, {
|
|
62
|
+
get when() {
|
|
63
|
+
return c().stats;
|
|
64
|
+
},
|
|
65
|
+
children: (stats) => (() => {
|
|
66
|
+
var _el$17 = getNextElement(_tmpl$8), _el$31 = _el$17.firstChild, [_el$32, _co$0] = getNextMarker(_el$31.nextSibling), _el$33 = _el$32.nextSibling, [_el$34, _co$1] = getNextMarker(_el$33.nextSibling), _el$35 = _el$34.nextSibling, [_el$36, _co$10] = getNextMarker(_el$35.nextSibling);
|
|
67
|
+
insert(_el$17, createComponent(Show, {
|
|
68
|
+
get when() {
|
|
69
|
+
return stats().added > 0;
|
|
70
|
+
},
|
|
71
|
+
get children() {
|
|
72
|
+
var _el$18 = getNextElement(_tmpl$5), _el$19 = _el$18.firstChild, _el$21 = _el$19.nextSibling, [_el$22, _co$7] = getNextMarker(_el$21.nextSibling);
|
|
73
|
+
_el$22.nextSibling;
|
|
74
|
+
insert(_el$18, () => stats().added, _el$22, _co$7);
|
|
75
|
+
return _el$18;
|
|
76
|
+
}
|
|
77
|
+
}), _el$32, _co$0);
|
|
78
|
+
insert(_el$17, createComponent(Show, {
|
|
79
|
+
get when() {
|
|
80
|
+
return stats().removed > 0;
|
|
81
|
+
},
|
|
82
|
+
get children() {
|
|
83
|
+
var _el$23 = getNextElement(_tmpl$6), _el$25 = _el$23.firstChild, [_el$26, _co$8] = getNextMarker(_el$25.nextSibling);
|
|
84
|
+
_el$26.nextSibling;
|
|
85
|
+
insert(_el$23, () => stats().removed, _el$26, _co$8);
|
|
86
|
+
return _el$23;
|
|
87
|
+
}
|
|
88
|
+
}), _el$34, _co$1);
|
|
89
|
+
insert(_el$17, createComponent(Show, {
|
|
90
|
+
get when() {
|
|
91
|
+
return stats().changed > 0;
|
|
92
|
+
},
|
|
93
|
+
get children() {
|
|
94
|
+
var _el$27 = getNextElement(_tmpl$7), _el$29 = _el$27.firstChild, [_el$30, _co$9] = getNextMarker(_el$29.nextSibling);
|
|
95
|
+
_el$30.nextSibling;
|
|
96
|
+
insert(_el$27, () => stats().changed, _el$30, _co$9);
|
|
97
|
+
return _el$27;
|
|
98
|
+
}
|
|
99
|
+
}), _el$36, _co$10);
|
|
100
|
+
return _el$17;
|
|
101
|
+
})()
|
|
102
|
+
}), _el$16, _co$6);
|
|
103
|
+
insert(_el$12, createComponent(For, {
|
|
104
|
+
get each() {
|
|
105
|
+
return c().changes;
|
|
106
|
+
},
|
|
107
|
+
children: (change) => {
|
|
108
|
+
const cfg = CHANGE_CONFIG[change.type] || CHANGE_CONFIG.changed;
|
|
109
|
+
return (() => {
|
|
110
|
+
var _el$37 = getNextElement(_tmpl$10), _el$38 = _el$37.firstChild, _el$39 = _el$38.nextSibling, _el$40 = _el$39.firstChild, _el$47 = _el$40.nextSibling, [_el$48, _co$11] = getNextMarker(_el$47.nextSibling), _el$49 = _el$48.nextSibling, [_el$50, _co$12] = getNextMarker(_el$49.nextSibling), _el$51 = _el$50.nextSibling, [_el$52, _co$13] = getNextMarker(_el$51.nextSibling);
|
|
111
|
+
insert(_el$38, () => cfg.icon);
|
|
112
|
+
insert(_el$40, () => change.label);
|
|
113
|
+
insert(_el$39, createComponent(Show, {
|
|
114
|
+
get when() {
|
|
115
|
+
return memo(() => !!(change.type === "changed" && change.previous))() && change.current;
|
|
116
|
+
},
|
|
117
|
+
get children() {
|
|
118
|
+
var _el$41 = getNextElement(_tmpl$9), _el$42 = _el$41.firstChild, _el$43 = _el$42.nextSibling, _el$44 = _el$43.nextSibling;
|
|
119
|
+
insert(_el$42, () => change.previous);
|
|
120
|
+
insert(_el$44, () => change.current);
|
|
121
|
+
return _el$41;
|
|
122
|
+
}
|
|
123
|
+
}), _el$48, _co$11);
|
|
124
|
+
insert(_el$39, createComponent(Show, {
|
|
125
|
+
get when() {
|
|
126
|
+
return memo(() => change.type === "added")() && change.current;
|
|
127
|
+
},
|
|
128
|
+
get children() {
|
|
129
|
+
var _el$45 = getNextElement(_tmpl$0);
|
|
130
|
+
insert(_el$45, () => change.current);
|
|
131
|
+
return _el$45;
|
|
132
|
+
}
|
|
133
|
+
}), _el$50, _co$12);
|
|
134
|
+
insert(_el$39, createComponent(Show, {
|
|
135
|
+
get when() {
|
|
136
|
+
return memo(() => change.type === "removed")() && change.previous;
|
|
137
|
+
},
|
|
138
|
+
get children() {
|
|
139
|
+
var _el$46 = getNextElement(_tmpl$1);
|
|
140
|
+
insert(_el$46, () => change.previous);
|
|
141
|
+
return _el$46;
|
|
142
|
+
}
|
|
143
|
+
}), _el$52, _co$13);
|
|
144
|
+
effect((_p$) => {
|
|
145
|
+
var _v$ = `flex items-start gap-2 px-2 py-1.5 rounded ${cfg.bg}`, _v$2 = `flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center text-xs font-bold ${cfg.color}`, _v$3 = `text-sm font-medium ${cfg.color}`;
|
|
146
|
+
_v$ !== _p$.e && className(_el$37, _p$.e = _v$);
|
|
147
|
+
_v$2 !== _p$.t && className(_el$38, _p$.t = _v$2);
|
|
148
|
+
_v$3 !== _p$.a && className(_el$40, _p$.a = _v$3);
|
|
149
|
+
return _p$;
|
|
150
|
+
}, {
|
|
151
|
+
e: void 0,
|
|
152
|
+
t: void 0,
|
|
153
|
+
a: void 0
|
|
154
|
+
});
|
|
155
|
+
return _el$37;
|
|
156
|
+
})();
|
|
157
|
+
}
|
|
158
|
+
}));
|
|
159
|
+
return _el$;
|
|
160
|
+
})();
|
|
161
|
+
}
|
|
162
|
+
export {
|
|
163
|
+
BriefingDiff
|
|
164
|
+
};
|
|
165
|
+
//# sourceMappingURL=BriefingDiff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BriefingDiff.js","sources":["../../src/components/BriefingDiff.tsx"],"sourcesContent":["/**\n * BriefingDiff — highlight changes between two briefings\n * v4.1.0: AITL sprint — added/removed/changed entries with color coding\n *\n * @experimental\n */\n\nimport { For, Show } from 'solid-js'\nimport type { BriefingDiffContent } from '../types/chat-bus'\n\nexport interface BriefingDiffProps {\n content: BriefingDiffContent\n}\n\nconst CHANGE_CONFIG: Record<string, { icon: string; color: string; bg: string }> = {\n added: { icon: '+', color: 'text-green-700 dark:text-green-300', bg: 'bg-green-50 dark:bg-green-900/10' },\n removed: { icon: '\\u2212', color: 'text-red-700 dark:text-red-300', bg: 'bg-red-50 dark:bg-red-900/10' },\n changed: { icon: '\\u2194', color: 'text-amber-700 dark:text-amber-300', bg: 'bg-amber-50 dark:bg-amber-900/10' },\n}\n\nexport function BriefingDiff(props: BriefingDiffProps) {\n const c = () => props.content\n\n if (typeof console !== 'undefined') {\n console.info('[MCP-UI:BriefingDiff] mounted', {\n changes: c().changes.length,\n stats: c().stats,\n })\n }\n\n return (\n <div class=\"briefing-diff space-y-2\">\n {/* Header */}\n <Show when={c().title || c().previousDate || c().currentDate}>\n <div class=\"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400\">\n <Show when={c().title}><span class=\"font-medium\">{c().title}</span></Show>\n <Show when={c().previousDate && c().currentDate}>\n <span>{c().previousDate} → {c().currentDate}</span>\n </Show>\n </div>\n </Show>\n\n {/* Stats summary */}\n <Show when={c().stats}>\n {(stats) => (\n <div class=\"flex items-center gap-3 text-xs\">\n <Show when={stats().added > 0}>\n <span class=\"text-green-600 dark:text-green-400\">+{stats().added} added</span>\n </Show>\n <Show when={stats().removed > 0}>\n <span class=\"text-red-600 dark:text-red-400\">{stats().removed} removed</span>\n </Show>\n <Show when={stats().changed > 0}>\n <span class=\"text-amber-600 dark:text-amber-400\">{stats().changed} changed</span>\n </Show>\n </div>\n )}\n </Show>\n\n {/* Change list */}\n <div class=\"space-y-1\">\n <For each={c().changes}>\n {(change) => {\n const cfg = CHANGE_CONFIG[change.type] || CHANGE_CONFIG.changed\n return (\n <div class={`flex items-start gap-2 px-2 py-1.5 rounded ${cfg.bg}`}>\n <span class={`flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center text-xs font-bold ${cfg.color}`}>\n {cfg.icon}\n </span>\n <div class=\"flex-1 min-w-0\">\n <span class={`text-sm font-medium ${cfg.color}`}>{change.label}</span>\n <Show when={change.type === 'changed' && change.previous && change.current}>\n <div class=\"mt-0.5 text-xs\">\n <span class=\"text-red-500 line-through\">{change.previous}</span>\n <span class=\"mx-1 text-gray-400\">→</span>\n <span class=\"text-green-600 dark:text-green-400\">{change.current}</span>\n </div>\n </Show>\n <Show when={change.type === 'added' && change.current}>\n <div class=\"mt-0.5 text-xs text-gray-600 dark:text-gray-400\">{change.current}</div>\n </Show>\n <Show when={change.type === 'removed' && change.previous}>\n <div class=\"mt-0.5 text-xs text-gray-500 line-through\">{change.previous}</div>\n </Show>\n </div>\n </div>\n )\n }}\n </For>\n </div>\n </div>\n )\n}\n"],"names":["CHANGE_CONFIG","added","icon","color","bg","removed","changed","BriefingDiff","props","c","content","console","info","changes","length","stats","_el$","_$getNextElement","_tmpl$4","_el$13","firstChild","_el$14","_co$5","_$getNextMarker","nextSibling","_el$15","_el$16","_co$6","_el$12","_$insert","_$createComponent","Show","when","title","previousDate","currentDate","children","_el$2","_tmpl$3","_el$0","_el$1","_co$3","_el$10","_el$11","_co$4","_el$3","_tmpl$","_$memo","_el$4","_tmpl$2","_el$6","_el$7","_co$","_el$5","_el$8","_el$9","_co$2","_el$17","_tmpl$8","_el$31","_el$32","_co$0","_el$33","_el$34","_co$1","_el$35","_el$36","_co$10","_el$18","_tmpl$5","_el$19","_el$21","_el$22","_co$7","_el$23","_tmpl$6","_el$25","_el$26","_co$8","_el$27","_tmpl$7","_el$29","_el$30","_co$9","For","each","change","cfg","type","_el$37","_tmpl$10","_el$38","_el$39","_el$40","_el$47","_el$48","_co$11","_el$49","_el$50","_co$12","_el$51","_el$52","_co$13","label","previous","current","_el$41","_tmpl$9","_el$42","_el$43","_el$44","_el$45","_tmpl$0","_el$46","_tmpl$1","_$effect","_p$","_v$","_v$2","_v$3","e","_$className","t","a","undefined"],"mappings":";;;AAcA,MAAMA,gBAA6E;AAAA,EACjFC,OAAO;AAAA,IAAEC,MAAM;AAAA,IAAKC,OAAO;AAAA,IAAsCC,IAAI;AAAA,EAAA;AAAA,EACrEC,SAAS;AAAA,IAAEH,MAAM;AAAA,IAAUC,OAAO;AAAA,IAAkCC,IAAI;AAAA,EAAA;AAAA,EACxEE,SAAS;AAAA,IAAEJ,MAAM;AAAA,IAAUC,OAAO;AAAA,IAAsCC,IAAI;AAAA,EAAA;AAC9E;AAEO,SAASG,aAAaC,OAA0B;AACrD,QAAMC,IAAIA,MAAMD,MAAME;AAEtB,MAAI,OAAOC,YAAY,aAAa;AAClCA,YAAQC,KAAK,iCAAiC;AAAA,MAC5CC,SAASJ,IAAII,QAAQC;AAAAA,MACrBC,OAAON,IAAIM;AAAAA,IAAAA,CACZ;AAAA,EACH;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,eAAAC,OAAA,GAAAC,SAAAH,KAAAI,YAAA,CAAAC,QAAAC,KAAA,IAAAC,cAAAJ,OAAAK,WAAA,GAAAC,SAAAJ,OAAAG,aAAA,CAAAE,QAAAC,KAAA,IAAAJ,cAAAE,OAAAD,WAAA,GAAAI,SAAAF,OAAAF;AAAAK,WAAAb,MAAAc,gBAGKC,MAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEvB,IAAIwB,SAASxB,IAAIyB,gBAAgBzB,IAAI0B;AAAAA,MAAW;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAC,QAAApB,eAAAqB,OAAA,GAAAC,QAAAF,MAAAjB,YAAA,CAAAoB,OAAAC,KAAA,IAAAlB,cAAAgB,MAAAf,WAAA,GAAAkB,SAAAF,MAAAhB,aAAA,CAAAmB,QAAAC,KAAA,IAAArB,cAAAmB,OAAAlB,WAAA;AAAAK,eAAAQ,OAAAP,gBAEvDC,MAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEvB,IAAIwB;AAAAA,UAAK;AAAA,UAAA,IAAAG,WAAA;AAAA,gBAAAS,QAAA5B,eAAA6B,MAAA;AAAAjB,mBAAAgB,OAAA,MAA6BpC,EAAAA,EAAIwB,KAAK;AAAA,mBAAAY;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAL,OAAAC,KAAA;AAAAZ,eAAAQ,OAAAP,gBAC1DC,MAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEe,KAAA,MAAA,CAAA,CAAAtC,EAAAA,EAAIyB,YAAY,EAAA,KAAIzB,EAAAA,EAAI0B;AAAAA,UAAW;AAAA,UAAA,IAAAC,WAAA;AAAA,gBAAAY,QAAA/B,eAAAgC,OAAA,GAAAC,QAAAF,MAAA5B,YAAA,CAAA+B,OAAAC,IAAA,IAAA7B,cAAA2B,MAAA1B,WAAA,GAAA6B,QAAAF,MAAA3B,aAAA8B,QAAAD,MAAA7B,aAAA,CAAA+B,OAAAC,KAAA,IAAAjC,cAAA+B,MAAA9B,WAAA;AAAAK,mBAAAmB,OAAA,MACtCvC,EAAAA,EAAIyB,cAAYiB,OAAAC,IAAA;AAAAvB,mBAAAmB,OAAA,MAAUvC,EAAAA,EAAI0B,aAAWoB,OAAAC,KAAA;AAAA,mBAAAR;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAL,QAAAC,KAAA;AAAA,eAAAP;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAAhB,QAAAC,KAAA;AAAAO,WAAAb,MAAAc,gBAMrDC,MAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEvB,IAAIM;AAAAA,MAAK;AAAA,MAAAqB,UACjBrB,YAAK,MAAA;AAAA,YAAA0C,SAAAxC,eAAAyC,OAAA,GAAAC,SAAAF,OAAArC,YAAA,CAAAwC,QAAAC,KAAA,IAAAtC,cAAAoC,OAAAnC,WAAA,GAAAsC,SAAAF,OAAApC,aAAA,CAAAuC,QAAAC,KAAA,IAAAzC,cAAAuC,OAAAtC,WAAA,GAAAyC,SAAAF,OAAAvC,aAAA,CAAA0C,QAAAC,MAAA,IAAA5C,cAAA0C,OAAAzC,WAAA;AAAAK,eAAA4B,QAAA3B,gBAEFC,MAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEjB,MAAAA,EAAQd,QAAQ;AAAA,UAAC;AAAA,UAAA,IAAAmC,WAAA;AAAA,gBAAAgC,SAAAnD,eAAAoD,OAAA,GAAAC,SAAAF,OAAAhD,YAAAmD,SAAAD,OAAA9C,aAAA,CAAAgD,QAAAC,KAAA,IAAAlD,cAAAgD,OAAA/C,WAAA;AAAAgD,mBAAAhD;AAAAK,mBAAAuC,QAAA,MACwBrD,MAAAA,EAAQd,OAAKuE,QAAAC,KAAA;AAAA,mBAAAL;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAR,QAAAC,KAAA;AAAAhC,eAAA4B,QAAA3B,gBAEjEC,MAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEjB,MAAAA,EAAQV,UAAU;AAAA,UAAC;AAAA,UAAA,IAAA+B,WAAA;AAAA,gBAAAsC,SAAAzD,eAAA0D,OAAA,GAAAC,SAAAF,OAAAtD,YAAA,CAAAyD,QAAAC,KAAA,IAAAvD,cAAAqD,OAAApD,WAAA;AAAAqD,mBAAArD;AAAAK,mBAAA6C,QAAA,MACiB3D,MAAAA,EAAQV,SAAOwE,QAAAC,KAAA;AAAA,mBAAAJ;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAX,QAAAC,KAAA;AAAAnC,eAAA4B,QAAA3B,gBAE9DC,MAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEjB,MAAAA,EAAQT,UAAU;AAAA,UAAC;AAAA,UAAA,IAAA8B,WAAA;AAAA,gBAAA2C,SAAA9D,eAAA+D,OAAA,GAAAC,SAAAF,OAAA3D,YAAA,CAAA8D,QAAAC,KAAA,IAAA5D,cAAA0D,OAAAzD,WAAA;AAAA0D,mBAAA1D;AAAAK,mBAAAkD,QAAA,MACqBhE,MAAAA,EAAQT,SAAO4E,QAAAC,KAAA;AAAA,mBAAAJ;AAAAA,UAAA;AAAA,QAAA,CAAA,GAAAb,QAAAC,MAAA;AAAA,eAAAV;AAAAA,MAAA,GAAA;AAAA,IAAA,CAGtE,GAAA/B,QAAAC,KAAA;AAAAE,WAAAD,QAAAE,gBAKAsD,KAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE5E,IAAII;AAAAA,MAAO;AAAA,MAAAuB,UAClBkD,CAAAA,WAAW;AACX,cAAMC,MAAMvF,cAAcsF,OAAOE,IAAI,KAAKxF,cAAcM;AACxD,gBAAA,MAAA;AAAA,cAAAmF,SAAAxE,eAAAyE,QAAA,GAAAC,SAAAF,OAAArE,YAAAwE,SAAAD,OAAAnE,aAAAqE,SAAAD,OAAAxE,YAAA0E,SAAAD,OAAArE,aAAA,CAAAuE,QAAAC,MAAA,IAAAzE,cAAAuE,OAAAtE,WAAA,GAAAyE,SAAAF,OAAAvE,aAAA,CAAA0E,QAAAC,MAAA,IAAA5E,cAAA0E,OAAAzE,WAAA,GAAA4E,SAAAF,OAAA1E,aAAA,CAAA6E,QAAAC,MAAA,IAAA/E,cAAA6E,OAAA5E,WAAA;AAAAK,iBAAA8D,QAAA,MAGOJ,IAAIrF,IAAI;AAAA2B,iBAAAgE,QAAA,MAGyCP,OAAOiB,KAAK;AAAA1E,iBAAA+D,QAAA9D,gBAC7DC,MAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEe,KAAA,MAAA,CAAA,EAAAuC,OAAOE,SAAS,aAAaF,OAAOkB,SAAQ,EAAA,KAAIlB,OAAOmB;AAAAA,YAAO;AAAA,YAAA,IAAArE,WAAA;AAAA,kBAAAsE,SAAAzF,eAAA0F,OAAA,GAAAC,SAAAF,OAAAtF,YAAAyF,SAAAD,OAAApF,aAAAsF,SAAAD,OAAArF;AAAAK,qBAAA+E,QAAA,MAE7BtB,OAAOkB,QAAQ;AAAA3E,qBAAAiF,QAAA,MAENxB,OAAOmB,OAAO;AAAA,qBAAAC;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAAX,QAAAC,MAAA;AAAAnE,iBAAA+D,QAAA9D,gBAGnEC,MAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEe,KAAA,MAAAuC,OAAOE,SAAS,OAAO,EAAA,KAAIF,OAAOmB;AAAAA,YAAO;AAAA,YAAA,IAAArE,WAAA;AAAA,kBAAA2E,SAAA9F,eAAA+F,OAAA;AAAAnF,qBAAAkF,QAAA,MACWzB,OAAOmB,OAAO;AAAA,qBAAAM;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAAb,QAAAC,MAAA;AAAAtE,iBAAA+D,QAAA9D,gBAE7EC,MAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAEe,KAAA,MAAAuC,OAAOE,SAAS,SAAS,EAAA,KAAIF,OAAOkB;AAAAA,YAAQ;AAAA,YAAA,IAAApE,WAAA;AAAA,kBAAA6E,SAAAhG,eAAAiG,OAAA;AAAArF,qBAAAoF,QAAA,MACE3B,OAAOkB,QAAQ;AAAA,qBAAAS;AAAAA,YAAA;AAAA,UAAA,CAAA,GAAAZ,QAAAC,MAAA;AAAAa,iBAAAC,CAAAA,QAAA;AAAA,gBAAAC,MAjBjE,8CAA8C9B,IAAInF,EAAE,IAAEkH,OACnD,yFAAyF/B,IAAIpF,KAAK,IAAEoH,OAIlG,uBAAuBhC,IAAIpF,KAAK;AAAEkH,oBAAAD,IAAAI,KAAAC,UAAAhC,QAAA2B,IAAAI,IAAAH,GAAA;AAAAC,qBAAAF,IAAAM,KAAAD,UAAA9B,QAAAyB,IAAAM,IAAAJ,IAAA;AAAAC,qBAAAH,IAAAO,KAAAF,UAAA5B,QAAAuB,IAAAO,IAAAJ,IAAA;AAAA,mBAAAH;AAAAA,UAAA,GAAA;AAAA,YAAAI,GAAAI;AAAAA,YAAAF,GAAAE;AAAAA,YAAAD,GAAAC;AAAAA,UAAAA,CAAA;AAAA,iBAAAnC;AAAAA,QAAA,GAAA;AAAA,MAiBvD;AAAA,IAAA,CAAC,CAAA;AAAA,WAAAzE;AAAAA,EAAA,GAAA;AAKX;"}
|