react-native-nitro-markdown 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +417 -25
  2. package/android/src/main/java/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSession.kt +46 -8
  3. package/android/src/main/java/com/nitromarkdown/NitroMarkdownPackage.kt +2 -1
  4. package/cpp/bindings/HybridMarkdownParser.cpp +216 -66
  5. package/cpp/bindings/HybridMarkdownParser.hpp +2 -0
  6. package/ios/HybridMarkdownSession.swift +51 -7
  7. package/lib/commonjs/MarkdownContext.js.map +1 -1
  8. package/lib/commonjs/headless.js +61 -5
  9. package/lib/commonjs/headless.js.map +1 -1
  10. package/lib/commonjs/index.js +9 -1
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/markdown-stream.js +107 -13
  13. package/lib/commonjs/markdown-stream.js.map +1 -1
  14. package/lib/commonjs/markdown.js +191 -26
  15. package/lib/commonjs/markdown.js.map +1 -1
  16. package/lib/commonjs/renderers/code.js +21 -2
  17. package/lib/commonjs/renderers/code.js.map +1 -1
  18. package/lib/commonjs/renderers/table/cell-content.js +32 -0
  19. package/lib/commonjs/renderers/table/cell-content.js.map +1 -0
  20. package/lib/commonjs/renderers/table/index.js +310 -0
  21. package/lib/commonjs/renderers/table/index.js.map +1 -0
  22. package/lib/commonjs/renderers/table/table-reducer.js +29 -0
  23. package/lib/commonjs/renderers/table/table-reducer.js.map +1 -0
  24. package/lib/commonjs/renderers/table/table-utils.js +68 -0
  25. package/lib/commonjs/renderers/table/table-utils.js.map +1 -0
  26. package/lib/commonjs/renderers/table/types.js +6 -0
  27. package/lib/commonjs/renderers/table/types.js.map +1 -0
  28. package/lib/commonjs/renderers/table.js +6 -306
  29. package/lib/commonjs/renderers/table.js.map +1 -1
  30. package/lib/commonjs/theme.js +10 -1
  31. package/lib/commonjs/theme.js.map +1 -1
  32. package/lib/commonjs/use-markdown-stream.js +9 -1
  33. package/lib/commonjs/use-markdown-stream.js.map +1 -1
  34. package/lib/commonjs/utils/code-highlight.js +101 -0
  35. package/lib/commonjs/utils/code-highlight.js.map +1 -0
  36. package/lib/commonjs/utils/incremental-ast.js +153 -0
  37. package/lib/commonjs/utils/incremental-ast.js.map +1 -0
  38. package/lib/module/MarkdownContext.js.map +1 -1
  39. package/lib/module/headless.js +56 -4
  40. package/lib/module/headless.js.map +1 -1
  41. package/lib/module/index.js +1 -0
  42. package/lib/module/index.js.map +1 -1
  43. package/lib/module/markdown-stream.js +108 -14
  44. package/lib/module/markdown-stream.js.map +1 -1
  45. package/lib/module/markdown.js +193 -28
  46. package/lib/module/markdown.js.map +1 -1
  47. package/lib/module/renderers/code.js +21 -2
  48. package/lib/module/renderers/code.js.map +1 -1
  49. package/lib/module/renderers/table/cell-content.js +27 -0
  50. package/lib/module/renderers/table/cell-content.js.map +1 -0
  51. package/lib/module/renderers/table/index.js +305 -0
  52. package/lib/module/renderers/table/index.js.map +1 -0
  53. package/lib/module/renderers/table/table-reducer.js +24 -0
  54. package/lib/module/renderers/table/table-reducer.js.map +1 -0
  55. package/lib/module/renderers/table/table-utils.js +62 -0
  56. package/lib/module/renderers/table/table-utils.js.map +1 -0
  57. package/lib/module/renderers/table/types.js +4 -0
  58. package/lib/module/renderers/table/types.js.map +1 -0
  59. package/lib/module/renderers/table.js +1 -305
  60. package/lib/module/renderers/table.js.map +1 -1
  61. package/lib/module/theme.js +10 -1
  62. package/lib/module/theme.js.map +1 -1
  63. package/lib/module/use-markdown-stream.js +9 -1
  64. package/lib/module/use-markdown-stream.js.map +1 -1
  65. package/lib/module/utils/code-highlight.js +97 -0
  66. package/lib/module/utils/code-highlight.js.map +1 -0
  67. package/lib/module/utils/incremental-ast.js +147 -0
  68. package/lib/module/utils/incremental-ast.js.map +1 -0
  69. package/lib/typescript/commonjs/Markdown.nitro.d.ts +2 -0
  70. package/lib/typescript/commonjs/Markdown.nitro.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/MarkdownContext.d.ts +6 -0
  72. package/lib/typescript/commonjs/MarkdownContext.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/headless.d.ts +18 -0
  74. package/lib/typescript/commonjs/headless.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/index.d.ts +4 -0
  76. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/markdown-stream.d.ts +6 -1
  78. package/lib/typescript/commonjs/markdown-stream.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/markdown.d.ts +77 -1
  80. package/lib/typescript/commonjs/markdown.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/renderers/code.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/renderers/table/cell-content.d.ts +15 -0
  83. package/lib/typescript/commonjs/renderers/table/cell-content.d.ts.map +1 -0
  84. package/lib/typescript/commonjs/renderers/table/index.d.ts +11 -0
  85. package/lib/typescript/commonjs/renderers/table/index.d.ts.map +1 -0
  86. package/lib/typescript/commonjs/renderers/table/table-reducer.d.ts +5 -0
  87. package/lib/typescript/commonjs/renderers/table/table-reducer.d.ts.map +1 -0
  88. package/lib/typescript/commonjs/renderers/table/table-utils.d.ts +10 -0
  89. package/lib/typescript/commonjs/renderers/table/table-utils.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/renderers/table/types.d.ts +24 -0
  91. package/lib/typescript/commonjs/renderers/table/types.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/renderers/table.d.ts +1 -11
  93. package/lib/typescript/commonjs/renderers/table.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts +14 -2
  95. package/lib/typescript/commonjs/specs/MarkdownSession.nitro.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/theme.d.ts +18 -2
  97. package/lib/typescript/commonjs/theme.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/use-markdown-stream.d.ts +4 -0
  99. package/lib/typescript/commonjs/use-markdown-stream.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/utils/code-highlight.d.ts +8 -0
  101. package/lib/typescript/commonjs/utils/code-highlight.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/utils/incremental-ast.d.ts +12 -0
  103. package/lib/typescript/commonjs/utils/incremental-ast.d.ts.map +1 -0
  104. package/lib/typescript/module/Markdown.nitro.d.ts +2 -0
  105. package/lib/typescript/module/Markdown.nitro.d.ts.map +1 -1
  106. package/lib/typescript/module/MarkdownContext.d.ts +6 -0
  107. package/lib/typescript/module/MarkdownContext.d.ts.map +1 -1
  108. package/lib/typescript/module/headless.d.ts +18 -0
  109. package/lib/typescript/module/headless.d.ts.map +1 -1
  110. package/lib/typescript/module/index.d.ts +4 -0
  111. package/lib/typescript/module/index.d.ts.map +1 -1
  112. package/lib/typescript/module/markdown-stream.d.ts +6 -1
  113. package/lib/typescript/module/markdown-stream.d.ts.map +1 -1
  114. package/lib/typescript/module/markdown.d.ts +77 -1
  115. package/lib/typescript/module/markdown.d.ts.map +1 -1
  116. package/lib/typescript/module/renderers/code.d.ts.map +1 -1
  117. package/lib/typescript/module/renderers/table/cell-content.d.ts +15 -0
  118. package/lib/typescript/module/renderers/table/cell-content.d.ts.map +1 -0
  119. package/lib/typescript/module/renderers/table/index.d.ts +11 -0
  120. package/lib/typescript/module/renderers/table/index.d.ts.map +1 -0
  121. package/lib/typescript/module/renderers/table/table-reducer.d.ts +5 -0
  122. package/lib/typescript/module/renderers/table/table-reducer.d.ts.map +1 -0
  123. package/lib/typescript/module/renderers/table/table-utils.d.ts +10 -0
  124. package/lib/typescript/module/renderers/table/table-utils.d.ts.map +1 -0
  125. package/lib/typescript/module/renderers/table/types.d.ts +24 -0
  126. package/lib/typescript/module/renderers/table/types.d.ts.map +1 -0
  127. package/lib/typescript/module/renderers/table.d.ts +1 -11
  128. package/lib/typescript/module/renderers/table.d.ts.map +1 -1
  129. package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts +14 -2
  130. package/lib/typescript/module/specs/MarkdownSession.nitro.d.ts.map +1 -1
  131. package/lib/typescript/module/theme.d.ts +18 -2
  132. package/lib/typescript/module/theme.d.ts.map +1 -1
  133. package/lib/typescript/module/use-markdown-stream.d.ts +4 -0
  134. package/lib/typescript/module/use-markdown-stream.d.ts.map +1 -1
  135. package/lib/typescript/module/utils/code-highlight.d.ts +8 -0
  136. package/lib/typescript/module/utils/code-highlight.d.ts.map +1 -0
  137. package/lib/typescript/module/utils/incremental-ast.d.ts +12 -0
  138. package/lib/typescript/module/utils/incremental-ast.d.ts.map +1 -0
  139. package/nitrogen/generated/android/NitroMarkdownOnLoad.cpp +38 -26
  140. package/nitrogen/generated/android/NitroMarkdownOnLoad.hpp +13 -4
  141. package/nitrogen/generated/android/c++/JFunc_void_double_double.hpp +75 -0
  142. package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.cpp +49 -34
  143. package/nitrogen/generated/android/c++/JHybridMarkdownSessionSpec.hpp +25 -24
  144. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/Func_void_double_double.kt +80 -0
  145. package/nitrogen/generated/android/kotlin/com/margelo/nitro/com/nitromarkdown/HybridMarkdownSessionSpec.kt +34 -21
  146. package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.cpp +8 -0
  147. package/nitrogen/generated/ios/NitroMarkdown-Swift-Cxx-Bridge.hpp +31 -0
  148. package/nitrogen/generated/ios/c++/HybridMarkdownSessionSpecSwift.hpp +34 -2
  149. package/nitrogen/generated/ios/swift/Func_void_double_double.swift +46 -0
  150. package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec.swift +6 -2
  151. package/nitrogen/generated/ios/swift/HybridMarkdownSessionSpec_cxx.swift +57 -9
  152. package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.cpp +2 -0
  153. package/nitrogen/generated/shared/c++/HybridMarkdownParserSpec.hpp +2 -0
  154. package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.cpp +4 -0
  155. package/nitrogen/generated/shared/c++/HybridMarkdownSessionSpec.hpp +6 -2
  156. package/package.json +9 -5
  157. package/react-native-nitro-markdown.podspec +1 -1
  158. package/src/Markdown.nitro.ts +2 -0
  159. package/src/MarkdownContext.ts +6 -0
  160. package/src/headless.ts +54 -4
  161. package/src/index.ts +10 -0
  162. package/src/markdown-stream.tsx +163 -15
  163. package/src/markdown.tsx +381 -26
  164. package/src/renderers/code.tsx +32 -3
  165. package/src/renderers/table/cell-content.tsx +38 -0
  166. package/src/renderers/table/index.tsx +419 -0
  167. package/src/renderers/table/table-reducer.ts +36 -0
  168. package/src/renderers/table/table-utils.ts +81 -0
  169. package/src/renderers/table/types.ts +24 -0
  170. package/src/renderers/table.tsx +1 -401
  171. package/src/specs/MarkdownSession.nitro.ts +16 -2
  172. package/src/theme.ts +29 -1
  173. package/src/use-markdown-stream.ts +10 -0
  174. package/src/utils/code-highlight.ts +102 -0
  175. package/src/utils/incremental-ast.ts +224 -0
