@hanzo/ui 8.27.82 → 8.27.84

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.
Files changed (45) hide show
  1. package/dist/backends/gui/code-editor.cjs +80 -84
  2. package/dist/backends/gui/code-editor.d.ts +8 -6
  3. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  4. package/dist/backends/gui/code-editor.js +83 -87
  5. package/dist/backends/gui/code-editor.js.map +1 -1
  6. package/dist/backends/gui/grip.cjs +132 -0
  7. package/dist/backends/gui/grip.d.ts +28 -0
  8. package/dist/backends/gui/grip.d.ts.map +1 -0
  9. package/dist/backends/gui/grip.js +96 -0
  10. package/dist/backends/gui/grip.js.map +1 -0
  11. package/dist/backends/gui/json-tree.cjs +110 -15
  12. package/dist/backends/gui/json-tree.d.ts +43 -9
  13. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  14. package/dist/backends/gui/json-tree.js +110 -16
  15. package/dist/backends/gui/json-tree.js.map +1 -1
  16. package/dist/backends/gui/resizable.cjs +12 -3
  17. package/dist/backends/gui/resizable.d.ts +4 -2
  18. package/dist/backends/gui/resizable.d.ts.map +1 -1
  19. package/dist/backends/gui/resizable.js +12 -3
  20. package/dist/backends/gui/resizable.js.map +1 -1
  21. package/dist/code-theme.cjs +44 -0
  22. package/dist/code-theme.d.ts +46 -0
  23. package/dist/code-theme.d.ts.map +1 -0
  24. package/dist/code-theme.js +42 -0
  25. package/dist/code-theme.js.map +1 -0
  26. package/dist/core/index.cjs +4 -1
  27. package/dist/core/index.d.ts +1 -0
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/index.js +1 -0
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/gallery.html +250 -250
  32. package/dist/gui-config.cjs +3 -0
  33. package/dist/gui-config.d.ts +218 -209
  34. package/dist/gui-config.d.ts.map +1 -1
  35. package/dist/gui-config.js +3 -0
  36. package/dist/gui-config.js.map +1 -1
  37. package/dist/index.cjs +8 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +5 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.node.cjs +8 -1
  43. package/dist/index.node.js +5 -0
  44. package/dist/styles.css +124 -124
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmC9B,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IAClE,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAA;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAS,EAAE,KAAK,EAAE,cAAqB,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,qBA4FlG"}
1
+ {"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAA+B,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAS1E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAyC9B;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAA;AAEtE,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAwBzD;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9F,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAA;IACb,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAS,EACT,KAAK,EACL,cAAqB,EACrB,MAAa,EACb,SAAS,EACT,SAAc,EACd,SAAiB,EACjB,aAAoB,EACpB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,qBAmMf"}
@@ -3,20 +3,34 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
3
3
  /**
4
4
  * JsonTree — a JSON value drawn as a tree a reader can open and close: one row
5
5
  * per key or element, objects and arrays behind a disclosure that says how
6
- * many children they hold, and a header with Expand all, Collapse all and Copy.
6
+ * many children they hold, and a header with a filter, Expand all, Collapse all
7
+ * and Copy.
7
8
  *
8
9
  * The first `depth` levels open on first paint. A row is a button (Enter and
9
10
  * Space toggle it, `aria-expanded` says which way), so the tree reads with a
10
- * keyboard and a screen reader as well as a pointer. Values are ranked by ink
11
- * the way `CodeEditor` ranks syntax: keys in full ink, strings one rank down,
12
- * counts and punctuation at the rank of a hint. A long value wraps anywhere, so
13
- * a hash never widens the page. Built from gui primitives
14
- * only, so it renders wherever gui does.
11
+ * keyboard and a screen reader as well as a pointer. Keys and values take the
12
+ * code theme's colours (`code-theme.ts`), the same theme keys `CodeEditor`
13
+ * paints with, and a count reads as a comment. A long value wraps anywhere, so
14
+ * a hash never widens the page.
15
+ *
16
+ * Filter. What is typed keeps every row whose key, dotted path
17
+ * (`answers.team.probabilities`) or value contains it, with the rows above it,
18
+ * and opens them; a branch that matches keeps everything under it. Clearing the
19
+ * filter hands back the tree as it was opened before.
20
+ *
21
+ * Height. The tree is as tall as its rows up to `maxHeight`, then scrolls.
22
+ * `resizable` adds CodeEditor's footer grip: a drag or ArrowUp / ArrowDown sets
23
+ * a height of the reader's own and a double-click hands it back; `onResize`
24
+ * hears each one and `defaultHeight` starts from it. Copy writes the whole
25
+ * value, whatever is open or filtered. Built from gui primitives only, so it
26
+ * renders wherever gui does.
15
27
  */
