react-native-nitro-markdown 0.6.2 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -503
- package/android/gradle.properties +2 -2
- package/lib/commonjs/MarkdownSession.js +6 -2
- package/lib/commonjs/MarkdownSession.js.map +1 -1
- package/lib/commonjs/headless.js +0 -4
- package/lib/commonjs/headless.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/markdown-stream.js +8 -6
- package/lib/commonjs/markdown-stream.js.map +1 -1
- package/lib/commonjs/markdown.js +0 -1
- package/lib/commonjs/markdown.js.map +1 -1
- package/lib/commonjs/renderers/image.js +0 -1
- package/lib/commonjs/renderers/image.js.map +1 -1
- package/lib/commonjs/renderers/link.js +0 -1
- package/lib/commonjs/renderers/link.js.map +1 -1
- package/lib/commonjs/renderers/math.js +0 -1
- package/lib/commonjs/renderers/math.js.map +1 -1
- package/lib/commonjs/use-markdown-stream.js +23 -4
- package/lib/commonjs/use-markdown-stream.js.map +1 -1
- package/lib/module/MarkdownSession.js +6 -2
- package/lib/module/MarkdownSession.js.map +1 -1
- package/lib/module/headless.js +0 -4
- package/lib/module/headless.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/markdown-stream.js +8 -6
- package/lib/module/markdown-stream.js.map +1 -1
- package/lib/module/markdown.js +0 -1
- package/lib/module/markdown.js.map +1 -1
- package/lib/module/renderers/image.js +0 -1
- package/lib/module/renderers/image.js.map +1 -1
- package/lib/module/renderers/link.js +0 -1
- package/lib/module/renderers/link.js.map +1 -1
- package/lib/module/renderers/math.js +0 -1
- package/lib/module/renderers/math.js.map +1 -1
- package/lib/module/use-markdown-stream.js +22 -5
- package/lib/module/use-markdown-stream.js.map +1 -1
- package/lib/typescript/commonjs/MarkdownSession.d.ts +1 -1
- package/lib/typescript/commonjs/MarkdownSession.d.ts.map +1 -1
- package/lib/typescript/commonjs/headless.d.ts +6 -3
- package/lib/typescript/commonjs/headless.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/markdown-stream.d.ts +2 -1
- 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/renderers/image.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
- package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-markdown-stream.d.ts +4 -1
- package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
- package/lib/typescript/module/MarkdownSession.d.ts +1 -1
- package/lib/typescript/module/MarkdownSession.d.ts.map +1 -1
- package/lib/typescript/module/headless.d.ts +6 -3
- package/lib/typescript/module/headless.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/markdown-stream.d.ts +2 -1
- 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/renderers/image.d.ts.map +1 -1
- package/lib/typescript/module/renderers/link.d.ts.map +1 -1
- package/lib/typescript/module/renderers/math.d.ts.map +1 -1
- package/lib/typescript/module/use-markdown-stream.d.ts +4 -1
- package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
- package/package.json +6 -5
- package/react-native-nitro-markdown.podspec +1 -1
- package/src/MarkdownSession.ts +9 -2
- package/src/headless.ts +35 -34
- package/src/index.ts +9 -1
- package/src/markdown-stream.tsx +12 -7
- package/src/markdown.tsx +0 -1
- package/src/renderers/image.tsx +0 -1
- package/src/renderers/link.tsx +0 -1
- package/src/renderers/math.tsx +0 -1
- package/src/use-markdown-stream.ts +53 -13
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { MarkdownParserModule, parseMarkdown, parseMarkdownWithOptions, extractPlainText, extractPlainTextWithOptions, getTextContent, getFlattenedText, stripSourceOffsets, } from "./headless";
|
|
2
|
-
export type { MarkdownNode, ParserOptions, MarkdownParser } from "./headless";
|
|
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
5
|
export { MarkdownStream } from "./markdown-stream";
|
|
@@ -21,6 +21,7 @@ export { MathInline, MathBlock } from "./renderers/math";
|
|
|
21
21
|
export { createMarkdownSession } from "./MarkdownSession";
|
|
22
22
|
export type { MarkdownSession } from "./MarkdownSession";
|
|
23
23
|
export { useMarkdownSession, useStream } from "./use-markdown-stream";
|
|
24
|
+
export type { MarkdownSessionController } from "./use-markdown-stream";
|
|
24
25
|
export type { HighlightedToken, TokenType, CodeHighlighter, } from "./utils/code-highlight";
|
|
25
26
|
export { defaultHighlighter } from "./utils/code-highlight";
|
|
26
27
|
export type { UrlSafetyOptions } from "./utils/link-security";
|
|
@@ -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,
|
|
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;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,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,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,11 +1,12 @@
|
|
|
1
1
|
import { type FC } from "react";
|
|
2
2
|
import { type MarkdownProps } from "./markdown";
|
|
3
3
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
4
|
+
import { type MarkdownSessionController } from "./use-markdown-stream";
|
|
4
5
|
export type MarkdownStreamProps = {
|
|
5
6
|
/**
|
|
6
7
|
* The active MarkdownSession to stream content from.
|
|
7
8
|
*/
|
|
8
|
-
session: MarkdownSession;
|
|
9
|
+
session: MarkdownSession | MarkdownSessionController;
|
|
9
10
|
/**
|
|
10
11
|
* Throttle UI updates when updateStrategy is "interval".
|
|
11
12
|
* Ignored when updateStrategy is "raf".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA2D/B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;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;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAiMlD,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,EAErB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAKL,KAAK,oBAAoB,EACzB,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;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkB5D,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkB5D,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CA6MhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAgD9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAE1D,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAE1D,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA0BtB,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AA6MF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA6B1C,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAuCxC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createMarkdownSession } from "./MarkdownSession";
|
|
2
2
|
export type MarkdownSession = ReturnType<typeof createMarkdownSession>;
|
|
3
|
-
export declare function useMarkdownSession(): {
|
|
3
|
+
export declare function useMarkdownSession(initialText?: string): {
|
|
4
4
|
getSession: () => import("./specs/MarkdownSession.nitro").MarkdownSession;
|
|
5
5
|
isStreaming: boolean;
|
|
6
6
|
setIsStreaming: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
@@ -10,6 +10,9 @@ export declare function useMarkdownSession(): {
|
|
|
10
10
|
reset: (text: string) => void;
|
|
11
11
|
replace: (from: number, to: number, text: string) => number;
|
|
12
12
|
};
|
|
13
|
+
export type MarkdownSessionController = ReturnType<typeof useMarkdownSession>;
|
|
14
|
+
export declare function isMarkdownSessionController(value: MarkdownSession | MarkdownSessionController): value is MarkdownSessionController;
|
|
15
|
+
export declare function resolveMarkdownSession(session: MarkdownSession | MarkdownSessionController): MarkdownSession;
|
|
13
16
|
export declare function useStream(timestamps?: Record<number, number>): {
|
|
14
17
|
isPlaying: boolean;
|
|
15
18
|
setIsPlaying: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB;;;;;;
|
|
1
|
+
{"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;6BA2CT,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EA0BpE;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,GAAG,yBAAyB,GACjD,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,GAAG,yBAAyB,GACnD,eAAe,CAMjB;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BAxEoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAmFpE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { MarkdownSession as MarkdownSessionSpec } from "./specs/MarkdownSession.nitro";
|
|
2
2
|
export type MarkdownSession = MarkdownSessionSpec;
|
|
3
|
-
export declare function createMarkdownSession(): MarkdownSession;
|
|
3
|
+
export declare function createMarkdownSession(initialText?: string): MarkdownSession;
|
|
4
4
|
//# sourceMappingURL=MarkdownSession.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"MarkdownSession.d.ts","sourceRoot":"","sources":["../../../src/MarkdownSession.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,IAAI,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE5F,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,CAS3E"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import type { MarkdownParser, ParserOptions } from "./Markdown.nitro";
|
|
2
2
|
export type { ParserOptions } from "./Markdown.nitro";
|
|
3
|
+
export type MarkdownNodeType = "document" | "heading" | "paragraph" | "text" | "bold" | "italic" | "strikethrough" | "link" | "image" | "code_inline" | "code_block" | "blockquote" | "horizontal_rule" | "line_break" | "soft_break" | "table" | "table_head" | "table_body" | "table_row" | "table_cell" | "list" | "list_item" | "task_list_item" | "math_inline" | "math_block" | "html_block" | "html_inline";
|
|
4
|
+
export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
5
|
+
export type TableCellAlign = "left" | "center" | "right";
|
|
3
6
|
/**
|
|
4
7
|
* Represents a node in the Markdown AST (Abstract Syntax Tree).
|
|
5
8
|
* Each node has a type and optional properties depending on the node type.
|
|
6
9
|
*/
|
|
7
10
|
export type MarkdownNode = {
|
|
8
11
|
/** The type of markdown element this node represents. Used to decide how to render the node. */
|
|
9
|
-
type:
|
|
12
|
+
type: MarkdownNodeType;
|
|
10
13
|
/** Text content for text, code, and similar nodes. */
|
|
11
14
|
content?: string;
|
|
12
15
|
/** Heading level (1-6) for heading nodes. */
|
|
13
|
-
level?:
|
|
16
|
+
level?: HeadingLevel;
|
|
14
17
|
/** URL for link and image nodes. */
|
|
15
18
|
href?: string;
|
|
16
19
|
/** Title attribute for link and image nodes. */
|
|
@@ -28,7 +31,7 @@ export type MarkdownNode = {
|
|
|
28
31
|
/** Whether a table cell is part of the header row. */
|
|
29
32
|
isHeader?: boolean;
|
|
30
33
|
/** Text alignment for table cells: 'left', 'center', or 'right'. */
|
|
31
|
-
align?:
|
|
34
|
+
align?: TableCellAlign;
|
|
32
35
|
/** Source start offset in original markdown text (when provided by native parser). */
|
|
33
36
|
beg?: number;
|
|
34
37
|
/** Source end offset in original markdown text (when provided by native parser). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/headless.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/headless.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,SAAS,GACT,WAAW,GACX,MAAM,GACN,MAAM,GACN,QAAQ,GACR,eAAe,GACf,MAAM,GACN,OAAO,GACP,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,MAAM,GACN,WAAW,GACX,gBAAgB,GAChB,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gGAAgG;IAChG,IAAI,EAAE,gBAAgB,CAAC;IACvB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAgBF,QAAA,IAAI,oBAAoB,EAAE,cAAc,GAAG,IAAW,CAAC;AASvD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;AAC1D;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAAC;AA6BhB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAoBd;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAarD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,MAAM,CAaR;AAED,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,YAAY,KAAG,MAGnD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,YAAY,KAAG,MAoDrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAMnE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { MarkdownParserModule, parseMarkdown, parseMarkdownWithOptions, extractPlainText, extractPlainTextWithOptions, getTextContent, getFlattenedText, stripSourceOffsets, } from "./headless";
|
|
2
|
-
export type { MarkdownNode, ParserOptions, MarkdownParser } from "./headless";
|
|
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
5
|
export { MarkdownStream } from "./markdown-stream";
|
|
@@ -21,6 +21,7 @@ export { MathInline, MathBlock } from "./renderers/math";
|
|
|
21
21
|
export { createMarkdownSession } from "./MarkdownSession";
|
|
22
22
|
export type { MarkdownSession } from "./MarkdownSession";
|
|
23
23
|
export { useMarkdownSession, useStream } from "./use-markdown-stream";
|
|
24
|
+
export type { MarkdownSessionController } from "./use-markdown-stream";
|
|
24
25
|
export type { HighlightedToken, TokenType, CodeHighlighter, } from "./utils/code-highlight";
|
|
25
26
|
export { defaultHighlighter } from "./utils/code-highlight";
|
|
26
27
|
export type { UrlSafetyOptions } from "./utils/link-security";
|
|
@@ -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,
|
|
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;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,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,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,11 +1,12 @@
|
|
|
1
1
|
import { type FC } from "react";
|
|
2
2
|
import { type MarkdownProps } from "./markdown";
|
|
3
3
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
4
|
+
import { type MarkdownSessionController } from "./use-markdown-stream";
|
|
4
5
|
export type MarkdownStreamProps = {
|
|
5
6
|
/**
|
|
6
7
|
* The active MarkdownSession to stream content from.
|
|
7
8
|
*/
|
|
8
|
-
session: MarkdownSession;
|
|
9
|
+
session: MarkdownSession | MarkdownSessionController;
|
|
9
10
|
/**
|
|
10
11
|
* Throttle UI updates when updateStrategy is "interval".
|
|
11
12
|
* Ignored when updateStrategy is "raf".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/markdown-stream.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAEf,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AA2D/B,MAAM,MAAM,mBAAmB,GAAG;IAChC;;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;CAC9B,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAiMlD,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,EAErB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EAKL,KAAK,oBAAoB,EACzB,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;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkB5D,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkB5D,KAAK,UAAU,GAAG;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CA6MhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAgD9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAE1D,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAA4B,MAAM,OAAO,CAAC;AAE1D,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AA0BtB,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AA6MF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA6B1C,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAuCxC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createMarkdownSession } from "./MarkdownSession";
|
|
2
2
|
export type MarkdownSession = ReturnType<typeof createMarkdownSession>;
|
|
3
|
-
export declare function useMarkdownSession(): {
|
|
3
|
+
export declare function useMarkdownSession(initialText?: string): {
|
|
4
4
|
getSession: () => import("./specs/MarkdownSession.nitro").MarkdownSession;
|
|
5
5
|
isStreaming: boolean;
|
|
6
6
|
setIsStreaming: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
@@ -10,6 +10,9 @@ export declare function useMarkdownSession(): {
|
|
|
10
10
|
reset: (text: string) => void;
|
|
11
11
|
replace: (from: number, to: number, text: string) => number;
|
|
12
12
|
};
|
|
13
|
+
export type MarkdownSessionController = ReturnType<typeof useMarkdownSession>;
|
|
14
|
+
export declare function isMarkdownSessionController(value: MarkdownSession | MarkdownSessionController): value is MarkdownSessionController;
|
|
15
|
+
export declare function resolveMarkdownSession(session: MarkdownSession | MarkdownSessionController): MarkdownSession;
|
|
13
16
|
export declare function useStream(timestamps?: Record<number, number>): {
|
|
14
17
|
isPlaying: boolean;
|
|
15
18
|
setIsPlaying: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB;;;;;;
|
|
1
|
+
{"version":3,"file":"use-markdown-stream.d.ts","sourceRoot":"","sources":["../../../src/use-markdown-stream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEvE,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;6BA2CT,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EA0BpE;AAED,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,GAAG,yBAAyB,GACjD,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,GAAG,yBAAyB,GACnD,eAAe,CAMjB;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BAxEoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAmFpE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-markdown",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "High-performance Markdown parser for React Native using Nitro Modules and md4c",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"clean": "rimraf lib nitrogen/generated",
|
|
58
58
|
"codegen": "nitrogen --logLevel=\"debug\"",
|
|
59
59
|
"lint": "bunx eslint src --max-warnings=0 --ignore-pattern 'src/**/__tests__/**' --ignore-pattern 'src/**/*.nitro.ts'",
|
|
60
|
+
"lint:fix": "bunx eslint src --fix --ignore-pattern 'src/**/__tests__/**' --ignore-pattern 'src/**/*.nitro.ts'",
|
|
60
61
|
"typecheck": "tsc --noEmit",
|
|
61
62
|
"test": "jest",
|
|
62
63
|
"test:coverage": "jest --coverage",
|
|
@@ -93,17 +94,17 @@
|
|
|
93
94
|
},
|
|
94
95
|
"devDependencies": {
|
|
95
96
|
"@size-limit/preset-small-lib": "^11.0.0",
|
|
96
|
-
"@types/react": "~19.2.
|
|
97
|
+
"@types/react": "~19.2.15",
|
|
97
98
|
"@types/react-test-renderer": "^19.1.0",
|
|
98
99
|
"react-native-builder-bob": "^0.41.0",
|
|
99
|
-
"react-test-renderer": "19.2.
|
|
100
|
+
"react-test-renderer": "19.2.3",
|
|
100
101
|
"size-limit": "^11.0.0",
|
|
101
|
-
"typescript": "
|
|
102
|
+
"typescript": "~6.0.3"
|
|
102
103
|
},
|
|
103
104
|
"peerDependencies": {
|
|
104
105
|
"react": "*",
|
|
105
106
|
"react-native": ">=0.75.0",
|
|
106
|
-
"react-native-nitro-modules": ">=0.35.
|
|
107
|
+
"react-native-nitro-modules": ">=0.35.7",
|
|
107
108
|
"ratex-react-native": ">=0.1.4"
|
|
108
109
|
},
|
|
109
110
|
"codegenConfig": {
|
|
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = package["license"]
|
|
11
11
|
s.authors = package["author"]
|
|
12
12
|
|
|
13
|
-
s.platforms = { :ios => "
|
|
13
|
+
s.platforms = { :ios => "16.4" }
|
|
14
14
|
s.source = { :git => "https://github.com/JoaoPauloCMarra/react-native-nitro-markdown.git", :tag => "v#{s.version}" }
|
|
15
15
|
s.module_name = "NitroMarkdown"
|
|
16
16
|
|
package/src/MarkdownSession.ts
CHANGED
|
@@ -3,6 +3,13 @@ import type { MarkdownSession as MarkdownSessionSpec } from "./specs/MarkdownSes
|
|
|
3
3
|
|
|
4
4
|
export type MarkdownSession = MarkdownSessionSpec;
|
|
5
5
|
|
|
6
|
-
export function createMarkdownSession(): MarkdownSession {
|
|
7
|
-
|
|
6
|
+
export function createMarkdownSession(initialText?: string): MarkdownSession {
|
|
7
|
+
const session =
|
|
8
|
+
NitroModules.createHybridObject<MarkdownSession>("MarkdownSession");
|
|
9
|
+
|
|
10
|
+
if (initialText !== undefined) {
|
|
11
|
+
session.reset(initialText);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return session;
|
|
8
15
|
}
|
package/src/headless.ts
CHANGED
|
@@ -15,44 +15,49 @@ import type { MarkdownParser, ParserOptions } from "./Markdown.nitro";
|
|
|
15
15
|
|
|
16
16
|
export type { ParserOptions } from "./Markdown.nitro";
|
|
17
17
|
|
|
18
|
+
export type MarkdownNodeType =
|
|
19
|
+
| "document"
|
|
20
|
+
| "heading"
|
|
21
|
+
| "paragraph"
|
|
22
|
+
| "text"
|
|
23
|
+
| "bold"
|
|
24
|
+
| "italic"
|
|
25
|
+
| "strikethrough"
|
|
26
|
+
| "link"
|
|
27
|
+
| "image"
|
|
28
|
+
| "code_inline"
|
|
29
|
+
| "code_block"
|
|
30
|
+
| "blockquote"
|
|
31
|
+
| "horizontal_rule"
|
|
32
|
+
| "line_break"
|
|
33
|
+
| "soft_break"
|
|
34
|
+
| "table"
|
|
35
|
+
| "table_head"
|
|
36
|
+
| "table_body"
|
|
37
|
+
| "table_row"
|
|
38
|
+
| "table_cell"
|
|
39
|
+
| "list"
|
|
40
|
+
| "list_item"
|
|
41
|
+
| "task_list_item"
|
|
42
|
+
| "math_inline"
|
|
43
|
+
| "math_block"
|
|
44
|
+
| "html_block"
|
|
45
|
+
| "html_inline";
|
|
46
|
+
|
|
47
|
+
export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
|
|
48
|
+
export type TableCellAlign = "left" | "center" | "right";
|
|
49
|
+
|
|
18
50
|
/**
|
|
19
51
|
* Represents a node in the Markdown AST (Abstract Syntax Tree).
|
|
20
52
|
* Each node has a type and optional properties depending on the node type.
|
|
21
53
|
*/
|
|
22
54
|
export type MarkdownNode = {
|
|
23
55
|
/** The type of markdown element this node represents. Used to decide how to render the node. */
|
|
24
|
-
type:
|
|
25
|
-
| "document"
|
|
26
|
-
| "heading"
|
|
27
|
-
| "paragraph"
|
|
28
|
-
| "text"
|
|
29
|
-
| "bold"
|
|
30
|
-
| "italic"
|
|
31
|
-
| "strikethrough"
|
|
32
|
-
| "link"
|
|
33
|
-
| "image"
|
|
34
|
-
| "code_inline"
|
|
35
|
-
| "code_block"
|
|
36
|
-
| "blockquote"
|
|
37
|
-
| "horizontal_rule"
|
|
38
|
-
| "line_break"
|
|
39
|
-
| "soft_break"
|
|
40
|
-
| "table"
|
|
41
|
-
| "table_head"
|
|
42
|
-
| "table_body"
|
|
43
|
-
| "table_row"
|
|
44
|
-
| "table_cell"
|
|
45
|
-
| "list"
|
|
46
|
-
| "list_item"
|
|
47
|
-
| "task_list_item"
|
|
48
|
-
| "math_inline"
|
|
49
|
-
| "math_block"
|
|
50
|
-
| "html_block"
|
|
51
|
-
| "html_inline";
|
|
56
|
+
type: MarkdownNodeType;
|
|
52
57
|
/** Text content for text, code, and similar nodes. */
|
|
53
58
|
content?: string;
|
|
54
59
|
/** Heading level (1-6) for heading nodes. */
|
|
55
|
-
level?:
|
|
60
|
+
level?: HeadingLevel;
|
|
56
61
|
/** URL for link and image nodes. */
|
|
57
62
|
href?: string;
|
|
58
63
|
/** Title attribute for link and image nodes. */
|
|
@@ -70,7 +75,7 @@ export type MarkdownNode = {
|
|
|
70
75
|
/** Whether a table cell is part of the header row. */
|
|
71
76
|
isHeader?: boolean;
|
|
72
77
|
/** Text alignment for table cells: 'left', 'center', or 'right'. */
|
|
73
|
-
align?:
|
|
78
|
+
align?: TableCellAlign;
|
|
74
79
|
/** Source start offset in original markdown text (when provided by native parser). */
|
|
75
80
|
beg?: number;
|
|
76
81
|
/** Source end offset in original markdown text (when provided by native parser). */
|
|
@@ -86,7 +91,6 @@ const createEmptyDocument = (): MarkdownNode => ({
|
|
|
86
91
|
|
|
87
92
|
function reportNativeParserFailure(methodName: string, error?: unknown): void {
|
|
88
93
|
if (__DEV__) {
|
|
89
|
-
// eslint-disable-next-line no-console
|
|
90
94
|
console.error(
|
|
91
95
|
`[NitroMarkdown] ${methodName}: native parser failed.`,
|
|
92
96
|
error,
|
|
@@ -100,7 +104,6 @@ try {
|
|
|
100
104
|
NitroModules.createHybridObject<MarkdownParser>("MarkdownParser");
|
|
101
105
|
} catch (e) {
|
|
102
106
|
if (__DEV__) {
|
|
103
|
-
// eslint-disable-next-line no-console
|
|
104
107
|
console.error("[NitroMarkdown] Failed to create native MarkdownParser:", e);
|
|
105
108
|
}
|
|
106
109
|
}
|
|
@@ -143,7 +146,6 @@ export function parseMarkdown(
|
|
|
143
146
|
}
|
|
144
147
|
|
|
145
148
|
if (__DEV__) {
|
|
146
|
-
// eslint-disable-next-line no-console
|
|
147
149
|
console.error(
|
|
148
150
|
"[NitroMarkdown] parseMarkdown: native parser unavailable — check installation.",
|
|
149
151
|
);
|
|
@@ -175,7 +177,6 @@ export function parseMarkdownWithOptions(
|
|
|
175
177
|
}
|
|
176
178
|
|
|
177
179
|
if (__DEV__) {
|
|
178
|
-
// eslint-disable-next-line no-console
|
|
179
180
|
console.error(
|
|
180
181
|
"[NitroMarkdown] parseMarkdownWithOptions: native parser unavailable — check installation.",
|
|
181
182
|
);
|
package/src/index.ts
CHANGED
|
@@ -8,7 +8,14 @@ export {
|
|
|
8
8
|
getFlattenedText,
|
|
9
9
|
stripSourceOffsets,
|
|
10
10
|
} from "./headless";
|
|
11
|
-
export type {
|
|
11
|
+
export type {
|
|
12
|
+
MarkdownNode,
|
|
13
|
+
MarkdownNodeType,
|
|
14
|
+
HeadingLevel,
|
|
15
|
+
TableCellAlign,
|
|
16
|
+
ParserOptions,
|
|
17
|
+
MarkdownParser,
|
|
18
|
+
} from "./headless";
|
|
12
19
|
|
|
13
20
|
export { Markdown } from "./markdown";
|
|
14
21
|
export type {
|
|
@@ -70,6 +77,7 @@ export { MathInline, MathBlock } from "./renderers/math";
|
|
|
70
77
|
export { createMarkdownSession } from "./MarkdownSession";
|
|
71
78
|
export type { MarkdownSession } from "./MarkdownSession";
|
|
72
79
|
export { useMarkdownSession, useStream } from "./use-markdown-stream";
|
|
80
|
+
export type { MarkdownSessionController } from "./use-markdown-stream";
|
|
73
81
|
|
|
74
82
|
export type {
|
|
75
83
|
HighlightedToken,
|
package/src/markdown-stream.tsx
CHANGED
|
@@ -9,6 +9,10 @@ import {
|
|
|
9
9
|
import type { MarkdownNode } from "./headless";
|
|
10
10
|
import { Markdown, type MarkdownProps } from "./markdown";
|
|
11
11
|
import type { MarkdownSession } from "./specs/MarkdownSession.nitro";
|
|
12
|
+
import {
|
|
13
|
+
resolveMarkdownSession,
|
|
14
|
+
type MarkdownSessionController,
|
|
15
|
+
} from "./use-markdown-stream";
|
|
12
16
|
import { getNextStreamAst, parseMarkdownAst } from "./utils/incremental-ast";
|
|
13
17
|
|
|
14
18
|
const normalizeOffset = (value: number): number | null => {
|
|
@@ -71,7 +75,7 @@ export type MarkdownStreamProps = {
|
|
|
71
75
|
/**
|
|
72
76
|
* The active MarkdownSession to stream content from.
|
|
73
77
|
*/
|
|
74
|
-
session: MarkdownSession;
|
|
78
|
+
session: MarkdownSession | MarkdownSessionController;
|
|
75
79
|
/**
|
|
76
80
|
* Throttle UI updates when updateStrategy is "interval".
|
|
77
81
|
* Ignored when updateStrategy is "raf".
|
|
@@ -110,6 +114,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
110
114
|
plugins,
|
|
111
115
|
...props
|
|
112
116
|
}) => {
|
|
117
|
+
const activeSession = resolveMarkdownSession(session);
|
|
113
118
|
const parseText = useCallback(
|
|
114
119
|
(text: string): MarkdownNode => parseMarkdownAst(text, options),
|
|
115
120
|
[options],
|
|
@@ -118,7 +123,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
118
123
|
type: "document",
|
|
119
124
|
children: [],
|
|
120
125
|
});
|
|
121
|
-
const initialText =
|
|
126
|
+
const initialText = activeSession.getAllText();
|
|
122
127
|
const hasBeforeParsePlugins =
|
|
123
128
|
plugins?.some((plugin) => typeof plugin.beforeParse === "function") ??
|
|
124
129
|
false;
|
|
@@ -148,7 +153,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
148
153
|
}, []);
|
|
149
154
|
|
|
150
155
|
useEffect(() => {
|
|
151
|
-
const initialText =
|
|
156
|
+
const initialText = activeSession.getAllText();
|
|
152
157
|
const initialState = {
|
|
153
158
|
text: initialText,
|
|
154
159
|
ast: hasBeforeParsePlugins ? createEmptyAst() : parseText(initialText),
|
|
@@ -159,7 +164,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
159
164
|
forceFullSyncRef.current = false;
|
|
160
165
|
renderStateRef.current = initialState;
|
|
161
166
|
setRenderState(initialState);
|
|
162
|
-
}, [hasBeforeParsePlugins, parseText
|
|
167
|
+
}, [activeSession, hasBeforeParsePlugins, parseText]);
|
|
163
168
|
|
|
164
169
|
useEffect(() => {
|
|
165
170
|
const flushUpdate = () => {
|
|
@@ -184,7 +189,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
184
189
|
pendingFrom,
|
|
185
190
|
pendingTo,
|
|
186
191
|
previousText: previousState.text,
|
|
187
|
-
session,
|
|
192
|
+
session: activeSession,
|
|
188
193
|
});
|
|
189
194
|
if (latest === previousState.text) return;
|
|
190
195
|
|
|
@@ -230,7 +235,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
230
235
|
let unsubscribe: (() => void) | null = null;
|
|
231
236
|
|
|
232
237
|
try {
|
|
233
|
-
unsubscribe =
|
|
238
|
+
unsubscribe = activeSession.addListener((from, to) => {
|
|
234
239
|
const nextFrom = normalizeOffset(from);
|
|
235
240
|
const nextTo = normalizeOffset(to);
|
|
236
241
|
|
|
@@ -276,7 +281,7 @@ export const MarkdownStream: FC<MarkdownStreamProps> = ({
|
|
|
276
281
|
hasBeforeParsePlugins,
|
|
277
282
|
options,
|
|
278
283
|
plugins,
|
|
279
|
-
|
|
284
|
+
activeSession,
|
|
280
285
|
updateIntervalMs,
|
|
281
286
|
updateStrategy,
|
|
282
287
|
useTransitionUpdates,
|
package/src/markdown.tsx
CHANGED
package/src/renderers/image.tsx
CHANGED
package/src/renderers/link.tsx
CHANGED
|
@@ -52,7 +52,6 @@ export const Link: FC<LinkProps> = ({ href, children, style }) => {
|
|
|
52
52
|
await Linking.openURL(allowedExternalHref);
|
|
53
53
|
} catch (error) {
|
|
54
54
|
if (__DEV__) {
|
|
55
|
-
// eslint-disable-next-line no-console
|
|
56
55
|
console.warn("[NitroMarkdown] Link press handler failed:", error);
|
|
57
56
|
}
|
|
58
57
|
}
|
package/src/renderers/math.tsx
CHANGED