foldkit-richtext-dom 0.3.1 → 0.4.1

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.
@@ -0,0 +1,728 @@
1
+ import { n as Attachment, r as Decorate } from "./events-Dasls6a_.mjs";
2
+ import * as RichText from "foldkit-richtext";
3
+ import { Schema } from "effect";
4
+ import * as Mount from "foldkit/mount";
5
+ //#region src/editor.d.ts
6
+ declare const Message: import("foldkit/message").MessageUnion<{
7
+ readonly Typed: {
8
+ text: Schema.String;
9
+ };
10
+ readonly Backspace: {};
11
+ readonly DeletedForward: {};
12
+ readonly Entered: {};
13
+ readonly ToggledMark: {
14
+ mark: Schema.String;
15
+ };
16
+ /** Exactly this mark over the selection, or over the mark's extent at a caret: a link's new `href`. */
17
+ readonly AppliedMark: {
18
+ mark: Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
19
+ readonly name: Schema.NonEmptyString;
20
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
21
+ }>]>;
22
+ };
23
+ /** The named mark off the selection, or off the mark's extent at a caret: unlinking. */
24
+ readonly ClearedMark: {
25
+ mark: Schema.String;
26
+ };
27
+ readonly RetypedBlock: {
28
+ block: Schema.Union<readonly [Schema.Struct<{
29
+ readonly type: Schema.Literal<"Paragraph">;
30
+ }>, Schema.Struct<{
31
+ readonly type: Schema.Literal<"Heading">;
32
+ readonly level: Schema.Literals<readonly [1, 2, 3, 4, 5, 6]>;
33
+ }>]>;
34
+ };
35
+ /** The caret's block, wrapped in containers listed outermost first: a quote, a list item. */
36
+ readonly WrappedBlock: {
37
+ containers: Schema.$Array<Schema.Struct<{
38
+ readonly kind: Schema.NonEmptyString;
39
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
40
+ }>>;
41
+ };
42
+ /** The caret's paragraph or heading, replaced by a kind that holds text: a code block. */
43
+ readonly ConvertedBlock: {
44
+ to: Schema.Struct<{
45
+ readonly kind: Schema.NonEmptyString;
46
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
47
+ }>;
48
+ };
49
+ /** The caret's block, lifted out of its container: the inverse of a wrap. */
50
+ readonly LiftedBlock: {};
51
+ /** A block moved before or after a sibling in its container: a block handle's up and down. */
52
+ readonly MovedBlock: {
53
+ node: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
54
+ to: Schema.Union<readonly [Schema.Struct<{
55
+ readonly before: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
56
+ readonly after: Schema.optionalKey<Schema.Never>;
57
+ }>, Schema.Struct<{
58
+ readonly after: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
59
+ readonly before: Schema.optionalKey<Schema.Never>;
60
+ }>]>;
61
+ };
62
+ readonly Selected: {
63
+ selection: Schema.NullOr<Schema.Union<readonly [Schema.Struct<{
64
+ readonly type: Schema.Literal<"Range">;
65
+ readonly anchor: Schema.Struct<{
66
+ readonly node: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
67
+ readonly offset: Schema.Number;
68
+ readonly affinity: Schema.Literals<readonly ["before", "after"]>;
69
+ }>;
70
+ readonly focus: Schema.Struct<{
71
+ readonly node: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
72
+ readonly offset: Schema.Number;
73
+ readonly affinity: Schema.Literals<readonly ["before", "after"]>;
74
+ }>;
75
+ }>, Schema.Struct<{
76
+ readonly type: Schema.Literal<"Node">;
77
+ readonly node: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
78
+ }>]>>;
79
+ };
80
+ readonly Pasted: {
81
+ slice: Schema.Struct<{
82
+ readonly version: Schema.Literal<1>;
83
+ readonly blocks: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
84
+ readonly type: Schema.Literal<"Paragraph">;
85
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
86
+ readonly children: Schema.$Array<Schema.Struct<{
87
+ readonly type: Schema.Literal<"Text">;
88
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
89
+ readonly text: Schema.String;
90
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
91
+ readonly name: Schema.NonEmptyString;
92
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
93
+ }>]>>;
94
+ }>>;
95
+ }>, Schema.Struct<{
96
+ readonly type: Schema.Literal<"Heading">;
97
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
98
+ readonly level: Schema.Literals<readonly [1, 2, 3, 4, 5, 6]>;
99
+ readonly children: Schema.$Array<Schema.Struct<{
100
+ readonly type: Schema.Literal<"Text">;
101
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
102
+ readonly text: Schema.String;
103
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
104
+ readonly name: Schema.NonEmptyString;
105
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
106
+ }>]>>;
107
+ }>>;
108
+ }>, Schema.Struct<{
109
+ readonly type: Schema.Literal<"Node">;
110
+ readonly kind: Schema.NonEmptyString;
111
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
112
+ readonly props: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
113
+ readonly children: Schema.$Array<Schema.Struct<{
114
+ readonly type: Schema.Literal<"Text">;
115
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
116
+ readonly text: Schema.String;
117
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
118
+ readonly name: Schema.NonEmptyString;
119
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
120
+ }>]>>;
121
+ }>>;
122
+ readonly blocks: Schema.optionalKey<Schema.suspend<Schema.Codec<readonly RichText.Block[], readonly ({
123
+ readonly type: 'Node';
124
+ readonly kind: string;
125
+ readonly id: string;
126
+ readonly props: {
127
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
128
+ };
129
+ readonly children: readonly {
130
+ readonly type: "Text";
131
+ readonly id: string;
132
+ readonly text: string;
133
+ readonly marks: readonly (string | {
134
+ readonly name: string;
135
+ readonly props?: {
136
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
137
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
138
+ } | null;
139
+ };
140
+ })[];
141
+ }[];
142
+ readonly blocks?: readonly (any | {
143
+ readonly type: "Paragraph";
144
+ readonly id: string;
145
+ readonly children: readonly {
146
+ readonly type: "Text";
147
+ readonly id: string;
148
+ readonly text: string;
149
+ readonly marks: readonly (string | {
150
+ readonly name: string;
151
+ readonly props?: {
152
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
153
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
154
+ } | null;
155
+ };
156
+ })[];
157
+ }[];
158
+ } | {
159
+ readonly type: "Heading";
160
+ readonly id: string;
161
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
162
+ readonly children: readonly {
163
+ readonly type: "Text";
164
+ readonly id: string;
165
+ readonly text: string;
166
+ readonly marks: readonly (string | {
167
+ readonly name: string;
168
+ readonly props?: {
169
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
170
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
171
+ } | null;
172
+ };
173
+ })[];
174
+ }[];
175
+ } | {
176
+ readonly type: "Unknown";
177
+ readonly id: string;
178
+ readonly originalType: string;
179
+ readonly props: {
180
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
181
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
182
+ } | null;
183
+ };
184
+ readonly children: readonly {
185
+ readonly type: "Text";
186
+ readonly id: string;
187
+ readonly text: string;
188
+ readonly marks: readonly (string | {
189
+ readonly name: string;
190
+ readonly props?: {
191
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
192
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
193
+ } | null;
194
+ };
195
+ })[];
196
+ }[];
197
+ })[];
198
+ } | {
199
+ readonly type: "Paragraph";
200
+ readonly id: string;
201
+ readonly children: readonly {
202
+ readonly type: "Text";
203
+ readonly id: string;
204
+ readonly text: string;
205
+ readonly marks: readonly (string | {
206
+ readonly name: string;
207
+ readonly props?: {
208
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
209
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
210
+ } | null;
211
+ };
212
+ })[];
213
+ }[];
214
+ } | {
215
+ readonly type: "Heading";
216
+ readonly id: string;
217
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
218
+ readonly children: readonly {
219
+ readonly type: "Text";
220
+ readonly id: string;
221
+ readonly text: string;
222
+ readonly marks: readonly (string | {
223
+ readonly name: string;
224
+ readonly props?: {
225
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
226
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
227
+ } | null;
228
+ };
229
+ })[];
230
+ }[];
231
+ } | {
232
+ readonly type: "Unknown";
233
+ readonly id: string;
234
+ readonly originalType: string;
235
+ readonly props: {
236
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
237
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
238
+ } | null;
239
+ };
240
+ readonly children: readonly {
241
+ readonly type: "Text";
242
+ readonly id: string;
243
+ readonly text: string;
244
+ readonly marks: readonly (string | {
245
+ readonly name: string;
246
+ readonly props?: {
247
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
248
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
249
+ } | null;
250
+ };
251
+ })[];
252
+ }[];
253
+ })[], never, never>>>;
254
+ }>, Schema.Struct<{
255
+ readonly type: Schema.Literal<"Unknown">;
256
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
257
+ readonly originalType: Schema.NonEmptyString;
258
+ readonly props: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
259
+ readonly children: Schema.$Array<Schema.Struct<{
260
+ readonly type: Schema.Literal<"Text">;
261
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
262
+ readonly text: Schema.String;
263
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
264
+ readonly name: Schema.NonEmptyString;
265
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
266
+ }>]>>;
267
+ }>>;
268
+ }>]>>;
269
+ }>;
270
+ };
271
+ readonly Undone: {};
272
+ readonly Redone: {};
273
+ /** The patch Command's completion: Foldkit Commands report a Message, and a
274
+ * render has nothing to say beyond that it happened. */
275
+ readonly Patched: {};
276
+ }>;
277
+ type Message = typeof Message.Type;
278
+ /**
279
+ * What the DOM can ask for: the vocabulary without the patch acknowledgement,
280
+ * which only the Command produces. The adapter's stream is typed by this, so a
281
+ * mount's result union names every Message it can actually emit.
282
+ */
283
+ type EditorEvent = Exclude<Message, {
284
+ readonly _tag: 'Patched';
285
+ }>;
286
+ /**
287
+ * What a browser intent means to an editor. The adapter reports only plain
288
+ * insertions, so an insertion carrying marks is refused rather than quietly
289
+ * losing them: what a marked insertion means is the editor's decision, not the
290
+ * adapter's, and the adapter never has one to report.
291
+ */
292
+ declare const toMessage: (command: RichText.Command) => EditorEvent | undefined;
293
+ /**
294
+ * The slash menu's vocabulary (§123, §124 §11): what opens a menu, what it offers,
295
+ * what a query matches, and what a chosen entry sends. An entry carries one of this
296
+ * module's Messages, not a command, so the Bundle resolves Enter by handling the chosen
297
+ * entry as the Message a click would send — which is also what makes a mark entry update
298
+ * the caret's stored marks rather than run a collapsed toggle the command layer treats as
299
+ * a no-op.
300
+ *
301
+ * Whether a caret is in a query is a read of the document (`RichText.textBefore`),
302
+ * not a flag. Nothing here holds state.
303
+ */
304
+ interface SlashEntry<Payload> {
305
+ /** Stable id, not the label: how a list keys the entry and moves by it. */
306
+ readonly id: string;
307
+ /** What the menu shows. */
308
+ readonly label: string;
309
+ /** Words a query may match besides the label. */
310
+ readonly keywords: ReadonlyArray<string>;
311
+ /** What choosing this entry sends: an editor Message here, a caller's in a view. */
312
+ readonly message: Payload;
313
+ }
314
+ /**
315
+ * The query the caret is in, or `undefined` when the text before it is not a slash
316
+ * command. A command opens at a block's start or after whitespace — `see /head` opens,
317
+ * `see/head` is text — and reads letters, digits, and `-`, so the query is a word
318
+ * rather than everything typed since the slash.
319
+ */
320
+ declare const slashQuery: (textBefore: string) => string | undefined;
321
+ /**
322
+ * The entries the editor offers, in menu order: the text blocks a caret can become, the
323
+ * standard vocabulary's quote, lists, and code block, then the marks it can carry. Each is a
324
+ * Message this module already defines, so a chosen entry needs no editing vocabulary of its
325
+ * own. The standard kinds are named, not required: a placement whose vocabulary lacks them
326
+ * refuses the entry's edit, as it refuses any edit it does not declare.
327
+ */
328
+ declare const slashEntries: ReadonlyArray<SlashEntry<EditorEvent>>;
329
+ /**
330
+ * The entries whose label or keywords contain the query, case-insensitively; every
331
+ * entry when the query is empty, which is what `/` alone offers.
332
+ */
333
+ declare const matchingEntries: <Payload>(entries: ReadonlyArray<SlashEntry<Payload>>, query: string) => ReadonlyArray<SlashEntry<Payload>>;
334
+ /** What a menu shows for one caret: its query, what matches, and what Enter would send. */
335
+ interface SlashMenu<Payload> {
336
+ readonly query: string;
337
+ readonly matches: ReadonlyArray<SlashEntry<Payload>>;
338
+ /** The entry Enter would choose; undefined when nothing matches the query. */
339
+ readonly highlighted: SlashEntry<Payload> | undefined;
340
+ }
341
+ /**
342
+ * The menu the caret is in, or `undefined` when its text is not a slash command — the
343
+ * one value that decides both whether to render a menu and what Enter means, so the
344
+ * view and `update` cannot disagree.
345
+ *
346
+ * `index` is what the menu last highlighted. A stale index — fewer matches than it
347
+ * named, or a negative one — falls back to the first match, because a query that
348
+ * narrows must not leave Enter with nothing to choose. A query that matches nothing is
349
+ * still a menu: it renders as empty, and `highlighted` is undefined, which is what
350
+ * keeps `/zzz` from choosing anything.
351
+ */
352
+ declare const slashMenu: <Payload>(entries: ReadonlyArray<SlashEntry<Payload>>, textBefore: string, index: number) => SlashMenu<Payload> | undefined;
353
+ /** How an attached editor draws: its rendering registry and what it draws over the document. */
354
+ interface EditorDrawing {
355
+ readonly rendering?: RichText.Rendering | undefined;
356
+ readonly decorate?: Decorate | undefined;
357
+ /** What a blank document shows. */
358
+ readonly placeholder?: string | undefined;
359
+ }
360
+ /**
361
+ * Attaches the translation to a host element and reports each Message through
362
+ * `emit`. Separate from the mount so a test can drive the DOM without pulling a
363
+ * stream, and so a caller embedding the editor directly can say how it draws.
364
+ */
365
+ declare const attachEditor: (host: Element, content: RichText.Document, emit: (message: EditorEvent) => void, drawing?: EditorDrawing) => Attachment;
366
+ /**
367
+ * The patch Command's work: find the element the view gave an id to and sync the
368
+ * attachment it holds. A missing host is not an error — the editor went away
369
+ * while the transition was in flight — so it reports whether it patched.
370
+ */
371
+ declare const patchEditor: (hostId: string, state: RichText.EditorState, changeSet: RichText.ChangeSet) => boolean;
372
+ /** Draws the decorations of the editor at `hostId` again; false when none is attached there. */
373
+ declare const redecorateEditor: (hostId: string) => boolean;
374
+ /**
375
+ * The latest document the editor at `hostId` holds (`Attachment.held`), or undefined when none
376
+ * is attached there.
377
+ */
378
+ declare const heldDocument: (hostId: string) => RichText.Document | undefined;
379
+ /** The editor's events as a mount: one attachment per element, released with it.
380
+ * The rendering registry is looked up by the host id the placement recorded
381
+ * (§122), so it reaches the mount without entering a Model or a mount's args. */
382
+ declare const events: Mount.MountDefinitionWithArgs<"RichTextDomEvents", {
383
+ content: Schema.Struct<{
384
+ readonly version: Schema.Literal<1>;
385
+ readonly children: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
386
+ readonly type: Schema.Literal<"Paragraph">;
387
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
388
+ readonly children: Schema.$Array<Schema.Struct<{
389
+ readonly type: Schema.Literal<"Text">;
390
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
391
+ readonly text: Schema.String;
392
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
393
+ readonly name: Schema.NonEmptyString;
394
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
395
+ }>]>>;
396
+ }>>;
397
+ }>, Schema.Struct<{
398
+ readonly type: Schema.Literal<"Heading">;
399
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
400
+ readonly level: Schema.Literals<readonly [1, 2, 3, 4, 5, 6]>;
401
+ readonly children: Schema.$Array<Schema.Struct<{
402
+ readonly type: Schema.Literal<"Text">;
403
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
404
+ readonly text: Schema.String;
405
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
406
+ readonly name: Schema.NonEmptyString;
407
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
408
+ }>]>>;
409
+ }>>;
410
+ }>, Schema.Struct<{
411
+ readonly type: Schema.Literal<"Node">;
412
+ readonly kind: Schema.NonEmptyString;
413
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
414
+ readonly props: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
415
+ readonly children: Schema.$Array<Schema.Struct<{
416
+ readonly type: Schema.Literal<"Text">;
417
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
418
+ readonly text: Schema.String;
419
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
420
+ readonly name: Schema.NonEmptyString;
421
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
422
+ }>]>>;
423
+ }>>;
424
+ readonly blocks: Schema.optionalKey<Schema.suspend<Schema.Codec<readonly RichText.Block[], readonly ({
425
+ readonly type: 'Node';
426
+ readonly kind: string;
427
+ readonly id: string;
428
+ readonly props: {
429
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
430
+ };
431
+ readonly children: readonly {
432
+ readonly type: "Text";
433
+ readonly id: string;
434
+ readonly text: string;
435
+ readonly marks: readonly (string | {
436
+ readonly name: string;
437
+ readonly props?: {
438
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
439
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
440
+ } | null;
441
+ };
442
+ })[];
443
+ }[];
444
+ readonly blocks?: readonly (any | {
445
+ readonly type: "Paragraph";
446
+ readonly id: string;
447
+ readonly children: readonly {
448
+ readonly type: "Text";
449
+ readonly id: string;
450
+ readonly text: string;
451
+ readonly marks: readonly (string | {
452
+ readonly name: string;
453
+ readonly props?: {
454
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
455
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
456
+ } | null;
457
+ };
458
+ })[];
459
+ }[];
460
+ } | {
461
+ readonly type: "Heading";
462
+ readonly id: string;
463
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
464
+ readonly children: readonly {
465
+ readonly type: "Text";
466
+ readonly id: string;
467
+ readonly text: string;
468
+ readonly marks: readonly (string | {
469
+ readonly name: string;
470
+ readonly props?: {
471
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
472
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
473
+ } | null;
474
+ };
475
+ })[];
476
+ }[];
477
+ } | {
478
+ readonly type: "Unknown";
479
+ readonly id: string;
480
+ readonly originalType: string;
481
+ readonly props: {
482
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
483
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
484
+ } | null;
485
+ };
486
+ readonly children: readonly {
487
+ readonly type: "Text";
488
+ readonly id: string;
489
+ readonly text: string;
490
+ readonly marks: readonly (string | {
491
+ readonly name: string;
492
+ readonly props?: {
493
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
494
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
495
+ } | null;
496
+ };
497
+ })[];
498
+ }[];
499
+ })[];
500
+ } | {
501
+ readonly type: "Paragraph";
502
+ readonly id: string;
503
+ readonly children: readonly {
504
+ readonly type: "Text";
505
+ readonly id: string;
506
+ readonly text: string;
507
+ readonly marks: readonly (string | {
508
+ readonly name: string;
509
+ readonly props?: {
510
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
511
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
512
+ } | null;
513
+ };
514
+ })[];
515
+ }[];
516
+ } | {
517
+ readonly type: "Heading";
518
+ readonly id: string;
519
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
520
+ readonly children: readonly {
521
+ readonly type: "Text";
522
+ readonly id: string;
523
+ readonly text: string;
524
+ readonly marks: readonly (string | {
525
+ readonly name: string;
526
+ readonly props?: {
527
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
528
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
529
+ } | null;
530
+ };
531
+ })[];
532
+ }[];
533
+ } | {
534
+ readonly type: "Unknown";
535
+ readonly id: string;
536
+ readonly originalType: string;
537
+ readonly props: {
538
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
539
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
540
+ } | null;
541
+ };
542
+ readonly children: readonly {
543
+ readonly type: "Text";
544
+ readonly id: string;
545
+ readonly text: string;
546
+ readonly marks: readonly (string | {
547
+ readonly name: string;
548
+ readonly props?: {
549
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | {
550
+ readonly [x: string]: string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | readonly (string | number | boolean | any | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null)[] | any | null;
551
+ } | null;
552
+ };
553
+ })[];
554
+ }[];
555
+ })[], never, never>>>;
556
+ }>, Schema.Struct<{
557
+ readonly type: Schema.Literal<"Unknown">;
558
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
559
+ readonly originalType: Schema.NonEmptyString;
560
+ readonly props: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
561
+ readonly children: Schema.$Array<Schema.Struct<{
562
+ readonly type: Schema.Literal<"Text">;
563
+ readonly id: Schema.brand<Schema.NonEmptyString, "foldkit-richtext/NodeId">;
564
+ readonly text: Schema.String;
565
+ readonly marks: Schema.$Array<Schema.Union<readonly [Schema.NonEmptyString, Schema.Struct<{
566
+ readonly name: Schema.NonEmptyString;
567
+ readonly props: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
568
+ }>]>>;
569
+ }>>;
570
+ }>]>>;
571
+ }>;
572
+ }, {
573
+ readonly _tag: "AppliedMark";
574
+ readonly mark: string | {
575
+ readonly name: string;
576
+ readonly props?: {
577
+ readonly [x: string]: Schema.Json;
578
+ };
579
+ };
580
+ } | {
581
+ readonly _tag: "Backspace";
582
+ } | {
583
+ readonly _tag: "ClearedMark";
584
+ readonly mark: string;
585
+ } | {
586
+ readonly _tag: "ConvertedBlock";
587
+ readonly to: {
588
+ readonly kind: string;
589
+ readonly props?: {
590
+ readonly [x: string]: Schema.Json;
591
+ };
592
+ };
593
+ } | {
594
+ readonly _tag: "DeletedForward";
595
+ } | {
596
+ readonly _tag: "Entered";
597
+ } | {
598
+ readonly _tag: "LiftedBlock";
599
+ } | {
600
+ readonly _tag: "MovedBlock";
601
+ readonly node: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
602
+ readonly to: {
603
+ readonly before: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
604
+ readonly after?: never;
605
+ } | {
606
+ readonly after: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
607
+ readonly before?: never;
608
+ };
609
+ } | {
610
+ readonly _tag: "Pasted";
611
+ readonly slice: {
612
+ readonly version: 1;
613
+ readonly blocks: readonly ({
614
+ readonly type: "Paragraph";
615
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
616
+ readonly children: readonly {
617
+ readonly type: "Text";
618
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
619
+ readonly text: string;
620
+ readonly marks: readonly (string | {
621
+ readonly name: string;
622
+ readonly props?: {
623
+ readonly [x: string]: Schema.Json;
624
+ };
625
+ })[];
626
+ }[];
627
+ } | {
628
+ readonly type: "Heading";
629
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
630
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
631
+ readonly children: readonly {
632
+ readonly type: "Text";
633
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
634
+ readonly text: string;
635
+ readonly marks: readonly (string | {
636
+ readonly name: string;
637
+ readonly props?: {
638
+ readonly [x: string]: Schema.Json;
639
+ };
640
+ })[];
641
+ }[];
642
+ } | {
643
+ readonly type: "Node";
644
+ readonly kind: string;
645
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
646
+ readonly props: {
647
+ readonly [x: string]: Schema.Json;
648
+ };
649
+ readonly children: readonly {
650
+ readonly type: "Text";
651
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
652
+ readonly text: string;
653
+ readonly marks: readonly (string | {
654
+ readonly name: string;
655
+ readonly props?: {
656
+ readonly [x: string]: Schema.Json;
657
+ };
658
+ })[];
659
+ }[];
660
+ readonly blocks?: readonly RichText.Block[];
661
+ } | {
662
+ readonly type: "Unknown";
663
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
664
+ readonly originalType: string;
665
+ readonly props: {
666
+ readonly [x: string]: Schema.Json;
667
+ };
668
+ readonly children: readonly {
669
+ readonly type: "Text";
670
+ readonly id: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
671
+ readonly text: string;
672
+ readonly marks: readonly (string | {
673
+ readonly name: string;
674
+ readonly props?: {
675
+ readonly [x: string]: Schema.Json;
676
+ };
677
+ })[];
678
+ }[];
679
+ })[];
680
+ };
681
+ } | {
682
+ readonly _tag: "Redone";
683
+ } | {
684
+ readonly _tag: "RetypedBlock";
685
+ readonly block: {
686
+ readonly type: "Paragraph";
687
+ } | {
688
+ readonly type: "Heading";
689
+ readonly level: 1 | 2 | 3 | 4 | 5 | 6;
690
+ };
691
+ } | {
692
+ readonly _tag: "Selected";
693
+ readonly selection: {
694
+ readonly type: "Range";
695
+ readonly anchor: {
696
+ readonly node: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
697
+ readonly offset: number;
698
+ readonly affinity: "after" | "before";
699
+ };
700
+ readonly focus: {
701
+ readonly node: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
702
+ readonly offset: number;
703
+ readonly affinity: "after" | "before";
704
+ };
705
+ } | {
706
+ readonly type: "Node";
707
+ readonly node: string & import("effect/Brand").Brand<"foldkit-richtext/NodeId">;
708
+ } | null;
709
+ } | {
710
+ readonly _tag: "ToggledMark";
711
+ readonly mark: string;
712
+ } | {
713
+ readonly _tag: "Typed";
714
+ readonly text: string;
715
+ } | {
716
+ readonly _tag: "Undone";
717
+ } | {
718
+ readonly _tag: "WrappedBlock";
719
+ readonly containers: readonly {
720
+ readonly kind: string;
721
+ readonly props?: {
722
+ readonly [x: string]: Schema.Json;
723
+ };
724
+ }[];
725
+ }>;
726
+ //#endregion
727
+ export { SlashMenu as a, heldDocument as c, redecorateEditor as d, slashEntries as f, toMessage as h, SlashEntry as i, matchingEntries as l, slashQuery as m, EditorEvent as n, attachEditor as o, slashMenu as p, Message as r, events as s, EditorDrawing as t, patchEditor as u };
728
+ //# sourceMappingURL=editor-DbYswARG.d.mts.map