@ni/nimble-components 20.1.18 → 20.1.20

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.
@@ -1,5 +1,7 @@
1
- import { FoundationElement } from '@microsoft/fast-foundation';
1
+ import { ARIAGlobalStatesAndProperties, FoundationElement } from '@microsoft/fast-foundation';
2
+ import { Editor } from '@tiptap/core';
2
3
  import type { ToggleButton } from '../toggle-button';
4
+ import type { ErrorPattern } from '../patterns/error/types';
3
5
  declare global {
4
6
  interface HTMLElementTagNameMap {
5
7
  'nimble-rich-text-editor': RichTextEditor;
@@ -8,7 +10,54 @@ declare global {
8
10
  /**
9
11
  * A nimble styled rich text editor
10
12
  */
11
- export declare class RichTextEditor extends FoundationElement {
13
+ export declare class RichTextEditor extends FoundationElement implements ErrorPattern {
14
+ /**
15
+ * @internal
16
+ */
17
+ editor: HTMLDivElement;
18
+ /**
19
+ * @internal
20
+ */
21
+ tiptapEditor: Editor;
22
+ /**
23
+ * Whether to disable user from editing and interacting with toolbar buttons
24
+ *
25
+ * @public
26
+ * HTML Attribute: disabled
27
+ */
28
+ disabled: boolean;
29
+ /**
30
+ * Whether to hide the footer of the rich text editor
31
+ *
32
+ * @public
33
+ * HTML Attribute: footer-hidden
34
+ */
35
+ footerHidden: boolean;
36
+ /**
37
+ * Whether to display the error state.
38
+ *
39
+ * @public
40
+ * HTML Attribute: error-visible
41
+ */
42
+ errorVisible: boolean;
43
+ /**
44
+ * A message explaining why the value is invalid.
45
+ *
46
+ * @public
47
+ * HTML Attribute: error-text
48
+ */
49
+ errorText?: string;
50
+ /**
51
+ * @public
52
+ * HTML Attribute: placeholder
53
+ */
54
+ placeholder?: string;
55
+ /**
56
+ * True if the editor is empty or contains only whitespace, false otherwise.
57
+ *
58
+ * @public
59
+ */
60
+ get empty(): boolean;
12
61
  /**
13
62
  * @internal
14
63
  */
@@ -25,17 +74,21 @@ export declare class RichTextEditor extends FoundationElement {
25
74
  * @internal
26
75
  */
27
76
  numberedListButton: ToggleButton;
77
+ /**
78
+ * The width of the vertical scrollbar, if displayed.
79
+ * @internal
80
+ */
81
+ scrollbarWidth: number;
28
82
  /**
29
83
  * @internal
30
84
  */
31
85
  editorContainer: HTMLDivElement;
32
- private tiptapEditor;
33
- private editor;
86
+ private resizeObserver?;
87
+ private updateScrollbarWidthQueued;
34
88
  private readonly markdownParser;
35
89
  private readonly markdownSerializer;
36
90
  private readonly domSerializer;
37
91
  private readonly xmlSerializer;
38
- constructor();
39
92
  /**
40
93
  * @internal
41
94
  */
@@ -44,6 +97,19 @@ export declare class RichTextEditor extends FoundationElement {
44
97
  * @internal
45
98
  */
46
99
  disconnectedCallback(): void;
100
+ /**
101
+ * @internal
102
+ */
103
+ disabledChanged(): void;
104
+ /**
105
+ * Update the placeholder text and view of the editor.
106
+ * @internal
107
+ */
108
+ placeholderChanged(): void;
109
+ /**
110
+ * @internal
111
+ */
112
+ ariaLabelChanged(): void;
47
113
  /**
48
114
  * Toggle the bold mark and focus back to the editor
49
115
  * @internal
@@ -98,6 +164,8 @@ export declare class RichTextEditor extends FoundationElement {
98
164
  * @internal
99
165
  */
100
166
  stopEventPropagation(event: Event): boolean;
167
+ private createEditor;
168
+ private createTiptapEditor;
101
169
  /**
102
170
  * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
103
171
  */
@@ -105,7 +173,6 @@ export declare class RichTextEditor extends FoundationElement {
105
173
  private initializeMarkdownParser;
106
174
  private initializeMarkdownSerializer;
107
175
  private parseMarkdownToDOM;
108
- private initializeEditor;
109
176
  /**
110
177
  * Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
111
178
  * various actions such as mouse events, keyboard events, changes in the editor content etc,.
@@ -115,5 +182,30 @@ export declare class RichTextEditor extends FoundationElement {
115
182
  private unbindEditorTransactionEvent;
116
183
  private updateEditorButtonsState;
117
184
  private keyActivatesButton;
185
+ private unbindEditorUpdateEvent;
186
+ /**
187
+ * input event is fired when there is a change in the content of the editor.
188
+ *
189
+ * https://tiptap.dev/api/events#update
190
+ */
191
+ private bindEditorUpdateEvent;
192
+ /**
193
+ * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap
194
+ * since there is an issue (linked below) in ProseMirror where selecting the text and removing it
195
+ * does not trigger the native HTMLElement input event. So using the "update" event emitted by the
196
+ * Tiptap to capture it as an "input" customEvent in the rich text editor.
197
+ *
198
+ * Prose Mirror issue: https://discuss.prosemirror.net/t/how-to-handle-select-backspace-delete-cut-type-kind-of-events-handletextinput-or-handledomevents-input-doesnt-help/4844
199
+ */
200
+ private stopNativeInputEventPropagation;
201
+ private unbindNativeInputEvent;
202
+ private queueUpdateScrollbarWidth;
203
+ private updateScrollbarWidth;
204
+ private onResize;
205
+ private getTipTapExtension;
206
+ private setEditorTabIndex;
207
+ private forceFocusEditor;
208
+ }
209
+ export interface RichTextEditor extends ARIAGlobalStatesAndProperties {
118
210
  }
119
211
  export declare const richTextEditorTag: string;
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { observable } from '@microsoft/fast-element';
3
- import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
2
+ import { observable, attr, DOM } from '@microsoft/fast-element';
3
+ import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
4
4
  import { keyEnter, keySpace } from '@microsoft/fast-web-utilities';
5
5
  import { Editor } from '@tiptap/core';
6
6
  import { schema, defaultMarkdownParser, MarkdownParser, MarkdownSerializer, defaultMarkdownSerializer } from 'prosemirror-markdown';
@@ -13,6 +13,7 @@ import Italic from '@tiptap/extension-italic';
13
13
  import ListItem from '@tiptap/extension-list-item';
14
14
  import OrderedList from '@tiptap/extension-ordered-list';
15
15
  import Paragraph from '@tiptap/extension-paragraph';
16
+ import Placeholder from '@tiptap/extension-placeholder';
16
17
  import Text from '@tiptap/extension-text';
17
18
  import { template } from './template';
18
19
  import { styles } from './styles';
@@ -21,12 +22,57 @@ import { styles } from './styles';
21
22
  */
22
23
  export class RichTextEditor extends FoundationElement {
23
24
  constructor() {
24
- super();
25
+ super(...arguments);
26
+ /**
27
+ * @internal
28
+ */
29
+ this.editor = this.createEditor();
30
+ /**
31
+ * @internal
32
+ */
33
+ this.tiptapEditor = this.createTiptapEditor();
34
+ /**
35
+ * Whether to disable user from editing and interacting with toolbar buttons
36
+ *
37
+ * @public
38
+ * HTML Attribute: disabled
39
+ */
40
+ this.disabled = false;
41
+ /**
42
+ * Whether to hide the footer of the rich text editor
43
+ *
44
+ * @public
45
+ * HTML Attribute: footer-hidden
46
+ */
47
+ this.footerHidden = false;
48
+ /**
49
+ * Whether to display the error state.
50
+ *
51
+ * @public
52
+ * HTML Attribute: error-visible
53
+ */
54
+ this.errorVisible = false;
55
+ /**
56
+ * The width of the vertical scrollbar, if displayed.
57
+ * @internal
58
+ */
59
+ this.scrollbarWidth = -1;
60
+ this.updateScrollbarWidthQueued = false;
25
61
  this.markdownParser = this.initializeMarkdownParser();
26
62
  this.markdownSerializer = this.initializeMarkdownSerializer();
27
63
  this.domSerializer = DOMSerializer.fromSchema(schema);
28
64
  this.xmlSerializer = new XMLSerializer();
29
- this.initializeEditor();
65
+ }
66
+ /**
67
+ * True if the editor is empty or contains only whitespace, false otherwise.
68
+ *
69
+ * @public
70
+ */
71
+ get empty() {
72
+ // Tiptap [isEmpty](https://tiptap.dev/api/editor#is-empty) returns false even if the editor has only whitespace.
73
+ // However, the expectation is to return true if the editor is empty or contains only whitespace.
74
+ // Hence, by retrieving the current text content using Tiptap state docs and then trimming the string to determine whether it is empty or not.
75
+ return this.tiptapEditor.state.doc.textContent.trim().length === 0;
30
76
  }
31
77
  /**
32
78
  * @internal
@@ -37,6 +83,10 @@ export class RichTextEditor extends FoundationElement {
37
83
  this.editorContainer.append(this.editor);
38
84
  }
39
85
  this.bindEditorTransactionEvent();
86
+ this.bindEditorUpdateEvent();
87
+ this.stopNativeInputEventPropagation();
88
+ this.resizeObserver = new ResizeObserver(() => this.onResize());
89
+ this.resizeObserver.observe(this);
40
90
  }
41
91
  /**
42
92
  * @internal
@@ -44,6 +94,38 @@ export class RichTextEditor extends FoundationElement {
44
94
  disconnectedCallback() {
45
95
  super.disconnectedCallback();
46
96
  this.unbindEditorTransactionEvent();
97
+ this.unbindEditorUpdateEvent();
98
+ this.unbindNativeInputEvent();
99
+ this.resizeObserver?.disconnect();
100
+ }
101
+ /**
102
+ * @internal
103
+ */
104
+ disabledChanged() {
105
+ this.tiptapEditor.setEditable(!this.disabled);
106
+ this.setEditorTabIndex();
107
+ this.editor.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');
108
+ }
109
+ /**
110
+ * Update the placeholder text and view of the editor.
111
+ * @internal
112
+ */
113
+ placeholderChanged() {
114
+ const placeholderExtension = this.getTipTapExtension('placeholder');
115
+ placeholderExtension.options.placeholder = this.placeholder ?? '';
116
+ this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr);
117
+ this.queueUpdateScrollbarWidth();
118
+ }
119
+ /**
120
+ * @internal
121
+ */
122
+ ariaLabelChanged() {
123
+ if (this.ariaLabel !== null && this.ariaLabel !== undefined) {
124
+ this.editor.setAttribute('aria-label', this.ariaLabel);
125
+ }
126
+ else {
127
+ this.editor.removeAttribute('aria-label');
128
+ }
47
129
  }
48
130
  /**
49
131
  * Toggle the bold mark and focus back to the editor
@@ -51,6 +133,7 @@ export class RichTextEditor extends FoundationElement {
51
133
  */
52
134
  boldButtonClick() {
53
135
  this.tiptapEditor.chain().focus().toggleBold().run();
136
+ this.forceFocusEditor();
54
137
  }
55
138
  /**
56
139
  * Toggle the bold mark and focus back to the editor
@@ -59,6 +142,7 @@ export class RichTextEditor extends FoundationElement {
59
142
  boldButtonKeyDown(event) {
60
143
  if (this.keyActivatesButton(event)) {
61
144
  this.tiptapEditor.chain().focus().toggleBold().run();
145
+ this.forceFocusEditor();
62
146
  return false;
63
147
  }
64
148
  return true;
@@ -69,6 +153,7 @@ export class RichTextEditor extends FoundationElement {
69
153
  */
70
154
  italicsButtonClick() {
71
155
  this.tiptapEditor.chain().focus().toggleItalic().run();
156
+ this.forceFocusEditor();
72
157
  }
73
158
  /**
74
159
  * Toggle the italics mark and focus back to the editor
@@ -77,6 +162,7 @@ export class RichTextEditor extends FoundationElement {
77
162
  italicsButtonKeyDown(event) {
78
163
  if (this.keyActivatesButton(event)) {
79
164
  this.tiptapEditor.chain().focus().toggleItalic().run();
165
+ this.forceFocusEditor();
80
166
  return false;
81
167
  }
82
168
  return true;
@@ -87,6 +173,7 @@ export class RichTextEditor extends FoundationElement {
87
173
  */
88
174
  bulletListButtonClick() {
89
175
  this.tiptapEditor.chain().focus().toggleBulletList().run();
176
+ this.forceFocusEditor();
90
177
  }
91
178
  /**
92
179
  * Toggle the unordered list node and focus back to the editor
@@ -95,6 +182,7 @@ export class RichTextEditor extends FoundationElement {
95
182
  bulletListButtonKeyDown(event) {
96
183
  if (this.keyActivatesButton(event)) {
97
184
  this.tiptapEditor.chain().focus().toggleBulletList().run();
185
+ this.forceFocusEditor();
98
186
  return false;
99
187
  }
100
188
  return true;
@@ -105,6 +193,7 @@ export class RichTextEditor extends FoundationElement {
105
193
  */
106
194
  numberedListButtonClick() {
107
195
  this.tiptapEditor.chain().focus().toggleOrderedList().run();
196
+ this.forceFocusEditor();
108
197
  }
109
198
  /**
110
199
  * Toggle the ordered list node and focus back to the editor
@@ -113,6 +202,7 @@ export class RichTextEditor extends FoundationElement {
113
202
  numberedListButtonKeyDown(event) {
114
203
  if (this.keyActivatesButton(event)) {
115
204
  this.tiptapEditor.chain().focus().toggleOrderedList().run();
205
+ this.forceFocusEditor();
116
206
  return false;
117
207
  }
118
208
  return true;
@@ -142,6 +232,39 @@ export class RichTextEditor extends FoundationElement {
142
232
  event.stopPropagation();
143
233
  return false;
144
234
  }
235
+ createEditor() {
236
+ const editor = document.createElement('div');
237
+ editor.className = 'editor';
238
+ editor.setAttribute('aria-multiline', 'true');
239
+ editor.setAttribute('role', 'textbox');
240
+ editor.setAttribute('aria-disabled', 'false');
241
+ return editor;
242
+ }
243
+ createTiptapEditor() {
244
+ /**
245
+ * For more information on the extensions for the supported formatting options, refer to the links below.
246
+ * Tiptap marks: https://tiptap.dev/api/marks
247
+ * Tiptap nodes: https://tiptap.dev/api/nodes
248
+ */
249
+ return new Editor({
250
+ element: this.editor,
251
+ extensions: [
252
+ Document,
253
+ Paragraph,
254
+ Text,
255
+ BulletList,
256
+ OrderedList,
257
+ ListItem,
258
+ Bold,
259
+ Italic,
260
+ History,
261
+ Placeholder.configure({
262
+ placeholder: '',
263
+ showOnlyWhenEditable: false
264
+ })
265
+ ]
266
+ });
267
+ }
145
268
  /**
146
269
  * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
147
270
  */
@@ -208,32 +331,6 @@ export class RichTextEditor extends FoundationElement {
208
331
  }
209
332
  return this.domSerializer.serializeFragment(parsedMarkdownContent.content);
210
333
  }
211
- initializeEditor() {
212
- // Create div from the constructor because the TipTap editor requires its host element before the template is instantiated.
213
- this.editor = document.createElement('div');
214
- this.editor.className = 'editor';
215
- this.editor.setAttribute('aria-multiline', 'true');
216
- this.editor.setAttribute('role', 'textbox');
217
- /**
218
- * For more information on the extensions for the supported formatting options, refer to the links below.
219
- * Tiptap marks: https://tiptap.dev/api/marks
220
- * Tiptap nodes: https://tiptap.dev/api/nodes
221
- */
222
- this.tiptapEditor = new Editor({
223
- element: this.editor,
224
- extensions: [
225
- Document,
226
- Paragraph,
227
- Text,
228
- BulletList,
229
- OrderedList,
230
- ListItem,
231
- Bold,
232
- Italic,
233
- History
234
- ]
235
- });
236
- }
237
334
  /**
238
335
  * Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
239
336
  * various actions such as mouse events, keyboard events, changes in the editor content etc,.
@@ -262,7 +359,90 @@ export class RichTextEditor extends FoundationElement {
262
359
  return false;
263
360
  }
264
361
  }
362
+ unbindEditorUpdateEvent() {
363
+ this.tiptapEditor.off('update');
364
+ }
365
+ /**
366
+ * input event is fired when there is a change in the content of the editor.
367
+ *
368
+ * https://tiptap.dev/api/events#update
369
+ */
370
+ bindEditorUpdateEvent() {
371
+ this.tiptapEditor.on('update', () => {
372
+ this.$emit('input');
373
+ this.queueUpdateScrollbarWidth();
374
+ });
375
+ }
376
+ /**
377
+ * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap
378
+ * since there is an issue (linked below) in ProseMirror where selecting the text and removing it
379
+ * does not trigger the native HTMLElement input event. So using the "update" event emitted by the
380
+ * Tiptap to capture it as an "input" customEvent in the rich text editor.
381
+ *
382
+ * Prose Mirror issue: https://discuss.prosemirror.net/t/how-to-handle-select-backspace-delete-cut-type-kind-of-events-handletextinput-or-handledomevents-input-doesnt-help/4844
383
+ */
384
+ stopNativeInputEventPropagation() {
385
+ this.tiptapEditor.view.dom.addEventListener('input', event => {
386
+ event.stopPropagation();
387
+ });
388
+ }
389
+ unbindNativeInputEvent() {
390
+ this.tiptapEditor.view.dom.removeEventListener('input', () => { });
391
+ }
392
+ queueUpdateScrollbarWidth() {
393
+ if (!this.$fastController.isConnected) {
394
+ return;
395
+ }
396
+ if (!this.updateScrollbarWidthQueued) {
397
+ this.updateScrollbarWidthQueued = true;
398
+ DOM.queueUpdate(() => this.updateScrollbarWidth());
399
+ }
400
+ }
401
+ updateScrollbarWidth() {
402
+ this.updateScrollbarWidthQueued = false;
403
+ this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth
404
+ - this.tiptapEditor.view.dom.clientWidth;
405
+ }
406
+ onResize() {
407
+ this.scrollbarWidth = this.tiptapEditor.view.dom.offsetWidth
408
+ - this.tiptapEditor.view.dom.clientWidth;
409
+ }
410
+ getTipTapExtension(extensionName) {
411
+ return this.tiptapEditor.extensionManager.extensions.find(extension => extension.name === extensionName);
412
+ }
413
+ setEditorTabIndex() {
414
+ this.tiptapEditor.setOptions({
415
+ editorProps: {
416
+ attributes: {
417
+ tabindex: this.disabled ? '-1' : '0'
418
+ }
419
+ }
420
+ });
421
+ }
422
+ // In Firefox browser, once the editor gets focused, the blinking caret will be visible until we click format buttons (Bold, Italic ...) in the Firefox browser (changing focus).
423
+ // But once any of the toolbar button is clicked, editor internally has its focus but the blinking caret disappears.
424
+ // As a workaround, manually triggering blur and setting focus on editor makes the blinking caret to re-appear.
425
+ // Mozilla issue https://bugzilla.mozilla.org/show_bug.cgi?id=1496769 tracks removal of this workaround.
426
+ forceFocusEditor() {
427
+ this.tiptapEditor.commands.blur();
428
+ this.tiptapEditor.commands.focus();
429
+ }
265
430
  }
431
+ __decorate([
432
+ attr({ mode: 'boolean' })
433
+ ], RichTextEditor.prototype, "disabled", void 0);
434
+ __decorate([
435
+ attr({ attribute: 'footer-hidden', mode: 'boolean' })
436
+ ], RichTextEditor.prototype, "footerHidden", void 0);
437
+ __decorate([
438
+ attr({ attribute: 'error-visible', mode: 'boolean' })
439
+ ], RichTextEditor.prototype, "errorVisible", void 0);
440
+ __decorate([
441
+ attr({ attribute: 'error-text' })
442
+ ], RichTextEditor.prototype, "errorText", void 0);
443
+ __decorate([
444
+ attr
445
+ ], RichTextEditor.prototype, "placeholder", void 0);
266
446
  __decorate([
267
447
  observable
268
448
  ], RichTextEditor.prototype, "boldButton", void 0);
@@ -275,6 +455,10 @@ __decorate([
275
455
  __decorate([
276
456
  observable
277
457
  ], RichTextEditor.prototype, "numberedListButton", void 0);
458
+ __decorate([
459
+ observable
460
+ ], RichTextEditor.prototype, "scrollbarWidth", void 0);
461
+ applyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);
278
462
  const nimbleRichTextEditor = RichTextEditor.compose({
279
463
  baseName: 'rich-text-editor',
280
464
  template,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rich-text-editor/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,yBAAyB,EAE5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAQ,MAAM,mBAAmB,CAAC;AACxD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,OAAO,MAAM,2BAA2B,CAAC;AAChD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAC9C,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IAsCjD;QACI,KAAK,EAAE,CAAC;QANK,mBAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,uBAAkB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACzD,kBAAa,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAIjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC1B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,eAAe;QAClB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,KAAoB;QACzC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACI,oBAAoB,CAAC,KAAoB;QAC5C,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,qBAAqB;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACI,uBAAuB,CAAC,KAAoB;QAC/C,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,uBAAuB;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;IAChE,CAAC;IAED;;;OAGG;IACI,yBAAyB,CAAC,KAAoB;QACjD,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAgB;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACI,WAAW;QACd,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACrD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAC9B,CAAC;QACF,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,KAAY;QACpC,iEAAiE;QACjE,sFAAsF;QACtF,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAClE,CAAC;IAEO,wBAAwB;QAC5B;;;;;WAKG;QACH,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErF,uGAAuG;QACvG,oCAAoC;QACpC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,CAAC;YAC9D,UAAU;YACV,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,IAAI,cAAc,CACrB,MAAM,EACN,uBAAuB,EACvB,qBAAqB,CAAC,MAAM,CAC/B,CAAC;IACN,CAAC;IAEO,4BAA4B;QAChC;;;;;WAKG;QACH,MAAM,eAAe,GAAG,SAAS,WAAW,CACxC,KAA8B,EAC9B,IAAU;YAEV,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,KAAgB,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC/B,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC;YAC/D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;;;;WAKG;QACH,MAAM,KAAK,GAAG;YACV,UAAU,EAAE,yBAAyB,CAAC,KAAK,CAAC,WAAY;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,SAAU;YACpD,WAAW,EAAE,eAAe;YAC5B,GAAG,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAI;YACzC,SAAS,EAAE,yBAAyB,CAAC,KAAK,CAAC,SAAU;YACrD,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAK;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACV,MAAM,EAAE,yBAAyB,CAAC,KAAK,CAAC,EAAG;YAC3C,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAO;SAChD,CAAC;QACF,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAEO,kBAAkB,CAAC,KAAa;QACpC,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,qBAAqB,KAAK,IAAI,EAAE;YAChC,OAAO,QAAQ,CAAC,sBAAsB,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACvC,qBAAqB,CAAC,OAAO,CAChC,CAAC;IACN,CAAC;IAEO,gBAAgB;QACpB,2HAA2H;QAC3H,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE5C;;;;WAIG;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC;YAC3B,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU,EAAE;gBACR,QAAQ;gBACR,SAAS;gBACT,IAAI;gBACJ,UAAU;gBACV,WAAW;gBACX,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,OAAO;aACV;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,0BAA0B;QAC9B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChF,CAAC;IAEO,kBAAkB,CAAC,KAAoB;QAC3C,QAAQ,KAAK,CAAC,GAAG,EAAE;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,OAAO,IAAI,CAAC;YAChB;gBACI,OAAO,KAAK,CAAC;SACpB;IACL,CAAC;CACJ;AArTG;IADC,UAAU;kDACsB;AAMjC;IADC,UAAU;qDACyB;AAMpC;IADC,UAAU;wDAC4B;AAMvC;IADC,UAAU;0DAC8B;AAqS7C,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC;IAChD,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/rich-text-editor/index.ts"],"names":[],"mappings":"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"}