react-native-nitro-markdown 0.7.2 → 0.8.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.
- package/README.md +66 -4
- package/ios/HybridMarkdownSession.swift +11 -4
- package/lib/commonjs/MarkdownContext.js +1 -3
- package/lib/commonjs/MarkdownContext.js.map +1 -1
- package/lib/commonjs/index.js +6 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown-stream.js +80 -29
- package/lib/commonjs/markdown-stream.js.map +1 -1
- package/lib/commonjs/markdown.js +94 -37
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/image.js +2 -2
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/math.js +6 -2
- package/lib/commonjs/renderers/math.js.map +1 -1
- package/lib/commonjs/renderers/table/index.js +4 -4
- package/lib/commonjs/renderers/table/index.js.map +1 -1
- package/lib/commonjs/renderers/table/table-utils.js +1 -1
- package/lib/commonjs/renderers/table/table-utils.js.map +1 -1
- package/lib/commonjs/utils/code-highlight.js +1 -1
- package/lib/commonjs/utils/code-highlight.js.map +1 -1
- package/lib/commonjs/utils/incremental-ast.js +24 -11
- package/lib/commonjs/utils/incremental-ast.js.map +1 -1
- package/lib/commonjs/utils/link-security.js +2 -2
- package/lib/commonjs/utils/link-security.js.map +1 -1
- package/lib/commonjs/utils/stream-timeline.js +13 -7
- package/lib/commonjs/utils/stream-timeline.js.map +1 -1
- package/lib/module/MarkdownContext.js +1 -3
- package/lib/module/MarkdownContext.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown-stream.js +79 -29
- package/lib/module/markdown-stream.js.map +1 -1
- package/lib/module/markdown.js +94 -37
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/image.js +2 -2
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/math.js +6 -2
- package/lib/module/renderers/math.js.map +1 -1
- package/lib/module/renderers/table/index.js +4 -4
- package/lib/module/renderers/table/index.js.map +1 -1
- package/lib/module/renderers/table/table-utils.js +1 -1
- package/lib/module/renderers/table/table-utils.js.map +1 -1
- package/lib/module/utils/code-highlight.js +1 -1
- package/lib/module/utils/code-highlight.js.map +1 -1
- package/lib/module/utils/incremental-ast.js +24 -11
- package/lib/module/utils/incremental-ast.js.map +1 -1
- package/lib/module/utils/link-security.js +2 -2
- package/lib/module/utils/link-security.js.map +1 -1
- package/lib/module/utils/stream-timeline.js +13 -7
- package/lib/module/utils/stream-timeline.js.map +1 -1
- package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown-stream.d.ts +28 -7
- package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/incremental-ast.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/stream-timeline.d.ts.map +1 -1
- package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdown-stream.d.ts +28 -7
- package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/markdown.d.ts.map +1 -1
- package/lib/typescript/module/utils/incremental-ast.d.ts.map +1 -1
- package/lib/typescript/module/utils/stream-timeline.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/MarkdownContext.ts +0 -2
- package/src/index.ts +9 -2
- package/src/markdown-stream.tsx +107 -31
- package/src/markdown.tsx +75 -41
- package/src/renderers/image.tsx +2 -2
- package/src/renderers/math.tsx +2 -2
- package/src/renderers/table/index.tsx +4 -4
- package/src/renderers/table/table-utils.ts +1 -1
- package/src/utils/code-highlight.ts +1 -1
- package/src/utils/incremental-ast.ts +25 -9
- package/src/utils/link-security.ts +3 -3
- package/src/utils/stream-timeline.ts +10 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","DEFAULT_IMAGE_PROTOCOLS","CONTROL_CHARACTER_PATTERN","normalizeLinkHref","href","normalizedHref","trim","test","length","exports","parseAbsoluteHref","protocolMatch","match","protocol","normalizeProtocol","rest","slice","authorityMatch","rawHost","hostname","replace","split","toLowerCase","normalized","endsWith","getAllowedExternalHref","parsed","has","getAllowedImageHref","options","allowedProtocols","map","allowedHosts","normalizedHost","allowedHostSet","host","filter","Boolean"],"sourceRoot":"../../../src","sources":["utils/link-security.ts"],"mappings":";;;;;;AAAA,MAAMA,sBAAsB,GAAG,IAAIC,GAAG,CAAC,CACrC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,MAAM,CACP,CAAC;AAEF,MAAMC,uBAAuB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAU;AAC5D,MAAMC,yBAAyB,GAAG,uBAAuB;AAOlD,MAAMC,iBAAiB,GAAIC,IAAY,IAAoB;EAChE,MAAMC,cAAc,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC;EAClC,IAAIJ,yBAAyB,CAACK,IAAI,CAACF,cAAc,CAAC,EAAE,OAAO,IAAI;EAC/D,OAAOA,cAAc,CAACG,MAAM,GAAG,CAAC,GAAGH,cAAc,GAAG,IAAI;AAC1D,CAAC;AAACI,OAAA,CAAAN,iBAAA,GAAAA,iBAAA;AAEF,MAAMO,iBAAiB,GACrBN,IAAY,IACsC;EAClD,MAAMO,aAAa,GAAGP,IAAI,CAACQ,KAAK,CAAC,wBAAwB,CAAC;EAC1D,IAAI,CAACD,aAAa,EAAE,OAAO,IAAI;EAE/B,MAAME,QAAQ,GAAGC,iBAAiB,CAACH,aAAa,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","DEFAULT_IMAGE_PROTOCOLS","CONTROL_CHARACTER_PATTERN","normalizeLinkHref","href","normalizedHref","trim","test","length","exports","parseAbsoluteHref","protocolMatch","match","protocol","normalizeProtocol","rest","slice","authorityMatch","rawHost","hostname","replace","split","toLowerCase","normalized","endsWith","getAllowedExternalHref","parsed","has","getAllowedImageHref","options","allowedProtocols","map","allowedHosts","normalizedHost","allowedHostSet","host","filter","Boolean"],"sourceRoot":"../../../src","sources":["utils/link-security.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,13 +11,18 @@ const createTimestampTimeline = timestamps => {
|
|
|
11
11
|
monotonic: true
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
const entries = Object.keys(timestamps).map(Number).filter(index => Number.isFinite(index)).sort((a, b) => a - b).
|
|
15
|
-
index
|
|
16
|
-
time:
|
|
17
|
-
|
|
14
|
+
const entries = Object.keys(timestamps).map(Number).filter(index => Number.isFinite(index)).sort((a, b) => a - b).flatMap(index => {
|
|
15
|
+
const time = timestamps[index];
|
|
16
|
+
return time === undefined ? [] : [{
|
|
17
|
+
index,
|
|
18
|
+
time
|
|
19
|
+
}];
|
|
20
|
+
}).filter(entry => Number.isFinite(entry.time));
|
|
18
21
|
let monotonic = true;
|
|
19
22
|
for (let i = 1; i < entries.length; i += 1) {
|
|
20
|
-
|
|
23
|
+
const current = entries[i];
|
|
24
|
+
const previous = entries[i - 1];
|
|
25
|
+
if (current && previous && current.time < previous.time) {
|
|
21
26
|
monotonic = false;
|
|
22
27
|
break;
|
|
23
28
|
}
|
|
@@ -48,7 +53,8 @@ const resolveHighlightPosition = (timeline, currentTimeMs) => {
|
|
|
48
53
|
let resolvedIndex = -1;
|
|
49
54
|
while (left <= right) {
|
|
50
55
|
const mid = left + right >> 1;
|
|
51
|
-
|
|
56
|
+
const entry = entries[mid];
|
|
57
|
+
if (entry !== undefined && entry.time <= currentTimeMs) {
|
|
52
58
|
resolvedIndex = mid;
|
|
53
59
|
left = mid + 1;
|
|
54
60
|
} else {
|
|
@@ -56,7 +62,7 @@ const resolveHighlightPosition = (timeline, currentTimeMs) => {
|
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
if (resolvedIndex === -1) return 0;
|
|
59
|
-
return entries[resolvedIndex]
|
|
65
|
+
return (entries[resolvedIndex]?.index ?? 0) + 1;
|
|
60
66
|
};
|
|
61
67
|
exports.resolveHighlightPosition = resolveHighlightPosition;
|
|
62
68
|
//# sourceMappingURL=stream-timeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createTimestampTimeline","timestamps","entries","monotonic","Object","keys","map","Number","filter","index","isFinite","sort","a","b","time","entry","i","length","exports","resolveHighlightPosition","timeline","currentTimeMs","wordIndex","left","right","resolvedIndex","mid"],"sourceRoot":"../../../src","sources":["utils/stream-timeline.ts"],"mappings":";;;;;;AAUO,MAAMA,uBAAuB,GAClCC,UAAmC,IACb;EACtB,IAAI,CAACA,UAAU,EAAE;IACf,OAAO;MAAEC,OAAO,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAK,CAAC;EACzC;EAEA,MAAMD,OAAO,GAAGE,MAAM,CAACC,IAAI,CAACJ,UAAU,CAAC,CACpCK,GAAG,CAACC,MAAM,CAAC,CACXC,MAAM,CAAEC,KAAK,IAAKF,MAAM,CAACG,QAAQ,CAACD,KAAK,CAAC,CAAC,CACzCE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"names":["createTimestampTimeline","timestamps","entries","monotonic","Object","keys","map","Number","filter","index","isFinite","sort","a","b","flatMap","time","undefined","entry","i","length","current","previous","exports","resolveHighlightPosition","timeline","currentTimeMs","wordIndex","left","right","resolvedIndex","mid"],"sourceRoot":"../../../src","sources":["utils/stream-timeline.ts"],"mappings":";;;;;;AAUO,MAAMA,uBAAuB,GAClCC,UAAmC,IACb;EACtB,IAAI,CAACA,UAAU,EAAE;IACf,OAAO;MAAEC,OAAO,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAK,CAAC;EACzC;EAEA,MAAMD,OAAO,GAAGE,MAAM,CAACC,IAAI,CAACJ,UAAU,CAAC,CACpCK,GAAG,CAACC,MAAM,CAAC,CACXC,MAAM,CAAEC,KAAK,IAAKF,MAAM,CAACG,QAAQ,CAACD,KAAK,CAAC,CAAC,CACzCE,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,CACrBC,OAAO,CAAEL,KAAK,IAAK;IAClB,MAAMM,IAAI,GAAGd,UAAU,CAACQ,KAAK,CAAC;IAC9B,OAAOM,IAAI,KAAKC,SAAS,GAAG,EAAE,GAAG,CAAC;MAAEP,KAAK;MAAEM;IAAK,CAAC,CAAC;EACpD,CAAC,CAAC,CACDP,MAAM,CAAES,KAAK,IAAKV,MAAM,CAACG,QAAQ,CAACO,KAAK,CAACF,IAAI,CAAC,CAAC;EAEjD,IAAIZ,SAAS,GAAG,IAAI;EACpB,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGhB,OAAO,CAACiB,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IAC1C,MAAME,OAAO,GAAGlB,OAAO,CAACgB,CAAC,CAAC;IAC1B,MAAMG,QAAQ,GAAGnB,OAAO,CAACgB,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAIE,OAAO,IAAIC,QAAQ,IAAID,OAAO,CAACL,IAAI,GAAGM,QAAQ,CAACN,IAAI,EAAE;MACvDZ,SAAS,GAAG,KAAK;MACjB;IACF;EACF;EAEA,OAAO;IAAED,OAAO;IAAEC;EAAU,CAAC;AAC/B,CAAC;AAACmB,OAAA,CAAAtB,uBAAA,GAAAA,uBAAA;AAEK,MAAMuB,wBAAwB,GAAGA,CACtCC,QAA2B,EAC3BC,aAAqB,KACV;EACX,MAAM;IAAEvB,OAAO;IAAEC;EAAU,CAAC,GAAGqB,QAAQ;EACvC,IAAItB,OAAO,CAACiB,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC;EAElC,IAAI,CAAChB,SAAS,EAAE;IACd,IAAIuB,SAAS,GAAG,CAAC;IACjB,KAAK,MAAMT,KAAK,IAAIf,OAAO,EAAE;MAC3B,IAAIuB,aAAa,IAAIR,KAAK,CAACF,IAAI,EAAE;QAC/BW,SAAS,GAAGT,KAAK,CAACR,KAAK,GAAG,CAAC;MAC7B;IACF;IACA,OAAOiB,SAAS;EAClB;EAEA,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,KAAK,GAAG1B,OAAO,CAACiB,MAAM,GAAG,CAAC;EAC9B,IAAIU,aAAa,GAAG,CAAC,CAAC;EAEtB,OAAOF,IAAI,IAAIC,KAAK,EAAE;IACpB,MAAME,GAAG,GAAIH,IAAI,GAAGC,KAAK,IAAK,CAAC;IAC/B,MAAMX,KAAK,GAAGf,OAAO,CAAC4B,GAAG,CAAC;IAC1B,IAAIb,KAAK,KAAKD,SAAS,IAAIC,KAAK,CAACF,IAAI,IAAIU,aAAa,EAAE;MACtDI,aAAa,GAAGC,GAAG;MACnBH,IAAI,GAAGG,GAAG,GAAG,CAAC;IAChB,CAAC,MAAM;MACLF,KAAK,GAAGE,GAAG,GAAG,CAAC;IACjB;EACF;EAEA,IAAID,aAAa,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC;EAClC,OAAO,CAAC3B,OAAO,CAAC2B,aAAa,CAAC,EAAEpB,KAAK,IAAI,CAAC,IAAI,CAAC;AACjD,CAAC;AAACa,OAAA,CAAAC,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
|
@@ -5,9 +5,7 @@ import { defaultMarkdownTheme } from "./theme.js";
|
|
|
5
5
|
export const MarkdownContext = /*#__PURE__*/createContext({
|
|
6
6
|
renderers: {},
|
|
7
7
|
theme: defaultMarkdownTheme,
|
|
8
|
-
|
|
9
|
-
stylingStrategy: "opinionated",
|
|
10
|
-
onLinkPress: undefined
|
|
8
|
+
stylingStrategy: "opinionated"
|
|
11
9
|
});
|
|
12
10
|
export const useMarkdownContext = () => useContext(MarkdownContext);
|
|
13
11
|
//# sourceMappingURL=MarkdownContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","defaultMarkdownTheme","MarkdownContext","renderers","theme","
|
|
1
|
+
{"version":3,"names":["createContext","useContext","defaultMarkdownTheme","MarkdownContext","renderers","theme","stylingStrategy","useMarkdownContext"],"sourceRoot":"../../src","sources":["MarkdownContext.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,UAAU,QAGL,OAAO;AAEd,SACEC,oBAAoB,QAIf,YAAS;AAmIhB,OAAO,MAAMC,eAAe,gBAAGH,aAAa,CAAuB;EACjEI,SAAS,EAAE,CAAC,CAAC;EACbC,KAAK,EAAEH,oBAAoB;EAC3BI,eAAe,EAAE;AACnB,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAMN,UAAU,CAACE,eAAe,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
export { MarkdownParserModule, parseMarkdown, parseMarkdownWithOptions, extractPlainText, extractPlainTextWithOptions, getTextContent, getFlattenedText, stripSourceOffsets } from "./headless.js";
|
|
4
4
|
export { Markdown } from "./markdown.js";
|
|
5
|
-
export { MarkdownStream } from "./markdown-stream.js";
|
|
5
|
+
export { MarkdownStream, useMarkdownStreamState } from "./markdown-stream.js";
|
|
6
6
|
export { useMarkdownContext, MarkdownContext } from "./MarkdownContext.js";
|
|
7
7
|
export { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes } from "./theme.js";
|
|
8
8
|
export { Heading } from "./renderers/heading.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAUnB,SAASC,QAAQ,QAAQ,eAAY;AASrC,SAASC,cAAc,QAAQ,sBAAmB;
|
|
1
|
+
{"version":3,"names":["MarkdownParserModule","parseMarkdown","parseMarkdownWithOptions","extractPlainText","extractPlainTextWithOptions","getTextContent","getFlattenedText","stripSourceOffsets","Markdown","MarkdownStream","useMarkdownStreamState","useMarkdownContext","MarkdownContext","defaultMarkdownTheme","minimalMarkdownTheme","mergeThemes","Heading","Paragraph","Link","Blockquote","HorizontalRule","CodeBlock","InlineCode","List","ListItem","TaskListItem","TableRenderer","Image","MathInline","MathBlock","createMarkdownSession","useMarkdownSession","useStream","defaultHighlighter"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SACEA,oBAAoB,EACpBC,aAAa,EACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,2BAA2B,EAC3BC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,QACb,eAAY;AAUnB,SAASC,QAAQ,QAAQ,eAAY;AASrC,SAASC,cAAc,EAAEC,sBAAsB,QAAQ,sBAAmB;AAU1E,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,sBAAmB;AAuBvE,SACEC,oBAAoB,EACpBC,oBAAoB,EACpBC,WAAW,QACN,YAAS;AAQhB,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,SAAS,QAAQ,0BAAuB;AACjD,SAASC,IAAI,QAAQ,qBAAkB;AACvC,SAASC,UAAU,QAAQ,2BAAwB;AACnD,SAASC,cAAc,QAAQ,gCAA6B;AAC5D,SAASC,SAAS,EAAEC,UAAU,QAAQ,qBAAkB;AACxD,SAASC,IAAI,EAAEC,QAAQ,EAAEC,YAAY,QAAQ,qBAAkB;AAC/D,SAASC,aAAa,QAAQ,sBAAmB;AACjD,SAASC,KAAK,QAAQ,sBAAmB;AACzC,SAASC,UAAU,EAAEC,SAAS,QAAQ,qBAAkB;AAExD,SAASC,qBAAqB,QAAQ,sBAAmB;AAEzD,SAASC,kBAAkB,EAAEC,SAAS,QAAQ,0BAAuB;AAQrE,SAASC,kBAAkB,QAAQ,2BAAwB","ignoreList":[]}
|
|
@@ -18,11 +18,11 @@ const normalizeParserOptions = options => {
|
|
|
18
18
|
if (gfm === undefined && math === undefined && html === undefined) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
const normalized = {};
|
|
22
|
+
if (gfm !== undefined) normalized.gfm = gfm;
|
|
23
|
+
if (math !== undefined) normalized.math = math;
|
|
24
|
+
if (html !== undefined) normalized.html = html;
|
|
25
|
+
return normalized;
|
|
26
26
|
};
|
|
27
27
|
const resolveStreamText = ({
|
|
28
28
|
forceFullSync,
|
|
@@ -61,41 +61,41 @@ function warnStreamError(message, error) {
|
|
|
61
61
|
warn.call(console, message, error);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
* A component that renders streaming Markdown from a MarkdownSession.
|
|
66
|
-
* It efficiently subscribes to session updates to minimize parent re-renders.
|
|
67
|
-
*/
|
|
68
|
-
export const MarkdownStream = ({
|
|
64
|
+
export function useMarkdownStreamState({
|
|
69
65
|
session,
|
|
70
66
|
updateIntervalMs = 50,
|
|
71
67
|
updateStrategy = "interval",
|
|
72
68
|
useTransitionUpdates = false,
|
|
73
69
|
incrementalParsing = true,
|
|
74
70
|
options,
|
|
75
|
-
plugins
|
|
76
|
-
|
|
77
|
-
}) => {
|
|
71
|
+
plugins
|
|
72
|
+
}) {
|
|
78
73
|
const activeSession = resolveMarkdownSession(session);
|
|
79
74
|
const parserOptionGfm = options?.gfm;
|
|
80
75
|
const parserOptionMath = options?.math;
|
|
81
76
|
const parserOptionHtml = options?.html;
|
|
82
|
-
const parserOptions = useMemo(() => normalizeParserOptions({
|
|
83
|
-
gfm: parserOptionGfm
|
|
84
|
-
|
|
77
|
+
const parserOptions = useMemo(() => normalizeParserOptions(Object.assign({}, parserOptionGfm === undefined ? null : {
|
|
78
|
+
gfm: parserOptionGfm
|
|
79
|
+
}, parserOptionMath === undefined ? null : {
|
|
80
|
+
math: parserOptionMath
|
|
81
|
+
}, parserOptionHtml === undefined ? null : {
|
|
85
82
|
html: parserOptionHtml
|
|
86
|
-
}), [parserOptionGfm, parserOptionMath, parserOptionHtml]);
|
|
83
|
+
})), [parserOptionGfm, parserOptionMath, parserOptionHtml]);
|
|
87
84
|
const parseText = useCallback(text => parseMarkdownAst(text, parserOptions), [parserOptions]);
|
|
88
85
|
const createEmptyAst = () => ({
|
|
89
86
|
type: "document",
|
|
90
87
|
children: []
|
|
91
88
|
});
|
|
92
|
-
const initialText = activeSession.getAllText();
|
|
93
89
|
const hasBeforeParsePlugins = plugins?.some(plugin => typeof plugin.beforeParse === "function") ?? false;
|
|
94
|
-
const [renderState, setRenderState] = useState(() =>
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
const [renderState, setRenderState] = useState(() => {
|
|
91
|
+
const initialText = activeSession.getAllText();
|
|
92
|
+
return {
|
|
93
|
+
text: initialText,
|
|
94
|
+
ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText)
|
|
95
|
+
};
|
|
96
|
+
});
|
|
98
97
|
const renderStateRef = useRef(renderState);
|
|
98
|
+
const didMountRef = useRef(false);
|
|
99
99
|
const pendingUpdateRef = useRef(false);
|
|
100
100
|
const pendingFromRef = useRef(null);
|
|
101
101
|
const pendingToRef = useRef(null);
|
|
@@ -114,6 +114,10 @@ export const MarkdownStream = ({
|
|
|
114
114
|
};
|
|
115
115
|
}, []);
|
|
116
116
|
useEffect(() => {
|
|
117
|
+
if (!didMountRef.current) {
|
|
118
|
+
didMountRef.current = true;
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
117
121
|
const initialText = activeSession.getAllText();
|
|
118
122
|
const initialState = {
|
|
119
123
|
text: initialText,
|
|
@@ -159,9 +163,11 @@ export const MarkdownStream = ({
|
|
|
159
163
|
const nextAst = hasBeforeParsePlugins ? previousState.ast : getNextStreamAst({
|
|
160
164
|
allowIncremental,
|
|
161
165
|
nextText: latest,
|
|
162
|
-
options: parserOptions,
|
|
163
166
|
previousAst: previousState.ast,
|
|
164
|
-
previousText: previousState.text
|
|
167
|
+
previousText: previousState.text,
|
|
168
|
+
...(parserOptions ? {
|
|
169
|
+
options: parserOptions
|
|
170
|
+
} : {})
|
|
165
171
|
});
|
|
166
172
|
const nextState = {
|
|
167
173
|
text: latest,
|
|
@@ -229,12 +235,56 @@ export const MarkdownStream = ({
|
|
|
229
235
|
}
|
|
230
236
|
};
|
|
231
237
|
}, [allowIncremental, hasBeforeParsePlugins, parserOptions, activeSession, updateIntervalMs, updateStrategy, useTransitionUpdates]);
|
|
232
|
-
|
|
238
|
+
const streamState = {
|
|
239
|
+
text: renderState.text,
|
|
240
|
+
sourceAstStatus: hasBeforeParsePlugins ? "disabled" : "available"
|
|
241
|
+
};
|
|
242
|
+
if (hasBeforeParsePlugins) {
|
|
243
|
+
streamState.sourceAstDisabledReason = "beforeParse-plugin";
|
|
244
|
+
} else {
|
|
245
|
+
streamState.sourceAst = renderState.ast;
|
|
246
|
+
}
|
|
247
|
+
return streamState;
|
|
248
|
+
}
|
|
249
|
+
export const MarkdownStream = ({
|
|
250
|
+
session,
|
|
251
|
+
updateIntervalMs = 50,
|
|
252
|
+
updateStrategy = "interval",
|
|
253
|
+
useTransitionUpdates = false,
|
|
254
|
+
incrementalParsing = true,
|
|
255
|
+
options,
|
|
256
|
+
plugins,
|
|
257
|
+
renderMarkdown,
|
|
258
|
+
...props
|
|
259
|
+
}) => {
|
|
260
|
+
const streamState = useMarkdownStreamState({
|
|
261
|
+
session,
|
|
262
|
+
updateIntervalMs,
|
|
263
|
+
updateStrategy,
|
|
264
|
+
useTransitionUpdates,
|
|
265
|
+
incrementalParsing,
|
|
266
|
+
...(options ? {
|
|
267
|
+
options
|
|
268
|
+
} : {}),
|
|
269
|
+
...(plugins ? {
|
|
270
|
+
plugins
|
|
271
|
+
} : {})
|
|
272
|
+
});
|
|
273
|
+
const markdownProps = {
|
|
233
274
|
...props,
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
275
|
+
children: streamState.text
|
|
276
|
+
};
|
|
277
|
+
if (options) markdownProps.options = options;
|
|
278
|
+
if (plugins) markdownProps.plugins = plugins;
|
|
279
|
+
if (streamState.sourceAst) markdownProps.sourceAst = streamState.sourceAst;
|
|
280
|
+
if (renderMarkdown) {
|
|
281
|
+
return renderMarkdown({
|
|
282
|
+
...streamState,
|
|
283
|
+
markdownProps
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
return /*#__PURE__*/_jsx(Markdown, {
|
|
287
|
+
...markdownProps
|
|
238
288
|
});
|
|
239
289
|
};
|
|
240
290
|
//# sourceMappingURL=markdown-stream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useRef","useCallback","useMemo","startTransition","Markdown","resolveMarkdownSession","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","normalizeParserOptions","options","undefined","gfm","math","html","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","MarkdownStream","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","plugins","props","activeSession","parserOptionGfm","parserOptionMath","parserOptionHtml","parserOptions","parseText","text","createEmptyAst","type","children","initialText","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","ast","renderStateRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","sourceAst"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useRef","useCallback","useMemo","startTransition","Markdown","resolveMarkdownSession","getNextStreamAst","parseMarkdownAst","jsx","_jsx","normalizeOffset","value","Number","isFinite","Math","floor","normalizeParserOptions","options","undefined","gfm","math","html","normalized","resolveStreamText","forceFullSync","pendingFrom","pendingTo","previousText","session","getAllText","length","appendedChunk","getTextRange","warnStreamError","message","error","__DEV__","warn","Reflect","get","console","call","useMarkdownStreamState","updateIntervalMs","updateStrategy","useTransitionUpdates","incrementalParsing","plugins","activeSession","parserOptionGfm","parserOptionMath","parserOptionHtml","parserOptions","Object","assign","parseText","text","createEmptyAst","type","children","hasBeforeParsePlugins","some","plugin","beforeParse","renderState","setRenderState","initialText","ast","renderStateRef","didMountRef","pendingUpdateRef","pendingFromRef","pendingToRef","forceFullSyncRef","updateTimerRef","rafRef","mountedRef","allowIncremental","current","initialState","flushUpdate","cancelAnimationFrame","previousState","latest","nextAst","nextText","previousAst","nextState","scheduleFlush","requestAnimationFrame","setTimeout","unsubscribe","addListener","from","to","nextFrom","nextTo","currentFrom","currentTo","min","max","clearTimeout","streamState","sourceAstStatus","sourceAstDisabledReason","sourceAst","MarkdownStream","renderMarkdown","props","markdownProps"],"sourceRoot":"../../src","sources":["markdown-stream.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/markdown.js
CHANGED
|
@@ -61,9 +61,12 @@ const warnInDev = (message, error) => {
|
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
63
|
const cloneMarkdownNode = node => {
|
|
64
|
-
|
|
64
|
+
const children = node.children?.map(cloneMarkdownNode);
|
|
65
|
+
return children ? {
|
|
65
66
|
...node,
|
|
66
|
-
children
|
|
67
|
+
children
|
|
68
|
+
} : {
|
|
69
|
+
...node
|
|
67
70
|
};
|
|
68
71
|
};
|
|
69
72
|
const getParserOptionsKey = options => {
|
|
@@ -81,11 +84,11 @@ const normalizeParserOptions = options => {
|
|
|
81
84
|
if (gfm === undefined && math === undefined && html === undefined) {
|
|
82
85
|
return undefined;
|
|
83
86
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
const normalized = {};
|
|
88
|
+
if (gfm !== undefined) normalized.gfm = gfm;
|
|
89
|
+
if (math !== undefined) normalized.math = math;
|
|
90
|
+
if (html !== undefined) normalized.html = html;
|
|
91
|
+
return normalized;
|
|
89
92
|
};
|
|
90
93
|
const parseWithNativeParser = (text, options) => {
|
|
91
94
|
if (options) {
|
|
@@ -197,11 +200,13 @@ export const Markdown = ({
|
|
|
197
200
|
try {
|
|
198
201
|
const sortedPlugins = sortPluginsByPriority(plugins);
|
|
199
202
|
const markdownToParse = sourceAst ? children : applyBeforeParsePlugins(children, sortedPlugins, onErrorRef.current);
|
|
200
|
-
const parserOptions = normalizeParserOptions({
|
|
201
|
-
gfm: parserOptionGfm
|
|
202
|
-
|
|
203
|
+
const parserOptions = normalizeParserOptions(Object.assign({}, parserOptionGfm === undefined ? null : {
|
|
204
|
+
gfm: parserOptionGfm
|
|
205
|
+
}, parserOptionMath === undefined ? null : {
|
|
206
|
+
math: parserOptionMath
|
|
207
|
+
}, parserOptionHtml === undefined ? null : {
|
|
203
208
|
html: parserOptionHtml
|
|
204
|
-
});
|
|
209
|
+
}));
|
|
205
210
|
const shouldCloneSourceAst = sourceAst && (Boolean(astTransform) || sortedPlugins?.some(plugin => plugin.afterParse) === true);
|
|
206
211
|
let parsedAst = sourceAst ? shouldCloneSourceAst ? cloneMarkdownNode(sourceAst) : sourceAst : parseCache ? getCachedParsedAst(markdownToParse, parserOptions) : parseWithNativeParser(markdownToParse, parserOptions);
|
|
207
212
|
parsedAst = applyAfterParsePlugins(parsedAst, sortedPlugins, onErrorRef.current);
|
|
@@ -248,12 +253,22 @@ export const Markdown = ({
|
|
|
248
253
|
const contextValue = useMemo(() => ({
|
|
249
254
|
renderers,
|
|
250
255
|
theme,
|
|
251
|
-
styles: nodeStyles,
|
|
252
256
|
stylingStrategy,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
+
...(nodeStyles ? {
|
|
258
|
+
styles: nodeStyles
|
|
259
|
+
} : {}),
|
|
260
|
+
...(onLinkPress ? {
|
|
261
|
+
onLinkPress
|
|
262
|
+
} : {}),
|
|
263
|
+
...(tableOptions ? {
|
|
264
|
+
tableOptions
|
|
265
|
+
} : {}),
|
|
266
|
+
...(imageOptions ? {
|
|
267
|
+
imageOptions
|
|
268
|
+
} : {}),
|
|
269
|
+
...(highlightCode === undefined ? {} : {
|
|
270
|
+
highlightCode
|
|
271
|
+
})
|
|
257
272
|
}), [renderers, theme, nodeStyles, stylingStrategy, onLinkPress, tableOptions, imageOptions, highlightCode]);
|
|
258
273
|
const topLevelBlocks = parseResult.ast?.type === "document" ? parseResult.ast.children ?? [] : parseResult.ast ? [parseResult.ast] : [];
|
|
259
274
|
const shouldVirtualizeBySetting = virtualize === true || virtualize === "auto" && topLevelBlocks.length >= virtualizationMinBlocks;
|
|
@@ -391,16 +406,24 @@ const NodeRendererComponent = ({
|
|
|
391
406
|
}),
|
|
392
407
|
...(node.type === "link" && {
|
|
393
408
|
href: node.href ?? "",
|
|
394
|
-
|
|
409
|
+
...(node.title ? {
|
|
410
|
+
title: node.title
|
|
411
|
+
} : {})
|
|
395
412
|
}),
|
|
396
413
|
...(node.type === "image" && {
|
|
397
414
|
url: node.href ?? "",
|
|
398
|
-
|
|
399
|
-
|
|
415
|
+
...(node.alt ? {
|
|
416
|
+
alt: node.alt
|
|
417
|
+
} : {}),
|
|
418
|
+
...(node.title ? {
|
|
419
|
+
title: node.title
|
|
420
|
+
} : {})
|
|
400
421
|
}),
|
|
401
422
|
...(node.type === "code_block" && {
|
|
402
423
|
content: getTextContent(node),
|
|
403
|
-
|
|
424
|
+
...(node.language ? {
|
|
425
|
+
language: node.language
|
|
426
|
+
} : {})
|
|
404
427
|
}),
|
|
405
428
|
...(node.type === "code_inline" && {
|
|
406
429
|
content: node.content ?? ""
|
|
@@ -410,7 +433,9 @@ const NodeRendererComponent = ({
|
|
|
410
433
|
}),
|
|
411
434
|
...(node.type === "list" && {
|
|
412
435
|
ordered: node.ordered ?? false,
|
|
413
|
-
start:
|
|
436
|
+
...(node.start === undefined ? {} : {
|
|
437
|
+
start: node.start
|
|
438
|
+
})
|
|
414
439
|
}),
|
|
415
440
|
...(node.type === "task_list_item" && {
|
|
416
441
|
checked: node.checked ?? false
|
|
@@ -430,7 +455,9 @@ const NodeRendererComponent = ({
|
|
|
430
455
|
case "heading":
|
|
431
456
|
return /*#__PURE__*/_jsx(Heading, {
|
|
432
457
|
level: node.level ?? 1,
|
|
433
|
-
|
|
458
|
+
...(nodeStyles?.heading ? {
|
|
459
|
+
style: nodeStyles.heading
|
|
460
|
+
} : {}),
|
|
434
461
|
children: renderChildren(node.children, inListItem, true)
|
|
435
462
|
});
|
|
436
463
|
case "paragraph":
|
|
@@ -467,36 +494,54 @@ const NodeRendererComponent = ({
|
|
|
467
494
|
case "link":
|
|
468
495
|
return /*#__PURE__*/_jsx(Link, {
|
|
469
496
|
href: node.href ?? "",
|
|
470
|
-
|
|
497
|
+
...(nodeStyles?.link ? {
|
|
498
|
+
style: nodeStyles.link
|
|
499
|
+
} : {}),
|
|
471
500
|
children: renderChildren(node.children, inListItem, true)
|
|
472
501
|
});
|
|
473
502
|
case "image":
|
|
474
503
|
return /*#__PURE__*/_jsx(Image, {
|
|
475
504
|
url: node.href ?? "",
|
|
476
|
-
title: node.title,
|
|
477
|
-
alt: node.alt,
|
|
478
505
|
Renderer: NodeRenderer,
|
|
479
|
-
|
|
506
|
+
...(node.title ? {
|
|
507
|
+
title: node.title
|
|
508
|
+
} : {}),
|
|
509
|
+
...(node.alt ? {
|
|
510
|
+
alt: node.alt
|
|
511
|
+
} : {}),
|
|
512
|
+
...(nodeStyles?.image ? {
|
|
513
|
+
style: nodeStyles.image
|
|
514
|
+
} : {})
|
|
480
515
|
});
|
|
481
516
|
case "code_inline":
|
|
482
517
|
return /*#__PURE__*/_jsx(InlineCode, {
|
|
483
|
-
|
|
518
|
+
...(nodeStyles?.code_inline ? {
|
|
519
|
+
style: nodeStyles.code_inline
|
|
520
|
+
} : {}),
|
|
484
521
|
children: node.content
|
|
485
522
|
});
|
|
486
523
|
case "code_block":
|
|
487
524
|
return /*#__PURE__*/_jsx(CodeBlock, {
|
|
488
|
-
language: node.language,
|
|
489
525
|
content: getTextContent(node),
|
|
490
|
-
|
|
526
|
+
...(node.language ? {
|
|
527
|
+
language: node.language
|
|
528
|
+
} : {}),
|
|
529
|
+
...(nodeStyles?.code_block ? {
|
|
530
|
+
style: nodeStyles.code_block
|
|
531
|
+
} : {})
|
|
491
532
|
});
|
|
492
533
|
case "blockquote":
|
|
493
534
|
return /*#__PURE__*/_jsx(Blockquote, {
|
|
494
|
-
|
|
535
|
+
...(nodeStyles?.blockquote ? {
|
|
536
|
+
style: nodeStyles.blockquote
|
|
537
|
+
} : {}),
|
|
495
538
|
children: renderChildren(node.children, inListItem, false)
|
|
496
539
|
});
|
|
497
540
|
case "horizontal_rule":
|
|
498
541
|
return /*#__PURE__*/_jsx(HorizontalRule, {
|
|
499
|
-
|
|
542
|
+
...(nodeStyles?.horizontal_rule ? {
|
|
543
|
+
style: nodeStyles.horizontal_rule
|
|
544
|
+
} : {})
|
|
500
545
|
});
|
|
501
546
|
case "line_break":
|
|
502
547
|
return /*#__PURE__*/_jsx(Text, {
|
|
@@ -513,20 +558,28 @@ const NodeRendererComponent = ({
|
|
|
513
558
|
mathContent = mathContent.replace(/^\$+|\$+$/g, "").trim();
|
|
514
559
|
return /*#__PURE__*/_jsx(MathInline, {
|
|
515
560
|
content: mathContent,
|
|
516
|
-
|
|
561
|
+
...(nodeStyles?.math_inline ? {
|
|
562
|
+
style: nodeStyles.math_inline
|
|
563
|
+
} : {})
|
|
517
564
|
});
|
|
518
565
|
}
|
|
519
566
|
case "math_block":
|
|
520
567
|
return /*#__PURE__*/_jsx(MathBlock, {
|
|
521
568
|
content: getTextContent(node),
|
|
522
|
-
|
|
569
|
+
...(nodeStyles?.math_block ? {
|
|
570
|
+
style: nodeStyles.math_block
|
|
571
|
+
} : {})
|
|
523
572
|
});
|
|
524
573
|
case "list":
|
|
525
574
|
return /*#__PURE__*/_jsx(List, {
|
|
526
575
|
ordered: node.ordered ?? false,
|
|
527
|
-
start: node.start,
|
|
528
576
|
depth: depth,
|
|
529
|
-
|
|
577
|
+
...(node.start === undefined ? {} : {
|
|
578
|
+
start: node.start
|
|
579
|
+
}),
|
|
580
|
+
...(nodeStyles?.list ? {
|
|
581
|
+
style: nodeStyles.list
|
|
582
|
+
} : {}),
|
|
530
583
|
children: node.children?.map((child, index) => {
|
|
531
584
|
if (child.type === "task_list_item") {
|
|
532
585
|
return /*#__PURE__*/_jsx(NodeRenderer, {
|
|
@@ -556,14 +609,18 @@ const NodeRendererComponent = ({
|
|
|
556
609
|
case "task_list_item":
|
|
557
610
|
return /*#__PURE__*/_jsx(TaskListItem, {
|
|
558
611
|
checked: node.checked ?? false,
|
|
559
|
-
|
|
612
|
+
...(nodeStyles?.task_list_item ? {
|
|
613
|
+
style: nodeStyles.task_list_item
|
|
614
|
+
} : {}),
|
|
560
615
|
children: renderChildren(node.children, true, false)
|
|
561
616
|
});
|
|
562
617
|
case "table":
|
|
563
618
|
return /*#__PURE__*/_jsx(TableRenderer, {
|
|
564
619
|
node: node,
|
|
565
620
|
Renderer: NodeRenderer,
|
|
566
|
-
|
|
621
|
+
...(nodeStyles?.table ? {
|
|
622
|
+
style: nodeStyles.table
|
|
623
|
+
} : {})
|
|
567
624
|
});
|
|
568
625
|
case "table_head":
|
|
569
626
|
case "table_body":
|