@@ -3,311 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TableRenderer = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _MarkdownContext = require("../MarkdownContext.js");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- const extractTableData = node => {
12
- const headers = [];
13
- const rows = [];
14
- const alignments = [];
15
- for (const child of node.children ?? []) {
16
- if (child.type === "table_head") {
17
- for (const row of child.children ?? []) {
18
- if (row.type === "table_row") {
19
- for (const cell of row.children ?? []) {
20
- headers.push(cell);
21
- alignments.push(cell.align);
22
- }
23
- }
24
- }
25
- } else if (child.type === "table_body") {
26
- for (const row of child.children ?? []) {
27
- if (row.type === "table_row") {
28
- const rowCells = [];
29
- for (const cell of row.children ?? []) {
30
- rowCells.push(cell);
31
- }
32
- rows.push(rowCells);
33
- }
34
- }
35
- }
6
+ Object.defineProperty(exports, "TableRenderer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _index.TableRenderer;
36
10
  }
37
- return {
38
- headers,
39
- rows,
40
- alignments
41
- };
42
- };
43
- const columnWidthsReducer = (state, action) => {
44
- if (action.type === "SET_WIDTHS") return action.payload;
45
- return state;
46
- };
47
- const TableRenderer = ({
48
- node,
49
- Renderer,
50
- style
51
- }) => {
52
- const {
53
- theme
54
- } = (0, _MarkdownContext.useMarkdownContext)();
55
- const {
56
- headers,
57
- rows,
58
- alignments
59
- } = (0, _react.useMemo)(() => extractTableData(node), [node]);
60
- const columnCount = headers.length;
61
- const styles = (0, _react.useMemo)(() => createTableStyles(theme), [theme]);
62
- const [columnWidths, dispatch] = (0, _react.useReducer)(columnWidthsReducer, []);
63
- const measuredWidths = (0, _react.useRef)(new Map());
64
- const measuredCells = (0, _react.useRef)(new Set());
65
- const widthsCalculated = (0, _react.useRef)(false);
66
- const expectedCellKeys = (0, _react.useMemo)(() => {
67
- const keys = [];
68
- headers.forEach((_, colIndex) => {
69
- keys.push(`header-${colIndex}`);
70
- });
71
- rows.forEach((row, rowIndex) => {
72
- row.forEach((_, colIndex) => {
73
- keys.push(`cell-${rowIndex}-${colIndex}`);
74
- });
75
- });
76
- return keys;
77
- }, [headers, rows]);
78
- (0, _react.useEffect)(() => {
79
- measuredWidths.current.clear();
80
- measuredCells.current.clear();
81
- widthsCalculated.current = false;
82
- dispatch({
83
- type: "SET_WIDTHS",
84
- payload: []
85
- });
86
- }, [expectedCellKeys]);
87
- const onCellLayout = (0, _react.useCallback)((cellKey, width) => {
88
- if (widthsCalculated.current) return;
89
- measuredWidths.current.set(cellKey, width);
90
- if (!measuredCells.current.has(cellKey)) {
91
- measuredCells.current.add(cellKey);
92
- }
93
- if (measuredCells.current.size < expectedCellKeys.length) return;
94
- const allCellsMeasured = expectedCellKeys.every(key => measuredCells.current.has(key));
95
- if (!allCellsMeasured) return;
96
- const maxWidths = new Array(columnCount).fill(0);
97
- for (let col = 0; col < columnCount; col++) {
98
- const headerWidth = measuredWidths.current.get(`header-${col}`);
99
- if (headerWidth && headerWidth > 0) {
100
- maxWidths[col] = Math.max(maxWidths[col], headerWidth);
101
- }
102
- for (let row = 0; row < rows.length; row++) {
103
- if (col >= rows[row].length) continue;
104
- const cellWidth = measuredWidths.current.get(`cell-${row}-${col}`);
105
- if (cellWidth && cellWidth > 0) {
106
- maxWidths[col] = Math.max(maxWidths[col], cellWidth);
107
- }
108
- }
109
- maxWidths[col] = Math.max(maxWidths[col] + 8, 60);
110
- }
111
- widthsCalculated.current = true;
112
- dispatch({
113
- type: "SET_WIDTHS",
114
- payload: maxWidths
115
- });
116
- }, [columnCount, expectedCellKeys, rows]);
117
- const getAlignment = index => {
118
- const align = alignments[index];
119
- if (align === "center") return "center";
120
- if (align === "right") return "flex-end";
121
- return "flex-start";
122
- };
123
- if (columnCount === 0) return null;
124
- const hasWidths = columnWidths.length === columnCount;
125
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
126
- style: [styles.container, style],
127
- children: [!hasWidths && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
128
- style: styles.measurementContainer,
129
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
130
- style: styles.measurementRow,
131
- children: headers.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
132
- style: styles.measurementCell,
133
- onLayout: e => {
134
- onCellLayout(`header-${colIndex}`, e.nativeEvent.layout.width);
135
- },
136
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CellContent, {
137
- node: cell,
138
- Renderer: Renderer,
139
- styles: styles
140
- })
141
- }, `measure-header-${colIndex}`))
142
- }), rows.map((row, rowIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
143
- style: styles.measurementRow,
144
- children: row.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
145
- style: styles.measurementCell,
146
- onLayout: e => {
147
- onCellLayout(`cell-${rowIndex}-${colIndex}`, e.nativeEvent.layout.width);
148
- },
149
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CellContent, {
150
- node: cell,
151
- Renderer: Renderer,
152
- styles: styles
153
- })
154
- }, `measure-cell-${rowIndex}-${colIndex}`))
155
- }, `measure-row-${rowIndex}`))]
156
- }), hasWidths ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
157
- horizontal: true,
158
- showsHorizontalScrollIndicator: true,
159
- style: styles.tableScroll,
160
- bounces: false,
161
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
162
- style: styles.table,
163
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
- style: styles.headerRow,
165
- children: headers.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
166
- style: [styles.headerCell, {
167
- width: columnWidths[colIndex],
168
- alignItems: getAlignment(colIndex)
169
- }, colIndex === columnCount - 1 && styles.lastCell],
170
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CellContent, {
171
- node: cell,
172
- Renderer: Renderer,
173
- styles: styles,
174
- textStyle: styles.headerText
175
- })
176
- }, `header-${colIndex}`))
177
- }), rows.map((row, rowIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
178
- style: [styles.bodyRow, rowIndex === rows.length - 1 && styles.lastRow, rowIndex % 2 === 1 && styles.oddRow],
179
- children: row.map((cell, colIndex) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
180
- style: [styles.bodyCell, {
181
- width: columnWidths[colIndex],
182
- alignItems: getAlignment(colIndex)
183
- }, colIndex === columnCount - 1 && styles.lastCell],
184
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CellContent, {
185
- node: cell,
186
- Renderer: Renderer,
187
- styles: styles,
188
- textStyle: styles.cellText
189
- })
190
- }, `cell-${rowIndex}-${colIndex}`))
191
- }, `row-${rowIndex}`))]
192
- })
193
- }) : null]
194
- });
195
- };
196
- exports.TableRenderer = TableRenderer;
197
- const CellContent = ({
198
- node,
199
- Renderer,
200
- styles,
201
- textStyle
202
- }) => {
203
- if (!node.children || node.children.length === 0) {
204
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
205
- style: textStyle,
206
- children: node.content ?? ""
207
- });
208
- }
209
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
210
- style: styles.cellContentWrapper,
211
- children: node.children.map((child, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Renderer, {
212
- node: child,
213
- depth: 0,
214
- inListItem: false,
215
- parentIsText: false
216
- }, idx))
217
- });
218
- };
219
- const createTableStyles = theme => {
220
- const colors = theme?.colors || {};
221
- const borderRadius = theme?.borderRadius || {
222
- m: 8
223
- };
224
- return _reactNative.StyleSheet.create({
225
- container: {
226
- marginVertical: theme.spacing.s
227
- },
228
- measurementContainer: {
229
- position: "absolute",
230
- opacity: 0,
231
- pointerEvents: "none",
232
- left: -9999
233
- },
234
- measurementRow: {
235
- flexDirection: "row"
236
- },
237
- measurementCell: {
238
- paddingVertical: 10,
239
- paddingHorizontal: 12
240
- },
241
- tableScroll: {
242
- flexGrow: 0
243
- },
244
- table: {
245
- borderRadius: borderRadius.m,
246
- overflow: "hidden",
247
- borderWidth: 1,
248
- borderColor: colors.tableBorder || "#374151",
249
- backgroundColor: colors.surface || "#111827"
250
- },
251
- headerRow: {
252
- flexDirection: "row",
253
- backgroundColor: colors.tableHeader || "#1f2937",
254
- borderBottomWidth: 1,
255
- borderBottomColor: colors.tableBorder || "#374151"
256
- },
257
- bodyRow: {
258
- flexDirection: "row",
259
- borderBottomWidth: 1,
260
- borderBottomColor: colors.tableBorder || "#374151"
261
- },
262
- oddRow: {
263
- backgroundColor: colors.tableRowOdd || "rgba(255,255,255,0.02)"
264
- },
265
- lastRow: {
266
- borderBottomWidth: 0
267
- },
268
- headerCell: {
269
- flexShrink: 0,
270
- paddingVertical: 10,
271
- paddingHorizontal: 12,
272
- minWidth: 60,
273
- borderRightWidth: 1,
274
- borderRightColor: colors.tableBorder || "#374151"
275
- },
276
- bodyCell: {
277
- flexShrink: 0,
278
- paddingVertical: 10,
279
- paddingHorizontal: 12,
280
- minWidth: 60,
281
- borderRightWidth: 1,
282
- borderRightColor: colors.tableBorder || "#374151",
283
- justifyContent: "center"
284
- },
285
- lastCell: {
286
- borderRightWidth: 0
287
- },
288
- headerText: {
289
- color: colors.tableHeaderText || "#9ca3af",
290
- fontSize: 12,
291
- fontWeight: "600",
292
- fontFamily: theme.fontFamilies?.regular,
293
- ...(_reactNative.Platform.OS === "android" && {
294
- includeFontPadding: false
295
- })
296
- },
297
- cellText: {
298
- color: colors.text || "#e5e7eb",
299
- fontSize: 14,
300
- lineHeight: 20,
301
- fontFamily: theme.fontFamilies?.regular,
302
- ...(_reactNative.Platform.OS === "android" && {
303
- includeFontPadding: false
304
- })
305
- },
306
- cellContentWrapper: {
307
- flexDirection: "row",
308
- flexWrap: "wrap",
309
- alignItems: "center"
310
- }
311
- });
312
- };
11
+ });
12
+ var _index = require("./table/index.js");
313
13
  //# sourceMappingURL=table.js.map
