@hanzo/ui 8.27.82 → 8.27.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/backends/gui/code-editor.cjs +80 -84
  2. package/dist/backends/gui/code-editor.d.ts +8 -6
  3. package/dist/backends/gui/code-editor.d.ts.map +1 -1
  4. package/dist/backends/gui/code-editor.js +83 -87
  5. package/dist/backends/gui/code-editor.js.map +1 -1
  6. package/dist/backends/gui/grip.cjs +132 -0
  7. package/dist/backends/gui/grip.d.ts +28 -0
  8. package/dist/backends/gui/grip.d.ts.map +1 -0
  9. package/dist/backends/gui/grip.js +96 -0
  10. package/dist/backends/gui/grip.js.map +1 -0
  11. package/dist/backends/gui/json-tree.cjs +110 -15
  12. package/dist/backends/gui/json-tree.d.ts +43 -9
  13. package/dist/backends/gui/json-tree.d.ts.map +1 -1
  14. package/dist/backends/gui/json-tree.js +110 -16
  15. package/dist/backends/gui/json-tree.js.map +1 -1
  16. package/dist/backends/gui/resizable.cjs +12 -3
  17. package/dist/backends/gui/resizable.d.ts +4 -2
  18. package/dist/backends/gui/resizable.d.ts.map +1 -1
  19. package/dist/backends/gui/resizable.js +12 -3
  20. package/dist/backends/gui/resizable.js.map +1 -1
  21. package/dist/code-theme.cjs +44 -0
  22. package/dist/code-theme.d.ts +46 -0
  23. package/dist/code-theme.d.ts.map +1 -0
  24. package/dist/code-theme.js +42 -0
  25. package/dist/code-theme.js.map +1 -0
  26. package/dist/core/index.cjs +4 -1
  27. package/dist/core/index.d.ts +1 -0
  28. package/dist/core/index.d.ts.map +1 -1
  29. package/dist/core/index.js +1 -0
  30. package/dist/core/index.js.map +1 -1
  31. package/dist/gallery.html +250 -250
  32. package/dist/gui-config.cjs +3 -0
  33. package/dist/gui-config.d.ts +218 -209
  34. package/dist/gui-config.d.ts.map +1 -1
  35. package/dist/gui-config.js +3 -0
  36. package/dist/gui-config.js.map +1 -1
  37. package/dist/index.cjs +8 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +5 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/index.node.cjs +8 -1
  43. package/dist/index.node.js +5 -0
  44. package/dist/styles.css +124 -124
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"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 and Copy.
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. Values are ranked by ink
47
- * the way `CodeEditor` ranks syntax: keys in full ink, strings one rank down,
48
- * counts and punctuation at the rank of a hint. A long value wraps anywhere, so
49
- * a hash never widens the page. Built from gui primitives
50
- * only, so it renders wherever gui does.
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
- function JsonTree({ data, depth = 2, title, showCopyButton = true, ...props }) {
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
- 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", justify: "space-between", flexWrap: "wrap", gap: "$2", 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", children: title ?? 'JSON' }), (0, jsx_runtime_1.jsxs)(gui_1.XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [root && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('json-tree-expand'), variant: "ghost", size: "sm", onClick: () => setOpen(paths(data, Number.POSITIVE_INFINITY)), children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsUpDown, { size: 14 }), "Expand all"] }), (0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('json-tree-collapse'), variant: "ghost", size: "sm", onClick: () => setOpen(new Set()), children: [(0, jsx_runtime_1.jsx)(lucide_icons_2_1.ChevronsDownUp, { size: 14 }), "Collapse all"] })] })), showCopyButton && ((0, jsx_runtime_1.jsxs)(button_1.Button, { ...(0, slot_1.slot)('json-tree-copy'), variant: "ghost", size: "sm", 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 }), copied ? 'Copied!' : 'Copy'] }))] })] })), (0, jsx_runtime_1.jsx)(gui_1.YStack, { ...(0, slot_1.slot)('json-tree-body'), py: "$2", px: "$2", children: (0, jsx_runtime_1.jsx)(Node, { name: null, value: data, path: "$", level: 0, open: open, toggle: toggle }) })] }));
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 text = typeof value === 'string' ? JSON.stringify(value) : value === undefined ? 'undefined' : String(value);
110
- return ((0, jsx_runtime_1.jsx)(gui_1.SizableText, { ...(0, slot_1.slot)('json-tree-value'), "data-type": value === null ? 'null' : typeof value, size: "$2", fontFamily: "$mono", color: typeof value === 'string' ? '$soft' : '$ink', shrink: 1, minW: 0,
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: "$ink", fontWeight: "500", children: [name, (0, jsx_runtime_1.jsx)(gui_1.SizableText, { size: "$2", fontFamily: "$mono", color: "$dim", children: ":" })] }));
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: "$dim", children: empty ? (b.kind === 'array' ? '[]' : '{}') : count(b) })] }), expanded && ((0, jsx_runtime_1.jsx)(gui_1.YStack, { children: b.entries.map(([k, v]) => ((0, jsx_runtime_1.jsx)(Node, { name: k, value: v, path: child(path, k), level: level + 1, open: open, toggle: toggle }, k))) }))] }));
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 and Copy.
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. Values are ranked by ink
9
- * the way `CodeEditor` ranks syntax: keys in full ink, strings one rank down,
10
- * counts and punctuation at the rank of a hint. A long value wraps anywhere, so
11
- * a hash never widens the page. Built from gui primitives
12
- * only, so it renders wherever gui does.
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
- export interface JsonTreeProps extends Omit<YStackProps, 'children'> {
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 `showCopyButton={false}` to drop the header. */
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