@ni/nimble-components 20.15.0 → 20.15.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.
Files changed (76) hide show
  1. package/dist/all-components-bundle.js +12405 -11698
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2923 -2830
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/rich-text/base/index.d.ts +36 -0
  6. package/dist/esm/rich-text/base/index.js +73 -0
  7. package/dist/esm/rich-text/base/index.js.map +1 -0
  8. package/dist/esm/rich-text/editor/index.d.ts +25 -27
  9. package/dist/esm/rich-text/editor/index.js +95 -173
  10. package/dist/esm/rich-text/editor/index.js.map +1 -1
  11. package/dist/esm/rich-text/editor/models/create-tiptap-editor.d.ts +3 -0
  12. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +228 -0
  13. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -0
  14. package/dist/esm/rich-text/editor/styles.js +9 -1
  15. package/dist/esm/rich-text/editor/styles.js.map +1 -1
  16. package/dist/esm/rich-text/editor/template.js +2 -2
  17. package/dist/esm/rich-text/editor/template.js.map +1 -1
  18. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +4 -0
  19. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +24 -4
  20. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  21. package/dist/esm/rich-text/editor/testing/types.d.ts +15 -0
  22. package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
  23. package/dist/esm/rich-text/editor/types.d.ts +1 -0
  24. package/dist/esm/rich-text/editor/types.js +1 -0
  25. package/dist/esm/rich-text/editor/types.js.map +1 -1
  26. package/dist/esm/rich-text/models/configuration.d.ts +10 -0
  27. package/dist/esm/rich-text/models/configuration.js +15 -0
  28. package/dist/esm/rich-text/models/configuration.js.map +1 -0
  29. package/dist/esm/rich-text/models/editor-configuration.d.ts +10 -0
  30. package/dist/esm/rich-text/models/editor-configuration.js +14 -0
  31. package/dist/esm/rich-text/models/editor-configuration.js.map +1 -0
  32. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.d.ts +2 -2
  33. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js +5 -1
  34. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js.map +1 -1
  35. package/dist/esm/rich-text/models/markdown-parser.d.ts +8 -1
  36. package/dist/esm/rich-text/models/markdown-parser.js +20 -4
  37. package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
  38. package/dist/esm/rich-text/models/markdown-serializer.d.ts +4 -3
  39. package/dist/esm/rich-text/models/markdown-serializer.js +16 -5
  40. package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -1
  41. package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +15 -0
  42. package/dist/esm/rich-text/models/mention-extension-configuration.js +18 -0
  43. package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -0
  44. package/dist/esm/rich-text/viewer/index.d.ts +5 -23
  45. package/dist/esm/rich-text/viewer/index.js +13 -61
  46. package/dist/esm/rich-text/viewer/index.js.map +1 -1
  47. package/dist/esm/rich-text/viewer/styles.js +2 -1
  48. package/dist/esm/rich-text/viewer/styles.js.map +1 -1
  49. package/dist/esm/rich-text-mention/base/index.d.ts +17 -16
  50. package/dist/esm/rich-text-mention/base/index.js +34 -20
  51. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  52. package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +9 -4
  53. package/dist/esm/rich-text-mention/base/models/mention-internals.js +6 -2
  54. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  55. package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +3 -5
  56. package/dist/esm/rich-text-mention/base/models/mention-validator.js +6 -10
  57. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
  58. package/dist/esm/rich-text-mention/base/template.d.ts +1 -1
  59. package/dist/esm/rich-text-mention/base/template.js +1 -1
  60. package/dist/esm/rich-text-mention/base/template.js.map +1 -1
  61. package/dist/esm/rich-text-mention/base/types.d.ts +10 -0
  62. package/dist/esm/rich-text-mention/base/types.js +2 -0
  63. package/dist/esm/rich-text-mention/base/types.js.map +1 -0
  64. package/dist/esm/rich-text-mention/users/index.d.ts +2 -3
  65. package/dist/esm/rich-text-mention/users/index.js +1 -6
  66. package/dist/esm/rich-text-mention/users/index.js.map +1 -1
  67. package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.d.ts +1 -1
  68. package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.js +1 -1
  69. package/dist/esm/rich-text-mention/users/models/mapping-user-config.js.map +1 -0
  70. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.d.ts +4 -2
  71. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js +11 -2
  72. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js.map +1 -1
  73. package/dist/esm/rich-text-mention/users/view/styles.js +8 -3
  74. package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
  75. package/package.json +3 -1
  76. package/dist/esm/rich-text-mention/base/models/mapping-user-config.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { type Notifier } from '@microsoft/fast-element';