16
28
  import { SizableText, XStack, YStack } from '@hanzo/gui';
17
- import { Check, ChevronDown, ChevronRight, ChevronsDownUp, ChevronsUpDown, Copy } from '@hanzogui/lucide-icons-2';
29
+ import { Check, ChevronDown, ChevronRight, ChevronsDownUp, ChevronsUpDown, Copy, } from '@hanzogui/lucide-icons-2';
18
30
  import * as React from 'react';
19
31
  import { Button } from './button.js';
32
+ import { Grip, useGrip } from './grip.js';
33
+ import { Input } from './input.js';
20
34
  import { slot } from './slot.js';
21
35
  import { toast } from './toaster.js';
22
36
  /** Indent per level, in px. */
@@ -41,12 +55,70 @@ function paths(v, depth, at = '$', level = 0, out = new Set()) {
41
55
  paths(x, depth, child(at, k), level + 1, out);
42
56
  return out;
43
57
  }
44
- export function JsonTree({ data, depth = 2, title, showCopyButton = true, ...props }) {
58
+ /** A leaf as it is drawn, and as the filter reads it. */
59
+ const text = (value) => typeof value === 'string' ? JSON.stringify(value) : value === undefined ? 'undefined' : String(value);
60
+ export function sift(data, query) {
61
+ const q = query.trim().toLowerCase();
62
+ const rows = new Map();
63
+ const open = new Set();
64
+ const walk = (v, at, dotted, name) => {
65
+ const b = branch(v);
66
+ const hit = (name !== null && (name.toLowerCase().includes(q) || `.${dotted}`.toLowerCase().includes(`.${q}`))) ||
67
+ (!b && text(v).toLowerCase().includes(q));
68
+ if (hit) {
69
+ rows.set(at, true);
70
+ if (b)
71
+ open.add(at);
72
+ return true;
73
+ }
74
+ let kept = false;
75
+ if (b)
76
+ for (const [k, x] of b.entries)
77
+ if (walk(x, child(at, k), dotted ? `${dotted}.${k}` : k, k))
78
+ kept = true;
79
+ if (kept) {
80
+ rows.set(at, false);
81
+ open.add(at);
82
+ }
83
+ return kept;
84
+ };
85
+ if (q)
86
+ walk(data, '$', '', null);
87
+ return { rows, open };
88
+ }
89
+ export function JsonTree({ data, depth = 2, title, showCopyButton = true, search = true, maxHeight, minHeight = 96, resizable = false, defaultHeight = null, onResize, ...props }) {
45
90
  const [open, setOpen] = React.useState(() => paths(data, depth));
91
+ const [query, setQuery] = React.useState('');
46
92
  const [copied, setCopied] = React.useState(false);
47
93
  const timer = React.useRef(undefined);
94
+ /** The open set from before a filter, handed back when it clears. */
95
+ const before = React.useRef(null);
96
+ const body = React.useRef(null);
97
+ const sized = useGrip({
98
+ enabled: resizable,
99
+ min: minHeight,
100
+ measure: () => body.current?.getBoundingClientRect().height ?? minHeight,
101
+ initial: defaultHeight,
102
+ onChange: onResize,
103
+ });
104
+ const sifted = React.useMemo(() => (query.trim() ? sift(data, query) : null), [data, query]);
48
105
  React.useEffect(() => () => clearTimeout(timer.current), []);
49
106
  React.useEffect(() => setOpen(paths(data, depth)), [data, depth]);
107
+ // After the reset above, so a filter that is on keeps its matches open on new data.
108
+ React.useEffect(() => {
109
+ if (sifted)
110
+ setOpen(sifted.open);
111
+ }, [sifted]);
112
+ const type = (next) => {
113
+ const on = next.trim() !== '';
114
+ if (on && before.current === null)
115
+ before.current = open;
116
+ if (!on && before.current !== null) {
117
+ setOpen(before.current);
118
+ before.current = null;
119
+ }
120
+ setQuery(next);
121
+ };
50
122
  const toggle = React.useCallback((path) => setOpen((prev) => {
51
123
  const next = new Set(prev);
52
124
  if (!next.delete(path))
@@ -65,21 +137,38 @@ export function JsonTree({ data, depth = 2, title, showCopyButton = true, ...pro
65
137
  toast.error('Failed to copy JSON');
66
138
  }
67
139
  };
68
- const header = title !== undefined || showCopyButton;
69
140
  const root = branch(data);
70
- return (_jsxs(YStack, { ...slot('json-tree'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", ...props, children: [header && (_jsxs(XStack, { ...slot('json-tree-header'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [_jsx(SizableText, { size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: title ?? 'JSON' }), _jsxs(XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [root && (_jsxs(_Fragment, { children: [_jsxs(Button, { ...slot('json-tree-expand'), variant: "ghost", size: "sm", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: [_jsx(ChevronsUpDown, { size: 14 }), "Expand all"] }), _jsxs(Button, { ...slot('json-tree-collapse'), variant: "ghost", size: "sm", onClick: () => setOpen(new Set()), children: [_jsx(ChevronsDownUp, { size: 14 }), "Collapse all"] })] })), showCopyButton && (_jsxs(Button, { ...slot('json-tree-copy'), variant: "ghost", size: "sm", onClick: copy, children: [copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), _jsx(YStack, { ...slot('json-tree-body'), py: "$2", px: "$2", children: _jsx(Node, { name: null, value: data, path: "$", level: 0, open: open, toggle: toggle }) })] }));
141
+ const searchable = search && root !== null;
142
+ const header = title !== undefined || showCopyButton || searchable;
143
+ // Everything is kept when the root itself matched; nothing is when no row did.
144
+ const kept = sifted && !sifted.rows.get('$') ? sifted.rows : null;
145
+ const none = sifted !== null && sifted.rows.size === 0;
146
+ const fixed = sized.height !== null;
147
+ return (_jsxs(YStack, { ...slot('json-tree'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", ...props, children: [header && (_jsxs(XStack, { ...slot('json-tree-header'), items: "center", flexWrap: "wrap", gap: "$1", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [_jsx(SizableText, { size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", grow: 1, children: title ?? 'JSON' }), _jsxs(XStack, { grow: 1, shrink: 1, flexBasis: searchable ? 240 : 'auto', minW: 0, justify: "flex-end", items: "center", gap: "$1", children: [searchable && (_jsx(XStack, { flex: 1, minW: 0, maxW: 260, children: _jsx(Input, { ...slot('json-tree-filter'), type: "search", value: query, onChangeText: type, placeholder: "Filter keys, paths, values", "aria-label": `Filter ${title ?? 'JSON'} by key, path or value`,
148
+ // No adornment: its wrapper holds the field at its intrinsic width, and
149
+ // on a narrow pane that pushed the actions out of the header.
150
+ height: 32, fontSize: "$2" }) })), root && (_jsxs(_Fragment, { children: [_jsx(Button, { ...slot('json-tree-expand'), variant: "ghost", size: "icon-sm", "aria-label": "Expand all", title: "Expand all", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: _jsx(ChevronsUpDown, { size: 14 }) }), _jsx(Button, { ...slot('json-tree-collapse'), variant: "ghost", size: "icon-sm", "aria-label": "Collapse all", title: "Collapse all", onClick: () => setOpen(new Set()), children: _jsx(ChevronsDownUp, { size: 14 }) })] })), showCopyButton && (_jsx(Button, { ...slot('json-tree-copy'), variant: "ghost", size: "icon-sm", "aria-label": copied ? 'Copied' : `Copy ${title ?? 'JSON'}`, title: "Copy", onClick: copy, children: copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }) }))] })] })), _jsx(YStack, { ref: body, ...slot('json-tree-body'), py: "$2", px: "$2", ...(fixed ? { height: sized.height } : maxHeight !== undefined ? { maxH: maxHeight } : null), overflowY: fixed || maxHeight !== undefined ? 'auto' : undefined, children: none ? (_jsxs(SizableText, { ...slot('json-tree-empty'), size: "$2", color: "$soft", px: "$2", py: "$1", children: ["Nothing matches \u201C", query.trim(), "\u201D."] })) : (_jsx(Node, { name: null, value: data, path: "$", level: 0, open: open, toggle: toggle, kept: kept })) }), resizable && (_jsx(XStack, { ref: sized.grip, ...slot('json-tree-footer'), cursor: "row-resize", items: "center", justify: "flex-end", minH: 24, px: "$3", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", select: "none",
151
+ // A touch drag would otherwise scroll the page and cancel the pointer.
152
+ style: { touchAction: 'none' }, children: _jsx(Grip, { knob: sized.knob, name: "json-tree-resize", label: title ?? 'JSON', min: minHeight, height: sized.height }) }))] }));
71
153
  }
