@ni/nimble-components 20.14.13 → 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.
- package/dist/all-components-bundle.js +12494 -11702
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +2959 -2861
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/icons/all-icons.d.ts +5 -0
- package/dist/esm/icons/all-icons.js +5 -0
- package/dist/esm/icons/all-icons.js.map +1 -1
- package/dist/esm/icons/calendar-check-lines.d.ts +13 -0
- package/dist/esm/icons/calendar-check-lines.js +16 -0
- package/dist/esm/icons/calendar-check-lines.js.map +1 -0
- package/dist/esm/icons/calendar-day.d.ts +13 -0
- package/dist/esm/icons/calendar-day.js +16 -0
- package/dist/esm/icons/calendar-day.js.map +1 -0
- package/dist/esm/icons/rectangle-check-lines.d.ts +13 -0
- package/dist/esm/icons/rectangle-check-lines.js +16 -0
- package/dist/esm/icons/rectangle-check-lines.js.map +1 -0
- package/dist/esm/icons/screen-check-lines-calendar.d.ts +13 -0
- package/dist/esm/icons/screen-check-lines-calendar.js +16 -0
- package/dist/esm/icons/screen-check-lines-calendar.js.map +1 -0
- package/dist/esm/icons/screen-check-lines.d.ts +13 -0
- package/dist/esm/icons/screen-check-lines.js +16 -0
- package/dist/esm/icons/screen-check-lines.js.map +1 -0
- package/dist/esm/rich-text/base/index.d.ts +36 -0
- package/dist/esm/rich-text/base/index.js +73 -0
- package/dist/esm/rich-text/base/index.js.map +1 -0
- package/dist/esm/rich-text/editor/index.d.ts +25 -27
- package/dist/esm/rich-text/editor/index.js +95 -173
- package/dist/esm/rich-text/editor/index.js.map +1 -1
- package/dist/esm/rich-text/editor/models/create-tiptap-editor.d.ts +3 -0
- package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +228 -0
- package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -0
- package/dist/esm/rich-text/editor/styles.js +9 -1
- package/dist/esm/rich-text/editor/styles.js.map +1 -1
- package/dist/esm/rich-text/editor/template.js +2 -2
- package/dist/esm/rich-text/editor/template.js.map +1 -1
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +4 -0
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +24 -4
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
- package/dist/esm/rich-text/editor/testing/types.d.ts +15 -0
- package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
- package/dist/esm/rich-text/editor/types.d.ts +1 -0
- package/dist/esm/rich-text/editor/types.js +1 -0
- package/dist/esm/rich-text/editor/types.js.map +1 -1
- package/dist/esm/rich-text/models/configuration.d.ts +10 -0
- package/dist/esm/rich-text/models/configuration.js +15 -0
- package/dist/esm/rich-text/models/configuration.js.map +1 -0
- package/dist/esm/rich-text/models/editor-configuration.d.ts +10 -0
- package/dist/esm/rich-text/models/editor-configuration.js +14 -0
- package/dist/esm/rich-text/models/editor-configuration.js.map +1 -0
- package/dist/esm/rich-text/models/markdown-parser-mention-configuration.d.ts +2 -2
- package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js +5 -1
- package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js.map +1 -1
- package/dist/esm/rich-text/models/markdown-parser.d.ts +8 -1
- package/dist/esm/rich-text/models/markdown-parser.js +20 -4
- package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
- package/dist/esm/rich-text/models/markdown-serializer.d.ts +4 -3
- package/dist/esm/rich-text/models/markdown-serializer.js +16 -5
- package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -1
- package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +15 -0
- package/dist/esm/rich-text/models/mention-extension-configuration.js +18 -0
- package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -0
- package/dist/esm/rich-text/viewer/index.d.ts +5 -23
- package/dist/esm/rich-text/viewer/index.js +13 -61
- package/dist/esm/rich-text/viewer/index.js.map +1 -1
- package/dist/esm/rich-text/viewer/styles.js +2 -1
- package/dist/esm/rich-text/viewer/styles.js.map +1 -1
- package/dist/esm/rich-text-mention/base/index.d.ts +17 -16
- package/dist/esm/rich-text-mention/base/index.js +34 -20
- package/dist/esm/rich-text-mention/base/index.js.map +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +9 -4
- package/dist/esm/rich-text-mention/base/models/mention-internals.js +6 -2
- package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
- package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +3 -5
- package/dist/esm/rich-text-mention/base/models/mention-validator.js +6 -10
- package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
- package/dist/esm/rich-text-mention/base/template.d.ts +1 -1
- package/dist/esm/rich-text-mention/base/template.js +1 -1
- package/dist/esm/rich-text-mention/base/template.js.map +1 -1
- package/dist/esm/rich-text-mention/base/types.d.ts +10 -0
- package/dist/esm/rich-text-mention/base/types.js +2 -0
- package/dist/esm/rich-text-mention/base/types.js.map +1 -0
- package/dist/esm/rich-text-mention/users/index.d.ts +2 -3
- package/dist/esm/rich-text-mention/users/index.js +1 -6
- package/dist/esm/rich-text-mention/users/index.js.map +1 -1
- package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.d.ts +1 -1
- package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.js +1 -1
- package/dist/esm/rich-text-mention/users/models/mapping-user-config.js.map +1 -0
- package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.d.ts +4 -2
- package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js +11 -2
- package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js.map +1 -1
- package/dist/esm/rich-text-mention/users/view/styles.js +8 -3
- package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
- package/package.json +4 -2
- package/dist/esm/rich-text-mention/base/models/mapping-user-config.js.map +0 -1
|
@@ -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,
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/template.ts"],"names":[],"mappings":"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"}
|
|
@@ -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()
|
|
167
|
+
return this.getTiptapEditor().firstElementChild?.tagName ?? '';
|
|
157
168
|
}
|
|
158
169
|
getEditorFirstChildTextContent() {
|
|
159
|
-
return this.getTiptapEditor()
|
|
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()
|
|
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
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAoB,MAAM,SAAS,CAAC;AAC1D,OAAO,EACH,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,4BAA4B,EAC/B,MAAM,4CAA4C,CAAC;
|
|
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":"
|
|
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"}
|
|
@@ -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
|
|
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.
|
|
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":"
|
|
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[]):
|
|
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
|
}
|
|
@@ -13,15 +13,21 @@ export class RichTextMarkdownParser {
|
|
|
13
13
|
*/
|
|
14
14
|
static parseMarkdownToDOM(value, markdownParserMentionConfig) {
|
|
15
15
|
try {
|
|
16
|
-
|
|
16
|
+
RichTextMarkdownParser.setup(markdownParserMentionConfig);
|
|
17
17
|
const parsedMarkdownContent = this.markdownParser.parse(value);
|
|
18
18
|
if (parsedMarkdownContent === null) {
|
|
19
|
-
return
|
|
19
|
+
return {
|
|
20
|
+
fragment: document.createDocumentFragment(),
|
|
21
|
+
mentionedHrefs: Array.from(RichTextMarkdownParser.mentionedHrefs)
|
|
22
|
+
};
|
|
20
23
|
}
|
|
21
|
-
return
|
|
24
|
+
return {
|
|
25
|
+
fragment: this.domSerializer.serializeFragment(parsedMarkdownContent.content),
|
|
26
|
+
mentionedHrefs: Array.from(RichTextMarkdownParser.mentionedHrefs)
|
|
27
|
+
};
|
|
22
28
|
}
|
|
23
29
|
finally {
|
|
24
|
-
|
|
30
|
+
RichTextMarkdownParser.cleanup();
|
|
25
31
|
}
|
|
26
32
|
}
|
|
27
33
|
static initializeMarkdownParser() {
|
|
@@ -72,6 +78,7 @@ export class RichTextMarkdownParser {
|
|
|
72
78
|
const currentMention = RichTextMarkdownParser.mentionConfigs?.find(mention => mention.isValidMentionHref(href));
|
|
73
79
|
const displayName = currentMention?.getDisplayName(href);
|
|
74
80
|
if (currentMention && displayName) {
|
|
81
|
+
RichTextMarkdownParser.mentionedHrefs.add(href);
|
|
75
82
|
return [
|
|
76
83
|
currentMention.viewElement,
|
|
77
84
|
{
|
|
@@ -102,8 +109,17 @@ export class RichTextMarkdownParser {
|
|
|
102
109
|
}
|
|
103
110
|
});
|
|
104
111
|
}
|
|
112
|
+
static setup(markdownParserMentionConfig) {
|
|
113
|
+
RichTextMarkdownParser.mentionConfigs = markdownParserMentionConfig;
|
|
114
|
+
RichTextMarkdownParser.mentionedHrefs.clear();
|
|
115
|
+
}
|
|
116
|
+
static cleanup() {
|
|
117
|
+
RichTextMarkdownParser.mentionConfigs = undefined;
|
|
118
|
+
RichTextMarkdownParser.mentionedHrefs.clear();
|
|
119
|
+
}
|
|
105
120
|
}
|
|
106
121
|
_a = RichTextMarkdownParser;
|
|
122
|
+
RichTextMarkdownParser.mentionedHrefs = new Set();
|
|
107
123
|
RichTextMarkdownParser.updatedSchema = _a.getCustomSchemaConfiguration();
|
|
108
124
|
RichTextMarkdownParser.markdownParser = _a.initializeMarkdownParser();
|
|
109
125
|
RichTextMarkdownParser.domSerializer = DOMSerializer.fromSchema(_a.updatedSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,cAAc,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import type { Node } from 'prosemirror-model';
|
|
|
3
3
|
* Provides markdown serializer for rich text components
|
|
4
4
|
*/
|
|
5
5
|
export declare class RichTextMarkdownSerializer {
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
private readonly markdownSerializer;
|
|
7
|
+
constructor(mentionList: string[]);
|
|
8
|
+
serializeDOMToMarkdown(doc: Node): string;
|
|
9
|
+
private initializeMarkdownSerializerForTipTap;
|
|
9
10
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
var _a;
|
|
2
1
|
import { MarkdownSerializer, defaultMarkdownSerializer } from 'prosemirror-markdown';
|
|
3
2
|
/**
|
|
4
3
|
* Provides markdown serializer for rich text components
|
|
5
4
|
*/
|
|
6
5
|
export class RichTextMarkdownSerializer {
|
|
7
|
-
|
|
6
|
+
constructor(mentionList) {
|
|
7
|
+
this.markdownSerializer = this.initializeMarkdownSerializerForTipTap(mentionList);
|
|
8
|
+
}
|
|
9
|
+
serializeDOMToMarkdown(doc) {
|
|
8
10
|
return this.markdownSerializer.serialize(doc);
|
|
9
11
|
}
|
|
10
|
-
|
|
12
|
+
initializeMarkdownSerializerForTipTap(mentionList) {
|
|
11
13
|
/**
|
|
12
14
|
* orderedList Node is getting 'order' attribute which it is not present in the
|
|
13
15
|
* tip-tap orderedList Node and having start instead of order, Changed it to start (nodes.attrs.start)
|
|
@@ -23,6 +25,14 @@ export class RichTextMarkdownSerializer {
|
|
|
23
25
|
return `${state.repeat(' ', maxW - nStr.length) + nStr}. `;
|
|
24
26
|
});
|
|
25
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Same as of auto link serialization https://github.com/ProseMirror/prosemirror-markdown/blob/3e5a5d02f7c1b9336744740149767ee1dc4e954d/src/to_markdown.ts#L136,
|
|
30
|
+
* href been extracted from the mention node and serialized it in between '<>' angular brackets.
|
|
31
|
+
*/
|
|
32
|
+
const mentionNode = function mention(state, node) {
|
|
33
|
+
const href = node.attrs.href;
|
|
34
|
+
state.write(`<${href}>`);
|
|
35
|
+
};
|
|
26
36
|
/**
|
|
27
37
|
* Internally Tiptap editor creates it own schema ( Nodes AND Marks ) based on the extensions ( Here Starter Kit is used for Bold, italic, orderedList and
|
|
28
38
|
* bulletList extensions) and defaultMarkdownSerializer uses schema from prosemirror-markdown to serialize the markdown.
|
|
@@ -38,6 +48,9 @@ export class RichTextMarkdownSerializer {
|
|
|
38
48
|
text: defaultMarkdownSerializer.nodes.text,
|
|
39
49
|
hardBreak: defaultMarkdownSerializer.nodes.hard_break
|
|
40
50
|
};
|
|
51
|
+
mentionList.forEach(item => {
|
|
52
|
+
nodes[item] = mentionNode;
|
|
53
|
+
});
|
|
41
54
|
const marks = {
|
|
42
55
|
italic: defaultMarkdownSerializer.marks.em,
|
|
43
56
|
bold: defaultMarkdownSerializer.marks.strong,
|
|
@@ -66,6 +79,4 @@ export class RichTextMarkdownSerializer {
|
|
|
66
79
|
return new MarkdownSerializer(nodes, marks);
|
|
67
80
|
}
|
|
68
81
|
}
|
|
69
|
-
_a = RichTextMarkdownSerializer;
|
|
70
|
-
RichTextMarkdownSerializer.markdownSerializer = _a.initializeMarkdownSerializerForTipTap();
|
|
71
82
|
//# sourceMappingURL=markdown-serializer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-serializer.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown-serializer.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,yBAAyB,EAE5B,MAAM,sBAAsB,CAAC;AAY9B;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAGnC,YAAmB,WAAqB;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qCAAqC,CAAC,WAAW,CAAC,CAAC;IACtF,CAAC;IAEM,sBAAsB,CAAC,GAAS;QACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEO,qCAAqC,CACzC,WAAqB;QAErB;;;;;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;;;WAGG;QACH,MAAM,WAAW,GAAG,SAAS,OAAO,CAChC,KAA8B,EAC9B,IAAU;YAEV,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC;YACvC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC;QAEF;;;;;WAKG;QACH,MAAM,KAAK,GAAU;YACjB,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;YAC3C,SAAS,EAAE,yBAAyB,CAAC,KAAK,CAAC,UAAW;SACzD,CAAC;QAEF,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG;YACV,MAAM,EAAE,yBAAyB,CAAC,KAAK,CAAC,EAAG;YAC3C,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAO;YAC7C;;;;;;;;;;;;;;eAcG;YACH,IAAI,EAAE;gBACF,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,KAAK;gBACb,wBAAwB,EAAE,IAAI;aACjC;SACJ,CAAC;QAEF,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;CACJ"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';
|
|
2
|
+
import type { MentionUpdateEmitter } from '../../rich-text-mention/base/types';
|
|
3
|
+
/**
|
|
4
|
+
* A configuration object for a Mention extension, to be used by the editor for loading mention plugins in tiptap.
|
|
5
|
+
* This object maintains the necessary internal values for loading mention extension.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MentionExtensionConfiguration {
|
|
8
|
+
private static instance;
|
|
9
|
+
readonly viewElement: string;
|
|
10
|
+
readonly character: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly mentionUpdateEmitter: MentionUpdateEmitter;
|
|
14
|
+
constructor(mentionInternals: MentionInternals);
|
|
15
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { mentionPluginPrefix } from '../editor/types';
|
|
2
|
+
/**
|
|
3
|
+
* A configuration object for a Mention extension, to be used by the editor for loading mention plugins in tiptap.
|
|
4
|
+
* This object maintains the necessary internal values for loading mention extension.
|
|
5
|
+
*/
|
|
6
|
+
export class MentionExtensionConfiguration {
|
|
7
|
+
constructor(mentionInternals) {
|
|
8
|
+
MentionExtensionConfiguration.instance += 1;
|
|
9
|
+
const key = `${mentionPluginPrefix}${MentionExtensionConfiguration.instance}`;
|
|
10
|
+
this.name = key;
|
|
11
|
+
this.key = key;
|
|
12
|
+
this.viewElement = mentionInternals.viewElement;
|
|
13
|
+
this.character = mentionInternals.character;
|
|
14
|
+
this.mentionUpdateEmitter = mentionInternals.mentionUpdateEmitter;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
MentionExtensionConfiguration.instance = 0;
|
|
18
|
+
//# sourceMappingURL=mention-extension-configuration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mention-extension-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/mention-extension-configuration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAStC,YAAmB,gBAAkC;QACjD,6BAA6B,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,mBAAmB,GAAG,6BAA6B,CAAC,QAAQ,EAAE,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,CAAC;;AAjBc,sCAAQ,GAAG,CAAC,CAAC"}
|