@@ -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","expectedCellKeys","keys","forEach","_","colIndex","rowIndex","useEffect","current","clear","onCellLayout","useCallback","cellKey","width","set","has","add","size","allCellsMeasured","every","key","maxWidths","Array","fill","col","headerWidth","get","Math","max","cellWidth","getAlignment","index","hasWidths","jsxs","View","container","measurementContainer","jsx","measurementRow","map","measurementCell","onLayout","e","nativeEvent","layout","CellContent","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":["_index","require"],"sourceRoot":"../../../src","sources":["renderers/table.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
@@ -23,7 +23,16 @@ const defaultMarkdownTheme = exports.defaultMarkdownTheme = {
23
23
  tableHeader: "#f8fafc",
24
24
  tableHeaderText: "#64748b",
25
25
  tableRowEven: "transparent",
26
- tableRowOdd: "#f8fafc"
26
+ tableRowOdd: "#f8fafc",
27
+ codeTokenColors: {
28
+ keyword: '#c792ea',
29
+ string: '#c3e88d',
30
+ comment: '#546e7a',
31
+ number: '#f78c6c',
32
+ operator: '#89ddff',
33
+ punctuation: '#89ddff',
34
+ type: '#ffcb6b'
35
+ }
27
36
  },
28
37
  spacing: {
29
38
  xs: 4,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","defaultMarkdownTheme","exports","colors","text","textMuted","heading","link","code","codeBackground","codeLanguage","blockquote","border","surface","surfaceLight","accent","tableBorder","tableHeader","tableHeaderText","tableRowEven","tableRowOdd","spacing","xs","s","m","l","xl","fontSizes","h1","h2","h3","h4","h5","h6","fontFamilies","regular","Platform","select","ios","android","default","undefined","mono","headingWeight","borderRadius","showCodeLanguage","minimalMarkdownTheme","mergeThemes","base","partial"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","defaultMarkdownTheme","exports","colors","text","textMuted","heading","link","code","codeBackground","codeLanguage","blockquote","border","surface","surfaceLight","accent","tableBorder","tableHeader","tableHeaderText","tableRowEven","tableRowOdd","codeTokenColors","keyword","string","comment","number","operator","punctuation","type","spacing","xs","s","m","l","xl","fontSizes","h1","h2","h3","h4","h5","h6","fontFamilies","regular","Platform","select","ios","android","default","undefined","mono","headingWeight","borderRadius","showCodeLanguage","minimalMarkdownTheme","mergeThemes","base","partial"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":"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","ignoreList":[]}
@@ -32,13 +32,21 @@ function useMarkdownSession() {
32
32
  sessionRef.current.highlightPosition = position;
33
33
  }, []);