2
+ import { FoundationElement } from '@microsoft/fast-foundation';
3
+ import { RichTextMention } from '../../rich-text-mention/base';
4
+ import { Configuration } from '../models/configuration';
5
+ /**
6
+ * Base class for rich text components
7
+ */
8
+ export declare abstract class RichText extends FoundationElement {
9
+ /**
10
+ * @internal
11
+ */
12
+ mentionInternalsNotifiers: Notifier[];
13
+ /**
14
+ * @internal
15
+ */
16
+ readonly childItems: Element[];
17
+ /**
18
+ * @internal
19
+ */
20
+ configuration?: Configuration;
21
+ protected mentionElements: RichTextMention[];
22
+ /**
23
+ * @internal
24
+ */
25
+ abstract getMentionedHrefs(): string[];
26
+ /**
27
+ * @internal
28
+ */
29
+ handleChange(source: unknown, args: unknown): void;
30
+ protected mentionElementsChanged(_old: unknown, _new: unknown): void;
31
+ protected createConfig(): Configuration;
32
+ private childItemsChanged;
33
+ private updateMentionElementsFromChildItems;
34
+ private observeMentionInternals;
35
+ private removeMentionInternalsObservers;
36
+ }
@@ -0,0 +1,73 @@
1
+ import { __decorate } from "tslib";
2
+ import { Observable, observable } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { RichTextMention } from '../../rich-text-mention/base';
5
+ import { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';
6
+ import { Configuration } from '../models/configuration';
7
+ import { MarkdownParserMentionConfiguration } from '../models/markdown-parser-mention-configuration';
8
+ /**
9
+ * Base class for rich text components
10
+ */
11
+ export class RichText extends FoundationElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * @internal
16
+ */
17
+ this.mentionInternalsNotifiers = [];
18
+ /**
19
+ * @internal
20
+ */
21
+ this.childItems = [];
22
+ }
23
+ /**
24
+ * @internal
25
+ */
26
+ handleChange(source, args) {
27
+ if (source instanceof MentionInternals
28
+ && MarkdownParserMentionConfiguration.isObservedMentionInternalsProperty(args)) {
29
+ this.configuration = this.createConfig();
30
+ }
31
+ }
32
+ mentionElementsChanged(_old, _new) {
33
+ this.observeMentionInternals();
34
+ this.configuration = this.createConfig();
35
+ }
36
+ createConfig() {
37
+ return new Configuration(this.mentionElements);
38
+ }
39
+ childItemsChanged(_prev, _next) {
40
+ void this.updateMentionElementsFromChildItems();
41
+ }
42
+ async updateMentionElementsFromChildItems() {
43
+ const definedElements = this.childItems.map(async (item) => (item.matches(':not(:defined)')
44
+ ? customElements.whenDefined(item.localName)
45
+ : Promise.resolve()));
46
+ await Promise.all(definedElements);
47
+ this.mentionElements = this.childItems.filter((x) => x instanceof RichTextMention);
48
+ }
49
+ observeMentionInternals() {
50
+ this.removeMentionInternalsObservers();
51
+ for (const mention of this.mentionElements) {
52
+ const notifierInternals = Observable.getNotifier(mention.mentionInternals);
53
+ notifierInternals.subscribe(this);
54
+ this.mentionInternalsNotifiers.push(notifierInternals);
55
+ }
56
+ }
57
+ removeMentionInternalsObservers() {
58
+ this.mentionInternalsNotifiers.forEach(notifier => {
59
+ notifier.unsubscribe(this);
60
+ });
61
+ this.mentionInternalsNotifiers = [];
62
+ }
63
+ }
64
+ __decorate([
65
+ observable
66
+ ], RichText.prototype, "childItems", void 0);
67
+ __decorate([
68
+ observable
69
+ ], RichText.prototype, "configuration", void 0);
70
+ __decorate([
71
+ observable
72
+ ], RichText.prototype, "mentionElements", void 0);
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,kCAAkC,EAAE,MAAM,iDAAiD,CAAC;AAErG;;GAEG;AACH,MAAM,OAAgB,QAAS,SAAQ,iBAAiB;IAAxD;;QACI;;WAEG;QACI,8BAAyB,GAAe,EAAE,CAAC;QAElD;;WAEG;QAEa,eAAU,GAAc,EAAE,CAAC;IAuE/C,CAAC;IAvDG;;OAEG;IACI,YAAY,CAAC,MAAe,EAAE,IAAa;QAC9C,IACI,MAAM,YAAY,gBAAgB;eAC/B,kCAAkC,CAAC,kCAAkC,CACpE,IAAI,CACP,EACH;YACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SAC5C;IACL,CAAC;IAES,sBAAsB,CAAC,IAAa,EAAE,IAAa;QACzD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7C,CAAC;IAES,YAAY;QAClB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAC,KAAc,EAAE,KAAc;QACpD,KAAK,IAAI,CAAC,mCAAmC,EAAE,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,mCAAmC;QAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACrF,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,YAAY,eAAe,CAC5D,CAAC;IACN,CAAC;IAEO,uBAAuB;QAC3B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YACxC,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAC5C,OAAO,CAAC,gBAAgB,CAC3B,CAAC;YACF,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC1D;IACL,CAAC;IAEO,+BAA+B;QACnC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9C,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;IACxC,CAAC;CACJ;AAvEG;IADC,UAAU;4CACgC;AAM3C;IADC,UAAU;+CAC0B;AAGrC;IADC,UAAU;iDACmC"}
@@ -1,7 +1,9 @@
1
- import { ARIAGlobalStatesAndProperties, FoundationElement } from '@microsoft/fast-foundation';
2
- import { Editor } from '@tiptap/core';
1
+ import { ARIAGlobalStatesAndProperties } from '@microsoft/fast-foundation';
3
2
  import type { ToggleButton } from '../../toggle-button';