154
+ /** A leaf's colour: the code theme's key for its JSON type. */
155
+ const INK = {
156
+ string: '$codeString',
157
+ number: '$codeNumber',
158
+ boolean: '$codeBoolean',
159
+ null: '$codeNull',
160
+ };
72
161
  function Leaf({ value }) {
73
- const text = typeof value === 'string' ? JSON.stringify(value) : value === undefined ? 'undefined' : String(value);
74
- return (_jsx(SizableText, { ...slot('json-tree-value'), "data-type": value === null ? 'null' : typeof value, size: "$2", fontFamily: "$mono", color: typeof value === 'string' ? '$soft' : '$ink', shrink: 1, minW: 0,
162
+ const type = value === null ? 'null' : typeof value;
163
+ return (_jsx(SizableText, { ...slot('json-tree-value'), "data-type": type, size: "$2", fontFamily: "$mono", color: INK[type] ?? '$codePunctuation', shrink: 1, minW: 0,
75
164
  // A hash or a URL is one unbreakable word; without this it sets the tree's
76
165
  // min-content width and pushes the page sideways on a phone.
77
- style: { overflowWrap: 'anywhere' }, children: text }));
166
+ style: { overflowWrap: 'anywhere' }, children: text(value) }));
78
167
  }
79
- function Node({ name, value, path, level, open, toggle, }) {
168
+ function Node({ name, value, path, level, open, toggle, kept, }) {
80
169
  const b = branch(value);
81
170
  const expanded = b !== null && open.has(path);
82
- const key = name === null ? null : (_jsxs(SizableText, { ...slot('json-tree-key'), size: "$2", fontFamily: "$mono", color: "$ink", fontWeight: "500", children: [name, _jsx(SizableText, { size: "$2", fontFamily: "$mono", color: "$dim", children: ":" })] }));
171
+ const key = name === null ? null : (_jsxs(SizableText, { ...slot('json-tree-key'), size: "$2", fontFamily: "$mono", color: "$codeKey", children: [name, _jsx(SizableText, { size: "$2", fontFamily: "$mono", color: "$codePunctuation", children: ":" })] }));
83
172
  if (!b) {
84
173
  return (_jsxs(XStack, { ...slot('json-tree-row'), items: "flex-start", gap: "$1.5", pl: level * INDENT, py: 1, children: [_jsx(XStack, { width: 14, shrink: 0 }), key, _jsx(Leaf, { value: value })] }));
85
174
  }
@@ -97,6 +186,11 @@ function Node({ name, value, path, level, open, toggle, }) {
97
186
  return;
98
187
  e.preventDefault();
99
188
  toggle(path);
100
- }, children: [empty ? (_jsx(XStack, { width: 14, shrink: 0 })) : expanded ? (_jsx(ChevronDown, { size: 14, color: "$soft" })) : (_jsx(ChevronRight, { size: 14, color: "$soft" })), key, _jsx(SizableText, { ...slot('json-tree-count'), size: "$2", fontFamily: "$mono", color: "$dim", children: empty ? (b.kind === 'array' ? '[]' : '{}') : count(b) })] }), expanded && (_jsx(YStack, { children: b.entries.map(([k, v]) => (_jsx(Node, { name: k, value: v, path: child(path, k), level: level + 1, open: open, toggle: toggle }, k))) }))] }));
189
+ }, children: [empty ? (_jsx(XStack, { width: 14, shrink: 0 })) : expanded ? (_jsx(ChevronDown, { size: 14, color: "$soft" })) : (_jsx(ChevronRight, { size: 14, color: "$soft" })), key, _jsx(SizableText, { ...slot('json-tree-count'), size: "$2", fontFamily: "$mono", color: "$codeComment", children: empty ? (b.kind === 'array' ? '[]' : '{}') : count(b) })] }), expanded && (_jsx(YStack, { children: b.entries.map(([k, v]) => {
190
+ const at = child(path, k);
191
+ if (kept && !kept.has(at))
192
+ return null;
193
+ return (_jsx(Node, { name: k, value: v, path: at, level: level + 1, open: open, toggle: toggle, kept: kept && !kept.get(at) ? kept : null }, k));
194
+ }) }))] }));
101
195
  }
