@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":"code-editor.js","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-editor.js","sourceRoot":"","sources":["../../../src/backends/gui/code-editor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
'use client';"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.useGrip = useGrip;
|
|
38
|
+
exports.Grip = Grip;
|
|
39
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
/**
|
|
41
|
+
* The grip under a pane that resizes it, shared by CodeEditor and JsonTree.
|
|
42
|
+
*
|
|
43
|
+
* The footer is the drag target and the knob is the separator a keyboard and a
|
|
44
|
+
* screen reader find. A drag, or ArrowUp / ArrowDown on the knob, sets a height
|
|
45
|
+
* of the reader's own, as tall as they like; a double-click on the footer hands
|
|
46
|
+
* the height back to the content. `useGrip` owns that height; `Grip` draws the
|
|
47
|
+
* knob.
|
|
48
|
+
*/
|
|
49
|
+
const gui_1 = require("@hanzo/gui");
|
|
50
|
+
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
51
|
+
const React = __importStar(require("react"));
|
|
52
|
+
const slot_1 = require("./slot.cjs");
|
|
53
|
+
/** How far one ArrowUp / ArrowDown on the knob moves the height. */
|
|
54
|
+
const STEP = 24;
|
|
55
|
+
/** The separator's stated maximum, in px: the drag itself has none. */
|
|
56
|
+
const CEILING = 4096;
|
|
57
|
+
function useGrip({ enabled, min, measure, initial = null, onChange }) {
|
|
58
|
+
const grip = React.useRef(null);
|
|
59
|
+
const knob = React.useRef(null);
|
|
60
|
+
const [height, setHeight] = React.useState(initial);
|
|
61
|
+
const latest = React.useRef({ measure, onChange });
|
|
62
|
+
latest.current = { measure, onChange };
|
|
63
|
+
const set = React.useCallback((next) => {
|
|
64
|
+
setHeight(next);
|
|
65
|
+
latest.current.onChange?.(next);
|
|
66
|
+
}, []);
|
|
67
|
+
React.useEffect(() => {
|
|
68
|
+
const el = grip.current;
|
|
69
|
+
const handle = knob.current;
|
|
70
|
+
if (!el || !handle || !enabled)
|
|
71
|
+
return;
|
|
72
|
+
let pointer = -1;
|
|
73
|
+
let startY = 0;
|
|
74
|
+
let startH = 0;
|
|
75
|
+
const down = (e) => {
|
|
76
|
+
if (e.button !== 0)
|
|
77
|
+
return;
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
pointer = e.pointerId;
|
|
80
|
+
startY = e.clientY;
|
|
81
|
+
startH = latest.current.measure();
|
|
82
|
+
el.setPointerCapture?.(pointer);
|
|
83
|
+
};
|
|
84
|
+
const move = (e) => {
|
|
85
|
+
if (e.pointerId !== pointer)
|
|
86
|
+
return;
|
|
87
|
+
set(Math.max(min, Math.round(startH + e.clientY - startY)));
|
|
88
|
+
};
|
|
89
|
+
const up = (e) => {
|
|
90
|
+
if (e.pointerId !== pointer)
|
|
91
|
+
return;
|
|
92
|
+
el.releasePointerCapture?.(pointer);
|
|
93
|
+
pointer = -1;
|
|
94
|
+
};
|
|
95
|
+
const key = (e) => {
|
|
96
|
+
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
|
97
|
+
return;
|
|
98
|
+
e.preventDefault();
|
|
99
|
+
set(Math.max(min, Math.round(latest.current.measure() + (e.key === 'ArrowDown' ? STEP : -STEP))));
|
|
100
|
+
};
|
|
101
|
+
const reset = () => set(null);
|
|
102
|
+
el.addEventListener('pointerdown', down);
|
|
103
|
+
el.addEventListener('pointermove', move);
|
|
104
|
+
el.addEventListener('pointerup', up);
|
|
105
|
+
el.addEventListener('pointercancel', up);
|
|
106
|
+
el.addEventListener('dblclick', reset);
|
|
107
|
+
handle.addEventListener('keydown', key);
|
|
108
|
+
return () => {
|
|
109
|
+
el.removeEventListener('pointerdown', down);
|
|
110
|
+
el.removeEventListener('pointermove', move);
|
|
111
|
+
el.removeEventListener('pointerup', up);
|
|
112
|
+
el.removeEventListener('pointercancel', up);
|
|
113
|
+
el.removeEventListener('dblclick', reset);
|
|
114
|
+
handle.removeEventListener('keydown', key);
|
|
115
|
+
};
|
|
116
|
+
}, [enabled, min, set]);
|
|
117
|
+
return { grip, knob, height };
|
|
118
|
+
}
|
|
119
|
+
/** The knob: a separator that names what it resizes and says how tall it is. */
|
|
120
|
+
function Grip({ knob, name, label, min, height, }) {
|
|
121
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ref: knob, ...(0, slot_1.slot)(name), ...{
|
|
122
|
+
role: 'separator',
|
|
123
|
+
'aria-orientation': 'horizontal',
|
|
124
|
+
'aria-label': `Resize ${label}`,
|
|
125
|
+
'aria-valuemin': min,
|
|
126
|
+
// A drag has no ceiling; this stands in for "as tall as you like".
|
|
127
|
+
'aria-valuemax': CEILING,
|
|
128
|
+
'aria-valuenow': height ?? min,
|
|
129
|
+
'aria-valuetext': height === null ? 'Fits its content' : `${height} pixels`,
|
|
130
|
+
tabIndex: 0,
|
|
131
|
+
}, rounded: "$2", p: "$1", focusVisibleStyle: { bg: '$hover' }, children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.GripHorizontal, { size: 14, color: "$soft" }) }));
|
|
132
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface GripOptions {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
/** The shortest a drag makes the pane, in px. */
|
|
5
|
+
min: number;
|
|
6
|
+
/** The pane's height now, read when a drag or a key starts. */
|
|
7
|
+
measure: () => number;
|
|
8
|
+
/** A height to start from, as `onChange` last reported it. */
|
|
9
|
+
initial?: number | null;
|
|
10
|
+
/** Every height the reader sets, and `null` when a double-click hands it back. */
|
|
11
|
+
onChange?: (height: number | null) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useGrip({ enabled, min, measure, initial, onChange }: GripOptions): {
|
|
14
|
+
grip: React.RefObject<HTMLElement | null>;
|
|
15
|
+
knob: React.RefObject<HTMLElement | null>;
|
|
16
|
+
height: number | null;
|
|
17
|
+
};
|
|
18
|
+
/** The knob: a separator that names what it resizes and says how tall it is. */
|
|
19
|
+
export declare function Grip({ knob, name, label, min, height, }: {
|
|
20
|
+
knob: React.RefObject<HTMLElement | null>;
|
|
21
|
+
/** Its `data-slot`. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** What it resizes, for "Resize <label>". */
|
|
24
|
+
label: string;
|
|
25
|
+
min: number;
|
|
26
|
+
height: number | null;
|
|
27
|
+
}): React.JSX.Element;
|
|
28
|
+
//# sourceMappingURL=grip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grip.d.ts","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAA;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAc,EAAE,QAAQ,EAAE,EAAE,WAAW;;;;EA2DvF;AAED,gFAAgF;AAChF,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,GAAG,EACH,MAAM,GACP,EAAE;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IACzC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,qBAuBA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* The grip under a pane that resizes it, shared by CodeEditor and JsonTree.
|
|
5
|
+
*
|
|
6
|
+
* The footer is the drag target and the knob is the separator a keyboard and a
|
|
7
|
+
* screen reader find. A drag, or ArrowUp / ArrowDown on the knob, sets a height
|
|
8
|
+
* of the reader's own, as tall as they like; a double-click on the footer hands
|
|
9
|
+
* the height back to the content. `useGrip` owns that height; `Grip` draws the
|
|
10
|
+
* knob.
|
|
11
|
+
*/
|
|
12
|
+
import { XStack } from '@hanzo/gui';
|
|
13
|
+
import { GripHorizontal } from '@hanzogui/lucide-icons-2';
|
|
14
|
+
import * as React from 'react';
|
|
15
|
+
import { slot } from './slot.js';
|
|
16
|
+
/** How far one ArrowUp / ArrowDown on the knob moves the height. */
|
|
17
|
+
const STEP = 24;
|
|
18
|
+
/** The separator's stated maximum, in px: the drag itself has none. */
|
|
19
|
+
const CEILING = 4096;
|
|
20
|
+
export function useGrip({ enabled, min, measure, initial = null, onChange }) {
|
|
21
|
+
const grip = React.useRef(null);
|
|
22
|
+
const knob = React.useRef(null);
|
|
23
|
+
const [height, setHeight] = React.useState(initial);
|
|
24
|
+
const latest = React.useRef({ measure, onChange });
|
|
25
|
+
latest.current = { measure, onChange };
|
|
26
|
+
const set = React.useCallback((next) => {
|
|
27
|
+
setHeight(next);
|
|
28
|
+
latest.current.onChange?.(next);
|
|
29
|
+
}, []);
|
|
30
|
+
React.useEffect(() => {
|
|
31
|
+
const el = grip.current;
|
|
32
|
+
const handle = knob.current;
|
|
33
|
+
if (!el || !handle || !enabled)
|
|
34
|
+
return;
|
|
35
|
+
let pointer = -1;
|
|
36
|
+
let startY = 0;
|
|
37
|
+
let startH = 0;
|
|
38
|
+
const down = (e) => {
|
|
39
|
+
if (e.button !== 0)
|
|
40
|
+
return;
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
pointer = e.pointerId;
|
|
43
|
+
startY = e.clientY;
|
|
44
|
+
startH = latest.current.measure();
|
|
45
|
+
el.setPointerCapture?.(pointer);
|
|
46
|
+
};
|
|
47
|
+
const move = (e) => {
|
|
48
|
+
if (e.pointerId !== pointer)
|
|
49
|
+
return;
|
|
50
|
+
set(Math.max(min, Math.round(startH + e.clientY - startY)));
|
|
51
|
+
};
|
|
52
|
+
const up = (e) => {
|
|
53
|
+
if (e.pointerId !== pointer)
|
|
54
|
+
return;
|
|
55
|
+
el.releasePointerCapture?.(pointer);
|
|
56
|
+
pointer = -1;
|
|
57
|
+
};
|
|
58
|
+
const key = (e) => {
|
|
59
|
+
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
|
60
|
+
return;
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
set(Math.max(min, Math.round(latest.current.measure() + (e.key === 'ArrowDown' ? STEP : -STEP))));
|
|
63
|
+
};
|
|
64
|
+
const reset = () => set(null);
|
|
65
|
+
el.addEventListener('pointerdown', down);
|
|
66
|
+
el.addEventListener('pointermove', move);
|
|
67
|
+
el.addEventListener('pointerup', up);
|
|
68
|
+
el.addEventListener('pointercancel', up);
|
|
69
|
+
el.addEventListener('dblclick', reset);
|
|
70
|
+
handle.addEventListener('keydown', key);
|
|
71
|
+
return () => {
|
|
72
|
+
el.removeEventListener('pointerdown', down);
|
|
73
|
+
el.removeEventListener('pointermove', move);
|
|
74
|
+
el.removeEventListener('pointerup', up);
|
|
75
|
+
el.removeEventListener('pointercancel', up);
|
|
76
|
+
el.removeEventListener('dblclick', reset);
|
|
77
|
+
handle.removeEventListener('keydown', key);
|
|
78
|
+
};
|
|
79
|
+
}, [enabled, min, set]);
|
|
80
|
+
return { grip, knob, height };
|
|
81
|
+
}
|
|
82
|
+
/** The knob: a separator that names what it resizes and says how tall it is. */
|
|
83
|
+
export function Grip({ knob, name, label, min, height, }) {
|
|
84
|
+
return (_jsx(XStack, { ref: knob, ...slot(name), ...{
|
|
85
|
+
role: 'separator',
|
|
86
|
+
'aria-orientation': 'horizontal',
|
|
87
|
+
'aria-label': `Resize ${label}`,
|
|
88
|
+
'aria-valuemin': min,
|
|
89
|
+
// A drag has no ceiling; this stands in for "as tall as you like".
|
|
90
|
+
'aria-valuemax': CEILING,
|
|
91
|
+
'aria-valuenow': height ?? min,
|
|
92
|
+
'aria-valuetext': height === null ? 'Fits its content' : `${height} pixels`,
|
|
93
|
+
tabIndex: 0,
|
|
94
|
+
}, rounded: "$2", p: "$1", focusVisibleStyle: { bg: '$hover' }, children: _jsx(GripHorizontal, { size: 14, color: "$soft" }) }));
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=grip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grip.js","sourceRoot":"","sources":["../../../src/backends/gui/grip.tsx"],"names":[],"mappings":"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"}
|
|
@@ -34,25 +34,40 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
};
|
|
35
35
|
})();
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.sift = sift;
|
|
37
38
|
exports.JsonTree = JsonTree;
|
|
38
39
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
40
|
/**
|
|
40
41
|
* JsonTree — a JSON value drawn as a tree a reader can open and close: one row
|
|
41
42
|
* per key or element, objects and arrays behind a disclosure that says how
|
|
42
|
-
* many children they hold, and a header with Expand all, Collapse all
|
|
43
|
+
* many children they hold, and a header with a filter, Expand all, Collapse all
|
|
44
|
+
* and Copy.
|
|
43
45
|
*
|
|
44
46
|
* The first `depth` levels open on first paint. A row is a button (Enter and
|
|
45
47
|
* Space toggle it, `aria-expanded` says which way), so the tree reads with a
|
|
46
|
-
* keyboard and a screen reader as well as a pointer.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* a hash never widens the page.
|
|
50
|
-
*
|
|
48
|
+
* keyboard and a screen reader as well as a pointer. Keys and values take the
|
|
49
|
+
* code theme's colours (`code-theme.ts`), the same theme keys `CodeEditor`
|
|
50
|
+
* paints with, and a count reads as a comment. A long value wraps anywhere, so
|
|
51
|
+
* a hash never widens the page.
|
|
52
|
+
*
|
|
53
|
+
* Filter. What is typed keeps every row whose key, dotted path
|
|
54
|
+
* (`answers.team.probabilities`) or value contains it, with the rows above it,
|
|
55
|
+
* and opens them; a branch that matches keeps everything under it. Clearing the
|
|
56
|
+
* filter hands back the tree as it was opened before.
|
|
57
|
+
*
|
|
58
|
+
* Height. The tree is as tall as its rows up to `maxHeight`, then scrolls.
|
|
59
|
+
* `resizable` adds CodeEditor's footer grip: a drag or ArrowUp / ArrowDown sets
|
|
60
|
+
* a height of the reader's own and a double-click hands it back; `onResize`
|
|
61
|
+
* hears each one and `defaultHeight` starts from it. Copy writes the whole
|
|
62
|
+
* value, whatever is open or filtered. Built from gui primitives only, so it
|
|
63
|
+
* renders wherever gui does.
|
|
51
64
|
*/
|
|
52
65
|
const gui_1 = require("@hanzo/gui");
|
|
53
66
|
const lucide_icons_2_1 = require("@hanzogui/lucide-icons-2");
|
|
54
67
|
const React = __importStar(require("react"));
|
|
55
68
|
const button_1 = require("./button.cjs");
|
|
69
|
+
const grip_1 = require("./grip.cjs");
|
|
70
|
+
const input_1 = require("./input.cjs");
|
|
56
71
|
const slot_1 = require("./slot.cjs");
|
|
57
72
|
const toaster_1 = require("./toaster.cjs");
|
|
58
73
|
/** Indent per level, in px. */
|
|
@@ -77,12 +92,70 @@ function paths(v, depth, at = '$', level = 0, out = new Set()) {
|
|
|
77
92
|
paths(x, depth, child(at, k), level + 1, out);
|
|
78
93
|
return out;
|
|
79
94
|
}
|
|
80
|
-
|
|
95
|
+
/** A leaf as it is drawn, and as the filter reads it. */
|
|
96
|
+
const text = (value) => typeof value === 'string' ? JSON.stringify(value) : value === undefined ? 'undefined' : String(value);
|
|
97
|
+
function sift(data, query) {
|
|
98
|
+
const q = query.trim().toLowerCase();
|
|
99
|
+
const rows = new Map();
|
|
100
|
+
const open = new Set();
|
|
101
|
+
const walk = (v, at, dotted, name) => {
|
|
102
|
+
const b = branch(v);
|
|
103
|
+
const hit = (name !== null && (name.toLowerCase().includes(q) || `.${dotted}`.toLowerCase().includes(`.${q}`))) ||
|
|
104
|
+
(!b && text(v).toLowerCase().includes(q));
|
|
105
|
+
if (hit) {
|
|
106
|
+
rows.set(at, true);
|
|
107
|
+
if (b)
|
|
108
|
+
open.add(at);
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
let kept = false;
|
|
112
|
+
if (b)
|
|
113
|
+
for (const [k, x] of b.entries)
|
|
114
|
+
if (walk(x, child(at, k), dotted ? `${dotted}.${k}` : k, k))
|
|
115
|
+
kept = true;
|
|
116
|
+
if (kept) {
|
|
117
|
+
rows.set(at, false);
|
|
118
|
+
open.add(at);
|
|
119
|
+
}
|
|
120
|
+
return kept;
|
|
121
|
+
};
|
|
122
|
+
if (q)
|
|
123
|
+
walk(data, '$', '', null);
|
|
124
|
+
return { rows, open };
|
|
125
|
+
}
|
|
126
|
+
function JsonTree({ data, depth = 2, title, showCopyButton = true, search = true, maxHeight, minHeight = 96, resizable = false, defaultHeight = null, onResize, ...props }) {
|
|
81
127
|
const [open, setOpen] = React.useState(() => paths(data, depth));
|
|
128
|
+
const [query, setQuery] = React.useState('');
|
|
82
129
|
const [copied, setCopied] = React.useState(false);
|
|
83
130
|
const timer = React.useRef(undefined);
|
|
131
|
+
/** The open set from before a filter, handed back when it clears. */
|
|
132
|
+
const before = React.useRef(null);
|
|
133
|
+
const body = React.useRef(null);
|
|
134
|
+
const sized = (0, grip_1.useGrip)({
|
|
135
|
+
enabled: resizable,
|
|
136
|
+
min: minHeight,
|
|
137
|
+
measure: () => body.current?.getBoundingClientRect().height ?? minHeight,
|
|
138
|
+
initial: defaultHeight,
|
|
139
|
+
onChange: onResize,
|
|
140
|
+
});
|
|
141
|
+
const sifted = React.useMemo(() => (query.trim() ? sift(data, query) : null), [data, query]);
|
|
84
142
|
React.useEffect(() => () => clearTimeout(timer.current), []);
|
|
85
143
|
React.useEffect(() => setOpen(paths(data, depth)), [data, depth]);
|
|
144
|
+
// After the reset above, so a filter that is on keeps its matches open on new data.
|
|
145
|
+
React.useEffect(() => {
|
|
146
|
+
if (sifted)
|
|
147
|
+
setOpen(sifted.open);
|
|
148
|
+
}, [sifted]);
|
|
149
|
+
const type = (next) => {
|
|
150
|
+
const on = next.trim() !== '';
|
|
151
|
+
if (on && before.current === null)
|
|
152
|
+
before.current = open;
|
|
153
|
+
if (!on && before.current !== null) {
|
|
154
|
+
setOpen(before.current);
|
|
155
|
+
before.current = null;
|
|
156
|
+
}
|
|
157
|
+
setQuery(next);
|
|
158
|
+
};
|
|
86
159
|
const toggle = React.useCallback((path) => setOpen((prev) => {
|
|
87
160
|
const next = new Set(prev);
|
|
88
161
|
if (!next.delete(path))
|
|
@@ -101,21 +174,38 @@ function JsonTree({ data, depth = 2, title, showCopyButton = true, ...props }) {
|
|
|
101
174
|
toaster_1.toast.error('Failed to copy JSON');
|
|
102
175
|
}
|
|
103
176
|
};
|
|
104
|
-
const header = title !== undefined || showCopyButton;
|
|
105
177
|
const root = branch(data);
|
|
106
|
-
|
|
178
|
+
const searchable = search && root !== null;
|
|
179
|
+
const header = title !== undefined || showCopyButton || searchable;
|
|
180
|
+
// Everything is kept when the root itself matched; nothing is when no row did.
|
|
181
|
+
const kept = sifted && !sifted.rows.get('$') ? sifted.rows : null;
|
|
182
|
+
const none = sifted !== null && sifted.rows.size === 0;
|
|
183
|
+
const fixed = sized.height !== null;
|
|
184
|
+
return ((0, jsx_runtime_1.jsxs)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", ...props, children: [header && ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-header'), items: "center", flexWrap: "wrap", gap: "$1", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [(0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", grow: 1, children: title ?? 'JSON' }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { grow: 1, shrink: 1, flexBasis: searchable ? 240 : 'auto', minW: 0, justify: "flex-end", items: "center", gap: "$1", children: [searchable && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { flex: 1, minW: 0, maxW: 260, children: (0, jsx_runtime_1.jsx)(input_1.Input, { ...(0, slot_1.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`,
|
|
185
|
+
// No adornment: its wrapper holds the field at its intrinsic width, and
|
|
186
|
+
// on a narrow pane that pushed the actions out of the header.
|
|
187
|
+
height: 32, fontSize: "$2" }) })), root && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-expand'), variant: "ghost", size: "icon-sm", "aria-label": "Expand all", title: "Expand all", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 14 }) }), (0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-collapse'), variant: "ghost", size: "icon-sm", "aria-label": "Collapse all", title: "Collapse all", onClick: () => setOpen(new Set()), children: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsDownUp, { size: 14 }) })] })), showCopyButton && ((0, jsx_runtime_1.jsx)(button_1.Button, { ...(0, slot_1.slot)('json-tree-copy'), variant: "ghost", size: "icon-sm", "aria-label": copied ? 'Copied' : `Copy ${title ?? 'JSON'}`, title: "Copy", onClick: copy, children: copied ? (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Check, { size: 14 }) : (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Copy, { size: 14 }) }))] })] })), (0, jsx_runtime_1.jsx)(gui_1.YStack, { ref: body, ...(0, slot_1.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 ? ((0, jsx_runtime_1.jsxs)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-empty'), size: "$2", color: "$soft", px: "$2", py: "$1", children: ["Nothing matches \u201C", query.trim(), "\u201D."] })) : ((0, jsx_runtime_1.jsx)(Node, { name: null, value: data, path: "$", level: 0, open: open, toggle: toggle, kept: kept })) }), resizable && ((0, jsx_runtime_1.jsx)(gui_1.XStack, { ref: sized.grip, ...(0, slot_1.slot)('json-tree-footer'), cursor: "row-resize", items: "center", justify: "flex-end", minH: 24, px: "$3", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", select: "none",
|
|
188
|
+
// A touch drag would otherwise scroll the page and cancel the pointer.
|
|
189
|
+
style: { touchAction: 'none' }, children: (0, jsx_runtime_1.jsx)(grip_1.Grip, { knob: sized.knob, name: "json-tree-resize", label: title ?? 'JSON', min: minHeight, height: sized.height }) }))] }));
|
|
107
190
|
}
|
|
191
|
+
/** A leaf's colour: the code theme's key for its JSON type. */
|
|
192
|
+
const INK = {
|
|
193
|
+
string: '$codeString',
|
|
194
|
+
number: '$codeNumber',
|
|
195
|
+
boolean: '$codeBoolean',
|
|
196
|
+
null: '$codeNull',
|
|
197
|
+
};
|
|
108
198
|
function Leaf({ value }) {
|
|
109
|
-
const
|
|
110
|
-
return ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-value'), "data-type":
|
|
199
|
+
const type = value === null ? 'null' : typeof value;
|
|
200
|
+
return ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-value'), "data-type": type, size: "$2", fontFamily: "$mono", color: INK[type] ?? '$codePunctuation', shrink: 1, minW: 0,
|
|
111
201
|
// A hash or a URL is one unbreakable word; without this it sets the tree's
|
|
112
202
|
// min-content width and pushes the page sideways on a phone.
|
|
113
|
-
style: { overflowWrap: 'anywhere' }, children: text }));
|
|
203
|
+
style: { overflowWrap: 'anywhere' }, children: text(value) }));
|
|
114
204
|
}
|
|
115
|
-
function Node({ name, value, path, level, open, toggle, }) {
|
|
205
|
+
function Node({ name, value, path, level, open, toggle, kept, }) {
|
|
116
206
|
const b = branch(value);
|
|
117
207
|
const expanded = b !== null && open.has(path);
|
|
118
|
-
const key = name === null ? null : ((0, jsx_runtime_1.jsxs)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-key'), size: "$2", fontFamily: "$mono", color: "$
|
|
208
|
+
const key = name === null ? null : ((0, jsx_runtime_1.jsxs)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-key'), size: "$2", fontFamily: "$mono", color: "$codeKey", children: [name, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", fontFamily: "$mono", color: "$codePunctuation", children: ":" })] }));
|
|
119
209
|
if (!b) {
|
|
120
210
|
return ((0, jsx_runtime_1.jsxs)(gui_1.XStack, { ...(0, slot_1.slot)('json-tree-row'), items: "flex-start", gap: "$1.5", pl: level * INDENT, py: 1, children: [(0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0 }), key, (0, jsx_runtime_1.jsx)(Leaf, { value: value })] }));
|
|
121
211
|
}
|
|
@@ -133,5 +223,10 @@ function Node({ name, value, path, level, open, toggle, }) {
|
|
|
133
223
|
return;
|
|
134
224
|
e.preventDefault();
|
|
135
225
|
toggle(path);
|
|
136
|
-
}, children: [empty ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0 })) : expanded ? ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 14, color: "$soft" })) : ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronRight, { size: 14, color: "$soft" })), key, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-count'), size: "$2", fontFamily: "$mono", color: "$
|
|
226
|
+
}, children: [empty ? ((0, jsx_runtime_1.jsx)(gui_1.XStack, { width: 14, shrink: 0 })) : expanded ? ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronDown, { size: 14, color: "$soft" })) : ((0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronRight, { size: 14, color: "$soft" })), key, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-count'), size: "$2", fontFamily: "$mono", color: "$codeComment", children: empty ? (b.kind === 'array' ? '[]' : '{}') : count(b) })] }), expanded && ((0, jsx_runtime_1.jsx)(gui_1.YStack, { children: b.entries.map(([k, v]) => {
|
|
227
|
+
const at = child(path, k);
|
|
228
|
+
if (kept && !kept.has(at))
|
|
229
|
+
return null;
|
|
230
|
+
return ((0, jsx_runtime_1.jsx)(Node, { name: k, value: v, path: at, level: level + 1, open: open, toggle: toggle, kept: kept && !kept.get(at) ? kept : null }, k));
|
|
231
|
+
}) }))] }));
|
|
137
232
|
}
|
|
@@ -1,26 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* JsonTree — a JSON value drawn as a tree a reader can open and close: one row
|
|
3
3
|
* per key or element, objects and arrays behind a disclosure that says how
|
|
4
|
-
* many children they hold, and a header with Expand all, Collapse all
|
|
4
|
+
* many children they hold, and a header with a filter, Expand all, Collapse all
|
|
5
|
+
* and Copy.
|
|
5
6
|
*
|
|
6
7
|
* The first `depth` levels open on first paint. A row is a button (Enter and
|
|
7
8
|
* Space toggle it, `aria-expanded` says which way), so the tree reads with a
|
|
8
|
-
* keyboard and a screen reader as well as a pointer.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* a hash never widens the page.
|
|
12
|
-
*
|
|
9
|
+
* keyboard and a screen reader as well as a pointer. Keys and values take the
|
|
10
|
+
* code theme's colours (`code-theme.ts`), the same theme keys `CodeEditor`
|
|
11
|
+
* paints with, and a count reads as a comment. A long value wraps anywhere, so
|
|
12
|
+
* a hash never widens the page.
|
|
13
|
+
*
|
|
14
|
+
* Filter. What is typed keeps every row whose key, dotted path
|
|
15
|
+
* (`answers.team.probabilities`) or value contains it, with the rows above it,
|
|
16
|
+
* and opens them; a branch that matches keeps everything under it. Clearing the
|
|
17
|
+
* filter hands back the tree as it was opened before.
|
|
18
|
+
*
|
|
19
|
+
* Height. The tree is as tall as its rows up to `maxHeight`, then scrolls.
|
|
20
|
+
* `resizable` adds CodeEditor's footer grip: a drag or ArrowUp / ArrowDown sets
|
|
21
|
+
* a height of the reader's own and a double-click hands it back; `onResize`
|
|
22
|
+
* hears each one and `defaultHeight` starts from it. Copy writes the whole
|
|
23
|
+
* value, whatever is open or filtered. Built from gui primitives only, so it
|
|
24
|
+
* renders wherever gui does.
|
|
13
25
|
*/
|
|
14
26
|
import { type YStackProps } from '@hanzo/gui';
|
|
15
27
|
import * as React from 'react';
|
|
16
|
-
|
|
28
|
+
/**
|
|
29
|
+
* What a filter keeps. `rows` maps each kept path to `true` when everything
|
|
30
|
+
* under it is kept as well (it matched) and `false` when only the way down to a
|
|
31
|
+
* match is; `open` is every kept branch, so each match is in view.
|
|
32
|
+
*/
|
|
33
|
+
export type Sifted = {
|
|
34
|
+
rows: Map<string, boolean>;
|
|
35
|
+
open: Set<string>;
|
|
36
|
+
};
|
|
37
|
+
export declare function sift(data: unknown, query: string): Sifted;
|
|
38
|
+
export interface JsonTreeProps extends Omit<YStackProps, 'children' | 'minHeight' | 'maxHeight'> {
|
|
17
39
|
/** The value to draw — anything `JSON.stringify` accepts. */
|
|
18
40
|
data: unknown;
|
|
19
41
|
/** How many levels are open on first paint. */
|
|
20
42
|
depth?: number;
|
|
21
|
-
/** The header's title. Omit it and `
|
|
43
|
+
/** The header's title. Omit it, `showCopyButton={false}` and `search={false}` to drop the header. */
|
|
22
44
|
title?: string;
|
|
23
45
|
showCopyButton?: boolean;
|
|
46
|
+
/** Whether the header has a filter box. Defaults to true. */
|
|
47
|
+
search?: boolean;
|
|
48
|
+
/** The tallest the tree grows on its own, in px; past it the tree scrolls. */
|
|
49
|
+
maxHeight?: number;
|
|
50
|
+
/** The shortest a drag makes it, in px. */
|
|
51
|
+
minHeight?: number;
|
|
52
|
+
/** Whether a footer grip resizes the tree. */
|
|
53
|
+
resizable?: boolean;
|
|
54
|
+
/** A height to start from, as `onResize` last reported it. */
|
|
55
|
+
defaultHeight?: number | null;
|
|
56
|
+
/** Every height the reader drags to, and `null` when a double-click hands it back. */
|
|
57
|
+
onResize?: (height: number | null) => void;
|
|
24
58
|
}
|
|
25
|
-
export declare function JsonTree({ data, depth, title, showCopyButton, ...props }: JsonTreeProps): React.JSX.Element;
|
|
59
|
+
export declare function JsonTree({ data, depth, title, showCopyButton, search, maxHeight, minHeight, resizable, defaultHeight, onResize, ...props }: JsonTreeProps): React.JSX.Element;
|
|
26
60
|
//# sourceMappingURL=json-tree.d.ts.map
|