react-native-nitro-markdown 0.6.1 → 0.7.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.
Files changed (96) hide show
  1. package/README.md +77 -8
  2. package/android/gradle.properties +2 -2
  3. package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +21 -3
  4. package/ios/HybridMarkdownSession.swift +53 -3
  5. package/lib/commonjs/MarkdownContext.js.map +1 -1
  6. package/lib/commonjs/headless.js +0 -4
  7. package/lib/commonjs/headless.js.map +1 -1
  8. package/lib/commonjs/index.js.map +1 -1
  9. package/lib/commonjs/markdown-stream.js +40 -15
  10. package/lib/commonjs/markdown-stream.js.map +1 -1
  11. package/lib/commonjs/markdown.js +4 -3
  12. package/lib/commonjs/markdown.js.map +1 -1
  13. package/lib/commonjs/renderers/heading.js +1 -0
  14. package/lib/commonjs/renderers/heading.js.map +1 -1
  15. package/lib/commonjs/renderers/image.js +22 -8
  16. package/lib/commonjs/renderers/image.js.map +1 -1
  17. package/lib/commonjs/renderers/link.js +1 -1
  18. package/lib/commonjs/renderers/link.js.map +1 -1
  19. package/lib/commonjs/renderers/list.js +4 -0
  20. package/lib/commonjs/renderers/list.js.map +1 -1
  21. package/lib/commonjs/renderers/math.js +0 -1
  22. package/lib/commonjs/renderers/math.js.map +1 -1
  23. package/lib/commonjs/use-markdown-stream.js +9 -1
  24. package/lib/commonjs/use-markdown-stream.js.map +1 -1
  25. package/lib/commonjs/utils/link-security.js +42 -5
  26. package/lib/commonjs/utils/link-security.js.map +1 -1
  27. package/lib/module/MarkdownContext.js.map +1 -1
  28. package/lib/module/headless.js +0 -4
  29. package/lib/module/headless.js.map +1 -1
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/markdown-stream.js +40 -15
  32. package/lib/module/markdown-stream.js.map +1 -1
  33. package/lib/module/markdown.js +4 -3
  34. package/lib/module/markdown.js.map +1 -1
  35. package/lib/module/renderers/heading.js +1 -0
  36. package/lib/module/renderers/heading.js.map +1 -1
  37. package/lib/module/renderers/image.js +22 -8
  38. package/lib/module/renderers/image.js.map +1 -1
  39. package/lib/module/renderers/link.js +1 -1
  40. package/lib/module/renderers/link.js.map +1 -1
  41. package/lib/module/renderers/list.js +4 -0
  42. package/lib/module/renderers/list.js.map +1 -1
  43. package/lib/module/renderers/math.js +0 -1
  44. package/lib/module/renderers/math.js.map +1 -1
  45. package/lib/module/use-markdown-stream.js +9 -1
  46. package/lib/module/use-markdown-stream.js.map +1 -1
  47. package/lib/module/utils/link-security.js +40 -4
  48. package/lib/module/utils/link-security.js.map +1 -1
  49. package/lib/typescript/commonjs/MarkdownContext.d.ts +44 -7
  50. package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/headless.d.ts +6 -3
  52. package/lib/typescript/commonjs/headless.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/index.d.ts +4 -3
  54. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/markdown.d.ts +12 -11
  57. package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/utils/link-security.d.ts +5 -0
  65. package/lib/typescript/commonjs/utils/link-security.d.ts.map +1 -1
  66. package/lib/typescript/module/MarkdownContext.d.ts +44 -7
  67. package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
  68. package/lib/typescript/module/headless.d.ts +6 -3
  69. package/lib/typescript/module/headless.d.ts.map +1 -1
  70. package/lib/typescript/module/index.d.ts +4 -3
  71. package/lib/typescript/module/index.d.ts.map +1 -1
  72. package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
  73. package/lib/typescript/module/markdown.d.ts +12 -11
  74. package/lib/typescript/module/markdown.d.ts.map +1 -1
  75. package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
  76. package/lib/typescript/module/renderers/image.d.ts.map +1 -1
  77. package/lib/typescript/module/renderers/link.d.ts.map +1 -1
  78. package/lib/typescript/module/renderers/list.d.ts.map +1 -1
  79. package/lib/typescript/module/renderers/math.d.ts.map +1 -1
  80. package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
  81. package/lib/typescript/module/utils/link-security.d.ts +5 -0
  82. package/lib/typescript/module/utils/link-security.d.ts.map +1 -1
  83. package/package.json +5 -5
  84. package/react-native-nitro-markdown.podspec +1 -1
  85. package/src/MarkdownContext.ts +51 -11
  86. package/src/headless.ts +35 -34
  87. package/src/index.ts +14 -1
  88. package/src/markdown-stream.tsx +49 -17
  89. package/src/markdown.tsx +20 -13
  90. package/src/renderers/heading.tsx +5 -1
  91. package/src/renderers/image.tsx +31 -9
  92. package/src/renderers/link.tsx +5 -2
  93. package/src/renderers/list.tsx +5 -1
  94. package/src/renderers/math.tsx +0 -1
  95. package/src/use-markdown-stream.ts +9 -1
  96. package/src/utils/link-security.ts +68 -4
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","View","Text","PanResponder","StyleSheet","Platform","getCachedStyles","useMarkdownContext","jsx","_jsx","RaTeXViewComponent","ratexModule","require","RaTeXView","__DEV__","console","warn","mathStylesCache","WeakMap","INLINE_DISPLAY_MATH_PATTERN","getInlineMathFontSize","content","theme","test","fontSizes","xl","l","HorizontalMathViewport","children","contentWidth","style","contentStyle","viewportWidth","setViewportWidth","measuredContentWidth","setMeasuredContentWidth","offset","setOffset","viewportWidthRef","contentWidthRef","offsetRef","gestureStartOffsetRef","panHandlers","setPanHandlers","setClampedOffset","nextOffset","maxOffset","Math","max","current","clampedOffset","min","handleViewportLayout","event","nativeEvent","layout","width","handleContentLayout","responder","create","onMoveShouldSetPanResponder","_event","gestureState","hasOverflow","isHorizontal","abs","dx","dy","onPanResponderGrant","onPanResponderMove","onPanResponderTerminationRequest","centeredOffset","onLayout","pointerEvents","transform","translateX","createMathStyles","mathInlineContainer","marginHorizontal","justifyContent","mathInlineFallbackContainer","backgroundColor","colors","codeBackground","paddingHorizontal","spacing","xs","paddingVertical","borderRadius","s","mathInlineFallback","fontFamily","fontFamilies","mono","select","ios","android","fontSize","color","code","OS","includeFontPadding","ratexInline","flexShrink","mathBlockContainer","maxWidth","alignSelf","marginVertical","m","surface","borderWidth","borderColor","border","minHeight","overflow","mathBlockScroll","mathBlockScrollContent","alignItems","ratexBlock","mathBlockFallbackContainer","mathBlockFallback","textAlign","MathInline","styles","hasRenderError","setHasRenderError","latex","displayMode","text","onError","MathBlock"],"sourceRoot":"../../../src","sources":["renderers/math.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","View","Text","PanResponder","StyleSheet","Platform","getCachedStyles","useMarkdownContext","jsx","_jsx","RaTeXViewComponent","ratexModule","require","RaTeXView","__DEV__","console","warn","mathStylesCache","WeakMap","INLINE_DISPLAY_MATH_PATTERN","getInlineMathFontSize","content","theme","test","fontSizes","xl","l","HorizontalMathViewport","children","contentWidth","style","contentStyle","viewportWidth","setViewportWidth","measuredContentWidth","setMeasuredContentWidth","offset","setOffset","viewportWidthRef","contentWidthRef","offsetRef","gestureStartOffsetRef","panHandlers","setPanHandlers","setClampedOffset","nextOffset","maxOffset","Math","max","current","clampedOffset","min","handleViewportLayout","event","nativeEvent","layout","width","handleContentLayout","responder","create","onMoveShouldSetPanResponder","_event","gestureState","hasOverflow","isHorizontal","abs","dx","dy","onPanResponderGrant","onPanResponderMove","onPanResponderTerminationRequest","centeredOffset","onLayout","pointerEvents","transform","translateX","createMathStyles","mathInlineContainer","marginHorizontal","justifyContent","mathInlineFallbackContainer","backgroundColor","colors","codeBackground","paddingHorizontal","spacing","xs","paddingVertical","borderRadius","s","mathInlineFallback","fontFamily","fontFamilies","mono","select","ios","android","fontSize","color","code","OS","includeFontPadding","ratexInline","flexShrink","mathBlockContainer","maxWidth","alignSelf","marginVertical","m","surface","borderWidth","borderColor","border","minHeight","overflow","mathBlockScroll","mathBlockScrollContent","alignItems","ratexBlock","mathBlockFallbackContainer","mathBlockFallback","textAlign","MathInline","styles","hasRenderError","setHasRenderError","latex","displayMode","text","onError","MathBlock"],"sourceRoot":"../../../src","sources":["renderers/math.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,15 @@ export function useMarkdownSession() {
12
12
  useEffect(() => {
13
13
  const session = sessionRef.current;
14
14
  return () => {
15
- session.clear();
15
+ try {
16
+ session.clear();
17
+ } finally {
18
+ try {
19
+ session.dispose();
20
+ } finally {
21
+ sessionRef.current = null;
22
+ }
23
+ }
16
24
  };
17
25
  }, []);
18
26
  const stop = useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useCallback","useState","useEffect","createMarkdownSession","createTimestampTimeline","resolveHighlightPosition","useMarkdownSession","sessionRef","current","isStreaming","setIsStreaming","session","clear","stop","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","sync","currentTimeMs","nextHighlight"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useCallback","useState","useEffect","createMarkdownSession","createTimestampTimeline","resolveHighlightPosition","useMarkdownSession","sessionRef","current","isStreaming","setIsStreaming","session","clear","dispose","stop","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","sync","currentTimeMs","nextHighlight"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,51 @@
1
1
  "use strict";
2
2
 
3
3
  const ALLOWED_LINK_PROTOCOLS = new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
4
+ const DEFAULT_IMAGE_PROTOCOLS = ["http:", "https:"];
5
+ const CONTROL_CHARACTER_PATTERN = /[\u0000-\u001F\u007F]/;
4
6
  export const normalizeLinkHref = href => {
5
7
  const normalizedHref = href.trim();
8
+ if (CONTROL_CHARACTER_PATTERN.test(normalizedHref)) return null;
6
9
  return normalizedHref.length > 0 ? normalizedHref : null;
7
10
  };
8
- export const getAllowedExternalHref = href => {
11
+ const parseAbsoluteHref = href => {
9
12
  const protocolMatch = href.match(/^([a-z][a-z0-9+.-]*):/i);
10
13
  if (!protocolMatch) return null;
11
- const protocol = `${protocolMatch[1].toLowerCase()}:`;
12
- if (!ALLOWED_LINK_PROTOCOLS.has(protocol)) return null;
13
- return href;
14
+ const protocol = normalizeProtocol(protocolMatch[1]);
15
+ const rest = href.slice(protocolMatch[0].length);
16
+ const authorityMatch = rest.match(/^\/\/([^/?#]*)/);
17
+ const rawHost = authorityMatch?.[1] ?? "";
18
+ const hostname = rawHost.replace(/^[^@]*@/, "").replace(/^\[|\]$/g, "").split(":")[0].toLowerCase();
19
+ return {
20
+ protocol,
21
+ hostname
22
+ };
23
+ };
24
+ const normalizeProtocol = protocol => {
25
+ const normalized = protocol.trim().toLowerCase();
26
+ return normalized.endsWith(":") ? normalized : `${normalized}:`;
27
+ };
28
+ export const getAllowedExternalHref = href => {
29
+ const normalizedHref = normalizeLinkHref(href);
30
+ if (!normalizedHref) return null;
31
+ const parsed = parseAbsoluteHref(normalizedHref);
32
+ if (!parsed) return null;
33
+ if (!ALLOWED_LINK_PROTOCOLS.has(parsed.protocol)) return null;
34
+ return normalizedHref;
35
+ };
36
+ export const getAllowedImageHref = (href, options) => {
37
+ const normalizedHref = normalizeLinkHref(href);
38
+ if (!normalizedHref) return null;
39
+ const parsed = parseAbsoluteHref(normalizedHref);
40
+ if (!parsed) return null;
41
+ const allowedProtocols = new Set((options?.allowedProtocols ?? DEFAULT_IMAGE_PROTOCOLS).map(normalizeProtocol));
42
+ if (!allowedProtocols.has(parsed.protocol)) return null;
43
+ const allowedHosts = options?.allowedHosts;
44
+ if (allowedHosts && allowedHosts.length > 0) {
45
+ const normalizedHost = parsed.hostname.toLowerCase();
46
+ const allowedHostSet = new Set(allowedHosts.map(host => host.trim().toLowerCase()).filter(Boolean));
47
+ if (!allowedHostSet.has(normalizedHost)) return null;
48
+ }
49
+ return normalizedHref;
14
50
  };
15
51
  //# sourceMappingURL=link-security.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","normalizeLinkHref","href","normalizedHref","trim","length","getAllowedExternalHref","protocolMatch","match","protocol","toLowerCase","has"],"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,OAAO,MAAMC,iBAAiB,GAAIC,IAAY,IAAoB;EAChE,MAAMC,cAAc,GAAGD,IAAI,CAACE,IAAI,CAAC,CAAC;EAClC,OAAOD,cAAc,CAACE,MAAM,GAAG,CAAC,GAAGF,cAAc,GAAG,IAAI;AAC1D,CAAC;AAED,OAAO,MAAMG,sBAAsB,GAAIJ,IAAY,IAAoB;EACrE,MAAMK,aAAa,GAAGL,IAAI,CAACM,KAAK,CAAC,wBAAwB,CAAC;EAC1D,IAAI,CAACD,aAAa,EAAE,OAAO,IAAI;EAE/B,MAAME,QAAQ,GAAG,GAAGF,aAAa,CAAC,CAAC,CAAC,CAACG,WAAW,CAAC,CAAC,GAAG;EACrD,IAAI,CAACX,sBAAsB,CAACY,GAAG,CAACF,QAAQ,CAAC,EAAE,OAAO,IAAI;EAEtD,OAAOP,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ALLOWED_LINK_PROTOCOLS","Set","DEFAULT_IMAGE_PROTOCOLS","CONTROL_CHARACTER_PATTERN","normalizeLinkHref","href","normalizedHref","trim","test","length","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":[]}
@@ -2,6 +2,7 @@ import { type ReactNode, type ComponentType } from "react";
2
2
  import type { MarkdownNode } from "./headless";
3
3
  import { type MarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
4
4
  import type { CodeHighlighter } from "./utils/code-highlight";
5
+ import type { UrlSafetyOptions } from "./utils/link-security";
5
6
  export type NodeRendererProps = {
6
7
  node: MarkdownNode;
7
8
  depth: number;
@@ -51,10 +52,48 @@ export type ListRendererProps = {
51
52
  export type TaskListItemRendererProps = {
52
53
  checked: boolean;
53
54
  } & BaseCustomRendererProps;
54
- export type CustomRendererProps = {} & EnhancedRendererProps;
55
+ export type MathRendererProps = {
56
+ content: string;
57
+ } & BaseCustomRendererProps;
58
+ export type CustomRendererProps = EnhancedRendererProps;
55
59
  export type LinkPressHandler = (href: string) => void | boolean | Promise<void | boolean>;
56
- export type CustomRenderer = (props: EnhancedRendererProps) => ReactNode | undefined;
57
- export type CustomRenderers = Partial<Record<MarkdownNode["type"], CustomRenderer>>;
60
+ export type CustomRenderer<Props extends EnhancedRendererProps = EnhancedRendererProps> = (props: Props) => ReactNode | undefined;
61
+ export type CustomRendererPropsByNode = {
62
+ document: CustomRendererProps;
63
+ heading: HeadingRendererProps;
64
+ paragraph: CustomRendererProps;
65
+ text: CustomRendererProps;
66
+ bold: CustomRendererProps;
67
+ italic: CustomRendererProps;
68
+ strikethrough: CustomRendererProps;
69
+ link: LinkRendererProps;
70
+ image: ImageRendererProps;
71
+ code_inline: InlineCodeRendererProps;
72
+ code_block: CodeBlockRendererProps;
73
+ blockquote: CustomRendererProps;
74
+ horizontal_rule: CustomRendererProps;
75
+ line_break: CustomRendererProps;
76
+ soft_break: CustomRendererProps;
77
+ table: CustomRendererProps;
78
+ table_head: CustomRendererProps;
79
+ table_body: CustomRendererProps;
80
+ table_row: CustomRendererProps;
81
+ table_cell: CustomRendererProps;
82
+ list: ListRendererProps;
83
+ list_item: CustomRendererProps;
84
+ task_list_item: TaskListItemRendererProps;
85
+ math_inline: MathRendererProps;
86
+ math_block: MathRendererProps;
87
+ html_block: CustomRendererProps;
88
+ html_inline: CustomRendererProps;
89
+ };
90
+ export type CustomRenderers = Partial<{
91
+ [Type in MarkdownNode["type"]]: CustomRenderer<CustomRendererPropsByNode[Type]>;
92
+ }>;
93
+ export type TableOptions = {
94
+ minColumnWidth?: number;
95
+ measurementStabilizeMs?: number;
96
+ };
58
97
  export type MarkdownContextValue = {
59
98
  renderers: CustomRenderers;
60
99
  theme: MarkdownTheme;
@@ -62,10 +101,8 @@ export type MarkdownContextValue = {
62
101
  stylingStrategy: StylingStrategy;
63
102
  onLinkPress?: LinkPressHandler;
64
103
  highlightCode?: boolean | CodeHighlighter;
65
- tableOptions?: {
66
- minColumnWidth?: number;
67
- measurementStabilizeMs?: number;
68
- };
104
+ tableOptions?: TableOptions;
105
+ imageOptions?: UrlSafetyOptions;
69
106
  };
70
107
  export declare const MarkdownContext: import("react").Context<MarkdownContextValue>;
71
108
  export declare const useMarkdownContext: () => MarkdownContextValue;
@@ -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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"}
@@ -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: "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";
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?: number;
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?: string;
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;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gGAAgG;IAChG,IAAI,EACA,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;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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,MAAM,CAAC;IACf,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;AAiBF,QAAA,IAAI,oBAAoB,EAAE,cAAc,GAAG,IAAW,CAAC;AAUvD,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;AA8BhB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAqBd;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
+ {"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,11 +1,11 @@
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
- export type { MarkdownProps, AstTransform, MarkdownPlugin, MarkdownVirtualizationOptions, } from "./markdown";
4
+ export type { MarkdownProps, AstTransform, MarkdownPlugin, MarkdownErrorPhase, MarkdownParseCompleteResult, MarkdownVirtualizationOptions, } from "./markdown";
5
5
  export { MarkdownStream } from "./markdown-stream";
6
6
  export type { MarkdownStreamProps } from "./markdown-stream";
7
7
  export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
8
- export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, LinkPressHandler, MarkdownContextValue, } from "./MarkdownContext";
8
+ export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, MathRendererProps, LinkPressHandler, MarkdownContextValue, CustomRendererPropsByNode, TableOptions, } from "./MarkdownContext";
9
9
  export { defaultMarkdownTheme, minimalMarkdownTheme, mergeThemes, } from "./theme";
10
10
  export type { MarkdownTheme, PartialMarkdownTheme, NodeStyleOverrides, StylingStrategy, } from "./theme";
11
11
  export { Heading } from "./renderers/heading";
@@ -23,4 +23,5 @@ export type { MarkdownSession } from "./MarkdownSession";
23
23
  export { useMarkdownSession, useStream } from "./use-markdown-stream";
24
24
  export type { HighlightedToken, TokenType, CodeHighlighter, } from "./utils/code-highlight";
25
25
  export { defaultHighlighter } from "./utils/code-highlight";
26
+ export type { UrlSafetyOptions } from "./utils/link-security";
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -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,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,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,gBAAgB,EAChB,oBAAoB,GACrB,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;AAEtE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,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,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;AAEtE,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 +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;AAkDrE,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;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,CAyKlD,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;AA2DrE,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC;IACzB;;;;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,CAgMlD,CAAC"}
@@ -2,9 +2,10 @@ import { type FC } from "react";
2
2
  import { type FlatListProps, type StyleProp, type ViewStyle } from "react-native";
3
3
  import { type MarkdownNode } from "./headless";
4
4
  import type { ParserOptions } from "./Markdown.nitro";
5
- import { type CustomRenderers, type LinkPressHandler } from "./MarkdownContext";
5
+ import { type CustomRenderers, type LinkPressHandler, type TableOptions } from "./MarkdownContext";
6
6
  import { type PartialMarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
7
7
  import type { CodeHighlighter } from "./utils/code-highlight";
8
+ import type { UrlSafetyOptions } from "./utils/link-security";
8
9
  export type AstTransform = (ast: MarkdownNode) => MarkdownNode;
9
10
  export type MarkdownVirtualizationOptions = Pick<FlatListProps<MarkdownNode>, "initialNumToRender" | "maxToRenderPerBatch" | "windowSize" | "updateCellsBatchingPeriod" | "removeClippedSubviews">;
10
11
  export type MarkdownPlugin = {
@@ -30,6 +31,12 @@ export type MarkdownPlugin = {
30
31
  */
31
32
  afterParse?: AstTransform;
32
33
  };
34
+ export type MarkdownErrorPhase = "parse" | "before-plugin" | "after-plugin";
35
+ export type MarkdownParseCompleteResult = {
36
+ raw: string;
37
+ ast: MarkdownNode;
38
+ text: string;
39
+ };
33
40
  export type MarkdownProps = {
34
41
  /**
35
42
  * The markdown string to parse and render.
@@ -71,18 +78,14 @@ export type MarkdownProps = {
71
78
  /**
72
79
  * Callback fired when parsing completes.
73
80
  */
74
- onParseComplete?: (result: {
75
- raw: string;
76
- ast: MarkdownNode;
77
- text: string;
78
- }) => void;
81
+ onParseComplete?: (result: MarkdownParseCompleteResult) => void;
79
82
  /**
80
83
  * Called when a parse error or plugin error occurs.
81
84
  * @param error - The thrown error.
82
85
  * @param phase - Where the error occurred.
83
86
  * @param pluginName - The plugin name, if applicable.
84
87
  */
85
- onError?: (error: Error, phase: "parse" | "before-plugin" | "after-plugin", pluginName?: string) => void;
88
+ onError?: (error: Error, phase: MarkdownErrorPhase, pluginName?: string) => void;
86
89
  /**
87
90
  * Custom renderers for specific markdown node types.
88
91
  * Each renderer receives { node, children, Renderer } plus type-specific props.
@@ -138,10 +141,8 @@ export type MarkdownProps = {
138
141
  /**
139
142
  * Optional configuration for the table renderer.
140
143
  */
141
- tableOptions?: {
142
- minColumnWidth?: number;
143
- measurementStabilizeMs?: number;
144
- };
144
+ tableOptions?: TableOptions;
145
+ imageOptions?: UrlSafetyOptions;
145
146
  /**
146
147
  * Enable built-in syntax highlighting for code blocks.
147
148
  * Pass `true` to use the built-in tokenizer, or a custom highlighter function.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/renderers/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1E,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAYF,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAepC,CAAC"}
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/renderers/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK1E,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAYF,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAmBpC,CAAC"}
@@ -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;AAGtB,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,CAwLhC,CAAC"}
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,CA6C9B,CAAC"}
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":"list.d.ts","sourceRoot":"","sources":["../../../../src/renderers/list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAGF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAQ9B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAoBtC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAqB9C,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/renderers/list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhF,KAAK,SAAS,GAAG;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAGF,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAQ9B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAoBtC,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAyB9C,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;AA2BtB,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
+ {"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 +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;;;;;;6BAyBY,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAcpE;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BA1CoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAqDpE"}
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;;;;;;6BAiCY,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAcpE;AAED,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;0BAgBzC,MAAM;;;;;;6BA1CoB,MAAM;kBAMjB,MAAM;oBAIJ,MAAM,MAAM,MAAM,QAAQ,MAAM;EAqDpE"}
@@ -1,3 +1,8 @@
1
+ export type UrlSafetyOptions = {
2
+ allowedProtocols?: readonly string[];
3
+ allowedHosts?: readonly string[];
4
+ };
1
5
  export declare const normalizeLinkHref: (href: string) => string | null;
2
6
  export declare const getAllowedExternalHref: (href: string) => string | null;
7
+ export declare const getAllowedImageHref: (href: string, options?: UrlSafetyOptions) => string | null;
3
8
  //# sourceMappingURL=link-security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"link-security.d.ts","sourceRoot":"","sources":["../../../../src/utils/link-security.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAGzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAQ9D,CAAC"}
1
+ {"version":3,"file":"link-security.d.ts","sourceRoot":"","sources":["../../../../src/utils/link-security.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAIzD,CAAC;AA0BF,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,IAU9D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,UAAU,gBAAgB,KACzB,MAAM,GAAG,IAwBX,CAAC"}
@@ -2,6 +2,7 @@ import { type ReactNode, type ComponentType } from "react";
2
2
  import type { MarkdownNode } from "./headless";
3
3
  import { type MarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
4
4
  import type { CodeHighlighter } from "./utils/code-highlight";
5
+ import type { UrlSafetyOptions } from "./utils/link-security";
5
6
  export type NodeRendererProps = {
6
7
  node: MarkdownNode;
7
8
  depth: number;
@@ -51,10 +52,48 @@ export type ListRendererProps = {
51
52
  export type TaskListItemRendererProps = {
52
53
  checked: boolean;
53
54
  } & BaseCustomRendererProps;
54
- export type CustomRendererProps = {} & EnhancedRendererProps;
55
+ export type MathRendererProps = {
56
+ content: string;
57
+ } & BaseCustomRendererProps;
58
+ export type CustomRendererProps = EnhancedRendererProps;
55
59
  export type LinkPressHandler = (href: string) => void | boolean | Promise<void | boolean>;
56
- export type CustomRenderer = (props: EnhancedRendererProps) => ReactNode | undefined;
57
- export type CustomRenderers = Partial<Record<MarkdownNode["type"], CustomRenderer>>;
60
+ export type CustomRenderer<Props extends EnhancedRendererProps = EnhancedRendererProps> = (props: Props) => ReactNode | undefined;
61
+ export type CustomRendererPropsByNode = {
62
+ document: CustomRendererProps;
63
+ heading: HeadingRendererProps;
64
+ paragraph: CustomRendererProps;
65
+ text: CustomRendererProps;
66
+ bold: CustomRendererProps;
67
+ italic: CustomRendererProps;
68
+ strikethrough: CustomRendererProps;
69
+ link: LinkRendererProps;
70
+ image: ImageRendererProps;
71
+ code_inline: InlineCodeRendererProps;
72
+ code_block: CodeBlockRendererProps;
73
+ blockquote: CustomRendererProps;
74
+ horizontal_rule: CustomRendererProps;
75
+ line_break: CustomRendererProps;
76
+ soft_break: CustomRendererProps;
77
+ table: CustomRendererProps;
78
+ table_head: CustomRendererProps;
79
+ table_body: CustomRendererProps;
80
+ table_row: CustomRendererProps;
81
+ table_cell: CustomRendererProps;
82
+ list: ListRendererProps;
83
+ list_item: CustomRendererProps;
84
+ task_list_item: TaskListItemRendererProps;
85
+ math_inline: MathRendererProps;
86
+ math_block: MathRendererProps;
87
+ html_block: CustomRendererProps;
88
+ html_inline: CustomRendererProps;
89
+ };
90
+ export type CustomRenderers = Partial<{
91
+ [Type in MarkdownNode["type"]]: CustomRenderer<CustomRendererPropsByNode[Type]>;
92
+ }>;
93
+ export type TableOptions = {
94
+ minColumnWidth?: number;
95
+ measurementStabilizeMs?: number;
96
+ };
58
97
  export type MarkdownContextValue = {
59
98
  renderers: CustomRenderers;
60
99
  theme: MarkdownTheme;
@@ -62,10 +101,8 @@ export type MarkdownContextValue = {
62
101
  stylingStrategy: StylingStrategy;
63
102
  onLinkPress?: LinkPressHandler;
64
103
  highlightCode?: boolean | CodeHighlighter;
65
- tableOptions?: {
66
- minColumnWidth?: number;
67
- measurementStabilizeMs?: number;
68
- };
104
+ tableOptions?: TableOptions;
105
+ imageOptions?: UrlSafetyOptions;
69
106
  };
70
107
  export declare const MarkdownContext: import("react").Context<MarkdownContextValue>;
71
108
  export declare const useMarkdownContext: () => MarkdownContextValue;
@@ -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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"}
@@ -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: "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";
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?: number;
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?: string;
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;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gGAAgG;IAChG,IAAI,EACA,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;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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,MAAM,CAAC;IACf,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;AAiBF,QAAA,IAAI,oBAAoB,EAAE,cAAc,GAAG,IAAW,CAAC;AAUvD,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;AA8BhB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAqBd;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
+ {"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"}