102
196
  //# sourceMappingURL=json-tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-tree.js","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-tree.js","sourceRoot":"","sources":["../../../src/backends/gui/json-tree.tsx"],"names":[],"mappings":"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"}
@@ -27,8 +27,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
27
27
  * + pointer capture and native with the responder system. Both prop sets are
28
28
  * typed on gui's stacks, and pointer capture is feature-detected, so nothing
29
29
  * here reaches for the DOM on expo. Keyboard resize is arrow keys (Shift for a
30
- * fine step). The grab area comes from `touch()`, so it is 44px on web and
31
- * native alike while the visual divider stays 4px.
30
+ * fine step); a double-click on a handle hands the group back its default
31
+ * layout, and the handle states the share before it as `aria-valuenow`. The
32
+ * grab area comes from `touch()`, so it is 44px on web and native alike while
33
+ * the visual divider stays 4px.
32
34
  */
33
35
  const react_1 = require("react");
34
36
  const gui_1 = require("@hanzo/gui");
@@ -171,7 +173,14 @@ function ResizableHandle({ withHandle, disabled, ...rest }) {
171
173
  e.preventDefault();
172
174
  group.setLayout((0, resizable_logic_1.resizeAt)(group.sizes, group.specs, boundary, dir * (e.shiftKey ? KEY_STEP_FINE : KEY_STEP)));
173
175
  }, [axis, boundary, group, off]);
