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
|
@@ -7,13 +7,18 @@ export const createTimestampTimeline = timestamps => {
|
|
|
7
7
|
monotonic: true
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
-
const entries = Object.keys(timestamps).map(Number).filter(index => Number.isFinite(index)).sort((a, b) => a - b).
|
|
11
|
-
index
|
|
12
|
-
time:
|
|
13
|
-
|
|
10
|
+
const entries = Object.keys(timestamps).map(Number).filter(index => Number.isFinite(index)).sort((a, b) => a - b).flatMap(index => {
|
|
11
|
+
const time = timestamps[index];
|
|
12
|
+
return time === undefined ? [] : [{
|
|
13
|
+
index,
|
|
14
|
+
time
|
|
15
|
+
}];
|
|
16
|
+
}).filter(entry => Number.isFinite(entry.time));
|
|
14
17
|
let monotonic = true;
|
|
15
18
|
for (let i = 1; i < entries.length; i += 1) {
|
|
16
|
-
|
|
19
|
+
const current = entries[i];
|
|
20
|
+
const previous = entries[i - 1];
|
|
21
|
+
if (current && previous && current.time < previous.time) {
|
|
17
22
|
monotonic = false;
|
|
18
23
|
break;
|
|
19
24
|
}
|
|
@@ -43,7 +48,8 @@ export const resolveHighlightPosition = (timeline, currentTimeMs) => {
|
|
|
43
48
|
let resolvedIndex = -1;
|
|
44
49
|
while (left <= right) {
|
|
45
50
|
const mid = left + right >> 1;
|
|
46
|
-
|
|
51
|
+
const entry = entries[mid];
|
|
52
|
+
if (entry !== undefined && entry.time <= currentTimeMs) {
|
|
47
53
|
resolvedIndex = mid;
|
|
48
54
|
left = mid + 1;
|
|
49
55
|
} else {
|
|
@@ -51,6 +57,6 @@ export const resolveHighlightPosition = (timeline, currentTimeMs) => {
|
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
if (resolvedIndex === -1) return 0;
|
|
54
|
-
return entries[resolvedIndex]
|
|
60
|
+
return (entries[resolvedIndex]?.index ?? 0) + 1;
|
|
55
61
|
};
|
|
56
62
|
//# 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","resolveHighlightPosition","timeline","currentTimeMs","wordIndex","left","right","resolvedIndex","mid"],"sourceRoot":"../../../src","sources":["utils/stream-timeline.ts"],"mappings":";;AAUA,OAAO,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","resolveHighlightPosition","timeline","currentTimeMs","wordIndex","left","right","resolvedIndex","mid"],"sourceRoot":"../../../src","sources":["utils/stream-timeline.ts"],"mappings":";;AAUA,OAAO,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;AAED,OAAO,MAAMmB,wBAAwB,GAAGA,CACtCC,QAA2B,EAC3BC,aAAqB,KACV;EACX,MAAM;IAAEtB,OAAO;IAAEC;EAAU,CAAC,GAAGoB,QAAQ;EACvC,IAAIrB,OAAO,CAACiB,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC;EAElC,IAAI,CAAChB,SAAS,EAAE;IACd,IAAIsB,SAAS,GAAG,CAAC;IACjB,KAAK,MAAMR,KAAK,IAAIf,OAAO,EAAE;MAC3B,IAAIsB,aAAa,IAAIP,KAAK,CAACF,IAAI,EAAE;QAC/BU,SAAS,GAAGR,KAAK,CAACR,KAAK,GAAG,CAAC;MAC7B;IACF;IACA,OAAOgB,SAAS;EAClB;EAEA,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,KAAK,GAAGzB,OAAO,CAACiB,MAAM,GAAG,CAAC;EAC9B,IAAIS,aAAa,GAAG,CAAC,CAAC;EAEtB,OAAOF,IAAI,IAAIC,KAAK,EAAE;IACpB,MAAME,GAAG,GAAIH,IAAI,GAAGC,KAAK,IAAK,CAAC;IAC/B,MAAMV,KAAK,GAAGf,OAAO,CAAC2B,GAAG,CAAC;IAC1B,IAAIZ,KAAK,KAAKD,SAAS,IAAIC,KAAK,CAACF,IAAI,IAAIS,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,CAAC1B,OAAO,CAAC0B,aAAa,CAAC,EAAEnB,KAAK,IAAI,CAAC,IAAI,CAAC;AACjD,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9B,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,KACT,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAE9C,MAAM,MAAM,cAAc,CACxB,KAAK,SAAS,qBAAqB,GAAG,qBAAqB,IACzD,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,uBAAuB,CAAC;IACrC,UAAU,EAAE,sBAAsB,CAAC;IACnC,UAAU,EAAE,mBAAmB,CAAC;IAChC,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,EAAE,yBAAyB,CAAC;IAC1C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;KACnC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,CAC5C,yBAAyB,CAAC,IAAI,CAAC,CAChC;CACF,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,eAAe,+
|
|
1
|
+
{"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9B,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,uBAAuB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,MAAM,KACT,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAE9C,MAAM,MAAM,cAAc,CACxB,KAAK,SAAS,qBAAqB,GAAG,qBAAqB,IACzD,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS,GAAG,SAAS,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,mBAAmB,CAAC;IAC/B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,EAAE,uBAAuB,CAAC;IACrC,UAAU,EAAE,sBAAsB,CAAC;IACnC,UAAU,EAAE,mBAAmB,CAAC;IAChC,eAAe,EAAE,mBAAmB,CAAC;IACrC,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,EAAE,yBAAyB,CAAC;IAC1C,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,mBAAmB,CAAC;IAChC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC;KACnC,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,cAAc,CAC5C,yBAAyB,CAAC,IAAI,CAAC,CAChC;CACF,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,eAAe,+CAI1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4BAAoC,CAAC"}
|
|
@@ -2,8 +2,8 @@ export { MarkdownParserModule, parseMarkdown, parseMarkdownWithOptions, extractP
|
|
|
2
2
|
export type { MarkdownNode, MarkdownNodeType, HeadingLevel, TableCellAlign, ParserOptions, MarkdownParser, } from "./headless";
|
|
3
3
|
export { Markdown } from "./markdown";
|
|
4
4
|
export type { MarkdownProps, AstTransform, MarkdownPlugin, MarkdownErrorPhase, MarkdownParseCompleteResult, MarkdownVirtualizationOptions, } from "./markdown";
|
|
5
|
-
export { MarkdownStream } from "./markdown-stream";
|
|
6
|
-
export type { MarkdownStreamProps } from "./markdown-stream";
|
|
5
|
+
export { MarkdownStream, useMarkdownStreamState } from "./markdown-stream";
|
|
6
|
+
export type { MarkdownStreamProps, MarkdownStreamRenderProps, MarkdownStreamState, MarkdownStreamSourceAstDisabledReason, MarkdownStreamSourceAstStatus, UseMarkdownStreamStateOptions, } from "./markdown-stream";
|
|
7
7
|
export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
|
|
8
8
|
export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, MathRendererProps, LinkPressHandler, MarkdownContextValue, CustomRendererPropsByNode, MarkdownRenderers, TableOptions, } from "./MarkdownContext";
|
|
9
9
|
export { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes, } from "./theme";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qCAAqC,EACrC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { type FC } from "react";
|
|
2
|
-
import {
|
|
1
|
+
import { type FC, type ReactNode } from "react";
|
|
2
|
+
import type { MarkdownNode } from "./headless";
|
|
3
|
+
import type { ParserOptions } from "./Markdown.nitro";
|
|
4
|
+
import { type MarkdownPlugin, type MarkdownProps } from "./markdown";
|
|
3
5
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
4
6
|
import { type MarkdownSessionController } from "./use-markdown-stream";
|
|
5
|
-
export type
|
|
7
|
+
export type MarkdownStreamSourceAstStatus = "available" | "disabled";
|
|
8
|
+
export type MarkdownStreamSourceAstDisabledReason = "beforeParse-plugin";
|
|
9
|
+
export type UseMarkdownStreamStateOptions = {
|
|
6
10
|
/**
|
|
7
11
|
* The active MarkdownSession to stream content from.
|
|
8
12
|
*/
|
|
@@ -29,10 +33,27 @@ export type MarkdownStreamProps = {
|
|
|
29
33
|
* Automatically falls back to full parse when updates are not safely mergeable.
|
|
30
34
|
*/
|
|
31
35
|
incrementalParsing?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Parser options used for the stream source AST.
|
|
38
|
+
*/
|
|
39
|
+
options?: ParserOptions;
|
|
40
|
+
/**
|
|
41
|
+
* Plugins determine whether an optimized source AST can be passed through.
|
|
42
|
+
*/
|
|
43
|
+
plugins?: MarkdownPlugin[];
|
|
44
|
+
};
|
|
45
|
+
export type MarkdownStreamState = {
|
|
46
|
+
text: string;
|
|
47
|
+
sourceAst?: MarkdownNode;
|
|
48
|
+
sourceAstStatus: MarkdownStreamSourceAstStatus;
|
|
49
|
+
sourceAstDisabledReason?: MarkdownStreamSourceAstDisabledReason;
|
|
50
|
+
};
|
|
51
|
+
export type MarkdownStreamRenderProps = MarkdownStreamState & {
|
|
52
|
+
markdownProps: MarkdownProps;
|
|
53
|
+
};
|
|
54
|
+
export type MarkdownStreamProps = UseMarkdownStreamStateOptions & {
|
|
55
|
+
renderMarkdown?: (props: MarkdownStreamRenderProps) => ReactNode;
|
|
32
56
|
} & Omit<MarkdownProps, "children" | "sourceAst">;
|
|
33
|
-
|
|
34
|
-
* A component that renders streaming Markdown from a MarkdownSession.
|
|
35
|
-
* It efficiently subscribes to session updates to minimize parent re-renders.
|
|
36
|
-
*/
|
|
57
|
+
export declare function useMarkdownStreamState({ session, updateIntervalMs, updateStrategy, useTransitionUpdates, incrementalParsing, options, plugins, }: UseMarkdownStreamStateOptions): MarkdownStreamState;
|
|
37
58
|
export declare const MarkdownStream: FC<MarkdownStreamProps>;
|
|
38
59
|
//# sourceMappingURL=markdown-stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACP,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA+E/B,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG,UAAU,CAAC;AAErE,MAAM,MAAM,qCAAqC,GAAG,oBAAoB,CAAC;AAEzE,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,OAAO,EAAE,eAAe,GAAG,yBAAyB,CAAC;IACrD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,EAAE,6BAA6B,CAAC;IAC/C,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,6BAA6B,GAAG;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CAAC;CAClE,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,gBAAqB,EACrB,cAA2B,EAC3B,oBAA4B,EAC5B,kBAAyB,EACzB,OAAO,EACP,OAAO,GACR,EAAE,6BAA6B,GAAG,mBAAmB,CA0NrD;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAoClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AACf,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental-ast.d.ts","sourceRoot":"","sources":["../../../../src/utils/incremental-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"incremental-ast.d.ts","sourceRoot":"","sources":["../../../../src/utils/incremental-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAuLvD,eAAO,MAAM,mBAAmB,GAC9B,cAAc,YAAY,EAC1B,UAAU,YAAY,KACrB,YA8CF,CAAC;AAUF,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,qEAM9B,mBAAmB,KAAG,YAgDxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,UAAU,aAAa,KACtB,YAEF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-timeline.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-timeline.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAClC,
|
|
1
|
+
{"version":3,"file":"stream-timeline.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-timeline.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAClC,iBA0BF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,UAAU,iBAAiB,EAC3B,eAAe,MAAM,KACpB,MA+BF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ export { MarkdownParserModule, parseMarkdown, parseMarkdownWithOptions, extractP
|
|
|
2
2
|
export type { MarkdownNode, MarkdownNodeType, HeadingLevel, TableCellAlign, ParserOptions, MarkdownParser, } from "./headless";
|
|
3
3
|
export { Markdown } from "./markdown";
|
|
4
4
|
export type { MarkdownProps, AstTransform, MarkdownPlugin, MarkdownErrorPhase, MarkdownParseCompleteResult, MarkdownVirtualizationOptions, } from "./markdown";
|
|
5
|
-
export { MarkdownStream } from "./markdown-stream";
|
|
6
|
-
export type { MarkdownStreamProps } from "./markdown-stream";
|
|
5
|
+
export { MarkdownStream, useMarkdownStreamState } from "./markdown-stream";
|
|
6
|
+
export type { MarkdownStreamProps, MarkdownStreamRenderProps, MarkdownStreamState, MarkdownStreamSourceAstDisabledReason, MarkdownStreamSourceAstStatus, UseMarkdownStreamStateOptions, } from "./markdown-stream";
|
|
7
7
|
export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
|
|
8
8
|
export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, MathRendererProps, LinkPressHandler, MarkdownContextValue, CustomRendererPropsByNode, MarkdownRenderers, TableOptions, } from "./MarkdownContext";
|
|
9
9
|
export { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes, } from "./theme";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qCAAqC,EACrC,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,GACZ,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import { type FC } from "react";
|
|
2
|
-
import {
|
|
1
|
+
import { type FC, type ReactNode } from "react";
|
|
2
|
+
import type { MarkdownNode } from "./headless";
|
|
3
|
+
import type { ParserOptions } from "./Markdown.nitro";
|
|
4
|
+
import { type MarkdownPlugin, type MarkdownProps } from "./markdown";
|
|
3
5
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
4
6
|
import { type MarkdownSessionController } from "./use-markdown-stream";
|
|
5
|
-
export type
|
|
7
|
+
export type MarkdownStreamSourceAstStatus = "available" | "disabled";
|
|
8
|
+
export type MarkdownStreamSourceAstDisabledReason = "beforeParse-plugin";
|
|
9
|
+
export type UseMarkdownStreamStateOptions = {
|
|
6
10
|
/**
|
|
7
11
|
* The active MarkdownSession to stream content from.
|
|
8
12
|
*/
|
|
@@ -29,10 +33,27 @@ export type MarkdownStreamProps = {
|
|
|
29
33
|
* Automatically falls back to full parse when updates are not safely mergeable.
|
|
30
34
|
*/
|
|
31
35
|
incrementalParsing?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Parser options used for the stream source AST.
|
|
38
|
+
*/
|
|
39
|
+
options?: ParserOptions;
|
|
40
|
+
/**
|
|
41
|
+
* Plugins determine whether an optimized source AST can be passed through.
|
|
42
|
+
*/
|
|
43
|
+
plugins?: MarkdownPlugin[];
|
|
44
|
+
};
|
|
45
|
+
export type MarkdownStreamState = {
|
|
46
|
+
text: string;
|
|
47
|
+
sourceAst?: MarkdownNode;
|
|
48
|
+
sourceAstStatus: MarkdownStreamSourceAstStatus;
|
|
49
|
+
sourceAstDisabledReason?: MarkdownStreamSourceAstDisabledReason;
|
|
50
|
+
};
|
|
51
|
+
export type MarkdownStreamRenderProps = MarkdownStreamState & {
|
|
52
|
+
markdownProps: MarkdownProps;
|
|
53
|
+
};
|
|
54
|
+
export type MarkdownStreamProps = UseMarkdownStreamStateOptions & {
|
|
55
|
+
renderMarkdown?: (props: MarkdownStreamRenderProps) => ReactNode;
|
|
32
56
|
} & Omit<MarkdownProps, "children" | "sourceAst">;
|
|
33
|
-
|
|
34
|
-
* A component that renders streaming Markdown from a MarkdownSession.
|
|
35
|
-
* It efficiently subscribes to session updates to minimize parent re-renders.
|
|
36
|
-
*/
|
|
57
|
+
export declare function useMarkdownStreamState({ session, updateIntervalMs, updateStrategy, useTransitionUpdates, incrementalParsing, options, plugins, }: UseMarkdownStreamStateOptions): MarkdownStreamState;
|
|
37
58
|
export declare const MarkdownStream: FC<MarkdownStreamProps>;
|
|
38
59
|
//# sourceMappingURL=markdown-stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,EAAE,EACP,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAY,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA+E/B,MAAM,MAAM,6BAA6B,GAAG,WAAW,GAAG,UAAU,CAAC;AAErE,MAAM,MAAM,qCAAqC,GAAG,oBAAoB,CAAC;AAEzE,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;OAEG;IACH,OAAO,EAAE,eAAe,GAAG,yBAAyB,CAAC;IACrD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,eAAe,EAAE,6BAA6B,CAAC;IAC/C,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,6BAA6B,GAAG;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,SAAS,CAAC;CAClE,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,gBAAqB,EACrB,cAA2B,EAC3B,oBAA4B,EAC5B,kBAAyB,EACzB,OAAO,EACP,OAAO,GACR,EAAE,6BAA6B,GAAG,mBAAmB,CA0NrD;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAoClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AACf,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental-ast.d.ts","sourceRoot":"","sources":["../../../../src/utils/incremental-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"incremental-ast.d.ts","sourceRoot":"","sources":["../../../../src/utils/incremental-ast.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAuLvD,eAAO,MAAM,mBAAmB,GAC9B,cAAc,YAAY,EAC1B,UAAU,YAAY,KACrB,YA8CF,CAAC;AAUF,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,qEAM9B,mBAAmB,KAAG,YAgDxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,MAAM,EACZ,UAAU,aAAa,KACtB,YAEF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-timeline.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-timeline.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAClC,
|
|
1
|
+
{"version":3,"file":"stream-timeline.d.ts","sourceRoot":"","sources":["../../../../src/utils/stream-timeline.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,aAAa,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAClC,iBA0BF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,UAAU,iBAAiB,EAC3B,eAAe,MAAM,KACpB,MA+BF,CAAC"}
|
package/package.json
CHANGED
package/src/MarkdownContext.ts
CHANGED
|
@@ -144,9 +144,7 @@ export type MarkdownContextValue = {
|
|
|
144
144
|
export const MarkdownContext = createContext<MarkdownContextValue>({
|
|
145
145
|
renderers: {},
|
|
146
146
|
theme: defaultMarkdownTheme,
|
|
147
|
-
styles: undefined,
|
|
148
147
|
stylingStrategy: "opinionated",
|
|
149
|
-
onLinkPress: undefined,
|
|
150
148
|
});
|
|
151
149
|
|
|
152
150
|
export const useMarkdownContext = () => useContext(MarkdownContext);
|
package/src/index.ts
CHANGED
|
@@ -26,8 +26,15 @@ export type {
|
|
|
26
26
|
MarkdownParseCompleteResult,
|
|
27
27
|
MarkdownVirtualizationOptions,
|
|
28
28
|
} from "./markdown";
|
|
29
|
-
export { MarkdownStream } from "./markdown-stream";
|
|
30
|
-
export type {
|
|
29
|
+
export { MarkdownStream, useMarkdownStreamState } from "./markdown-stream";
|
|
30
|
+
export type {
|
|
31
|
+
MarkdownStreamProps,
|
|
32
|
+
MarkdownStreamRenderProps,
|
|
33
|
+
MarkdownStreamState,
|
|
34
|
+
MarkdownStreamSourceAstDisabledReason,
|
|
35
|
+
MarkdownStreamSourceAstStatus,
|
|
36
|
+
UseMarkdownStreamStateOptions,
|
|
37
|
+
} from "./markdown-stream";
|
|
31
38
|
|
|
32
39
|
export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
|
|
33
40
|
export type {
|
package/src/markdown-stream.tsx
CHANGED
|
@@ -6,10 +6,11 @@ import {
|
|
|
6
6
|
useMemo,
|
|
7
7
|
startTransition,
|
|
8
8
|
type FC,
|
|
9
|
+
type ReactNode,
|
|
9
10
|
} from "react";
|
|
10
11
|
import type { MarkdownNode } from "./headless";
|
|
11
12
|
import type { ParserOptions } from "./Markdown.nitro";
|
|
12
|
-
import { Markdown, type MarkdownProps } from "./markdown";
|
|
13
|
+
import { Markdown, type MarkdownPlugin, type MarkdownProps } from "./markdown";
|
|
13
14
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
14
15
|
import {
|
|
15
16
|
resolveMarkdownSession,
|
|
@@ -36,7 +37,11 @@ const normalizeParserOptions = (
|
|
|
36
37
|
return undefined;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
|
|
40
|
+
const normalized: ParserOptions = {};
|
|
41
|
+
if (gfm !== undefined) normalized.gfm = gfm;
|
|
42
|
+
if (math !== undefined) normalized.math = math;
|
|
43
|
+
if (html !== undefined) normalized.html = html;
|
|
44
|
+
return normalized;
|
|
40
45
|
};
|
|
41
46
|
|
|
42
47
|
const resolveStreamText = ({
|
|
@@ -89,7 +94,11 @@ function warnStreamError(message: string, error: unknown): void {
|
|
|
89
94
|
}
|
|
90
95
|
}
|
|
91
96
|
|
|
92
|
-
export type
|
|
97
|
+
export type MarkdownStreamSourceAstStatus = "available" | "disabled";
|
|
98
|
+
|
|
99
|
+
export type MarkdownStreamSourceAstDisabledReason = "beforeParse-plugin";
|
|
100
|
+
|
|
101
|
+
export type UseMarkdownStreamStateOptions = {
|
|
93
102
|
/**
|
|
94
103
|
* The active MarkdownSession to stream content from.
|
|
95
104
|
*/
|
|
@@ -116,13 +125,32 @@ export type MarkdownStreamProps = {
|
|
|
116
125
|
* Automatically falls back to full parse when updates are not safely mergeable.
|
|
117
126
|
*/
|
|
118
127
|
incrementalParsing?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Parser options used for the stream source AST.
|
|
130
|
+
*/
|
|
131
|
+
options?: ParserOptions;
|
|
132
|
+
/**
|
|
133
|
+
* Plugins determine whether an optimized source AST can be passed through.
|
|
134
|
+
*/
|
|
135
|
+
plugins?: MarkdownPlugin[];
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
export type MarkdownStreamState = {
|
|
139
|
+
text: string;
|
|
140
|
+
sourceAst?: MarkdownNode;
|
|
141
|
+
sourceAstStatus: MarkdownStreamSourceAstStatus;
|
|
142
|
+
sourceAstDisabledReason?: MarkdownStreamSourceAstDisabledReason;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
export type MarkdownStreamRenderProps = MarkdownStreamState & {
|
|
146
|
+
markdownProps: MarkdownProps;
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export type MarkdownStreamProps = UseMarkdownStreamStateOptions & {
|
|
150
|
+
renderMarkdown?: (props: MarkdownStreamRenderProps) => ReactNode;
|
|
119
151
|
} & Omit<MarkdownProps, "children" | "sourceAst">;
|
|
120
152
|
|
|
121
|
-
|
|
122
|
-
* A component that renders streaming Markdown from a MarkdownSession.
|
|
123
|
-
* It efficiently subscribes to session updates to minimize parent re-renders.
|
|
124
|
-
*/
|
|
125
|
-
export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
153
|
+
export function useMarkdownStreamState({
|
|
126
154
|
session,
|
|
127
155
|
updateIntervalMs = 50,
|
|
128
156
|
updateStrategy = "interval",
|
|
@@ -130,19 +158,21 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
130
158
|
incrementalParsing = true,
|
|
131
159
|
options,
|
|
132
160
|
plugins,
|
|
133
|
-
|
|
134
|
-
}) => {
|
|
161
|
+
}: UseMarkdownStreamStateOptions): MarkdownStreamState {
|
|
135
162
|
const activeSession = resolveMarkdownSession(session);
|
|
136
163
|
const parserOptionGfm = options?.gfm;
|
|
137
164
|
const parserOptionMath = options?.math;
|
|
138
165
|
const parserOptionHtml = options?.html;
|
|
139
166
|
const parserOptions = useMemo(
|
|
140
167
|
() =>
|
|
141
|
-
normalizeParserOptions(
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
168
|
+
normalizeParserOptions(
|
|
169
|
+
Object.assign(
|
|
170
|
+
{},
|
|
171
|
+
parserOptionGfm === undefined ? null : { gfm: parserOptionGfm },
|
|
172
|
+
parserOptionMath === undefined ? null : { math: parserOptionMath },
|
|
173
|
+
parserOptionHtml === undefined ? null : { html: parserOptionHtml },
|
|
174
|
+
),
|
|
175
|
+
),
|
|
146
176
|
[parserOptionGfm, parserOptionMath, parserOptionHtml],
|
|
147
177
|
);
|
|
148
178
|
const parseText = useCallback(
|
|
@@ -153,15 +183,18 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
153
183
|
type: "document",
|
|
154
184
|
children: [],
|
|
155
185
|
});
|
|
156
|
-
const initialText = activeSession.getAllText();
|
|
157
186
|
const hasBeforeParsePlugins =
|
|
158
187
|
plugins?.some((plugin) => typeof plugin.beforeParse === "function") ??
|
|
159
188
|
false;
|
|
160
|
-
const [renderState, setRenderState] = useState(() =>
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
189
|
+
const [renderState, setRenderState] = useState(() => {
|
|
190
|
+
const initialText = activeSession.getAllText();
|
|
191
|
+
return {
|
|
192
|
+
text: initialText,
|
|
193
|
+
ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText),
|
|
194
|
+
};
|
|
195
|
+
});
|
|
164
196
|
const renderStateRef = useRef(renderState);
|
|
197
|
+
const didMountRef = useRef(false);
|
|
165
198
|
const pendingUpdateRef = useRef(false);
|
|
166
199
|
const pendingFromRef = useRef<number | null>(null);
|
|
167
200
|
const pendingToRef = useRef<number | null>(null);
|
|
@@ -183,6 +216,11 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
183
216
|
}, []);
|
|
184
217
|
|
|
185
218
|
useEffect(() => {
|
|
219
|
+
if (!didMountRef.current) {
|
|
220
|
+
didMountRef.current = true;
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
|
|
186
224
|
const initialText = activeSession.getAllText();
|
|
187
225
|
const initialState = {
|
|
188
226
|
text: initialText,
|
|
@@ -234,9 +272,9 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
234
272
|
: getNextStreamAst({
|
|
235
273
|
allowIncremental,
|
|
236
274
|
nextText: latest,
|
|
237
|
-
options: parserOptions,
|
|
238
275
|
previousAst: previousState.ast,
|
|
239
276
|
previousText: previousState.text,
|
|
277
|
+
...(parserOptions ? { options: parserOptions } : {}),
|
|
240
278
|
});
|
|
241
279
|
const nextState = {
|
|
242
280
|
text: latest,
|
|
@@ -328,14 +366,52 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
328
366
|
useTransitionUpdates,
|
|
329
367
|
]);
|
|
330
368
|
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
369
|
+
const streamState: MarkdownStreamState = {
|
|
370
|
+
text: renderState.text,
|
|
371
|
+
sourceAstStatus: hasBeforeParsePlugins ? "disabled" : "available",
|
|
372
|
+
};
|
|
373
|
+
if (hasBeforeParsePlugins) {
|
|
374
|
+
streamState.sourceAstDisabledReason = "beforeParse-plugin";
|
|
375
|
+
} else {
|
|
376
|
+
streamState.sourceAst = renderState.ast;
|
|
377
|
+
}
|
|
378
|
+
return streamState;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
382
|
+
session,
|
|
383
|
+
updateIntervalMs = 50,
|
|
384
|
+
updateStrategy = "interval",
|
|
385
|
+
useTransitionUpdates = false,
|
|
386
|
+
incrementalParsing = true,
|
|
387
|
+
options,
|
|
388
|
+
plugins,
|
|
389
|
+
renderMarkdown,
|
|
390
|
+
...props
|
|
391
|
+
}) => {
|
|
392
|
+
const streamState = useMarkdownStreamState({
|
|
393
|
+
session,
|
|
394
|
+
updateIntervalMs,
|
|
395
|
+
updateStrategy,
|
|
396
|
+
useTransitionUpdates,
|
|
397
|
+
incrementalParsing,
|
|
398
|
+
...(options ? { options } : {}),
|
|
399
|
+
...(plugins ? { plugins } : {}),
|
|
400
|
+
});
|
|
401
|
+
const markdownProps: MarkdownProps = {
|
|
402
|
+
...props,
|
|
403
|
+
children: streamState.text,
|
|
404
|
+
};
|
|
405
|
+
if (options) markdownProps.options = options;
|
|
406
|
+
if (plugins) markdownProps.plugins = plugins;
|
|
407
|
+
if (streamState.sourceAst) markdownProps.sourceAst = streamState.sourceAst;
|
|
408
|
+
|
|
409
|
+
if (renderMarkdown) {
|
|
410
|
+
return renderMarkdown({
|
|
411
|
+
...streamState,
|
|
412
|
+
markdownProps,
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return <Markdown {...markdownProps} />;
|
|
341
417
|
};
|