@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.
- package/dist/backends/gui/code-editor.cjs +80 -84
- package/dist/backends/gui/code-editor.d.ts +8 -6
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +83 -87
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/grip.cjs +132 -0
- package/dist/backends/gui/grip.d.ts +28 -0
- package/dist/backends/gui/grip.d.ts.map +1 -0
- package/dist/backends/gui/grip.js +96 -0
- package/dist/backends/gui/grip.js.map +1 -0
- package/dist/backends/gui/json-tree.cjs +110 -15
- package/dist/backends/gui/json-tree.d.ts +43 -9
- package/dist/backends/gui/json-tree.d.ts.map +1 -1
- package/dist/backends/gui/json-tree.js +110 -16
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/resizable.cjs +12 -3
- package/dist/backends/gui/resizable.d.ts +4 -2
- package/dist/backends/gui/resizable.d.ts.map +1 -1
- package/dist/backends/gui/resizable.js +12 -3
- package/dist/backends/gui/resizable.js.map +1 -1
- package/dist/code-theme.cjs +44 -0
- package/dist/code-theme.d.ts +46 -0
- package/dist/code-theme.d.ts.map +1 -0
- package/dist/code-theme.js +42 -0
- package/dist/code-theme.js.map +1 -0
- package/dist/core/index.cjs +4 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/gallery.html +250 -250
- package/dist/gui-config.cjs +3 -0
- package/dist/gui-config.d.ts +218 -209
- package/dist/gui-config.d.ts.map +1 -1
- package/dist/gui-config.js +3 -0
- package/dist/gui-config.js.map +1 -1
- package/dist/index.cjs +8 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +8 -1
- package/dist/index.node.js +5 -0
- package/dist/styles.css +124 -124
- 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
|
|
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
|
|
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.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* a hash never widens the page.
|
|
14
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
74
|
-
return (_jsx(SizableText, { ...slot('json-tree-value'), "data-type":
|
|
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: "$
|
|
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: "$
|
|
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":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAoB,MAAM,YAAY,CAAA;AAC1E,OAAO,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,IAAI,GACL,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEjC,+BAA+B;AAC/B,MAAM,MAAM,GAAG,EAAE,CAAA;AAIjB,MAAM,MAAM,GAAG,CAAC,CAAU,EAAiB,EAAE,CAC3C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;IAC7D,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QACnC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE;QAC3E,CAAC,CAAC,IAAI,CAAA;AAEZ,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAC1B,CAAC,CAAC,IAAI,KAAK,OAAO;IAChB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG;IACtE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAA;AAExE,8FAA8F;AAC9F,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAA;AAEjF,2EAA2E;AAC3E,SAAS,KAAK,CAAC,CAAU,EAAE,KAAa,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,EAAU;IACpF,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACnB,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK;QAAE,OAAO,GAAG,CAAA;IACpC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7E,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,yDAAyD;AACzD,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAC9B,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AASvG,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,KAAa;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAA;IACvC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,EAAU,EAAE,MAAc,EAAE,IAAmB,EAAW,EAAE;QACpF,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACnB,MAAM,GAAG,GACP,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACnG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAClB,IAAI,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,IAAI,GAAG,KAAK,CAAA;QAChB,IAAI,CAAC;YAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,IAAI,GAAG,IAAI,CAAA;QAC/G,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACnB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,IAAI,CAAC;QAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IAChC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AACvB,CAAC;AAwBD,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,KAAK,EACL,cAAc,GAAG,IAAI,EACrB,MAAM,GAAG,IAAI,EACb,SAAS,EACT,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,IAAI,EACpB,QAAQ,EACR,GAAG,KAAK,EACM;IACd,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAChE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAA4C,SAAS,CAAC,CAAA;IAChF,qEAAqE;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqB,IAAI,CAAC,CAAA;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAqB,IAAI,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC;QACpB,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,SAAS;QACd,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC,MAAM,IAAI,SAAS;QACxE,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IAE5F,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,oFAAoF;IACpF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;QAC7B,IAAI,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QACxD,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACvB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QACvB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,IAAY,EAAE,EAAE,CACf,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,EACJ,EAAE,CACH,CAAA;IAED,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAClE,SAAS,CAAC,IAAI,CAAC,CAAA;YACf,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;YACxD,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,MAAM,IAAI,IAAI,KAAK,IAAI,CAAA;IAC1C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,IAAI,cAAc,IAAI,UAAU,CAAA;IAClE,+EAA+E;IAC/E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACjE,MAAM,IAAI,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAA;IAEnC,OAAO,CACL,MAAC,MAAM,OACD,IAAI,CAAC,WAAW,CAAC,EACrB,WAAW,EAAE,CAAC,EACd,WAAW,EAAC,cAAc,EAC1B,OAAO,EAAC,IAAI,EACZ,QAAQ,EAAC,QAAQ,EACjB,EAAE,EAAC,aAAa,KACZ,KAAK,aAER,MAAM,IAAI,CAIT,MAAC,MAAM,OACD,IAAI,CAAC,kBAAkB,CAAC,EAC5B,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAC,MAAM,EACf,GAAG,EAAC,IAAI,EACR,iBAAiB,EAAE,CAAC,EACpB,WAAW,EAAC,cAAc,EAC1B,EAAE,EAAC,QAAQ,EACX,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,aAEP,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAE,CAAC,YACpE,KAAK,IAAI,MAAM,GACJ,EACd,MAAC,MAAM,IACL,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EACpC,IAAI,EAAE,CAAC,EACP,OAAO,EAAC,UAAU,EAClB,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,IAAI,aAEP,UAAU,IAAI,CACb,KAAC,MAAM,IAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,YACjC,KAAC,KAAK,OACA,IAAI,CAAC,kBAAkB,CAAC,EAC5B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,WAAW,EAAC,4BAA4B,gBAC5B,UAAU,KAAK,IAAI,MAAM,wBAAwB;oCAC7D,wEAAwE;oCACxE,8DAA8D;oCAC9D,MAAM,EAAE,EAAE,EACV,QAAQ,EAAC,IAAI,GACb,GACK,CACV,EACA,IAAI,IAAI,CACP,8BACE,KAAC,MAAM,OACD,IAAI,CAAC,kBAAkB,CAAC,EAC5B,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,SAAS,gBACH,YAAY,EACvB,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAE7D,KAAC,cAAc,IAAC,IAAI,EAAE,EAAE,GAAI,GACrB,EACT,KAAC,MAAM,OACD,IAAI,CAAC,oBAAoB,CAAC,EAC9B,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,SAAS,gBACH,cAAc,EACzB,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,YAEjC,KAAC,cAAc,IAAC,IAAI,EAAE,EAAE,GAAI,GACrB,IACR,CACJ,EACA,cAAc,IAAI,CACjB,KAAC,MAAM,OACD,IAAI,CAAC,gBAAgB,CAAC,EAC1B,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,SAAS,gBACF,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,MAAM,EAAE,EACzD,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,IAAI,YAEZ,MAAM,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GAC3C,CACV,IACM,IACF,CACV,EACD,KAAC,MAAM,IACL,GAAG,EAAE,IAAa,KACd,IAAI,CAAC,gBAAgB,CAAC,EAC1B,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,KACH,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7F,SAAS,EAAE,KAAK,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAE/D,IAAI,CAAC,CAAC,CAAC,CACN,MAAC,WAAW,OAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,uCAC7D,KAAK,CAAC,IAAI,EAAE,eAClB,CACf,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,GAAG,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,CAC7F,GACM,EACR,SAAS,IAAI,CAEZ,KAAC,MAAM,IACL,GAAG,EAAE,KAAK,CAAC,IAAa,KACpB,IAAI,CAAC,kBAAkB,CAAC,EAC5B,MAAM,EAAC,YAAY,EACnB,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,UAAU,EAClB,IAAI,EAAE,EAAE,EACR,EAAE,EAAC,IAAI,EACP,cAAc,EAAE,CAAC,EACjB,WAAW,EAAC,cAAc,EAC1B,EAAE,EAAC,QAAQ,EACX,MAAM,EAAC,MAAM;gBACb,uEAAuE;gBACvE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,YAE9B,KAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAC,kBAAkB,EAAC,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAI,GACzG,CACV,IACM,CACV,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,GAAG,GAAG;IACV,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,cAAc;IACvB,IAAI,EAAE,WAAW;CACT,CAAA;AAEV,SAAS,IAAI,CAAC,EAAE,KAAK,EAAsB;IACzC,MAAM,IAAI,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA;IACnD,OAAO,CACL,KAAC,WAAW,OACN,IAAI,CAAC,iBAAiB,CAAC,eAChB,IAAI,EACf,IAAI,EAAC,IAAI,EACT,UAAU,EAAC,OAAO,EAClB,KAAK,EAAE,GAAG,CAAC,IAAwB,CAAC,IAAI,kBAAkB,EAC1D,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,CAAC;QACP,2EAA2E;QAC3E,6DAA6D;QAC7D,KAAK,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,YAElC,IAAI,CAAC,KAAK,CAAC,GACA,CACf,CAAA;AACH,CAAC;AAED,SAAS,IAAI,CAAC,EACZ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAI,GAUL;IACC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,GAAG,GACP,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,MAAC,WAAW,OAAK,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,UAAU,aAClF,IAAI,EACL,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,kBAAkB,kBAEpD,IACF,CACf,CAAA;IAEH,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CACL,MAAC,MAAM,OAAK,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAC,YAAY,EAAC,GAAG,EAAC,MAAM,EAAC,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,aACxF,KAAC,MAAM,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAI,EAC/B,GAAG,EACJ,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,GAAI,IACf,CACV,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAA;IACpC,OAAO,CACL,MAAC,MAAM,OAAK,IAAI,CAAC,gBAAgB,CAAC,aAChC,MAAC,MAAM,OACD,IAAI,CAAC,eAAe,CAAC,KACrB,CAAC,CAAC,KAAK;oBACR;wBACC,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC;wBACX,eAAe,EAAE,QAAQ;wBACzB,YAAY,EAAE,GAAG,IAAI,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;qBACnC,CAAC,EACf,KAAK,EAAC,QAAQ,EACd,GAAG,EAAC,MAAM,EACV,EAAE,EAAE,KAAK,GAAG,MAAM,EAClB,EAAE,EAAE,CAAC,EACL,OAAO,EAAC,IAAI,EACZ,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACrC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAChD,iBAAiB,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EACnC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAC/C,SAAS,EACP,KAAK;oBACH,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,CAAC,CAAsB,EAAE,EAAE;wBACzB,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;4BAAE,OAAM;wBAC9C,CAAC,CAAC,cAAc,EAAE,CAAA;wBAClB,MAAM,CAAC,IAAI,CAAC,CAAA;oBACd,CAAC,aAGN,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,MAAM,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAI,CACjC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACb,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,CACxC,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,OAAO,GAAG,CACzC,EACA,GAAG,EACJ,KAAC,WAAW,OAAK,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,KAAK,EAAC,cAAc,YACxF,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAC1C,IACP,EACR,QAAQ,IAAI,CACX,KAAC,MAAM,cACJ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;oBACxB,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;oBACzB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,OAAO,IAAI,CAAA;oBACtC,OAAO,CACL,KAAC,IAAI,IAEH,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAPpC,CAAC,CAQN,CACH,CAAA;gBACH,CAAC,CAAC,GACK,CACV,IACM,CACV,CAAA;AACH,CAAC"}
|
|
@@ -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)
|
|
31
|
-
*
|
|
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,
|
|
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)
|
|
23
|
-
*
|
|
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
|
|
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)
|
|
25
|
-
*
|
|
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,
|
|
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":"AAAA,YAAY,CAAA;;AAEZ
|
|
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"}
|
package/dist/core/index.cjs
CHANGED
|
@@ -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; } });
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/core/index.js
CHANGED
package/dist/core/index.js.map
CHANGED
|
@@ -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"}
|