176
+ const reset = (0, react_1.useCallback)(() => {
177
+ if (!off && group)
178
+ group.setLayout((0, resizable_logic_1.defaultLayout)(group.specs));
179
+ }, [group, off]);
174
180
  const hover = (0, react_1.useCallback)((on) => setState((s) => (s === "drag" ? s : on ? "hover" : "idle")), []);
175
181
  const gesture = (0, gesture_1.drag)({ begin, move, end, enabled: !off });
176
- return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0, width: axis ? THICKNESS : "100%", height: axis ? "100%" : THICKNESS, ...(0, gesture_1.touch)(THICKNESS, 44, axis ? "x" : "y"), cursor: off ? "default" : axis ? "col-resize" : "row-resize", tabIndex: off ? -1 : 0, role: "separator", "aria-orientation": axis ? "vertical" : "horizontal", "data-panel-group-direction": group?.direction, "data-resize-handle-state": state, ...gesture, onKeyDown: nudge, onMouseEnter: () => hover(true), onMouseLeave: () => hover(false), ...rest, children: [(0, jsx_runtime_1.jsx)(gui_1.Separator, { vertical: axis, borderColor: state === "idle" ? "$borderColor" : "$dim" }), withHandle && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { position: "absolute", items: "center", justify: "center", width: 12, height: 20, rounded: "$2", bg: "$raised", borderWidth: 1, borderColor: "$borderColor", rotate: axis ? "0deg" : "90deg", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GripVertical, { size: 10 }) }))] }));
182
+ return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0,
183
+ // Stretched across the group rather than `100%` of it: a percentage of a group
184
+ // that is as tall as its content resolves to nothing, and the handle drew no line.
185
+ self: "stretch", ...(axis ? { width: THICKNESS } : { height: THICKNESS }), ...(0, gesture_1.touch)(THICKNESS, 44, axis ? "x" : "y"), cursor: off ? "default" : axis ? "col-resize" : "row-resize", tabIndex: off ? -1 : 0, role: "separator", "aria-orientation": axis ? "vertical" : "horizontal", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": off || !group ? undefined : Math.round(group.sizes[boundary]), "data-panel-group-direction": group?.direction, "data-resize-handle-state": state, ...gesture, onKeyDown: nudge, onDoubleClick: reset, onMouseEnter: () => hover(true), onMouseLeave: () => hover(false), ...rest, children: [(0, jsx_runtime_1.jsx)(gui_1.Separator, { vertical: axis, borderColor: state === "idle" ? "$borderColor" : "$dim" }), withHandle && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { position: "absolute", items: "center", justify: "center", width: 12, height: 20, rounded: "$2", bg: "$raised", borderWidth: 1, borderColor: "$borderColor", rotate: axis ? "0deg" : "90deg", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GripVertical, { size: 10 }) }))] }));
177
186
  }
@@ -19,8 +19,10 @@
19
19
  * + pointer capture and native with the responder system. Both prop sets are
20
20
  * typed on gui's stacks, and pointer capture is feature-detected, so nothing
21
21
  * here reaches for the DOM on expo. Keyboard resize is arrow keys (Shift for a
22
- * fine step). The grab area comes from `touch()`, so it is 44px on web and
23
- * native alike while the visual divider stays 4px.
22
+ * fine step); a double-click on a handle hands the group back its default
23
+ * layout, and the handle states the share before it as `aria-valuenow`. The
24
+ * grab area comes from `touch()`, so it is 44px on web and native alike while
25
+ * the visual divider stays 4px.
24
26
  */
25
27
  import { type ReactNode } from "react";
26
28
  import { type XStackProps } from "@hanzo/gui";
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/resizable.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAKhE,OAAO,EACL,aAAa,EACb,QAAQ,EAER,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAuDlC,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,WAAW,EACX,UAAU,GAAG,WAAW,CACzB,GAAG;IACF,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,wBAAwB,+BA0F1B;AAID,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,mBAAmB,+BAiBrB;AAQD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACX,UAAU,GAAG,UAAU,CACxB,GAAG;IACF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,+BA8HtB"}
1
+ {"version":3,"file":"resizable.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/resizable.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AAKhE,OAAO,EACL,aAAa,EACb,QAAQ,EAER,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AAuDlC,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,WAAW,EACX,UAAU,GAAG,WAAW,CACzB,GAAG;IACF,SAAS,EAAE,eAAe,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,wBAAwB,+BA0F1B;AAID,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,mBAAmB,+BAiBrB;AAQD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,WAAW,EACX,UAAU,GAAG,UAAU,CACxB,GAAG;IACF,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,oBAAoB,+BAwItB"}
@@ -21,8 +21,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
21
  * + pointer capture and native with the responder system. Both prop sets are
