@flesler/cursor-canvas-web 0.0.0-stage → 1.0.1

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.
@@ -0,0 +1,1431 @@
1
+ import { jsx as i, jsxs as g } from "react/jsx-runtime";
2
+ import { useComputedColorScheme as xe, Button as ve, Alert as Ee, Card as be, Checkbox as ke, Divider as Ce, Title as W, ActionIcon as Se, Badge as Fe, Group as Ae, Select as we, Stack as Be, Text as H, Table as E, Textarea as Te, TextInput as Le, Switch as De } from "@mantine/core";
3
+ import { useState as P, createContext as Me, useCallback as G, useContext as ne } from "react";
4
+ import { useEffect as _t, useMemo as qt, useRef as Qt, useState as Kt } from "react";
5
+ import { BarChart as Pe, AreaChart as ze, LineChart as Re, DonutChart as $e, PieChart as He } from "@mantine/charts";
6
+ const oe = {
7
+ foreground: "#E4E4E4EB",
8
+ foregroundSecondary: "#E4E4E48D",
9
+ foregroundTertiary: "#E4E4E45E",
10
+ foregroundQuaternary: "#E4E4E442",
11
+ editor: "#181818",
12
+ chrome: "#141414",
13
+ sidebar: "#141414",
14
+ elevated: "#181818",
15
+ fillPrimary: "#E4E4E430",
16
+ fillSecondary: "#E4E4E41E",
17
+ fillTertiary: "#E4E4E411",
18
+ fillQuaternary: "#E4E4E40A",
19
+ strokePrimary: "#E4E4E433",
20
+ strokeSecondary: "#E4E4E41F",
21
+ strokeTertiary: "#E4E4E414",
22
+ strokeFocused: "#599CE7",
23
+ accent: "#599CE7",
24
+ buttonBackground: "#599CE7",
25
+ buttonForeground: "#191c22",
26
+ buttonHoverBackground: "#6AABE9",
27
+ link: "#87c3ff",
28
+ diffInsertedLine: "#3FA26633",
29
+ diffRemovedLine: "#B8004933",
30
+ diffStripAdded: "#3FA2668F",
31
+ diffStripRemoved: "#FC6B838F"
32
+ }, ae = {
33
+ foreground: "#141414F0",
34
+ foregroundSecondary: "#141414BD",
35
+ foregroundTertiary: "#1414148A",
36
+ foregroundQuaternary: "#1414145C",
37
+ editor: "#FCFCFC",
38
+ chrome: "#F8F8F8",
39
+ sidebar: "#F3F3F3",
40
+ elevated: "#FCFCFC",
41
+ fillPrimary: "#14141433",
42
+ fillSecondary: "#14141424",
43
+ fillTertiary: "#14141414",
44
+ fillQuaternary: "#1414140F",
45
+ strokePrimary: "#14141433",
46
+ strokeSecondary: "#1414141F",
47
+ strokeTertiary: "#14141414",
48
+ strokeFocused: "#3685BF",
49
+ accent: "#3685BF",
50
+ buttonBackground: "#3685BF",
51
+ buttonForeground: "#FCFCFC",
52
+ buttonHoverBackground: "#2E76AB",
53
+ link: "#3685BF",
54
+ diffInsertedLine: "#1F8A651F",
55
+ diffRemovedLine: "#CF2D5614",
56
+ diffStripAdded: "#1F8A65CC",
57
+ diffStripRemoved: "#CF2D56CC"
58
+ }, j = {
59
+ gray: "#8888A8E0",
60
+ purple: "#7B64B8F0",
61
+ green: "#1F8A65E8",
62
+ yellow: "#E8C030E0",
63
+ cyan: "#2A9A8AE0",
64
+ pink: "#C85898E0",
65
+ blue: "#2E79B5E0",
66
+ orange: "#F0A040E0",
67
+ red: "#C04848E0"
68
+ }, ie = {
69
+ gray: "#8888A8E0",
70
+ purple: "#7B64B8F0",
71
+ green: "#1F8A65E8",
72
+ yellow: "#E8C030E0",
73
+ cyan: "#2A9A8AE0",
74
+ pink: "#C85898E0",
75
+ blue: "#2E79B5E0",
76
+ orange: "#F0A088E0",
77
+ red: "#CF2D56E0"
78
+ };
79
+ function ce(e, t) {
80
+ return {
81
+ bg: {
82
+ editor: e.editor,
83
+ chrome: e.chrome,
84
+ elevated: e.elevated
85
+ },
86
+ text: {
87
+ primary: e.foreground,
88
+ secondary: e.foregroundSecondary,
89
+ tertiary: e.foregroundTertiary,
90
+ quaternary: e.foregroundQuaternary,
91
+ link: e.link,
92
+ onAccent: e.buttonForeground
93
+ },
94
+ stroke: {
95
+ primary: e.strokePrimary,
96
+ secondary: e.strokeSecondary,
97
+ tertiary: e.strokeTertiary,
98
+ focused: e.strokeFocused
99
+ },
100
+ fill: {
101
+ primary: e.fillPrimary,
102
+ secondary: e.fillSecondary,
103
+ tertiary: e.fillTertiary,
104
+ quaternary: e.fillQuaternary
105
+ },
106
+ accent: {
107
+ primary: e.accent,
108
+ control: e.buttonBackground,
109
+ controlHover: e.buttonHoverBackground
110
+ },
111
+ diff: {
112
+ insertedLine: e.diffInsertedLine,
113
+ removedLine: e.diffRemovedLine,
114
+ stripAdded: e.diffStripAdded,
115
+ stripRemoved: e.diffStripRemoved
116
+ },
117
+ category: t
118
+ };
119
+ }
120
+ const Ie = ce(
121
+ oe,
122
+ j
123
+ ), We = ce(
124
+ ae,
125
+ ie
126
+ ), nt = j, te = [
127
+ "blue",
128
+ "purple",
129
+ "green",
130
+ "yellow",
131
+ "cyan",
132
+ "pink",
133
+ "orange",
134
+ "red",
135
+ "gray"
136
+ ], Ge = {
137
+ green: "#1F8A65E8",
138
+ darkGreen: "#0D855AE0",
139
+ lightGreen: "#52B896E0",
140
+ mintGreen: "#7DCAB0E0",
141
+ blue: "#2E79B5E0",
142
+ lightBlue: "#70B0D8E0",
143
+ indigo: "#5A6CC0F0",
144
+ lightIndigo: "#9AAADCE0",
145
+ purple: "#7B64B8F0",
146
+ lightPurple: "#AA98D8E0",
147
+ warmPink: "#C85898E0",
148
+ lightPink: "#E8A0C4E0",
149
+ brightOrange: "#F0A040E0",
150
+ deepOrange: "#C06028E0",
151
+ goldenYellow: "#E8C030E0",
152
+ darkAmber: "#C04848E0",
153
+ warmPeach: "#F0A088E0",
154
+ vibrantTeal: "#2A9A8AE0",
155
+ muted: "#8888A8E0",
156
+ neutralLine: "#888899D0"
157
+ }, je = {
158
+ h1: { fontSize: "24px", lineHeight: "30px", fontWeight: 590 },
159
+ h2: { fontSize: "18px", lineHeight: "24px", fontWeight: 590 },
160
+ h3: { fontSize: "16px", lineHeight: "22px", fontWeight: 590 },
161
+ body: { fontSize: "14px", lineHeight: "20px", fontWeight: 400 },
162
+ small: { fontSize: "12px", lineHeight: "16px", fontWeight: 400 }
163
+ }, Ne = {
164
+ "0.5": 2,
165
+ 1: 4,
166
+ "1.5": 6,
167
+ 2: 8,
168
+ "2.5": 10,
169
+ 3: 12,
170
+ "3.5": 14,
171
+ 4: 16,
172
+ "4.5": 18,
173
+ 5: 20,
174
+ 6: 24,
175
+ 7: 28,
176
+ 8: 32,
177
+ 9: 36,
178
+ 10: 40
179
+ }, Oe = {
180
+ none: 0,
181
+ xs: 2,
182
+ sm: 4,
183
+ md: 6,
184
+ lg: 8,
185
+ xl: 12,
186
+ full: 9999
187
+ }, I = [
188
+ "#1F8A65E8",
189
+ "#70B0D8E0",
190
+ "#5A6CC0F0",
191
+ "#F0A040E0",
192
+ "#C06028E0",
193
+ "#E8C030E0",
194
+ "#C85898E0",
195
+ "#F0A088E0",
196
+ "#7B64B8F0",
197
+ "#7DCAB0E0",
198
+ "#8888A8E0",
199
+ "#2A9A8AE0"
200
+ ], b = {
201
+ success: "#1F8A65",
202
+ danger: "#CF2D56",
203
+ warning: "#E8A33D",
204
+ info: "#2E79B5",
205
+ neutral: "#8888A8",
206
+ added: "#1F8A65",
207
+ deleted: "#CF2D56",
208
+ renamed: "#5A6CC0"
209
+ }, N = {
210
+ success: "green",
211
+ danger: "red",
212
+ warning: "orange",
213
+ info: "blue",
214
+ neutral: "gray",
215
+ added: "green",
216
+ deleted: "red",
217
+ renamed: "indigo"
218
+ };
219
+ function _e(e) {
220
+ const t = e === "dark" ? Ie : We;
221
+ return {
222
+ ...t,
223
+ kind: e,
224
+ tokens: t,
225
+ palette: e === "dark" ? oe : ae,
226
+ category: e === "dark" ? j : ie,
227
+ // Back-compat: real IDE canvases read these on useHostTheme(); public hooks.d.ts
228
+ // is sometimes narrower — see COMPAT.md (not a second theme API version).
229
+ chart: { palette: Ge, sequence: I },
230
+ radius: Oe,
231
+ typography: je,
232
+ spacing: Ne
233
+ };
234
+ }
235
+ function S() {
236
+ const e = xe("light");
237
+ return _e(e === "dark" ? "dark" : "light");
238
+ }
239
+ function se(e, t) {
240
+ return e ? b[e] : I[t % I.length];
241
+ }
242
+ function le(e, t) {
243
+ return e.map((r, a) => {
244
+ const c = { category: r };
245
+ for (const n of t)
246
+ c[n.name] = n.data[a] ?? 0;
247
+ return c;
248
+ });
249
+ }
250
+ function de(e) {
251
+ return e.map((t, r) => ({
252
+ name: t.name,
253
+ color: se(t.tone, r)
254
+ }));
255
+ }
256
+ function ue(e, t) {
257
+ if (!(!e && !t))
258
+ return (r) => `${t ?? ""}${r}${e ?? ""}`;
259
+ }
260
+ function qe(e, t) {
261
+ if (e != null && e.length)
262
+ return e.map((r) => ({
263
+ ...t ? { x: r.value } : { y: r.value },
264
+ label: r.label,
265
+ color: r.tone ? b[r.tone] : b.neutral
266
+ }));
267
+ }
268
+ function fe(e) {
269
+ const t = qe(e.referenceLines, !!e.horizontal);
270
+ if (e.stacked || e.normalized)
271
+ return { referenceLines: t };
272
+ const r = e.beginAtZero !== !1, a = [
273
+ e.yMin ?? (r ? 0 : "auto"),
274
+ e.yMax ?? "auto"
275
+ ];
276
+ return e.horizontal ? { xAxisProps: { domain: a }, referenceLines: t } : { yAxisProps: { domain: a }, referenceLines: t };
277
+ }
278
+ function Qe(e, t, r) {
279
+ return e !== void 0 ? e : t.length === 1 && r.length <= 8;
280
+ }
281
+ function ot({
282
+ categories: e,
283
+ series: t,
284
+ height: r = 240,
285
+ fill: a,
286
+ valueSuffix: c,
287
+ valuePrefix: n,
288
+ showValues: l,
289
+ showHoverGuide: u = !0,
290
+ beginAtZero: d,
291
+ yMin: s,
292
+ yMax: f,
293
+ referenceLines: y,
294
+ style: x
295
+ }) {
296
+ const v = le(e, t), w = de(t), k = fe({
297
+ beginAtZero: d,
298
+ yMin: s,
299
+ yMax: f,
300
+ referenceLines: y,
301
+ horizontal: !1
302
+ }), C = {
303
+ h: r,
304
+ data: v,
305
+ dataKey: "category",
306
+ series: w,
307
+ curveType: "monotone",
308
+ withLegend: t.length > 1,
309
+ valueFormatter: ue(c, n),
310
+ withPointLabels: l ?? e.length <= 20,
311
+ tooltipProps: u ? void 0 : { cursor: !1 },
312
+ ...k,
313
+ style: x
314
+ };
315
+ return a ? /* @__PURE__ */ i(ze, { ...C }) : /* @__PURE__ */ i(Re, { ...C });
316
+ }
317
+ function at({
318
+ categories: e,
319
+ series: t,
320
+ height: r = 240,
321
+ stacked: a,
322
+ horizontal: c,
323
+ normalized: n,
324
+ valueSuffix: l,
325
+ valuePrefix: u,
326
+ showValues: d,
327
+ beginAtZero: s,
328
+ yMin: f,
329
+ yMax: y,
330
+ referenceLines: x,
331
+ style: v
332
+ }) {
333
+ const w = le(e, t), k = n ? "percent" : a ? "stacked" : "default", C = fe({
334
+ beginAtZero: s,
335
+ yMin: f,
336
+ yMax: y,
337
+ referenceLines: x,
338
+ horizontal: c,
339
+ stacked: a,
340
+ normalized: n
341
+ }), B = !a && !n && Qe(d, t, e);
342
+ return /* @__PURE__ */ i(
343
+ Pe,
344
+ {
345
+ h: r,
346
+ data: w,
347
+ dataKey: "category",
348
+ series: de(t),
349
+ type: k,
350
+ orientation: c ? "vertical" : "horizontal",
351
+ withLegend: t.length > 1,
352
+ valueFormatter: ue(l, u),
353
+ withBarValueLabel: B,
354
+ ...C,
355
+ style: v
356
+ }
357
+ );
358
+ }
359
+ function it({ data: e, size: t = 200, donut: r, style: a }) {
360
+ const c = e.map((l, u) => ({
361
+ name: l.label,
362
+ value: l.value,
363
+ color: se(l.tone, u)
364
+ }));
365
+ return /* @__PURE__ */ i(
366
+ "div",
367
+ {
368
+ style: {
369
+ width: "100%",
370
+ height: t,
371
+ minHeight: t,
372
+ display: "flex",
373
+ alignItems: "center",
374
+ justifyContent: "center"
375
+ },
376
+ children: r ? /* @__PURE__ */ i(
377
+ $e,
378
+ {
379
+ data: c,
380
+ size: t,
381
+ withTooltip: !0,
382
+ style: a
383
+ }
384
+ ) : /* @__PURE__ */ i(
385
+ He,
386
+ {
387
+ data: c,
388
+ size: t,
389
+ withTooltip: !0,
390
+ withLabelsLine: !1,
391
+ style: a
392
+ }
393
+ )
394
+ }
395
+ );
396
+ }
397
+ function ct(e) {
398
+ const {
399
+ nodes: t,
400
+ edges: r,
401
+ direction: a = "vertical",
402
+ nodeWidth: c = 160,
403
+ nodeHeight: n = 40,
404
+ rankGap: l = 64,
405
+ nodeGap: u = 48,
406
+ padding: d = 24
407
+ } = e, s = t.map((o) => o.id), f = new Set(s), y = /* @__PURE__ */ new Map();
408
+ for (const o of s) y.set(o, []);
409
+ for (const o of r)
410
+ f.has(o.from) && f.has(o.to) && y.get(o.from).push(o.to);
411
+ const x = 0, v = 1, w = 2, k = new Map(s.map((o) => [o, x])), C = /* @__PURE__ */ new Set(), B = (o, h) => `${o}\0${h}`, _ = (o) => {
412
+ k.set(o, v);
413
+ for (const h of y.get(o) ?? []) {
414
+ const p = k.get(h);
415
+ p === v ? C.add(B(o, h)) : p === x && _(h);
416
+ }
417
+ k.set(o, w);
418
+ };
419
+ for (const o of s) k.get(o) === x && _(o);
420
+ const ge = r.filter(
421
+ (o) => f.has(o.from) && f.has(o.to) && !C.has(B(o.from, o.to))
422
+ ), F = new Map(s.map((o) => [o, 0])), q = new Map(s.map((o) => [o, []]));
423
+ for (const o of ge)
424
+ q.get(o.from).push(o.to), F.set(o.to, (F.get(o.to) ?? 0) + 1);
425
+ const T = new Map(s.map((o) => [o, 0])), z = s.filter((o) => (F.get(o) ?? 0) === 0);
426
+ for (; z.length > 0; ) {
427
+ const o = z.shift(), h = T.get(o);
428
+ for (const p of q.get(o))
429
+ T.set(p, Math.max(T.get(p), h + 1)), F.set(p, F.get(p) - 1), F.get(p) === 0 && z.push(p);
430
+ }
431
+ const A = /* @__PURE__ */ new Map();
432
+ for (const o of s) {
433
+ const h = T.get(o);
434
+ A.has(h) || A.set(h, []), A.get(h).push(o);
435
+ }
436
+ const L = [...A.keys()].sort((o, h) => o - h), m = a === "vertical", Q = (o) => o * (m ? c : n) + Math.max(0, o - 1) * u, K = Math.max(
437
+ 0,
438
+ ...L.map((o) => Q(A.get(o).length))
439
+ ), D = /* @__PURE__ */ new Map(), X = [];
440
+ L.forEach((o, h) => {
441
+ const p = A.get(o), R = Q(p.length), $ = d + (K - R) / 2, M = d + h * ((m ? n : c) + l);
442
+ p.forEach((U, Z) => {
443
+ const ee = $ + Z * ((m ? c : n) + u), ye = m ? ee : M, me = m ? M : ee;
444
+ D.set(U, { id: U, x: ye, y: me, rank: o, order: Z });
445
+ }), X.push({
446
+ rank: o,
447
+ x: m ? $ : M,
448
+ y: m ? M : $,
449
+ width: m ? R : c,
450
+ height: m ? n : R,
451
+ nodeIds: p
452
+ });
453
+ });
454
+ const Y = (o, h) => o ? m ? {
455
+ x: o.x + c / 2,
456
+ y: h === "source" ? o.y + n : o.y
457
+ } : {
458
+ x: h === "source" ? o.x + c : o.x,
459
+ y: o.y + n / 2
460
+ } : { x: 0, y: 0 }, pe = r.filter((o) => f.has(o.from) && f.has(o.to)).map((o) => {
461
+ const h = Y(D.get(o.from), "source"), p = Y(D.get(o.to), "target");
462
+ return {
463
+ from: o.from,
464
+ to: o.to,
465
+ sourceX: h.x,
466
+ sourceY: h.y,
467
+ targetX: p.x,
468
+ targetY: p.y,
469
+ isBackEdge: C.has(B(o.from, o.to))
470
+ };
471
+ }), V = d * 2 + L.length * (m ? n : c) + Math.max(0, L.length - 1) * l, J = d * 2 + K;
472
+ return {
473
+ nodes: [...D.values()],
474
+ edges: pe,
475
+ ranks: X,
476
+ direction: a,
477
+ width: m ? J : V,
478
+ height: m ? V : J
479
+ };
480
+ }
481
+ function st({
482
+ additions: e = 0,
483
+ deletions: t = 0,
484
+ style: r
485
+ }) {
486
+ return e === 0 && t === 0 ? null : /* @__PURE__ */ g(
487
+ "span",
488
+ {
489
+ style: {
490
+ display: "inline-flex",
491
+ gap: 8,
492
+ fontVariantNumeric: "tabular-nums",
493
+ fontSize: 12,
494
+ fontWeight: 600,
495
+ ...r
496
+ },
497
+ children: [
498
+ e > 0 && /* @__PURE__ */ g("span", { style: { color: b.added }, children: [
499
+ "+",
500
+ e
501
+ ] }),
502
+ t > 0 && /* @__PURE__ */ g("span", { style: { color: b.deleted }, children: [
503
+ "-",
504
+ t
505
+ ] })
506
+ ]
507
+ }
508
+ );
509
+ }
510
+ const Ke = {
511
+ added: "+",
512
+ removed: "-",
513
+ unchanged: " "
514
+ };
515
+ function lt({
516
+ lines: e,
517
+ showLineNumbers: t = !0,
518
+ coloredLineNumbers: r = !0,
519
+ showAccentStrip: a = !0,
520
+ style: c
521
+ }) {
522
+ const n = S(), l = (s) => s === "added" ? n.diff.insertedLine : s === "removed" ? n.diff.removedLine : "transparent", u = (s) => s === "added" ? n.diff.stripAdded : s === "removed" ? n.diff.stripRemoved : "transparent", d = (s) => r && s === "added" ? b.added : r && s === "removed" ? b.deleted : n.text.tertiary;
523
+ return /* @__PURE__ */ i(
524
+ "div",
525
+ {
526
+ style: {
527
+ fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Code", monospace',
528
+ fontSize: 12.5,
529
+ lineHeight: "18px",
530
+ color: n.text.primary,
531
+ overflowX: "auto",
532
+ ...c
533
+ },
534
+ children: e.map((s, f) => /* @__PURE__ */ g(
535
+ "div",
536
+ {
537
+ style: {
538
+ display: "flex",
539
+ alignItems: "stretch",
540
+ background: l(s.type),
541
+ borderLeft: a ? `3px solid ${u(s.type)}` : void 0
542
+ },
543
+ children: [
544
+ t && /* @__PURE__ */ i(
545
+ "span",
546
+ {
547
+ style: {
548
+ flex: "0 0 auto",
549
+ width: 40,
550
+ textAlign: "right",
551
+ paddingRight: 10,
552
+ userSelect: "none",
553
+ color: d(s.type)
554
+ },
555
+ children: s.lineNumber ?? ""
556
+ }
557
+ ),
558
+ /* @__PURE__ */ i(
559
+ "span",
560
+ {
561
+ style: {
562
+ flex: "0 0 auto",
563
+ width: 14,
564
+ textAlign: "center",
565
+ userSelect: "none",
566
+ color: d(s.type)
567
+ },
568
+ children: Ke[s.type]
569
+ }
570
+ ),
571
+ /* @__PURE__ */ i(
572
+ "pre",
573
+ {
574
+ style: {
575
+ margin: 0,
576
+ padding: "0 8px",
577
+ whiteSpace: "pre",
578
+ fontFamily: "inherit"
579
+ },
580
+ children: s.content
581
+ }
582
+ )
583
+ ]
584
+ },
585
+ f
586
+ ))
587
+ }
588
+ );
589
+ }
590
+ function Xe({ status: e }) {
591
+ const t = S(), r = e === "completed" ? b.success : e === "in_progress" ? t.accent.primary : e === "cancelled" ? b.danger : t.text.tertiary;
592
+ return /* @__PURE__ */ g(
593
+ "svg",
594
+ {
595
+ width: 14,
596
+ height: 14,
597
+ viewBox: "0 0 14 14",
598
+ fill: "none",
599
+ style: { flex: "0 0 auto", marginTop: 3 },
600
+ "aria-hidden": !0,
601
+ children: [
602
+ /* @__PURE__ */ i("circle", { cx: 7, cy: 7, r: 6, stroke: r, strokeWidth: 1.4 }),
603
+ e === "completed" && /* @__PURE__ */ i(
604
+ "path",
605
+ {
606
+ d: "M4 7.2l2 2 4-4.4",
607
+ stroke: r,
608
+ strokeWidth: 1.4,
609
+ strokeLinecap: "round",
610
+ strokeLinejoin: "round"
611
+ }
612
+ ),
613
+ e === "in_progress" && /* @__PURE__ */ i("circle", { cx: 7, cy: 7, r: 3, fill: r }),
614
+ e === "cancelled" && /* @__PURE__ */ i(
615
+ "path",
616
+ {
617
+ d: "M4.8 4.8l4.4 4.4M9.2 4.8l-4.4 4.4",
618
+ stroke: r,
619
+ strokeWidth: 1.4,
620
+ strokeLinecap: "round"
621
+ }
622
+ )
623
+ ]
624
+ }
625
+ );
626
+ }
627
+ function Ye({
628
+ todos: e,
629
+ dimmedTodoIds: t,
630
+ onTodoClick: r,
631
+ style: a
632
+ }) {
633
+ const c = S();
634
+ return e.length === 0 ? null : /* @__PURE__ */ i("div", { style: { display: "flex", flexDirection: "column", ...a }, children: e.map((n) => {
635
+ const l = t == null ? void 0 : t.has(n.id);
636
+ return /* @__PURE__ */ g(
637
+ "button",
638
+ {
639
+ type: "button",
640
+ onClick: () => r == null ? void 0 : r(n),
641
+ style: {
642
+ display: "flex",
643
+ gap: 8,
644
+ alignItems: "flex-start",
645
+ width: "100%",
646
+ textAlign: "left",
647
+ padding: "4px 6px",
648
+ background: "transparent",
649
+ border: "none",
650
+ cursor: r ? "pointer" : "default",
651
+ color: c.text.primary,
652
+ fontSize: 14,
653
+ lineHeight: "20px",
654
+ opacity: l ? 0.45 : 1
655
+ },
656
+ children: [
657
+ /* @__PURE__ */ i(Xe, { status: n.status }),
658
+ /* @__PURE__ */ i(
659
+ "span",
660
+ {
661
+ style: {
662
+ textDecoration: n.status === "cancelled" ? "line-through" : void 0,
663
+ color: n.status === "cancelled" ? c.text.tertiary : void 0
664
+ },
665
+ children: n.content
666
+ }
667
+ )
668
+ ]
669
+ },
670
+ n.id
671
+ );
672
+ }) });
673
+ }
674
+ function dt({
675
+ todos: e,
676
+ dimmedTodoIds: t,
677
+ defaultExpanded: r = !1,
678
+ onTodoClick: a,
679
+ style: c
680
+ }) {
681
+ const n = S(), [l, u] = P(r);
682
+ if (e.length === 0) return null;
683
+ const d = e.filter((s) => s.status === "completed").length;
684
+ return /* @__PURE__ */ g(
685
+ "div",
686
+ {
687
+ style: {
688
+ border: `1px solid ${n.stroke.primary}`,
689
+ borderRadius: 6,
690
+ overflow: "hidden",
691
+ ...c
692
+ },
693
+ children: [
694
+ /* @__PURE__ */ g(
695
+ "button",
696
+ {
697
+ type: "button",
698
+ onClick: () => u((s) => !s),
699
+ style: {
700
+ display: "flex",
701
+ alignItems: "center",
702
+ gap: 8,
703
+ width: "100%",
704
+ padding: "6px 10px",
705
+ background: "transparent",
706
+ border: "none",
707
+ cursor: "pointer",
708
+ color: n.text.secondary,
709
+ fontSize: 12,
710
+ fontWeight: 600
711
+ },
712
+ children: [
713
+ /* @__PURE__ */ i(
714
+ "svg",
715
+ {
716
+ width: 12,
717
+ height: 12,
718
+ viewBox: "0 0 12 12",
719
+ fill: "none",
720
+ style: {
721
+ transform: l ? "rotate(90deg)" : "none",
722
+ transition: "transform 120ms"
723
+ },
724
+ "aria-hidden": !0,
725
+ children: /* @__PURE__ */ i(
726
+ "path",
727
+ {
728
+ d: "M4 2.5L8 6l-4 3.5",
729
+ stroke: "currentColor",
730
+ strokeWidth: 1.4,
731
+ strokeLinecap: "round",
732
+ strokeLinejoin: "round"
733
+ }
734
+ )
735
+ }
736
+ ),
737
+ /* @__PURE__ */ i("span", { children: "Todos" }),
738
+ /* @__PURE__ */ i("span", { style: { flex: 1 } }),
739
+ /* @__PURE__ */ g("span", { children: [
740
+ d,
741
+ " of ",
742
+ e.length,
743
+ " Done"
744
+ ] })
745
+ ]
746
+ }
747
+ ),
748
+ l && /* @__PURE__ */ i("div", { style: { padding: 6 }, children: /* @__PURE__ */ i(
749
+ Ye,
750
+ {
751
+ todos: e,
752
+ dimmedTodoIds: t,
753
+ onTodoClick: a
754
+ }
755
+ ) })
756
+ ]
757
+ }
758
+ );
759
+ }
760
+ function ut(e, t) {
761
+ const r = `canvas:${e}`, [a, c] = P(() => {
762
+ if (typeof localStorage > "u") return t;
763
+ try {
764
+ const l = localStorage.getItem(r);
765
+ return l === null ? t : JSON.parse(l);
766
+ } catch {
767
+ return t;
768
+ }
769
+ }), n = G(
770
+ (l) => {
771
+ c((u) => {
772
+ const d = typeof l == "function" ? l(u) : l;
773
+ try {
774
+ localStorage == null || localStorage.setItem(r, JSON.stringify(d));
775
+ } catch {
776
+ }
777
+ return d;
778
+ });
779
+ },
780
+ [r]
781
+ );
782
+ return [a, n];
783
+ }
784
+ function ft() {
785
+ return G((e) => {
786
+ }, []);
787
+ }
788
+ function ht(e, t) {
789
+ return { ...e, ...t };
790
+ }
791
+ function gt({ children: e, style: t }) {
792
+ return /* @__PURE__ */ i(W, { order: 1, fz: 24, lh: "30px", style: t, children: e });
793
+ }
794
+ function pt({ children: e, style: t }) {
795
+ return /* @__PURE__ */ i(W, { order: 2, fz: 18, lh: "24px", style: t, children: e });
796
+ }
797
+ function yt({ children: e, style: t }) {
798
+ return /* @__PURE__ */ i(W, { order: 3, fz: 16, lh: "22px", style: t, children: e });
799
+ }
800
+ const Ve = {
801
+ normal: 400,
802
+ medium: 500,
803
+ semibold: 600,
804
+ bold: 700
805
+ };
806
+ function mt({
807
+ children: e,
808
+ tone: t = "primary",
809
+ size: r = "body",
810
+ as: a = "p",
811
+ weight: c = "normal",
812
+ italic: n,
813
+ truncate: l,
814
+ style: u
815
+ }) {
816
+ const d = S();
817
+ return /* @__PURE__ */ i(
818
+ H,
819
+ {
820
+ component: a,
821
+ size: r === "small" ? "xs" : "sm",
822
+ fw: Ve[c],
823
+ c: t === "primary" ? void 0 : d.text[t],
824
+ truncate: l,
825
+ style: { fontStyle: n ? "italic" : void 0, ...u },
826
+ children: e
827
+ }
828
+ );
829
+ }
830
+ function xt({ children: e, style: t }) {
831
+ return /* @__PURE__ */ i(
832
+ "code",
833
+ {
834
+ style: {
835
+ fontFamily: 'ui-monospace, SFMono-Regular, Menlo, Monaco, "Cascadia Code", monospace',
836
+ fontSize: "0.92em",
837
+ background: "var(--mantine-color-default-hover)",
838
+ borderRadius: 4,
839
+ padding: "1px 4px",
840
+ ...t
841
+ },
842
+ children: e
843
+ }
844
+ );
845
+ }
846
+ function vt({ children: e, href: t, style: r }) {
847
+ return /* @__PURE__ */ i(
848
+ "a",
849
+ {
850
+ href: t,
851
+ target: "_blank",
852
+ rel: "noreferrer",
853
+ style: { color: "var(--mantine-color-anchor)", ...r },
854
+ children: e
855
+ }
856
+ );
857
+ }
858
+ function Et({ children: e, gap: t, style: r }) {
859
+ return /* @__PURE__ */ i(Be, { gap: t, style: r, children: e });
860
+ }
861
+ const re = {
862
+ start: "flex-start",
863
+ center: "center",
864
+ end: "flex-end",
865
+ stretch: "stretch",
866
+ "space-between": "space-between"
867
+ };
868
+ function bt({
869
+ children: e,
870
+ gap: t,
871
+ align: r = "center",
872
+ justify: a = "start",
873
+ wrap: c = !1,
874
+ style: n
875
+ }) {
876
+ return /* @__PURE__ */ i(
877
+ Ae,
878
+ {
879
+ gap: t,
880
+ align: re[r],
881
+ justify: re[a],
882
+ wrap: c ? "wrap" : "nowrap",
883
+ style: n,
884
+ children: e
885
+ }
886
+ );
887
+ }
888
+ function kt() {
889
+ return /* @__PURE__ */ i("div", { style: { flex: 1 } });
890
+ }
891
+ function Ct({ children: e, columns: t, gap: r = 16, align: a, style: c }) {
892
+ const n = typeof t == "number" ? `repeat(${t}, minmax(0, 1fr))` : t;
893
+ return /* @__PURE__ */ i(
894
+ "div",
895
+ {
896
+ style: {
897
+ display: "grid",
898
+ gridTemplateColumns: n,
899
+ gap: r,
900
+ alignItems: a,
901
+ ...c
902
+ },
903
+ children: e
904
+ }
905
+ );
906
+ }
907
+ function St({ style: e }) {
908
+ return /* @__PURE__ */ i(Ce, { style: e });
909
+ }
910
+ const O = Me({
911
+ collapsible: !1,
912
+ open: !0,
913
+ toggle: () => {
914
+ }
915
+ });
916
+ function Ft({
917
+ children: e,
918
+ variant: t = "default",
919
+ collapsible: r = !1,
920
+ defaultOpen: a = !0,
921
+ open: c,
922
+ onOpenChange: n,
923
+ style: l
924
+ }) {
925
+ const [u, d] = P(a), s = c ?? u, f = G(() => {
926
+ const y = !s;
927
+ c === void 0 && d(y), n == null || n(y);
928
+ }, [s, c, n]);
929
+ return /* @__PURE__ */ i(
930
+ be,
931
+ {
932
+ withBorder: t !== "borderless",
933
+ radius: "md",
934
+ padding: 0,
935
+ style: l,
936
+ children: /* @__PURE__ */ i(O.Provider, { value: { collapsible: r, open: s, toggle: f }, children: e })
937
+ }
938
+ );
939
+ }
940
+ function At({ children: e, trailing: t, style: r }) {
941
+ const { collapsible: a, open: c, toggle: n } = ne(O);
942
+ return /* @__PURE__ */ g(
943
+ "div",
944
+ {
945
+ onClick: a ? n : void 0,
946
+ style: {
947
+ display: "flex",
948
+ alignItems: "center",
949
+ justifyContent: "space-between",
950
+ gap: 8,
951
+ padding: "8px 14px",
952
+ borderBottom: "1px solid var(--mantine-color-default-border)",
953
+ fontSize: 12,
954
+ fontWeight: 600,
955
+ color: "var(--mantine-color-dimmed)",
956
+ cursor: a ? "pointer" : void 0,
957
+ userSelect: a ? "none" : void 0,
958
+ ...r
959
+ },
960
+ children: [
961
+ /* @__PURE__ */ g("span", { style: { display: "inline-flex", alignItems: "center", gap: 6 }, children: [
962
+ a && /* @__PURE__ */ i(he, { expanded: c }),
963
+ e
964
+ ] }),
965
+ t != null && /* @__PURE__ */ i("span", { children: t })
966
+ ]
967
+ }
968
+ );
969
+ }
970
+ function wt({ children: e, style: t }) {
971
+ const { collapsible: r, open: a } = ne(O);
972
+ return r && !a ? null : /* @__PURE__ */ i("div", { style: { padding: 14, ...t }, children: e });
973
+ }
974
+ function he({ expanded: e }) {
975
+ return /* @__PURE__ */ i(
976
+ "svg",
977
+ {
978
+ width: 12,
979
+ height: 12,
980
+ viewBox: "0 0 12 12",
981
+ fill: "none",
982
+ style: {
983
+ transform: e ? "rotate(90deg)" : "none",
984
+ transition: "transform 120ms"
985
+ },
986
+ "aria-hidden": !0,
987
+ children: /* @__PURE__ */ i(
988
+ "path",
989
+ {
990
+ d: "M4 2.5L8 6l-4 3.5",
991
+ stroke: "currentColor",
992
+ strokeWidth: 1.4,
993
+ strokeLinecap: "round",
994
+ strokeLinejoin: "round"
995
+ }
996
+ )
997
+ }
998
+ );
999
+ }
1000
+ function Bt({ value: e, label: t, tone: r, style: a }) {
1001
+ return /* @__PURE__ */ g("div", { style: a, children: [
1002
+ /* @__PURE__ */ i(
1003
+ H,
1004
+ {
1005
+ fz: 22,
1006
+ fw: 700,
1007
+ lh: 1.2,
1008
+ c: r ? `${N[r]}.6` : void 0,
1009
+ children: e
1010
+ }
1011
+ ),
1012
+ /* @__PURE__ */ i(H, { fz: 12, c: "dimmed", children: t })
1013
+ ] });
1014
+ }
1015
+ function Tt({
1016
+ children: e,
1017
+ active: t,
1018
+ tone: r = "neutral",
1019
+ size: a = "md",
1020
+ leadingContent: c,
1021
+ keyboardHint: n,
1022
+ title: l,
1023
+ style: u,
1024
+ onClick: d
1025
+ }) {
1026
+ return /* @__PURE__ */ i(
1027
+ Fe,
1028
+ {
1029
+ color: N[r],
1030
+ variant: t ? "filled" : "light",
1031
+ size: a === "sm" ? "sm" : "md",
1032
+ leftSection: c,
1033
+ rightSection: n,
1034
+ title: l,
1035
+ onClick: d,
1036
+ style: {
1037
+ cursor: d ? "pointer" : void 0,
1038
+ textTransform: "none",
1039
+ ...u
1040
+ },
1041
+ children: e
1042
+ }
1043
+ );
1044
+ }
1045
+ function Lt({
1046
+ children: e,
1047
+ tone: t = "neutral",
1048
+ title: r,
1049
+ icon: a,
1050
+ style: c
1051
+ }) {
1052
+ return /* @__PURE__ */ i(
1053
+ Ee,
1054
+ {
1055
+ color: N[t],
1056
+ title: r,
1057
+ icon: a,
1058
+ variant: "light",
1059
+ style: c,
1060
+ children: e
1061
+ }
1062
+ );
1063
+ }
1064
+ const Je = {
1065
+ success: "rgba(31,138,101,0.12)",
1066
+ danger: "rgba(207,45,86,0.12)",
1067
+ warning: "rgba(232,163,61,0.14)",
1068
+ info: "rgba(46,121,181,0.12)",
1069
+ neutral: "rgba(136,136,168,0.12)"
1070
+ };
1071
+ function Dt({
1072
+ headers: e,
1073
+ rows: t,
1074
+ columnAlign: r,
1075
+ rowTone: a,
1076
+ framed: c = !0,
1077
+ striped: n,
1078
+ stickyHeader: l,
1079
+ style: u,
1080
+ emptyMessage: d
1081
+ }) {
1082
+ return /* @__PURE__ */ g(
1083
+ E,
1084
+ {
1085
+ withTableBorder: c,
1086
+ withColumnBorders: !1,
1087
+ striped: n,
1088
+ stickyHeader: l,
1089
+ highlightOnHover: !0,
1090
+ style: u,
1091
+ children: [
1092
+ /* @__PURE__ */ i(E.Thead, { children: /* @__PURE__ */ i(E.Tr, { children: e.map((s, f) => /* @__PURE__ */ i(E.Th, { ta: (r == null ? void 0 : r[f]) ?? "left", children: s }, f)) }) }),
1093
+ /* @__PURE__ */ i(E.Tbody, { children: t.length === 0 ? /* @__PURE__ */ i(E.Tr, { children: /* @__PURE__ */ i(E.Td, { colSpan: e.length, ta: "center", c: "dimmed", children: d ?? "No data" }) }) : t.map((s, f) => {
1094
+ const y = a == null ? void 0 : a[f];
1095
+ return /* @__PURE__ */ i(
1096
+ E.Tr,
1097
+ {
1098
+ style: y ? { background: Je[y] } : void 0,
1099
+ children: e.map((x, v) => /* @__PURE__ */ i(
1100
+ E.Td,
1101
+ {
1102
+ ta: (r == null ? void 0 : r[v]) ?? "left",
1103
+ children: s[v]
1104
+ },
1105
+ v
1106
+ ))
1107
+ },
1108
+ f
1109
+ );
1110
+ }) })
1111
+ ]
1112
+ }
1113
+ );
1114
+ }
1115
+ const Ue = {
1116
+ primary: "filled",
1117
+ secondary: "default",
1118
+ ghost: "subtle"
1119
+ };
1120
+ function Mt({
1121
+ children: e,
1122
+ variant: t = "secondary",
1123
+ disabled: r,
1124
+ type: a = "button",
1125
+ style: c,
1126
+ onClick: n
1127
+ }) {
1128
+ return /* @__PURE__ */ i(
1129
+ ve,
1130
+ {
1131
+ variant: Ue[t],
1132
+ size: "xs",
1133
+ disabled: r,
1134
+ type: a,
1135
+ onClick: n,
1136
+ style: c,
1137
+ children: e
1138
+ }
1139
+ );
1140
+ }
1141
+ function Pt({
1142
+ children: e,
1143
+ onClick: t,
1144
+ disabled: r,
1145
+ title: a,
1146
+ variant: c = "default",
1147
+ size: n = "md",
1148
+ style: l
1149
+ }) {
1150
+ return /* @__PURE__ */ i(
1151
+ Se,
1152
+ {
1153
+ variant: c === "circle" ? "light" : "subtle",
1154
+ radius: c === "circle" ? "xl" : "sm",
1155
+ size: n === "sm" ? "sm" : "md",
1156
+ color: "gray",
1157
+ disabled: r,
1158
+ title: a,
1159
+ "aria-label": a,
1160
+ onClick: t,
1161
+ style: l,
1162
+ children: e
1163
+ }
1164
+ );
1165
+ }
1166
+ function zt({
1167
+ value: e,
1168
+ onChange: t,
1169
+ options: r,
1170
+ placeholder: a,
1171
+ disabled: c,
1172
+ style: n
1173
+ }) {
1174
+ return /* @__PURE__ */ i(
1175
+ we,
1176
+ {
1177
+ value: e,
1178
+ data: r,
1179
+ placeholder: a,
1180
+ disabled: c,
1181
+ allowDeselect: !1,
1182
+ onChange: (l) => {
1183
+ l !== null && (t == null || t(l));
1184
+ },
1185
+ style: n
1186
+ }
1187
+ );
1188
+ }
1189
+ function Rt({
1190
+ checked: e,
1191
+ onChange: t,
1192
+ disabled: r,
1193
+ label: a,
1194
+ style: c
1195
+ }) {
1196
+ return /* @__PURE__ */ i(
1197
+ ke,
1198
+ {
1199
+ checked: e,
1200
+ disabled: r,
1201
+ label: a,
1202
+ onChange: (n) => t == null ? void 0 : t(n.currentTarget.checked),
1203
+ style: c
1204
+ }
1205
+ );
1206
+ }
1207
+ function $t({
1208
+ checked: e,
1209
+ onChange: t,
1210
+ disabled: r,
1211
+ size: a = "sm",
1212
+ style: c
1213
+ }) {
1214
+ return /* @__PURE__ */ i(
1215
+ De,
1216
+ {
1217
+ checked: e,
1218
+ disabled: r,
1219
+ size: a === "sm" ? "sm" : "md",
1220
+ onChange: (n) => t == null ? void 0 : t(n.currentTarget.checked),
1221
+ style: c
1222
+ }
1223
+ );
1224
+ }
1225
+ function Ht({
1226
+ value: e,
1227
+ onChange: t,
1228
+ placeholder: r,
1229
+ disabled: a,
1230
+ type: c,
1231
+ style: n
1232
+ }) {
1233
+ return /* @__PURE__ */ i(
1234
+ Le,
1235
+ {
1236
+ value: e,
1237
+ placeholder: r,
1238
+ disabled: a,
1239
+ type: c,
1240
+ onChange: (l) => t == null ? void 0 : t(l.currentTarget.value),
1241
+ style: n
1242
+ }
1243
+ );
1244
+ }
1245
+ function It({
1246
+ value: e,
1247
+ onChange: t,
1248
+ placeholder: r,
1249
+ disabled: a,
1250
+ rows: c = 3,
1251
+ style: n
1252
+ }) {
1253
+ return /* @__PURE__ */ i(
1254
+ Te,
1255
+ {
1256
+ value: e,
1257
+ placeholder: r,
1258
+ disabled: a,
1259
+ autosize: !0,
1260
+ minRows: c,
1261
+ onChange: (l) => t == null ? void 0 : t(l.currentTarget.value),
1262
+ style: n
1263
+ }
1264
+ );
1265
+ }
1266
+ function Wt({ color: e, style: t }) {
1267
+ const r = S();
1268
+ return /* @__PURE__ */ i(
1269
+ "span",
1270
+ {
1271
+ style: {
1272
+ display: "inline-block",
1273
+ width: 14,
1274
+ height: 14,
1275
+ borderRadius: 4,
1276
+ background: r.category[e],
1277
+ flex: "0 0 auto",
1278
+ ...t
1279
+ }
1280
+ }
1281
+ );
1282
+ }
1283
+ function Gt({
1284
+ segments: e,
1285
+ total: t,
1286
+ topLeftLabel: r,
1287
+ topRightLabel: a,
1288
+ style: c
1289
+ }) {
1290
+ const n = S(), l = t > 0 ? t : 1, u = e.reduce(
1291
+ (s, f) => s + (Number.isFinite(f.value) && f.value > 0 ? f.value : 0),
1292
+ 0
1293
+ ), d = Math.max(0, l - u);
1294
+ return /* @__PURE__ */ g("div", { style: c, children: [
1295
+ (r != null || a != null) && /* @__PURE__ */ g(
1296
+ "div",
1297
+ {
1298
+ style: {
1299
+ display: "flex",
1300
+ justifyContent: "space-between",
1301
+ fontSize: 12,
1302
+ color: n.text.secondary,
1303
+ marginBottom: 6
1304
+ },
1305
+ children: [
1306
+ /* @__PURE__ */ i("span", { children: r }),
1307
+ /* @__PURE__ */ i("span", { children: a })
1308
+ ]
1309
+ }
1310
+ ),
1311
+ /* @__PURE__ */ g("div", { style: { display: "flex", gap: 2, height: 8 }, children: [
1312
+ e.map((s, f) => {
1313
+ const y = Number.isFinite(s.value) && s.value > 0 ? s.value : 0, x = n.category[s.color ?? te[f % te.length]];
1314
+ return /* @__PURE__ */ i(
1315
+ "div",
1316
+ {
1317
+ style: {
1318
+ width: `${y / l * 100}%`,
1319
+ background: x,
1320
+ borderRadius: 3
1321
+ }
1322
+ },
1323
+ s.id
1324
+ );
1325
+ }),
1326
+ d > 0 && /* @__PURE__ */ i(
1327
+ "div",
1328
+ {
1329
+ style: {
1330
+ width: `${d / l * 100}%`,
1331
+ background: n.fill.tertiary,
1332
+ borderRadius: 3
1333
+ }
1334
+ }
1335
+ )
1336
+ ] })
1337
+ ] });
1338
+ }
1339
+ function jt({
1340
+ title: e,
1341
+ leading: t,
1342
+ count: r,
1343
+ trailing: a,
1344
+ children: c,
1345
+ defaultOpen: n = !1,
1346
+ style: l
1347
+ }) {
1348
+ const u = S(), [d, s] = P(n);
1349
+ return /* @__PURE__ */ g("div", { style: l, children: [
1350
+ /* @__PURE__ */ g(
1351
+ "div",
1352
+ {
1353
+ onClick: () => s((f) => !f),
1354
+ style: {
1355
+ display: "flex",
1356
+ alignItems: "center",
1357
+ gap: 6,
1358
+ padding: "4px 0",
1359
+ cursor: "pointer",
1360
+ userSelect: "none",
1361
+ color: u.text.primary,
1362
+ fontSize: 14
1363
+ },
1364
+ children: [
1365
+ /* @__PURE__ */ i(he, { expanded: d }),
1366
+ t,
1367
+ /* @__PURE__ */ i("span", { style: { fontWeight: 500 }, children: e }),
1368
+ r != null && /* @__PURE__ */ i("span", { style: { color: u.text.tertiary, fontSize: 12 }, children: r }),
1369
+ /* @__PURE__ */ i("span", { style: { flex: 1 } }),
1370
+ a != null && /* @__PURE__ */ i("span", { style: { color: u.text.tertiary }, children: a })
1371
+ ]
1372
+ }
1373
+ ),
1374
+ d && /* @__PURE__ */ i("div", { style: { paddingLeft: 18, paddingBottom: 4 }, children: c })
1375
+ ] });
1376
+ }
1377
+ export {
1378
+ at as BarChart,
1379
+ Mt as Button,
1380
+ Lt as Callout,
1381
+ Ft as Card,
1382
+ wt as CardBody,
1383
+ At as CardHeader,
1384
+ Rt as Checkbox,
1385
+ xt as Code,
1386
+ jt as CollapsibleSection,
1387
+ st as DiffStats,
1388
+ lt as DiffView,
1389
+ St as Divider,
1390
+ Ct as Grid,
1391
+ gt as H1,
1392
+ pt as H2,
1393
+ yt as H3,
1394
+ Pt as IconButton,
1395
+ ot as LineChart,
1396
+ vt as Link,
1397
+ it as PieChart,
1398
+ Tt as Pill,
1399
+ bt as Row,
1400
+ zt as Select,
1401
+ kt as Spacer,
1402
+ Et as Stack,
1403
+ Bt as Stat,
1404
+ Wt as Swatch,
1405
+ Dt as Table,
1406
+ mt as Text,
1407
+ It as TextArea,
1408
+ Ht as TextInput,
1409
+ Ye as TodoList,
1410
+ dt as TodoListCard,
1411
+ $t as Toggle,
1412
+ Gt as UsageBar,
1413
+ oe as canvasPaletteDark,
1414
+ ae as canvasPaletteLight,
1415
+ Ie as canvasTokens,
1416
+ We as canvasTokensLight,
1417
+ j as categoryPaletteDark,
1418
+ ie as categoryPaletteLight,
1419
+ nt as colorPalette,
1420
+ ct as computeDAGLayout,
1421
+ ht as mergeStyle,
1422
+ le as reshapeLineChartData,
1423
+ te as usageColorSequence,
1424
+ ft as useCanvasAction,
1425
+ ut as useCanvasState,
1426
+ _t as useEffect,
1427
+ S as useHostTheme,
1428
+ qt as useMemo,
1429
+ Qt as useRef,
1430
+ Kt as useState
1431
+ };