@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,228 @@
1
+ import { Editor, mergeAttributes } from '@tiptap/core';
2
+ import Bold from '@tiptap/extension-bold';
3
+ import BulletList from '@tiptap/extension-bullet-list';
4
+ import Document from '@tiptap/extension-document';
5
+ import History from '@tiptap/extension-history';
6
+ import Italic from '@tiptap/extension-italic';
7
+ import Link from '@tiptap/extension-link';
8
+ import ListItem from '@tiptap/extension-list-item';
9
+ import OrderedList from '@tiptap/extension-ordered-list';
10
+ import Paragraph from '@tiptap/extension-paragraph';
11
+ import Placeholder from '@tiptap/extension-placeholder';
12
+ import Text from '@tiptap/extension-text';
13
+ import Mention from '@tiptap/extension-mention';
14
+ import HardBreak from '@tiptap/extension-hard-break';
15
+ import { Slice, Fragment } from 'prosemirror-model';
16
+ import { PluginKey } from 'prosemirror-state';
17
+ import { mentionPluginPrefix } from '../types';
18
+ import { anchorTag } from '../../../anchor';
19
+ const validAbsoluteLinkRegex = /^https?:\/\//i;
20
+ export function createTiptapEditor(editor, mentionExtensionConfig, placeholder) {
21
+ const customLink = createCustomLinkExtension();
22
+ const mentionExtensions = mentionExtensionConfig.map(config => createCustomMentionExtension(config));
23
+ /**
24
+ * For more information on the extensions for the supported formatting options, refer to the links below.
25
+ * Tiptap marks: https://tiptap.dev/api/marks
26
+ * Tiptap nodes: https://tiptap.dev/api/nodes
27
+ */
28
+ const tipTapEditor = new Editor({
29
+ element: editor,
30
+ // The editor will detect markdown syntax for an input only for these items
31
+ // https://tiptap.dev/api/editor#enable-input-rules
32
+ enableInputRules: [BulletList, OrderedList],
33
+ // The editor will not detect markdown syntax when pasting content in any supported items
34
+ // Lists do not have any default paste rules, they have only input rules, so disabled paste rules
35
+ // https://tiptap.dev/api/editor#enable-paste-rules
36
+ enablePasteRules: false,
37
+ editorProps: {
38
+ // Validating whether the links in the pasted content belongs to the supported scheme (HTTPS/HTTP),
39
+ // and rendering it as a link in the editor. If not, rendering it as a plain text.
40
+ // Also, updating the link text content with its href as we support only the absolute link.
41
+ // `transformPasted` can be updated/removed when hyperlink support added
42
+ // See: https://github.com/ni/nimble/issues/1527
43
+ transformPasted
44
+ },
45
+ extensions: [
46
+ Document,
47
+ Paragraph,
48
+ Text,
49
+ BulletList,
50
+ OrderedList,
51
+ ListItem,
52
+ Bold,
53
+ Italic,
54
+ History,
55
+ Placeholder.configure({
56
+ placeholder,
57
+ showOnlyWhenEditable: false
58
+ }),
59
+ HardBreak,
60
+ customLink,
61
+ ...mentionExtensions
62
+ ]
63
+ });
64
+ /**
65
+ * @param slice contains the Fragment of the copied content. If the content is a link, the slice contains Text node with Link mark.
66
+ * ProseMirror reference for `transformPasted`: https://prosemirror.net/docs/ref/#view.EditorProps.transformPasted
67
+ */
68
+ function transformPasted(slice) {
69
+ const modifiedFragment = updateLinkAndMentionNodes(tipTapEditor, slice.content);
70
+ return new Slice(modifiedFragment, slice.openStart, slice.openEnd);
71
+ }
72
+ return tipTapEditor;
73
+ }
74
+ /**
75
+ * Extending the default link mark schema defined in the TipTap.
76
+ *
77
+ * "excludes": https://prosemirror.net/docs/ref/#model.MarkSpec.excludes
78
+ * "inclusive": https://prosemirror.net/docs/ref/#model.MarkSpec.inclusive
79
+ * "parseHTML": https://tiptap.dev/guide/custom-extensions#parse-html
80
+ * "renderHTML": https://tiptap.dev/guide/custom-extensions/#render-html
81
+ */
82
+ function createCustomLinkExtension() {
83
+ return Link.extend({
84
+ // Excludes can be removed/enabled when hyperlink support added
85
+ // See: https://github.com/ni/nimble/issues/1527
86
+ excludes: '_',
87
+ // Inclusive can be updated when hyperlink support added
88
+ // See: https://github.com/ni/nimble/issues/1527
89
+ inclusive: false,
90
+ parseHTML() {
91
+ return [
92
+ // To load the `nimble-anchor` from the HTML parsed content by markdown-parser as links in the Tiptap editor, the `parseHTML`
93
+ // of Link extension should return nimble `anchorTag`.
94
+ // This is because the link mark schema in `markdown-parser.ts` file uses `<nimble-anchor>` as anchor tag and not `<a>`.
95
+ {
96
+ tag: anchorTag
97
+ },
98
+ // `<a>` tag is added here to support when pasting a link from external source.
99
+ {
100
+ tag: 'a'
101
+ }
102
+ ];
103
+ },
104
+ // HTMLAttribute cannot be in camelCase as we want to match it with the name in Tiptap
105
+ // eslint-disable-next-line @typescript-eslint/naming-convention
106
+ renderHTML({ HTMLAttributes }) {
107
+ // The below 'a' tag should be replaced with 'nimble-anchor' once the below issue is fixed.
108
+ // https://github.com/ni/nimble/issues/1516
109
+ return ['a', HTMLAttributes];
110
+ }
111
+ }).configure({
112
+ // HTMLAttribute cannot be in camelCase as we want to match it with the name in Tiptap
113
+ // eslint-disable-next-line @typescript-eslint/naming-convention
114
+ HTMLAttributes: {
115
+ rel: 'noopener noreferrer',
116
+ target: null
117
+ },
118
+ autolink: true,
119
+ openOnClick: false,
120
+ // linkOnPaste can be enabled when hyperlink support added
121
+ // See: https://github.com/ni/nimble/issues/1527
122
+ linkOnPaste: false,
123
+ validate: href => validAbsoluteLinkRegex.test(href)
124
+ });
125
+ }
126
+ function createCustomMentionExtension(config) {
127
+ return Mention.extend({
128
+ name: config.name,
129
+ parseHTML() {
130
+ return [
131
+ {
132
+ tag: config.viewElement
133
+ }
134
+ ];
135
+ },
136
+ addAttributes() {
137
+ return {
138
+ href: {
139
+ default: null,
140
+ parseHTML: element => element.getAttribute('mention-href'),
141
+ renderHTML: attributes => {
142
+ return {
143
+ 'mention-href': attributes.href
144
+ };
145
+ }
146
+ },
147
+ label: {
148
+ default: null,
149
+ parseHTML: element => element.getAttribute('mention-label'),
150
+ renderHTML: attributes => {
151
+ return {
152
+ 'mention-label': attributes.label
153
+ };
154
+ }
155
+ }
156
+ };
157
+ },
158
+ // eslint-disable-next-line @typescript-eslint/naming-convention
159
+ renderHTML({ HTMLAttributes }) {
160
+ return [
161
+ config.viewElement,
162
+ mergeAttributes(this.options.HTMLAttributes, HTMLAttributes,
163
+ // disable-editing is a boolean attribute
164
+ { 'disable-editing': '' })
165
+ ];
166
+ }
167
+ }).configure({
168
+ suggestion: {
169
+ char: config.character,
170
+ decorationTag: config.viewElement,
171
+ pluginKey: new PluginKey(config.key),
172
+ allowSpaces: true,
173
+ render: () => {
174
+ return {
175
+ onStart: (props) => {
176
+ config.mentionUpdateEmitter(props.query);
177
+ },
178
+ onUpdate: (props) => {
179
+ config.mentionUpdateEmitter(props.query);
180
+ }
181
+ };
182
+ }
183
+ }
184
+ });
185
+ }
186
+ /**
187
+ * This method finds the Link mark in the pasted content and update its Text node.
188
+ * If there is no text node, pass the node's fragment recursively and updates only node containing Link mark.
189
+ * If the Text node does not contains Link mark, push the same node to `updatedNodes`.
190
+ *
191
+ * @param fragment Fragment containing the pasted content. [Fragment](https://prosemirror.net/docs/ref/#model.Fragment)
192
+ * @returns modified fragment from the `updatedNode` after updating the valid link text with its href value.
193
+ */
194
+ function updateLinkAndMentionNodes(tiptapEditor, fragment) {
195
+ const updatedNodes = [];
196
+ fragment.forEach(node => {
197
+ if (node.isText && node.marks.length > 0) {
198
+ const linkMark = node.marks.find(mark => mark.type.name === 'link' && mark.attrs);
199
+ if (linkMark) {
200
+ // Checks if the link is valid link or not
201
+ // Needing to separately validate the link on paste is a workaround for a tiptap issue
202
+ // See: https://github.com/ni/nimble/issues/1527
203
+ if (validAbsoluteLinkRegex.test(linkMark.attrs.href)) {
204
+ // The below lines of code is responsible for updating the text content with its href value and creates a new updated text node.
205
+ // This code needs an update when the hyperlink support is added.
206
+ // See: https://github.com/ni/nimble/issues/1527
207
+ updatedNodes.push(tiptapEditor.schema.text(linkMark.attrs.href, node.marks));
208
+ }
209
+ else {
210
+ // If it is a invalid link, creates a new Text node with the same text content and without a Link mark.
211
+ updatedNodes.push(tiptapEditor.schema.text(node.textContent, linkMark.removeFromSet(node.marks)));
212
+ }
213
+ }
214
+ else {
215
+ updatedNodes.push(node);
216
+ }
217
+ }
218
+ else if (node.type.name.startsWith(mentionPluginPrefix)) {
219
+ updatedNodes.push(tiptapEditor.schema.text(node.attrs.label));
220
+ }
221
+ else {
222
+ const updatedContent = updateLinkAndMentionNodes(tiptapEditor, node.content);
223
+ updatedNodes.push(node.copy(updatedContent));
224
+ }
225
+ });
226
+ return Fragment.fromArray(updatedNodes);
227
+ }
228
+ //# sourceMappingURL=create-tiptap-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tiptap-editor.js","sourceRoot":"","sources":["../../../../../src/rich-text/editor/models/create-tiptap-editor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
- import { bodyDisabledFontColor, bodyFont, bodyFontColor, borderHoverColor, borderRgbPartialColor, borderWidth, controlLabelFontColor, controlLabelDisabledFontColor, failColor, iconSize, smallDelay, mediumPadding, standardPadding, linkFontColor } from '../../theme-provider/design-tokens';
3
+ import { bodyDisabledFontColor, bodyFont, bodyFontColor, borderHoverColor, borderRgbPartialColor, borderWidth, controlLabelFontColor, controlLabelDisabledFontColor, failColor, iconSize, smallDelay, mediumPadding, standardPadding, linkFontColor, mentionDisabledFontColor, mentionFontColor } from '../../theme-provider/design-tokens';
4
4
  import { styles as errorStyles } from '../../patterns/error/styles';
