@silvery/examples 0.17.4 → 0.17.5
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/_banner-A70_y2Vi.mjs +43 -0
- package/dist/{ansi-CCE2pVS0.mjs → ansi-0VXlUmNn.mjs} +7 -7
- package/dist/apng-B0gRaDVT.mjs +3 -0
- package/dist/{apng-HhhBjRGt.mjs → apng-BTRDTfDW.mjs} +2 -2
- package/dist/apps/aichat/index.mjs +69 -70
- package/dist/apps/app-todo.mjs +19 -20
- package/dist/apps/async-data.mjs +40 -41
- package/dist/apps/cli-wizard.mjs +51 -52
- package/dist/apps/clipboard.mjs +26 -27
- package/dist/apps/components.mjs +189 -190
- package/dist/apps/data-explorer.mjs +52 -53
- package/dist/apps/dev-tools.mjs +39 -40
- package/dist/apps/explorer.mjs +73 -74
- package/dist/apps/gallery.mjs +61 -62
- package/dist/apps/inline-bench.mjs +1 -1
- package/dist/apps/kanban.mjs +22 -23
- package/dist/apps/layout-ref.mjs +27 -28
- package/dist/apps/outline.mjs +35 -36
- package/dist/apps/paste-demo.mjs +33 -34
- package/dist/apps/scroll.mjs +11 -12
- package/dist/apps/search-filter.mjs +23 -24
- package/dist/apps/selection.mjs +30 -31
- package/dist/apps/spatial-focus-demo.mjs +32 -33
- package/dist/apps/task-list.mjs +25 -26
- package/dist/apps/terminal-caps-demo.mjs +30 -31
- package/dist/apps/terminal.mjs +157 -158
- package/dist/apps/text-selection-demo.mjs +62 -63
- package/dist/apps/textarea.mjs +21 -22
- package/dist/apps/theme.mjs +142 -143
- package/dist/apps/transform.mjs +25 -26
- package/dist/apps/virtual-10k.mjs +52 -53
- package/dist/{backends-Bahh9mKN.mjs → backends-Dj-11kZF.mjs} +1 -1
- package/dist/backends-U3QwStfO.mjs +3 -0
- package/dist/components/counter.mjs +6 -7
- package/dist/components/hello.mjs +5 -6
- package/dist/components/progress-bar.mjs +10 -11
- package/dist/components/select-list.mjs +8 -9
- package/dist/components/spinner.mjs +10 -11
- package/dist/components/text-input.mjs +8 -9
- package/dist/components/virtual-list.mjs +7 -8
- package/dist/{flexily-zero-adapter-UB-ra8fR.mjs → flexily-zero-adapter-ByVzLTFP.mjs} +1 -1
- package/dist/gif-B6NGH5gs.mjs +3 -0
- package/dist/{gif-BtnXuxLF.mjs → gif-CfkOF-iG.mjs} +2 -2
- package/dist/layout/dashboard.mjs +197 -198
- package/dist/layout/live-resize.mjs +44 -45
- package/dist/layout/overflow.mjs +16 -17
- package/dist/layout/text-layout.mjs +67 -68
- package/dist/{plugins-D1KtkT4a.mjs → plugins-CT0DdV_E.mjs} +12 -13
- package/dist/{src-BTEVGpd9.mjs → src-jO3Zuzjj.mjs} +3 -3
- package/dist/{yoga-adapter-BVtQ5OJR.mjs → yoga-adapter-BSQHuMV9.mjs} +1 -1
- package/package.json +4 -2
- package/dist/_banner-DLPxCqVy.mjs +0 -44
- package/dist/apng-mwUQbTTF.mjs +0 -3
- package/dist/backends-CCtCDQ94.mjs +0 -3
- package/dist/gif-BZaqPPVX.mjs +0 -3
- package/dist/jsx-runtime-dMs_8fNu.mjs +0 -241
- /package/dist/{UPNG-Cy7ViL8f.mjs → UPNG-ShUlaTDh.mjs} +0 -0
- /package/dist/{__vite-browser-external-2447137e-BML7CYau.mjs → __vite-browser-external-2447137e-Bopa5BFR.mjs} +0 -0
- /package/dist/{gifenc-CLRW41dk.mjs → gifenc-BI4ihP_T.mjs} +0 -0
- /package/dist/{node-NuJ94BWl.mjs → node-nsrAOjH4.mjs} +0 -0
- /package/dist/{resvg-js-C_8Wps1F.mjs → resvg-js-Cnk2o49d.mjs} +0 -0
- /package/dist/{src-CzfRafCQ.mjs → src-9ZhfQyzD.mjs} +0 -0
package/dist/apps/theme.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { d as ansi16LightTheme, f as builtinPalettes, h as deriveTheme, t as init_src, u as ansi16DarkTheme } from "../src-CUUOuRH6.mjs";
|
|
2
2
|
import { t as _usingCtx } from "../usingCtx-CsEf0xO3.mjs";
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as ExampleBanner } from "../_banner-DLPxCqVy.mjs";
|
|
3
|
+
import { t as ExampleBanner } from "../_banner-A70_y2Vi.mjs";
|
|
5
4
|
import { useState } from "react";
|
|
6
5
|
import { Badge, Blockquote, Box, Code, Divider, H1, H2, H3, Kbd, Lead, Link, Muted, P, ProgressBar, Small, Spinner, Strong, Text, ThemeProvider, Toggle, createTerm, detectTheme, render, useApp, useInput } from "silvery";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region apps/theme.tsx
|
|
8
8
|
/**
|
|
9
9
|
* Theme Explorer Example
|
|
@@ -15,7 +15,6 @@ import { Badge, Blockquote, Box, Code, Divider, H1, H2, H3, Kbd, Lead, Link, Mut
|
|
|
15
15
|
* semantic tokens, ANSI 16-color table, surfaces, components, and typography.
|
|
16
16
|
*/
|
|
17
17
|
init_src();
|
|
18
|
-
var import_jsx_runtime = require_jsx_runtime();
|
|
19
18
|
const meta = {
|
|
20
19
|
name: "Theme Explorer",
|
|
21
20
|
description: "Browse built-in palettes with live color preview",
|
|
@@ -31,27 +30,27 @@ const meta = {
|
|
|
31
30
|
let allEntries = [];
|
|
32
31
|
/** Small color swatch: 2 colored block chars */
|
|
33
32
|
function Swatch({ color }) {
|
|
34
|
-
return /* @__PURE__ */
|
|
33
|
+
return /* @__PURE__ */ jsx(Text, {
|
|
35
34
|
color,
|
|
36
35
|
children: "██"
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
38
|
/** Mini swatch: 4 colored blocks showing palette character */
|
|
40
39
|
function MiniSwatch({ palette }) {
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
40
|
+
return /* @__PURE__ */ jsxs(Text, { children: [
|
|
41
|
+
/* @__PURE__ */ jsx(Text, {
|
|
43
42
|
color: palette.red,
|
|
44
43
|
children: "█"
|
|
45
44
|
}),
|
|
46
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ jsx(Text, {
|
|
47
46
|
color: palette.green,
|
|
48
47
|
children: "█"
|
|
49
48
|
}),
|
|
50
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ jsx(Text, {
|
|
51
50
|
color: palette.blue,
|
|
52
51
|
children: "█"
|
|
53
52
|
}),
|
|
54
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ jsx(Text, {
|
|
55
54
|
color: palette.yellow,
|
|
56
55
|
children: "█"
|
|
57
56
|
})
|
|
@@ -59,20 +58,20 @@ function MiniSwatch({ palette }) {
|
|
|
59
58
|
}
|
|
60
59
|
/** Mini swatch from theme tokens (for detected theme without a palette) */
|
|
61
60
|
function ThemeMiniSwatch({ theme }) {
|
|
62
|
-
return /* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */
|
|
61
|
+
return /* @__PURE__ */ jsxs(Text, { children: [
|
|
62
|
+
/* @__PURE__ */ jsx(Text, {
|
|
64
63
|
color: theme.error,
|
|
65
64
|
children: "█"
|
|
66
65
|
}),
|
|
67
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ jsx(Text, {
|
|
68
67
|
color: theme.success,
|
|
69
68
|
children: "█"
|
|
70
69
|
}),
|
|
71
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ jsx(Text, {
|
|
72
71
|
color: theme.info,
|
|
73
72
|
children: "█"
|
|
74
73
|
}),
|
|
75
|
-
/* @__PURE__ */
|
|
74
|
+
/* @__PURE__ */ jsx(Text, {
|
|
76
75
|
color: theme.primary,
|
|
77
76
|
children: "█"
|
|
78
77
|
})
|
|
@@ -80,33 +79,33 @@ function ThemeMiniSwatch({ theme }) {
|
|
|
80
79
|
}
|
|
81
80
|
/** Left panel: theme list with color swatches */
|
|
82
81
|
function ThemeList({ entries, selectedIndex }) {
|
|
83
|
-
return /* @__PURE__ */
|
|
82
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
84
83
|
flexDirection: "column",
|
|
85
84
|
width: 30,
|
|
86
85
|
borderStyle: "single",
|
|
87
86
|
overflow: "scroll",
|
|
88
87
|
scrollTo: selectedIndex,
|
|
89
88
|
children: [
|
|
90
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
91
90
|
paddingX: 1,
|
|
92
|
-
children: [/* @__PURE__ */
|
|
91
|
+
children: [/* @__PURE__ */ jsx(Text, {
|
|
93
92
|
bold: true,
|
|
94
93
|
color: "$primary",
|
|
95
94
|
children: "Palettes"
|
|
96
|
-
}), /* @__PURE__ */
|
|
95
|
+
}), /* @__PURE__ */ jsxs(Muted, { children: [
|
|
97
96
|
" (",
|
|
98
97
|
entries.length,
|
|
99
98
|
")"
|
|
100
99
|
] })]
|
|
101
100
|
}),
|
|
102
|
-
/* @__PURE__ */
|
|
103
|
-
/* @__PURE__ */
|
|
101
|
+
/* @__PURE__ */ jsx(Divider, {}),
|
|
102
|
+
/* @__PURE__ */ jsx(Box, {
|
|
104
103
|
flexDirection: "column",
|
|
105
104
|
paddingX: 1,
|
|
106
105
|
children: entries.map((entry, i) => {
|
|
107
106
|
const isSelected = i === selectedIndex;
|
|
108
|
-
return /* @__PURE__ */
|
|
109
|
-
/* @__PURE__ */
|
|
107
|
+
return /* @__PURE__ */ jsxs(Box, { children: [
|
|
108
|
+
/* @__PURE__ */ jsxs(Text, {
|
|
110
109
|
inverse: isSelected,
|
|
111
110
|
children: [
|
|
112
111
|
isSelected ? "▸" : " ",
|
|
@@ -114,8 +113,8 @@ function ThemeList({ entries, selectedIndex }) {
|
|
|
114
113
|
entry.name.padEnd(18)
|
|
115
114
|
]
|
|
116
115
|
}),
|
|
117
|
-
/* @__PURE__ */
|
|
118
|
-
entry.palette ? /* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ jsx(Text, { children: " " }),
|
|
117
|
+
entry.palette ? /* @__PURE__ */ jsx(MiniSwatch, { palette: entry.palette }) : /* @__PURE__ */ jsx(ThemeMiniSwatch, { theme: entry.theme })
|
|
119
118
|
] }, entry.name);
|
|
120
119
|
})
|
|
121
120
|
})
|
|
@@ -124,9 +123,9 @@ function ThemeList({ entries, selectedIndex }) {
|
|
|
124
123
|
}
|
|
125
124
|
/** Semantic token showcase row */
|
|
126
125
|
function SemanticTokens() {
|
|
127
|
-
return /* @__PURE__ */
|
|
126
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
128
127
|
flexDirection: "column",
|
|
129
|
-
children: [/* @__PURE__ */
|
|
128
|
+
children: [/* @__PURE__ */ jsx(H2, { children: "Semantic Tokens" }), /* @__PURE__ */ jsx(Box, {
|
|
130
129
|
flexDirection: "row",
|
|
131
130
|
flexWrap: "wrap",
|
|
132
131
|
gap: 1,
|
|
@@ -172,7 +171,7 @@ function SemanticTokens() {
|
|
|
172
171
|
token: "$link",
|
|
173
172
|
icon: "🔗"
|
|
174
173
|
}
|
|
175
|
-
].map((t) => /* @__PURE__ */
|
|
174
|
+
].map((t) => /* @__PURE__ */ jsxs(Text, {
|
|
176
175
|
color: t.token,
|
|
177
176
|
children: [
|
|
178
177
|
t.icon,
|
|
@@ -205,19 +204,19 @@ function AnsiColorTable({ palette }) {
|
|
|
205
204
|
palette.brightCyan,
|
|
206
205
|
palette.brightWhite
|
|
207
206
|
];
|
|
208
|
-
return /* @__PURE__ */
|
|
207
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
209
208
|
flexDirection: "column",
|
|
210
209
|
children: [
|
|
211
|
-
/* @__PURE__ */
|
|
212
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ jsx(H2, { children: "ANSI 16 Colors" }),
|
|
211
|
+
/* @__PURE__ */ jsx(Box, {
|
|
213
212
|
paddingX: 1,
|
|
214
213
|
gap: 1,
|
|
215
|
-
children: /* @__PURE__ */
|
|
214
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [/* @__PURE__ */ jsx(Muted, { children: "0-7 " }), normal.map((c, i) => /* @__PURE__ */ jsx(Swatch, { color: c }, i))] })
|
|
216
215
|
}),
|
|
217
|
-
/* @__PURE__ */
|
|
216
|
+
/* @__PURE__ */ jsx(Box, {
|
|
218
217
|
paddingX: 1,
|
|
219
218
|
gap: 1,
|
|
220
|
-
children: /* @__PURE__ */
|
|
219
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [/* @__PURE__ */ jsx(Muted, { children: "8-15 " }), bright.map((c, i) => /* @__PURE__ */ jsx(Swatch, { color: c }, i))] })
|
|
221
220
|
})
|
|
222
221
|
]
|
|
223
222
|
});
|
|
@@ -226,138 +225,138 @@ function AnsiColorTable({ palette }) {
|
|
|
226
225
|
function ThemeAnsiColorTable({ palette }) {
|
|
227
226
|
const normal = palette.slice(0, 8);
|
|
228
227
|
const bright = palette.slice(8, 16);
|
|
229
|
-
return /* @__PURE__ */
|
|
228
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
230
229
|
flexDirection: "column",
|
|
231
230
|
children: [
|
|
232
|
-
/* @__PURE__ */
|
|
233
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ jsx(H2, { children: "ANSI 16 Colors" }),
|
|
232
|
+
/* @__PURE__ */ jsx(Box, {
|
|
234
233
|
paddingX: 1,
|
|
235
234
|
gap: 1,
|
|
236
|
-
children: /* @__PURE__ */
|
|
235
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [/* @__PURE__ */ jsx(Muted, { children: "0-7 " }), normal.map((c, i) => /* @__PURE__ */ jsx(Swatch, { color: c }, i))] })
|
|
237
236
|
}),
|
|
238
|
-
/* @__PURE__ */
|
|
237
|
+
/* @__PURE__ */ jsx(Box, {
|
|
239
238
|
paddingX: 1,
|
|
240
239
|
gap: 1,
|
|
241
|
-
children: /* @__PURE__ */
|
|
240
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [/* @__PURE__ */ jsx(Muted, { children: "8-15 " }), bright.map((c, i) => /* @__PURE__ */ jsx(Swatch, { color: c }, i))] })
|
|
242
241
|
})
|
|
243
242
|
]
|
|
244
243
|
});
|
|
245
244
|
}
|
|
246
245
|
/** Component showcase — real silvery components using theme tokens */
|
|
247
246
|
function ComponentShowcase() {
|
|
248
|
-
return /* @__PURE__ */
|
|
247
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
249
248
|
flexDirection: "column",
|
|
250
|
-
children: [/* @__PURE__ */
|
|
249
|
+
children: [/* @__PURE__ */ jsx(H2, { children: "Components" }), /* @__PURE__ */ jsxs(Box, {
|
|
251
250
|
flexDirection: "column",
|
|
252
251
|
paddingX: 1,
|
|
253
252
|
gap: 1,
|
|
254
253
|
children: [
|
|
255
|
-
/* @__PURE__ */
|
|
254
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
256
255
|
gap: 2,
|
|
257
256
|
children: [
|
|
258
|
-
/* @__PURE__ */
|
|
257
|
+
/* @__PURE__ */ jsx(Link, {
|
|
259
258
|
href: "https://silvery.dev",
|
|
260
259
|
children: "silvery.dev"
|
|
261
260
|
}),
|
|
262
|
-
/* @__PURE__ */
|
|
261
|
+
/* @__PURE__ */ jsx(Link, {
|
|
263
262
|
href: "https://example.com",
|
|
264
263
|
color: "$primary",
|
|
265
264
|
children: "primary link"
|
|
266
265
|
}),
|
|
267
|
-
/* @__PURE__ */
|
|
266
|
+
/* @__PURE__ */ jsx(Link, {
|
|
268
267
|
href: "https://example.com",
|
|
269
268
|
dim: true,
|
|
270
269
|
children: "dim link"
|
|
271
270
|
})
|
|
272
271
|
]
|
|
273
272
|
}),
|
|
274
|
-
/* @__PURE__ */
|
|
273
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
275
274
|
gap: 1,
|
|
276
275
|
flexWrap: "wrap",
|
|
277
276
|
children: [
|
|
278
|
-
/* @__PURE__ */
|
|
277
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
279
278
|
label: "default",
|
|
280
279
|
variant: "default"
|
|
281
280
|
}),
|
|
282
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
283
282
|
label: "success",
|
|
284
283
|
variant: "success"
|
|
285
284
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
285
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
287
286
|
label: "error",
|
|
288
287
|
variant: "error"
|
|
289
288
|
}),
|
|
290
|
-
/* @__PURE__ */
|
|
289
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
291
290
|
label: "warning",
|
|
292
291
|
variant: "warning"
|
|
293
292
|
}),
|
|
294
|
-
/* @__PURE__ */
|
|
293
|
+
/* @__PURE__ */ jsx(Badge, {
|
|
295
294
|
label: "primary",
|
|
296
295
|
variant: "primary"
|
|
297
296
|
})
|
|
298
297
|
]
|
|
299
298
|
}),
|
|
300
|
-
/* @__PURE__ */
|
|
299
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
301
300
|
gap: 2,
|
|
302
|
-
children: [/* @__PURE__ */
|
|
301
|
+
children: [/* @__PURE__ */ jsxs(Box, {
|
|
303
302
|
gap: 1,
|
|
304
|
-
children: [/* @__PURE__ */
|
|
303
|
+
children: [/* @__PURE__ */ jsx(Muted, { children: "Progress:" }), /* @__PURE__ */ jsx(Box, {
|
|
305
304
|
width: 16,
|
|
306
|
-
children: /* @__PURE__ */
|
|
305
|
+
children: /* @__PURE__ */ jsx(ProgressBar, { value: .65 })
|
|
307
306
|
})]
|
|
308
|
-
}), /* @__PURE__ */
|
|
307
|
+
}), /* @__PURE__ */ jsxs(Box, {
|
|
309
308
|
gap: 1,
|
|
310
|
-
children: [/* @__PURE__ */
|
|
309
|
+
children: [/* @__PURE__ */ jsx(Spinner, {}), /* @__PURE__ */ jsx(Muted, { children: "Loading..." })]
|
|
311
310
|
})]
|
|
312
311
|
}),
|
|
313
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
314
313
|
gap: 2,
|
|
315
|
-
children: [/* @__PURE__ */
|
|
314
|
+
children: [/* @__PURE__ */ jsx(Box, {
|
|
316
315
|
gap: 1,
|
|
317
|
-
children: /* @__PURE__ */
|
|
316
|
+
children: /* @__PURE__ */ jsx(Toggle, {
|
|
318
317
|
value: true,
|
|
319
318
|
onChange: () => {},
|
|
320
319
|
label: "Enabled"
|
|
321
320
|
})
|
|
322
|
-
}), /* @__PURE__ */
|
|
321
|
+
}), /* @__PURE__ */ jsx(Box, {
|
|
323
322
|
gap: 1,
|
|
324
|
-
children: /* @__PURE__ */
|
|
323
|
+
children: /* @__PURE__ */ jsx(Toggle, {
|
|
325
324
|
value: false,
|
|
326
325
|
onChange: () => {},
|
|
327
326
|
label: "Disabled"
|
|
328
327
|
})
|
|
329
328
|
})]
|
|
330
329
|
}),
|
|
331
|
-
/* @__PURE__ */
|
|
330
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
332
331
|
borderStyle: "round",
|
|
333
332
|
paddingX: 1,
|
|
334
333
|
flexDirection: "column",
|
|
335
334
|
children: [
|
|
336
|
-
/* @__PURE__ */
|
|
335
|
+
/* @__PURE__ */ jsx(Text, {
|
|
337
336
|
bold: true,
|
|
338
337
|
color: "$primary",
|
|
339
338
|
children: "Dialog Title"
|
|
340
339
|
}),
|
|
341
|
-
/* @__PURE__ */
|
|
342
|
-
/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ jsx(Text, { children: "Body text with default colors." }),
|
|
341
|
+
/* @__PURE__ */ jsx(Muted, { children: "Muted secondary info" })
|
|
343
342
|
]
|
|
344
343
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
344
|
+
/* @__PURE__ */ jsx(Box, {
|
|
346
345
|
borderStyle: "single",
|
|
347
346
|
borderColor: "$inputborder",
|
|
348
347
|
paddingX: 1,
|
|
349
348
|
width: 30,
|
|
350
|
-
children: /* @__PURE__ */
|
|
349
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
351
350
|
color: "$disabledfg",
|
|
352
351
|
children: "Search..."
|
|
353
352
|
})
|
|
354
353
|
}),
|
|
355
|
-
/* @__PURE__ */
|
|
354
|
+
/* @__PURE__ */ jsx(Box, {
|
|
356
355
|
borderStyle: "single",
|
|
357
356
|
borderColor: "$focusborder",
|
|
358
357
|
paddingX: 1,
|
|
359
358
|
width: 30,
|
|
360
|
-
children: /* @__PURE__ */
|
|
359
|
+
children: /* @__PURE__ */ jsx(Text, { children: "Focused input" })
|
|
361
360
|
})
|
|
362
361
|
]
|
|
363
362
|
})]
|
|
@@ -365,121 +364,121 @@ function ComponentShowcase() {
|
|
|
365
364
|
}
|
|
366
365
|
/** Typography samples */
|
|
367
366
|
function TypographySamples() {
|
|
368
|
-
return /* @__PURE__ */
|
|
367
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
369
368
|
flexDirection: "column",
|
|
370
|
-
children: [/* @__PURE__ */
|
|
369
|
+
children: [/* @__PURE__ */ jsx(H2, { children: "Typography" }), /* @__PURE__ */ jsxs(Box, {
|
|
371
370
|
flexDirection: "column",
|
|
372
371
|
paddingX: 1,
|
|
373
372
|
children: [
|
|
374
|
-
/* @__PURE__ */
|
|
375
|
-
/* @__PURE__ */
|
|
376
|
-
/* @__PURE__ */
|
|
377
|
-
/* @__PURE__ */
|
|
378
|
-
/* @__PURE__ */
|
|
379
|
-
/* @__PURE__ */
|
|
380
|
-
/* @__PURE__ */
|
|
381
|
-
/* @__PURE__ */
|
|
382
|
-
/* @__PURE__ */
|
|
373
|
+
/* @__PURE__ */ jsx(H1, { children: "Heading 1" }),
|
|
374
|
+
/* @__PURE__ */ jsx(H2, { children: "Heading 2" }),
|
|
375
|
+
/* @__PURE__ */ jsx(H3, { children: "Heading 3" }),
|
|
376
|
+
/* @__PURE__ */ jsx(Strong, { children: "Strong text" }),
|
|
377
|
+
/* @__PURE__ */ jsx(Lead, { children: "Lead text (italic)" }),
|
|
378
|
+
/* @__PURE__ */ jsx(P, { children: "Normal paragraph text" }),
|
|
379
|
+
/* @__PURE__ */ jsx(Muted, { children: "Muted text" }),
|
|
380
|
+
/* @__PURE__ */ jsx(Small, { children: "Small text" }),
|
|
381
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
383
382
|
gap: 1,
|
|
384
383
|
children: [
|
|
385
|
-
/* @__PURE__ */
|
|
386
|
-
/* @__PURE__ */
|
|
387
|
-
/* @__PURE__ */
|
|
384
|
+
/* @__PURE__ */ jsx(Kbd, { children: "Kbd" }),
|
|
385
|
+
/* @__PURE__ */ jsx(Kbd, { children: "⌘K" }),
|
|
386
|
+
/* @__PURE__ */ jsx(Kbd, { children: "Enter" })
|
|
388
387
|
]
|
|
389
388
|
}),
|
|
390
|
-
/* @__PURE__ */
|
|
391
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ jsx(Code, { children: "inline code" }),
|
|
390
|
+
/* @__PURE__ */ jsx(Blockquote, { children: "Blockquote text" })
|
|
392
391
|
]
|
|
393
392
|
})]
|
|
394
393
|
});
|
|
395
394
|
}
|
|
396
395
|
/** Surface pairs showcase */
|
|
397
396
|
function SurfacePairs() {
|
|
398
|
-
return /* @__PURE__ */
|
|
397
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
399
398
|
flexDirection: "column",
|
|
400
|
-
children: [/* @__PURE__ */
|
|
399
|
+
children: [/* @__PURE__ */ jsx(H2, { children: "Surfaces" }), /* @__PURE__ */ jsxs(Box, {
|
|
401
400
|
flexDirection: "column",
|
|
402
401
|
paddingX: 1,
|
|
403
402
|
gap: 0,
|
|
404
403
|
children: [
|
|
405
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
406
405
|
gap: 1,
|
|
407
406
|
children: [
|
|
408
|
-
/* @__PURE__ */
|
|
407
|
+
/* @__PURE__ */ jsx(Box, {
|
|
409
408
|
backgroundColor: "$surfacebg",
|
|
410
409
|
paddingX: 1,
|
|
411
|
-
children: /* @__PURE__ */
|
|
410
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
412
411
|
color: "$surface",
|
|
413
412
|
children: "surface"
|
|
414
413
|
})
|
|
415
414
|
}),
|
|
416
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ jsx(Box, {
|
|
417
416
|
backgroundColor: "$inversebg",
|
|
418
417
|
paddingX: 1,
|
|
419
|
-
children: /* @__PURE__ */
|
|
418
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
420
419
|
color: "$inverse",
|
|
421
420
|
children: "inverse"
|
|
422
421
|
})
|
|
423
422
|
}),
|
|
424
|
-
/* @__PURE__ */
|
|
423
|
+
/* @__PURE__ */ jsx(Box, {
|
|
425
424
|
backgroundColor: "$mutedbg",
|
|
426
425
|
paddingX: 1,
|
|
427
|
-
children: /* @__PURE__ */
|
|
426
|
+
children: /* @__PURE__ */ jsx(Text, { children: "muted bg" })
|
|
428
427
|
})
|
|
429
428
|
]
|
|
430
429
|
}),
|
|
431
|
-
/* @__PURE__ */
|
|
430
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
432
431
|
gap: 1,
|
|
433
432
|
children: [
|
|
434
|
-
/* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ jsx(Box, {
|
|
435
434
|
backgroundColor: "$primary",
|
|
436
435
|
paddingX: 1,
|
|
437
|
-
children: /* @__PURE__ */
|
|
436
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
438
437
|
color: "$primaryfg",
|
|
439
438
|
children: "primary"
|
|
440
439
|
})
|
|
441
440
|
}),
|
|
442
|
-
/* @__PURE__ */
|
|
441
|
+
/* @__PURE__ */ jsx(Box, {
|
|
443
442
|
backgroundColor: "$error",
|
|
444
443
|
paddingX: 1,
|
|
445
|
-
children: /* @__PURE__ */
|
|
444
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
446
445
|
color: "$errorfg",
|
|
447
446
|
children: "error"
|
|
448
447
|
})
|
|
449
448
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
449
|
+
/* @__PURE__ */ jsx(Box, {
|
|
451
450
|
backgroundColor: "$success",
|
|
452
451
|
paddingX: 1,
|
|
453
|
-
children: /* @__PURE__ */
|
|
452
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
454
453
|
color: "$successfg",
|
|
455
454
|
children: "success"
|
|
456
455
|
})
|
|
457
456
|
})
|
|
458
457
|
]
|
|
459
458
|
}),
|
|
460
|
-
/* @__PURE__ */
|
|
459
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
461
460
|
gap: 1,
|
|
462
461
|
children: [
|
|
463
|
-
/* @__PURE__ */
|
|
462
|
+
/* @__PURE__ */ jsx(Box, {
|
|
464
463
|
backgroundColor: "$selectionbg",
|
|
465
464
|
paddingX: 1,
|
|
466
|
-
children: /* @__PURE__ */
|
|
465
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
467
466
|
color: "$selection",
|
|
468
467
|
children: "selection"
|
|
469
468
|
})
|
|
470
469
|
}),
|
|
471
|
-
/* @__PURE__ */
|
|
470
|
+
/* @__PURE__ */ jsx(Box, {
|
|
472
471
|
backgroundColor: "$popoverbg",
|
|
473
472
|
paddingX: 1,
|
|
474
|
-
children: /* @__PURE__ */
|
|
473
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
475
474
|
color: "$popover",
|
|
476
475
|
children: "popover"
|
|
477
476
|
})
|
|
478
477
|
}),
|
|
479
|
-
/* @__PURE__ */
|
|
478
|
+
/* @__PURE__ */ jsx(Box, {
|
|
480
479
|
backgroundColor: "$accent",
|
|
481
480
|
paddingX: 1,
|
|
482
|
-
children: /* @__PURE__ */
|
|
481
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
483
482
|
color: "$accentfg",
|
|
484
483
|
children: "accent"
|
|
485
484
|
})
|
|
@@ -492,42 +491,42 @@ function SurfacePairs() {
|
|
|
492
491
|
}
|
|
493
492
|
/** Contrast adjustments made during derivation */
|
|
494
493
|
function AdjustmentLog({ adjustments = [] }) {
|
|
495
|
-
if (adjustments.length === 0) return /* @__PURE__ */
|
|
494
|
+
if (adjustments.length === 0) return /* @__PURE__ */ jsxs(Box, {
|
|
496
495
|
flexDirection: "column",
|
|
497
|
-
children: [/* @__PURE__ */
|
|
496
|
+
children: [/* @__PURE__ */ jsx(H2, { children: "Contrast Adjustments" }), /* @__PURE__ */ jsx(Box, {
|
|
498
497
|
paddingX: 1,
|
|
499
|
-
children: /* @__PURE__ */
|
|
498
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
500
499
|
color: "$success",
|
|
501
500
|
children: "✓ No adjustments needed — all tokens meet contrast targets"
|
|
502
501
|
})
|
|
503
502
|
})]
|
|
504
503
|
});
|
|
505
|
-
return /* @__PURE__ */
|
|
504
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
506
505
|
flexDirection: "column",
|
|
507
|
-
children: [/* @__PURE__ */
|
|
506
|
+
children: [/* @__PURE__ */ jsxs(H2, { children: [
|
|
508
507
|
"Contrast Adjustments (",
|
|
509
508
|
adjustments.length,
|
|
510
509
|
")"
|
|
511
|
-
] }), /* @__PURE__ */
|
|
510
|
+
] }), /* @__PURE__ */ jsx(Box, {
|
|
512
511
|
flexDirection: "column",
|
|
513
512
|
paddingX: 1,
|
|
514
|
-
children: adjustments.map((adj, i) => /* @__PURE__ */
|
|
513
|
+
children: adjustments.map((adj, i) => /* @__PURE__ */ jsxs(Box, {
|
|
515
514
|
gap: 1,
|
|
516
515
|
children: [
|
|
517
|
-
/* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ jsx(Text, {
|
|
518
517
|
bold: true,
|
|
519
518
|
children: adj.token.padEnd(12)
|
|
520
519
|
}),
|
|
521
|
-
/* @__PURE__ */
|
|
520
|
+
/* @__PURE__ */ jsx(Text, {
|
|
522
521
|
color: adj.from,
|
|
523
522
|
children: "██"
|
|
524
523
|
}),
|
|
525
|
-
/* @__PURE__ */
|
|
526
|
-
/* @__PURE__ */
|
|
524
|
+
/* @__PURE__ */ jsx(Muted, { children: "→" }),
|
|
525
|
+
/* @__PURE__ */ jsx(Text, {
|
|
527
526
|
color: adj.to,
|
|
528
527
|
children: "██"
|
|
529
528
|
}),
|
|
530
|
-
/* @__PURE__ */
|
|
529
|
+
/* @__PURE__ */ jsxs(Muted, { children: [
|
|
531
530
|
adj.ratioBefore.toFixed(1),
|
|
532
531
|
"→",
|
|
533
532
|
adj.ratioAfter.toFixed(1),
|
|
@@ -543,31 +542,31 @@ function AdjustmentLog({ adjustments = [] }) {
|
|
|
543
542
|
/** Right panel: live preview wrapped in selected ThemeProvider */
|
|
544
543
|
function ThemePreview({ entry }) {
|
|
545
544
|
const label = entry.detected ? "(detected)" : entry.palette?.dark === false ? "(light)" : "(dark)";
|
|
546
|
-
return /* @__PURE__ */
|
|
545
|
+
return /* @__PURE__ */ jsx(ThemeProvider, {
|
|
547
546
|
theme: entry.theme,
|
|
548
|
-
children: /* @__PURE__ */
|
|
547
|
+
children: /* @__PURE__ */ jsxs(Box, {
|
|
549
548
|
theme: entry.theme,
|
|
550
549
|
flexDirection: "column",
|
|
551
550
|
flexGrow: 1,
|
|
552
551
|
borderStyle: "single",
|
|
553
552
|
overflow: "scroll",
|
|
554
553
|
children: [
|
|
555
|
-
/* @__PURE__ */
|
|
554
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
556
555
|
paddingX: 1,
|
|
557
556
|
gap: 1,
|
|
558
|
-
children: [/* @__PURE__ */
|
|
557
|
+
children: [/* @__PURE__ */ jsx(H1, { children: entry.name }), /* @__PURE__ */ jsx(Muted, { children: label })]
|
|
559
558
|
}),
|
|
560
|
-
/* @__PURE__ */
|
|
561
|
-
/* @__PURE__ */
|
|
559
|
+
/* @__PURE__ */ jsx(Divider, {}),
|
|
560
|
+
/* @__PURE__ */ jsxs(Box, {
|
|
562
561
|
flexDirection: "column",
|
|
563
562
|
gap: 1,
|
|
564
563
|
children: [
|
|
565
|
-
/* @__PURE__ */
|
|
566
|
-
entry.palette ? /* @__PURE__ */
|
|
567
|
-
/* @__PURE__ */
|
|
568
|
-
/* @__PURE__ */
|
|
569
|
-
/* @__PURE__ */
|
|
570
|
-
/* @__PURE__ */
|
|
564
|
+
/* @__PURE__ */ jsx(SemanticTokens, {}),
|
|
565
|
+
entry.palette ? /* @__PURE__ */ jsx(AnsiColorTable, { palette: entry.palette }) : /* @__PURE__ */ jsx(ThemeAnsiColorTable, { palette: entry.theme.palette }),
|
|
566
|
+
/* @__PURE__ */ jsx(SurfacePairs, {}),
|
|
567
|
+
/* @__PURE__ */ jsx(ComponentShowcase, {}),
|
|
568
|
+
/* @__PURE__ */ jsx(TypographySamples, {}),
|
|
569
|
+
/* @__PURE__ */ jsx(AdjustmentLog, { adjustments: entry.adjustments })
|
|
571
570
|
]
|
|
572
571
|
})
|
|
573
572
|
]
|
|
@@ -575,11 +574,11 @@ function ThemePreview({ entry }) {
|
|
|
575
574
|
});
|
|
576
575
|
}
|
|
577
576
|
function HelpBar() {
|
|
578
|
-
return /* @__PURE__ */
|
|
577
|
+
return /* @__PURE__ */ jsxs(Muted, { children: [
|
|
579
578
|
" ",
|
|
580
|
-
/* @__PURE__ */
|
|
579
|
+
/* @__PURE__ */ jsx(Kbd, { children: "j/k" }),
|
|
581
580
|
" navigate ",
|
|
582
|
-
/* @__PURE__ */
|
|
581
|
+
/* @__PURE__ */ jsx(Kbd, { children: "Esc/q" }),
|
|
583
582
|
" quit"
|
|
584
583
|
] });
|
|
585
584
|
}
|
|
@@ -592,20 +591,20 @@ function ThemeExplorer({ entries }) {
|
|
|
592
591
|
if (key.upArrow || input === "k") setSelectedIndex((i) => Math.max(i - 1, 0));
|
|
593
592
|
});
|
|
594
593
|
const entry = entries[selectedIndex];
|
|
595
|
-
return /* @__PURE__ */
|
|
594
|
+
return /* @__PURE__ */ jsxs(Box, {
|
|
596
595
|
flexDirection: "column",
|
|
597
596
|
height: "100%",
|
|
598
597
|
padding: 1,
|
|
599
|
-
children: [/* @__PURE__ */
|
|
598
|
+
children: [/* @__PURE__ */ jsxs(Box, {
|
|
600
599
|
flexGrow: 1,
|
|
601
600
|
flexDirection: "row",
|
|
602
601
|
gap: 1,
|
|
603
602
|
overflow: "hidden",
|
|
604
|
-
children: [/* @__PURE__ */
|
|
603
|
+
children: [/* @__PURE__ */ jsx(ThemeList, {
|
|
605
604
|
entries,
|
|
606
605
|
selectedIndex
|
|
607
|
-
}), /* @__PURE__ */
|
|
608
|
-
}), /* @__PURE__ */
|
|
606
|
+
}), /* @__PURE__ */ jsx(ThemePreview, { entry })]
|
|
607
|
+
}), /* @__PURE__ */ jsx(HelpBar, {})]
|
|
609
608
|
});
|
|
610
609
|
}
|
|
611
610
|
async function main() {
|
|
@@ -644,10 +643,10 @@ async function main() {
|
|
|
644
643
|
...builtinEntries
|
|
645
644
|
];
|
|
646
645
|
const term = _usingCtx$1.u(createTerm());
|
|
647
|
-
const { waitUntilExit } = await render(/* @__PURE__ */
|
|
646
|
+
const { waitUntilExit } = await render(/* @__PURE__ */ jsx(ExampleBanner, {
|
|
648
647
|
meta,
|
|
649
648
|
controls: "j/k navigate Esc/q quit",
|
|
650
|
-
children: /* @__PURE__ */
|
|
649
|
+
children: /* @__PURE__ */ jsx(ThemeExplorer, { entries: allEntries })
|
|
651
650
|
}), term);
|
|
652
651
|
await waitUntilExit();
|
|
653
652
|
} catch (_) {
|