4
3
  import type { ErrorPattern } from '../../patterns/error/types';
4
+ import { RichTextMarkdownSerializer } from '../models/markdown-serializer';
5
+ import { RichText } from '../base';
6
+ import { EditorConfiguration } from '../models/editor-configuration';
5
7
  declare global {
6
8
  interface HTMLElementTagNameMap {
7
9
  'nimble-rich-text-editor': RichTextEditor;
@@ -10,7 +12,7 @@ declare global {
10
12
  /**
11
13
  * A nimble styled rich text editor
12
14
  */
13
- export declare class RichTextEditor extends FoundationElement implements ErrorPattern {
15
+ export declare class RichTextEditor extends RichText implements ErrorPattern {
14
16
  /**
15
17
  * @internal
16
18
  */
@@ -18,7 +20,15 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
18
20
  /**
19
21
  * @internal
20
22
  */
21
- tiptapEditor: Editor;
23
+ tiptapEditor: import("@tiptap/core").Editor;
24
+ /**
25
+ * @internal
26
+ */
27
+ readonly xmlSerializer: XMLSerializer;
28
+ /**
29
+ * @internal
30
+ */
31
+ richTextMarkdownSerializer: RichTextMarkdownSerializer;
22
32
  /**
23
33
  * Whether to disable user from editing and interacting with toolbar buttons
24
34
  *
@@ -85,8 +95,6 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
85
95
  editorContainer: HTMLDivElement;
86
96
  private resizeObserver?;
87
97
  private updateScrollbarWidthQueued;
88
- private readonly xmlSerializer;
89
- private readonly validAbsoluteLinkRegex;
90
98
  /**
91
99
  * @internal
92
100
  */
@@ -103,11 +111,15 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
103
111
  * Update the placeholder text and view of the editor.
104
112
  * @internal
105
113
  */
106
- placeholderChanged(): void;
114
+ placeholderChanged(_prev: unknown, _next: unknown): void;
107
115
  /**
108
116
  * @internal
109
117
  */
110
- ariaLabelChanged(): void;
118
+ ariaLabelChanged(_prev: unknown, _next: unknown): void;
119
+ /**
120
+ * @internal
121
+ */
122
+ configurationChanged(prev: EditorConfiguration | undefined, next: EditorConfiguration): void;
111
123
  /**
112
124
  * Toggle the bold mark and focus back to the editor
113
125
  * @internal
@@ -162,26 +174,11 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
162
174
  * @internal
163
175
  */
164
176
  stopEventPropagation(event: Event): boolean;
177
+ getMentionedHrefs(): string[];
178
+ protected createConfig(): EditorConfiguration;
179
+ private isMentionExtensionConfigUnchanged;
165
180
  private createEditor;
166
- /**
167
- * This method finds the Link mark in the pasted content and update its Text node.
168
- * If there is no text node, pass the node's fragment recursively and updates only node containing Link mark.
169
- * If the Text node does not contains Link mark, push the same node to `updatedNodes`.
170
- *
171
- * @param fragment Fragment containing the pasted content. [Fragment](https://prosemirror.net/docs/ref/#model.Fragment)
172
- * @returns modified fragment from the `updatedNode` after updating the valid link text with its href value.
173
- */
174
- private readonly updateLinkNodes;
175
- private createTiptapEditor;
176
- /**
177
- * Extending the default link mark schema defined in the TipTap.
178
- *
179
- * "excludes": https://prosemirror.net/docs/ref/#model.MarkSpec.excludes
180
- * "inclusive": https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive
181
- * "parseHTML": https://tiptap.dev/guide/custom-extensions#parse-html
182
- * "renderHTML": https://tiptap.dev/guide/custom-extensions/#render-html
183
- */
184
- private getCustomLinkExtension;
181
+ private initializeEditor;
185
182
  /**
186
183
  * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
187
184
  */
@@ -202,6 +199,7 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
202
199
  * https://tiptap.dev/api/events#update
203
200
  */
204
201
  private bindEditorUpdateEvent;
202
+ private disableEditor;
205
203
  /**
206
204
  * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap
207
205
  * since there is an issue (linked below) in ProseMirror where selecting the text and removing it
@@ -1,31 +1,20 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { observable, attr, DOM } from '@microsoft/fast-element';
3
- import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
3
+ import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem } from '@microsoft/fast-foundation';
4
4
  import { keyEnter, keySpace } from '@microsoft/fast-web-utilities';
5
- import { Editor, findParentNode, isList } from '@tiptap/core';
6
- import Bold from '@tiptap/extension-bold';
7
- import BulletList from '@tiptap/extension-bullet-list';
8
- import Document from '@tiptap/extension-document';
9
- import History from '@tiptap/extension-history';
10
- import Italic from '@tiptap/extension-italic';
11
- import Link from '@tiptap/extension-link';
12
- import ListItem from '@tiptap/extension-list-item';
13
- import OrderedList from '@tiptap/extension-ordered-list';
14
- import Paragraph from '@tiptap/extension-paragraph';
15
- import Placeholder from '@tiptap/extension-placeholder';
16
- import Text from '@tiptap/extension-text';
17
- import HardBreak from '@tiptap/extension-hard-break';
18
- import { Slice, Fragment } from 'prosemirror-model';
5
+ import { findParentNode, isList } from '@tiptap/core';
19
6
  import { template } from './template';
20
7
  import { styles } from './styles';
21
- import { TipTapNodeName } from './types';
8
+ import { TipTapNodeName, mentionPluginPrefix } from './types';
22
9
  import { RichTextMarkdownParser } from '../models/markdown-parser';
23
10
  import { RichTextMarkdownSerializer } from '../models/markdown-serializer';
24
- import { anchorTag } from '../../anchor';
11
+ import { RichText } from '../base';
12
+ import { createTiptapEditor } from './models/create-tiptap-editor';
13
+ import { EditorConfiguration } from '../models/editor-configuration';
25
14
  /**
26
15
  * A nimble styled rich text editor
27
16
  */
28
- export class RichTextEditor extends FoundationElement {
17
+ export class RichTextEditor extends RichText {
29
18
  constructor() {
30
19
  super(...arguments);
31
20
  /**
@@ -35,7 +24,15 @@ export class RichTextEditor extends FoundationElement {
35
24
  /**
36
25
  * @internal
37
26
  */
38
- this.tiptapEditor = this.createTiptapEditor();
27
+ this.tiptapEditor = createTiptapEditor(this.editor, [], this.placeholder);
28
+ /**
29
+ * @internal
30
+ */
31
+ this.xmlSerializer = new XMLSerializer();
32
+ /**
33
+ * @internal
34
+ */
35
+ this.richTextMarkdownSerializer = new RichTextMarkdownSerializer([]);
39
36
  /**
40
37
  * Whether to disable user from editing and interacting with toolbar buttons
41
38
  *
@@ -63,47 +60,6 @@ export class RichTextEditor extends FoundationElement {
63
60
  */
64
61
  this.scrollbarWidth = -1;
65
62
  this.updateScrollbarWidthQueued = false;
66
- this.xmlSerializer = new XMLSerializer();
67
- this.validAbsoluteLinkRegex = /^https?:\/\//i;
68
- /**
69
- * This method finds the Link mark in the pasted content and update its Text node.
70
- * If there is no text node, pass the node's fragment recursively and updates only node containing Link mark.
71
- * If the Text node does not contains Link mark, push the same node to `updatedNodes`.
72
- *
73
- * @param fragment Fragment containing the pasted content. [Fragment](https://prosemirror.net/docs/ref/#model.Fragment)
74
- * @returns modified fragment from the `updatedNode` after updating the valid link text with its href value.
75
- */
76
- this.updateLinkNodes = (fragment) => {
77
- const updatedNodes = [];
78
- fragment.forEach(node => {
79
- if (node.isText && node.marks.length > 0) {
80
- const linkMark = node.marks.find(mark => mark.type.name === 'link' && mark.attrs);
81
- if (linkMark) {
82
- // Checks if the link is valid link or not
83
- // Needing to separately validate the link on paste is a workaround for a tiptap issue
84
- // See: https://github.com/ni/nimble/issues/1527
85
- if (this.validAbsoluteLinkRegex.test(linkMark.attrs.href)) {
86
- // The below lines of code is responsible for updating the text content with its href value and creates a new updated text node.
87
- // This code needs an update when the hyperlink support is added.
88
- // See: https://github.com/ni/nimble/issues/1527
89
- updatedNodes.push(this.tiptapEditor.schema.text(linkMark.attrs.href, node.marks));
90
- }
91
- else {
92
- // If it is a invalid link, creates a new Text node with the same text content and without a Link mark.
93
- updatedNodes.push(this.tiptapEditor.schema.text(node.textContent, linkMark.removeFromSet(node.marks)));
94
- }
95
- }
96
- else {
97
- updatedNodes.push(node);
98
- }
99
- }
100
- else {
101
- const updatedContent = this.updateLinkNodes(node.content);
102
- updatedNodes.push(node.copy(updatedContent));
103
- }
104
- });
105
- return Fragment.fromArray(updatedNodes);
106
- };
107
63
  }
108
64
  /**
109
65
  * True if the editor is empty or contains only whitespace, false otherwise.
@@ -112,9 +68,20 @@ export class RichTextEditor extends FoundationElement {
112
68
  */
113
69
  get empty() {
114
70
  // Tiptap [isEmpty](https://tiptap.dev/api/editor#is-empty) returns false even if the editor has only whitespace.
115
- // However, the expectation is to return true if the editor is empty or contains only whitespace.
116
- // Hence, by retrieving the current text content using Tiptap state docs and then trimming the string to determine whether it is empty or not.
117
- return this.tiptapEditor.state.doc.textContent.trim().length === 0;
71
+ // Get the prose mirror textContent of all the nodes with whitespace trimmed to see if it is empty
72
+ // Mention nodes are formatted as empty text content, so if empty make sure there are no mention nodes remaining
73
+ if (this.tiptapEditor.state.doc.textContent.trim() === '') {
74
+ let hasMention = false;
75
+ this.tiptapEditor.state.doc.descendants(node => {
76
+ if (node.type.name.startsWith(mentionPluginPrefix)) {
77
+ hasMention = true;
78
+ }
79
+ const continueDescent = hasMention === false;
80
+ return continueDescent;
81
+ });
82
+ return !hasMention;
83
+ }
84
+ return false;
118
85
  }
119
86
  /**
120
87
  * @internal
@@ -144,15 +111,13 @@ export class RichTextEditor extends FoundationElement {
144
111
  * @internal
145
112
  */
146
113
  disabledChanged() {
147
- this.tiptapEditor.setEditable(!this.disabled);
148
- this.setEditorTabIndex();
149
- this.editor.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');
114
+ this.disableEditor();
150
115
  }
151
116
  /**
152
117
  * Update the placeholder text and view of the editor.
153
118
  * @internal
154
119
  */
155
- placeholderChanged() {
120
+ placeholderChanged(_prev, _next) {
156
121
  const placeholderExtension = this.getTipTapExtension('placeholder');
157
122
  placeholderExtension.options.placeholder = this.placeholder ?? '';
158
123
  this.tiptapEditor.view.dispatch(this.tiptapEditor.state.tr);
@@ -161,7 +126,7 @@ export class RichTextEditor extends FoundationElement {
161
126
  /**
162
127
  * @internal
163
128
  */
164
- ariaLabelChanged() {
129
+ ariaLabelChanged(_prev, _next) {
165
130
  if (this.ariaLabel !== null && this.ariaLabel !== undefined) {
166
131
  this.editor.setAttribute('aria-label', this.ariaLabel);
167
132
  }
@@ -169,6 +134,22 @@ export class RichTextEditor extends FoundationElement {
169
134
  this.editor.removeAttribute('aria-label');
170
135
  }
171
136
  }
137
+ /**
138
+ * @internal
139
+ */
140
+ configurationChanged(prev, next) {
141
+ if (this.isMentionExtensionConfigUnchanged(prev, next)) {
142
+ this.setMarkdown(this.getMarkdown());
143
+ }
144
+ else {
145
+ const currentStateMarkdown = this.getMarkdown();
146
+ this.richTextMarkdownSerializer = new RichTextMarkdownSerializer(this.configuration instanceof EditorConfiguration
147
+ ? this.configuration.mentionExtensionConfig.map(config => config.name)
148
+ : []);
149
+ this.initializeEditor();
150
+ this.setMarkdown(currentStateMarkdown);
151
+ }
152
+ }
172
153
  /**
173
154
  * Toggle the bold mark and focus back to the editor
174
155
  * @internal
@@ -254,7 +235,7 @@ export class RichTextEditor extends FoundationElement {
254
235
  * @public
255
236
  */
256
237
  getMarkdown() {
257
- return RichTextMarkdownSerializer.serializeDOMToMarkdown(this.tiptapEditor.state.doc);
238
+ return this.richTextMarkdownSerializer.serializeDOMToMarkdown(this.tiptapEditor.state.doc);
258
239
  }
259
240
  /**
260
241
  * @internal
@@ -265,6 +246,29 @@ export class RichTextEditor extends FoundationElement {
265
246
  event.stopPropagation();
266
247
  return false;
267
248
  }
249
+ getMentionedHrefs() {
250
+ const mentionedHrefs = new Set();
251
+ this.tiptapEditor.state.doc.descendants(node => {
252
+ if (node.type.name.startsWith(mentionPluginPrefix)) {
253
+ mentionedHrefs.add(node.attrs.href);
254
+ }
255
+ });
256
+ return Array.from(mentionedHrefs);
257
+ }
258
+ createConfig() {
259
+ return new EditorConfiguration(this.mentionElements);
260
+ }
261
+ isMentionExtensionConfigUnchanged(prev, next) {
262
+ const prevConfigCharacters = prev?.mentionExtensionConfig
263
+ .map(config => config.character)
264
+ .sort((a, b) => a.localeCompare(b))
265
+ .toString();
266
+ const nextConfigCharacters = next.mentionExtensionConfig
267
+ .map(config => config.character)
268
+ .sort((a, b) => a.localeCompare(b))
269
+ .toString();
270
+ return prevConfigCharacters === nextConfigCharacters;
271
+ }
268
272
  createEditor() {
269
273
  const editor = document.createElement('div');
270
274
  editor.className = 'editor';
@@ -273,115 +277,25 @@ export class RichTextEditor extends FoundationElement {
273
277
  editor.setAttribute('aria-disabled', 'false');
274
278
  return editor;
275
279
  }
276
- createTiptapEditor() {
277
- const customLink = this.getCustomLinkExtension();
278
- /**
279
- * @param slice contains the Fragment of the copied content. If the content is a link, the slice contains Text node with Link mark.
280
- * ProseMirror reference for `transformPasted`: https://prosemirror.net/docs/ref/#view.EditorProps.transformPasted
281
- */
282
- const transformPasted = (slice) => {
283
- const modifiedFragment = this.updateLinkNodes(slice.content);
284
- return new Slice(modifiedFragment, slice.openStart, slice.openEnd);
285
- };
286
- /**
287
- * For more information on the extensions for the supported formatting options, refer to the links below.
288
- * Tiptap marks: https://tiptap.dev/api/marks
289
- * Tiptap nodes: https://tiptap.dev/api/nodes
290
- */
291
- return new Editor({
292
- element: this.editor,
293
- // The editor will detect markdown syntax for an input only for these items
294
- // https://tiptap.dev/api/editor#enable-input-rules
295
- enableInputRules: [BulletList, OrderedList],
296
- // The editor will not detect markdown syntax when pasting content in any supported items
297
- // Lists do not have any default paste rules, they have only input rules, so disabled paste rules
298
- // https://tiptap.dev/api/editor#enable-paste-rules
299
- enablePasteRules: false,
300
- editorProps: {
301
- // Validating whether the links in the pasted content belongs to the supported scheme (HTTPS/HTTP),
302
- // and rendering it as a link in the editor. If not, rendering it as a plain text.
303
- // Also, updating the link text content with its href as we support only the absolute link.
304
- // `transformPasted` can be updated/removed when hyperlink support added
305
- // See: https://github.com/ni/nimble/issues/1527
306
- transformPasted
307
- },
308
- extensions: [
309
- Document,
310
- Paragraph,
311
- Text,
312
- BulletList,
313
- OrderedList,
314
- ListItem,
315
- Bold,
316
- Italic,
317
- History,
318
- Placeholder.configure({
319
- placeholder: '',
320
- showOnlyWhenEditable: false
321
- }),
322
- HardBreak,
323
- customLink.configure({
324
- // HTMLAttribute cannot be in camelCase as we want to match it with the name in Tiptap
325
- // eslint-disable-next-line @typescript-eslint/naming-convention
326
- HTMLAttributes: {
327
- rel: 'noopener noreferrer',
328
- target: null
329
- },
330
- autolink: true,
331
- openOnClick: false,
332
- // linkOnPaste can be enabled when hyperlink support added
333
- // See: https://github.com/ni/nimble/issues/1527
334
- linkOnPaste: false,
335
- validate: href => this.validAbsoluteLinkRegex.test(href)
336
- })
337
- ]
338
- });
339
- }
340
- /**
341
- * Extending the default link mark schema defined in the TipTap.
342
- *
343
- * "excludes": https://prosemirror.net/docs/ref/#model.MarkSpec.excludes
344
- * "inclusive": https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive
345
- * "parseHTML": https://tiptap.dev/guide/custom-extensions#parse-html
346
- * "renderHTML": https://tiptap.dev/guide/custom-extensions/#render-html
347
- */
348
- getCustomLinkExtension() {
349
- return Link.extend({
350
- // Excludes can be removed/enabled when hyperlink support added
351
- // See: https://github.com/ni/nimble/issues/1527
352
- excludes: '_',
353
- // Inclusive can be updated when hyperlink support added
354
- // See: https://github.com/ni/nimble/issues/1527
355
- inclusive: false,
356
- parseHTML() {
357
- return [
358
- // To load the `nimble-anchor` from the HTML parsed content by markdown-parser as links in the Tiptap editor, the `parseHTML`
359
- // of Link extension should return nimble `anchorTag`.
360
- // This is because the link mark schema in `markdown-parser.ts` file uses `<nimble-anchor>` as anchor tag and not `<a>`.
361
- {
362
- tag: anchorTag
363
- },
364
- // `<a>` tag is added here to support when pasting a link from external source.
365
- {
366
- tag: 'a'
367
- }
368
- ];
369
- },
370
- // HTMLAttribute cannot be in camelCase as we want to match it with the name in Tiptap
371
- // eslint-disable-next-line @typescript-eslint/naming-convention
372
- renderHTML({ HTMLAttributes }) {
373
- // The below 'a' tag should be replaced with 'nimble-anchor' once the below issue is fixed.
374
- // https://github.com/ni/nimble/issues/1516
375
- return ['a', HTMLAttributes];
376
- }
377
- });
280
+ initializeEditor() {
281
+ this.unbindEditorTransactionEvent();
282
+ this.unbindEditorUpdateEvent();
283
+ this.unbindNativeInputEvent();
284
+ this.tiptapEditor?.destroy();
285
+ this.tiptapEditor = createTiptapEditor(this.editor, this.configuration instanceof EditorConfiguration
286
+ ? this.configuration.mentionExtensionConfig
287
+ : [], this.placeholder);
288
+ this.disableEditor();
289
+ this.bindEditorTransactionEvent();
290
+ this.bindEditorUpdateEvent();
291
+ this.stopNativeInputEventPropagation();
378
292
  }
379
293
  /**
380
294
  * This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
381
295
  */
382
296
  getHtmlContent(markdown) {
383
- const documentFragment = RichTextMarkdownParser.parseMarkdownToDOM(markdown);
384
- return this.xmlSerializer.serializeToString(documentFragment);
297
+ const parseResult = RichTextMarkdownParser.parseMarkdownToDOM(markdown, this.configuration?.parserMentionConfig);
298
+ return this.xmlSerializer.serializeToString(parseResult.fragment);
385
299
  }
386
300
  /**
387
301
  * Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
@@ -397,6 +311,9 @@ export class RichTextEditor extends FoundationElement {
397
311
  this.tiptapEditor.off('transaction');
398
312
  }
399
313
  updateEditorButtonsState() {
314
+ if (!this.$fastController.isConnected) {
315
+ return;
316
+ }
400
317
  const { extensionManager, state } = this.tiptapEditor;
401
318
  const { extensions } = extensionManager;
402
319
  const { selection } = state;
@@ -429,6 +346,11 @@ export class RichTextEditor extends FoundationElement {
429
346
  this.queueUpdateScrollbarWidth();
430
347
  });
431
348
  }
349
+ disableEditor() {
350
+ this.tiptapEditor.setEditable(!this.disabled);
351
+ this.setEditorTabIndex();
352
+ this.editor.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');
353
+ }
432
354
  /**
433
355
  * Stopping the native input event propagation emitted by the contenteditable element in the Tiptap
434
356
  * since there is an issue (linked below) in ProseMirror where selecting the text and removing it
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACH,WAAW,EACX,6BAA6B,EAC7B,YAAY,EACZ,iBAAiB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACH,MAAM,EACN,cAAc,EACd,MAAM,EAIT,MAAM,cAAc,CAAC;AACtB,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,IAAqB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAExD,OAAO,IAAI,MAAM,wBAAwB,CAAC;AAC1C,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAQ,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IAArD;;QACI;;WAEG;QACI,WAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpC;;WAEG;QACI,iBAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD;;;;;WAKG;QAEI,aAAQ,GAAG,KAAK,CAAC;QAExB;;;;;WAKG;QAEI,iBAAY,GAAG,KAAK,CAAC;QAE5B;;;;;WAKG;QAEI,iBAAY,GAAG,KAAK,CAAC;QAsD5B;;;WAGG;QAEI,mBAAc,GAAG,CAAC,CAAC,CAAC;QAQnB,+BAA0B,GAAG,KAAK,CAAC;QAE1B,kBAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,2BAAsB,GAAG,eAAe,CAAC;QAuL1D;;;;;;;WAOG;QACc,oBAAe,GAAG,CAAC,QAAkB,EAAY,EAAE;YAChE,MAAM,YAAY,GAAW,EAAE,CAAC;YAEhC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAClD,CAAC;oBACF,IAAI,QAAQ,EAAE;wBACV,0CAA0C;wBAC1C,sFAAsF;wBACtF,gDAAgD;wBAChD,IACI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAC5B,QAAQ,CAAC,KAAK,CAAC,IAAc,CAChC,EACH;4BACE,gIAAgI;4BAChI,iEAAiE;4BACjE,gDAAgD;4BAChD,YAAY,CAAC,IAAI,CACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CACzB,QAAQ,CAAC,KAAK,CAAC,IAAc,EAC7B,IAAI,CAAC,KAAK,CACb,CACJ,CAAC;yBACL;6BAAM;4BACH,uGAAuG;4BACvG,YAAY,CAAC,IAAI,CACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,EAChB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CACrC,CACJ,CAAC;yBACL;qBACJ;yBAAM;wBACH,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;iBACJ;qBAAM;oBACH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1D,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;iBAChD;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC;IAmON,CAAC;IAngBG;;;;OAIG;IACH,IAAW,KAAK;QACZ,iHAAiH;QACjH,iGAAiG;QACjG,8IAA8I;QAC9I,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACvE,CAAC;IA4CD;;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;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACa,oBAAoB;QAChC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,YAAY,CACpB,eAAe,EACf,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnC,CAAC;IACN,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACrB,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAChD,aAAa,CACiB,CAAC;QACnC,oBAAoB,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB;QACnB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YACzD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC1D;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;SAC7C;IACL,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,OAAO,0BAA0B,CAAC,sBAAsB,CACpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAC9B,CAAC;IACN,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,KAAY;QACpC,iEAAiE;QACjE,sFAAsF;QACtF,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,YAAY;QAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAyDO,kBAAkB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEjD;;;WAGG;QACH,MAAM,eAAe,GAAG,CAAC,KAAY,EAAS,EAAE;YAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7D,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF;;;;WAIG;QACH,OAAO,IAAI,MAAM,CAAC;YACd,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,2EAA2E;YAC3E,mDAAmD;YACnD,gBAAgB,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;YAC3C,yFAAyF;YACzF,iGAAiG;YACjG,mDAAmD;YACnD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE;gBACT,mGAAmG;gBACnG,kFAAkF;gBAClF,2FAA2F;gBAE3F,wEAAwE;gBACxE,gDAAgD;gBAChD,eAAe;aAClB;YACD,UAAU,EAAE;gBACR,QAAQ;gBACR,SAAS;gBACT,IAAI;gBACJ,UAAU;gBACV,WAAW;gBACX,QAAQ;gBACR,IAAI;gBACJ,MAAM;gBACN,OAAO;gBACP,WAAW,CAAC,SAAS,CAAC;oBAClB,WAAW,EAAE,EAAE;oBACf,oBAAoB,EAAE,KAAK;iBAC9B,CAAC;gBACF,SAAS;gBACT,UAAU,CAAC,SAAS,CAAC;oBACjB,sFAAsF;oBACtF,gEAAgE;oBAChE,cAAc,EAAE;wBACZ,GAAG,EAAE,qBAAqB;wBAC1B,MAAM,EAAE,IAAI;qBACf;oBACD,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,KAAK;oBAClB,0DAA0D;oBAC1D,gDAAgD;oBAChD,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC3D,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,+DAA+D;YAC/D,gDAAgD;YAChD,QAAQ,EAAE,GAAG;YACb,wDAAwD;YACxD,gDAAgD;YAChD,SAAS,EAAE,KAAK;YAChB,SAAS;gBACL,OAAO;oBACH,6HAA6H;oBAC7H,sDAAsD;oBACtD,wHAAwH;oBACxH;wBACI,GAAG,EAAE,SAAS;qBACjB;oBACD,+EAA+E;oBAC/E;wBACI,GAAG,EAAE,GAAG;qBACX;iBACJ,CAAC;YACN,CAAC;YACD,sFAAsF;YACtF,gEAAgE;YAChE,UAAU,CAAC,EAAE,cAAc,EAAE;gBACzB,2FAA2F;gBAC3F,2CAA2C;gBAC3C,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YACjC,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,QAAgB;QACnC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAClE,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,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;QACtD,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC;QACxC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,IAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEvH,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,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,OAAO,GAAG,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,YAAY,CAAC;IACjG,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;IAEO,uBAAuB;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,qBAAqB;QACzB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACK,+BAA+B;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACzD,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEO,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YACnC,OAAO;SACV;QACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAClC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YACvC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SACtD;IACL,CAAC;IAEO,oBAAoB;QACxB,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;cACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,CAAC;IAEO,QAAQ;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;cACtD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;IACjD,CAAC;IAEO,kBAAkB,CACtB,aAAqB;QAErB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CACrD,CAAC,SAA2B,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CACpE,CAAC;IACN,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACzB,WAAW,EAAE;gBACT,UAAU,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBACvC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;CACJ;AAviBG;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gDACF;AASxB;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oDAC1B;AAS5B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oDAC1B;AAS5B;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;iDACR;AAO1B;IADC,IAAI;mDACuB;AAkB5B;IADC,UAAU;kDACsB;AAMjC;IADC,UAAU;qDACyB;AAMpC;IADC,UAAU;wDAC4B;AAMvC;IADC,UAAU;0DAC8B;AAOzC;IADC,UAAU;sDACgB;AA8d/B,WAAW,CAAC,cAAc,EAAE,6BAA6B,CAAC,CAAC;AAE3D,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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"}
@@ -0,0 +1,3 @@
1
+ import { Editor } from '@tiptap/core';
2
+ import type { MentionExtensionConfiguration } from '../../models/mention-extension-configuration';
3
+ export declare function createTiptapEditor(editor: HTMLDivElement, mentionExtensionConfig: MentionExtensionConfiguration[], placeholder?: string): Editor;