@opensumi/ide-components 3.4.4-next-1728985193.0 → 3.4.5-next-1729069673.0

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.
@@ -0,0 +1,3 @@
1
+ export * from './render';
2
+ export * from './parse';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown-react/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./render"), exports);
5
+ tslib_1.__exportStar(require("./parse"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown-react/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,kDAAwB"}
@@ -0,0 +1,15 @@
1
+ import { marked } from 'marked';
2
+ import { ReactNode } from 'react';
3
+ import { MarkdownReactRenderer } from './render';
4
+ /**
5
+ * 这里通过重新实现 marked.Renderer 的所有方法,实现一个能直接渲染 React 的 Markdown 渲染器
6
+ */
7
+ export declare class MarkdownReactParser extends marked.Renderer {
8
+ private renderer;
9
+ constructor(options: {
10
+ renderer: MarkdownReactRenderer;
11
+ });
12
+ parse(tokens: marked.Token[]): ReactNode[];
13
+ parseInline(tokens?: marked.Token[]): ReactNode[];
14
+ }
15
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/markdown-react/parse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAiB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEhE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,MAAM,CAAC,QAAQ;IACtD,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,OAAO,EAAE;QAAE,QAAQ,EAAE,qBAAqB,CAAA;KAAE;IAMxD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE;IA2F1C,WAAW,CAAC,MAAM,GAAE,MAAM,CAAC,KAAK,EAAO,GAAG,SAAS,EAAE;CAmDtD"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarkdownReactParser = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const marked_1 = require("marked");
6
+ const react_1 = tslib_1.__importDefault(require("react"));
7
+ /**
8
+ * 这里通过重新实现 marked.Renderer 的所有方法,实现一个能直接渲染 React 的 Markdown 渲染器
9
+ */
10
+ class MarkdownReactParser extends marked_1.marked.Renderer {
11
+ constructor(options) {
12
+ super();
13
+ this.renderer = options.renderer;
14
+ }
15
+ parse(tokens) {
16
+ return tokens.map((token) => {
17
+ switch (token.type) {
18
+ case 'html': {
19
+ return react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html: token.raw } });
20
+ }
21
+ case 'space': {
22
+ return null;
23
+ }
24
+ case 'heading': {
25
+ const level = token.depth;
26
+ return this.renderer.heading(this.parseInline(token.tokens), level);
27
+ }
28
+ case 'paragraph': {
29
+ return this.renderer.paragraph(this.parseInline(token.tokens));
30
+ }
31
+ case 'text': {
32
+ const textToken = token;
33
+ return textToken.tokens ? this.parseInline(textToken.tokens) : token.text;
34
+ }
35
+ case 'blockquote': {
36
+ const blockquoteToken = token;
37
+ const quote = this.parse(blockquoteToken.tokens);
38
+ return this.renderer.blockquote(quote);
39
+ }
40
+ case 'list': {
41
+ const listToken = token;
42
+ const children = listToken.items.map((item) => {
43
+ var _a;
44
+ const listItemChildren = [];
45
+ if (item.task) {
46
+ listItemChildren.push(this.renderer.checkbox((_a = item.checked) !== null && _a !== void 0 ? _a : false));
47
+ }
48
+ listItemChildren.push(this.parse(item.tokens));
49
+ return this.renderer.listItem(listItemChildren);
50
+ });
51
+ return this.renderer.list(children, token.ordered);
52
+ }
53
+ case 'code': {
54
+ return this.renderer.code(token.text, token.lang);
55
+ }
56
+ case 'table': {
57
+ const tableToken = token;
58
+ const headerCells = tableToken.header.map((cell, index) => this.renderer.tableCell(this.parseInline(cell.tokens), { header: true, align: token.align[index] }));
59
+ const headerRow = this.renderer.tableRow(headerCells);
60
+ const header = this.renderer.tableHeader(headerRow);
61
+ const bodyChilren = tableToken.rows.map((row) => {
62
+ const rowChildren = row.map((cell, index) => this.renderer.tableCell(this.parseInline(cell.tokens), {
63
+ header: false,
64
+ align: token.align[index],
65
+ }));
66
+ return this.renderer.tableRow(rowChildren);
67
+ });
68
+ const body = this.renderer.tableBody(bodyChilren);
69
+ return this.renderer.table([header, body]);
70
+ }
71
+ case 'hr': {
72
+ return this.renderer.hr();
73
+ }
74
+ default: {
75
+ // eslint-disable-next-line no-console
76
+ console.warn(`Token with "${token.type}" type was not found`);
77
+ return null;
78
+ }
79
+ }
80
+ });
81
+ }
82
+ parseInline(tokens = []) {
83
+ return tokens.map((token) => {
84
+ switch (token.type) {
85
+ case 'text': {
86
+ return this.renderer.text(unescape(token.text));
87
+ }
88
+ case 'strong': {
89
+ return this.renderer.strong(this.parseInline(token.tokens));
90
+ }
91
+ case 'em': {
92
+ return this.renderer.em(this.parseInline(token.tokens));
93
+ }
94
+ case 'del': {
95
+ return this.renderer.del(this.parseInline(token.tokens));
96
+ }
97
+ case 'codespan': {
98
+ return this.renderer.codespan(unescape(token.text));
99
+ }
100
+ case 'link': {
101
+ return this.renderer.link(token.href, this.parseInline(token.tokens));
102
+ }
103
+ case 'image': {
104
+ return this.renderer.image(token.href, token.text, token.title);
105
+ }
106
+ case 'html': {
107
+ return this.renderer.html(token.text);
108
+ }
109
+ case 'br': {
110
+ return this.renderer.br();
111
+ }
112
+ case 'escape': {
113
+ return this.renderer.text(token.text);
114
+ }
115
+ default: {
116
+ // eslint-disable-next-line no-console
117
+ console.warn(`Token with "${token.type}" type was not found`);
118
+ return null;
119
+ }
120
+ }
121
+ });
122
+ }
123
+ }
124
+ exports.MarkdownReactParser = MarkdownReactParser;
125
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown-react/parse.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ export type HeadingLevels = 1 | 2 | 3 | 4 | 5 | 6;
3
+ export interface TableFlags {
4
+ header?: boolean;
5
+ align?: 'center' | 'left' | 'right' | null;
6
+ }
7
+ export type CustomReactRenderer = Partial<MarkdownReactRenderer>;
8
+ export type RendererMethods = keyof MarkdownReactRenderer;
9
+ export interface ReactRendererOptions {
10
+ baseURL?: string;
11
+ openLinksInNewTab?: boolean;
12
+ langPrefix?: string;
13
+ renderer?: CustomReactRenderer;
14
+ }
15
+ export declare class MarkdownReactRenderer {
16
+ private uid;
17
+ private options;
18
+ constructor(options?: ReactRendererOptions);
19
+ private node;
20
+ private incrementUID;
21
+ heading(children: ReactNode, level: HeadingLevels): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
22
+ paragraph(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
23
+ private joinBase;
24
+ link(href: string, text: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
25
+ image(src: string, alt: string, title?: string | null): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
26
+ codespan(code: ReactNode, lang?: string | null): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
27
+ code(code: ReactNode | string, lang: string | undefined): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
28
+ blockquote(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
29
+ list(children: ReactNode, ordered: boolean): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
30
+ listItem(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
31
+ checkbox(checked: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
32
+ table(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
33
+ tableHeader(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
34
+ tableBody(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
35
+ tableRow(children: ReactNode[]): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
36
+ tableCell(children: ReactNode[], flags: TableFlags): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
37
+ strong(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
38
+ em(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
39
+ del(children: ReactNode): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
40
+ text(text: ReactNode): ReactNode;
41
+ html(html: ReactNode): ReactNode;
42
+ hr(): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
43
+ br(): ReactElement<any, string | import("react").JSXElementConstructor<any>>;
44
+ }
45
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/markdown-react/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,oBAAyB;IAI9C,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa;IAIjD,SAAS,CAAC,QAAQ,EAAE,SAAS;IAI7B,OAAO,CAAC,QAAQ;IAYhB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMlC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW;IAK3D,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW;IAKpD,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;IAIvD,UAAU,CAAC,QAAQ,EAAE,SAAS;IAI9B,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;IAI1C,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI9B,QAAQ,CAAC,OAAO,EAAE,SAAS;IAI3B,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI3B,WAAW,CAAC,QAAQ,EAAE,SAAS;IAI/B,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI/B,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE;IAI9B,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU;IAKlD,MAAM,CAAC,QAAQ,EAAE,SAAS;IAI1B,EAAE,CAAC,QAAQ,EAAE,SAAS;IAItB,GAAG,CAAC,QAAQ,EAAE,SAAS;IAIvB,IAAI,CAAC,IAAI,EAAE,SAAS;IAIpB,IAAI,CAAC,IAAI,EAAE,SAAS;IAIpB,EAAE;IAIF,EAAE;CAGH"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarkdownReactRenderer = void 0;
4
+ const react_1 = require("react");
5
+ class MarkdownReactRenderer {
6
+ constructor(options = {}) {
7
+ this.uid = 0;
8
+ this.options = options;
9
+ }
10
+ node(el, children = null, props = {}) {
11
+ const elProps = {
12
+ key: `marked-react-${this.uid}`,
13
+ };
14
+ this.incrementUID();
15
+ return (0, react_1.createElement)(el, Object.assign(Object.assign({}, props), elProps), children);
16
+ }
17
+ incrementUID() {
18
+ this.uid += 1;
19
+ }
20
+ heading(children, level) {
21
+ return this.node(`h${level}`, children);
22
+ }
23
+ paragraph(children) {
24
+ return this.node('p', children);
25
+ }
26
+ joinBase(path, base) {
27
+ if (!base) {
28
+ return path;
29
+ }
30
+ try {
31
+ return new URL(path, base).href;
32
+ }
33
+ catch (_a) {
34
+ return path;
35
+ }
36
+ }
37
+ link(href, text) {
38
+ const url = this.joinBase(href, this.options.baseURL);
39
+ const target = this.options.openLinksInNewTab ? '_blank' : null;
40
+ return this.node('a', text, { href: url, target });
41
+ }
42
+ image(src, alt, title = null) {
43
+ const url = this.joinBase(src, this.options.baseURL);
44
+ return this.node('img', null, { src: url, alt, title });
45
+ }
46
+ codespan(code, lang = null) {
47
+ const className = lang ? `${this.options.langPrefix}${lang}` : null;
48
+ return this.node('code', code, { className });
49
+ }
50
+ code(code, lang) {
51
+ return this.node('pre', this.codespan(code, lang));
52
+ }
53
+ blockquote(children) {
54
+ return this.node('blockquote', children);
55
+ }
56
+ list(children, ordered) {
57
+ return this.node(ordered ? 'ol' : 'ul', children);
58
+ }
59
+ listItem(children) {
60
+ return this.node('li', children);
61
+ }
62
+ checkbox(checked) {
63
+ return this.node('input', null, { type: 'checkbox', disabled: true, checked });
64
+ }
65
+ table(children) {
66
+ return this.node('table', children);
67
+ }
68
+ tableHeader(children) {
69
+ return this.node('thead', children);
70
+ }
71
+ tableBody(children) {
72
+ return this.node('tbody', children);
73
+ }
74
+ tableRow(children) {
75
+ return this.node('tr', children);
76
+ }
77
+ tableCell(children, flags) {
78
+ const tag = flags.header ? 'th' : 'td';
79
+ return this.node(tag, children, { align: flags.align });
80
+ }
81
+ strong(children) {
82
+ return this.node('strong', children);
83
+ }
84
+ em(children) {
85
+ return this.node('em', children);
86
+ }
87
+ del(children) {
88
+ return this.node('del', children);
89
+ }
90
+ text(text) {
91
+ return text;
92
+ }
93
+ html(html) {
94
+ return html;
95
+ }
96
+ hr() {
97
+ return this.node('hr');
98
+ }
99
+ br() {
100
+ return this.node('br');
101
+ }
102
+ }
103
+ exports.MarkdownReactRenderer = MarkdownReactRenderer;
104
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/markdown-react/render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-components",
3
- "version": "3.4.4-next-1728985193.0",
3
+ "version": "3.4.5-next-1729069673.0",
4
4
  "description": "@opensumi/ide-components",
5
5
  "license": "MIT",
6
6
  "main": "lib/index.js",
@@ -16,8 +16,8 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@ant-design/icons": "^4.6.4",
19
- "@opensumi/ide-core-common": "3.4.4-next-1728985193.0",
20
- "@opensumi/ide-utils": "3.4.4-next-1728985193.0",
19
+ "@opensumi/ide-core-common": "3.4.5-next-1729069673.0",
20
+ "@opensumi/ide-utils": "3.4.5-next-1729069673.0",
21
21
  "@opensumi/react-custom-scrollbars-2": "^4.3.4",
22
22
  "@rc-component/mini-decimal": "^1.0.1",
23
23
  "fuzzy": "^0.1.3",
@@ -38,10 +38,10 @@
38
38
  "react-window": "^1.8.5"
39
39
  },
40
40
  "devDependencies": {
41
- "@opensumi/ide-dev-tool": "3.4.4-next-1728985193.0",
41
+ "@opensumi/ide-dev-tool": "3.4.5-next-1729069673.0",
42
42
  "@types/marked": "^4.0.7",
43
43
  "@types/react-window": "^1.8.5",
44
44
  "prop-types": "^15.8.1"
45
45
  },
46
- "gitHead": "80be554c07d787dd5f13a7fcfe9af1d5d54482e8"
46
+ "gitHead": "7c5e59b90a73d8dee58adab31b1239a9a319c972"
47
47
  }