panelui-native 0.78.0 → 0.79.0
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/lib/module/components/map/index.js +63 -39
- package/lib/module/components/map/index.js.map +1 -1
- package/lib/module/components/map/map-children.js +54 -0
- package/lib/module/components/map/map-children.js.map +1 -0
- package/lib/module/components/map/maplibre.js +31 -3
- package/lib/module/components/map/maplibre.js.map +1 -1
- package/lib/module/components/markdown-editor/index.js +288 -34
- package/lib/module/components/markdown-editor/index.js.map +1 -1
- package/lib/module/components/markdown-editor/markdown-transforms.js +272 -9
- package/lib/module/components/markdown-editor/markdown-transforms.js.map +1 -1
- package/lib/module/components/marquee/index.js +119 -46
- package/lib/module/components/marquee/index.js.map +1 -1
- package/lib/module/components/panelside/index.js +162 -34
- package/lib/module/components/panelside/index.js.map +1 -1
- package/lib/module/components/progress-button/index.js +279 -52
- package/lib/module/components/progress-button/index.js.map +1 -1
- package/lib/module/components/progress-button/progress-button-hold.js +40 -6
- package/lib/module/components/progress-button/progress-button-hold.js.map +1 -1
- package/lib/module/components/theme-selector/index.js +239 -0
- package/lib/module/components/theme-selector/index.js.map +1 -0
- package/lib/module/components/theme-selector/theme-preview.js +320 -0
- package/lib/module/components/theme-selector/theme-preview.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/map/index.d.ts +8 -4
- package/lib/typescript/src/components/map/index.d.ts.map +1 -1
- package/lib/typescript/src/components/map/map-children.d.ts +41 -0
- package/lib/typescript/src/components/map/map-children.d.ts.map +1 -0
- package/lib/typescript/src/components/map/maplibre.d.ts +8 -4
- package/lib/typescript/src/components/map/maplibre.d.ts.map +1 -1
- package/lib/typescript/src/components/markdown-editor/index.d.ts +64 -5
- package/lib/typescript/src/components/markdown-editor/index.d.ts.map +1 -1
- package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts +33 -5
- package/lib/typescript/src/components/markdown-editor/markdown-transforms.d.ts.map +1 -1
- package/lib/typescript/src/components/marquee/index.d.ts.map +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts +79 -4
- package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
- package/lib/typescript/src/components/progress-button/index.d.ts +29 -13
- package/lib/typescript/src/components/progress-button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts +26 -6
- package/lib/typescript/src/components/progress-button/progress-button-hold.d.ts.map +1 -1
- package/lib/typescript/src/components/theme-selector/index.d.ts +107 -0
- package/lib/typescript/src/components/theme-selector/index.d.ts.map +1 -0
- package/lib/typescript/src/components/theme-selector/theme-preview.d.ts +32 -0
- package/lib/typescript/src/components/theme-selector/theme-preview.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +4 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/map/index.tsx +63 -36
- package/src/components/map/map-children.ts +66 -0
- package/src/components/map/maplibre.ts +32 -4
- package/src/components/markdown-editor/index.tsx +413 -35
- package/src/components/markdown-editor/markdown-transforms.ts +274 -10
- package/src/components/marquee/index.tsx +128 -55
- package/src/components/panelside/index.tsx +179 -40
- package/src/components/progress-button/index.tsx +264 -45
- package/src/components/progress-button/progress-button-hold.ts +37 -6
- package/src/components/theme-selector/index.tsx +281 -0
- package/src/components/theme-selector/theme-preview.tsx +205 -0
- package/src/index.ts +15 -0
|
@@ -43,17 +43,17 @@
|
|
|
43
43
|
*
|
|
44
44
|
* Works controlled (`value` + `onValueChange`) or uncontrolled (`defaultValue`).
|
|
45
45
|
*/
|
|
46
|
-
import { createContext, forwardRef, useCallback, useContext, useMemo, useRef, useState } from 'react';
|
|
47
|
-
import { View } from 'react-native';
|
|
46
|
+
import { Fragment, createContext, forwardRef, useCallback, useContext, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
47
|
+
import { Pressable, ScrollView, View } from 'react-native';
|
|
48
48
|
import { tv } from 'tailwind-variants';
|
|
49
|
-
import { BoldIcon, CodeIcon, EyeIcon, HeadingIcon, ItalicIcon, LinkIcon, ListIcon, ListOrderedIcon, PencilIcon, QuoteIcon } from "../../icons/index.js";
|
|
49
|
+
import { BoldIcon, CodeIcon, EyeIcon, HeadingIcon, ImageIcon, ItalicIcon, LinkIcon, ListIcon, ListOrderedIcon, PencilIcon, QuoteIcon } from "../../icons/index.js";
|
|
50
50
|
import { Text } from "../../primitives/text.js";
|
|
51
51
|
import { cn } from "../../utils/cn.js";
|
|
52
52
|
import { Button } from "../button/index.js";
|
|
53
53
|
import { ButtonGroup } from "../button-group/index.js";
|
|
54
54
|
import { Response } from "../response/index.js";
|
|
55
55
|
import { Textarea } from "../textarea/index.js";
|
|
56
|
-
import { insertLink, toggleFence, toggleLinePrefix, toggleOrderedList, toggleWrap } from "./markdown-transforms.js";
|
|
56
|
+
import { continueList, hasFence, hasLinePrefix, hasOrderedList, hasWrap, insertImage, insertLink, toggleFence, toggleLinePrefix, toggleOrderedList, toggleWrap } from "./markdown-transforms.js";
|
|
57
57
|
|
|
58
58
|
/** Which pane the editor is showing. */
|
|
59
59
|
|
|
@@ -62,6 +62,33 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
62
62
|
/** The actions a toolbar shows when it is not told which to show. */
|
|
63
63
|
const DEFAULT_ACTIONS = ['bold', 'italic', 'heading', 'bulletList', 'orderedList', 'quote', 'code', 'link'];
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* The same actions in the capsule, grouped.
|
|
67
|
+
*
|
|
68
|
+
* Eight rather than nine: the capsule is a fixed row of targets with hairlines
|
|
69
|
+
* between its groups, and `quote` is the one a writer reaches for least. It is
|
|
70
|
+
* still available — pass `actions` and it appears in whatever grouping the
|
|
71
|
+
* families below produce.
|
|
72
|
+
*/
|
|
73
|
+
const DEFAULT_PILL_ACTIONS = ['bold', 'italic', 'heading', 'link', 'image', 'orderedList', 'bulletList', 'code'];
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Which family each action belongs to, which is what the capsule's hairlines
|
|
77
|
+
* separate: what the words look like, what is being put into the document, and
|
|
78
|
+
* what shape the block is.
|
|
79
|
+
*/
|
|
80
|
+
const FAMILY = {
|
|
81
|
+
bold: 'inline',
|
|
82
|
+
italic: 'inline',
|
|
83
|
+
heading: 'inline',
|
|
84
|
+
link: 'insert',
|
|
85
|
+
image: 'insert',
|
|
86
|
+
orderedList: 'insert',
|
|
87
|
+
bulletList: 'insert',
|
|
88
|
+
code: 'block',
|
|
89
|
+
quote: 'block'
|
|
90
|
+
};
|
|
91
|
+
|
|
65
92
|
/**
|
|
66
93
|
* What each action does, what it is called, and what it looks like.
|
|
67
94
|
*
|
|
@@ -74,49 +101,56 @@ const ACTIONS = {
|
|
|
74
101
|
icon: size => /*#__PURE__*/_jsx(BoldIcon, {
|
|
75
102
|
size: size
|
|
76
103
|
}),
|
|
77
|
-
apply: (text, selection) => toggleWrap(text, selection, '**')
|
|
104
|
+
apply: (text, selection) => toggleWrap(text, selection, '**'),
|
|
105
|
+
isActive: (text, selection) => hasWrap(text, selection, '**')
|
|
78
106
|
},
|
|
79
107
|
italic: {
|
|
80
108
|
label: 'Italic',
|
|
81
109
|
icon: size => /*#__PURE__*/_jsx(ItalicIcon, {
|
|
82
110
|
size: size
|
|
83
111
|
}),
|
|
84
|
-
apply: (text, selection) => toggleWrap(text, selection, '_')
|
|
112
|
+
apply: (text, selection) => toggleWrap(text, selection, '_'),
|
|
113
|
+
isActive: (text, selection) => hasWrap(text, selection, '_')
|
|
85
114
|
},
|
|
86
115
|
heading: {
|
|
87
116
|
label: 'Heading',
|
|
88
117
|
icon: size => /*#__PURE__*/_jsx(HeadingIcon, {
|
|
89
118
|
size: size
|
|
90
119
|
}),
|
|
91
|
-
apply: (text, selection) => toggleLinePrefix(text, selection, '## ')
|
|
120
|
+
apply: (text, selection) => toggleLinePrefix(text, selection, '## '),
|
|
121
|
+
isActive: (text, selection) => hasLinePrefix(text, selection, '## ')
|
|
92
122
|
},
|
|
93
123
|
quote: {
|
|
94
124
|
label: 'Quote',
|
|
95
125
|
icon: size => /*#__PURE__*/_jsx(QuoteIcon, {
|
|
96
126
|
size: size
|
|
97
127
|
}),
|
|
98
|
-
apply: (text, selection) => toggleLinePrefix(text, selection, '> ')
|
|
128
|
+
apply: (text, selection) => toggleLinePrefix(text, selection, '> '),
|
|
129
|
+
isActive: (text, selection) => hasLinePrefix(text, selection, '> ')
|
|
99
130
|
},
|
|
100
131
|
code: {
|
|
101
132
|
label: 'Code block',
|
|
102
133
|
icon: size => /*#__PURE__*/_jsx(CodeIcon, {
|
|
103
134
|
size: size
|
|
104
135
|
}),
|
|
105
|
-
apply: toggleFence
|
|
136
|
+
apply: toggleFence,
|
|
137
|
+
isActive: hasFence
|
|
106
138
|
},
|
|
107
139
|
bulletList: {
|
|
108
140
|
label: 'Bulleted list',
|
|
109
141
|
icon: size => /*#__PURE__*/_jsx(ListIcon, {
|
|
110
142
|
size: size
|
|
111
143
|
}),
|
|
112
|
-
apply: (text, selection) => toggleLinePrefix(text, selection, '- ')
|
|
144
|
+
apply: (text, selection) => toggleLinePrefix(text, selection, '- '),
|
|
145
|
+
isActive: (text, selection) => hasLinePrefix(text, selection, '- ')
|
|
113
146
|
},
|
|
114
147
|
orderedList: {
|
|
115
148
|
label: 'Numbered list',
|
|
116
149
|
icon: size => /*#__PURE__*/_jsx(ListOrderedIcon, {
|
|
117
150
|
size: size
|
|
118
151
|
}),
|
|
119
|
-
apply: toggleOrderedList
|
|
152
|
+
apply: toggleOrderedList,
|
|
153
|
+
isActive: hasOrderedList
|
|
120
154
|
},
|
|
121
155
|
link: {
|
|
122
156
|
label: 'Link',
|
|
@@ -124,17 +158,58 @@ const ACTIONS = {
|
|
|
124
158
|
size: size
|
|
125
159
|
}),
|
|
126
160
|
apply: insertLink
|
|
161
|
+
},
|
|
162
|
+
image: {
|
|
163
|
+
label: 'Image',
|
|
164
|
+
icon: size => /*#__PURE__*/_jsx(ImageIcon, {
|
|
165
|
+
size: size
|
|
166
|
+
}),
|
|
167
|
+
apply: insertImage
|
|
127
168
|
}
|
|
128
169
|
};
|
|
129
170
|
const markdownEditorVariants = tv({
|
|
130
171
|
slots: {
|
|
131
172
|
root: 'w-full gap-2',
|
|
132
173
|
toolbar: 'flex-row items-center justify-between gap-2',
|
|
174
|
+
/**
|
|
175
|
+
* The capsule holding the formatting buttons in the `pill` toolbar.
|
|
176
|
+
*
|
|
177
|
+
* `shrink` and `overflow-hidden` are load-bearing. Eight 36pt targets, two
|
|
178
|
+
* hairlines and the round button beside them come to more than a phone is
|
|
179
|
+
* wide, and a row that cannot shrink does not wrap — it runs off the edge
|
|
180
|
+
* of the screen taking the last two actions with it. The capsule gives up
|
|
181
|
+
* width instead, and scrolls whatever no longer fits.
|
|
182
|
+
*/
|
|
183
|
+
capsule: 'min-w-0 shrink flex-row items-center overflow-hidden rounded-full border border-input bg-popover px-1.5 shadow-lg',
|
|
184
|
+
/** One hairline between two groups of them. */
|
|
185
|
+
divider: 'mx-1 h-5 w-px bg-border',
|
|
186
|
+
/** The round button outside the capsule, which switches the pane. */
|
|
187
|
+
escape: 'h-11 w-11 shrink-0 items-center justify-center rounded-full border border-input bg-popover shadow-lg',
|
|
133
188
|
// The preview stands in the field's place, so it takes the field's shape.
|
|
134
189
|
// A rendered draft that sat on the page with no edge around it would not
|
|
135
190
|
// read as the same object the writing was in.
|
|
136
191
|
preview: 'w-full rounded-xl border border-input bg-popover px-3 py-2.5',
|
|
137
192
|
empty: 'py-6 text-center'
|
|
193
|
+
},
|
|
194
|
+
variants: {
|
|
195
|
+
/**
|
|
196
|
+
* How the toolbar is drawn.
|
|
197
|
+
*
|
|
198
|
+
* `bar` is the row: formatting on one side, the write/preview switch on the
|
|
199
|
+
* other, and room between them for a word count or a submit. `pill` is the
|
|
200
|
+
* floating capsule — icon-only, grouped by hairlines, with the pane switch
|
|
201
|
+
* as a round button beside it. The capsule has no room for anything else,
|
|
202
|
+
* so a toolbar with children wants the bar.
|
|
203
|
+
*/
|
|
204
|
+
variant: {
|
|
205
|
+
bar: {},
|
|
206
|
+
pill: {
|
|
207
|
+
toolbar: 'justify-center gap-2'
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
defaultVariants: {
|
|
212
|
+
variant: 'bar'
|
|
138
213
|
}
|
|
139
214
|
});
|
|
140
215
|
const MarkdownEditorContext = /*#__PURE__*/createContext(null);
|
|
@@ -143,6 +218,16 @@ function useMarkdownEditor(part) {
|
|
|
143
218
|
if (!ctx) throw new Error(`${part} must be used inside <MarkdownEditor>.`);
|
|
144
219
|
return ctx;
|
|
145
220
|
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* What a `ref` on the editor gives you.
|
|
224
|
+
*
|
|
225
|
+
* The same transforms the toolbar runs, so a caller drawing their own controls
|
|
226
|
+
* — a keyboard accessory, a context menu, a single Bold button somewhere else
|
|
227
|
+
* on the screen — does not have to reimplement any of them. Every one applies
|
|
228
|
+
* to the live selection and leaves the caret where the toolbar would.
|
|
229
|
+
*/
|
|
230
|
+
|
|
146
231
|
const MarkdownEditorRoot = /*#__PURE__*/forwardRef(({
|
|
147
232
|
className,
|
|
148
233
|
value: valueProp,
|
|
@@ -155,9 +240,13 @@ const MarkdownEditorRoot = /*#__PURE__*/forwardRef(({
|
|
|
155
240
|
children,
|
|
156
241
|
placeholder,
|
|
157
242
|
rows,
|
|
243
|
+
avoidKeyboard,
|
|
244
|
+
continueLists = true,
|
|
158
245
|
...props
|
|
159
246
|
}, ref) => {
|
|
160
247
|
const slots = markdownEditorVariants();
|
|
248
|
+
const viewRef = useRef(null);
|
|
249
|
+
const fieldRef = useRef(null);
|
|
161
250
|
const [internalValue, setInternalValue] = useState(defaultValue);
|
|
162
251
|
const value = valueProp ?? internalValue;
|
|
163
252
|
const [internalMode, setInternalMode] = useState(defaultMode);
|
|
@@ -195,6 +284,25 @@ const MarkdownEditorRoot = /*#__PURE__*/forwardRef(({
|
|
|
195
284
|
if (modeProp === undefined) setInternalMode(next);
|
|
196
285
|
onModeChange?.(next);
|
|
197
286
|
}, [modeProp, onModeChange]);
|
|
287
|
+
|
|
288
|
+
/*
|
|
289
|
+
* Which actions are already in effect, held in state because the toolbar
|
|
290
|
+
* draws from it.
|
|
291
|
+
*
|
|
292
|
+
* Recomputed when the caret moves or the text changes through an edit, not
|
|
293
|
+
* on every keystroke: eight predicates over the whole document on every
|
|
294
|
+
* character typed is work nobody asked for, and typing a letter cannot
|
|
295
|
+
* change what is applied at the caret. Toggling a marker can, which is why
|
|
296
|
+
* `run` recomputes it too.
|
|
297
|
+
*/
|
|
298
|
+
const [active, setActive] = useState(() => new Set());
|
|
299
|
+
const readActive = useCallback((text, selection) => {
|
|
300
|
+
const next = new Set();
|
|
301
|
+
for (const key of Object.keys(ACTIONS)) {
|
|
302
|
+
if (ACTIONS[key].isActive?.(text, selection)) next.add(key);
|
|
303
|
+
}
|
|
304
|
+
setActive(current => current.size === next.size && [...next].every(key => current.has(key)) ? current : next);
|
|
305
|
+
}, []);
|
|
198
306
|
const run = useCallback(action => {
|
|
199
307
|
const result = ACTIONS[action].apply(valueRef.current, selectionRef.current);
|
|
200
308
|
// Kept locally too: the parent may be slow to hand the new text back,
|
|
@@ -203,27 +311,93 @@ const MarkdownEditorRoot = /*#__PURE__*/forwardRef(({
|
|
|
203
311
|
selectionRef.current = result.selection;
|
|
204
312
|
commit(result.text);
|
|
205
313
|
setPending(result.selection);
|
|
206
|
-
|
|
314
|
+
readActive(result.text, result.selection);
|
|
315
|
+
}, [commit, readActive]);
|
|
316
|
+
|
|
317
|
+
/*
|
|
318
|
+
* A list continues itself when Return lands inside one.
|
|
319
|
+
*
|
|
320
|
+
* Read off the text change rather than off `onKeyPress`, because a key
|
|
321
|
+
* event here cannot be prevented — the field applies the newline whatever
|
|
322
|
+
* the handler does, so acting on the key would insert the marker *and* a
|
|
323
|
+
* second line break. Watching the change instead means the newline is
|
|
324
|
+
* already in the string, and what happens is a rewrite of it: the marker
|
|
325
|
+
* goes in behind it, or, on an item with nothing in it, the marker comes
|
|
326
|
+
* off and the list ends.
|
|
327
|
+
*
|
|
328
|
+
* One inserted character only. A paste that happens to contain a newline
|
|
329
|
+
* is not somebody pressing Return.
|
|
330
|
+
*/
|
|
331
|
+
const applyChange = useCallback(next => {
|
|
332
|
+
const previous = valueRef.current;
|
|
333
|
+
if (continueLists && next.length === previous.length + 1) {
|
|
334
|
+
let at = 0;
|
|
335
|
+
while (at < previous.length && previous[at] === next[at]) at += 1;
|
|
336
|
+
if (next[at] === '\n') {
|
|
337
|
+
const result = continueList(previous, {
|
|
338
|
+
start: at,
|
|
339
|
+
end: at
|
|
340
|
+
});
|
|
341
|
+
if (result) {
|
|
342
|
+
valueRef.current = result.text;
|
|
343
|
+
selectionRef.current = result.selection;
|
|
344
|
+
commit(result.text);
|
|
345
|
+
setPending(result.selection);
|
|
346
|
+
readActive(result.text, result.selection);
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
valueRef.current = next;
|
|
352
|
+
commit(next);
|
|
353
|
+
}, [continueLists, commit, readActive]);
|
|
354
|
+
const registerField = useCallback(field => {
|
|
355
|
+
fieldRef.current = field;
|
|
356
|
+
}, []);
|
|
357
|
+
useImperativeHandle(ref, () => ({
|
|
358
|
+
get view() {
|
|
359
|
+
return viewRef.current;
|
|
360
|
+
},
|
|
361
|
+
apply: run,
|
|
362
|
+
getActive: () => [...active],
|
|
363
|
+
getSelection: () => ({
|
|
364
|
+
...selectionRef.current
|
|
365
|
+
}),
|
|
366
|
+
setSelection: selection => {
|
|
367
|
+
selectionRef.current = selection;
|
|
368
|
+
setPending(selection);
|
|
369
|
+
readActive(valueRef.current, selection);
|
|
370
|
+
},
|
|
371
|
+
focus: () => {
|
|
372
|
+
// The field is unmounted while the preview is up, so focusing it has
|
|
373
|
+
// to bring it back first — otherwise this is a silent no-op that
|
|
374
|
+
// looks like a broken ref.
|
|
375
|
+
setMode('write');
|
|
376
|
+
fieldRef.current?.focus();
|
|
377
|
+
},
|
|
378
|
+
blur: () => fieldRef.current?.blur(),
|
|
379
|
+
setMode
|
|
380
|
+
}), [run, active, readActive, setMode]);
|
|
207
381
|
const context = useMemo(() => ({
|
|
208
382
|
value,
|
|
209
383
|
mode,
|
|
210
384
|
setMode,
|
|
211
385
|
run,
|
|
386
|
+
active,
|
|
212
387
|
pending,
|
|
213
388
|
setSelection: selection => {
|
|
214
389
|
selectionRef.current = selection;
|
|
390
|
+
readActive(valueRef.current, selection);
|
|
215
391
|
},
|
|
216
392
|
clearPending: () => setPending(undefined),
|
|
217
|
-
onChangeText:
|
|
218
|
-
|
|
219
|
-
commit(next);
|
|
220
|
-
},
|
|
393
|
+
onChangeText: applyChange,
|
|
394
|
+
registerField,
|
|
221
395
|
disabled
|
|
222
|
-
}), [value, mode, setMode, run, pending,
|
|
396
|
+
}), [value, mode, setMode, run, active, pending, applyChange, readActive, registerField, disabled]);
|
|
223
397
|
return /*#__PURE__*/_jsx(MarkdownEditorContext.Provider, {
|
|
224
398
|
value: context,
|
|
225
399
|
children: /*#__PURE__*/_jsx(View, {
|
|
226
|
-
ref:
|
|
400
|
+
ref: viewRef,
|
|
227
401
|
className: slots.root({
|
|
228
402
|
className
|
|
229
403
|
}),
|
|
@@ -231,7 +405,8 @@ const MarkdownEditorRoot = /*#__PURE__*/forwardRef(({
|
|
|
231
405
|
children: children ?? /*#__PURE__*/_jsxs(_Fragment, {
|
|
232
406
|
children: [/*#__PURE__*/_jsx(MarkdownEditorToolbar, {}), /*#__PURE__*/_jsx(MarkdownEditorInput, {
|
|
233
407
|
placeholder: placeholder,
|
|
234
|
-
rows: rows
|
|
408
|
+
rows: rows,
|
|
409
|
+
avoidKeyboard: avoidKeyboard
|
|
235
410
|
}), /*#__PURE__*/_jsx(MarkdownEditorPreview, {})]
|
|
236
411
|
})
|
|
237
412
|
})
|
|
@@ -250,10 +425,15 @@ MarkdownEditorRoot.displayName = 'MarkdownEditor';
|
|
|
250
425
|
* buttons act on a selection, and in the preview there is no selection for them
|
|
251
426
|
* to act on — a row of controls that are present but inert is a row that has to
|
|
252
427
|
* be tried before it can be understood.
|
|
428
|
+
*
|
|
429
|
+
* An action already in effect where the caret is draws as pressed. Every button
|
|
430
|
+
* here is a toggle, and a toggle that looks the same in both states is a toggle
|
|
431
|
+
* nobody discovers is one.
|
|
253
432
|
*/
|
|
254
433
|
const MarkdownEditorToolbar = /*#__PURE__*/forwardRef(({
|
|
255
434
|
className,
|
|
256
|
-
|
|
435
|
+
variant = 'bar',
|
|
436
|
+
actions,
|
|
257
437
|
showModeSwitch = true,
|
|
258
438
|
children,
|
|
259
439
|
...props
|
|
@@ -262,9 +442,67 @@ const MarkdownEditorToolbar = /*#__PURE__*/forwardRef(({
|
|
|
262
442
|
mode,
|
|
263
443
|
setMode,
|
|
264
444
|
run,
|
|
445
|
+
active,
|
|
265
446
|
disabled
|
|
266
447
|
} = useMarkdownEditor('MarkdownEditor.Toolbar');
|
|
267
|
-
const slots = markdownEditorVariants(
|
|
448
|
+
const slots = markdownEditorVariants({
|
|
449
|
+
variant
|
|
450
|
+
});
|
|
451
|
+
const pill = variant === 'pill';
|
|
452
|
+
const shown = actions ?? (pill ? DEFAULT_PILL_ACTIONS : DEFAULT_ACTIONS);
|
|
453
|
+
const button = (action, size) => /*#__PURE__*/_jsx(Button, {
|
|
454
|
+
accessibilityLabel: ACTIONS[action].label,
|
|
455
|
+
accessibilityState: {
|
|
456
|
+
selected: active.has(action)
|
|
457
|
+
},
|
|
458
|
+
variant: active.has(action) ? 'secondary' : 'ghost',
|
|
459
|
+
disabled: disabled,
|
|
460
|
+
onPress: () => run(action),
|
|
461
|
+
className: pill ? 'h-9 w-9 rounded-full px-0' : 'px-2',
|
|
462
|
+
children: ACTIONS[action].icon(size)
|
|
463
|
+
}, action);
|
|
464
|
+
if (pill) {
|
|
465
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
466
|
+
ref: ref,
|
|
467
|
+
className: slots.toolbar({
|
|
468
|
+
className
|
|
469
|
+
}),
|
|
470
|
+
...props,
|
|
471
|
+
children: [mode === 'write' ? /*#__PURE__*/_jsx(View, {
|
|
472
|
+
className: slots.capsule(),
|
|
473
|
+
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
474
|
+
horizontal: true,
|
|
475
|
+
showsHorizontalScrollIndicator: false,
|
|
476
|
+
keyboardShouldPersistTaps: "always",
|
|
477
|
+
contentContainerClassName: "flex-row items-center",
|
|
478
|
+
children: shown.map((action, index) => /*#__PURE__*/_jsxs(Fragment, {
|
|
479
|
+
children: [index > 0 && FAMILY[action] !== FAMILY[shown[index - 1]] ? /*#__PURE__*/_jsx(View, {
|
|
480
|
+
className: slots.divider()
|
|
481
|
+
}) : null, button(action, 18)]
|
|
482
|
+
}, action))
|
|
483
|
+
})
|
|
484
|
+
}) : null, showModeSwitch ?
|
|
485
|
+
/*#__PURE__*/
|
|
486
|
+
/* Outside the capsule, and round rather than a segment of it. The
|
|
487
|
+
capsule is what the writing is done with; this is the way out of
|
|
488
|
+
it, and a control that leaves somewhere should not look like one
|
|
489
|
+
of the things you do while you are there. */
|
|
490
|
+
_jsx(Pressable, {
|
|
491
|
+
accessibilityRole: "button",
|
|
492
|
+
accessibilityLabel: mode === 'write' ? 'Preview' : 'Write',
|
|
493
|
+
accessibilityState: {
|
|
494
|
+
selected: mode === 'preview'
|
|
495
|
+
},
|
|
496
|
+
className: slots.escape(),
|
|
497
|
+
onPress: () => setMode(mode === 'write' ? 'preview' : 'write'),
|
|
498
|
+
children: mode === 'write' ? /*#__PURE__*/_jsx(EyeIcon, {
|
|
499
|
+
size: 18
|
|
500
|
+
}) : /*#__PURE__*/_jsx(PencilIcon, {
|
|
501
|
+
size: 18
|
|
502
|
+
})
|
|
503
|
+
}) : null]
|
|
504
|
+
});
|
|
505
|
+
}
|
|
268
506
|
return /*#__PURE__*/_jsxs(View, {
|
|
269
507
|
ref: ref,
|
|
270
508
|
className: slots.toolbar({
|
|
@@ -275,13 +513,7 @@ const MarkdownEditorToolbar = /*#__PURE__*/forwardRef(({
|
|
|
275
513
|
variant: "ghost",
|
|
276
514
|
size: "sm",
|
|
277
515
|
className: "shrink",
|
|
278
|
-
children:
|
|
279
|
-
accessibilityLabel: ACTIONS[action].label,
|
|
280
|
-
disabled: disabled,
|
|
281
|
-
onPress: () => run(action),
|
|
282
|
-
className: "px-2",
|
|
283
|
-
children: ACTIONS[action].icon(16)
|
|
284
|
-
}, action))
|
|
516
|
+
children: shown.map(action => button(action, 16))
|
|
285
517
|
}) : /*#__PURE__*/_jsx(View, {
|
|
286
518
|
className: "shrink"
|
|
287
519
|
}), /*#__PURE__*/_jsxs(View, {
|
|
@@ -331,17 +563,39 @@ const MarkdownEditorInput = /*#__PURE__*/forwardRef(({
|
|
|
331
563
|
setSelection,
|
|
332
564
|
clearPending,
|
|
333
565
|
onChangeText,
|
|
566
|
+
registerField,
|
|
334
567
|
disabled
|
|
335
568
|
} = useMarkdownEditor('MarkdownEditor.Input');
|
|
569
|
+
|
|
570
|
+
/*
|
|
571
|
+
* The field is registered so the editor's own ref can focus it, and
|
|
572
|
+
* forwarded so a caller's ref still works. Both, rather than either.
|
|
573
|
+
*/
|
|
574
|
+
const attach = useCallback(field => {
|
|
575
|
+
registerField(field);
|
|
576
|
+
if (typeof ref === 'function') ref(field);else if (ref) ref.current = field;
|
|
577
|
+
}, [ref, registerField]);
|
|
578
|
+
|
|
579
|
+
/*
|
|
580
|
+
* The forced selection is cleared only once it has actually arrived.
|
|
581
|
+
*
|
|
582
|
+
* Clearing on the first selection change of any kind was the bug: the new
|
|
583
|
+
* `value` landing produces one of its own, and it fires first — so the
|
|
584
|
+
* caret was released before it had been put anywhere, and ended up at the
|
|
585
|
+
* end of the document instead of between the markers just inserted.
|
|
586
|
+
*/
|
|
336
587
|
const handleSelectionChange = useCallback(event => {
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
588
|
+
const {
|
|
589
|
+
selection
|
|
590
|
+
} = event.nativeEvent;
|
|
591
|
+
setSelection(selection);
|
|
592
|
+
if (pending && selection.start === pending.start && selection.end === pending.end) {
|
|
593
|
+
clearPending();
|
|
594
|
+
}
|
|
595
|
+
}, [setSelection, clearPending, pending]);
|
|
342
596
|
if (mode !== 'write') return null;
|
|
343
597
|
return /*#__PURE__*/_jsx(Textarea, {
|
|
344
|
-
ref:
|
|
598
|
+
ref: attach,
|
|
345
599
|
value: value,
|
|
346
600
|
onChangeText: onChangeText,
|
|
347
601
|
selection: pending,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","forwardRef","useCallback","useContext","useMemo","useRef","useState","View","tv","BoldIcon","CodeIcon","EyeIcon","HeadingIcon","ItalicIcon","LinkIcon","ListIcon","ListOrderedIcon","PencilIcon","QuoteIcon","Text","cn","Button","ButtonGroup","Response","Textarea","insertLink","toggleFence","toggleLinePrefix","toggleOrderedList","toggleWrap","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_ACTIONS","ACTIONS","bold","label","icon","size","apply","text","selection","italic","heading","quote","code","bulletList","orderedList","link","markdownEditorVariants","slots","root","toolbar","preview","empty","MarkdownEditorContext","useMarkdownEditor","part","ctx","Error","MarkdownEditorRoot","className","value","valueProp","defaultValue","onValueChange","mode","modeProp","defaultMode","onModeChange","disabled","children","placeholder","rows","props","ref","internalValue","setInternalValue","internalMode","setInternalMode","selectionRef","start","end","pending","setPending","undefined","valueRef","current","commit","next","setMode","run","action","result","context","setSelection","clearPending","onChangeText","Provider","MarkdownEditorToolbar","MarkdownEditorInput","MarkdownEditorPreview","displayName","actions","showModeSwitch","variant","map","accessibilityLabel","onPress","startContent","handleSelectionChange","event","nativeEvent","onSelectionChange","autoCapitalize","autoCorrect","emptyText","trim","muted","MarkdownEditor","Object","assign","Toolbar","Input","Preview"],"sourceRoot":"../../../../src","sources":["components/markdown-editor/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Fragment","createContext","forwardRef","useCallback","useContext","useImperativeHandle","useMemo","useRef","useState","Pressable","ScrollView","View","tv","BoldIcon","CodeIcon","EyeIcon","HeadingIcon","ImageIcon","ItalicIcon","LinkIcon","ListIcon","ListOrderedIcon","PencilIcon","QuoteIcon","Text","cn","Button","ButtonGroup","Response","Textarea","continueList","hasFence","hasLinePrefix","hasOrderedList","hasWrap","insertImage","insertLink","toggleFence","toggleLinePrefix","toggleOrderedList","toggleWrap","jsx","_jsx","_Fragment","jsxs","_jsxs","DEFAULT_ACTIONS","DEFAULT_PILL_ACTIONS","FAMILY","bold","italic","heading","link","image","orderedList","bulletList","code","quote","ACTIONS","label","icon","size","apply","text","selection","isActive","markdownEditorVariants","slots","root","toolbar","capsule","divider","escape","preview","empty","variants","variant","bar","pill","defaultVariants","MarkdownEditorContext","useMarkdownEditor","part","ctx","Error","MarkdownEditorRoot","className","value","valueProp","defaultValue","onValueChange","mode","modeProp","defaultMode","onModeChange","disabled","children","placeholder","rows","avoidKeyboard","continueLists","props","ref","viewRef","fieldRef","internalValue","setInternalValue","internalMode","setInternalMode","selectionRef","start","end","pending","setPending","undefined","valueRef","current","commit","next","setMode","active","setActive","Set","readActive","key","Object","keys","add","every","has","run","action","result","applyChange","previous","length","at","registerField","field","view","getActive","getSelection","setSelection","focus","blur","context","clearPending","onChangeText","Provider","MarkdownEditorToolbar","MarkdownEditorInput","MarkdownEditorPreview","displayName","actions","showModeSwitch","shown","button","accessibilityLabel","accessibilityState","selected","onPress","horizontal","showsHorizontalScrollIndicator","keyboardShouldPersistTaps","contentContainerClassName","map","index","accessibilityRole","startContent","attach","handleSelectionChange","event","nativeEvent","onSelectionChange","autoCapitalize","autoCorrect","emptyText","trim","muted","MarkdownEditor","assign","Toolbar","Input","Preview"],"sourceRoot":"../../../../src","sources":["components/markdown-editor/index.tsx"],"mappings":"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","ignoreList":[]}
|