@hanzo/ui 8.27.57 → 8.27.58
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 +374 -71
- package/dist/backends/gui/code-editor.d.ts +46 -25
- package/dist/backends/gui/code-editor.d.ts.map +1 -1
- package/dist/backends/gui/code-editor.js +376 -73
- package/dist/backends/gui/code-editor.js.map +1 -1
- package/dist/backends/gui/index.cjs +9 -4
- package/dist/backends/gui/index.d.ts +3 -1
- package/dist/backends/gui/index.d.ts.map +1 -1
- package/dist/backends/gui/index.js +2 -0
- package/dist/backends/gui/index.js.map +1 -1
- package/dist/backends/gui/json-tree.cjs +135 -0
- package/dist/backends/gui/json-tree.d.ts +26 -0
- package/dist/backends/gui/json-tree.d.ts.map +1 -0
- package/dist/backends/gui/json-tree.js +100 -0
- package/dist/backends/gui/json-tree.js.map +1 -0
- package/dist/backends/gui/json.cjs +183 -0
- package/dist/backends/gui/json.d.ts +41 -0
- package/dist/backends/gui/json.d.ts.map +1 -0
- package/dist/backends/gui/json.js +180 -0
- package/dist/backends/gui/json.js.map +1 -0
- package/dist/gallery.html +7 -5
- package/dist/index.cjs +8 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.node.cjs +8 -4
- package/dist/index.node.js +1 -1
- package/dist/primitives/JsonTree.cjs +8 -0
- package/dist/primitives/JsonTree.d.ts +2 -0
- package/dist/primitives/JsonTree.d.ts.map +1 -0
- package/dist/primitives/JsonTree.js +5 -0
- package/dist/primitives/JsonTree.js.map +1 -0
- package/dist/primitives/Picker.cjs +8 -0
- package/dist/primitives/Picker.d.ts +2 -0
- package/dist/primitives/Picker.d.ts.map +1 -0
- package/dist/primitives/Picker.js +5 -0
- package/dist/primitives/Picker.js.map +1 -0
- package/dist/primitives/checkJson.cjs +8 -0
- package/dist/primitives/checkJson.d.ts +2 -0
- package/dist/primitives/checkJson.d.ts.map +1 -0
- package/dist/primitives/checkJson.js +5 -0
- package/dist/primitives/checkJson.js.map +1 -0
- package/dist/primitives/formatJson.cjs +8 -0
- package/dist/primitives/formatJson.d.ts +2 -0
- package/dist/primitives/formatJson.d.ts.map +1 -0
- package/dist/primitives/formatJson.js +5 -0
- package/dist/primitives/formatJson.js.map +1 -0
- package/dist/styles.css +4 -2
- package/package.json +7 -1
|
@@ -1,26 +1,41 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
/**
|
|
4
|
-
* CodeEditor — a
|
|
5
|
-
* language menu
|
|
6
|
-
*
|
|
4
|
+
* CodeEditor — a CodeMirror 6 editor in a gui frame: a toolbar with the
|
|
5
|
+
* language (a menu, or a label), Format for JSON and Copy; the editor with a
|
|
6
|
+
* line-number gutter; and a footer that reports whether JSON parses and is the
|
|
7
|
+
* handle that resizes the editor.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Height. With no `height` the editor is as tall as its text, from `minHeight`
|
|
10
|
+
* up to `maxHeight`, and scrolls past that. Dragging the footer (or ArrowUp /
|
|
11
|
+
* ArrowDown on it) sets a height of the reader's own, past the cap if they
|
|
12
|
+
* want; a double-click hands the height back to the text. A `height` fixes it,
|
|
13
|
+
* and `'100%'` fills a frame that is itself sized (a flex child).
|
|
13
14
|
*
|
|
14
|
-
* `
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* JSON. `language="json"` colours the syntax and checks the text on every
|
|
16
|
+
* change with `checkJson`: a broken document tints the failing line, marks the
|
|
17
|
+
* failing character and names line, column and reason in the footer. With
|
|
18
|
+
* `allowText`, text that does not open an object or an array is plain text and
|
|
19
|
+
* passes. Format (or Shift-Alt-F) re-indents valid JSON by two spaces. Other
|
|
20
|
+
* languages are edited as plain text: the package carries one grammar.
|
|
21
|
+
*
|
|
22
|
+
* Colour. Every colour is a theme rung over a design token — the ink, the
|
|
23
|
+
* hairline, the selection and the error state — so the editor follows the page
|
|
24
|
+
* into light or dark with nothing to configure. Hanzo is monochrome, so the syntax is ranked
|
|
25
|
+
* by ink and weight, not by hue: property names in full ink, strings one rank
|
|
26
|
+
* down, punctuation at the rank of a hint. Hue is spent only on an error.
|
|
18
27
|
*/
|
|
19
|
-
import { SizableText,
|
|
20
|
-
import { Check, Copy } from '@hanzogui/lucide-icons-2';
|
|
28
|
+
import { SizableText, XStack, YStack } from '@hanzo/gui';
|
|
29
|
+
import { AlignLeft, Check, CircleAlert, CircleCheck, Copy, GripHorizontal, Type } from '@hanzogui/lucide-icons-2';
|
|
30
|
+
import { defaultKeymap, history, historyKeymap, indentWithTab } from '@codemirror/commands';
|
|
31
|
+
import { json } from '@codemirror/lang-json';
|
|
32
|
+
import { HighlightStyle, bracketMatching, indentOnInput, syntaxHighlighting } from '@codemirror/language';
|
|
33
|
+
import { Annotation, Compartment, EditorState, RangeSet, RangeSetBuilder, StateField } from '@codemirror/state';
|
|
34
|
+
import { Decoration, EditorView, GutterMarker, drawSelection, gutterLineClass, highlightActiveLine, highlightActiveLineGutter, keymap, lineNumbers as numbering, placeholder as hint, ViewPlugin, } from '@codemirror/view';
|
|
35
|
+
import { tags } from '@lezer/highlight';
|
|
21
36
|
import * as React from 'react';
|
|
22
37
|
import { Button } from './button.js';
|
|
23
|
-
import {
|
|
38
|
+
import { checkJson, formatJson } from './json.js';
|
|
24
39
|
import { Select, SelectContent, SelectItem, SelectTrigger } from './select.js';
|
|
25
40
|
import { slot } from './slot.js';
|
|
26
41
|
import { toast } from './toaster.js';
|
|
@@ -77,53 +92,332 @@ const LABEL = {
|
|
|
77
92
|
shell: 'Shell',
|
|
78
93
|
plaintext: 'Plain Text',
|
|
79
94
|
};
|
|
80
|
-
/** The two named palettes; `'auto'` paints none of this. */
|
|
81
|
-
const PALETTE = {
|
|
82
|
-
light: { bg: '#ffffff', fg: '#1f2328', border: '#d0d7de', head: '#f6f8fa', gutter: '#8c959f' },
|
|
83
|
-
dark: { bg: '#1e1e1e', fg: '#d4d4d4', border: '#3c3c3c', head: '#252526', gutter: '#858585' },
|
|
84
|
-
};
|
|
85
|
-
/** What Tab inserts. */
|
|
86
|
-
const INDENT = ' ';
|
|
87
95
|
/** Line height as a multiple of the font size. */
|
|
88
|
-
const LEADING = 1.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
96
|
+
const LEADING = 1.6;
|
|
97
|
+
/** How far one ArrowUp / ArrowDown on the footer moves the height. */
|
|
98
|
+
const STEP = 24;
|
|
99
|
+
const MONO = "var(--font-mono, 'Zen Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)";
|
|
100
|
+
/**
|
|
101
|
+
* The editor's surface. Every colour is one of the theme's named rungs — gui emits
|
|
102
|
+
* each as a custom property on the theme class, so it inverts with the page — and
|
|
103
|
+
* those rungs read @hanzo/design's tokens (`--ink` is `--foreground`, `--edge` is
|
|
104
|
+
* `--border`, `--bad` is `--state-error`). The design ladder is NOT read directly:
|
|
105
|
+
* on a host that mounts design's sheet without its light selector, `--text-primary`
|
|
106
|
+
* stays the dark theme's white on a light page.
|
|
107
|
+
*/
|
|
108
|
+
const FRAME = /* @__PURE__ */ EditorView.theme({
|
|
109
|
+
'&': { color: 'var(--ink)', backgroundColor: 'transparent' },
|
|
110
|
+
'&.cm-focused': { outline: 'none' },
|
|
111
|
+
// The scroller fills what the editor is given and no more: grown with its text up to the
|
|
112
|
+
// editor's max-height, then scrolling; stretched to a fixed or dragged height. CodeMirror's
|
|
113
|
+
// own `height: 100%` resolves against an auto-height editor as its min-height, which pinned
|
|
114
|
+
// a growing editor at its floor.
|
|
115
|
+
'.cm-scroller': {
|
|
116
|
+
fontFamily: MONO,
|
|
117
|
+
lineHeight: String(LEADING),
|
|
118
|
+
overflow: 'auto',
|
|
119
|
+
flex: '1 1 auto',
|
|
120
|
+
height: 'auto',
|
|
121
|
+
minHeight: '0',
|
|
122
|
+
},
|
|
123
|
+
'.cm-content': { padding: '8px 0', caretColor: 'var(--ink)' },
|
|
124
|
+
'.cm-line': { padding: '0 12px' },
|
|
125
|
+
'.cm-gutters': {
|
|
126
|
+
backgroundColor: 'transparent',
|
|
127
|
+
color: 'var(--dim)',
|
|
128
|
+
border: 'none',
|
|
129
|
+
borderRight: '1px solid var(--edge)',
|
|
130
|
+
},
|
|
131
|
+
'.cm-lineNumbers .cm-gutterElement': { padding: '0 10px 0 12px', minWidth: '28px' },
|
|
132
|
+
'.cm-activeLine': { backgroundColor: 'var(--panel)' },
|
|
133
|
+
'.cm-activeLineGutter': { backgroundColor: 'transparent', color: 'var(--quiet)' },
|
|
134
|
+
'.cm-cursor, .cm-dropCursor': { borderLeftColor: 'var(--ink)' },
|
|
135
|
+
'.cm-selectionBackground, &.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, ::selection': {
|
|
136
|
+
backgroundColor: 'var(--raised)',
|
|
137
|
+
},
|
|
138
|
+
'.cm-matchingBracket, &.cm-focused .cm-matchingBracket': {
|
|
139
|
+
backgroundColor: 'var(--raised)',
|
|
140
|
+
color: 'inherit',
|
|
141
|
+
outline: 'none',
|
|
142
|
+
},
|
|
143
|
+
'.cm-nonmatchingBracket, &.cm-focused .cm-nonmatchingBracket': { backgroundColor: 'transparent' },
|
|
144
|
+
'.cm-placeholder': { color: 'var(--dim)' },
|
|
145
|
+
'.cm-fault': { backgroundColor: 'var(--state-error-bg, rgb(239 68 68 / .1))' },
|
|
146
|
+
'.cm-gutterElement.cm-fault': { color: 'var(--bad)' },
|
|
147
|
+
'.cm-fault-at': {
|
|
148
|
+
textDecoration: 'underline wavy var(--bad)',
|
|
149
|
+
textDecorationSkipInk: 'none',
|
|
150
|
+
textUnderlineOffset: '3px',
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
/** The syntax, ranked by ink: names in full ink, strings a rank down, punctuation at a hint. */
|
|
154
|
+
const INK = /* @__PURE__ */ HighlightStyle.define([
|
|
155
|
+
{ tag: tags.propertyName, color: 'var(--ink)', fontWeight: '500' },
|
|
156
|
+
{ tag: tags.string, color: 'var(--soft)' },
|
|
157
|
+
{ tag: [tags.number, tags.bool, tags.null], color: 'var(--ink)' },
|
|
158
|
+
{ tag: [tags.punctuation, tags.separator, tags.brace, tags.squareBracket], color: 'var(--dim)' },
|
|
159
|
+
]);
|
|
160
|
+
/** How much deeper than its line a wrapped continuation starts, in characters. */
|
|
161
|
+
const HANG = 2;
|
|
162
|
+
/** A line's own indentation in characters, a tab counted as two. */
|
|
163
|
+
const indentOf = (text) => {
|
|
164
|
+
let n = 0;
|
|
165
|
+
for (const c of text) {
|
|
166
|
+
if (c === ' ')
|
|
167
|
+
n += 1;
|
|
168
|
+
else if (c === '\t')
|
|
169
|
+
n += 2;
|
|
170
|
+
else
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
return n;
|
|
174
|
+
};
|
|
175
|
+
const hangs = new Map();
|
|
176
|
+
const hangFor = (n) => {
|
|
177
|
+
let d = hangs.get(n);
|
|
178
|
+
if (!d) {
|
|
179
|
+
d = Decoration.line({ attributes: { style: `padding-left: calc(${n}ch + 12px); text-indent: -${n}ch` } });
|
|
180
|
+
hangs.set(n, d);
|
|
181
|
+
}
|
|
182
|
+
return d;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Wrapped lines hang under their own text rather than restarting at the margin, so a
|
|
186
|
+
* long string inside nested JSON still reads as belonging to its key. A line's padding
|
|
187
|
+
* is its indentation plus the hang, and a negative text-indent of the same width puts
|
|
188
|
+
* its first row back where it was.
|
|
189
|
+
*/
|
|
190
|
+
const hang = /* @__PURE__ */ ViewPlugin.fromClass(class {
|
|
191
|
+
decorations;
|
|
192
|
+
constructor(view) {
|
|
193
|
+
this.decorations = this.build(view);
|
|
194
|
+
}
|
|
195
|
+
update(u) {
|
|
196
|
+
if (u.docChanged || u.viewportChanged)
|
|
197
|
+
this.decorations = this.build(u.view);
|
|
198
|
+
}
|
|
199
|
+
build(view) {
|
|
200
|
+
const out = new RangeSetBuilder();
|
|
201
|
+
for (const { from, to } of view.visibleRanges) {
|
|
202
|
+
for (let pos = from; pos <= to;) {
|
|
203
|
+
const line = view.state.doc.lineAt(pos);
|
|
204
|
+
out.add(line.from, line.from, hangFor(indentOf(line.text) + HANG));
|
|
205
|
+
pos = line.to + 1;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return out.finish();
|
|
209
|
+
}
|
|
210
|
+
}, { decorations: (v) => v.decorations });
|
|
211
|
+
/** Marks a programmatic edit, so a caller's own `value` is never echoed back to `onChange`. */
|
|
212
|
+
const External = /* @__PURE__ */ Annotation.define();
|
|
213
|
+
class Fault extends GutterMarker {
|
|
214
|
+
elementClass = 'cm-fault';
|
|
215
|
+
}
|
|
216
|
+
const FAULT_GUTTER = /* @__PURE__ */ new Fault();
|
|
217
|
+
const FAULT_LINE = /* @__PURE__ */ Decoration.line({ class: 'cm-fault' });
|
|
218
|
+
const FAULT_AT = /* @__PURE__ */ Decoration.mark({ class: 'cm-fault-at' });
|
|
219
|
+
function judge(state, text) {
|
|
220
|
+
const check = checkJson(state.doc.toString(), { text });
|
|
221
|
+
if (check.kind !== 'error')
|
|
222
|
+
return { check, marks: Decoration.none, gutter: RangeSet.empty };
|
|
223
|
+
const at = Math.min(check.at, state.doc.length);
|
|
224
|
+
const line = state.doc.lineAt(at);
|
|
225
|
+
const end = Math.min(at + 1, line.to);
|
|
226
|
+
const ranges = [FAULT_LINE.range(line.from), ...(end > at ? [FAULT_AT.range(at, end)] : [])];
|
|
227
|
+
return { check, marks: Decoration.set(ranges, true), gutter: RangeSet.of([FAULT_GUTTER.range(line.from)]) };
|
|
228
|
+
}
|
|
229
|
+
/** The JSON verdict as editor state: recomputed on every edit, drawn as decorations. */
|
|
230
|
+
const verdict = (text) => StateField.define({
|
|
231
|
+
create: (state) => judge(state, text),
|
|
232
|
+
update: (value, tr) => (tr.docChanged ? judge(tr.state, text) : value),
|
|
233
|
+
provide: (field) => [
|
|
234
|
+
EditorView.decorations.from(field, (v) => v.marks),
|
|
235
|
+
gutterLineClass.from(field, (v) => v.gutter),
|
|
236
|
+
],
|
|
237
|
+
});
|
|
238
|
+
const px = (v) => (typeof v === 'number' ? `${v}px` : v);
|
|
239
|
+
export function CodeEditor({ value, defaultValue = '', language = 'javascript', height, minHeight = 96, maxHeight = 480, resizable = height === undefined, allowText = false, onChange, onCheck, onMount, readOnly = false, lineNumbers = true, wordWrap = 'on', fontSize = 14, placeholder, showCopyButton = true, showFormatButton, showLanguageSelector = true, availableLanguages = LANGUAGES, label = 'Code', ...props }) {
|
|
92
240
|
const [selected, setSelected] = React.useState(language);
|
|
241
|
+
const [text, setText] = React.useState(value ?? defaultValue);
|
|
242
|
+
const [check, setCheck] = React.useState(null);
|
|
93
243
|
const [copied, setCopied] = React.useState(false);
|
|
94
|
-
const [
|
|
95
|
-
const
|
|
244
|
+
const [dragged, setDragged] = React.useState(null);
|
|
245
|
+
const host = React.useRef(null);
|
|
246
|
+
const grip = React.useRef(null);
|
|
247
|
+
const view = React.useRef(null);
|
|
96
248
|
const timer = React.useRef(undefined);
|
|
97
|
-
React.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
249
|
+
const listeners = React.useRef({ onChange, onCheck });
|
|
250
|
+
listeners.current = { onChange, onCheck };
|
|
251
|
+
const compartments = React.useMemo(() => ({ language: new Compartment(), gutter: new Compartment(), wrap: new Compartment(), edit: new Compartment() }), []);
|
|
252
|
+
const isJson = selected === 'json';
|
|
253
|
+
const field = React.useMemo(() => verdict(allowText), [allowText]);
|
|
254
|
+
const judged = React.useRef({ field });
|
|
255
|
+
judged.current.field = field;
|
|
256
|
+
const grammar = () => (isJson ? [json(), field] : []);
|
|
257
|
+
const gutter = () => (lineNumbers ? [numbering(), highlightActiveLineGutter()] : []);
|
|
258
|
+
const wrap = () => (wordWrap === 'off' ? [] : [EditorView.lineWrapping, hang]);
|
|
259
|
+
const edit = () => [EditorState.readOnly.of(readOnly), EditorView.editable.of(!readOnly)];
|
|
260
|
+
/** Report the JSON verdict when it changed (an edit, or a new grammar). */
|
|
261
|
+
const report = (state) => {
|
|
262
|
+
const v = state.field(judged.current.field, false);
|
|
263
|
+
if (v === judged.current.seen)
|
|
264
|
+
return;
|
|
265
|
+
judged.current.seen = v;
|
|
266
|
+
setCheck(v ? v.check : null);
|
|
267
|
+
if (v)
|
|
268
|
+
listeners.current.onCheck?.(v.check);
|
|
269
|
+
};
|
|
270
|
+
const format = React.useCallback(() => {
|
|
271
|
+
const v = view.current;
|
|
272
|
+
if (!v || v.state.readOnly)
|
|
273
|
+
return false;
|
|
274
|
+
const current = v.state.doc.toString();
|
|
275
|
+
const next = formatJson(current);
|
|
276
|
+
if (next === null || next === current)
|
|
277
|
+
return false;
|
|
278
|
+
v.dispatch({ changes: { from: 0, to: current.length, insert: next } });
|
|
279
|
+
return true;
|
|
101
280
|
}, []);
|
|
102
|
-
// Bound directly rather than through the gui field's `onScroll` prop: native
|
|
103
|
-
// `scroll` does not bubble, and a listener attached this way fires however
|
|
104
|
-
// the offset changed — a real drag or a test stating it outright.
|
|
105
281
|
React.useEffect(() => {
|
|
106
|
-
const
|
|
107
|
-
if (!
|
|
282
|
+
const parent = host.current;
|
|
283
|
+
if (!parent)
|
|
108
284
|
return;
|
|
109
|
-
const
|
|
110
|
-
|
|
111
|
-
|
|
285
|
+
const listen = EditorView.updateListener.of((update) => {
|
|
286
|
+
if (update.docChanged && !update.transactions.some((tr) => tr.annotation(External))) {
|
|
287
|
+
const next = update.state.doc.toString();
|
|
288
|
+
setText(next);
|
|
289
|
+
listeners.current.onChange?.(next);
|
|
290
|
+
}
|
|
291
|
+
report(update.state);
|
|
292
|
+
});
|
|
293
|
+
const editor = new EditorView({
|
|
294
|
+
parent,
|
|
295
|
+
state: EditorState.create({
|
|
296
|
+
doc: value ?? defaultValue,
|
|
297
|
+
extensions: [
|
|
298
|
+
compartments.gutter.of(gutter()),
|
|
299
|
+
history(),
|
|
300
|
+
drawSelection(),
|
|
301
|
+
indentOnInput(),
|
|
302
|
+
bracketMatching(),
|
|
303
|
+
highlightActiveLine(),
|
|
304
|
+
syntaxHighlighting(INK),
|
|
305
|
+
keymap.of([
|
|
306
|
+
{ key: 'Shift-Alt-f', run: format },
|
|
307
|
+
indentWithTab,
|
|
308
|
+
...defaultKeymap,
|
|
309
|
+
...historyKeymap,
|
|
310
|
+
{
|
|
311
|
+
key: 'Escape',
|
|
312
|
+
run: (v) => {
|
|
313
|
+
v.contentDOM.blur();
|
|
314
|
+
return true;
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
]),
|
|
318
|
+
compartments.language.of(grammar()),
|
|
319
|
+
compartments.wrap.of(wrap()),
|
|
320
|
+
compartments.edit.of(edit()),
|
|
321
|
+
placeholder ? hint(placeholder) : [],
|
|
322
|
+
EditorView.contentAttributes.of({ 'aria-label': label, 'data-slot': 'code-editor-content' }),
|
|
323
|
+
FRAME,
|
|
324
|
+
listen,
|
|
325
|
+
],
|
|
326
|
+
}),
|
|
327
|
+
});
|
|
328
|
+
view.current = editor;
|
|
329
|
+
report(editor.state);
|
|
330
|
+
onMount?.(editor);
|
|
331
|
+
return () => {
|
|
332
|
+
editor.destroy();
|
|
333
|
+
view.current = null;
|
|
334
|
+
clearTimeout(timer.current);
|
|
335
|
+
};
|
|
112
336
|
}, []);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
337
|
+
// Props that reshape the editor reach it as a reconfiguration, not a remount,
|
|
338
|
+
// so the caret, the selection and the undo history survive.
|
|
339
|
+
React.useEffect(() => {
|
|
340
|
+
view.current?.dispatch({
|
|
341
|
+
effects: [
|
|
342
|
+
compartments.language.reconfigure(grammar()),
|
|
343
|
+
compartments.gutter.reconfigure(gutter()),
|
|
344
|
+
compartments.wrap.reconfigure(wrap()),
|
|
345
|
+
compartments.edit.reconfigure(edit()),
|
|
346
|
+
],
|
|
347
|
+
});
|
|
348
|
+
}, [isJson, field, lineNumbers, wordWrap, readOnly]);
|
|
349
|
+
// A controlled value that moved out from under the editor replaces the text.
|
|
350
|
+
React.useEffect(() => {
|
|
351
|
+
const v = view.current;
|
|
352
|
+
if (!v || value === undefined)
|
|
122
353
|
return;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
354
|
+
const current = v.state.doc.toString();
|
|
355
|
+
if (value === current)
|
|
356
|
+
return;
|
|
357
|
+
v.dispatch({ changes: { from: 0, to: current.length, insert: value }, annotations: External.of(true) });
|
|
358
|
+
setText(value);
|
|
359
|
+
}, [value]);
|
|
360
|
+
React.useEffect(() => {
|
|
361
|
+
const dom = view.current?.dom;
|
|
362
|
+
if (!dom)
|
|
363
|
+
return;
|
|
364
|
+
dom.style.fontSize = `${fontSize}px`;
|
|
365
|
+
const fixed = dragged !== null ? `${dragged}px` : height !== undefined ? px(height) : '';
|
|
366
|
+
dom.style.height = fixed;
|
|
367
|
+
dom.style.minHeight = fixed ? '' : `${minHeight}px`;
|
|
368
|
+
dom.style.maxHeight = fixed ? '' : `${maxHeight}px`;
|
|
369
|
+
view.current?.requestMeasure();
|
|
370
|
+
}, [dragged, height, minHeight, maxHeight, fontSize]);
|
|
371
|
+
React.useEffect(() => {
|
|
372
|
+
const el = grip.current;
|
|
373
|
+
if (!el || !resizable)
|
|
374
|
+
return;
|
|
375
|
+
let pointer = -1;
|
|
376
|
+
let startY = 0;
|
|
377
|
+
let startH = 0;
|
|
378
|
+
const current = () => view.current?.dom.getBoundingClientRect().height ?? minHeight;
|
|
379
|
+
const down = (e) => {
|
|
380
|
+
if (e.button !== 0)
|
|
381
|
+
return;
|
|
382
|
+
e.preventDefault();
|
|
383
|
+
pointer = e.pointerId;
|
|
384
|
+
startY = e.clientY;
|
|
385
|
+
startH = current();
|
|
386
|
+
el.setPointerCapture?.(pointer);
|
|
387
|
+
};
|
|
388
|
+
const move = (e) => {
|
|
389
|
+
if (e.pointerId !== pointer)
|
|
390
|
+
return;
|
|
391
|
+
setDragged(Math.max(minHeight, Math.round(startH + e.clientY - startY)));
|
|
392
|
+
};
|
|
393
|
+
const up = (e) => {
|
|
394
|
+
if (e.pointerId !== pointer)
|
|
395
|
+
return;
|
|
396
|
+
el.releasePointerCapture?.(pointer);
|
|
397
|
+
pointer = -1;
|
|
398
|
+
};
|
|
399
|
+
const key = (e) => {
|
|
400
|
+
if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown')
|
|
401
|
+
return;
|
|
402
|
+
e.preventDefault();
|
|
403
|
+
setDragged(Math.max(minHeight, Math.round(current() + (e.key === 'ArrowDown' ? STEP : -STEP))));
|
|
404
|
+
};
|
|
405
|
+
const reset = () => setDragged(null);
|
|
406
|
+
el.addEventListener('pointerdown', down);
|
|
407
|
+
el.addEventListener('pointermove', move);
|
|
408
|
+
el.addEventListener('pointerup', up);
|
|
409
|
+
el.addEventListener('pointercancel', up);
|
|
410
|
+
el.addEventListener('keydown', key);
|
|
411
|
+
el.addEventListener('dblclick', reset);
|
|
412
|
+
return () => {
|
|
413
|
+
el.removeEventListener('pointerdown', down);
|
|
414
|
+
el.removeEventListener('pointermove', move);
|
|
415
|
+
el.removeEventListener('pointerup', up);
|
|
416
|
+
el.removeEventListener('pointercancel', up);
|
|
417
|
+
el.removeEventListener('keydown', key);
|
|
418
|
+
el.removeEventListener('dblclick', reset);
|
|
419
|
+
};
|
|
420
|
+
}, [resizable, minHeight]);
|
|
127
421
|
const copy = React.useCallback(async () => {
|
|
128
422
|
try {
|
|
129
423
|
await navigator.clipboard.writeText(text);
|
|
@@ -136,25 +430,34 @@ export function CodeEditor({ value, defaultValue = '', language = 'javascript',
|
|
|
136
430
|
toast.error('Failed to copy code');
|
|
137
431
|
}
|
|
138
432
|
}, [text]);
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
433
|
+
// A percentage height fills a frame that is itself sized; the body has to flex for it to
|
|
434
|
+
// resolve. Any other height is the editor's own, so the body is just as tall as the editor.
|
|
435
|
+
const fills = typeof height === 'string' && height.endsWith('%');
|
|
436
|
+
const formattable = showFormatButton ?? (isJson && !readOnly);
|
|
437
|
+
const toolbar = showLanguageSelector || showCopyButton || formattable;
|
|
438
|
+
const footer = resizable || (isJson && check !== null);
|
|
439
|
+
return (_jsxs(YStack, { ...slot('code-editor'), borderWidth: 1, borderColor: "$borderColor", rounded: "$3", overflow: "hidden", bg: "$background", focusWithinStyle: { borderColor: '$outlineColor' }, ...props, children: [toolbar && (_jsxs(XStack, { ...slot('code-editor-toolbar'), items: "center", justify: "space-between", flexWrap: "wrap", gap: "$2", borderBottomWidth: 1, borderColor: "$borderColor", bg: "$panel", px: "$2", py: "$1", children: [showLanguageSelector ? (_jsxs(Select, { value: selected, onValueChange: setSelected, children: [_jsx(SelectTrigger, { ...slot('code-editor-language-trigger'), width: "auto", minHeight: 32, borderWidth: 0, bg: "transparent", gap: "$1.5", px: "$2", children: _jsx(SizableText, { size: "$1", fontFamily: "$mono", children: LABEL[selected] ?? selected }) }), _jsx(SelectContent, { ...slot('code-editor-language-content'), children: availableLanguages.map((lang) => (_jsx(SelectItem, { value: lang, children: LABEL[lang] ?? lang }, lang))) })] })) : (_jsx(SizableText, { ...slot('code-editor-language'), size: "$1", fontFamily: "$mono", color: "$soft", px: "$2", children: LABEL[selected] ?? selected })), _jsxs(XStack, { items: "center", justify: "flex-end", flexWrap: "wrap", gap: "$1", shrink: 1, minW: 0, children: [formattable && (_jsxs(Button, { ...slot('code-editor-format-button'), variant: "ghost", size: "sm", disabled: check?.kind !== 'json', onClick: format, children: [_jsx(AlignLeft, { size: 14 }), "Format"] })), showCopyButton && (_jsxs(Button, { ...slot('code-editor-copy-button'), variant: "ghost", size: "sm", disabled: !text, onClick: copy, children: [copied ? _jsx(Check, { size: 14 }) : _jsx(Copy, { size: 14 }), copied ? 'Copied!' : 'Copy'] }))] })] })), _jsx(YStack, { ref: host, ...slot('code-editor-body'), ...(fills && { flex: 1, minH: 0 }) }), footer && (_jsxs(XStack, { ref: grip, ...slot('code-editor-footer'), ...(resizable &&
|
|
440
|
+
{
|
|
441
|
+
role: 'separator',
|
|
442
|
+
'aria-orientation': 'horizontal',
|
|
443
|
+
'aria-label': `Resize ${label}`,
|
|
444
|
+
'aria-valuemin': minHeight,
|
|
445
|
+
'aria-valuenow': dragged ?? undefined,
|
|
446
|
+
tabIndex: 0,
|
|
447
|
+
}), cursor: resizable ? 'row-resize' : undefined, focusVisibleStyle: { bg: '$hover' }, items: "center", justify: "space-between", gap: "$2", minH: 28, px: "$3", py: "$1", borderTopWidth: 1, borderColor: "$borderColor", bg: "$panel", select: "none", children: [_jsx(Status, { check: isJson ? check : null }), resizable && _jsx(GripHorizontal, { size: 14, color: "$soft" })] }))] }));
|
|
448
|
+
}
|
|
449
|
+
/** The footer's JSON verdict, announced politely when it changes. */
|
|
450
|
+
function Status({ check }) {
|
|
451
|
+
const bad = check?.kind === 'error';
|
|
452
|
+
const words = check === null
|
|
453
|
+
? ''
|
|
454
|
+
: check.kind === 'error'
|
|
455
|
+
? `Line ${check.line}, column ${check.column}: ${check.message}`
|
|
456
|
+
: check.kind === 'text'
|
|
457
|
+
? 'Plain text'
|
|
458
|
+
: check.kind === 'empty'
|
|
459
|
+
? 'Empty'
|
|
460
|
+
: 'Valid JSON';
|
|
461
|
+
return (_jsxs(XStack, { ...slot('code-editor-status'), "aria-live": "polite", items: "center", gap: "$1.5", flex: 1, minW: 0, children: [bad ? (_jsx(CircleAlert, { size: 14, color: "$bad" })) : check?.kind === 'text' ? (_jsx(Type, { size: 14, color: "$soft" })) : check?.kind === 'json' ? (_jsx(CircleCheck, { size: 14, color: "$soft" })) : null, _jsx(SizableText, { ...slot('code-editor-status-text'), "data-kind": check?.kind, size: "$1", fontFamily: "$mono", color: bad ? '$bad' : '$soft', numberOfLines: 2, children: words })] }));
|
|
159
462
|
}
|
|
160
463
|
//# sourceMappingURL=code-editor.js.map
|
|
@@ -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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"}
|
|
@@ -20,10 +20,10 @@ exports.ContextMenuCheckboxItem = exports.ContextMenuItem = exports.ContextMenuC
|
|
|
20
20
|
exports.RadioGroup = exports.Progress = exports.PopoverClose = exports.PopoverAnchor = exports.PopoverContent = exports.PopoverTrigger = exports.Popover = exports.Label = exports.Input = exports.ChoiceGroup = exports.ChoiceCard = exports.HoverCardContent = exports.HoverCardTrigger = exports.HoverCard = exports.Glass = exports.DropdownMenuRadioGroup = exports.DropdownMenuSubTrigger = exports.DropdownMenuSubContent = exports.DropdownMenuSub = exports.DropdownMenuPortal = exports.DropdownMenuGroup = exports.DropdownMenuShortcut = exports.DropdownMenuSeparator = exports.DropdownMenuLabel = exports.DropdownMenuRadioItem = exports.DropdownMenuCheckboxItem = exports.DropdownMenuItem = exports.DropdownMenuContent = exports.DropdownMenuTrigger = exports.DropdownMenu = exports.DialogTrigger = exports.DialogTitle = exports.DialogPortal = exports.DialogOverlay = exports.DialogHeader = exports.DialogFooter = exports.DialogDescription = exports.DialogContent = exports.DialogClose = exports.Dialog = exports.ContextMenuRadioGroup = exports.ContextMenuSubTrigger = exports.ContextMenuSubContent = exports.ContextMenuSub = exports.ContextMenuPortal = exports.ContextMenuGroup = exports.ContextMenuShortcut = exports.ContextMenuSeparator = exports.ContextMenuLabel = exports.ContextMenuRadioItem = void 0;
|
|
21
21
|
exports.TabsContent = exports.TabsTrigger = exports.TabsList = exports.Tabs = exports.Switch = exports.Spinner = exports.Stepper = exports.Slider = exports.Fill = exports.Screen = exports.Band = exports.SelectScrollDownButton = exports.SelectScrollUpButton = exports.SelectSeparator = exports.SelectItem = exports.SelectLabel = exports.SelectContent = exports.SelectTrigger = exports.SelectValue = exports.SelectGroup = exports.Select = exports.Picker = exports.ScrollBar = exports.ScrollArea = exports.Text = exports.View = exports.ScrollView = exports.Spacer = exports.Separator = exports.Image = exports.Anchor = exports.Em = exports.Strong = exports.Span = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Heading = exports.Paragraph = exports.SizableText = exports.ZStack = exports.YStack = exports.XStack = exports.ResizableHandle = exports.ResizablePanel = exports.ResizablePanelGroup = exports.RadioGroupItem = void 0;
|
|
22
22
|
exports.BreadcrumbSeparator = exports.BreadcrumbPage = exports.BreadcrumbList = exports.BreadcrumbLink = exports.BreadcrumbItem = exports.BreadcrumbEllipsis = exports.Breadcrumb = exports.NavItems = exports.fit = exports.MediaStack = exports.Skeleton = exports.SheetTrigger = exports.SheetTitle = exports.SheetPortal = exports.SheetOverlay = exports.SheetHeader = exports.SheetFooter = exports.SheetDescription = exports.SheetContent = exports.SheetClose = exports.Sheet = exports.CarouselNext = exports.CarouselPrevious = exports.CarouselItem = exports.CarouselContent = exports.Carousel = exports.YouTubeEmbed = exports.VideoPlayer = exports.LinkElement = exports.MDXLink = exports.useLink = exports.Link = exports.ApplyTypography = exports.useFormField = exports.FormMessage = exports.FormDescription = exports.FormControl = exports.FormLabel = exports.FormItem = exports.FormField = exports.Form = exports.TooltipProvider = exports.TooltipContent = exports.TooltipTrigger = exports.Tooltip = exports.ToggleGroupItem = exports.ToggleGroup = exports.toast = exports.Toaster = exports.Textarea = void 0;
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.NavigationBar = exports.MediaPlayer = exports.Timeline = exports.Terminal = exports.Toggle = exports.Ticker = exports.TechnicalAnalysis = exports.Tags = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.StockMarket = exports.Status = exports.SymbolInfo = exports.StockScreener = exports.Snippet = exports.InlineCode = exports.encodeQr = exports.QRCode = exports.StarsScrollingWheel = exports.Safari = exports.RelativeTime = exports.PinList = exports.ParticlesBackground = exports.pillVariants = exports.Pill = exports.Particles = exports.PixelImage = exports.PositionsList = exports.OrderEntry = exports.PaginationPrevious = exports.PaginationNext = void 0;
|
|
23
|
+
exports.CodeTabs = exports.Comparison = exports.CreditCard = exports.CompanyProfile = exports.CodeBlock = exports.JsonTree = exports.formatJson = exports.checkJson = exports.CodeEditor = exports.Calendar = exports.Choicebox = exports.Banner = exports.AppleHelloEffect = exports.gradientPresets = exports.AppleCardsCarousel = exports.AnimatedCursor = exports.AnimatedTestimonials = exports.AnimatedBeam = exports.AnimatedTooltip = exports.Announcement = exports.Marquee3DPreset = exports.Marquee3DFloating = exports.Marquee3D = exports.AlertTitle = exports.AlertDescription = exports.Alert = exports.Pin3D = exports.Android = exports.AdvancedChart = exports.Card3DTitle = exports.Card3DHeader = exports.Card3DFooter = exports.Card3DDescription = exports.Card3DContent = exports.Card3D = exports.DrawerTrigger = exports.DrawerHandle = exports.DrawerContent = exports.Drawer = exports.NavigationMenuTrigger = exports.NavigationMenuList = exports.NavigationMenuLink = exports.NavigationMenuItem = exports.NavigationMenuContent = exports.NavigationMenu = exports.InputOTPSlot = exports.InputOTPSeparator = exports.InputOTPGroup = exports.InputOTP = exports.StepIndicator = void 0;
|
|
24
|
+
exports.Glimpse = exports.ImageZoom = exports.IPhone15Pro = exports.GridPatternPresets = exports.GridPattern = exports.InteractiveGridPattern = exports.ImageCrop = exports.FieldTitle = exports.FieldSet = exports.FieldSeparator = exports.FieldLegend = exports.FieldLabel = exports.FieldGroup = exports.FieldError = exports.FieldDescription = exports.FieldContent = exports.Field = exports.Financials = exports.Gantt = exports.ForexMarket = exports.ForexScreener = exports.EmptyTitle = exports.EmptyMedia = exports.EmptyHeader = exports.EmptyDescription = exports.EmptyContent = exports.Empty = exports.Spotlight = exports.DockSeparator = exports.DockItem = exports.Dock = exports.Editor = exports.Dropzone = exports.DesktopWindowControls = exports.DesktopWindow = exports.DialogStack = exports.DatePicker = exports.DataTableColumnHeader = exports.DataTable = exports.useWindowManager = exports.useOverlayManager = exports.useKeyboardShortcuts = exports.useDesktopSettings = exports.Desktop = exports.MarketOverview = exports.Cursor = exports.CryptoScreener = exports.ColorPicker = exports.ComboboxWithIcons = exports.Combobox = void 0;
|
|
25
|
+
exports.PaginationContent = exports.Pagination = exports.OrdersHistory = exports.MotionHighlight = exports.MinimalTiptap = exports.NewsTimeline = exports.MenubarTrigger = exports.MenubarSubTrigger = exports.MenubarSubContent = exports.MenubarSub = exports.MenubarShortcut = exports.MenubarSeparator = exports.MenubarRadioItem = exports.MenubarRadioGroup = exports.MenubarPortal = exports.MenubarMenu = exports.MenubarLabel = exports.MenubarItem = exports.MenubarGroup = exports.MenubarContent = exports.MenubarCheckboxItem = exports.Menubar = exports.MessageDock = exports.MiniCalendar = exports.Marquee = exports.MenuDock = exports.Magnetic = exports.KanbanBoard = exports.LimelightNav = exports.ItemTitle = exports.ItemSeparator = exports.ItemMedia = exports.ItemHeader = exports.ItemGroup = exports.ItemFooter = exports.ItemDescription = exports.ItemContent = exports.ItemActions = exports.Item = exports.KbdGroup = exports.Kbd = exports.MacosDockItem = exports.MacosDock = exports.ListItem = exports.List = exports.GlimpseTrigger = exports.GlimpseTitle = exports.GlimpseImage = exports.GlimpseDescription = exports.GlimpseContent = void 0;
|
|
26
|
+
exports.NavigationBar = exports.MediaPlayer = exports.Timeline = exports.Terminal = exports.Toggle = exports.Ticker = exports.TechnicalAnalysis = exports.Tags = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.StockMarket = exports.Status = exports.SymbolInfo = exports.StockScreener = exports.Snippet = exports.InlineCode = exports.encodeQr = exports.QRCode = exports.StarsScrollingWheel = exports.Safari = exports.RelativeTime = exports.PinList = exports.ParticlesBackground = exports.pillVariants = exports.Pill = exports.Particles = exports.PixelImage = exports.PositionsList = exports.OrderEntry = exports.PaginationPrevious = exports.PaginationNext = exports.PaginationLink = exports.PaginationItem = exports.PaginationEllipsis = void 0;
|
|
27
27
|
var accordion_1 = require("./accordion.cjs");
|
|
28
28
|
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return accordion_1.Accordion; } });
|
|
29
29
|
Object.defineProperty(exports, "AccordionItem", { enumerable: true, get: function () { return accordion_1.AccordionItem; } });
|
|
@@ -344,6 +344,11 @@ var calendar_1 = require("./calendar.cjs");
|
|
|
344
344
|
Object.defineProperty(exports, "Calendar", { enumerable: true, get: function () { return calendar_1.Calendar; } });
|
|
345
345
|
var code_editor_1 = require("./code-editor.cjs");
|
|
346
346
|
Object.defineProperty(exports, "CodeEditor", { enumerable: true, get: function () { return code_editor_1.CodeEditor; } });
|
|
347
|
+
var json_1 = require("./json.cjs");
|
|
348
|
+
Object.defineProperty(exports, "checkJson", { enumerable: true, get: function () { return json_1.checkJson; } });
|
|
349
|
+
Object.defineProperty(exports, "formatJson", { enumerable: true, get: function () { return json_1.formatJson; } });
|
|
350
|
+
var json_tree_1 = require("./json-tree.cjs");
|
|
351
|
+
Object.defineProperty(exports, "JsonTree", { enumerable: true, get: function () { return json_tree_1.JsonTree; } });
|
|
347
352
|
var code_block_1 = require("./code-block.cjs");
|
|
348
353
|
Object.defineProperty(exports, "CodeBlock", { enumerable: true, get: function () { return code_block_1.CodeBlock; } });
|
|
349
354
|
var company_profile_1 = require("./company-profile.cjs");
|
|
@@ -66,7 +66,9 @@ export { AppleHelloEffect, type AppleHelloEffectProps } from './apple-hello-effe
|
|
|
66
66
|
export { Banner, type BannerProps, type BannerVariant } from './banner.js';
|
|
67
67
|
export { Choicebox, type ChoiceboxOption, type ChoiceboxProps } from './choicebox.js';
|
|
68
68
|
export { Calendar, type CalendarMultipleProps, type CalendarProps, type CalendarRange, type CalendarRangeProps, type CalendarSingleProps } from './calendar.js';
|
|
69
|
-
export { CodeEditor, type CodeEditorProps, type
|
|
69
|
+
export { CodeEditor, type CodeEditorProps, type CodeEditorWordWrap } from './code-editor.js';
|
|
70
|
+
export { checkJson, formatJson, type JsonCheck, type JsonCheckOptions } from './json.js';
|
|
71
|
+
export { JsonTree, type JsonTreeProps } from './json-tree.js';
|
|
70
72
|
export { CodeBlock, type CodeBlockDiff, type CodeBlockProps, type CodeBlockSize, type CodeBlockTheme } from './code-block.js';
|
|
71
73
|
export { CompanyProfile, type CompanyProfileProps, type CompanyProfileTheme } from './company-profile.js';
|
|
72
74
|
export { CreditCard, type CreditCardProps, type CreditCardVariant } from './credit-card.js';
|