react-native-nitro-markdown 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -3,77 +3,68 @@
|
|
|
3
3
|
<img src="./readme/stream-demo.gif" alt="react-native-nitro-markdown stream demo" width="300" />
|
|
4
4
|
</p>
|
|
5
5
|
|
|
6
|
-
# react-native-nitro-markdown
|
|
6
|
+
# react-native-nitro-markdown
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
[](https://www.npmjs.com/package/react-native-nitro-markdown)
|
|
11
|
-
[](https://opensource.org/licenses/MIT)
|
|
12
|
-
[](https://nitro.margelo.com)
|
|
13
|
-
|
|
14
|
-
**react-native-nitro-markdown** is a high-performance Markdown parser built on **[md4c](https://github.com/mity/md4c)** (C++) and **[Nitro Modules](https://nitro.margelo.com)**. It parses complex Markdown, GFM, and LaTeX Math into a structured AST **synchronously** via JSI, bypassing the React Native Bridge entirely.
|
|
8
|
+
Fast, native Markdown parsing and rendering for React Native. Built on md4c (C++) and Nitro Modules (JSI), it turns Markdown into a typed AST synchronously and renders it with a batteries-included React Native renderer.
|
|
15
9
|
|
|
16
10
|
---
|
|
17
11
|
|
|
18
|
-
##
|
|
12
|
+
## Why this package exists
|
|
19
13
|
|
|
20
|
-
|
|
14
|
+
JavaScript Markdown parsers do a lot of work on the JS thread and often trigger GC pauses on large documents. This package moves parsing to native C++ and uses JSI to return the AST without going through the RN bridge.
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
| :-------------------------- | :--------- | :---------------- | :-------------------- |
|
|
24
|
-
| **🚀 Nitro Markdown (C++)** | **~29 ms** | **1x (Baseline)** | **~1 frame** (Smooth) |
|
|
25
|
-
| 📋 CommonMark (JS) | ~82 ms | 2.8x slower | ~5 frames (Jank) |
|
|
26
|
-
| 🏗️ Markdown-It (JS) | ~118 ms | 4.0x slower | ~7 frames (Jank) |
|
|
27
|
-
| 💨 Marked (JS) | ~400 ms | 13.5x slower | ~24 frames (Freeze) |
|
|
16
|
+
**How it works:**
|
|
28
17
|
|
|
29
|
-
|
|
18
|
+
Markdown string -> md4c C++ parser -> JSON AST -> React Native renderers
|
|
30
19
|
|
|
31
20
|
---
|
|
32
21
|
|
|
33
|
-
##
|
|
22
|
+
## Features
|
|
34
23
|
|
|
35
|
-
|
|
24
|
+
- Native C++ parser with JSI access (fast, synchronous parsing)
|
|
25
|
+
- Full renderer included (Markdown component)
|
|
26
|
+
- Headless API for custom renderers or processing
|
|
27
|
+
- GFM support (tables, strikethrough, task lists, autolinks)
|
|
28
|
+
- LaTeX math parsing (inline and block)
|
|
29
|
+
- Streaming support for token-by-token updates
|
|
30
|
+
- Theming and per-node style overrides
|
|
31
|
+
- Built-in renderers exposed for reuse
|
|
36
32
|
|
|
37
|
-
|
|
33
|
+
---
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
## Requirements
|
|
40
36
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```
|
|
37
|
+
- React Native >= 0.75
|
|
38
|
+
- react-native-nitro-modules
|
|
44
39
|
|
|
45
|
-
|
|
46
|
-
> `npm install react-native-svg react-native-mathjax-svg`
|
|
40
|
+
Optional (for math rendering):
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
- react-native-mathjax-svg
|
|
43
|
+
- react-native-svg
|
|
49
44
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Installation
|
|
53
48
|
|
|
54
|
-
|
|
49
|
+
Install the package and Nitro Modules:
|
|
55
50
|
|
|
56
51
|
```bash
|
|
57
52
|
bun add react-native-nitro-markdown react-native-nitro-modules
|
|
58
53
|
```
|
|
59
54
|
|
|
60
|
-
|
|
55
|
+
Optional math dependencies:
|
|
61
56
|
|
|
62
57
|
```bash
|
|
63
|
-
|
|
58
|
+
bun add react-native-mathjax-svg react-native-svg
|
|
64
59
|
```
|
|
65
60
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
**Standard**
|
|
61
|
+
iOS pods:
|
|
69
62
|
|
|
70
63
|
```bash
|
|
71
64
|
cd ios && pod install
|
|
72
65
|
```
|
|
73
66
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
If you are using Expo, you must run a **Prebuild** (Development Build) because this package contains native C++ code.
|
|
67
|
+
Expo (requires a development build):
|
|
77
68
|
|
|
78
69
|
```bash
|
|
79
70
|
bunx expo install react-native-nitro-markdown react-native-nitro-modules
|
|
@@ -82,11 +73,7 @@ bunx expo prebuild
|
|
|
82
73
|
|
|
83
74
|
---
|
|
84
75
|
|
|
85
|
-
##
|
|
86
|
-
|
|
87
|
-
### Option 1: Batteries Included (Simplest)
|
|
88
|
-
|
|
89
|
-
Use the `Markdown` component with clean, neutral styling that stays out of the way:
|
|
76
|
+
## Quick Start
|
|
90
77
|
|
|
91
78
|
```tsx
|
|
92
79
|
import { Markdown } from "react-native-nitro-markdown";
|
|
@@ -100,11 +87,52 @@ export function MyComponent() {
|
|
|
100
87
|
}
|
|
101
88
|
```
|
|
102
89
|
|
|
103
|
-
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Feature Guide
|
|
93
|
+
|
|
94
|
+
Start here (pick the approach that matches your use case):
|
|
95
|
+
|
|
96
|
+
- `Markdown` for static or preloaded content
|
|
97
|
+
- `MarkdownStream` + `useMarkdownSession` for streaming tokens
|
|
98
|
+
- `headless` API for custom rendering or data processing
|
|
99
|
+
|
|
100
|
+
### 1) Parsing options (GFM and Math)
|
|
101
|
+
|
|
102
|
+
Parsing options are passed using the `options` prop.
|
|
103
|
+
|
|
104
|
+
```tsx
|
|
105
|
+
<Markdown options={{ gfm: true, math: true }}>{content}</Markdown>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
- `gfm` enables GitHub Flavored Markdown features supported by md4c.
|
|
109
|
+
- `math` enables `$...$` and `$$...$$` parsing into math nodes.
|
|
104
110
|
|
|
105
|
-
###
|
|
111
|
+
### 2) Styling and themes
|
|
106
112
|
|
|
107
|
-
|
|
113
|
+
You can override tokens using the `theme` prop. Only provide the tokens you want to change.
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
import { Markdown } from "react-native-nitro-markdown";
|
|
117
|
+
|
|
118
|
+
const theme = {
|
|
119
|
+
colors: {
|
|
120
|
+
text: "#0f172a",
|
|
121
|
+
heading: "#0f172a",
|
|
122
|
+
link: "#2563eb",
|
|
123
|
+
codeBackground: "#f1f5f9",
|
|
124
|
+
},
|
|
125
|
+
showCodeLanguage: true,
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
<Markdown theme={theme}>{content}</Markdown>;
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
If you use a custom heading font on Android and do not load a bold variant, set `headingWeight: "normal"` to avoid font fallback.
|
|
132
|
+
|
|
133
|
+
### 3) Per-node style overrides
|
|
134
|
+
|
|
135
|
+
Override the styles for specific node types with `styles`.
|
|
108
136
|
|
|
109
137
|
```tsx
|
|
110
138
|
<Markdown
|
|
@@ -114,13 +142,13 @@ Apply quick style overrides to specific node types without writing custom render
|
|
|
114
142
|
blockquote: { borderLeftColor: "#0ea5e9" },
|
|
115
143
|
}}
|
|
116
144
|
>
|
|
117
|
-
{
|
|
145
|
+
{content}
|
|
118
146
|
</Markdown>
|
|
119
147
|
```
|
|
120
148
|
|
|
121
|
-
###
|
|
149
|
+
### 4) Custom renderers
|
|
122
150
|
|
|
123
|
-
|
|
151
|
+
Provide a custom renderer for any node type. You get pre-mapped props for common values.
|
|
124
152
|
|
|
125
153
|
```tsx
|
|
126
154
|
import {
|
|
@@ -131,142 +159,67 @@ import {
|
|
|
131
159
|
} from "react-native-nitro-markdown";
|
|
132
160
|
|
|
133
161
|
const renderers = {
|
|
134
|
-
// Pre-mapped `level` prop - no need for node.level!
|
|
135
162
|
heading: ({ level, children }: HeadingRendererProps) => (
|
|
136
163
|
<MyHeading level={level}>{children}</MyHeading>
|
|
137
164
|
),
|
|
138
|
-
|
|
139
|
-
// Pre-mapped `content` and `language` - no getTextContent() needed!
|
|
140
165
|
code_block: ({ content, language }: CodeBlockRendererProps) => (
|
|
141
|
-
<CodeBlock
|
|
142
|
-
content={content}
|
|
143
|
-
language={language}
|
|
144
|
-
style={{ borderWidth: 2 }}
|
|
145
|
-
/>
|
|
166
|
+
<CodeBlock content={content} language={language} />
|
|
146
167
|
),
|
|
147
168
|
};
|
|
148
169
|
|
|
149
|
-
<Markdown renderers={renderers}
|
|
150
|
-
{markdown}
|
|
151
|
-
</Markdown>;
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**Pre-mapped Props by Node Type:**
|
|
155
|
-
|
|
156
|
-
- `heading` → `level` (1-6)
|
|
157
|
-
- `link` → `href`, `title`
|
|
158
|
-
- `image` → `url`, `alt`, `title`
|
|
159
|
-
- `code_block` → `content`, `language`
|
|
160
|
-
- `code_inline` → `content`
|
|
161
|
-
- `list` → `ordered`, `start`
|
|
162
|
-
- `task_list_item` → `checked`
|
|
163
|
-
|
|
164
|
-
### Option 4: Token Overrides (Theme)
|
|
165
|
-
|
|
166
|
-
Customize the look and feel by passing a partial `theme` object:
|
|
167
|
-
|
|
168
|
-
```tsx
|
|
169
|
-
import { Markdown } from "react-native-nitro-markdown";
|
|
170
|
-
|
|
171
|
-
const myTheme = {
|
|
172
|
-
colors: {
|
|
173
|
-
text: "#0f172a",
|
|
174
|
-
heading: "#0f172a",
|
|
175
|
-
link: "#0ea5e9",
|
|
176
|
-
codeBackground: "#e2e8f0",
|
|
177
|
-
},
|
|
178
|
-
showCodeLanguage: false,
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
<Markdown theme={myTheme}>{"# Custom Themed Markdown"}</Markdown>;
|
|
170
|
+
<Markdown renderers={renderers}>{content}</Markdown>;
|
|
182
171
|
```
|
|
183
172
|
|
|
184
|
-
|
|
173
|
+
Custom renderer behavior:
|
|
185
174
|
|
|
186
|
-
|
|
175
|
+
- Return `undefined` to fall back to the built-in renderer.
|
|
176
|
+
- Return `null` to render nothing for that node.
|
|
177
|
+
- The `Renderer` prop lets you render nested children the same way the default renderer does.
|
|
187
178
|
|
|
188
|
-
-
|
|
189
|
-
- `spacing` - Spacing tokens (xs, s, m, l, xl)
|
|
190
|
-
- `fontSizes` - Font sizes (xs, s, m, l, xl, h1-h6)
|
|
191
|
-
- `fontFamilies` - Font families for regular, heading, and mono text
|
|
192
|
-
- `headingWeight` - Optional weight for headings (useful for Android custom fonts)
|
|
193
|
-
- `borderRadius` - Border radius tokens (s, m, l)
|
|
194
|
-
- `showCodeLanguage` - Show/hide code block language labels
|
|
179
|
+
Pre-mapped props by node type:
|
|
195
180
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
181
|
+
| Node type | Extra props |
|
|
182
|
+
| --- | --- |
|
|
183
|
+
| `heading` | `level` |
|
|
184
|
+
| `link` | `href`, `title` |
|
|
185
|
+
| `image` | `url`, `alt`, `title` |
|
|
186
|
+
| `code_block` | `content`, `language` |
|
|
187
|
+
| `code_inline` | `content` |
|
|
188
|
+
| `list` | `ordered`, `start` |
|
|
189
|
+
| `task_list_item` | `checked` |
|
|
200
190
|
|
|
201
|
-
###
|
|
191
|
+
### 5) Built-in renderers
|
|
202
192
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
```tsx
|
|
206
|
-
<Markdown stylingStrategy="minimal" theme={myLightTheme}>
|
|
207
|
-
{content}
|
|
208
|
-
</Markdown>
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
This zeros out all spacing and removes opinionated colors, letting you build up from scratch.
|
|
212
|
-
|
|
213
|
-
### Option 6: Style Props on Individual Renderers
|
|
214
|
-
|
|
215
|
-
All built-in renderers accept a `style` prop for fine-grained overrides:
|
|
193
|
+
All built-in renderers are exported so you can reuse them in custom renderers.
|
|
216
194
|
|
|
217
195
|
```tsx
|
|
218
196
|
import { Heading, CodeBlock, InlineCode } from "react-native-nitro-markdown";
|
|
219
|
-
|
|
220
|
-
// Works in custom renderers
|
|
221
|
-
<Heading level={1} style={{ color: "hotpink" }}>Title</Heading>
|
|
222
|
-
<CodeBlock content={code} style={{ borderRadius: 0 }} />
|
|
223
|
-
<InlineCode style={{ backgroundColor: "#ff0" }}>code</InlineCode>
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Option 7: Auto Content Extraction for Code
|
|
227
|
-
|
|
228
|
-
The `CodeBlock` and `InlineCode` components now accept a `node` prop for automatic content extraction:
|
|
229
|
-
|
|
230
|
-
```tsx
|
|
231
|
-
// Before: Manual extraction required
|
|
232
|
-
code_block: ({ node }) => (
|
|
233
|
-
<CodeBlock content={getTextContent(node)} language={node.language} />
|
|
234
|
-
);
|
|
235
|
-
|
|
236
|
-
// After: Just pass the node
|
|
237
|
-
code_block: ({ node }) => <CodeBlock node={node} />;
|
|
238
|
-
|
|
239
|
-
// Or use the pre-mapped content prop (recommended)
|
|
240
|
-
code_block: ({ content, language }) => (
|
|
241
|
-
<CodeBlock content={content} language={language} />
|
|
242
|
-
);
|
|
243
197
|
```
|
|
244
198
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
For maximum control, data processing, or minimal JS overhead:
|
|
248
|
-
|
|
249
|
-
```tsx
|
|
250
|
-
import {
|
|
251
|
-
parseMarkdown,
|
|
252
|
-
getTextContent,
|
|
253
|
-
getFlattenedText,
|
|
254
|
-
} from "react-native-nitro-markdown/headless";
|
|
199
|
+
Available renderers:
|
|
255
200
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
201
|
+
- `Heading`
|
|
202
|
+
- `Paragraph`
|
|
203
|
+
- `Link`
|
|
204
|
+
- `Blockquote`
|
|
205
|
+
- `HorizontalRule`
|
|
206
|
+
- `CodeBlock`
|
|
207
|
+
- `InlineCode`
|
|
208
|
+
- `List`
|
|
209
|
+
- `ListItem`
|
|
210
|
+
- `TaskListItem`
|
|
211
|
+
- `TableRenderer`
|
|
212
|
+
- `Image`
|
|
213
|
+
- `MathInline`
|
|
214
|
+
- `MathBlock`
|
|
260
215
|
|
|
261
|
-
###
|
|
216
|
+
### 6) Streaming (LLM tokens)
|
|
262
217
|
|
|
263
|
-
|
|
218
|
+
Use `MarkdownStream` plus `useMarkdownSession` to stream updates efficiently.
|
|
264
219
|
|
|
265
220
|
```tsx
|
|
266
|
-
import {
|
|
267
|
-
|
|
268
|
-
useMarkdownSession,
|
|
269
|
-
} from "react-native-nitro-markdown";
|
|
221
|
+
import { useEffect } from "react";
|
|
222
|
+
import { MarkdownStream, useMarkdownSession } from "react-native-nitro-markdown";
|
|
270
223
|
|
|
271
224
|
export function AIResponseStream() {
|
|
272
225
|
const session = useMarkdownSession();
|
|
@@ -280,7 +233,6 @@ export function AIResponseStream() {
|
|
|
280
233
|
<MarkdownStream
|
|
281
234
|
session={session.getSession()}
|
|
282
235
|
options={{ gfm: true }}
|
|
283
|
-
updateIntervalMs={60}
|
|
284
236
|
updateStrategy="raf"
|
|
285
237
|
useTransitionUpdates
|
|
286
238
|
/>
|
|
@@ -288,183 +240,280 @@ export function AIResponseStream() {
|
|
|
288
240
|
}
|
|
289
241
|
```
|
|
290
242
|
|
|
291
|
-
|
|
292
|
-
- `updateStrategy="raf"` for smooth, frame-aligned updates
|
|
293
|
-
- `updateIntervalMs={50–100}` when using `updateStrategy="interval"`
|
|
294
|
-
- Avoid per-token UI updates by batching token appends
|
|
243
|
+
Recommended streaming defaults:
|
|
295
244
|
|
|
296
|
-
|
|
245
|
+
- `updateStrategy="raf"` for frame-aligned updates
|
|
246
|
+
- `updateIntervalMs` between `50` and `100` when using interval strategy
|
|
247
|
+
- Avoid per-token UI updates by batching appends
|
|
297
248
|
|
|
298
|
-
|
|
299
|
-
| :-- | :-- | :-- | :-- |
|
|
300
|
-
| `updateIntervalMs` | `number` | `50` | Throttle UI updates when using interval strategy |
|
|
301
|
-
| `updateStrategy` | `"interval" \| "raf"` | `"interval"` | Interval batching or frame-aligned updates |
|
|
302
|
-
| `useTransitionUpdates` | `boolean` | `false` | Use React transitions to keep input responsive |
|
|
249
|
+
### 7) Headless parsing
|
|
303
250
|
|
|
304
|
-
|
|
251
|
+
Use the headless entry when you only need the AST or want to build your own renderer.
|
|
305
252
|
|
|
306
|
-
|
|
253
|
+
```tsx
|
|
254
|
+
import {
|
|
255
|
+
parseMarkdown,
|
|
256
|
+
parseMarkdownWithOptions,
|
|
257
|
+
getTextContent,
|
|
258
|
+
getFlattenedText,
|
|
259
|
+
} from "react-native-nitro-markdown/headless";
|
|
260
|
+
|
|
261
|
+
const ast = parseMarkdown("# Hello World");
|
|
262
|
+
const text = getTextContent(ast);
|
|
263
|
+
const normalized = getFlattenedText(ast);
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
### 8) Plain text extraction
|
|
267
|
+
|
|
268
|
+
If you are already using the `Markdown` component, you can get the plain text during parse.
|
|
307
269
|
|
|
308
270
|
```tsx
|
|
309
271
|
<Markdown
|
|
310
272
|
onParseComplete={(result) => {
|
|
311
|
-
console.log(result.text);
|
|
312
|
-
console.log(result.ast); // Full AST
|
|
273
|
+
console.log(result.text);
|
|
313
274
|
}}
|
|
314
275
|
>
|
|
315
|
-
{
|
|
276
|
+
{content}
|
|
316
277
|
</Markdown>
|
|
317
278
|
```
|
|
318
279
|
|
|
280
|
+
### 9) Tables, images, and math
|
|
281
|
+
|
|
282
|
+
- Tables are rendered with a horizontal scroll view and measured column widths.
|
|
283
|
+
- Images use React Native `Image` and try to preserve the real aspect ratio.
|
|
284
|
+
- Math nodes render with `react-native-mathjax-svg` if installed; otherwise they fall back to a code-style look.
|
|
285
|
+
|
|
319
286
|
---
|
|
320
287
|
|
|
321
|
-
##
|
|
288
|
+
## Common Recipes
|
|
322
289
|
|
|
323
|
-
|
|
290
|
+
### Open links with custom behavior
|
|
324
291
|
|
|
325
292
|
```tsx
|
|
326
|
-
import {
|
|
327
|
-
|
|
328
|
-
MarkdownContext,
|
|
329
|
-
} from "react-native-nitro-markdown";
|
|
330
|
-
|
|
331
|
-
const MyCustomRenderer = ({ children }) => {
|
|
332
|
-
const { theme, stylingStrategy } = useMarkdownContext();
|
|
293
|
+
import { Markdown, type LinkRendererProps } from "react-native-nitro-markdown";
|
|
294
|
+
import { Text, Linking } from "react-native";
|
|
333
295
|
|
|
334
|
-
|
|
296
|
+
const renderers = {
|
|
297
|
+
link: ({ href, children }: LinkRendererProps) => (
|
|
298
|
+
<Text
|
|
299
|
+
style={{ textDecorationLine: "underline" }}
|
|
300
|
+
onPress={async () => {
|
|
301
|
+
if (href && (await Linking.canOpenURL(href))) {
|
|
302
|
+
Linking.openURL(href);
|
|
303
|
+
}
|
|
304
|
+
}}
|
|
305
|
+
>
|
|
306
|
+
{children}
|
|
307
|
+
</Text>
|
|
308
|
+
),
|
|
335
309
|
};
|
|
336
|
-
```
|
|
337
310
|
|
|
338
|
-
|
|
311
|
+
<Markdown renderers={renderers}>{content}</Markdown>;
|
|
312
|
+
```
|
|
339
313
|
|
|
340
|
-
|
|
314
|
+
### Custom image renderer (placeholder + fixed height)
|
|
341
315
|
|
|
342
316
|
```tsx
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
parseMarkdown,
|
|
346
|
-
parseMarkdownWithOptions,
|
|
347
|
-
getTextContent,
|
|
348
|
-
getFlattenedText,
|
|
349
|
-
} from "./headless";
|
|
317
|
+
import { Markdown, type ImageRendererProps } from "react-native-nitro-markdown";
|
|
318
|
+
import { View, Image, Text } from "react-native";
|
|
350
319
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
320
|
+
const renderers = {
|
|
321
|
+
image: ({ url, title, alt }: ImageRendererProps) => (
|
|
322
|
+
<View>
|
|
323
|
+
<Image source={{ uri: url }} style={{ height: 220, borderRadius: 12 }} />
|
|
324
|
+
{(title || alt) && (
|
|
325
|
+
<Text style={{ marginTop: 6, opacity: 0.6 }}>{title || alt}</Text>
|
|
326
|
+
)}
|
|
327
|
+
</View>
|
|
328
|
+
),
|
|
356
329
|
};
|
|
330
|
+
```
|
|
357
331
|
|
|
358
|
-
|
|
359
|
-
export { useMarkdownContext, MarkdownContext };
|
|
332
|
+
### Render HTML nodes as code (opt-in)
|
|
360
333
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
HorizontalRule,
|
|
368
|
-
CodeBlock,
|
|
369
|
-
InlineCode,
|
|
370
|
-
List,
|
|
371
|
-
ListItem,
|
|
372
|
-
TaskListItem,
|
|
373
|
-
TableRenderer,
|
|
374
|
-
Image,
|
|
375
|
-
MathInline,
|
|
376
|
-
MathBlock,
|
|
334
|
+
```tsx
|
|
335
|
+
import { Markdown, CodeBlock, InlineCode } from "react-native-nitro-markdown";
|
|
336
|
+
|
|
337
|
+
const renderers = {
|
|
338
|
+
html_block: ({ node }) => <CodeBlock content={node.content ?? \"\"} />,
|
|
339
|
+
html_inline: ({ node }) => <InlineCode content={node.content ?? \"\"} />,
|
|
377
340
|
};
|
|
378
341
|
```
|
|
379
342
|
|
|
380
|
-
|
|
343
|
+
### Minimal styling + custom palette
|
|
381
344
|
|
|
382
|
-
|
|
345
|
+
```tsx
|
|
346
|
+
import { Markdown } from "react-native-nitro-markdown";
|
|
383
347
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
348
|
+
<Markdown
|
|
349
|
+
stylingStrategy="minimal"
|
|
350
|
+
theme={{ colors: { text: "#e2e8f0", link: "#38bdf8" } }}
|
|
351
|
+
>
|
|
352
|
+
{content}
|
|
353
|
+
</Markdown>;
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### Build a search index (headless)
|
|
357
|
+
|
|
358
|
+
```tsx
|
|
359
|
+
import { parseMarkdown, getFlattenedText } from "react-native-nitro-markdown/headless";
|
|
360
|
+
|
|
361
|
+
const ast = parseMarkdown(content);
|
|
362
|
+
const plainText = getFlattenedText(ast);
|
|
363
|
+
```
|
|
390
364
|
|
|
391
365
|
---
|
|
392
366
|
|
|
393
|
-
|
|
367
|
+
## API Reference
|
|
394
368
|
|
|
395
|
-
|
|
369
|
+
### Markdown component
|
|
396
370
|
|
|
397
|
-
```
|
|
398
|
-
import {
|
|
371
|
+
```tsx
|
|
372
|
+
import { Markdown } from "react-native-nitro-markdown";
|
|
373
|
+
```
|
|
399
374
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
375
|
+
Props:
|
|
376
|
+
|
|
377
|
+
| Prop | Type | Default | Description |
|
|
378
|
+
| --- | --- | --- | --- |
|
|
379
|
+
| `children` | `string` | required | Markdown string to parse and render |
|
|
380
|
+
| `options` | `{ gfm?: boolean; math?: boolean }` | `undefined` | Parser options |
|
|
381
|
+
| `renderers` | `CustomRenderers` | `{}` | Custom renderers by node type |
|
|
382
|
+
| `theme` | `PartialMarkdownTheme` | `defaultMarkdownTheme` | Theme token overrides |
|
|
383
|
+
| `styles` | `NodeStyleOverrides` | `undefined` | Per-node style overrides |
|
|
384
|
+
| `stylingStrategy` | `"opinionated" \| "minimal"` | `"opinionated"` | Styling baseline |
|
|
385
|
+
| `style` | `StyleProp<ViewStyle>` | `undefined` | Container style |
|
|
386
|
+
| `onParsingInProgress` | `() => void` | `undefined` | Called when parsing starts |
|
|
387
|
+
| `onParseComplete` | `(result) => void` | `undefined` | Called with `{ raw, ast, text }` |
|
|
388
|
+
|
|
389
|
+
### MarkdownStream
|
|
390
|
+
|
|
391
|
+
```tsx
|
|
392
|
+
import { MarkdownStream } from "react-native-nitro-markdown";
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
Props (in addition to all `Markdown` props except `children`):
|
|
396
|
+
|
|
397
|
+
| Prop | Type | Default | Description |
|
|
398
|
+
| --- | --- | --- | --- |
|
|
399
|
+
| `session` | `MarkdownSession` | required | Active session for streaming text |
|
|
400
|
+
| `updateIntervalMs` | `number` | `50` | Throttle interval for updates |
|
|
401
|
+
| `updateStrategy` | `"interval" \| "raf"` | `"interval"` | Update strategy |
|
|
402
|
+
| `useTransitionUpdates` | `boolean` | `false` | Use React transitions |
|
|
403
|
+
|
|
404
|
+
### Hooks and sessions
|
|
405
|
+
|
|
406
|
+
```tsx
|
|
407
|
+
import { useMarkdownSession, createMarkdownSession, useStream } from "react-native-nitro-markdown";
|
|
404
408
|
```
|
|
405
409
|
|
|
406
|
-
|
|
410
|
+
- `useMarkdownSession()` returns a managed session and helpers: `getSession`, `setIsStreaming`, `stop`, `clear`, `setHighlight`.
|
|
411
|
+
- `createMarkdownSession()` creates a session without React hooks.
|
|
412
|
+
- `useStream(timestamps)` adds a simple sync helper for time-based streaming.
|
|
407
413
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
414
|
+
### Headless API
|
|
415
|
+
|
|
416
|
+
```tsx
|
|
417
|
+
import { parseMarkdown, parseMarkdownWithOptions, getTextContent, getFlattenedText } from "react-native-nitro-markdown/headless";
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
### Theme utilities
|
|
421
|
+
|
|
422
|
+
```tsx
|
|
423
|
+
import {
|
|
424
|
+
defaultMarkdownTheme,
|
|
425
|
+
minimalMarkdownTheme,
|
|
426
|
+
mergeThemes,
|
|
427
|
+
} from "react-native-nitro-markdown";
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### Types
|
|
431
|
+
|
|
432
|
+
```tsx
|
|
433
|
+
import type {
|
|
434
|
+
CustomRenderers,
|
|
435
|
+
NodeStyleOverrides,
|
|
436
|
+
MarkdownTheme,
|
|
437
|
+
PartialMarkdownTheme,
|
|
438
|
+
} from "react-native-nitro-markdown";
|
|
439
|
+
```
|
|
412
440
|
|
|
413
441
|
---
|
|
414
442
|
|
|
415
|
-
##
|
|
443
|
+
## Supported Node Types
|
|
416
444
|
|
|
417
|
-
|
|
445
|
+
You can customize any of these node types with `renderers` or `styles`.
|
|
418
446
|
|
|
419
|
-
|
|
447
|
+
`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`
|
|
448
|
+
|
|
449
|
+
Note: `html_inline` and `html_block` are parsed but not rendered by default.
|
|
450
|
+
|
|
451
|
+
---
|
|
452
|
+
|
|
453
|
+
## AST Shape
|
|
454
|
+
|
|
455
|
+
The headless API returns a typed AST. This is the core shape used by the renderer.
|
|
456
|
+
|
|
457
|
+
```ts
|
|
420
458
|
export interface MarkdownNode {
|
|
421
|
-
type:
|
|
459
|
+
type:
|
|
460
|
+
| "document"
|
|
461
|
+
| "heading"
|
|
462
|
+
| "paragraph"
|
|
463
|
+
| "text"
|
|
464
|
+
| "bold"
|
|
465
|
+
| "italic"
|
|
466
|
+
| "strikethrough"
|
|
467
|
+
| "link"
|
|
468
|
+
| "image"
|
|
469
|
+
| "code_inline"
|
|
470
|
+
| "code_block"
|
|
471
|
+
| "blockquote"
|
|
472
|
+
| "horizontal_rule"
|
|
473
|
+
| "line_break"
|
|
474
|
+
| "soft_break"
|
|
475
|
+
| "table"
|
|
476
|
+
| "table_head"
|
|
477
|
+
| "table_body"
|
|
478
|
+
| "table_row"
|
|
479
|
+
| "table_cell"
|
|
480
|
+
| "list"
|
|
481
|
+
| "list_item"
|
|
482
|
+
| "task_list_item"
|
|
483
|
+
| "math_inline"
|
|
484
|
+
| "math_block"
|
|
485
|
+
| "html_block"
|
|
486
|
+
| "html_inline";
|
|
422
487
|
content?: string;
|
|
423
488
|
children?: MarkdownNode[];
|
|
424
489
|
level?: number;
|
|
425
490
|
href?: string;
|
|
426
|
-
|
|
491
|
+
title?: string;
|
|
492
|
+
alt?: string;
|
|
427
493
|
language?: string;
|
|
428
|
-
|
|
494
|
+
ordered?: boolean;
|
|
495
|
+
start?: number;
|
|
496
|
+
checked?: boolean;
|
|
497
|
+
align?: string;
|
|
429
498
|
isHeader?: boolean;
|
|
430
499
|
}
|
|
431
500
|
```
|
|
432
501
|
|
|
433
502
|
---
|
|
434
503
|
|
|
435
|
-
##
|
|
504
|
+
## Troubleshooting
|
|
436
505
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
```tsx
|
|
442
|
-
case 'math_inline':
|
|
443
|
-
return <MathView math={node.content} style={styles.math} />;
|
|
444
|
-
case 'math_block':
|
|
445
|
-
return <MathView math={node.content} style={styles.mathBlock} />;
|
|
446
|
-
```
|
|
506
|
+
- Math renders as plain text: install `react-native-mathjax-svg` and `react-native-svg`.
|
|
507
|
+
- iOS build errors: run `pod install` after installing dependencies.
|
|
508
|
+
- Expo: you must use a development build (`expo prebuild` + `expo run`), not Expo Go.
|
|
509
|
+
- Android heading font looks wrong: set `headingWeight: "normal"` when your font has no bold variant.
|
|
447
510
|
|
|
448
511
|
---
|
|
449
512
|
|
|
450
|
-
##
|
|
451
|
-
|
|
452
|
-
| Metric | Size |
|
|
453
|
-
| :------------------- | :------ |
|
|
454
|
-
| **Packed (tarball)** | ~75 kB |
|
|
455
|
-
| **Unpacked** | ~325 kB |
|
|
456
|
-
| **Total files** | 55 |
|
|
513
|
+
## Contributing
|
|
457
514
|
|
|
458
|
-
|
|
515
|
+
See `CONTRIBUTING.md` for the workflow and development commands.
|
|
459
516
|
|
|
460
|
-
##
|
|
461
|
-
|
|
462
|
-
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
|
|
463
|
-
|
|
464
|
-
## 📄 License
|
|
517
|
+
## License
|
|
465
518
|
|
|
466
519
|
MIT
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
Built with ❤️ using [Nitro Modules](https://nitro.margelo.com) and [md4c](https://github.com/mity/md4c).
|
|
@@ -142,7 +142,9 @@ const TableRenderer = ({
|
|
|
142
142
|
style: styles.tableScroll,
|
|
143
143
|
bounces: false,
|
|
144
144
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
145
|
-
style: styles.table,
|
|
145
|
+
style: [styles.table, {
|
|
146
|
+
backgroundColor: style?.backgroundColor ?? theme.colors.surface ?? "#111827"
|
|
147
|
+
}],
|
|
146
148
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
147
149
|
style: styles.headerRow,
|
|
148
150
|
children: headers.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -158,7 +160,7 @@ const TableRenderer = ({
|
|
|
158
160
|
})
|
|
159
161
|
}, `header-${colIndex}`))
|
|
160
162
|
}), rows.map((row, rowIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
161
|
-
style: [styles.bodyRow, rowIndex === rows.length - 1 && styles.lastRow, rowIndex % 2 ===
|
|
163
|
+
style: [styles.bodyRow, rowIndex === rows.length - 1 && styles.lastRow, rowIndex % 2 === 0 ? styles.evenRow : styles.oddRow],
|
|
162
164
|
children: row.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
163
165
|
style: [styles.bodyCell, {
|
|
164
166
|
width: columnWidths[colIndex],
|
|
@@ -228,8 +230,7 @@ const createTableStyles = theme => {
|
|
|
228
230
|
borderRadius: borderRadius.m,
|
|
229
231
|
overflow: "hidden",
|
|
230
232
|
borderWidth: 1,
|
|
231
|
-
borderColor: colors.tableBorder || "#374151"
|
|
232
|
-
backgroundColor: colors.surface || "#111827"
|
|
233
|
+
borderColor: colors.tableBorder || "#374151"
|
|
233
234
|
},
|
|
234
235
|
headerRow: {
|
|
235
236
|
flexDirection: "row",
|
|
@@ -242,6 +243,9 @@ const createTableStyles = theme => {
|
|
|
242
243
|
borderBottomWidth: 1,
|
|
243
244
|
borderBottomColor: colors.tableBorder || "#374151"
|
|
244
245
|
},
|
|
246
|
+
evenRow: {
|
|
247
|
+
backgroundColor: colors.tableRowEven || "transparent"
|
|
248
|
+
},
|
|
245
249
|
oddRow: {
|
|
246
250
|
backgroundColor: colors.tableRowOdd || "rgba(255,255,255,0.02)"
|
|
247
251
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_MarkdownContext","_jsxRuntime","extractTableData","node","headers","rows","alignments","child","children","type","row","cell","push","align","rowCells","columnWidthsReducer","state","action","payload","TableRenderer","Renderer","style","theme","useMarkdownContext","useMemo","columnCount","length","styles","createTableStyles","columnWidths","dispatch","useReducer","measuredWidths","useRef","Map","measuredCells","Set","widthsCalculated","onCellLayout","useCallback","cellKey","width","current","set","add","expectedCells","col","allCellsMeasured","every","key","has","maxWidths","Array","fill","headerWidth","get","Math","max","cellWidth","getAlignment","index","hasWidths","jsxs","View","container","measurementContainer","jsx","measurementRow","map","colIndex","measurementCell","onLayout","e","nativeEvent","layout","CellContent","rowIndex","ScrollView","horizontal","showsHorizontalScrollIndicator","tableScroll","bounces","table","headerRow","headerCell","alignItems","lastCell","textStyle","headerText","bodyRow","lastRow","oddRow","bodyCell","cellText","exports","Text","content","cellContentWrapper","idx","depth","inListItem","parentIsText","colors","borderRadius","m","StyleSheet","create","marginVertical","spacing","s","position","opacity","pointerEvents","left","flexDirection","paddingVertical","paddingHorizontal","flexGrow","overflow","borderWidth","borderColor","tableBorder","backgroundColor","surface","tableHeader","borderBottomWidth","borderBottomColor","tableRowOdd","flexShrink","minWidth","borderRightWidth","borderRightColor","justifyContent","color","tableHeaderText","fontSize","fontWeight","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","text","lineHeight","flexWrap"],"sourceRoot":"../../../src","sources":["renderers/table.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_MarkdownContext","_jsxRuntime","extractTableData","node","headers","rows","alignments","child","children","type","row","cell","push","align","rowCells","columnWidthsReducer","state","action","payload","TableRenderer","Renderer","style","theme","useMarkdownContext","useMemo","columnCount","length","styles","createTableStyles","columnWidths","dispatch","useReducer","measuredWidths","useRef","Map","measuredCells","Set","widthsCalculated","onCellLayout","useCallback","cellKey","width","current","set","add","expectedCells","col","allCellsMeasured","every","key","has","maxWidths","Array","fill","headerWidth","get","Math","max","cellWidth","getAlignment","index","hasWidths","jsxs","View","container","measurementContainer","jsx","measurementRow","map","colIndex","measurementCell","onLayout","e","nativeEvent","layout","CellContent","rowIndex","ScrollView","horizontal","showsHorizontalScrollIndicator","tableScroll","bounces","table","backgroundColor","colors","surface","headerRow","headerCell","alignItems","lastCell","textStyle","headerText","bodyRow","lastRow","evenRow","oddRow","bodyCell","cellText","exports","Text","content","cellContentWrapper","idx","depth","inListItem","parentIsText","borderRadius","m","StyleSheet","create","marginVertical","spacing","s","position","opacity","pointerEvents","left","flexDirection","paddingVertical","paddingHorizontal","flexGrow","overflow","borderWidth","borderColor","tableBorder","tableHeader","borderBottomWidth","borderBottomColor","tableRowEven","tableRowOdd","flexShrink","minWidth","borderRightWidth","borderRightColor","justifyContent","color","tableHeaderText","fontSize","fontWeight","fontFamily","fontFamilies","regular","Platform","OS","includeFontPadding","text","lineHeight","flexWrap"],"sourceRoot":"../../../src","sources":["renderers/table.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -138,7 +138,9 @@ export const TableRenderer = ({
|
|
|
138
138
|
style: styles.tableScroll,
|
|
139
139
|
bounces: false,
|
|
140
140
|
children: /*#__PURE__*/_jsxs(View, {
|
|
141
|
-
style: styles.table,
|
|
141
|
+
style: [styles.table, {
|
|
142
|
+
backgroundColor: style?.backgroundColor ?? theme.colors.surface ?? "#111827"
|
|
143
|
+
}],
|
|
142
144
|
children: [/*#__PURE__*/_jsx(View, {
|
|
143
145
|
style: styles.headerRow,
|
|
144
146
|
children: headers.map((cell, colIndex) => /*#__PURE__*/_jsx(View, {
|
|
@@ -154,7 +156,7 @@ export const TableRenderer = ({
|
|
|
154
156
|
})
|
|
155
157
|
}, `header-${colIndex}`))
|
|
156
158
|
}), rows.map((row, rowIndex) => /*#__PURE__*/_jsx(View, {
|
|
157
|
-
style: [styles.bodyRow, rowIndex === rows.length - 1 && styles.lastRow, rowIndex % 2 ===
|
|
159
|
+
style: [styles.bodyRow, rowIndex === rows.length - 1 && styles.lastRow, rowIndex % 2 === 0 ? styles.evenRow : styles.oddRow],
|
|
158
160
|
children: row.map((cell, colIndex) => /*#__PURE__*/_jsx(View, {
|
|
159
161
|
style: [styles.bodyCell, {
|
|
160
162
|
width: columnWidths[colIndex],
|
|
@@ -223,8 +225,7 @@ const createTableStyles = theme => {
|
|
|
223
225
|
borderRadius: borderRadius.m,
|
|
224
226
|
overflow: "hidden",
|
|
225
227
|
borderWidth: 1,
|
|
226
|
-
borderColor: colors.tableBorder || "#374151"
|
|
227
|
-
backgroundColor: colors.surface || "#111827"
|
|
228
|
+
borderColor: colors.tableBorder || "#374151"
|
|
228
229
|
},
|
|
229
230
|
headerRow: {
|
|
230
231
|
flexDirection: "row",
|
|
@@ -237,6 +238,9 @@ const createTableStyles = theme => {
|
|
|
237
238
|
borderBottomWidth: 1,
|
|
238
239
|
borderBottomColor: colors.tableBorder || "#374151"
|
|
239
240
|
},
|
|
241
|
+
evenRow: {
|
|
242
|
+
backgroundColor: colors.tableRowEven || "transparent"
|
|
243
|
+
},
|
|
240
244
|
oddRow: {
|
|
241
245
|
backgroundColor: colors.tableRowOdd || "rgba(255,255,255,0.02)"
|
|
242
246
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useRef","useReducer","useCallback","View","Text","StyleSheet","ScrollView","Platform","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","extractTableData","node","headers","rows","alignments","child","children","type","row","cell","push","align","rowCells","columnWidthsReducer","state","action","payload","TableRenderer","Renderer","style","theme","columnCount","length","styles","createTableStyles","columnWidths","dispatch","measuredWidths","Map","measuredCells","Set","widthsCalculated","onCellLayout","cellKey","width","current","set","add","expectedCells","col","allCellsMeasured","every","key","has","maxWidths","Array","fill","headerWidth","get","Math","max","cellWidth","getAlignment","index","hasWidths","container","measurementContainer","measurementRow","map","colIndex","measurementCell","onLayout","e","nativeEvent","layout","CellContent","rowIndex","horizontal","showsHorizontalScrollIndicator","tableScroll","bounces","table","headerRow","headerCell","alignItems","lastCell","textStyle","headerText","bodyRow","lastRow","oddRow","bodyCell","cellText","content","cellContentWrapper","idx","depth","inListItem","parentIsText","colors","borderRadius","m","create","marginVertical","spacing","s","position","opacity","pointerEvents","left","flexDirection","paddingVertical","paddingHorizontal","flexGrow","overflow","borderWidth","borderColor","tableBorder","backgroundColor","surface","tableHeader","borderBottomWidth","borderBottomColor","tableRowOdd","flexShrink","minWidth","borderRightWidth","borderRightColor","justifyContent","color","tableHeaderText","fontSize","fontWeight","fontFamily","fontFamilies","regular","OS","includeFontPadding","text","lineHeight","flexWrap"],"sourceRoot":"../../../src","sources":["renderers/table.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useMemo","useRef","useReducer","useCallback","View","Text","StyleSheet","ScrollView","Platform","useMarkdownContext","jsx","_jsx","jsxs","_jsxs","extractTableData","node","headers","rows","alignments","child","children","type","row","cell","push","align","rowCells","columnWidthsReducer","state","action","payload","TableRenderer","Renderer","style","theme","columnCount","length","styles","createTableStyles","columnWidths","dispatch","measuredWidths","Map","measuredCells","Set","widthsCalculated","onCellLayout","cellKey","width","current","set","add","expectedCells","col","allCellsMeasured","every","key","has","maxWidths","Array","fill","headerWidth","get","Math","max","cellWidth","getAlignment","index","hasWidths","container","measurementContainer","measurementRow","map","colIndex","measurementCell","onLayout","e","nativeEvent","layout","CellContent","rowIndex","horizontal","showsHorizontalScrollIndicator","tableScroll","bounces","table","backgroundColor","colors","surface","headerRow","headerCell","alignItems","lastCell","textStyle","headerText","bodyRow","lastRow","evenRow","oddRow","bodyCell","cellText","content","cellContentWrapper","idx","depth","inListItem","parentIsText","borderRadius","m","create","marginVertical","spacing","s","position","opacity","pointerEvents","left","flexDirection","paddingVertical","paddingHorizontal","flexGrow","overflow","borderWidth","borderColor","tableBorder","tableHeader","borderBottomWidth","borderBottomColor","tableRowEven","tableRowOdd","flexShrink","minWidth","borderRightWidth","borderRightColor","justifyContent","color","tableHeaderText","fontSize","fontWeight","fontFamily","fontFamilies","regular","OS","includeFontPadding","text","lineHeight","flexWrap"],"sourceRoot":"../../../src","sources":["renderers/table.tsx"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/renderers/table.tsx
CHANGED
|
@@ -195,7 +195,7 @@ export const TableRenderer: FC<TableRendererProps> = ({
|
|
|
195
195
|
style={styles.tableScroll}
|
|
196
196
|
bounces={false}
|
|
197
197
|
>
|
|
198
|
-
<View style={styles.table}>
|
|
198
|
+
<View style={[styles.table, { backgroundColor: style?.backgroundColor ?? theme.colors.surface ?? "#111827" }]}>
|
|
199
199
|
<View style={styles.headerRow}>
|
|
200
200
|
{headers.map((cell, colIndex) => (
|
|
201
201
|
<View
|
|
@@ -225,7 +225,7 @@ export const TableRenderer: FC<TableRendererProps> = ({
|
|
|
225
225
|
style={[
|
|
226
226
|
styles.bodyRow,
|
|
227
227
|
rowIndex === rows.length - 1 && styles.lastRow,
|
|
228
|
-
rowIndex % 2 ===
|
|
228
|
+
rowIndex % 2 === 0 ? styles.evenRow : styles.oddRow,
|
|
229
229
|
]}
|
|
230
230
|
>
|
|
231
231
|
{row.map((cell, colIndex) => (
|
|
@@ -311,7 +311,6 @@ const createTableStyles = (theme: MarkdownTheme) => {
|
|
|
311
311
|
overflow: "hidden",
|
|
312
312
|
borderWidth: 1,
|
|
313
313
|
borderColor: colors.tableBorder || "#374151",
|
|
314
|
-
backgroundColor: colors.surface || "#111827",
|
|
315
314
|
},
|
|
316
315
|
headerRow: {
|
|
317
316
|
flexDirection: "row",
|
|
@@ -324,6 +323,9 @@ const createTableStyles = (theme: MarkdownTheme) => {
|
|
|
324
323
|
borderBottomWidth: 1,
|
|
325
324
|
borderBottomColor: colors.tableBorder || "#374151",
|
|
326
325
|
},
|
|
326
|
+
evenRow: {
|
|
327
|
+
backgroundColor: colors.tableRowEven || "transparent",
|
|
328
|
+
},
|
|
327
329
|
oddRow: {
|
|
328
330
|
backgroundColor: colors.tableRowOdd || "rgba(255,255,255,0.02)",
|
|
329
331
|
},
|