@ni/nimble-components 20.2.6 → 20.2.7
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 +13047 -13055
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +1261 -1260
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/rich-text/editor/index.d.ts +0 -6
- package/dist/esm/rich-text/editor/index.js +4 -67
- package/dist/esm/rich-text/editor/index.js.map +1 -1
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +3 -6
- package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
- package/dist/esm/rich-text/models/markdown-parser.d.ts +14 -0
- package/dist/esm/rich-text/models/markdown-parser.js +41 -0
- package/dist/esm/rich-text/models/markdown-parser.js.map +1 -0
- package/dist/esm/rich-text/models/markdown-serializer.d.ts +9 -0
- package/dist/esm/rich-text/models/markdown-serializer.js +49 -0
- package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -0
- package/dist/esm/rich-text/models/testing/markdown-parser-utils.d.ts +2 -0
- package/dist/esm/rich-text/models/testing/markdown-parser-utils.js +13 -0
- package/dist/esm/rich-text/models/testing/markdown-parser-utils.js.map +1 -0
- package/dist/esm/rich-text/viewer/index.d.ts +0 -11
- package/dist/esm/rich-text/viewer/index.js +3 -36
- package/dist/esm/rich-text/viewer/index.js.map +1 -1
- package/dist/esm/src/rich-text/editor/index.d.ts +0 -6
- package/dist/esm/src/rich-text/models/markdown-parser.d.ts +14 -0
- package/dist/esm/src/rich-text/models/markdown-serializer.d.ts +9 -0
- package/dist/esm/src/rich-text/models/testing/markdown-parser-utils.d.ts +2 -0
- package/dist/esm/src/rich-text/viewer/index.d.ts +0 -11
- package/package.json +1 -1
|
@@ -85,9 +85,6 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
|
|
|
85
85
|
editorContainer: HTMLDivElement;
|
|
86
86
|
private resizeObserver?;
|
|
87
87
|
private updateScrollbarWidthQueued;
|
|
88
|
-
private readonly markdownParser;
|
|
89
|
-
private readonly markdownSerializer;
|
|
90
|
-
private readonly domSerializer;
|
|
91
88
|
private readonly xmlSerializer;
|
|
92
89
|
/**
|
|
93
90
|
* @internal
|
|
@@ -170,9 +167,6 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
|
|
|
170
167
|
* This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
|
|
171
168
|
*/
|
|
172
169
|
private getHtmlContent;
|
|
173
|
-
private initializeMarkdownParser;
|
|
174
|
-
private initializeMarkdownSerializer;
|
|
175
|
-
private parseMarkdownToDOM;
|
|
176
170
|
/**
|
|
177
171
|
* Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
|
|
178
172
|
* various actions such as mouse events, keyboard events, changes in the editor content etc,.
|
|
@@ -3,8 +3,6 @@ import { observable, attr, DOM } from '@microsoft/fast-element';
|
|
|
3
3
|
import { applyMixins, ARIAGlobalStatesAndProperties, DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
|
|
4
4
|
import { keyEnter, keySpace } from '@microsoft/fast-web-utilities';
|
|
5
5
|
import { Editor, findParentNode, isList } from '@tiptap/core';
|
|
6
|
-
import { schema, defaultMarkdownParser, MarkdownParser, MarkdownSerializer, defaultMarkdownSerializer } from 'prosemirror-markdown';
|
|
7
|
-
import { DOMSerializer } from 'prosemirror-model';
|
|
8
6
|
import Bold from '@tiptap/extension-bold';
|
|
9
7
|
import BulletList from '@tiptap/extension-bullet-list';
|
|
10
8
|
import Document from '@tiptap/extension-document';
|
|
@@ -18,6 +16,8 @@ import Text from '@tiptap/extension-text';
|
|
|
18
16
|
import { template } from './template';
|
|
19
17
|
import { styles } from './styles';
|
|
20
18
|
import { TipTapNodeName } from './types';
|
|
19
|
+
import { RichTextMarkdownParser } from '../models/markdown-parser';
|
|
20
|
+
import { RichTextMarkdownSerializer } from '../models/markdown-serializer';
|
|
21
21
|
/**
|
|
22
22
|
* A nimble styled rich text editor
|
|
23
23
|
*/
|
|
@@ -59,9 +59,6 @@ export class RichTextEditor extends FoundationElement {
|
|
|
59
59
|
*/
|
|
60
60
|
this.scrollbarWidth = -1;
|
|
61
61
|
this.updateScrollbarWidthQueued = false;
|
|
62
|
-
this.markdownParser = this.initializeMarkdownParser();
|
|
63
|
-
this.markdownSerializer = this.initializeMarkdownSerializer();
|
|
64
|
-
this.domSerializer = DOMSerializer.fromSchema(schema);
|
|
65
62
|
this.xmlSerializer = new XMLSerializer();
|
|
66
63
|
}
|
|
67
64
|
/**
|
|
@@ -213,8 +210,7 @@ export class RichTextEditor extends FoundationElement {
|
|
|
213
210
|
* @public
|
|
214
211
|
*/
|
|
215
212
|
getMarkdown() {
|
|
216
|
-
|
|
217
|
-
return markdownContent;
|
|
213
|
+
return RichTextMarkdownSerializer.serializeDOMToMarkdown(this.tiptapEditor.state.doc);
|
|
218
214
|
}
|
|
219
215
|
/**
|
|
220
216
|
* @internal
|
|
@@ -262,68 +258,9 @@ export class RichTextEditor extends FoundationElement {
|
|
|
262
258
|
* This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
|
|
263
259
|
*/
|
|
264
260
|
getHtmlContent(markdown) {
|
|
265
|
-
const documentFragment =
|
|
261
|
+
const documentFragment = RichTextMarkdownParser.parseMarkdownToDOM(markdown);
|
|
266
262
|
return this.xmlSerializer.serializeToString(documentFragment);
|
|
267
263
|
}
|
|
268
|
-
initializeMarkdownParser() {
|
|
269
|
-
/**
|
|
270
|
-
* It configures the tokenizer of the default Markdown parser with the 'zero' preset.
|
|
271
|
-
* The 'zero' preset is a configuration with no rules enabled by default to selectively enable specific rules.
|
|
272
|
-
* https://github.com/markdown-it/markdown-it/blob/2b6cac25823af011ff3bc7628bc9b06e483c5a08/lib/presets/zero.js#L1
|
|
273
|
-
*
|
|
274
|
-
*/
|
|
275
|
-
const zeroTokenizerConfiguration = defaultMarkdownParser.tokenizer.configure('zero');
|
|
276
|
-
// The detailed information of the supported rules were provided in the below CommonMark spec document.
|
|
277
|
-
// https://spec.commonmark.org/0.30/
|
|
278
|
-
const supportedTokenizerRules = zeroTokenizerConfiguration.enable([
|
|
279
|
-
'emphasis',
|
|
280
|
-
'list'
|
|
281
|
-
]);
|
|
282
|
-
return new MarkdownParser(schema, supportedTokenizerRules, defaultMarkdownParser.tokens);
|
|
283
|
-
}
|
|
284
|
-
initializeMarkdownSerializer() {
|
|
285
|
-
/**
|
|
286
|
-
* orderedList Node is getting 'order' attribute which it is not present in the
|
|
287
|
-
* tip-tap orderedList Node and having start instead of order, Changed it to start (nodes.attrs.start)
|
|
288
|
-
* Assigned updated node in place of orderedList node from defaultMarkdownSerializer
|
|
289
|
-
* https://github.com/ProseMirror/prosemirror-markdown/blob/b7c1fd2fb74c7564bfe5428c7c8141ded7ebdd9f/src/to_markdown.ts#L94C2-L101C7
|
|
290
|
-
*/
|
|
291
|
-
const orderedListNode = function orderedList(state, node) {
|
|
292
|
-
const start = node.attrs.start || 1;
|
|
293
|
-
const maxW = String(start + node.childCount - 1).length;
|
|
294
|
-
const space = state.repeat(' ', maxW + 2);
|
|
295
|
-
state.renderList(node, space, i => {
|
|
296
|
-
const nStr = String(start + i);
|
|
297
|
-
return `${state.repeat(' ', maxW - nStr.length) + nStr}. `;
|
|
298
|
-
});
|
|
299
|
-
};
|
|
300
|
-
/**
|
|
301
|
-
* Internally Tiptap editor creates it own schema ( Nodes AND Marks ) based on the extensions ( Here Starter Kit is used for Bold, italic, orderedList and
|
|
302
|
-
* bulletList extensions) and defaultMarkdownSerializer uses schema from prosemirror-markdown to serialize the markdown.
|
|
303
|
-
* So, there is variations in the nodes and marks name (Eg. 'ordered_list' in prosemirror-markdown schema whereas 'orderedList' in tip tap editor schema),
|
|
304
|
-
* To fix up this reassigned the respective nodes and marks with tip-tap editor schema.
|
|
305
|
-
*/
|
|
306
|
-
const nodes = {
|
|
307
|
-
bulletList: defaultMarkdownSerializer.nodes.bullet_list,
|
|
308
|
-
listItem: defaultMarkdownSerializer.nodes.list_item,
|
|
309
|
-
orderedList: orderedListNode,
|
|
310
|
-
doc: defaultMarkdownSerializer.nodes.doc,
|
|
311
|
-
paragraph: defaultMarkdownSerializer.nodes.paragraph,
|
|
312
|
-
text: defaultMarkdownSerializer.nodes.text
|
|
313
|
-
};
|
|
314
|
-
const marks = {
|
|
315
|
-
italic: defaultMarkdownSerializer.marks.em,
|
|
316
|
-
bold: defaultMarkdownSerializer.marks.strong
|
|
317
|
-
};
|
|
318
|
-
return new MarkdownSerializer(nodes, marks);
|
|
319
|
-
}
|
|
320
|
-
parseMarkdownToDOM(value) {
|
|
321
|
-
const parsedMarkdownContent = this.markdownParser.parse(value);
|
|
322
|
-
if (parsedMarkdownContent === null) {
|
|
323
|
-
return document.createDocumentFragment();
|
|
324
|
-
}
|
|
325
|
-
return this.domSerializer.serializeFragment(parsedMarkdownContent.content);
|
|
326
|
-
}
|
|
327
264
|
/**
|
|
328
265
|
* Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
|
|
329
266
|
* various actions such as mouse events, keyboard events, changes in the editor content etc,.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/editor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { keySpace, keyEnter, keyTab } from '@microsoft/fast-web-utilities';
|
|
2
2
|
import { waitForUpdatesAsync } from '../../../testing/async-helpers';
|
|
3
|
+
import { getTagsFromElement, getLeafContentsFromElement } from '../../models/testing/markdown-parser-utils';
|
|
3
4
|
/**
|
|
4
5
|
* Page object for the `nimble-rich-text-editor` component.
|
|
5
6
|
*/
|
|
@@ -100,14 +101,10 @@ export class RichTextEditorPageObject {
|
|
|
100
101
|
return this.getTiptapEditor()?.firstElementChild?.textContent ?? '';
|
|
101
102
|
}
|
|
102
103
|
getEditorTagNames() {
|
|
103
|
-
return
|
|
104
|
+
return getTagsFromElement(this.getTiptapEditor());
|
|
104
105
|
}
|
|
105
106
|
getEditorLeafContents() {
|
|
106
|
-
return
|
|
107
|
-
.filter((el, _) => {
|
|
108
|
-
return el.children.length === 0;
|
|
109
|
-
})
|
|
110
|
-
.map(el => el.textContent || '');
|
|
107
|
+
return getLeafContentsFromElement(this.getTiptapEditor());
|
|
111
108
|
}
|
|
112
109
|
getFormattingButtonTextContent(toolbarButton) {
|
|
113
110
|
const button = this.getFormattingButton(toolbarButton);
|
|
@@ -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;
|
|
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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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides markdown parser for rich text components
|
|
3
|
+
*/
|
|
4
|
+
export declare class RichTextMarkdownParser {
|
|
5
|
+
private static readonly markdownParser;
|
|
6
|
+
private static readonly domSerializer;
|
|
7
|
+
/**
|
|
8
|
+
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
9
|
+
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
10
|
+
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
11
|
+
*/
|
|
12
|
+
static parseMarkdownToDOM(value: string): HTMLElement | DocumentFragment;
|
|
13
|
+
private static initializeMarkdownParser;
|
|
14
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { schema, defaultMarkdownParser, MarkdownParser } from 'prosemirror-markdown';
|
|
3
|
+
import { DOMSerializer } from 'prosemirror-model';
|
|
4
|
+
/**
|
|
5
|
+
* Provides markdown parser for rich text components
|
|
6
|
+
*/
|
|
7
|
+
export class RichTextMarkdownParser {
|
|
8
|
+
/**
|
|
9
|
+
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
10
|
+
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
11
|
+
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
12
|
+
*/
|
|
13
|
+
static parseMarkdownToDOM(value) {
|
|
14
|
+
const parsedMarkdownContent = this.markdownParser.parse(value);
|
|
15
|
+
if (parsedMarkdownContent === null) {
|
|
16
|
+
return document.createDocumentFragment();
|
|
17
|
+
}
|
|
18
|
+
return this.domSerializer.serializeFragment(parsedMarkdownContent.content);
|
|
19
|
+
}
|
|
20
|
+
static initializeMarkdownParser() {
|
|
21
|
+
/**
|
|
22
|
+
* It configures the tokenizer of the default Markdown parser with the 'zero' preset.
|
|
23
|
+
* The 'zero' preset is a configuration with no rules enabled by default to selectively enable specific rules.
|
|
24
|
+
* https://github.com/markdown-it/markdown-it/blob/2b6cac25823af011ff3bc7628bc9b06e483c5a08/lib/presets/zero.js#L1
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
27
|
+
const zeroTokenizerConfiguration = defaultMarkdownParser.tokenizer.configure('zero');
|
|
28
|
+
// The detailed information of the supported rules were provided in the below CommonMark spec document.
|
|
29
|
+
// https://spec.commonmark.org/0.30/
|
|
30
|
+
const supportedTokenizerRules = zeroTokenizerConfiguration.enable([
|
|
31
|
+
'emphasis',
|
|
32
|
+
'list',
|
|
33
|
+
'autolink'
|
|
34
|
+
]);
|
|
35
|
+
return new MarkdownParser(schema, supportedTokenizerRules, defaultMarkdownParser.tokens);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
_a = RichTextMarkdownParser;
|
|
39
|
+
RichTextMarkdownParser.markdownParser = _a.initializeMarkdownParser();
|
|
40
|
+
RichTextMarkdownParser.domSerializer = DOMSerializer.fromSchema(schema);
|
|
41
|
+
//# sourceMappingURL=markdown-parser.js.map
|
|
@@ -0,0 +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,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAI/B;;;;OAIG;IACI,MAAM,CAAC,kBAAkB,CAC5B,KAAa;QAEb,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,qBAAqB,KAAK,IAAI,EAAE;YAChC,OAAO,QAAQ,CAAC,sBAAsB,EAAE,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CACvC,qBAAqB,CAAC,OAAO,CAChC,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,wBAAwB;QACnC;;;;;WAKG;QACH,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErF,uGAAuG;QACvG,oCAAoC;QACpC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,CAAC;YAC9D,UAAU;YACV,MAAM;YACN,UAAU;SACb,CAAC,CAAC;QAEH,OAAO,IAAI,cAAc,CACrB,MAAM,EACN,uBAAuB,EACvB,qBAAqB,CAAC,MAAM,CAC/B,CAAC;IACN,CAAC;;;AA1CuB,qCAAc,GAAG,EAAI,CAAC,wBAAwB,EAAG,CAAA;AACjD,oCAAa,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAE,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Node } from 'prosemirror-model';
|
|
2
|
+
/**
|
|
3
|
+
* Provides markdown serializer for rich text components
|
|
4
|
+
*/
|
|
5
|
+
export declare class RichTextMarkdownSerializer {
|
|
6
|
+
private static readonly markdownSerializer;
|
|
7
|
+
static serializeDOMToMarkdown(doc: Node): string;
|
|
8
|
+
private static initializeMarkdownSerializerForTipTap;
|
|
9
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { MarkdownSerializer, defaultMarkdownSerializer } from 'prosemirror-markdown';
|
|
3
|
+
/**
|
|
4
|
+
* Provides markdown serializer for rich text components
|
|
5
|
+
*/
|
|
6
|
+
export class RichTextMarkdownSerializer {
|
|
7
|
+
static serializeDOMToMarkdown(doc) {
|
|
8
|
+
return this.markdownSerializer.serialize(doc);
|
|
9
|
+
}
|
|
10
|
+
static initializeMarkdownSerializerForTipTap() {
|
|
11
|
+
/**
|
|
12
|
+
* orderedList Node is getting 'order' attribute which it is not present in the
|
|
13
|
+
* tip-tap orderedList Node and having start instead of order, Changed it to start (nodes.attrs.start)
|
|
14
|
+
* Assigned updated node in place of orderedList node from defaultMarkdownSerializer
|
|
15
|
+
* https://github.com/ProseMirror/prosemirror-markdown/blob/b7c1fd2fb74c7564bfe5428c7c8141ded7ebdd9f/src/to_markdown.ts#L94C2-L101C7
|
|
16
|
+
*/
|
|
17
|
+
const orderedListNode = function orderedList(state, node) {
|
|
18
|
+
const start = node.attrs.start || 1;
|
|
19
|
+
const maxW = String(start + node.childCount - 1).length;
|
|
20
|
+
const space = state.repeat(' ', maxW + 2);
|
|
21
|
+
state.renderList(node, space, i => {
|
|
22
|
+
const nStr = String(start + i);
|
|
23
|
+
return `${state.repeat(' ', maxW - nStr.length) + nStr}. `;
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* 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
|
+
* bulletList extensions) and defaultMarkdownSerializer uses schema from prosemirror-markdown to serialize the markdown.
|
|
29
|
+
* So, there is variations in the nodes and marks name (Eg. 'ordered_list' in prosemirror-markdown schema whereas 'orderedList' in tip tap editor schema),
|
|
30
|
+
* To fix up this reassigned the respective nodes and marks with tip-tap editor schema.
|
|
31
|
+
*/
|
|
32
|
+
const nodes = {
|
|
33
|
+
bulletList: defaultMarkdownSerializer.nodes.bullet_list,
|
|
34
|
+
listItem: defaultMarkdownSerializer.nodes.list_item,
|
|
35
|
+
orderedList: orderedListNode,
|
|
36
|
+
doc: defaultMarkdownSerializer.nodes.doc,
|
|
37
|
+
paragraph: defaultMarkdownSerializer.nodes.paragraph,
|
|
38
|
+
text: defaultMarkdownSerializer.nodes.text
|
|
39
|
+
};
|
|
40
|
+
const marks = {
|
|
41
|
+
italic: defaultMarkdownSerializer.marks.em,
|
|
42
|
+
bold: defaultMarkdownSerializer.marks.strong
|
|
43
|
+
};
|
|
44
|
+
return new MarkdownSerializer(nodes, marks);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_a = RichTextMarkdownSerializer;
|
|
48
|
+
RichTextMarkdownSerializer.markdownSerializer = _a.initializeMarkdownSerializerForTipTap();
|
|
49
|
+
//# sourceMappingURL=markdown-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;AAG9B;;GAEG;AACH,MAAM,OAAO,0BAA0B;IAG5B,MAAM,CAAC,sBAAsB,CAAC,GAAS;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IAEO,MAAM,CAAC,qCAAqC;QAChD;;;;;WAKG;QACH,MAAM,eAAe,GAAG,SAAS,WAAW,CACxC,KAA8B,EAC9B,IAAU;YAEV,MAAM,KAAK,GAAI,IAAI,CAAC,KAAK,CAAC,KAAgB,IAAI,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC/B,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC;YAC/D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF;;;;;WAKG;QACH,MAAM,KAAK,GAAG;YACV,UAAU,EAAE,yBAAyB,CAAC,KAAK,CAAC,WAAY;YACxD,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,SAAU;YACpD,WAAW,EAAE,eAAe;YAC5B,GAAG,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAAI;YACzC,SAAS,EAAE,yBAAyB,CAAC,KAAK,CAAC,SAAU;YACrD,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAK;SAC9C,CAAC;QACF,MAAM,KAAK,GAAG;YACV,MAAM,EAAE,yBAAyB,CAAC,KAAK,CAAC,EAAG;YAC3C,IAAI,EAAE,yBAAyB,CAAC,KAAK,CAAC,MAAO;SAChD,CAAC;QACF,OAAO,IAAI,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;;;AA7CuB,6CAAkB,GAAG,EAAI,CAAC,qCAAqC,EAAG,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const getTagsFromElement = (doc) => {
|
|
2
|
+
const nodes = Array.from(doc.querySelectorAll('*')).map(el => el.tagName);
|
|
3
|
+
return nodes;
|
|
4
|
+
};
|
|
5
|
+
export const getLeafContentsFromElement = (doc) => {
|
|
6
|
+
const nodes = Array.from(doc.querySelectorAll('*'))
|
|
7
|
+
.filter((el, _) => {
|
|
8
|
+
return el.children.length === 0;
|
|
9
|
+
})
|
|
10
|
+
.map(el => el.textContent || '');
|
|
11
|
+
return nodes;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=markdown-parser-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-parser-utils.js","sourceRoot":"","sources":["../../../../../src/rich-text/models/testing/markdown-parser-utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,GAAmC,EAC3B,EAAE;IACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,GAAmC,EAC3B,EAAE;IACV,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;SACD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -18,9 +18,6 @@ export declare class RichTextViewer extends FoundationElement {
|
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
20
|
viewer: HTMLDivElement;
|
|
21
|
-
private readonly markdownParser;
|
|
22
|
-
private readonly domSerializer;
|
|
23
|
-
constructor();
|
|
24
21
|
/**
|
|
25
22
|
* @internal
|
|
26
23
|
*/
|
|
@@ -29,14 +26,6 @@ export declare class RichTextViewer extends FoundationElement {
|
|
|
29
26
|
* @internal
|
|
30
27
|
*/
|
|
31
28
|
markdownChanged(): void;
|
|
32
|
-
private initializeMarkdownParser;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
36
|
-
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
37
|
-
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
38
|
-
*/
|
|
39
|
-
private parseMarkdownToDOM;
|
|
40
29
|
private updateView;
|
|
41
30
|
}
|
|
42
31
|
export declare const richTextViewerTag: string;
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { DesignSystem, FoundationElement } from '@microsoft/fast-foundation';
|
|
3
|
-
import { schema, defaultMarkdownParser, MarkdownParser } from 'prosemirror-markdown';
|
|
4
|
-
import { DOMSerializer } from 'prosemirror-model';
|
|
5
3
|
import { observable } from '@microsoft/fast-element';
|
|
6
4
|
import { template } from './template';
|
|
7
5
|
import { styles } from './styles';
|
|
6
|
+
import { RichTextMarkdownParser } from '../models/markdown-parser';
|
|
8
7
|
/**
|
|
9
8
|
* A nimble styled rich text viewer
|
|
10
9
|
*/
|
|
11
10
|
export class RichTextViewer extends FoundationElement {
|
|
12
11
|
constructor() {
|
|
13
|
-
super();
|
|
12
|
+
super(...arguments);
|
|
14
13
|
/**
|
|
15
14
|
*
|
|
16
15
|
* @public
|
|
17
16
|
* Markdown string to render its corresponding rich text content in the component.
|
|
18
17
|
*/
|
|
19
18
|
this.markdown = '';
|
|
20
|
-
this.domSerializer = DOMSerializer.fromSchema(schema);
|
|
21
|
-
this.markdownParser = this.initializeMarkdownParser();
|
|
22
19
|
}
|
|
23
20
|
/**
|
|
24
21
|
* @internal
|
|
@@ -35,39 +32,9 @@ export class RichTextViewer extends FoundationElement {
|
|
|
35
32
|
this.updateView();
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
initializeMarkdownParser() {
|
|
39
|
-
/**
|
|
40
|
-
* It configures the tokenizer of the default Markdown parser with the 'zero' preset.
|
|
41
|
-
* The 'zero' preset is a configuration with no rules enabled by default to selectively enable specific rules.
|
|
42
|
-
* https://github.com/markdown-it/markdown-it/blob/2b6cac25823af011ff3bc7628bc9b06e483c5a08/lib/presets/zero.js#L1
|
|
43
|
-
*
|
|
44
|
-
*/
|
|
45
|
-
const zeroTokenizerConfiguration = defaultMarkdownParser.tokenizer.configure('zero');
|
|
46
|
-
// The detailed information of the supported rules were provided in the below CommonMark spec document.
|
|
47
|
-
// https://spec.commonmark.org/0.30/
|
|
48
|
-
const supportedTokenizerRules = zeroTokenizerConfiguration.enable([
|
|
49
|
-
'emphasis',
|
|
50
|
-
'list',
|
|
51
|
-
'autolink'
|
|
52
|
-
]);
|
|
53
|
-
return new MarkdownParser(schema, supportedTokenizerRules, defaultMarkdownParser.tokens);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
58
|
-
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
59
|
-
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
60
|
-
*/
|
|
61
|
-
parseMarkdownToDOM(value) {
|
|
62
|
-
const parsedMarkdownContent = this.markdownParser.parse(value);
|
|
63
|
-
if (parsedMarkdownContent === null) {
|
|
64
|
-
return document.createDocumentFragment();
|
|
65
|
-
}
|
|
66
|
-
return this.domSerializer.serializeFragment(parsedMarkdownContent.content);
|
|
67
|
-
}
|
|
68
35
|
updateView() {
|
|
69
36
|
if (this.markdown) {
|
|
70
|
-
const serializedContent =
|
|
37
|
+
const serializedContent = RichTextMarkdownParser.parseMarkdownToDOM(this.markdown);
|
|
71
38
|
this.viewer.replaceChildren(serializedContent);
|
|
72
39
|
}
|
|
73
40
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/viewer/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/viewer/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAQnE;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IAArD;;QACI;;;;WAIG;QAEI,aAAQ,GAAG,EAAE,CAAC;IAkCzB,CAAC;IA3BG;;OAEG;IACa,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,eAAe;QAClB,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;IACL,CAAC;IAEO,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,kBAAkB,CAC/D,IAAI,CAAC,QAAQ,CAChB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;SAClD;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;SAC9B;IACL,CAAC;CACJ;AAlCG;IADC,UAAU;gDACU;AAoCzB,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"}
|
|
@@ -85,9 +85,6 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
|
|
|
85
85
|
editorContainer: HTMLDivElement;
|
|
86
86
|
private resizeObserver?;
|
|
87
87
|
private updateScrollbarWidthQueued;
|
|
88
|
-
private readonly markdownParser;
|
|
89
|
-
private readonly markdownSerializer;
|
|
90
|
-
private readonly domSerializer;
|
|
91
88
|
private readonly xmlSerializer;
|
|
92
89
|
/**
|
|
93
90
|
* @internal
|
|
@@ -170,9 +167,6 @@ export declare class RichTextEditor extends FoundationElement implements ErrorPa
|
|
|
170
167
|
* This function takes the Fragment from parseMarkdownToDOM function and return the serialized string using XMLSerializer
|
|
171
168
|
*/
|
|
172
169
|
private getHtmlContent;
|
|
173
|
-
private initializeMarkdownParser;
|
|
174
|
-
private initializeMarkdownSerializer;
|
|
175
|
-
private parseMarkdownToDOM;
|
|
176
170
|
/**
|
|
177
171
|
* Binding the "transaction" event to the editor allows continuous monitoring the events and updating the button state in response to
|
|
178
172
|
* various actions such as mouse events, keyboard events, changes in the editor content etc,.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides markdown parser for rich text components
|
|
3
|
+
*/
|
|
4
|
+
export declare class RichTextMarkdownParser {
|
|
5
|
+
private static readonly markdownParser;
|
|
6
|
+
private static readonly domSerializer;
|
|
7
|
+
/**
|
|
8
|
+
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
9
|
+
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
10
|
+
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
11
|
+
*/
|
|
12
|
+
static parseMarkdownToDOM(value: string): HTMLElement | DocumentFragment;
|
|
13
|
+
private static initializeMarkdownParser;
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Node } from 'prosemirror-model';
|
|
2
|
+
/**
|
|
3
|
+
* Provides markdown serializer for rich text components
|
|
4
|
+
*/
|
|
5
|
+
export declare class RichTextMarkdownSerializer {
|
|
6
|
+
private static readonly markdownSerializer;
|
|
7
|
+
static serializeDOMToMarkdown(doc: Node): string;
|
|
8
|
+
private static initializeMarkdownSerializerForTipTap;
|
|
9
|
+
}
|
|
@@ -18,9 +18,6 @@ export declare class RichTextViewer extends FoundationElement {
|
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
20
|
viewer: HTMLDivElement;
|
|
21
|
-
private readonly markdownParser;
|
|
22
|
-
private readonly domSerializer;
|
|
23
|
-
constructor();
|
|
24
21
|
/**
|
|
25
22
|
* @internal
|
|
26
23
|
*/
|
|
@@ -29,14 +26,6 @@ export declare class RichTextViewer extends FoundationElement {
|
|
|
29
26
|
* @internal
|
|
30
27
|
*/
|
|
31
28
|
markdownChanged(): void;
|
|
32
|
-
private initializeMarkdownParser;
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
* This function takes a markdown string, parses it using the ProseMirror MarkdownParser, serializes the parsed content into a
|
|
36
|
-
* DOM structure using a DOMSerializer, and returns the serialized result.
|
|
37
|
-
* If the markdown parser returns null, it will clear the viewer component by creating an empty document fragment.
|
|
38
|
-
*/
|
|
39
|
-
private parseMarkdownToDOM;
|
|
40
29
|
private updateView;
|
|
41
30
|
}
|
|
42
31
|
export declare const richTextViewerTag: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ni/nimble-components",
|
|
3
|
-
"version": "20.2.
|
|
3
|
+
"version": "20.2.7",
|
|
4
4
|
"description": "Styled web components for the NI Nimble Design System",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
|