22
22
  * typed on gui's stacks, and pointer capture is feature-detected, so nothing
23
23
  * here reaches for the DOM on expo. Keyboard resize is arrow keys (Shift for a
24
- * fine step). The grab area comes from `touch()`, so it is 44px on web and
25
- * native alike while the visual divider stays 4px.
24
+ * fine step); a double-click on a handle hands the group back its default
25
+ * layout, and the handle states the share before it as `aria-valuenow`. The
26
+ * grab area comes from `touch()`, so it is 44px on web and native alike while
27
+ * the visual divider stays 4px.
26
28
  */
27
29
  import { Children, createContext, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
28
30
  import { Separator, XStack } from "@hanzo/gui";
@@ -164,8 +166,15 @@ export function ResizableHandle({ withHandle, disabled, ...rest }) {
164
166
  e.preventDefault();
165
167
  group.setLayout(resizeAt(group.sizes, group.specs, boundary, dir * (e.shiftKey ? KEY_STEP_FINE : KEY_STEP)));
166
168
  }, [axis, boundary, group, off]);
169
+ const reset = useCallback(() => {
170
+ if (!off && group)
171
+ group.setLayout(defaultLayout(group.specs));
172
+ }, [group, off]);
167
173
  const hover = useCallback((on) => setState((s) => (s === "drag" ? s : on ? "hover" : "idle")), []);
168
174
  const gesture = drag({ begin, move, end, enabled: !off });
