react-native-nitro-markdown 0.2.1 → 0.3.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 (138) hide show
  1. package/README.md +217 -101
  2. package/lib/commonjs/MarkdownContext.js +3 -7
  3. package/lib/commonjs/MarkdownContext.js.map +1 -1
  4. package/lib/commonjs/default-markdown-renderer.js +4 -7
  5. package/lib/commonjs/default-markdown-renderer.js.map +1 -1
  6. package/lib/commonjs/headless.js +12 -1
  7. package/lib/commonjs/headless.js.map +1 -1
  8. package/lib/commonjs/index.js +35 -0
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/markdown.js +88 -37
  11. package/lib/commonjs/markdown.js.map +1 -1
  12. package/lib/commonjs/renderers/blockquote.js +1 -1
  13. package/lib/commonjs/renderers/blockquote.js.map +1 -1
  14. package/lib/commonjs/renderers/code.js +15 -8
  15. package/lib/commonjs/renderers/code.js.map +1 -1
  16. package/lib/commonjs/renderers/heading.js +2 -1
  17. package/lib/commonjs/renderers/heading.js.map +1 -1
  18. package/lib/commonjs/renderers/horizontal-rule.js +4 -2
  19. package/lib/commonjs/renderers/horizontal-rule.js.map +1 -1
  20. package/lib/commonjs/renderers/image.js +13 -9
  21. package/lib/commonjs/renderers/image.js.map +1 -1
  22. package/lib/commonjs/renderers/link.js +1 -3
  23. package/lib/commonjs/renderers/link.js.map +1 -1
  24. package/lib/commonjs/renderers/list.js +11 -7
  25. package/lib/commonjs/renderers/list.js.map +1 -1
  26. package/lib/commonjs/renderers/math.js +23 -47
  27. package/lib/commonjs/renderers/math.js.map +1 -1
  28. package/lib/commonjs/renderers/paragraph.js +0 -5
  29. package/lib/commonjs/renderers/paragraph.js.map +1 -1
  30. package/lib/commonjs/renderers/table.js +127 -120
  31. package/lib/commonjs/renderers/table.js.map +1 -1
  32. package/lib/commonjs/theme.js +146 -13
  33. package/lib/commonjs/theme.js.map +1 -1
  34. package/lib/module/MarkdownContext.js +3 -8
  35. package/lib/module/MarkdownContext.js.map +1 -1
  36. package/lib/module/default-markdown-renderer.js +1 -4
  37. package/lib/module/default-markdown-renderer.js.map +1 -1
  38. package/lib/module/headless.js +10 -0
  39. package/lib/module/headless.js.map +1 -1
  40. package/lib/module/index.js +2 -20
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/markdown.js +89 -38
  43. package/lib/module/markdown.js.map +1 -1
  44. package/lib/module/renderers/blockquote.js +1 -1
  45. package/lib/module/renderers/blockquote.js.map +1 -1
  46. package/lib/module/renderers/code.js +15 -8
  47. package/lib/module/renderers/code.js.map +1 -1
  48. package/lib/module/renderers/heading.js +2 -1
  49. package/lib/module/renderers/heading.js.map +1 -1
  50. package/lib/module/renderers/horizontal-rule.js +4 -2
  51. package/lib/module/renderers/horizontal-rule.js.map +1 -1
  52. package/lib/module/renderers/image.js +13 -9
  53. package/lib/module/renderers/image.js.map +1 -1
  54. package/lib/module/renderers/link.js +1 -3
  55. package/lib/module/renderers/link.js.map +1 -1
  56. package/lib/module/renderers/list.js +11 -7
  57. package/lib/module/renderers/list.js.map +1 -1
  58. package/lib/module/renderers/math.js +24 -48
  59. package/lib/module/renderers/math.js.map +1 -1
  60. package/lib/module/renderers/paragraph.js +0 -5
  61. package/lib/module/renderers/paragraph.js.map +1 -1
  62. package/lib/module/renderers/table.js +128 -121
  63. package/lib/module/renderers/table.js.map +1 -1
  64. package/lib/module/theme.js +144 -12
  65. package/lib/module/theme.js.map +1 -1
  66. package/lib/typescript/commonjs/MarkdownContext.d.ts +45 -6
  67. package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/default-markdown-renderer.d.ts +1 -1
  69. package/lib/typescript/commonjs/default-markdown-renderer.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/headless.d.ts +8 -1
  71. package/lib/typescript/commonjs/headless.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/index.d.ts +4 -16
  73. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/markdown.d.ts +20 -2
  75. package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/renderers/code.d.ts +6 -2
  77. package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/renderers/heading.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts +6 -1
  80. package/lib/typescript/commonjs/renderers/horizontal-rule.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/renderers/image.d.ts +2 -0
  82. package/lib/typescript/commonjs/renderers/image.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/renderers/link.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/renderers/list.d.ts +4 -0
  85. package/lib/typescript/commonjs/renderers/list.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/renderers/math.d.ts +3 -4
  87. package/lib/typescript/commonjs/renderers/math.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/renderers/paragraph.d.ts +0 -5
  89. package/lib/typescript/commonjs/renderers/paragraph.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/renderers/table.d.ts +2 -0
  91. package/lib/typescript/commonjs/renderers/table.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/theme.d.ts +41 -28
  93. package/lib/typescript/commonjs/theme.d.ts.map +1 -1
  94. package/lib/typescript/module/MarkdownContext.d.ts +45 -6
  95. package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
  96. package/lib/typescript/module/default-markdown-renderer.d.ts +1 -1
  97. package/lib/typescript/module/default-markdown-renderer.d.ts.map +1 -1
  98. package/lib/typescript/module/headless.d.ts +8 -1
  99. package/lib/typescript/module/headless.d.ts.map +1 -1
  100. package/lib/typescript/module/index.d.ts +4 -16
  101. package/lib/typescript/module/index.d.ts.map +1 -1
  102. package/lib/typescript/module/markdown.d.ts +20 -2
  103. package/lib/typescript/module/markdown.d.ts.map +1 -1
  104. package/lib/typescript/module/renderers/code.d.ts +6 -2
  105. package/lib/typescript/module/renderers/code.d.ts.map +1 -1
  106. package/lib/typescript/module/renderers/heading.d.ts.map +1 -1
  107. package/lib/typescript/module/renderers/horizontal-rule.d.ts +6 -1
  108. package/lib/typescript/module/renderers/horizontal-rule.d.ts.map +1 -1
  109. package/lib/typescript/module/renderers/image.d.ts +2 -0
  110. package/lib/typescript/module/renderers/image.d.ts.map +1 -1
  111. package/lib/typescript/module/renderers/link.d.ts.map +1 -1
  112. package/lib/typescript/module/renderers/list.d.ts +4 -0
  113. package/lib/typescript/module/renderers/list.d.ts.map +1 -1
  114. package/lib/typescript/module/renderers/math.d.ts +3 -4
  115. package/lib/typescript/module/renderers/math.d.ts.map +1 -1
  116. package/lib/typescript/module/renderers/paragraph.d.ts +0 -5
  117. package/lib/typescript/module/renderers/paragraph.d.ts.map +1 -1
  118. package/lib/typescript/module/renderers/table.d.ts +2 -0
  119. package/lib/typescript/module/renderers/table.d.ts.map +1 -1
  120. package/lib/typescript/module/theme.d.ts +41 -28
  121. package/lib/typescript/module/theme.d.ts.map +1 -1
  122. package/package.json +1 -1
  123. package/src/MarkdownContext.ts +66 -9
  124. package/src/default-markdown-renderer.tsx +1 -6
  125. package/src/headless.ts +11 -1
  126. package/src/index.ts +24 -19
  127. package/src/markdown.tsx +125 -43
  128. package/src/renderers/blockquote.tsx +1 -2
  129. package/src/renderers/code.tsx +36 -12
  130. package/src/renderers/heading.tsx +1 -1
  131. package/src/renderers/horizontal-rule.tsx +7 -4
  132. package/src/renderers/image.tsx +24 -9
  133. package/src/renderers/link.tsx +1 -6
  134. package/src/renderers/list.tsx +11 -5
  135. package/src/renderers/math.tsx +20 -43
  136. package/src/renderers/paragraph.tsx +0 -6
  137. package/src/renderers/table.tsx +185 -160
  138. package/src/theme.ts +203 -12
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode, type ComponentType } from "react";
2
- import { type MarkdownTheme } from "./theme";
2
+ import { type MarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
3
3
  import type { MarkdownNode } from "./headless";
4
4
  export interface NodeRendererProps {
5
5
  node: MarkdownNode;
@@ -7,19 +7,58 @@ export interface NodeRendererProps {
7
7
  inListItem: boolean;
8
8
  parentIsText?: boolean;
9
9
  }
10
- export interface CustomRendererProps {
10
+ export interface BaseCustomRendererProps {
11
11
  node: MarkdownNode;
12
12
  children: ReactNode;
13
13
  Renderer: ComponentType<NodeRendererProps>;
14
14
  }
15
- export type CustomRenderer = (props: CustomRendererProps) => ReactNode | undefined;
16
- /**
17
- * Object mapping node types to custom renderers.
18
- */
15
+ export interface EnhancedRendererProps extends BaseCustomRendererProps {
16
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
17
+ href?: string;
18
+ title?: string;
19
+ url?: string;
20
+ alt?: string;
21
+ content?: string;
22
+ language?: string;
23
+ ordered?: boolean;
24
+ start?: number;
25
+ checked?: boolean;
26
+ }
27
+ export interface HeadingRendererProps extends BaseCustomRendererProps {
28
+ level: 1 | 2 | 3 | 4 | 5 | 6;
29
+ }
30
+ export interface LinkRendererProps extends BaseCustomRendererProps {
31
+ href: string;
32
+ title?: string;
33
+ }
34
+ export interface ImageRendererProps extends BaseCustomRendererProps {
35
+ url: string;
36
+ alt?: string;
37
+ title?: string;
38
+ }
39
+ export interface CodeBlockRendererProps extends BaseCustomRendererProps {
40
+ content: string;
41
+ language?: string;
42
+ }
43
+ export interface InlineCodeRendererProps extends BaseCustomRendererProps {
44
+ content: string;
45
+ }
46
+ export interface ListRendererProps extends BaseCustomRendererProps {
47
+ ordered: boolean;
48
+ start?: number;
49
+ }
50
+ export interface TaskListItemRendererProps extends BaseCustomRendererProps {
51
+ checked: boolean;
52
+ }
53
+ export interface CustomRendererProps extends EnhancedRendererProps {
54
+ }
55
+ export type CustomRenderer = (props: EnhancedRendererProps) => ReactNode | undefined;
19
56
  export type CustomRenderers = Partial<Record<MarkdownNode["type"], CustomRenderer>>;
20
57
  export interface MarkdownContextValue {
21
58
  renderers: CustomRenderers;
22
59
  theme: MarkdownTheme;
60
+ styles?: NodeStyleOverrides;
61
+ stylingStrategy: StylingStrategy;
23
62
  }
24
63
  export declare const MarkdownContext: import("react").Context<MarkdownContextValue>;
25
64
  export declare const useMarkdownContext: () => MarkdownContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,mBAAmB,KACvB,SAAS,GAAG,SAAS,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAC7C,CAAC;AAGF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,+CAG1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4BAAoC,CAAC"}
1
+ {"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;CAAG;AAErE,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,qBAAqB,KACzB,SAAS,GAAG,SAAS,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAC7C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,+CAK1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4BAAoC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from "react";
2
- import type { MarkdownNode } from "./headless";
2
+ import { type MarkdownNode } from "./headless";
3
3
  interface MarkdownRendererProps {
4
4
  node: MarkdownNode;
5
5
  depth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"default-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/default-markdown-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa/C,UAAU,qBAAqB;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsBD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CA8M7D,CAAC"}
1
+ {"version":3,"file":"default-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/default-markdown-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAC;AAa/D,UAAU,qBAAqB;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiBD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CA8M7D,CAAC"}
@@ -46,5 +46,12 @@ export declare function parseMarkdown(text: string): MarkdownNode;
46
46
  * @returns The root node of the parsed AST
47
47
  */
48
48
  export declare function parseMarkdownWithOptions(text: string, options: ParserOptions): MarkdownNode;
49
- export { MarkdownParser };
49
+ export type { MarkdownParser };
50
+ /**
51
+ * Extract text content from a markdown node recursively.
52
+ * Useful for getting plain text from code blocks, headings, etc.
53
+ * @param node - The markdown node to extract text from
54
+ * @returns The concatenated text content
55
+ */
56
+ export declare const getTextContent: (node: MarkdownNode) => string;
50
57
  //# sourceMappingURL=headless.d.ts.map
@@ -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,WAAW,YAAY;IAC3B,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,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,gBACkC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAGd;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
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,WAAW,YAAY;IAC3B,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,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,gBACkC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAGd;AAED,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,YAAY,KAAG,MAGnD,CAAC"}
@@ -1,23 +1,11 @@
1
1
  export * from "./headless";
2
- /** Low-level renderer component for custom implementations */
3
2
  export { DefaultMarkdownRenderer } from "./default-markdown-renderer";
4
- /**
5
- * High-level Markdown component with optional custom renderers.
6
- * @example
7
- * ```tsx
8
- * <Markdown>{'# Hello World'}</Markdown>
9
- * ```
10
- */
11
3
  export { Markdown } from "./markdown";
12
- /**
13
- * Markdown component that supports streaming updates.
14
- */
15
4
  export { MarkdownStream } from "./markdown-stream";
16
- export { useMarkdownContext } from "./MarkdownContext";
17
- export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, } from "./MarkdownContext";
18
- /** Default theme configuration */
19
- export { defaultMarkdownTheme } from "./theme";
20
- export type { MarkdownTheme } from "./theme";
5
+ export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
6
+ export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, MarkdownContextValue, } from "./MarkdownContext";
7
+ export { defaultMarkdownTheme, lightMarkdownTheme, darkMarkdownTheme, minimalMarkdownTheme, mergeThemes, } from "./theme";
8
+ export type { MarkdownTheme, PartialMarkdownTheme, NodeStyleOverrides, StylingStrategy, } from "./theme";
21
9
  export { Heading } from "./renderers/heading";
22
10
  export { Paragraph } from "./renderers/paragraph";
23
11
  export { Link } from "./renderers/link";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,8DAA8D;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,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;AAGzD,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,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,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,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"}
@@ -1,4 +1,4 @@
1
- import { type MarkdownTheme } from "./theme";
1
+ import { type PartialMarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
2
2
  import { type FC } from "react";
3
3
  import { type StyleProp, type ViewStyle } from "react-native";
4
4
  import type { ParserOptions } from "./Markdown.nitro";
@@ -14,12 +14,30 @@ export interface MarkdownProps {
14
14
  options?: ParserOptions;
15
15
  /**
16
16
  * Custom renderers for specific markdown node types.
17
+ * Each renderer receives { node, children, Renderer } plus type-specific props.
17
18
  */
18
19
  renderers?: CustomRenderers;
19
20
  /**
20
21
  * Custom theme to override default styles.
21
22
  */
22
- theme?: Partial<MarkdownTheme>;
23
+ theme?: PartialMarkdownTheme;
24
+ /**
25
+ * Style overrides for specific node types.
26
+ * Applied after internal styles, allowing fine-grained customization.
27
+ * @example
28
+ * ```tsx
29
+ * <Markdown styles={{ heading: { color: 'red' }, code_block: { borderRadius: 0 } }}>
30
+ * {content}
31
+ * </Markdown>
32
+ * ```
33
+ */
34
+ styles?: NodeStyleOverrides;
35
+ /**
36
+ * Styling strategy for the component.
37
+ * - "opinionated": Full styling with colors, spacing, and visual effects (default)
38
+ * - "minimal": Bare minimum styling for a clean slate
39
+ */
40
+ stylingStrategy?: StylingStrategy;
23
41
  /**
24
42
  * Optional style for the container view.
25
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAA2B,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AACnE,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAyCtC,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,EAA2B,KAAK,EAAE,EAAY,MAAM,OAAO,CAAC;AACnE,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAgDtC,CAAC"}
@@ -1,13 +1,17 @@
1
1
  import { ReactNode, type FC } from "react";
2
2
  import { type ViewStyle, type TextStyle } from "react-native";
3
+ import type { MarkdownNode } from "../headless";
3
4
  interface CodeBlockProps {
4
5
  language?: string;
5
- content: string;
6
+ content?: string;
7
+ node?: MarkdownNode;
6
8
  style?: ViewStyle;
7
9
  }
8
10
  export declare const CodeBlock: FC<CodeBlockProps>;
9
11
  interface InlineCodeProps {
10
- children: ReactNode;
12
+ content?: string;
13
+ node?: MarkdownNode;
14
+ children?: ReactNode;
11
15
  style?: TextStyle;
12
16
  }
13
17
  export declare const InlineCode: FC<InlineCodeProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../../src/renderers/code.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA0CxC,CAAC;AAEF,UAAU,eAAe;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAmB1C,CAAC"}
1
+ {"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../../../src/renderers/code.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAmDxC,CAAC;AAEF,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA8B1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/renderers/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhE,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAsDpC,CAAC"}
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../../src/renderers/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhE,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAuDpC,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import { type FC } from "react";
2
- export declare const HorizontalRule: FC;
2
+ import { type ViewStyle } from "react-native";
3
+ interface HorizontalRuleProps {
4
+ style?: ViewStyle;
5
+ }
6
+ export declare const HorizontalRule: FC<HorizontalRuleProps>;
7
+ export {};
3
8
  //# sourceMappingURL=horizontal-rule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"horizontal-rule.d.ts","sourceRoot":"","sources":["../../../../src/renderers/horizontal-rule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIzC,eAAO,MAAM,cAAc,EAAE,EAc5B,CAAC"}
1
+ {"version":3,"file":"horizontal-rule.d.ts","sourceRoot":"","sources":["../../../../src/renderers/horizontal-rule.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhE,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAclD,CAAC"}
@@ -1,10 +1,12 @@
1
1
  import { type FC, type ComponentType } from "react";
2
+ import { type ViewStyle } from "react-native";
2
3
  import type { NodeRendererProps } from "../MarkdownContext";
3
4
  interface ImageProps {
4
5
  url: string;
5
6
  title?: string;
6
7
  alt?: string;
7
8
  Renderer?: ComponentType<NodeRendererProps>;
9
+ style?: ViewStyle;
8
10
  }
9
11
  export declare const Image: FC<ImageProps>;
10
12
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAIvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAmB5D,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAgIhC,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/renderers/image.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAmB5D,UAAU,UAAU;IAClB,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;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAmIhC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0B9B,CAAC"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../../src/renderers/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzE,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAsB9B,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { ReactNode, type FC } from "react";
2
+ import { type ViewStyle } from "react-native";
2
3
  interface ListProps {
3
4
  ordered: boolean;
4
5
  start?: number;
5
6
  depth: number;
6
7
  children: ReactNode;
8
+ style?: ViewStyle;
7
9
  }
8
10
  export declare const List: FC<ListProps>;
9
11
  interface ListItemProps {
@@ -11,11 +13,13 @@ interface ListItemProps {
11
13
  index: number;
12
14
  ordered: boolean;
13
15
  start: number;
16
+ style?: ViewStyle;
14
17
  }
15
18
  export declare const ListItem: FC<ListItemProps>;
16
19
  interface TaskListItemProps {
17
20
  children: ReactNode;
18
21
  checked: boolean;
22
+ style?: ViewStyle;
19
23
  }
20
24
  export declare const TaskListItem: FC<TaskListItemProps>;
21
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/renderers/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIpD,UAAU,SAAS;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAyB9B,CAAC;AAEF,UAAU,aAAa;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAsCtC,CAAC;AAEF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAiC9C,CAAC"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/renderers/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGtE,UAAU,SAAS;IACjB,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;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CA0B9B,CAAC;AAEF,UAAU,aAAa;IACrB,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;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAwCtC,CAAC;AAEF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAkC9C,CAAC"}
@@ -1,15 +1,14 @@
1
1
  import { type FC } from "react";
2
+ import { type ViewStyle } from "react-native";
2
3
  interface MathInlineProps {
3
4
  content?: string;
5
+ style?: ViewStyle;
4
6
  }
5
7
  export declare const MathInline: FC<MathInlineProps>;
6
8
  interface MathBlockProps {
7
9
  content?: string;
10
+ style?: ViewStyle;
8
11
  }
9
- /**
10
- * Block math renderer.
11
- * Uses react-native-mathjax-svg if installed, otherwise shows raw LaTeX.
12
- */
13
12
  export declare const MathBlock: FC<MathBlockProps>;
14
13
  export {};
15
14
  //# sourceMappingURL=math.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AA2B7D,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA2B1C,CAAC;AAEF,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAyBxC,CAAC"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/renderers/math.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,EAAE,EAAsB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAML,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAoBtB,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAmDD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA0B1C,CAAC;AAEF,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAyBxC,CAAC"}
@@ -5,11 +5,6 @@ interface ParagraphProps {
5
5
  inListItem?: boolean;
6
6
  style?: StyleProp<ViewStyle>;
7
7
  }
8
- /**
9
- * Paragraph component that supports mixed content (Text and View elements).
10
- * Uses View with flexDirection: 'row' and flexWrap: 'wrap' to allow inline flow
11
- * of both text and non-text elements (like inline math).
12
- */
13
8
  export declare const Paragraph: FC<ParagraphProps>;
14
9
  export {};
15
10
  //# sourceMappingURL=paragraph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../src/renderers/paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhF,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoCxC,CAAC"}
1
+ {"version":3,"file":"paragraph.d.ts","sourceRoot":"","sources":["../../../../src/renderers/paragraph.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhF,UAAU,cAAc;IACtB,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoCxC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { type FC, type ComponentType } from "react";
2
+ import { type ViewStyle } from "react-native";
2
3
  import type { MarkdownNode } from "../headless";
3
4
  import { type NodeRendererProps } from "../MarkdownContext";
4
5
  interface TableRendererProps {
5
6
  node: MarkdownNode;
6
7
  Renderer: ComponentType<NodeRendererProps>;
8
+ style?: ViewStyle;
7
9
  }
8
10
  export declare const TableRenderer: FC<TableRendererProps>;
9
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/renderers/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EACP,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAUf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA6ChF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAwKhD,CAAC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../../src/renderers/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAAE,EACP,KAAK,aAAa,EAEnB,MAAM,OAAO,CAAC;AACf,OAAO,EAOL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwChF,UAAU,kBAAkB;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAYD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAmLhD,CAAC"}
@@ -1,28 +1,25 @@
1
- /**
2
- * Default theme configuration for the Markdown components.
3
- * Optimized for a modern dark mode aesthetic.
4
- */
5
- export declare const defaultMarkdownTheme: {
6
- /** Colors used throughout the markdown renderer */
1
+ import type { TextStyle, ViewStyle } from "react-native";
2
+ import type { MarkdownNode } from "./headless";
3
+ export interface MarkdownTheme {
7
4
  colors: {
8
- text: string;
9
- textMuted: string;
10
- heading: string;
11
- link: string;
12
- code: string;
13
- codeBackground: string;
14
- blockquote: string;
15
- border: string;
16
- surface: string;
17
- surfaceLight: string;
18
- accent: string;
19
- tableBorder: string;
20
- tableHeader: string;
21
- tableHeaderText: string;
22
- tableRowEven: string;
23
- tableRowOdd: string;
5
+ text: string | undefined;
6
+ textMuted: string | undefined;
7
+ heading: string | undefined;
8
+ link: string | undefined;
9
+ code: string | undefined;
10
+ codeBackground: string | undefined;
11
+ codeLanguage: string | undefined;
12
+ blockquote: string | undefined;
13
+ border: string | undefined;
14
+ surface: string | undefined;
15
+ surfaceLight: string | undefined;
16
+ accent: string | undefined;
17
+ tableBorder: string | undefined;
18
+ tableHeader: string | undefined;
19
+ tableHeaderText: string | undefined;
20
+ tableRowEven: string | undefined;
21
+ tableRowOdd: string | undefined;
24
22
  };
25
- /** Standard spacing increments */
26
23
  spacing: {
27
24
  xs: number;
28
25
  s: number;
@@ -30,7 +27,6 @@ export declare const defaultMarkdownTheme: {
30
27
  l: number;
31
28
  xl: number;
32
29
  };
33
- /** Font sizes for different text elements */
34
30
  fontSizes: {
35
31
  xs: number;
36
32
  s: number;
@@ -44,9 +40,26 @@ export declare const defaultMarkdownTheme: {
44
40
  h5: number;
45
41
  h6: number;
46
42
  };
43
+ fontFamilies: {
44
+ regular: string | undefined;
45
+ heading: string | undefined;
46
+ mono: string | undefined;
47
+ };
48
+ borderRadius: {
49
+ s: number;
50
+ m: number;
51
+ l: number;
52
+ };
53
+ showCodeLanguage: boolean;
54
+ }
55
+ export declare const defaultMarkdownTheme: MarkdownTheme;
56
+ export type PartialMarkdownTheme = {
57
+ [K in keyof MarkdownTheme]?: K extends "showCodeLanguage" ? MarkdownTheme[K] : Partial<MarkdownTheme[K]>;
47
58
  };
48
- /**
49
- * Type definition for the Markdown theme.
50
- */
51
- export type MarkdownTheme = typeof defaultMarkdownTheme;
59
+ export type NodeStyleOverrides = Partial<Record<MarkdownNode["type"], ViewStyle | TextStyle>>;
60
+ export type StylingStrategy = "opinionated" | "minimal";
61
+ export declare const minimalMarkdownTheme: MarkdownTheme;
62
+ export declare const lightMarkdownTheme: MarkdownTheme;
63
+ export declare const darkMarkdownTheme: MarkdownTheme;
64
+ export declare const mergeThemes: (base: MarkdownTheme, partial?: PartialMarkdownTheme) => MarkdownTheme;
52
65
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAC/B,mDAAmD;;;;;;;;;;;;;;;;;;;IAmBnD,kCAAkC;;;;;;;;IAQlC,6CAA6C;;;;;;;;;;;;;;CAc9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,oBAAoB,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;QACpC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,CAAC;IACF,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,SAAS,EAAE;QACT,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;KAC1B,CAAC;IACF,YAAY,EAAE;QACZ,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,EAAE,aAmDlC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;KAChC,CAAC,IAAI,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,GACrD,aAAa,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,SAAS,CAAC;AAExD,eAAO,MAAM,oBAAoB,EAAE,aAmDlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAmDhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,eAAuB,CAAC;AAEtD,eAAO,MAAM,WAAW,GACtB,MAAM,aAAa,EACnB,UAAU,oBAAoB,KAC7B,aAUF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type ReactNode, type ComponentType } from "react";
2
- import { type MarkdownTheme } from "./theme";
2
+ import { type MarkdownTheme, type NodeStyleOverrides, type StylingStrategy } from "./theme";
3
3
  import type { MarkdownNode } from "./headless";
4
4
  export interface NodeRendererProps {
5
5
  node: MarkdownNode;
@@ -7,19 +7,58 @@ export interface NodeRendererProps {
7
7
  inListItem: boolean;
8
8
  parentIsText?: boolean;
9
9
  }
10
- export interface CustomRendererProps {
10
+ export interface BaseCustomRendererProps {
11
11
  node: MarkdownNode;
12
12
  children: ReactNode;
13
13
  Renderer: ComponentType<NodeRendererProps>;
14
14
  }
15
- export type CustomRenderer = (props: CustomRendererProps) => ReactNode | undefined;
16
- /**
17
- * Object mapping node types to custom renderers.
18
- */
15
+ export interface EnhancedRendererProps extends BaseCustomRendererProps {
16
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
17
+ href?: string;
18
+ title?: string;
19
+ url?: string;
20
+ alt?: string;
21
+ content?: string;
22
+ language?: string;
23
+ ordered?: boolean;
24
+ start?: number;
25
+ checked?: boolean;
26
+ }
27
+ export interface HeadingRendererProps extends BaseCustomRendererProps {
28
+ level: 1 | 2 | 3 | 4 | 5 | 6;
29
+ }
30
+ export interface LinkRendererProps extends BaseCustomRendererProps {
31
+ href: string;
32
+ title?: string;
33
+ }
34
+ export interface ImageRendererProps extends BaseCustomRendererProps {
35
+ url: string;
36
+ alt?: string;
37
+ title?: string;
38
+ }
39
+ export interface CodeBlockRendererProps extends BaseCustomRendererProps {
40
+ content: string;
41
+ language?: string;
42
+ }
43
+ export interface InlineCodeRendererProps extends BaseCustomRendererProps {
44
+ content: string;
45
+ }
46
+ export interface ListRendererProps extends BaseCustomRendererProps {
47
+ ordered: boolean;
48
+ start?: number;
49
+ }
50
+ export interface TaskListItemRendererProps extends BaseCustomRendererProps {
51
+ checked: boolean;
52
+ }
53
+ export interface CustomRendererProps extends EnhancedRendererProps {
54
+ }
55
+ export type CustomRenderer = (props: EnhancedRendererProps) => ReactNode | undefined;
19
56
  export type CustomRenderers = Partial<Record<MarkdownNode["type"], CustomRenderer>>;
20
57
  export interface MarkdownContextValue {
21
58
  renderers: CustomRenderers;
22
59
  theme: MarkdownTheme;
60
+ styles?: NodeStyleOverrides;
61
+ stylingStrategy: StylingStrategy;
23
62
  }
24
63
  export declare const MarkdownContext: import("react").Context<MarkdownContextValue>;
25
64
  export declare const useMarkdownContext: () => MarkdownContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,mBAAmB,KACvB,SAAS,GAAG,SAAS,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAC7C,CAAC;AAGF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,+CAG1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4BAAoC,CAAC"}
1
+ {"version":3,"file":"MarkdownContext.d.ts","sourceRoot":"","sources":["../../../src/MarkdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;CAAG;AAErE,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,qBAAqB,KACzB,SAAS,GAAG,SAAS,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAC7C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,eAAO,MAAM,eAAe,+CAK1B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4BAAoC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type FC } from "react";
2
- import type { MarkdownNode } from "./headless";
2
+ import { type MarkdownNode } from "./headless";
3
3
  interface MarkdownRendererProps {
4
4
  node: MarkdownNode;
5
5
  depth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"default-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/default-markdown-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa/C,UAAU,qBAAqB;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsBD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CA8M7D,CAAC"}
1
+ {"version":3,"file":"default-markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/default-markdown-renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAC;AAa/D,UAAU,qBAAqB;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAiBD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CA8M7D,CAAC"}
@@ -46,5 +46,12 @@ export declare function parseMarkdown(text: string): MarkdownNode;
46
46
  * @returns The root node of the parsed AST
47
47
  */
48
48
  export declare function parseMarkdownWithOptions(text: string, options: ParserOptions): MarkdownNode;
49
- export { MarkdownParser };
49
+ export type { MarkdownParser };
50
+ /**
51
+ * Extract text content from a markdown node recursively.
52
+ * Useful for getting plain text from code blocks, headings, etc.
53
+ * @param node - The markdown node to extract text from
54
+ * @returns The concatenated text content
55
+ */
56
+ export declare const getTextContent: (node: MarkdownNode) => string;
50
57
  //# sourceMappingURL=headless.d.ts.map
@@ -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,WAAW,YAAY;IAC3B,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,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,gBACkC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAGd;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
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,WAAW,YAAY;IAC3B,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,uFAAuF;IACvF,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,eAAO,MAAM,oBAAoB,gBACkC,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAGxD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GACrB,YAAY,CAGd;AAED,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,YAAY,KAAG,MAGnD,CAAC"}
@@ -1,23 +1,11 @@
1
1
  export * from "./headless";
2
- /** Low-level renderer component for custom implementations */
3
2
  export { DefaultMarkdownRenderer } from "./default-markdown-renderer";
4
- /**
5
- * High-level Markdown component with optional custom renderers.
6
- * @example
7
- * ```tsx
8
- * <Markdown>{'# Hello World'}</Markdown>
9
- * ```
10
- */
11
3
  export { Markdown } from "./markdown";
12
- /**
13
- * Markdown component that supports streaming updates.
14
- */
15
4
  export { MarkdownStream } from "./markdown-stream";
16
- export { useMarkdownContext } from "./MarkdownContext";
17
- export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, } from "./MarkdownContext";
18
- /** Default theme configuration */
19
- export { defaultMarkdownTheme } from "./theme";
20
- export type { MarkdownTheme } from "./theme";
5
+ export { useMarkdownContext, MarkdownContext } from "./MarkdownContext";
6
+ export type { CustomRenderer, CustomRenderers, CustomRendererProps, NodeRendererProps, BaseCustomRendererProps, EnhancedRendererProps, HeadingRendererProps, LinkRendererProps, ImageRendererProps, CodeBlockRendererProps, InlineCodeRendererProps, ListRendererProps, TaskListItemRendererProps, MarkdownContextValue, } from "./MarkdownContext";
7
+ export { defaultMarkdownTheme, lightMarkdownTheme, darkMarkdownTheme, minimalMarkdownTheme, mergeThemes, } from "./theme";
8
+ export type { MarkdownTheme, PartialMarkdownTheme, NodeStyleOverrides, StylingStrategy, } from "./theme";
21
9
  export { Heading } from "./renderers/heading";
22
10
  export { Paragraph } from "./renderers/paragraph";
23
11
  export { Link } from "./renderers/link";