5
+ import { richTextMentionUsersViewTag } from '../../rich-text-mention/users/view';
5
6
  export const styles = css `
6
7
  ${display('inline-flex')}
7
8
  ${errorStyles}
@@ -14,6 +15,8 @@ export const styles = css `
14
15
  --ni-private-rich-text-editor-hover-indicator-width: calc(
15
16
  ${borderWidth} + 1px
16
17
  );
18
+ --ni-nimble-private-mention-font-color: ${mentionFontColor};
19
+
17
20
  ${
18
21
  /** Initial height of rich text editor with one line space when the footer is visible. */ ''}
19
22
  height: 82px;
@@ -59,6 +62,11 @@ export const styles = css `
59
62
  :host([disabled]) .container {
60
63
  color: ${bodyDisabledFontColor};
61
64
  border: ${borderWidth} solid rgba(${borderRgbPartialColor}, 0.1);
65
+ --ni-nimble-private-mention-font-color: ${mentionDisabledFontColor};
66
+ }
67
+
68
+ :host([disabled]) ${richTextMentionUsersViewTag} {
69
+ color: ${bodyDisabledFontColor};
62
70
  }
63
71
 
64
72
  :host([error-visible]) .container {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,6BAA6B,EAC7B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EAChB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;MACtB,WAAW;;;gBAGD,QAAQ;;iBAEP,aAAa;;;cAGhB,WAAW;;UAEf;AACE,yFAAyF,CAAC,EAC9F;;;UAGE;AACE,qHAAqH,CAAC,EAC1H;;;;;;;;;;kBAUU,WAAW,eAAe,qBAAqB;;;;;;;4BAOrC,WAAW;;;;;yBAKd,gBAAgB;;4BAEb,UAAU;;;;+BAIP,gBAAgB;;;;;;;;;;iBAU9B,qBAAqB;kBACpB,WAAW,eAAe,qBAAqB;;;;+BAIlC,SAAS;;;;iCAIP,WAAW;;;;;;;;+BAQb,SAAS;;;;;;;;;;kBAUtB,WAAW;;;;;;;;;;;;;;;;;;UAkBnB;AACE,wFAAwF,CAAC,EAC7F;8BACsB,QAAQ;;;;;;MAMhC;AACE;;;;;GAKG,CAAC,EACR;;;;;;;;;;;;;;;;;MAiBE,CAAA,+DAAgE,EAAE;;;;;;;;;;;;;;;;;;MAkBlE;AACE;;;GAGG,CAAC,EACR;;iBAEa,qBAAqB;;;;;;;;;iBASrB,6BAA6B;;;MAGxC;AACE;;;GAGG,CAAC,EACR;;iBAEa,aAAa;;UAEpB;AACE;;;;;;;;GAQG,CAAC,EACR;;;;;iBAKS,qBAAqB;;;;;MAKhC,CAAA,2BAA4B,EAAE;;;;;;kBAMlB,WAAW;iCACI,qBAAqB;;;;;;;;;;;;;;;;;;;;;6BAqBzB,eAAe;eAC7B,eAAe;;;;;;;;;;;eAWf,aAAa;;;CAG3B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,6BAA6B,EAC7B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;MACtB,WAAW;;;gBAGD,QAAQ;;iBAEP,aAAa;;;cAGhB,WAAW;;kDAEyB,gBAAgB;;UAExD;AACE,yFAAyF,CAAC,EAC9F;;;UAGE;AACE,qHAAqH,CAAC,EAC1H;;;;;;;;;;kBAUU,WAAW,eAAe,qBAAqB;;;;;;;4BAOrC,WAAW;;;;;yBAKd,gBAAgB;;4BAEb,UAAU;;;;+BAIP,gBAAgB;;;;;;;;;;iBAU9B,qBAAqB;kBACpB,WAAW,eAAe,qBAAqB;kDACf,wBAAwB;;;wBAGlD,2BAA2B;iBAClC,qBAAqB;;;;+BAIP,SAAS;;;;iCAIP,WAAW;;;;;;;;+BAQb,SAAS;;;;;;;;;;kBAUtB,WAAW;;;;;;;;;;;;;;;;;;UAkBnB;AACE,wFAAwF,CAAC,EAC7F;8BACsB,QAAQ;;;;;;MAMhC;AACE;;;;;GAKG,CAAC,EACR;;;;;;;;;;;;;;;;;MAiBE,CAAA,+DAAgE,EAAE;;;;;;;;;;;;;;;;;;MAkBlE;AACE;;;GAGG,CAAC,EACR;;iBAEa,qBAAqB;;;;;;;;;iBASrB,6BAA6B;;;MAGxC;AACE;;;GAGG,CAAC,EACR;;iBAEa,aAAa;;UAEpB;AACE;;;;;;;;GAQG,CAAC,EACR;;;;;iBAKS,qBAAqB;;;;;MAKhC,CAAA,2BAA4B,EAAE;;;;;;kBAMlB,WAAW;iCACI,qBAAqB;;;;;;;;;;;;;;;;;;;;;6BAqBzB,eAAe;eAC7B,eAAe;;;;;;;;;;;eAWf,aAAa;;;CAG3B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { html, ref } from '@microsoft/fast-element';
1
+ import { children, elements, html, ref } from '@microsoft/fast-element';
2
2
  import { toolbarTag } from '../../toolbar';
3
3
  import { toggleButtonTag } from '../../toggle-button';
4
4
  import { iconBoldBTag } from '../../icons/bold-b';
@@ -10,7 +10,7 @@ import { errorTextTemplate } from '../../patterns/error/template';
10
10
  import { iconExclamationMarkTag } from '../../icons/exclamation-mark';
11
11
  // prettier-ignore
12
12
  export const template = html `