34
34
  const getSession = (0, _react.useCallback)(() => sessionRef.current, []);
35
+ const reset = (0, _react.useCallback)(text => {
36
+ sessionRef.current.reset(text);
37
+ }, []);
38
+ const replace = (0, _react.useCallback)((from, to, text) => {
39
+ return sessionRef.current.replace(from, to, text);
40
+ }, []);
35
41
  return {
36
42
  getSession,
37
43
  isStreaming,
38
44
  setIsStreaming,
39
45
  stop,
40
46
  clear,
41
- setHighlight
47
+ setHighlight,
48
+ reset,
49
+ replace
42
50
  };
43
51
  }
44
52
  function useStream(timestamps) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","sessionRef","useRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","stop","useCallback","highlightPosition","setHighlight","position","getSession","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAQO,SAASG,kBAAkBA,CAAA,EAAG;EACnC,MAAMC,UAAU,GAAG,IAAAC,aAAM,EAAyB,IAAI,CAAC;EACvD,IAAID,UAAU,CAACE,OAAO,KAAK,IAAI,EAAE;IAC/BF,UAAU,CAACE,OAAO,GAAG,IAAAC,sCAAqB,EAAC,CAAC;EAC9C;EAEA,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAErD,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,OAAO,GAAGR,UAAU,CAACE,OAAQ;IACnC,OAAO,MAAM;MACXM,OAAO,CAACC,KAAK,CAAC,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,IAAI,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC7BN,cAAc,CAAC,KAAK,CAAC;EACvB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMI,KAAK,GAAG,IAAAE,kBAAW,EAAC,MAAM;IAC9BD,IAAI,CAAC,CAAC;IACNV,UAAU,CAACE,OAAO,CAAEO,KAAK,CAAC,CAAC;IAC3BT,UAAU,CAACE,OAAO,CAAEU,iBAAiB,GAAG,CAAC;EAC3C,CAAC,EAAE,CAACF,IAAI,CAAC,CAAC;EAEV,MAAMG,YAAY,GAAG,IAAAF,kBAAW,EAAEG,QAAgB,IAAK;IACrDd,UAAU,CAACE,OAAO,CAAEU,iBAAiB,GAAGE,QAAQ;EAClD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,UAAU,GAAG,IAAAJ,kBAAW,EAAC,MAAMX,UAAU,CAACE,OAAQ,EAAE,EAAE,CAAC;EAE7D,OAAO;IACLa,UAAU;IACVX,WAAW;IACXC,cAAc;IACdK,IAAI;IACJD,KAAK;IACLI;EACF,CAAC;AACH;AAEO,SAASG,SAASA,CAACC,UAAmC,EAAE;EAC7D,MAAMC,MAAM,GAAGnB,kBAAkB,CAAC,CAAC;EACnC,MAAM;IAAEc;EAAa,CAAC,GAAGK,MAAM;EAC/B,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAd,eAAQ,EAAC,KAAK,CAAC;EACjD,MAAMe,WAAW,GAAG,IAAApB,aAAM,EAAoB;IAC5CqB,OAAO,EAAE,EAAE;IACXC,SAAS,EAAE;EACb,CAAC,CAAC;EACF,MAAMC,gBAAgB,GAAG,IAAAvB,aAAM,EAAS,CAAC,CAAC,CAAC;EAE3C,IAAAM,gBAAS,EAAC,MAAM;IACdc,WAAW,CAACnB,OAAO,GAAG,IAAAuB,uCAAuB,EAACR,UAAU,CAAC;IACzDO,gBAAgB,CAACtB,OAAO,GAAG,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACe,UAAU,CAAC,CAAC;EAEhB,MAAMS,IAAI,GAAG,IAAAf,kBAAW,EACrBgB,aAAqB,IAAK;IACzB,IAAI,CAACV,UAAU,EAAE;IAEjB,MAAMW,aAAa,GAAG,IAAAC,wCAAwB,EAC5CR,WAAW,CAACnB,OAAO,EACnByB,aACF,CAAC;IACD,IAAIC,aAAa,KAAKJ,gBAAgB,CAACtB,OAAO,EAAE;IAEhDsB,gBAAgB,CAACtB,OAAO,GAAG0B,aAAa;IACxCf,YAAY,CAACe,aAAa,CAAC;EAC7B,CAAC,EACD,CAACf,YAAY,EAAEI,UAAU,CAC3B,CAAC;EAED,OAAO;IACL,GAAGC,MAAM;IACTC,SAAS;IACTC,YAAY;IACZM;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_MarkdownSession","_streamTimeline","useMarkdownSession","sessionRef","useRef","current","createMarkdownSession","isStreaming","setIsStreaming","useState","useEffect","session","clear","stop","useCallback","highlightPosition","setHighlight","position","getSession","reset","text","replace","from","to","useStream","timestamps","engine","isPlaying","setIsPlaying","timelineRef","entries","monotonic","lastHighlightRef","createTimestampTimeline","sync","currentTimeMs","nextHighlight","resolveHighlightPosition"],"sourceRoot":"../../src","sources":["use-markdown-stream.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultHighlighter = defaultHighlighter;
