@twentyfirstmedia/ui-core 0.2.0 → 0.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/dist/components/admin.d.ts.map +1 -1
- package/dist/components/admin.js +95 -71
- package/dist/components/admin.js.map +1 -1
- package/dist/components/agents.d.ts.map +1 -1
- package/dist/components/agents.js +49 -35
- package/dist/components/agents.js.map +1 -1
- package/dist/components/app-chrome.d.ts.map +1 -1
- package/dist/components/app-chrome.js +6 -2
- package/dist/components/app-chrome.js.map +1 -1
- package/dist/components/approvals.d.ts.map +1 -1
- package/dist/components/approvals.js +22 -18
- package/dist/components/approvals.js.map +1 -1
- package/dist/components/building-blocks.d.ts.map +1 -1
- package/dist/components/building-blocks.js +6 -2
- package/dist/components/building-blocks.js.map +1 -1
- package/dist/components/charts.d.ts.map +1 -1
- package/dist/components/charts.js +20 -10
- package/dist/components/charts.js.map +1 -1
- package/dist/components/chat.d.ts.map +1 -1
- package/dist/components/chat.js +31 -19
- package/dist/components/chat.js.map +1 -1
- package/dist/components/commerce.d.ts +2 -2
- package/dist/components/commerce.d.ts.map +1 -1
- package/dist/components/commerce.js +45 -31
- package/dist/components/commerce.js.map +1 -1
- package/dist/components/data-display.d.ts +5 -9
- package/dist/components/data-display.d.ts.map +1 -1
- package/dist/components/data-display.js +34 -35
- package/dist/components/data-display.js.map +1 -1
- package/dist/components/data-table.d.ts.map +1 -1
- package/dist/components/data-table.js +15 -10
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/developer.d.ts.map +1 -1
- package/dist/components/developer.js +20 -11
- package/dist/components/developer.js.map +1 -1
- package/dist/components/feedback.d.ts.map +1 -1
- package/dist/components/feedback.js +12 -6
- package/dist/components/feedback.js.map +1 -1
- package/dist/components/form.d.ts +2 -1
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +12 -9
- package/dist/components/form.js.map +1 -1
- package/dist/components/forms.d.ts +2 -1
- package/dist/components/forms.d.ts.map +1 -1
- package/dist/components/forms.js +92 -42
- package/dist/components/forms.js.map +1 -1
- package/dist/components/foundation.d.ts +5 -2
- package/dist/components/foundation.d.ts.map +1 -1
- package/dist/components/foundation.js +15 -12
- package/dist/components/foundation.js.map +1 -1
- package/dist/components/inputs.d.ts.map +1 -1
- package/dist/components/inputs.js +3 -1
- package/dist/components/inputs.js.map +1 -1
- package/dist/components/mail.d.ts.map +1 -1
- package/dist/components/mail.js +15 -10
- package/dist/components/mail.js.map +1 -1
- package/dist/components/media.d.ts.map +1 -1
- package/dist/components/media.js +39 -18
- package/dist/components/media.js.map +1 -1
- package/dist/components/navigation.d.ts.map +1 -1
- package/dist/components/navigation.js +21 -9
- package/dist/components/navigation.js.map +1 -1
- package/dist/components/operations.d.ts.map +1 -1
- package/dist/components/operations.js +37 -27
- package/dist/components/operations.js.map +1 -1
- package/dist/components/previews.d.ts.map +1 -1
- package/dist/components/previews.js +14 -10
- package/dist/components/previews.js.map +1 -1
- package/dist/components/primitives.d.ts.map +1 -1
- package/dist/components/primitives.js +4 -1
- package/dist/components/primitives.js.map +1 -1
- package/dist/components/real-estate.d.ts.map +1 -1
- package/dist/components/real-estate.js +43 -28
- package/dist/components/real-estate.js.map +1 -1
- package/dist/components/rich-text-editor.d.ts.map +1 -1
- package/dist/components/rich-text-editor.js +18 -15
- package/dist/components/rich-text-editor.js.map +1 -1
- package/dist/components/select-menu.d.ts.map +1 -1
- package/dist/components/select-menu.js +4 -1
- package/dist/components/select-menu.js.map +1 -1
- package/dist/components/shell.d.ts.map +1 -1
- package/dist/components/shell.js +8 -3
- package/dist/components/shell.js.map +1 -1
- package/dist/components/site.d.ts.map +1 -1
- package/dist/components/site.js +17 -13
- package/dist/components/site.js.map +1 -1
- package/dist/components/types.d.ts +102 -3
- package/dist/components/types.d.ts.map +1 -1
- package/dist/components/workspace.d.ts.map +1 -1
- package/dist/components/workspace.js +50 -34
- package/dist/components/workspace.js.map +1 -1
- package/dist/context.d.ts +39 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/format.d.ts +33 -6
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +75 -10
- package/dist/format.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +18 -11
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +11 -18
- package/dist/provider.js.map +1 -1
- package/dist/strings.d.ts +503 -0
- package/dist/strings.d.ts.map +1 -0
- package/dist/strings.js +537 -0
- package/dist/strings.js.map +1 -0
- package/package.json +1 -1
- package/src/components/admin.tsx +117 -93
- package/src/components/agents.tsx +55 -41
- package/src/components/app-chrome.tsx +6 -2
- package/src/components/approvals.tsx +26 -22
- package/src/components/building-blocks.tsx +6 -2
- package/src/components/charts.tsx +21 -11
- package/src/components/chat.tsx +45 -35
- package/src/components/commerce.tsx +61 -53
- package/src/components/data-display.tsx +38 -45
- package/src/components/data-table.tsx +20 -15
- package/src/components/developer.tsx +26 -15
- package/src/components/feedback.tsx +19 -7
- package/src/components/form.tsx +17 -9
- package/src/components/forms.tsx +131 -53
- package/src/components/foundation.tsx +23 -36
- package/src/components/inputs.tsx +4 -2
- package/src/components/mail.tsx +16 -11
- package/src/components/media.tsx +64 -21
- package/src/components/navigation.tsx +25 -13
- package/src/components/operations.tsx +40 -32
- package/src/components/previews.tsx +17 -15
- package/src/components/primitives.tsx +8 -5
- package/src/components/real-estate.tsx +55 -35
- package/src/components/rich-text-editor.tsx +20 -17
- package/src/components/select-menu.tsx +5 -2
- package/src/components/shell.tsx +8 -3
- package/src/components/site.tsx +18 -14
- package/src/components/types.ts +111 -3
- package/src/components/workspace.tsx +79 -60
- package/src/context.ts +112 -0
- package/src/format.ts +108 -15
- package/src/index.ts +43 -0
- package/src/provider.tsx +36 -40
- package/src/strings.ts +1500 -0
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { useMounted, useWidth } from "../hooks.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useFormat, useStrings } from "../context.js";
|
|
6
|
+
import { CHARTS_STRINGS } from "../strings.js";
|
|
6
7
|
import { cx } from "../cx.js";
|
|
7
8
|
import { Icon } from "../Icon.js";
|
|
8
9
|
import { CountUp } from "./data-display.js";
|
|
@@ -11,9 +12,10 @@ function niceMax(m) {
|
|
|
11
12
|
return Math.ceil(m / p) * p;
|
|
12
13
|
}
|
|
13
14
|
export function BarChart(p) {
|
|
15
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
14
16
|
const mw = useWidth(p.width, 560), data = p.data || [], W = mw[1], Hh = p.height || 200, pad = 34, max = niceMax(Math.max.apply(null, data.map((d) => d.value).concat([1])));
|
|
15
17
|
const n = data.length, gw = Math.max(1, (W - pad) / n), bw = Math.max(1, Math.min(p.barWidth || 28, gw * 0.62)), ticks = [0, 0.5, 1];
|
|
16
|
-
return (_jsx("div", { ref: mw[0], className: "tf-chart-wrap", children: _jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), preserveAspectRatio: "xMinYMin meet", role: "img", "aria-label": p.label ||
|
|
18
|
+
return (_jsx("div", { ref: mw[0], className: "tf-chart-wrap", children: _jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), preserveAspectRatio: "xMinYMin meet", role: "img", "aria-label": p.label || t.barChart, children: [ticks.map((t) => {
|
|
17
19
|
const y = Hh - t * (Hh - 10);
|
|
18
20
|
return (_jsxs("g", { children: [_jsx("line", { className: "grid", x1: pad, x2: W, y1: y, y2: y, strokeDasharray: t ? "3 5" : undefined }), _jsx("text", { x: 0, y: y + 4, children: p.format ? p.format(max * t) : Math.round(max * t) })] }, t));
|
|
19
21
|
}), data.map((d, i) => {
|
|
@@ -24,6 +26,7 @@ export function BarChart(p) {
|
|
|
24
26
|
})] }) }));
|
|
25
27
|
}
|
|
26
28
|
export function LineChart(p) {
|
|
29
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
27
30
|
const mw = useWidth(p.width, 560), series = p.series || [], labels = p.labels || [], W = mw[1], Hh = p.height || 200, pad = 44;
|
|
28
31
|
let all = [];
|
|
29
32
|
series.forEach((s) => {
|
|
@@ -39,7 +42,7 @@ export function LineChart(p) {
|
|
|
39
42
|
function path(vals) {
|
|
40
43
|
return vals.map((v, i) => (i ? "L" : "M") + X(i).toFixed(1) + " " + Y(v).toFixed(1)).join(" ");
|
|
41
44
|
}
|
|
42
|
-
return (_jsx("div", { ref: mw[0], className: "tf-chart-wrap", children: _jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), preserveAspectRatio: "xMinYMin meet", role: "img", "aria-label": p.label ||
|
|
45
|
+
return (_jsx("div", { ref: mw[0], className: "tf-chart-wrap", children: _jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), preserveAspectRatio: "xMinYMin meet", role: "img", "aria-label": p.label || t.lineChart, children: [[0, 0.5, 1].map((t) => {
|
|
43
46
|
const y = Hh - t * (Hh - 12);
|
|
44
47
|
return (_jsxs("g", { children: [_jsx("line", { className: "grid", x1: pad, x2: W, y1: y, y2: y, strokeDasharray: t ? "3 5" : undefined }), _jsx("text", { x: 0, y: y + 4, children: p.format ? p.format(max * t) : Math.round(max * t) })] }, t));
|
|
45
48
|
}), labels.map((l, i) => (_jsx("text", { x: X(i), y: Hh + 18, textAnchor: "middle", children: l }, l + i))), series.map((s, si) => {
|
|
@@ -50,6 +53,7 @@ export function LineChart(p) {
|
|
|
50
53
|
})] }) }));
|
|
51
54
|
}
|
|
52
55
|
export function Sparkline(p) {
|
|
56
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
53
57
|
const v = p.values || [], W = p.width || 120, Hh = p.height || 36, max = Math.max.apply(null, v), min = Math.min.apply(null, v), rng = max - min || 1;
|
|
54
58
|
const d = v
|
|
55
59
|
.map((x, i) => (i ? "L" : "M") +
|
|
@@ -57,11 +61,12 @@ export function Sparkline(p) {
|
|
|
57
61
|
" " +
|
|
58
62
|
(Hh - 3 - ((x - min) / rng) * (Hh - 6)).toFixed(1))
|
|
59
63
|
.join(" ");
|
|
60
|
-
return (_jsx("svg", { className: "tf-chart", viewBox: "0 0 " + W + " " + Hh, width: W, height: Hh, role: "img", "aria-label": p.label ||
|
|
64
|
+
return (_jsx("svg", { className: "tf-chart", viewBox: "0 0 " + W + " " + Hh, width: W, height: Hh, role: "img", "aria-label": p.label || t.trend, children: _jsx("path", { className: cx("tf-line", "tf-line-" + (p.tint || "ink")), d: d, pathLength: 1, style: {
|
|
61
65
|
strokeWidth: 2,
|
|
62
66
|
} }) }));
|
|
63
67
|
}
|
|
64
68
|
export function Donut(p) {
|
|
69
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
65
70
|
const data = p.data || [], size = p.size || 168, sw = p.stroke || 22, r = (size - sw) / 2, c = 2 * Math.PI * r, total = data.reduce((a, d) => a + d.value, 0) || 1, on = useMounted(150);
|
|
66
71
|
let acc = 0;
|
|
67
72
|
const gap = data.length > 1 ? 6 : 0;
|
|
@@ -70,7 +75,7 @@ export function Donut(p) {
|
|
|
70
75
|
}, children: [_jsxs("div", { className: "tf-ring", style: {
|
|
71
76
|
width: size,
|
|
72
77
|
height: size,
|
|
73
|
-
}, children: [_jsxs("svg", { width: size, height: size, viewBox: "0 0 " + size + " " + size, role: "img", "aria-label": p.label ||
|
|
78
|
+
}, children: [_jsxs("svg", { width: size, height: size, viewBox: "0 0 " + size + " " + size, role: "img", "aria-label": p.label || t.breakdown, children: [_jsx("circle", { className: "tf-arc-track", cx: size / 2, cy: size / 2, r: r, strokeWidth: sw }), data.map((d, i) => {
|
|
74
79
|
const len = Math.max(0, (c * d.value) / total - gap), off = acc;
|
|
75
80
|
acc += (c * d.value) / total;
|
|
76
81
|
return (_jsx("circle", { className: cx("tf-arc", "tf-arc-" + (d.tint || "ink")), cx: size / 2, cy: size / 2, r: r, strokeWidth: sw, strokeDasharray: (on ? len : 0) + " " + c, strokeDashoffset: -off, style: {
|
|
@@ -96,10 +101,11 @@ export function Legend(p) {
|
|
|
96
101
|
return (_jsx("div", { className: "tf-legend", children: (p.items || []).map((s) => (_jsxs("span", { children: [_jsx("i", { className: "tf-sw tf-sw-" + (s.tint || "ink") }), s.name || s.label] }, s.name || s.label))) }));
|
|
97
102
|
}
|
|
98
103
|
export function StackedBarChart(p) {
|
|
104
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
99
105
|
const mw = useWidth(p.width, 560), W = mw[1], Hh = p.height || 200, pad = 40, series = p.series || [], labels = p.labels || [], hov = React.useState(null), f = p.format || ((v) => Math.round(v));
|
|
100
106
|
const totals = labels.map((_, i) => series.reduce((a, s) => a + (s.values[i] || 0), 0)), max = niceMax(Math.max.apply(null, totals.concat([1])));
|
|
101
107
|
const n = labels.length || 1, gw = Math.max(1, (W - pad) / n), bw = Math.max(1, Math.min(p.barWidth || 28, gw * 0.62));
|
|
102
|
-
return (_jsxs("div", { ref: mw[0], className: "tf-chart-wrap tf-chart-hover", children: [_jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), role: "img", "aria-label": p.label ||
|
|
108
|
+
return (_jsxs("div", { ref: mw[0], className: "tf-chart-wrap tf-chart-hover", children: [_jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), role: "img", "aria-label": p.label || t.stackedBarChart, onPointerLeave: () => {
|
|
103
109
|
hov[1](null);
|
|
104
110
|
}, children: [[0, 0.5, 1].map((t) => {
|
|
105
111
|
const y = Hh - t * (Hh - 10);
|
|
@@ -191,6 +197,7 @@ function smooth(pts) {
|
|
|
191
197
|
return d;
|
|
192
198
|
}
|
|
193
199
|
export function AreaChart(p) {
|
|
200
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
194
201
|
const mw = useWidth(p.width, 560), W = mw[1], Hh = p.height || 200, pad = 44, series = p.series || [], labels = p.labels || [], hov = React.useState(null), f = p.format || ((v) => Math.round(v));
|
|
195
202
|
const n = labels.length, stacked = p.stacked !== false;
|
|
196
203
|
let base = labels.map(() => 0);
|
|
@@ -212,7 +219,7 @@ export function AreaChart(p) {
|
|
|
212
219
|
function Y(v) {
|
|
213
220
|
return Hh - (v / max) * (Hh - 12);
|
|
214
221
|
}
|
|
215
|
-
return (_jsxs("div", { ref: mw[0], className: "tf-chart-wrap tf-chart-hover", children: [_jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), role: "img", "aria-label": p.label ||
|
|
222
|
+
return (_jsxs("div", { ref: mw[0], className: "tf-chart-wrap tf-chart-hover", children: [_jsxs("svg", { className: "tf-chart", width: W, height: Hh + 22, viewBox: "0 0 " + W + " " + (Hh + 22), role: "img", "aria-label": p.label || t.areaChart, onPointerMove: (e) => {
|
|
216
223
|
const r = e.currentTarget.getBoundingClientRect(), x = ((e.clientX - r.left) * W) / r.width;
|
|
217
224
|
hov[1](Math.max(0, Math.min(n - 1, Math.round((x - pad - 8) / ((W - pad - 16) / Math.max(1, n - 1))))));
|
|
218
225
|
}, onPointerLeave: () => {
|
|
@@ -239,13 +246,14 @@ export function AreaChart(p) {
|
|
|
239
246
|
})) })), p.legend !== false && _jsx(Legend, { items: series })] }));
|
|
240
247
|
}
|
|
241
248
|
export function Heatmap(p) {
|
|
249
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
242
250
|
const rows = p.rows || [], cols = p.cols || [], vals = p.values || [], flat = vals.flat(), max = Math.max(...flat, 1), f = p.format || String, hov = React.useState(null);
|
|
243
251
|
function lvl(v) {
|
|
244
252
|
return v <= 0 ? 0 : Math.min(4, Math.ceil((v / max) * 4));
|
|
245
253
|
}
|
|
246
254
|
return (_jsxs("div", { className: "tf-heat-wrap", children: [_jsxs("div", { className: "tf-heat", style: {
|
|
247
255
|
gridTemplateColumns: "auto repeat(" + cols.length + ", minmax(0, 1fr))",
|
|
248
|
-
}, role: "img", "aria-label": p.label ||
|
|
256
|
+
}, role: "img", "aria-label": p.label || t.heatmap, onPointerLeave: () => {
|
|
249
257
|
hov[1](null);
|
|
250
258
|
}, children: [_jsx("span", {}), cols.map((c, i) => (_jsx("span", { className: "tf-heat-col", children: (p.colEvery ? i % p.colEvery === 0 : true) ? c : "" }, "c" + i))), rows.map((r, ri) => (_jsxs(React.Fragment, { children: [_jsx("span", { className: "tf-heat-row", children: r }), cols.map((c, ci) => {
|
|
251
259
|
const v = (vals[ri] || [])[ci] || 0;
|
|
@@ -260,9 +268,10 @@ export function Heatmap(p) {
|
|
|
260
268
|
cols[hov[0][1]] +
|
|
261
269
|
" — " +
|
|
262
270
|
f((vals[hov[0][0]] || [])[hov[0][1]] || 0)
|
|
263
|
-
: p.caption || "" }), _jsxs("span", { className: "tf-heat-scale", children: [
|
|
271
|
+
: p.caption || "" }), _jsxs("span", { className: "tf-heat-scale", children: [t.less, [0, 1, 2, 3, 4].map((l) => (_jsx("i", { className: "tf-heat-cell l" + l }, l))), t.more] })] })] }));
|
|
264
272
|
}
|
|
265
273
|
export function Funnel(p) {
|
|
274
|
+
const { formatNumber } = useFormat();
|
|
266
275
|
const steps = p.steps || [], top = (steps[0] && steps[0].value) || 1, f = p.format || ((v) => formatNumber(v)), on = useMounted(120);
|
|
267
276
|
return (_jsx("div", { className: "tf-funnel", children: steps.map((s, i) => {
|
|
268
277
|
const pct = (s.value / top) * 100, conv = i ? (s.value / (steps[i - 1].value || 1)) * 100 : null;
|
|
@@ -273,6 +282,7 @@ export function Funnel(p) {
|
|
|
273
282
|
}) }));
|
|
274
283
|
}
|
|
275
284
|
export function Gauge(p) {
|
|
285
|
+
const t = useStrings(CHARTS_STRINGS);
|
|
276
286
|
const size = p.size || 200, sw = p.stroke || 18, r = (size - sw) / 2, c = Math.PI * r, max = p.max || 100, v = Math.max(0, Math.min(max, p.value || 0)), on = useMounted(150);
|
|
277
287
|
const tone = p.tint ||
|
|
278
288
|
(p.thresholds
|
|
@@ -284,7 +294,7 @@ export function Gauge(p) {
|
|
|
284
294
|
: "ink");
|
|
285
295
|
return (_jsxs("div", { className: "tf-gauge", style: {
|
|
286
296
|
width: size,
|
|
287
|
-
}, children: [_jsxs("svg", { width: size, height: size / 2 + sw / 2, viewBox: "0 0 " + size + " " + (size / 2 + sw / 2), role: "img", "aria-label":
|
|
297
|
+
}, children: [_jsxs("svg", { width: size, height: size / 2 + sw / 2, viewBox: "0 0 " + size + " " + (size / 2 + sw / 2), role: "img", "aria-label": t.gaugeValue(p.label || t.gauge, v, max), children: [_jsx("path", { className: "tf-arc-track", d: "M" +
|
|
288
298
|
sw / 2 +
|
|
289
299
|
" " +
|
|
290
300
|
size / 2 +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../../src/components/charts.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAc5C,SAAS,OAAO,CAAC,CAAS;IACxB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AACD,MAAM,UAAU,QAAQ,CAAC,CAAgB;IACvC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/B,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,EACnB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EACT,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,EACpB,GAAG,GAAG,EAAE,EACR,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EACnB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAC/B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EACvD,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,OAAO,CACL,cAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,eAAe,YACxC,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACrC,mBAAmB,EAAC,eAAe,EACnC,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,WAAW,aAEjC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACf,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7B,OAAO,CACL,wBACE,eACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACtC,EACF,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,YACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAC9C,KAXD,CAAC,CAYL,CACL,CAAC;gBACJ,CAAC,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EACjD,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;oBACnC,OAAO,CACL,wBACE,eACE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAChE,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,EAAE,GAAG,EAAE,EACV,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EACxB,KAAK,EAAE;oCACL,cAAc,EAAE,kCAAkC,GAAG,GAAG,CAAC,GAAG,EAAE,6BAA6B;iCAC5F,YAED,0BAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,GAAS,GACpC,EACP,eAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAC,QAAQ,YACjD,CAAC,CAAC,KAAK,GACH,KAhBD,CAAC,CAiBL,CACL,CAAC;gBACJ,CAAC,CAAC,IACE,GACF,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,CAAiB;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/B,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EACT,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,EACpB,GAAG,GAAG,EAAE,CAAC;IACX,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EACtC,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,SAAS,CAAC,CAAC,CAAS;QAClB,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,SAAS,CAAC,CAAC,CAAS;QAClB,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,SAAS,IAAI,CAAC,IAAc;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,CACL,cAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,eAAe,YACxC,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACrC,mBAAmB,EAAC,eAAe,EACnC,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,YAAY,aAElC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACrB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC7B,OAAO,CACL,wBACE,eACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACtC,EACF,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,YACjB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,GAC9C,KAXD,CAAC,CAYL,CACL,CAAC;gBACJ,CAAC,CAAC,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,eAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAC,QAAQ,YACvD,CAAC,IADO,CAAC,GAAG,CAAC,CAET,CACR,CAAC,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oBACpB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,EAC1B,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAClB,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC7B,OAAO,CACL,wBACG,CAAC,CAAC,IAAI,IAAI,CACT,eACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,EAC3C,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,GAChE,CACH,EACD,eACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,EAC3C,CAAC,EAAE,CAAC,EACJ,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;oCACL,cAAc,EAAE,kCAAkC,GAAG,GAAG,EAAE,GAAG,GAAG,6BAA6B;iCAC9F,GACD,EACF,iBACE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC,EAC5C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EACX,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACrB,CAAC,EAAE,GAAG,GACN,KApBI,EAAE,CAqBN,CACL,CAAC;gBACJ,CAAC,CAAC,IACE,GACF,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,CAAiB;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACtB,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,EAClB,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACnB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAC7B,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,CAAC;SACR,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,GAAG;QACH,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACrD;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,CACL,cACE,SAAS,EAAC,UAAU,EACpB,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAC9B,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,EAAE,EACV,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,OAAO,YAE9B,eACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EACxD,CAAC,EAAE,CAAC,EACJ,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;gBACL,WAAW,EAAE,CAAC;aACf,GACD,GACE,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,EACvB,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,EACpB,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACnB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EACnB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EACnB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAClD,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,CACL,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE;YACL,GAAG,EAAE,EAAE;SACR,aAED,eACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE;oBACL,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;iBACb,aAED,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,EACnC,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,WAAW,aAElC,iBAAQ,SAAS,EAAC,cAAc,EAAC,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,GAAI,EACrF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gCACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,EAClD,GAAG,GAAG,GAAG,CAAC;gCACZ,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gCAC7B,OAAO,CACL,iBAEE,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EACtD,EAAE,EAAE,IAAI,GAAG,CAAC,EACZ,EAAE,EAAE,IAAI,GAAG,CAAC,EACZ,CAAC,EAAE,CAAC,EACJ,WAAW,EAAE,EAAE,EACf,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,EACzC,gBAAgB,EAAE,CAAC,GAAG,EACtB,KAAK,EAAE;wCACL,UAAU,EAAE,mDAAmD,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;qCAChF,IAVI,CAAC,CAWN,CACH,CAAC;4BACJ,CAAC,CAAC,IACE,EACL,CAAC,CAAC,MAAM,IAAI,CACX,eAAM,SAAS,EAAC,eAAe,YAC7B,2BACE,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,CAAC,MAAM,GAAI,EAC3B,CAAC,CAAC,OAAO,IAAI,0BAAQ,CAAC,CAAC,OAAO,GAAS,IACnC,GACF,CACR,IACG,EACL,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,CACrB,cACE,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE;oBACL,GAAG,EAAE,EAAE;iBACR,YAEA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClB,eAEE,SAAS,EAAC,WAAW,EACrB,KAAK,EAAE;wBACL,cAAc,EAAE,eAAe;qBAChC,aAED,2BACE,YACE,KAAK,EAAE;wCACL,UAAU,EACR,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,GAAG,OAAO;qCAC/E,GACD,EACD,CAAC,CAAC,KAAK,IACH,EACP,YACE,KAAK,EAAE;gCACL,KAAK,EAAE,YAAY;6BACpB,YAEA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GACxC,KArBC,CAAC,CAsBF,CACP,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAaD,MAAM,UAAU,QAAQ,CAAC,CAAgB;IACvC,OAAO,CACL,eACE,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,CAAC;YACT,GAAG,EAAE,CAAC,CAAC,CAAC;SACT,aAED,sBAAI,CAAC,CAAC,KAAK,GAAK,EACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,2BACE,YAAG,SAAS,EAAE,cAAc,GAAG,CAAC,CAAC,IAAI,GAAI,EACxC,CAAC,CAAC,KAAK,EACR,uBAAK,CAAC,CAAC,KAAK,GAAM,KAHT,CAAC,CAAC,KAAK,CAIX,CACR,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,CAAc;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACvB,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,2BACE,YAAG,SAAS,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,GAAI,EACnD,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAFT,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAGrB,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,CAAuB;IACrD,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/B,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EACT,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,EACpB,GAAG,GAAG,EAAE,EACR,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,EACzC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACrF,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,EAC1B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAC/B,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO,CACL,eAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,8BAA8B,aACvD,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACrC,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,mBAAmB,EAC1C,cAAc,EAAE,GAAG,EAAE;oBACnB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,aAEA,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACrB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC7B,OAAO,CACL,wBACE,eACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACtC,EACF,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,YACjB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GACN,KAXD,CAAC,CAYL,CACL,CAAC;oBACJ,CAAC,CAAC,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACnB,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;wBACvC,IAAI,GAAG,GAAG,CAAC,CAAC;wBACZ,OAAO,CACL,aAEE,cAAc,EAAE,GAAG,EAAE;gCACnB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACZ,CAAC,EACD,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,aAE7D,eAAM,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,aAAa,GAAG,EACxE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;oCACpB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EACxB,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAC1B,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;oCACpB,GAAG,IAAI,EAAE,CAAC;oCACV,MAAM,GAAG,GACP,EAAE,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oCACpF,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,CACP,eAEE,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EACzD,KAAK,EAAE;4CACL,cAAc,EAAE,kCAAkC,GAAG,GAAG,CAAC,GAAG,EAAE,6BAA6B;yCAC5F,EACD,CAAC,EACC,GAAG;4CACD,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;4CAC9D,CAAC,CAAC,GAAG;gDACH,CAAC;gDACD,GAAG;gDACH,CAAC;gDACD,GAAG;gDACH,EAAE;gDACF,GAAG;gDACH,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gDACnB,IAAI;gDACJ,EAAE;gDACF,GAAG,IAlBJ,EAAE,CAoBP,CACH,CACF,CAAC;gCACJ,CAAC,CAAC,EACF,eAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAC,QAAQ,YACjD,CAAC,GACG,KA3CF,CAAC,CA4CJ,CACL,CAAC;oBACJ,CAAC,CAAC,IACE,EACL,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CACjB,KAAC,QAAQ,IACP,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,EACrD,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EACjD,IAAI,EAAE,MAAM;qBACT,KAAK,EAAE;qBACP,OAAO,EAAE;qBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,KAAK,EAAE,CAAC,CAAC,IAAI;oBACb,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;oBACrB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,IAAI,CAAC,CAAC;iBAC1C,CAAC,CAAC,GACL,CACH,EACA,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,KAAC,MAAM,IAAC,KAAK,EAAE,MAAM,GAAI,IAC5C,CACP,CAAC;AACJ,CAAC;AACD,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,CAAS;IACtE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,CACL,GAAG;QACH,CAAC;QACD,GAAG;QACH,CAAC,CAAC,GAAG,EAAE,CAAC;QACR,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,CAAC;QACP,GAAG;QACH,CAAC;QACD,GAAG;QACH,CAAC;QACD,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,CAAC;QACP,GAAG;QACH,CAAC;QACD,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACX,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,CAAC;QACP,GAAG;QACH,CAAC;QACD,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,CAAC;QACP,GAAG;QACH,CAAC,CAAC,GAAG,CAAC,CAAC;QACP,GAAG;QACH,CAAC,CAAC,GAAG,EAAE,CAAC;QACR,GAAG,CACJ,CAAC;AACJ,CAAC;AACD,SAAS,MAAM,CAAC,GAAe;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EACd,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EACd,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;YACC,IAAI;gBACJ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACb,GAAG;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACf,GAAG;gBACH,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBACb,GAAG;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACf,GAAG;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACf,GAAG;gBACH,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,CAAiB;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/B,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EACT,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,EACpB,GAAG,GAAG,EAAE,EACR,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACvB,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,EACzC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EACrB,OAAO,GAAG,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;IAChC,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAIN,EAAE,CAAC;IACT,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChD,EAAE,EAAE,GAAG;SACR,CAAC,CAAC;QACH,IAAI,OAAO;YAAE,IAAI,GAAG,GAAG,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAW,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,SAAS,CAAC,CAAC,CAAS;QAClB,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,SAAS,CAAC,CAAC,CAAS;QAClB,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CACL,eAAK,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAC,8BAA8B,aACvD,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,EAAE,GAAG,EAAE,EACf,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EACrC,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,YAAY,EACnC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;oBACnB,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,EAC/C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBAC3C,GAAG,CAAC,CAAC,CAAC,CACJ,IAAI,CAAC,GAAG,CACN,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACnF,CACF,CAAC;gBACJ,CAAC,EACD,cAAc,EAAE,GAAG,EAAE;oBACnB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,aAEA,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACrB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC7B,OAAO,CACL,wBACE,eACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,CAAC,EACL,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GACtC,EACF,eAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,YACjB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GACN,KAXD,CAAC,CAYL,CACL,CAAC;oBACJ,CAAC,CAAC,EACD,MAAM,CAAC,GAAG,CACT,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CACzC,eAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAC,QAAQ,YACnD,CAAC,IADO,CAAC,CAEL,CACR,CACJ,EACA,MAAM;yBACJ,KAAK,EAAE;yBACP,OAAO,EAAE;yBACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACZ,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAChD,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;wBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EACtB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACxC,OAAO,CACL,wBACE,eAAM,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAI,EACjF,eACE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC,EAC3C,CAAC,EAAE,IAAI,EACP,UAAU,EAAE,CAAC,EACb,KAAK,EAAE;wCACL,WAAW,EAAE,CAAC;qCACf,GACD,KATI,CAAC,CAUL,CACL,CAAC;oBACJ,CAAC,CAAC,EACH,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CACjB,wBACE,eAAM,SAAS,EAAC,cAAc,EAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAI,EAC7E,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,iBAEE,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAC7D,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,EACvB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,IAJC,CAAC,CAKN,CACH,CAAC,IACA,CACL,IACG,EACL,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CACjB,KAAC,QAAQ,IACP,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EACzD,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,MAAM;qBACT,KAAK,EAAE;qBACP,OAAO,EAAE;qBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACX,KAAK,EAAE,CAAC,CAAC,IAAI;oBACb,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;oBACrB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;iBACrC,CAAC,CAAC,GACL,CACH,EACA,CAAC,CAAC,MAAM,KAAK,KAAK,IAAI,KAAC,MAAM,IAAC,KAAK,EAAE,MAAM,GAAI,IAC5C,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,CAAe;IACrC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,EACvB,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,EACnB,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACrB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAClB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAC1B,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,EACtB,GAAG,GAAG,KAAK,CAAC,QAAQ,CAA0B,IAAI,CAAC,CAAC;IACtD,SAAS,GAAG,CAAC,CAAS;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,cAAc,aAC3B,eACE,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE;oBACL,mBAAmB,EAAE,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB;iBACxE,EACD,IAAI,EAAC,KAAK,gBACE,CAAC,CAAC,KAAK,IAAI,SAAS,EAChC,cAAc,EAAE,GAAG,EAAE;oBACnB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,aAED,gBAAQ,EACP,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClB,eAAoB,SAAS,EAAC,aAAa,YACxC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAD3C,GAAG,GAAG,CAAC,CAEX,CACR,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CACnB,MAAC,KAAK,CAAC,QAAQ,eACb,eAAM,SAAS,EAAC,aAAa,YAAE,CAAC,GAAQ,EACvC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;gCAClB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gCACpC,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CACX,cAAc,EACd,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EACZ,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,CACxD,EACD,KAAK,EAAE;wCACL,cAAc,EAAE,kCAAkC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,6BAA6B;qCACjG,EACD,cAAc,EAAE,GAAG,EAAE;wCACnB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oCACnB,CAAC,EACD,KAAK,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAZ3B,EAAE,CAaP,CACH,CAAC;4BACJ,CAAC,CAAC,KArBiB,EAAE,CAsBN,CAClB,CAAC,IACE,EACN,eAAK,SAAS,EAAC,cAAc,aAC3B,yBACG,GAAG,CAAC,CAAC,CAAC;4BACL,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACf,KAAK;gCACL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCACf,KAAK;gCACL,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC5C,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,GACd,EACP,gBAAM,SAAS,EAAC,eAAe,aAC5B,MAAM,EACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,YAAW,SAAS,EAAE,gBAAgB,GAAG,CAAC,IAAlC,CAAC,CAAqC,CAC/C,CAAC,EACD,MAAM,IACF,IACH,IACF,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,MAAM,CAAC,CAAc;IACnC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,EACzB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACxC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACvB,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAC/B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,OAAO,CACL,eAAa,SAAS,EAAC,eAAe,aACpC,eAAK,SAAS,EAAC,iBAAiB,aAC9B,sBAAI,CAAC,CAAC,KAAK,GAAK,EAChB,yBAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAQ,IACrB,EACN,eAAK,SAAS,EAAC,iBAAiB,aAC9B,eACE,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EACtE,KAAK,EAAE;oCACL,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;oCACxC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;iCAC/B,GACD,EACF,uBAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAM,IAC5B,EACN,cAAK,SAAS,EAAC,gBAAgB,YAC5B,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CACd,8BACE,KAAC,IAAI,IAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,EAAE,GAAI,EACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IACtB,CACJ,CAAC,CAAC,CAAC,CACF,EAAE,CACH,GACG,KAxBE,CAAC,CAyBL,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,KAAK,CAAC,CAAa;IACjC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,EACxB,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,EACnB,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EACnB,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,EACf,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,EAClB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAC5C,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACvB,MAAM,IAAI,GACR,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,UAAU;YACX,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACpB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,MAAM;YACZ,CAAC,CAAC,KAAK,CAAC,CAAC;IACb,OAAO,CACL,eACE,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;SACZ,aAED,eACE,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EACzB,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAClD,IAAI,EAAC,KAAK,gBACE,GAAG,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,GAAG,EAAE,aAEnD,eACE,SAAS,EAAC,cAAc,EACxB,CAAC,EACC,GAAG;4BACH,EAAE,GAAG,CAAC;4BACN,GAAG;4BACH,IAAI,GAAG,CAAC;4BACR,IAAI;4BACJ,CAAC;4BACD,GAAG;4BACH,CAAC;4BACD,SAAS;4BACT,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;4BACf,GAAG;4BACH,IAAI,GAAG,CAAC,EAEV,WAAW,EAAE,EAAE,EACf,aAAa,EAAC,OAAO,GACrB,EACF,eACE,SAAS,EAAE,EAAE,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC,EAC/C,CAAC,EACC,GAAG;4BACH,EAAE,GAAG,CAAC;4BACN,GAAG;4BACH,IAAI,GAAG,CAAC;4BACR,IAAI;4BACJ,CAAC;4BACD,GAAG;4BACH,CAAC;4BACD,SAAS;4BACT,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;4BACf,GAAG;4BACH,IAAI,GAAG,CAAC,EAEV,WAAW,EAAE,EAAE,EACf,aAAa,EAAC,OAAO,EACrB,eAAe,EAAE,CAAC,EAClB,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAC5C,IACE,EACN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,sBAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,GAAI,GAAK,EACtD,CAAC,CAAC,OAAO,IAAI,yBAAO,CAAC,CAAC,OAAO,GAAQ,IAClC,EACL,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CACxB,eAAK,SAAS,EAAC,gBAAgB,aAC7B,yBAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAQ,EACzC,yBAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAQ,IACzC,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"charts.js","sourceRoot":"","sources":["../../src/components/charts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/components/chat.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/components/chat.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAEd,aAAa,EAEb,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EAEb,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AAwCpB,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,qBAiExC;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAoBtE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,cAAc,qBAqC1C;AAGD,wBAAgB,UAAU,CAAC,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,qBAS/C;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,cAAc,qBAc1C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,qBA0I9C;AASD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,qBA+CxC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,cAAc,qBAgC1C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,mBAAmB,qBAwBpD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,qBAiD9C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,qBAsLxC;AAWD,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,qBAW9C;AAYD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,aAAa,qBA0DxC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,qBAqB5C"}
|
package/dist/components/chat.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
|
+
import { useFormat, useStrings } from "../context.js";
|
|
5
|
+
import { CHAT_STRINGS } from "../strings.js";
|
|
4
6
|
import { cx } from "../cx.js";
|
|
5
|
-
import { formatNumber } from "../format.js";
|
|
6
7
|
import { Icon } from "../Icon.js";
|
|
7
8
|
import { useControlled } from "../hooks.js";
|
|
8
9
|
import { Avatar, Badge, TintIcon } from "./foundation.js";
|
|
@@ -74,6 +75,7 @@ export function hl(line, k) {
|
|
|
74
75
|
return out;
|
|
75
76
|
}
|
|
76
77
|
export function CodeBlock(p) {
|
|
78
|
+
const t = useStrings(CHAT_STRINGS);
|
|
77
79
|
const copied = React.useState(false);
|
|
78
80
|
function copy() {
|
|
79
81
|
try {
|
|
@@ -87,13 +89,14 @@ export function CodeBlock(p) {
|
|
|
87
89
|
copied[1](false);
|
|
88
90
|
}, 1400);
|
|
89
91
|
}
|
|
90
|
-
return (_jsxs("div", { className: "tf-code", children: [_jsxs("div", { className: "tf-code-head", children: [_jsx("span", { children: p.lang || "text" }), _jsxs("button", { type: "button", className: "tf-code-copy", onClick: copy, "aria-label":
|
|
92
|
+
return (_jsxs("div", { className: "tf-code", children: [_jsxs("div", { className: "tf-code-head", children: [_jsx("span", { children: p.lang || "text" }), _jsxs("button", { type: "button", className: "tf-code-copy", onClick: copy, "aria-label": t.copyCode, children: [_jsx(Icon, { name: copied[0] ? "check" : "file", size: 13 }), copied[0] ? t.copied : t.copy] })] }), _jsx("pre", { tabIndex: 0, children: _jsx("code", { children: String(p.code || "")
|
|
91
93
|
.split("\n")
|
|
92
94
|
.map((l, i) => (_jsxs("span", { className: "tf-code-line", children: [hl(l, i), "\n"] }, i))) }) })] }));
|
|
93
95
|
}
|
|
94
96
|
/* ── Chat building blocks ── */
|
|
95
97
|
export function TypingDots(p) {
|
|
96
|
-
|
|
98
|
+
const t = useStrings(CHAT_STRINGS);
|
|
99
|
+
return (_jsxs("span", { className: "tf-typing", role: "status", "aria-label": p.label || t.working, children: [_jsx("i", {}), _jsx("i", {}), _jsx("i", {})] }));
|
|
97
100
|
}
|
|
98
101
|
export function AgentMark(p) {
|
|
99
102
|
const s = p.size || 32;
|
|
@@ -103,6 +106,7 @@ export function AgentMark(p) {
|
|
|
103
106
|
}, "aria-hidden": true, children: _jsx(Icon, { name: p.icon || "bot", size: Math.round(s * 0.5) }) }));
|
|
104
107
|
}
|
|
105
108
|
export function ChatMessage(p) {
|
|
109
|
+
const t = useStrings(CHAT_STRINGS);
|
|
106
110
|
const me = p.role === "user", copied = React.useState(false), fb = React.useState(p.feedback || null);
|
|
107
111
|
if (p.role === "system")
|
|
108
112
|
return (_jsx("div", { className: "tf-msg-system", children: _jsx("span", { children: p.children || p.text }) }));
|
|
@@ -118,16 +122,16 @@ export function ChatMessage(p) {
|
|
|
118
122
|
copied[1](false);
|
|
119
123
|
}, 1400);
|
|
120
124
|
}
|
|
121
|
-
return (_jsxs("div", { className: cx("tf-msg", me ? "me" : "ai", p.className), children: [me ? (_jsx(Avatar, { name: p.name ||
|
|
125
|
+
return (_jsxs("div", { className: cx("tf-msg", me ? "me" : "ai", p.className), children: [me ? (_jsx(Avatar, { name: p.name || t.you, size: 32 })) : (_jsx(AgentMark, { tint: p.tint, live: p.streaming })), _jsxs("div", { className: "tf-msg-col", children: [(p.name || p.time) && (_jsxs("div", { className: "tf-msg-meta", children: [_jsx("b", { children: p.name }), p.time && _jsx("span", { children: p.time }), p.model && _jsx("span", { className: "tf-msg-model", children: p.model })] })), p.before, (p.text || p.children || p.streaming) && (_jsx("div", { className: "tf-bubble", children: p.children ||
|
|
122
126
|
(me ? (_jsx("p", { className: "tf-rt-plain", children: p.text })) : p.text ? (_jsx(RichText, { text: p.text, streaming: p.streaming })) : (_jsx(TypingDots, {}))) })), p.attachments && p.attachments.length > 0 && (_jsx("div", { className: "tf-msg-attach", children: p.attachments.map((a) => (_jsxs("span", { className: "tf-attach-chip", children: [_jsx(Icon, { name: a.kind === "img" ? "file" : "paperclip", size: 13 }), a.name, a.size && _jsx("small", { children: a.size })] }, a.name))) })), p.sources && p.sources.length > 0 && (_jsx("div", { className: "tf-msg-sources", children: p.sources.map((s, i) => (_jsxs("a", { className: "tf-source", href: s.url || "#", onClick: s.onClick
|
|
123
127
|
? (e) => {
|
|
124
128
|
e.preventDefault();
|
|
125
129
|
s.onClick?.();
|
|
126
130
|
}
|
|
127
|
-
: undefined, children: [_jsx("span", { className: "tf-source-n", children: i + 1 }), _jsx(Icon, { name: s.icon || "book", size: 12 }), s.title] }, i))) })), !me && !p.streaming && p.actions !== false && (_jsxs("div", { className: "tf-msg-actions", children: [_jsx(Tooltip, { label: copied[0] ?
|
|
131
|
+
: undefined, children: [_jsx("span", { className: "tf-source-n", children: i + 1 }), _jsx(Icon, { name: s.icon || "book", size: 12 }), s.title] }, i))) })), !me && !p.streaming && p.actions !== false && (_jsxs("div", { className: "tf-msg-actions", children: [_jsx(Tooltip, { label: copied[0] ? t.copied : t.copy, children: _jsx("button", { type: "button", className: "tf-msg-act", "aria-label": t.copyReply, onClick: copy, children: _jsx(Icon, { name: copied[0] ? "check" : "file", size: 14 }) }) }), p.onRetry && (_jsx(Tooltip, { label: t.regenerate, children: _jsx("button", { type: "button", className: "tf-msg-act", "aria-label": t.regenerateReply, onClick: p.onRetry, children: _jsx(Icon, { name: "refresh", size: 14 }) }) })), _jsx(Tooltip, { label: t.goodReply, children: _jsx("button", { type: "button", className: cx("tf-msg-act", fb[0] === "up" && "on"), "aria-pressed": fb[0] === "up", "aria-label": t.goodReply, onClick: () => {
|
|
128
132
|
fb[1](fb[0] === "up" ? null : "up");
|
|
129
133
|
p.onFeedback && p.onFeedback("up");
|
|
130
|
-
}, children: _jsx(Icon, { name: "thumbUp", size: 14 }) }) }), _jsx(Tooltip, { label:
|
|
134
|
+
}, children: _jsx(Icon, { name: "thumbUp", size: 14 }) }) }), _jsx(Tooltip, { label: t.badReply, children: _jsx("button", { type: "button", className: cx("tf-msg-act", fb[0] === "down" && "on"), "aria-pressed": fb[0] === "down", "aria-label": t.badReply, onClick: () => {
|
|
131
135
|
fb[1](fb[0] === "down" ? null : "down");
|
|
132
136
|
p.onFeedback && p.onFeedback("down");
|
|
133
137
|
}, children: _jsx(Icon, { name: "thumbDown", size: 14 }) }) }), p.usage && _jsx("span", { className: "tf-msg-usage", children: p.usage })] })), p.after] })] }));
|
|
@@ -139,16 +143,18 @@ const TOOL_ICON = {
|
|
|
139
143
|
waiting: "clock",
|
|
140
144
|
};
|
|
141
145
|
export function ToolCall(p) {
|
|
146
|
+
const t = useStrings(CHAT_STRINGS);
|
|
142
147
|
const open = React.useState(!!p.defaultOpen), st = p.status || "done";
|
|
143
148
|
return (_jsxs("div", { className: cx("tf-tool", "is-" + st, open[0] && "open"), children: [_jsxs("button", { type: "button", className: "tf-tool-head", "aria-expanded": open[0], onClick: () => {
|
|
144
149
|
open[1](!open[0]);
|
|
145
|
-
}, children: [_jsx("span", { className: "tf-tool-ico", children: st === "running" ? (_jsx("span", { className: "tf-spin", "aria-hidden": true })) : (_jsx(Icon, { name: TOOL_ICON[st] || "zap", size: 12 })) }), _jsx(Icon, { name: p.icon || "zap", size: 14, className: "tf-tool-kind" }), _jsx("b", { children: p.name }), _jsx("span", { className: "tf-tool-sum", children: p.summary }), p.duration && _jsx("span", { className: "tf-tool-time", children: p.duration }), _jsx(Icon, { name: "chevronDown", size: 14, className: "tf-tool-chev" })] }), open[0] && (_jsxs("div", { className: "tf-tool-body", children: [p.input != null && (_jsxs("div", { children: [_jsx("span", { className: "tf-tool-label", children:
|
|
150
|
+
}, children: [_jsx("span", { className: "tf-tool-ico", children: st === "running" ? (_jsx("span", { className: "tf-spin", "aria-hidden": true })) : (_jsx(Icon, { name: TOOL_ICON[st] || "zap", size: 12 })) }), _jsx(Icon, { name: p.icon || "zap", size: 14, className: "tf-tool-kind" }), _jsx("b", { children: p.name }), _jsx("span", { className: "tf-tool-sum", children: p.summary }), p.duration && _jsx("span", { className: "tf-tool-time", children: p.duration }), _jsx(Icon, { name: "chevronDown", size: 14, className: "tf-tool-chev" })] }), open[0] && (_jsxs("div", { className: "tf-tool-body", children: [p.input != null && (_jsxs("div", { children: [_jsx("span", { className: "tf-tool-label", children: t.toolInput }), _jsx("pre", { children: typeof p.input === "string" ? p.input : JSON.stringify(p.input, null, 2) })] })), p.output != null && (_jsxs("div", { children: [_jsx("span", { className: "tf-tool-label", children: st === "error" ? t.toolError : t.toolResult }), _jsx("pre", { className: st === "error" ? "err" : undefined, children: typeof p.output === "string" ? p.output : JSON.stringify(p.output, null, 2) })] }))] }))] }));
|
|
146
151
|
}
|
|
147
152
|
export function Reasoning(p) {
|
|
153
|
+
const t = useStrings(CHAT_STRINGS);
|
|
148
154
|
const open = React.useState(!!p.defaultOpen);
|
|
149
155
|
return (_jsxs("div", { className: cx("tf-reason", open[0] && "open", p.streaming && "live"), children: [_jsxs("button", { type: "button", className: "tf-reason-head", "aria-expanded": open[0], onClick: () => {
|
|
150
156
|
open[1](!open[0]);
|
|
151
|
-
}, children: [_jsx(Icon, { name: "sparkle", size: 13 }), p.streaming ?
|
|
157
|
+
}, children: [_jsx(Icon, { name: "sparkle", size: 13 }), p.streaming ? t.thinking : t.thoughtFor(p.duration), _jsx(Icon, { name: "chevronDown", size: 13, className: "tf-tool-chev" })] }), open[0] && (_jsx("div", { className: "tf-reason-body", children: p.steps ? (_jsx("ol", { children: p.steps.map((s, i) => (_jsx("li", { children: s }, i))) })) : (p.text) }))] }));
|
|
152
158
|
}
|
|
153
159
|
export function PromptStarters(p) {
|
|
154
160
|
return (_jsx("div", { className: "tf-starters", children: (p.items || []).map((s, i) => (_jsxs("button", { type: "button", className: "tf-starter tf-in", style: {
|
|
@@ -158,13 +164,15 @@ export function PromptStarters(p) {
|
|
|
158
164
|
}, children: [_jsx(TintIcon, { icon: s.icon || "sparkle", tint: s.tint || "sky" }), _jsx("b", { children: s.title }), s.text && _jsx("span", { children: s.text })] }, i))) }));
|
|
159
165
|
}
|
|
160
166
|
export function ModelPicker(p) {
|
|
167
|
+
const t = useStrings(CHAT_STRINGS);
|
|
161
168
|
const models = p.models || [], cur = models.find((m) => m.id === p.value) || models[0] || {};
|
|
162
|
-
return (_jsx(Popover, { side: p.side || "top", width: 300, flush: true, trigger: (s) => (_jsxs("button", { type: "button", className: "tf-model-btn", "aria-haspopup": "menu", "aria-expanded": s.open, onClick: s.toggle, children: [_jsx(Icon, { name: "sparkle", size: 13 }), cur.label, _jsx(Icon, { name: "chevronDown", size: 13 })] })), children: (s) => (_jsxs("div", { className: "tf-menu tf-menu-static", role: "menu", children: [_jsx("div", { className: "tf-menu-label", children:
|
|
169
|
+
return (_jsx(Popover, { side: p.side || "top", width: 300, flush: true, trigger: (s) => (_jsxs("button", { type: "button", className: "tf-model-btn", "aria-haspopup": "menu", "aria-expanded": s.open, onClick: s.toggle, children: [_jsx(Icon, { name: "sparkle", size: 13 }), cur.label, _jsx(Icon, { name: "chevronDown", size: 13 })] })), children: (s) => (_jsxs("div", { className: "tf-menu tf-menu-static", role: "menu", children: [_jsx("div", { className: "tf-menu-label", children: t.model }), models.map((m) => (_jsxs("button", { type: "button", role: "menuitemradio", "aria-checked": m.id === cur.id, className: "tf-menu-item tf-model-item", onClick: () => {
|
|
163
170
|
p.onChange && p.onChange(m.id);
|
|
164
171
|
s.close();
|
|
165
172
|
}, children: [_jsxs("span", { className: "tf-option-text", children: [_jsx("b", { children: m.label }), m.hint && _jsx("small", { children: m.hint })] }), m.id === cur.id && _jsx(Icon, { name: "check", size: 15 })] }, m.id)))] })) }));
|
|
166
173
|
}
|
|
167
174
|
export function Composer(p) {
|
|
175
|
+
const t = useStrings(CHAT_STRINGS);
|
|
168
176
|
const fileRef = React.useRef(null);
|
|
169
177
|
const ta = React.useRef(null), v = useControlled(p.value, "", p.onChange), files = p.attachments || [], slash = React.useState(0);
|
|
170
178
|
const cmds = (p.commands || []).filter((c) => /^\/\S*$/.test(v[0]) && ("/" + c.name).indexOf(v[0]) === 0);
|
|
@@ -196,13 +204,13 @@ export function Composer(p) {
|
|
|
196
204
|
return;
|
|
197
205
|
e.preventDefault();
|
|
198
206
|
p.onAttach?.(e.dataTransfer.files);
|
|
199
|
-
}, children: [cmds.length > 0 && (_jsxs("div", { className: "tf-popover tf-composer-cmds top", role: "listbox", children: [_jsx("div", { className: "tf-menu-label", children:
|
|
207
|
+
}, children: [cmds.length > 0 && (_jsxs("div", { className: "tf-popover tf-composer-cmds top", role: "listbox", children: [_jsx("div", { className: "tf-menu-label", children: t.commands }), cmds.map((c, i) => (_jsxs("button", { type: "button", role: "option", "aria-selected": i === slash[0], className: cx("tf-option", i === slash[0] && "active"), onPointerDown: (e) => {
|
|
200
208
|
e.preventDefault();
|
|
201
209
|
}, onClick: () => {
|
|
202
210
|
pick(c);
|
|
203
|
-
}, children: [_jsx(Icon, { name: c.icon || "zap", size: 15 }), _jsxs("span", { className: "tf-option-text", children: [_jsx("b", { children: "/" + c.name }), c.hint && _jsx("small", { children: c.hint })] })] }, c.name)))] })), files.length > 0 && (_jsx("div", { className: "tf-composer-files", children: files.map((f, i) => (_jsxs("span", { className: "tf-attach-chip", children: [_jsx(Icon, { name: "paperclip", size: 13 }), f.name, p.onRemoveAttachment && (_jsx("button", { type: "button", "aria-label":
|
|
211
|
+
}, children: [_jsx(Icon, { name: c.icon || "zap", size: 15 }), _jsxs("span", { className: "tf-option-text", children: [_jsx("b", { children: "/" + c.name }), c.hint && _jsx("small", { children: c.hint })] })] }, c.name)))] })), files.length > 0 && (_jsx("div", { className: "tf-composer-files", children: files.map((f, i) => (_jsxs("span", { className: "tf-attach-chip", children: [_jsx(Icon, { name: "paperclip", size: 13 }), f.name, p.onRemoveAttachment && (_jsx("button", { type: "button", "aria-label": t.removeItem(f.name), onClick: () => {
|
|
204
212
|
p.onRemoveAttachment?.(i);
|
|
205
|
-
}, children: _jsx(Icon, { name: "x", size: 12 }) }))] }, f.name + i))) })), _jsx("textarea", { ref: ta, rows: 1, className: "tf-composer-input", placeholder: p.placeholder ||
|
|
213
|
+
}, children: _jsx(Icon, { name: "x", size: 12 }) }))] }, f.name + i))) })), _jsx("textarea", { ref: ta, rows: 1, className: "tf-composer-input", placeholder: p.placeholder || t.messagePlaceholder, "aria-label": p.label || p.placeholder || t.message, value: v[0], disabled: p.disabled, onChange: (e) => {
|
|
206
214
|
v[1](e.target.value);
|
|
207
215
|
slash[1](0);
|
|
208
216
|
}, onKeyDown: (e) => {
|
|
@@ -227,14 +235,14 @@ export function Composer(p) {
|
|
|
227
235
|
e.preventDefault();
|
|
228
236
|
send();
|
|
229
237
|
}
|
|
230
|
-
} }), _jsxs("div", { className: "tf-composer-bar", children: [p.onAttach && (_jsx(Tooltip, { label:
|
|
238
|
+
} }), _jsxs("div", { className: "tf-composer-bar", children: [p.onAttach && (_jsx(Tooltip, { label: t.attachFiles, children: _jsxs("button", { type: "button", className: "tf-composer-tool", "aria-label": t.attachFiles, onClick: () => fileRef.current?.click(), children: [_jsx(Icon, { name: "paperclip", size: 16 }), _jsx("input", { ref: fileRef, type: "file", multiple: true, hidden: true, tabIndex: -1, onChange: (e) => {
|
|
231
239
|
if (e.target.files)
|
|
232
240
|
p.onAttach?.(e.target.files);
|
|
233
241
|
e.target.value = "";
|
|
234
|
-
} })] }) })), p.commands && (_jsx(Tooltip, { label:
|
|
242
|
+
} })] }) })), p.commands && (_jsx(Tooltip, { label: t.commands, shortcut: "/", children: _jsx("button", { type: "button", className: "tf-composer-tool", "aria-label": t.commands, onClick: () => {
|
|
235
243
|
v[1]("/");
|
|
236
244
|
ta.current && ta.current.focus();
|
|
237
|
-
}, children: _jsx(Icon, { name: "code", size: 16 }) }) })), p.models && _jsx(ModelPicker, { models: p.models, value: p.model, onChange: p.onModel }), p.left, _jsx("span", { className: "tf-composer-hint", children: p.hint != null ? p.hint :
|
|
245
|
+
}, children: _jsx(Icon, { name: "code", size: 16 }) }) })), p.models && _jsx(ModelPicker, { models: p.models, value: p.model, onChange: p.onModel }), p.left, _jsx("span", { className: "tf-composer-hint", children: p.hint != null ? p.hint : t.composerHint }), p.busy ? (_jsx("button", { type: "button", className: "tf-send stop", "aria-label": t.stop, onClick: p.onStop, children: _jsx("span", { className: "tf-stop-sq" }) })) : (_jsx("button", { type: "button", className: "tf-send", "aria-label": t.send, disabled: !v[0].trim() && !files.length, onClick: send, children: _jsx(Icon, { name: "arrowUp", size: 16 }) }))] })] }));
|
|
238
246
|
}
|
|
239
247
|
const AGENT_TONE = {
|
|
240
248
|
["Running"]: "success",
|
|
@@ -245,8 +253,9 @@ const AGENT_TONE = {
|
|
|
245
253
|
["Error"]: "danger",
|
|
246
254
|
};
|
|
247
255
|
export function AgentStatus(p) {
|
|
256
|
+
const t = useStrings(CHAT_STRINGS);
|
|
248
257
|
const s = p.status || "Idle";
|
|
249
|
-
return (_jsxs("span", { className: "tf-agentstatus", children: [_jsx(Badge, { tone: AGENT_TONE[s] || "neutral", live: s === "Running" || s === "Thinking", children: s }), p.step && _jsx("span", { className: "tf-agentstatus-step", children: p.step })] }));
|
|
258
|
+
return (_jsxs("span", { className: "tf-agentstatus", children: [_jsx(Badge, { tone: AGENT_TONE[s] || "neutral", live: s === "Running" || s === "Thinking", children: t.agentStatus[s] ?? s }), p.step && _jsx("span", { className: "tf-agentstatus-step", children: p.step })] }));
|
|
250
259
|
}
|
|
251
260
|
const TRACE_ICON = {
|
|
252
261
|
model: "sparkle",
|
|
@@ -258,25 +267,28 @@ const TRACE_ICON = {
|
|
|
258
267
|
memory: "book",
|
|
259
268
|
};
|
|
260
269
|
export function RunTrace(p) {
|
|
270
|
+
const t = useStrings(CHAT_STRINGS);
|
|
271
|
+
const { formatNumber } = useFormat();
|
|
261
272
|
const steps = p.steps || [], total = steps.reduce((a, s) => Math.max(a, (s.start || 0) + (s.ms || 0)), 1), sel = React.useState(p.defaultOpen != null ? p.defaultOpen : null);
|
|
262
273
|
function fms(ms) {
|
|
263
274
|
return ms >= 1000
|
|
264
275
|
? `${formatNumber(ms / 1000, { minimumFractionDigits: 1, maximumFractionDigits: 1 })} s`
|
|
265
276
|
: `${formatNumber(ms)} ms`;
|
|
266
277
|
}
|
|
267
|
-
return (_jsxs("div", { className: "tf-trace", children: [_jsxs("div", { className: "tf-trace-head", children: [_jsx("span", { children:
|
|
278
|
+
return (_jsxs("div", { className: "tf-trace", children: [_jsxs("div", { className: "tf-trace-head", children: [_jsx("span", { children: t.step }), _jsx("span", { children: t.timeline(fms(total)) })] }), steps.map((s, i) => {
|
|
268
279
|
const open = sel[0] === i, st = s.status || "done";
|
|
269
280
|
return (_jsxs("div", { className: cx("tf-trace-row", "is-" + st, open && "open"), children: [_jsxs("button", { type: "button", className: "tf-trace-main", "aria-expanded": open, onClick: () => {
|
|
270
281
|
sel[1](open ? null : i);
|
|
271
282
|
}, children: [_jsx("span", { className: cx("tf-trace-ico", "k-" + (s.kind || "tool")), children: _jsx(Icon, { name: (s.kind && TRACE_ICON[s.kind]) || "zap", size: 13 }) }), _jsxs("span", { className: "tf-trace-label", children: [_jsx("b", { children: s.label }), s.meta && _jsx("small", { children: s.meta })] }), _jsxs("span", { className: "tf-trace-bar", children: [_jsx("i", { style: {
|
|
272
283
|
left: ((s.start || 0) / total) * 100 + "%",
|
|
273
284
|
width: Math.max(1.5, ((s.ms || 0) / total) * 100) + "%",
|
|
274
|
-
} }), _jsx("em", { children: st === "running" ?
|
|
285
|
+
} }), _jsx("em", { children: st === "running" ? t.stepRunning : fms(s.ms || 0) })] })] }), open && s.detail && (_jsx("div", { className: "tf-trace-detail tf-in", children: typeof s.detail === "string" ? _jsx("pre", { children: s.detail }) : s.detail }))] }, i));
|
|
275
286
|
}), p.footer && _jsx("div", { className: "tf-trace-foot", children: p.footer })] }));
|
|
276
287
|
}
|
|
277
288
|
export function UsageMeter(p) {
|
|
289
|
+
const t = useStrings(CHAT_STRINGS);
|
|
278
290
|
const pct = Math.min(100, ((p.used || 0) / (p.limit || 1)) * 100), tone = pct >= 90 ? "blush" : pct >= 70 ? "butter" : "mint";
|
|
279
|
-
return (_jsxs("div", { className: "tf-usage", children: [_jsxs("div", { className: "tf-usage-top", children: [_jsx("span", { children: p.label ||
|
|
291
|
+
return (_jsxs("div", { className: "tf-usage", children: [_jsxs("div", { className: "tf-usage-top", children: [_jsx("span", { children: p.label || t.context }), _jsx("b", { children: (p.format || String)(p.used) + " / " + (p.format || String)(p.limit) })] }), _jsx("span", { className: "tf-usage-track", children: _jsx("span", { className: "tf-usage-fill tf-sf-" + tone, style: {
|
|
280
292
|
width: pct + "%",
|
|
281
293
|
} }) }), p.caption && _jsx("small", { children: p.caption })] }));
|
|
282
294
|
}
|