13
- <template>
13
+ <template ${children({ property: 'childItems', filter: elements() })}>
14
14
  <div class="container">
15
15
  <section ${ref('editorContainer')} class="editor-container">
16
16
  </section>
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,+BAA+B,EAClC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAgB;gBAC5B,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;;uBAEjD,GAAG,CAAC,iBAAiB,CAAC;;eAE9B,sBAAsB;;oCAED,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;wEAC5B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc;iBAC5E,sBAAsB;;mBAEpB,UAAU;uBACN,eAAe;0BACZ,GAAG,CAAC,YAAY,CAAC;;;qCAGN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;gCAEpB,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;iCAC1C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;kCACvB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;mCACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAsB,CAAC;;0BAEhE,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;2BAC1C,YAAY,mBAAmB,YAAY;wBAC9C,eAAe;uBAChB,eAAe;0BACZ,GAAG,CAAC,eAAe,CAAC;;;qCAGT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;gCAEpB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;iCAC7C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE;kCAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;mCACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAsB,CAAC;;0BAEnE,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC,CAAC;2BAC7C,cAAc,mBAAmB,cAAc;wBAClD,eAAe;uBAChB,eAAe;0BACZ,GAAG,CAAC,kBAAkB,CAAC;;;qCAGZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;gCAEpB,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAAC;iCAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE;kCAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;mCACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAsB,CAAC;;0BAEtE,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAAC;2BAClD,WAAW,mBAAmB,WAAW;wBAC5C,eAAe;uBAChB,eAAe;0BACZ,GAAG,CAAC,oBAAoB,CAAC;;;qCAGd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;gCAEpB,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAAC;iCAClD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE;kCAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC;mCACxC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAsB,CAAC;;0BAExE,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,CAAC;2BAClD,iBAAiB,mBAAmB,iBAAiB;wBACxD,eAAe;oBACnB,UAAU;;;;;cAKhB,iBAAiB;;;CAG9B,CAAC"}
@@ -28,11 +28,14 @@ export declare class RichTextEditorPageObject {
28
28
  pasteHTMLToEditor(htmlString: string): void;
29
29
  setEditorTextContent(value: string): Promise<void>;
30
30
  replaceEditorContent(value: string): Promise<void>;
31
+ sliceEditorContent(number: number): Promise<void>;
31
32
  getEditorLastChildAttribute(attribute: string): string;
33
+ getEditorMentionViewAttributeValues(attribute: string): string[];
32
34
  getEditorFirstChildTagName(): string;
33
35
  getEditorFirstChildTextContent(): string;
34
36
  getEditorTextContents(): string[];
35
37
  getEditorTagNames(): string[];
38
+ getMarkdownRenderedTagNames(): string[];
36
39
  getEditorLeafContents(): string[];
37
40
  getEditorTagNamesWithClosingTags(): string[];
38
41
  getFormattingButtonTextContent(toolbarButton: ToolbarButton): string;
@@ -44,6 +47,7 @@ export declare class RichTextEditorPageObject {
44
47
  setDisabled(disabled: boolean): Promise<void>;
45
48
  isButtonDisabled(button: ToolbarButton): boolean;
46
49
  getPlaceholderValue(): string;
50
+ getParsedHtmlFromMarkdown(markdown: string): string;
47
51
  private getEditorSection;
48
52
  private getFooter;
49
53
  private getTiptapEditor;
@@ -2,6 +2,8 @@ import { keySpace, keyEnter, keyTab } from '@microsoft/fast-web-utilities';
2
2
  import { waitForUpdatesAsync } from '../../../testing/async-helpers';
3
3
  import { ToolbarButton } from './types';
4
4
  import { getTagsFromElement, getLeafContentsFromElement, getLastChildElement, getLastChildElementAttribute } from '../../models/testing/markdown-parser-utils';
5
+ import { richTextMentionUsersViewTag } from '../../../rich-text-mention/users/view';
6
+ import { RichTextMarkdownParser } from '../../models/markdown-parser';
5
7
  /**
6
8
  * Page object for the `nimble-rich-text-editor` component.
7
9
  */
@@ -149,14 +151,23 @@ export class RichTextEditorPageObject {
149
151
  lastElement.parentElement.textContent = value;
150
152
  await waitForUpdatesAsync();
151
153
  }
154
+ async sliceEditorContent(number) {
155
+ const lastElement = this.getEditorLastChildElement();
156
+ const text = lastElement.parentElement.textContent;
157
+ lastElement.parentElement.textContent = text.substring(0, text.length - number);
158
+ await waitForUpdatesAsync();
159
+ }
152
160
  getEditorLastChildAttribute(attribute) {
153
161
  return getLastChildElementAttribute(attribute, this.getTiptapEditor());
154
162
  }
163
+ getEditorMentionViewAttributeValues(attribute) {
164
+ return Array.from(this.getTiptapEditor().querySelectorAll(richTextMentionUsersViewTag)).map(el => el.getAttribute(attribute) || '');
165
+ }
155
166
  getEditorFirstChildTagName() {
156
- return this.getTiptapEditor()?.firstElementChild?.tagName ?? '';
167
+ return this.getTiptapEditor().firstElementChild?.tagName ?? '';
157
168
  }
158
169
  getEditorFirstChildTextContent() {
159
- return this.getTiptapEditor()?.firstElementChild?.textContent ?? '';
170
+ return this.getTiptapEditor().firstElementChild?.textContent ?? '';
160
171
  }
161
172
  getEditorTextContents() {
162
173
  return Array.from(this.getTiptapEditor().querySelectorAll('*')).map(el => el.textContent || '');
@@ -164,6 +175,11 @@ export class RichTextEditorPageObject {
164
175
  getEditorTagNames() {
165
176
  return getTagsFromElement(this.getTiptapEditor());
166
177
  }
178
+ // Return list of tags, excluding those such as 'IMG' (prosemirror-separator) that do not affect the UI or markdown output.
179
+ // These tags are considered extraneous and are added by prosemirror.
180
+ getMarkdownRenderedTagNames() {
181
+ return getTagsFromElement(this.getTiptapEditor()).filter(tag => tag !== 'IMG');
182
+ }
167
183
  getEditorLeafContents() {
168
184
  return getLeafContentsFromElement(this.getTiptapEditor());
169
185
  }
@@ -197,7 +213,7 @@ export class RichTextEditorPageObject {
197
213
  === this.getTiptapEditor());
198
214
  }
199
215
  getEditorTabIndex() {
200
- return this.getTiptapEditor()?.getAttribute('tabindex') ?? '';
216
+ return this.getTiptapEditor().getAttribute('tabindex') ?? '';
201
217
  }
202
218
  async setFooterHidden(footerHidden) {
203
219
  if (footerHidden) {
@@ -229,6 +245,10 @@ export class RichTextEditorPageObject {
229
245
  const editor = this.getTiptapEditor();
230
246
  return editor.firstElementChild?.getAttribute('data-placeholder') ?? '';
231
247
  }
248
+ getParsedHtmlFromMarkdown(markdown) {
249
+ const parseResult = RichTextMarkdownParser.parseMarkdownToDOM(markdown, this.richTextEditorElement.configuration?.parserMentionConfig);
250
+ return this.richTextEditorElement.xmlSerializer.serializeToString(parseResult.fragment);
251
+ }
232
252
  getEditorSection() {
233
253
  return this.richTextEditorElement.shadowRoot?.querySelector('.editor');
234
254
  }
@@ -236,7 +256,7 @@ export class RichTextEditorPageObject {
236
256
  return this.richTextEditorElement.shadowRoot.querySelector('.footer-section');
237
257
  }
238
258
  getTiptapEditor() {
239
- return this.richTextEditorElement.shadowRoot?.querySelector('.ProseMirror');
259
+ return this.richTextEditorElement.shadowRoot.querySelector('.ProseMirror');
240
260
  }
241
261
  getFormattingButton(button) {
242
262
  const buttons = this.richTextEditorElement.shadowRoot.querySelectorAll('nimble-toggle-button');
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-editor.pageobject.js","sourceRoot":"","sources":["../../../../../src/rich-text/editor/testing/rich-text-editor.pageobject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rich-text-editor.pageobject.js","sourceRoot":"","sources":["../../../../../src/rich-text/editor/testing/rich-text-editor.pageobject.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ import type { MappingUser } from '../../../mapping/user';
2
+ import type { RichTextMentionTest } from '../../../rich-text-mention/base/tests/rich-text-mention.fixtures';
3
+ import type { RichTextMentionUsers } from '../../../rich-text-mention/users';
1
4
  export declare const ToolbarButton: {
2
5
  readonly bold: 0;
3
6
  readonly italics: 1;
@@ -7,3 +10,15 @@ export declare const ToolbarButton: {
7
10
  export declare type ToolbarButton = (typeof ToolbarButton)[keyof typeof ToolbarButton];
8
11
  export declare type LabelProvider = 'toggleBold' | 'toggleItalics' | 'toggleBulletedList' | 'toggleNumberedList';
9
12
  export declare type ToolbarButtonKey = keyof typeof ToolbarButton;
13
+ export interface UserMentionElements {
14
+ userMentionElement: RichTextMentionUsers;
15
+ mappingElements: MappingUser[];
16
+ }
17
+ export interface TestMentionElements {
18
+ testMentionElement: RichTextMentionTest;
19
+ mappingElements: MappingUser[];
20
+ }
21
+ export interface MappingConfiguration {
22
+ key?: string;
23
+ displayName?: string;
24
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/rich-text/editor/testing/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,CAAC;CACT,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/rich-text/editor/testing/types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,CAAC;CACT,CAAC"}
@@ -7,3 +7,4 @@ export declare const TipTapNodeName: {
7
7
  readonly numberedList: "orderedList";
8
8
  };
9
9
  export declare type TipTapNodeName = (typeof TipTapNodeName)[keyof typeof TipTapNodeName];
10
+ export declare const mentionPluginPrefix = "mention-plugin-";
@@ -6,4 +6,5 @@ export const TipTapNodeName = {
6
6
  bulletList: 'bulletList',
7
7
  numberedList: 'orderedList'
8
8
  };
9
+ export const mentionPluginPrefix = 'mention-plugin-';
9
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,aAAa;CACrB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,aAAa;CACrB,CAAC;AAKX,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { RichTextMention } from '../../rich-text-mention/base';
2
+ import { MarkdownParserMentionConfiguration } from './markdown-parser-mention-configuration';
3
+ /**
4
+ * Base class for Configuration, contains mention configuration required for RichTextMarkdownParser
5
+ */
6
+ export declare class Configuration {
7
+ parserMentionConfig: MarkdownParserMentionConfiguration[];
8
+ protected isValid: boolean;
9
+ constructor(mentionElements: RichTextMention[]);
10
+ }
@@ -0,0 +1,15 @@
1
+ import { MarkdownParserMentionConfiguration } from './markdown-parser-mention-configuration';
2
+ /**
3
+ * Base class for Configuration, contains mention configuration required for RichTextMarkdownParser
4
+ */
5
+ export class Configuration {
6
+ constructor(mentionElements) {
7
+ this.parserMentionConfig = [];
8
+ this.isValid = true;
9
+ this.isValid = mentionElements.every(mentionElement => mentionElement.mentionInternals.validConfiguration);
10
+ this.parserMentionConfig = this.isValid
11
+ ? mentionElements.map(mentionElement => new MarkdownParserMentionConfiguration(mentionElement.mentionInternals))
12
+ : [];
13
+ }
14
+ }
15
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAE7F;;GAEG;AACH,MAAM,OAAO,aAAa;IAKtB,YAAmB,eAAkC;QAJ9C,wBAAmB,GAAyC,EAAE,CAAC;QAE5D,YAAO,GAAG,IAAI,CAAC;QAGrB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,KAAK,CAChC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CACvE,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO;YACnC,CAAC,CAAC,eAAe,CAAC,GAAG,CACjB,cAAc,CAAC,EAAE,CAAC,IAAI,kCAAkC,CACpD,cAAc,CAAC,gBAAgB,CAClC,CACJ;YACD,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ import type { RichTextMention } from '../../rich-text-mention/base';
2
+ import { Configuration } from './configuration';
3
+ import { MentionExtensionConfiguration } from './mention-extension-configuration';
4
+ /**
5
+ * EditorConfiguration which will hold mentionExtensionConfig for configuring editor's mention extension and RichTextMarkdownSerializer
6
+ */
7
+ export declare class EditorConfiguration extends Configuration {
8
+ mentionExtensionConfig: MentionExtensionConfiguration[];
9
+ constructor(mentionElements: RichTextMention[]);
10
+ }
@@ -0,0 +1,14 @@
1
+ import { Configuration } from './configuration';
2
+ import { MentionExtensionConfiguration } from './mention-extension-configuration';
3
+ /**
4
+ * EditorConfiguration which will hold mentionExtensionConfig for configuring editor's mention extension and RichTextMarkdownSerializer
5
+ */
6
+ export class EditorConfiguration extends Configuration {
7
+ constructor(mentionElements) {
8
+ super(mentionElements);
9
+ this.mentionExtensionConfig = this.isValid
10
+ ? mentionElements.map(mentionElement => new MentionExtensionConfiguration(mentionElement.mentionInternals))
11
+ : [];
12
+ }
13
+ }
14
+ //# sourceMappingURL=editor-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/editor-configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IAGlD,YAAmB,eAAkC;QACjD,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO;YACtC,CAAC,CAAC,eAAe,CAAC,GAAG,CACjB,cAAc,CAAC,EAAE,CAAC,IAAI,6BAA6B,CAC/C,cAAc,CAAC,gBAAgB,CAClC,CACJ;YACD,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;CACJ"}
@@ -1,4 +1,3 @@
1
- import type { RichTextMentionConfig } from '../../rich-text-mention/base';
2
1
  import type { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';
3
2
  /**
4
3
  * A configuration object for a Markdown parser, to be used by the viewer and editor components.
@@ -8,7 +7,8 @@ export declare class MarkdownParserMentionConfiguration {
8
7
  readonly viewElement: string;
9
8
  private readonly regexPattern;
10
9
  private readonly mappingConfigs?;
11
- constructor(mentionInternals: MentionInternals<RichTextMentionConfig>);
10
+ constructor(mentionInternals: MentionInternals);
11
+ static isObservedMentionInternalsProperty(arg: unknown): boolean;
12
12
  isValidMentionHref(mentionHref: string): boolean;
13
13
  getDisplayName(mentionHref: string): string | undefined;
14
14
  private extractMentionId;
@@ -5,9 +5,13 @@
5
5
  export class MarkdownParserMentionConfiguration {
6
6
  constructor(mentionInternals) {
7
7
  this.regexPattern = new RegExp(mentionInternals.pattern ?? '');
8
- this.mappingConfigs = mentionInternals.mentionConfig?.mappingConfigs;
8
+ this.mappingConfigs = mentionInternals.mappingConfigs;
9
9
  this.viewElement = mentionInternals.viewElement;
10
10
  }
11
+ static isObservedMentionInternalsProperty(arg) {
12
+ return (typeof arg === 'string'
13
+ && ['pattern', 'mappingConfigs'].includes(arg));
14
+ }
11
15
  isValidMentionHref(mentionHref) {
12
16
  return this.regexPattern.test(mentionHref);
13
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parser-mention-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser-mention-configuration.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,OAAO,kCAAkC;IAM3C,YACI,gBAAyD;QAEzD,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;IACpD,CAAC;IAEM,kBAAkB,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEM,cAAc,CAAC,WAAmB;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,cAAc,EAAE,WAAW,IAAI,SAAS,CAAC;IACpD,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExD,kEAAkE;QAClE,iEAAiE;QACjE,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACzC,CAAC;CACJ"}
1
+ {"version":3,"file":"markdown-parser-mention-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser-mention-configuration.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,kCAAkC;IAM3C,YAAmB,gBAAkC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,kCAAkC,CAAC,GAAY;QACzD,OAAO,CACH,OAAO,GAAG,KAAK,QAAQ;eACpB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CACjD,CAAC;IACN,CAAC;IAEM,kBAAkB,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEM,cAAc,CAAC,WAAmB;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,cAAc,EAAE,WAAW,IAAI,SAAS,CAAC;IACpD,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExD,kEAAkE;QAClE,iEAAiE;QACjE,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACzC,CAAC;CACJ"}
@@ -1,8 +1,13 @@
1
1
  import type { MarkdownParserMentionConfiguration } from './markdown-parser-mention-configuration';
2
+ export interface ParseResult {
3
+ fragment: HTMLElement | DocumentFragment;
4
+ mentionedHrefs: string[];
5
+ }
2
6
  /**
3
7
  * Provides markdown parser for rich text components
4
8
  */
5
9
  export declare class RichTextMarkdownParser {
10
+ private static readonly mentionedHrefs;
6
11
  private static readonly updatedSchema;
7
12
  private static readonly markdownParser;
8
13
  private static readonly domSerializer;
@@ -17,7 +22,9 @@ export declare class RichTextMarkdownParser {
17
22
  * DOM structure using a DOMSerializer, and returns the serialized result.
18
23
  * If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
19
24
  */
20
- static parseMarkdownToDOM(value: string, markdownParserMentionConfig?: MarkdownParserMentionConfiguration[]): HTMLElement | DocumentFragment;
25
+ static parseMarkdownToDOM(value: string, markdownParserMentionConfig?: MarkdownParserMentionConfiguration[]): ParseResult;
21
26
  private static initializeMarkdownParser;
22
27
  private static getCustomSchemaConfiguration;
28
+ private static setup;
29
+ private static cleanup;
23
30
  }