7
+ const JS_KEYWORDS = new Set(['const', 'let', 'var', 'function', 'return', 'if', 'else', 'for', 'while', 'class', 'extends', 'import', 'export', 'from', 'default', 'new', 'this', 'typeof', 'instanceof', 'null', 'undefined', 'true', 'false', 'async', 'await', 'try', 'catch', 'throw', 'switch', 'case', 'break', 'continue', 'type', 'interface', 'enum', 'as', 'in', 'of', 'void']);
8
+ const PYTHON_KEYWORDS = new Set(['def', 'class', 'import', 'from', 'return', 'if', 'elif', 'else', 'for', 'while', 'try', 'except', 'finally', 'with', 'as', 'pass', 'break', 'continue', 'and', 'or', 'not', 'in', 'is', 'None', 'True', 'False', 'lambda', 'yield', 'async', 'await']);
9
+ const SHELL_KEYWORDS = new Set(['if', 'then', 'else', 'elif', 'fi', 'for', 'do', 'done', 'while', 'case', 'esac', 'function', 'return', 'exit', 'echo', 'export']);
10
+ function getKeywords(language) {
11
+ const lang = language.toLowerCase();
12
+ if (lang === 'python' || lang === 'py') return PYTHON_KEYWORDS;
13
+ if (lang === 'bash' || lang === 'sh' || lang === 'shell' || lang === 'zsh') return SHELL_KEYWORDS;
14
+ return JS_KEYWORDS; // default for js/ts/jsx/tsx/java/c/cpp etc.
15
+ }
16
+
17
+ // Tokenize a single line into tokens
18
+ function tokenizeLine(line, language) {
19
+ const keywords = getKeywords(language);
20
+ const tokens = [];
21
+
22
+ // Full-line comment detection
23
+ const trimmed = line.trimStart();
24
+ const lang = language.toLowerCase();
25
+ const isPythonLike = lang === 'python' || lang === 'py';
26
+ const isShellLike = lang === 'bash' || lang === 'sh' || lang === 'shell' || lang === 'zsh';
27
+ if (trimmed.startsWith('//') || trimmed.startsWith('#') && (isShellLike || isPythonLike)) {
28
+ return [{
29
+ text: line,
30
+ type: 'comment'
31
+ }];
32
+ }
33
+
34
+ // Simple token regex: strings, numbers, operators, identifiers, punctuation
35
+ const tokenRegex = /("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`(?:[^`\\]|\\.)*`)|(\b\d+(?:\.\d+)?\b)|(\/\/[^\n]*|#[^\n]*)|([a-zA-Z_$][a-zA-Z0-9_$]*)|([+\-*/%=<>!&|^~?:]+)|([()\[\]{},;.])|(\s+)|(.)/g;
36
+ let match;
37
+ while ((match = tokenRegex.exec(line)) !== null) {
38
+ const [full, str, num, comment, ident, op, punct] = match;
39
+ if (str) {
40
+ tokens.push({
41
+ text: full,
42
+ type: 'string'
43
+ });
44
+ } else if (num) {
45
+ tokens.push({
46
+ text: full,
47
+ type: 'number'
48
+ });
49
+ } else if (comment) {
50
+ tokens.push({
51
+ text: full,
52
+ type: 'comment'
53
+ });
54
+ } else if (ident) {
55
+ const type = keywords.has(ident) ? 'keyword' : /^[A-Z][A-Za-z0-9]*$/.test(ident) ? 'type' : 'default';
56
+ tokens.push({
57
+ text: full,
58
+ type
59
+ });
60
+ } else if (op) {
61
+ tokens.push({
62
+ text: full,
63
+ type: 'operator'
64
+ });
65
+ } else if (punct) {
66
+ tokens.push({
67
+ text: full,
68
+ type: 'punctuation'
69
+ });
70
+ } else {
71
+ tokens.push({
72
+ text: full,
73
+ type: 'default'
74
+ });
75
+ }
76
+ }
77
+ return tokens;
78
+ }
79
+ function defaultHighlighter(language, code) {
80
+ if (!language || language === 'text' || language === 'plain') {
81
+ return [{
82
+ text: code,
83
+ type: 'default'
84
+ }];
85
+ }
86
+
87
+ // Process line by line, re-inserting newlines as default tokens
88
+ const lines = code.split('\n');
89
+ const result = [];
90
+ for (let i = 0; i < lines.length; i++) {
91
+ result.push(...tokenizeLine(lines[i], language));
92
+ if (i < lines.length - 1) {
93
+ result.push({
94
+ text: '\n',
95
+ type: 'default'
96
+ });
97
+ }
98
+ }
99
+ return result;
100
+ }
101
+ //# sourceMappingURL=code-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["JS_KEYWORDS","Set","PYTHON_KEYWORDS","SHELL_KEYWORDS","getKeywords","language","lang","toLowerCase","tokenizeLine","line","keywords","tokens","trimmed","trimStart","isPythonLike","isShellLike","startsWith","text","type","tokenRegex","match","exec","full","str","num","comment","ident","op","punct","push","has","test","defaultHighlighter","code","lines","split","result","i","length"],"sourceRoot":"../../../src","sources":["utils/code-highlight.ts"],"mappings":"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","ignoreList":[]}