@hanzo/ui 8.27.83 → 8.27.85
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 +64 -72
- package/dist/backends/gui/code-editor.d.ts +3 -1
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +67 -75
- 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 +97 -10
- package/dist/backends/gui/json-tree.d.ts +40 -6
- package/dist/backends/gui/json-tree.d.ts.map +1 -1
- package/dist/backends/gui/json-tree.js +97 -11
- package/dist/backends/gui/json-tree.js.map +1 -1
- package/dist/backends/gui/resizable.cjs +16 -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 +16 -3
- package/dist/backends/gui/resizable.js.map +1 -1
- package/dist/gallery.html +2 -2
- package/package.json +1 -1
|
@@ -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
11
|
* keyboard and a screen reader as well as a pointer. Keys and values take the
|
|
11
12
|
* code theme's colours (`code-theme.ts`), the same theme keys `CodeEditor`
|
|
12
13
|
* paints with, and a count reads as a comment. A long value wraps anywhere, so
|
|
13
|
-
* a hash never widens the page.
|
|
14
|
-
*
|
|
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,9 +137,19 @@ 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
|
}
|
|
72
154
|
/** A leaf's colour: the code theme's key for its JSON type. */
|
|
73
155
|
const INK = {
|
|
@@ -77,14 +159,13 @@ const INK = {
|
|
|
77
159
|
null: '$codeNull',
|
|
78
160
|
};
|
|
79
161
|
function Leaf({ value }) {
|
|
80
|
-
const text = typeof value === 'string' ? JSON.stringify(value) : value === undefined ? 'undefined' : String(value);
|
|
81
162
|
const type = value === null ? 'null' : typeof value;
|
|
82
163
|
return (_jsx(SizableText, { ...slot('json-tree-value'), "data-type": type, size: "$2", fontFamily: "$mono", color: INK[type] ?? '$codePunctuation', shrink: 1, minW: 0,
|
|
83
164
|
// A hash or a URL is one unbreakable word; without this it sets the tree's
|
|
84
165
|
// min-content width and pushes the page sideways on a phone.
|
|
85
|
-
style: { overflowWrap: 'anywhere' }, children: text }));
|
|
166
|
+
style: { overflowWrap: 'anywhere' }, children: text(value) }));
|
|
86
167
|
}
|
|
87
|
-
function Node({ name, value, path, level, open, toggle, }) {
|
|
168
|
+
function Node({ name, value, path, level, open, toggle, kept, }) {
|
|
88
169
|
const b = branch(value);
|
|
89
170
|
const expanded = b !== null && open.has(path);
|
|
90
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: ":" })] }));
|
|
@@ -105,6 +186,11 @@ function Node({ name, value, path, level, open, toggle, }) {
|
|
|
105
186
|
return;
|
|
106
187
|
e.preventDefault();
|
|
107
188
|
toggle(path);
|
|
108
|
-
}, 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]) =>
|
|
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
|
+
}) }))] }));
|
|
109
195
|
}
|
|
110
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)
|
|
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");
|
|
@@ -126,6 +128,7 @@ function ResizableHandle({ withHandle, disabled, ...rest }) {
|
|
|
126
128
|
const group = (0, react_1.useContext)(GroupContext);
|
|
127
129
|
const boundary = (0, react_1.useContext)(SlotContext);
|
|
128
130
|
const [state, setState] = (0, react_1.useState)("idle");
|
|
131
|
+
const [focused, setFocused] = (0, react_1.useState)(false);
|
|
129
132
|
const start = (0, react_1.useRef)(null);
|
|
130
133
|
const axis = group?.direction !== "vertical";
|
|
131
134
|
const off = disabled || !group || boundary < 0 || boundary + 1 >= group.sizes.length;
|
|
@@ -171,7 +174,17 @@ function ResizableHandle({ withHandle, disabled, ...rest }) {
|
|
|
171
174
|
e.preventDefault();
|
|
172
175
|
group.setLayout((0, resizable_logic_1.resizeAt)(group.sizes, group.specs, boundary, dir * (e.shiftKey ? KEY_STEP_FINE : KEY_STEP)));
|
|
173
176
|
}, [axis, boundary, group, off]);
|
|
177
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
178
|
+
if (!off && group)
|
|
179
|
+
group.setLayout((0, resizable_logic_1.defaultLayout)(group.specs));
|
|
180
|
+
}, [group, off]);
|
|
174
181
|
const hover = (0, react_1.useCallback)((on) => setState((s) => (s === "drag" ? s : on ? "hover" : "idle")), []);
|
|
175
182
|
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,
|
|
183
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0,
|
|
184
|
+
// Stretched across the group rather than `100%` of it: a percentage of a group
|
|
185
|
+
// that is as tall as its content resolves to nothing, and the handle drew no line.
|
|
186
|
+
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),
|
|
187
|
+
// Focus is drawn on the line, not around the box: an outline around a 4px
|
|
188
|
+
// handle is a second pair of lines beside the divider.
|
|
189
|
+
onFocus: () => setFocused(true), onBlur: () => setFocused(false), outlineWidth: 0, focusVisibleStyle: { outlineWidth: 0 }, "data-focused": focused || undefined, ...rest, children: [(0, jsx_runtime_1.jsx)(gui_1.Separator, { vertical: axis, borderColor: focused ? "$outlineColor" : 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: focused ? "$outlineColor" : "$borderColor", rotate: axis ? "0deg" : "90deg", children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GripVertical, { size: 10 }) }))] }));
|
|
177
190
|
}
|
|
@@ -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,+BAkJtB"}
|
|
@@ -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";
|
|
@@ -119,6 +121,7 @@ export function ResizableHandle({ withHandle, disabled, ...rest }) {
|
|
|
119
121
|
const group = useContext(GroupContext);
|
|
120
122
|
const boundary = useContext(SlotContext);
|
|
121
123
|
const [state, setState] = useState("idle");
|
|
124
|
+
const [focused, setFocused] = useState(false);
|
|
122
125
|
const start = useRef(null);
|
|
123
126
|
const axis = group?.direction !== "vertical";
|
|
124
127
|
const off = disabled || !group || boundary < 0 || boundary + 1 >= group.sizes.length;
|
|
@@ -164,8 +167,18 @@ export function ResizableHandle({ withHandle, disabled, ...rest }) {
|
|
|
164
167
|
e.preventDefault();
|
|
165
168
|
group.setLayout(resizeAt(group.sizes, group.specs, boundary, dir * (e.shiftKey ? KEY_STEP_FINE : KEY_STEP)));
|
|
166
169
|
}, [axis, boundary, group, off]);
|
|
170
|
+
const reset = useCallback(() => {
|
|
171
|
+
if (!off && group)
|
|
172
|
+
group.setLayout(defaultLayout(group.specs));
|
|
173
|
+
}, [group, off]);
|
|
167
174
|
const hover = useCallback((on) => setState((s) => (s === "drag" ? s : on ? "hover" : "idle")), []);
|
|
168
175
|
const gesture = drag({ begin, move, end, enabled: !off });
|
|
169
|
-
return (_jsxs(XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0,
|
|
176
|
+
return (_jsxs(XStack, { position: "relative", flexDirection: axis ? "column" : "row", items: "center", justify: "center", shrink: 0,
|
|
177
|
+
// Stretched across the group rather than `100%` of it: a percentage of a group
|
|
178
|
+
// that is as tall as its content resolves to nothing, and the handle drew no line.
|
|
179
|
+
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),
|
|
180
|
+
// Focus is drawn on the line, not around the box: an outline around a 4px
|
|
181
|
+
// handle is a second pair of lines beside the divider.
|
|
182
|
+
onFocus: () => setFocused(true), onBlur: () => setFocused(false), outlineWidth: 0, focusVisibleStyle: { outlineWidth: 0 }, "data-focused": focused || undefined, ...rest, children: [_jsx(Separator, { vertical: axis, borderColor: focused ? "$outlineColor" : state === "idle" ? "$borderColor" : "$dim" }), withHandle && (_jsx(XStack, { position: "absolute", items: "center", justify: "center", width: 12, height: 20, rounded: "$2", bg: "$raised", borderWidth: 1, borderColor: focused ? "$outlineColor" : "$borderColor", rotate: axis ? "0deg" : "90deg", children: _jsx(GripVertical, { size: 10 }) }))] }));
|
|
170
183
|
}
|
|
171
184
|
//# 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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"}
|