169
- return (_jsxs(XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0, width: axis ? THICKNESS : "100%", height: axis ? "100%" : THICKNESS, ...touch(THICKNESS, 44, axis ? "x" : "y"), cursor: off ? "default" : axis ? "col-resize" : "row-resize", tabIndex: off ? -1 : 0, role: "separator", "aria-orientation": axis ? "vertical" : "horizontal", "data-panel-group-direction": group?.direction, "data-resize-handle-state": state, ...gesture, onKeyDown: nudge, onMouseEnter: () => hover(true), onMouseLeave: () => hover(false), ...rest, children: [_jsx(Separator, { vertical: axis, borderColor: state === "idle" ? "$borderColor" : "$dim" }), withHandle && (_jsx(XStack, { position: "absolute", items: "center", justify: "center", width: 12, height: 20, rounded: "$2", bg: "$raised", borderWidth: 1, borderColor: "$borderColor", rotate: axis ? "0deg" : "90deg", children: _jsx(GripVertical, { size: 10 }) }))] }));
175
+ return (_jsxs(XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0,
176
+ // Stretched across the group rather than `100%` of it: a percentage of a group
177
+ // that is as tall as its content resolves to nothing, and the handle drew no line.
178
+ self: "stretch", ...(axis ? { width: THICKNESS } : { height: THICKNESS }), ...touch(THICKNESS, 44, axis ? "x" : "y"), cursor: off ? "default" : axis ? "col-resize" : "row-resize", tabIndex: off ? -1 : 0, role: "separator", "aria-orientation": axis ? "vertical" : "horizontal", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": off || !group ? undefined : Math.round(group.sizes[boundary]), "data-panel-group-direction": group?.direction, "data-resize-handle-state": state, ...gesture, onKeyDown: nudge, onDoubleClick: reset, onMouseEnter: () => hover(true), onMouseLeave: () => hover(false), ...rest, children: [_jsx(Separator, { vertical: axis, borderColor: state === "idle" ? "$borderColor" : "$dim" }), withHandle && (_jsx(XStack, { position: "absolute", items: "center", justify: "center", width: 12, height: 20, rounded: "$2", bg: "$raised", borderWidth: 1, borderColor: "$borderColor", rotate: axis ? "0deg" : "90deg", children: _jsx(GripVertical, { size: 10 }) }))] }));
170
179
  }
171
180
  //# sourceMappingURL=resizable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.js","sourceRoot":"","sources":["../../../src/backends/gui/resizable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resizable.js","sourceRoot":"","sources":["../../../src/backends/gui/resizable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syntax = exports.codeTheme = void 0;
4
+ /**
5
+ * The code theme: Dracula on dark, GitHub Light on light.
6
+ *
7
+ * `codeTheme` holds shiki's names for the two themes, so a shiki block takes it
8
+ * as is: `codeToHtml(src, { lang, themes: codeTheme })`. `syntax` holds the
9
+ * colours CodeEditor and JsonTree paint with, read from what shiki paints with
10
+ * those two themes, so a highlighted block and an editor agree.
11
+ *
12
+ * Shiki paints a JSON number, boolean and null in one colour in both themes, and
13
+ * GitHub Light paints a key in that colour too. A reader telling `1` from `true`
14
+ * from `null` at a glance needs five colours, so the three take other colours
15
+ * from the same theme: a number its constant purple, a boolean its green, a null
16
+ * its keyword colour, which is what `null` is.
17
+ *
18
+ * The components never read these values directly. `gui-config` publishes each
19
+ * as a theme key (`$codeKey`, `var(--codeKey)` …), so a colour follows the
20
+ * nearest theme, nested ones included.
21
+ */
22
+ exports.codeTheme = { dark: 'dracula', light: 'github-light' };
23
+ exports.syntax = {
24
+ dark: {
25
+ key: '#8be9fd',
26
+ string: '#f1fa8c',
27
+ number: '#bd93f9',
28
+ boolean: '#50fa7b',
29
+ null: '#ff79c6',
30
+ punctuation: '#f8f8f2',
31
+ comment: '#6272a4',
32
+ keyword: '#ff79c6',
33
+ },
34
+ light: {
35
+ key: '#005cc5',
36
+ string: '#032f62',
37
+ number: '#6f42c1',
38
+ boolean: '#22863a',
39
+ null: '#d73a49',
40
+ punctuation: '#24292e',
41
+ comment: '#6a737d',
42
+ keyword: '#d73a49',
43
+ },
44
+ };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The code theme: Dracula on dark, GitHub Light on light.
3
+ *
4
+ * `codeTheme` holds shiki's names for the two themes, so a shiki block takes it
5
+ * as is: `codeToHtml(src, { lang, themes: codeTheme })`. `syntax` holds the
6
+ * colours CodeEditor and JsonTree paint with, read from what shiki paints with
7
+ * those two themes, so a highlighted block and an editor agree.
8
+ *
9
+ * Shiki paints a JSON number, boolean and null in one colour in both themes, and
10
+ * GitHub Light paints a key in that colour too. A reader telling `1` from `true`
11
+ * from `null` at a glance needs five colours, so the three take other colours
12
+ * from the same theme: a number its constant purple, a boolean its green, a null
13
+ * its keyword colour, which is what `null` is.
14
+ *
15
+ * The components never read these values directly. `gui-config` publishes each
16
+ * as a theme key (`$codeKey`, `var(--codeKey)` …), so a colour follows the
17
+ * nearest theme, nested ones included.
18
+ */
19
+ export declare const codeTheme: {
20
+ readonly dark: 'dracula';
21
+ readonly light: 'github-light';
22
+ };
23
+ export type CodeToken = 'key' | 'string' | 'number' | 'boolean' | 'null' | 'punctuation' | 'comment' | 'keyword';
24
+ export declare const syntax: {
25
+ readonly dark: {
26
+ readonly key: '#8be9fd';
27
+ readonly string: '#f1fa8c';
28
+ readonly number: '#bd93f9';
29
+ readonly boolean: '#50fa7b';
30
+ readonly null: '#ff79c6';
31
+ readonly punctuation: '#f8f8f2';
32
+ readonly comment: '#6272a4';
33
+ readonly keyword: '#ff79c6';
34
+ };
35
+ readonly light: {
36
+ readonly key: '#005cc5';
37
+ readonly string: '#032f62';
38
+ readonly number: '#6f42c1';
39
+ readonly boolean: '#22863a';
40
+ readonly null: '#d73a49';
41
+ readonly punctuation: '#24292e';
42
+ readonly comment: '#6a737d';
43
+ readonly keyword: '#d73a49';
44
+ };
45
+ };
46
+ //# sourceMappingURL=code-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-theme.d.ts","sourceRoot":"","sources":["../src/code-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS;aAAK,IAAI,EAAE,SAAS;aAAE,KAAK,EAAE,cAAc;CAAW,CAAA;AAE5E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAEhH,eAAO,MAAM,MAAM;;iBAEf,GAAG,EAAE,SAAS;iBACd,MAAM,EAAE,SAAS;iBACjB,MAAM,EAAE,SAAS;iBACjB,OAAO,EAAE,SAAS;iBAClB,IAAI,EAAE,SAAS;iBACf,WAAW,EAAE,SAAS;iBACtB,OAAO,EAAE,SAAS;iBAClB,OAAO,EAAE,SAAS;;;iBAGlB,GAAG,EAAE,SAAS;iBACd,MAAM,EAAE,SAAS;iBACjB,MAAM,EAAE,SAAS;iBACjB,OAAO,EAAE,SAAS;iBAClB,IAAI,EAAE,SAAS;iBACf,WAAW,EAAE,SAAS;iBACtB,OAAO,EAAE,SAAS;iBAClB,OAAO,EAAE,SAAS;;CAEwD,CAAA"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The code theme: Dracula on dark, GitHub Light on light.
3
+ *
4
+ * `codeTheme` holds shiki's names for the two themes, so a shiki block takes it
5
+ * as is: `codeToHtml(src, { lang, themes: codeTheme })`. `syntax` holds the
6
+ * colours CodeEditor and JsonTree paint with, read from what shiki paints with
7
+ * those two themes, so a highlighted block and an editor agree.
8
+ *
9
+ * Shiki paints a JSON number, boolean and null in one colour in both themes, and
10
+ * GitHub Light paints a key in that colour too. A reader telling `1` from `true`
11
+ * from `null` at a glance needs five colours, so the three take other colours
12
+ * from the same theme: a number its constant purple, a boolean its green, a null
13
+ * its keyword colour, which is what `null` is.
14
+ *
15
+ * The components never read these values directly. `gui-config` publishes each
16
+ * as a theme key (`$codeKey`, `var(--codeKey)` …), so a colour follows the
17
+ * nearest theme, nested ones included.
18
+ */
19
+ export const codeTheme = { dark: 'dracula', light: 'github-light' };
20
+ export const syntax = {
21
+ dark: {
22
+ key: '#8be9fd',
23
+ string: '#f1fa8c',
24
+ number: '#bd93f9',
25
+ boolean: '#50fa7b',
26
+ null: '#ff79c6',
27
+ punctuation: '#f8f8f2',
28
+ comment: '#6272a4',
29
+ keyword: '#ff79c6',
30
+ },
31
+ light: {
32
+ key: '#005cc5',
33
+ string: '#032f62',
34
+ number: '#6f42c1',
35
+ boolean: '#22863a',
36
+ null: '#d73a49',
37
+ punctuation: '#24292e',
38
+ comment: '#6a737d',
39
+ keyword: '#d73a49',
40
+ },
41
+ };
42
+ //# sourceMappingURL=code-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-theme.js","sourceRoot":"","sources":["../src/code-theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAW,CAAA;AAI5E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE;QACJ,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;IACD,KAAK,EAAE;QACL,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;KACnB;CAC2E,CAAA"}
@@ -25,7 +25,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.FONT_MONO_VAR = exports.FONT_SANS_VAR = exports.fontMono = exports.fontSans = exports.fonts = exports.cn = void 0;
28
+ exports.syntax = exports.codeTheme = exports.FONT_MONO_VAR = exports.FONT_SANS_VAR = exports.fontMono = exports.fontSans = exports.fonts = exports.cn = void 0;
29
29
  var cn_1 = require("./cn.cjs");
30
30
  Object.defineProperty(exports, "cn", { enumerable: true, get: function () { return cn_1.cn; } });
31
31
  var fonts_1 = require("./fonts.cjs");
@@ -35,3 +35,6 @@ Object.defineProperty(exports, "fontMono", { enumerable: true, get: function ()
35
35
  Object.defineProperty(exports, "FONT_SANS_VAR", { enumerable: true, get: function () { return fonts_1.FONT_SANS_VAR; } });
36
36
  Object.defineProperty(exports, "FONT_MONO_VAR", { enumerable: true, get: function () { return fonts_1.FONT_MONO_VAR; } });
37
37
  __exportStar(require("./tokens.cjs"), exports);
38
+ var code_theme_1 = require("../code-theme.cjs");
39
+ Object.defineProperty(exports, "codeTheme", { enumerable: true, get: function () { return code_theme_1.codeTheme; } });
40
+ Object.defineProperty(exports, "syntax", { enumerable: true, get: function () { return code_theme_1.syntax; } });
@@ -1,4 +1,5 @@
1
1
  export { cn } from './cn.js';
2
2
  export { fonts, fontSans, fontMono, FONT_SANS_VAR, FONT_MONO_VAR } from './fonts.js';
3
3
  export * from './tokens.js';
4
+ export { codeTheme, syntax, type CodeToken } from '../code-theme.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjF,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA"}
@@ -12,4 +12,5 @@
12
12
  export { cn } from './cn.js';
13
13
  export { fonts, fontSans, fontMono, FONT_SANS_VAR, FONT_MONO_VAR } from './fonts.js';
14
14
  export * from './tokens.js';
15
+ export { codeTheme, syntax } from '../code-theme.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AAEvE,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjF,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AAEvE,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,eAAe,CAAA"}