react-native-jet-markdown 0.2.0-beta.7

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 (157) hide show
  1. package/JetMarkdown.podspec +42 -0
  2. package/LICENSE +20 -0
  3. package/README.md +247 -0
  4. package/android/CMakeLists.txt +52 -0
  5. package/android/build.gradle +55 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/cpp/JniBindings.cpp +243 -0
  8. package/android/src/main/java/com/jetmarkdown/JetMarkdownNative.kt +114 -0
  9. package/android/src/main/java/com/jetmarkdown/JetMarkdownPackage.kt +22 -0
  10. package/android/src/main/java/com/jetmarkdown/JetMarkdownView.kt +235 -0
  11. package/android/src/main/java/com/jetmarkdown/JetMarkdownViewManager.kt +75 -0
  12. package/android/src/main/java/com/jetmarkdown/editor/EditorSpans.kt +217 -0
  13. package/android/src/main/java/com/jetmarkdown/editor/JetMarkdownEditorManager.kt +224 -0
  14. package/android/src/main/java/com/jetmarkdown/editor/JetMarkdownEditorView.kt +1736 -0
  15. package/android/src/main/java/com/jetmarkdown/measure/MarkdownMeasurer.kt +54 -0
  16. package/android/src/main/java/com/jetmarkdown/parser/AstDecoder.kt +59 -0
  17. package/android/src/main/java/com/jetmarkdown/parser/MdNode.kt +43 -0
  18. package/android/src/main/java/com/jetmarkdown/render/ContentCache.kt +53 -0
  19. package/android/src/main/java/com/jetmarkdown/render/RenderedContent.kt +318 -0
  20. package/android/src/main/java/com/jetmarkdown/render/SpannableRenderer.kt +658 -0
  21. package/android/src/main/java/com/jetmarkdown/render/spans/ChipSpan.kt +17 -0
  22. package/android/src/main/java/com/jetmarkdown/render/spans/InteractiveSpans.kt +11 -0
  23. package/android/src/main/java/com/jetmarkdown/render/spans/MarkdownLineHeightSpan.kt +59 -0
  24. package/android/src/main/java/com/jetmarkdown/render/spans/RunSpan.kt +40 -0
  25. package/android/src/main/java/com/jetmarkdown/style/Fonts.kt +34 -0
  26. package/android/src/main/java/com/jetmarkdown/style/LayoutStyleSpec.kt +71 -0
  27. package/android/src/main/java/com/jetmarkdown/style/PlatformColorResolver.kt +77 -0
  28. package/android/src/main/java/com/jetmarkdown/style/StyleConfig.kt +80 -0
  29. package/android/src/main/java/com/jetmarkdown/style/TextStyleSpec.kt +61 -0
  30. package/android/src/main/java/com/jetmarkdown/views/BlockStackView.kt +292 -0
  31. package/android/src/main/java/com/jetmarkdown/views/BlockTextView.kt +378 -0
  32. package/android/src/main/java/com/jetmarkdown/views/BoxDrawing.kt +50 -0
  33. package/android/src/main/java/com/jetmarkdown/views/MarkdownHost.kt +12 -0
  34. package/android/src/main/java/com/jetmarkdown/views/MarkdownImageView.kt +113 -0
  35. package/android/src/main/java/com/jetmarkdown/views/NestedHorizontalScrollView.kt +87 -0
  36. package/android/src/main/java/com/jetmarkdown/views/TableBlockView.kt +139 -0
  37. package/cpp/core/Ast.h +85 -0
  38. package/cpp/core/AstJson.cpp +129 -0
  39. package/cpp/core/AstJson.h +12 -0
  40. package/cpp/core/AstSerializer.cpp +40 -0
  41. package/cpp/core/AstSerializer.h +21 -0
  42. package/cpp/core/AstToMarkdown.cpp +549 -0
  43. package/cpp/core/AstToMarkdown.h +16 -0
  44. package/cpp/core/EditorRuns.cpp +640 -0
  45. package/cpp/core/EditorRuns.h +94 -0
  46. package/cpp/core/EditorText.cpp +15 -0
  47. package/cpp/core/EditorText.h +18 -0
  48. package/cpp/core/InlineExtensions.cpp +305 -0
  49. package/cpp/core/InlineExtensions.h +17 -0
  50. package/cpp/core/Parser.cpp +470 -0
  51. package/cpp/core/Parser.h +16 -0
  52. package/cpp/core/Preprocess.cpp +181 -0
  53. package/cpp/core/Preprocess.h +14 -0
  54. package/cpp/md4c/LICENSE +22 -0
  55. package/cpp/md4c/VERSION +1 -0
  56. package/cpp/md4c/md4c.c +6462 -0
  57. package/cpp/md4c/md4c.h +407 -0
  58. package/cpp/react/JetMarkdownEditorShadowNode.cpp +54 -0
  59. package/cpp/react/JetMarkdownEditorShadowNode.h +55 -0
  60. package/cpp/react/JetMarkdownEditorState.h +35 -0
  61. package/cpp/react/JetMarkdownMeasurer.cpp +32 -0
  62. package/cpp/react/JetMarkdownMeasurer.h +41 -0
  63. package/cpp/react/JetMarkdownShadowNode.cpp +100 -0
  64. package/cpp/react/JetMarkdownShadowNode.h +53 -0
  65. package/cpp/react/JetMarkdownState.h +52 -0
  66. package/cpp/react/override/react/renderer/components/JetMarkdownViewSpec/ComponentDescriptors.h +21 -0
  67. package/cpp/tests/parser_tests.cpp +662 -0
  68. package/cpp/tests/run_tests.sh +25 -0
  69. package/ios/JetMarkdownView.h +14 -0
  70. package/ios/JetMarkdownView.mm +468 -0
  71. package/ios/editor/JetMarkdownEditor.h +12 -0
  72. package/ios/editor/JetMarkdownEditor.mm +2002 -0
  73. package/ios/measure/JMDMarkdownMeasurer.h +22 -0
  74. package/ios/measure/JMDMarkdownMeasurer.mm +38 -0
  75. package/ios/render/JMDBlock.h +97 -0
  76. package/ios/render/JMDBlock.m +28 -0
  77. package/ios/render/JMDBlockRenderer.h +17 -0
  78. package/ios/render/JMDBlockRenderer.mm +852 -0
  79. package/ios/render/JMDContentCache.h +17 -0
  80. package/ios/render/JMDContentCache.mm +42 -0
  81. package/ios/render/JMDRenderedContent.h +35 -0
  82. package/ios/render/JMDRenderedContent.mm +274 -0
  83. package/ios/style/JMDFontScale.h +33 -0
  84. package/ios/style/JMDLayoutStyle.h +37 -0
  85. package/ios/style/JMDLayoutStyle.mm +68 -0
  86. package/ios/style/JMDStyleConfig.h +39 -0
  87. package/ios/style/JMDStyleConfig.mm +111 -0
  88. package/ios/style/JMDTextStyle.h +25 -0
  89. package/ios/style/JMDTextStyle.mm +68 -0
  90. package/ios/views/JMDBlockStackView.h +18 -0
  91. package/ios/views/JMDBlockStackView.m +97 -0
  92. package/ios/views/JMDBlockTextView.h +24 -0
  93. package/ios/views/JMDBlockTextView.m +340 -0
  94. package/ios/views/JMDBoxViews.h +33 -0
  95. package/ios/views/JMDBoxViews.m +292 -0
  96. package/ios/views/JMDImageView.h +19 -0
  97. package/ios/views/JMDImageView.m +68 -0
  98. package/ios/views/JMDMarkdownHost.h +16 -0
  99. package/ios/views/JMDTableView.h +16 -0
  100. package/ios/views/JMDTableView.m +172 -0
  101. package/lib/module/JetMarkdownEditor.js +85 -0
  102. package/lib/module/JetMarkdownEditor.js.map +1 -0
  103. package/lib/module/JetMarkdownEditor.native.js +244 -0
  104. package/lib/module/JetMarkdownEditor.native.js.map +1 -0
  105. package/lib/module/JetMarkdownEditorNativeComponent.ts +173 -0
  106. package/lib/module/JetMarkdownView.js +19 -0
  107. package/lib/module/JetMarkdownView.js.map +1 -0
  108. package/lib/module/JetMarkdownView.native.js +44 -0
  109. package/lib/module/JetMarkdownView.native.js.map +1 -0
  110. package/lib/module/JetMarkdownViewNativeComponent.ts +35 -0
  111. package/lib/module/defaultStyles.js +122 -0
  112. package/lib/module/defaultStyles.js.map +1 -0
  113. package/lib/module/index.js +9 -0
  114. package/lib/module/index.js.map +1 -0
  115. package/lib/module/package.json +1 -0
  116. package/lib/module/serializeStyles.js +259 -0
  117. package/lib/module/serializeStyles.js.map +1 -0
  118. package/lib/module/types.js +4 -0
  119. package/lib/module/types.js.map +1 -0
  120. package/lib/module/useJetMarkdownEditor.js +41 -0
  121. package/lib/module/useJetMarkdownEditor.js.map +1 -0
  122. package/lib/typescript/package.json +1 -0
  123. package/lib/typescript/src/JetMarkdownEditor.d.ts +6 -0
  124. package/lib/typescript/src/JetMarkdownEditor.d.ts.map +1 -0
  125. package/lib/typescript/src/JetMarkdownEditor.native.d.ts +6 -0
  126. package/lib/typescript/src/JetMarkdownEditor.native.d.ts.map +1 -0
  127. package/lib/typescript/src/JetMarkdownEditorNativeComponent.d.ts +105 -0
  128. package/lib/typescript/src/JetMarkdownEditorNativeComponent.d.ts.map +1 -0
  129. package/lib/typescript/src/JetMarkdownView.d.ts +3 -0
  130. package/lib/typescript/src/JetMarkdownView.d.ts.map +1 -0
  131. package/lib/typescript/src/JetMarkdownView.native.d.ts +3 -0
  132. package/lib/typescript/src/JetMarkdownView.native.d.ts.map +1 -0
  133. package/lib/typescript/src/JetMarkdownViewNativeComponent.d.ts +28 -0
  134. package/lib/typescript/src/JetMarkdownViewNativeComponent.d.ts.map +1 -0
  135. package/lib/typescript/src/defaultStyles.d.ts +20 -0
  136. package/lib/typescript/src/defaultStyles.d.ts.map +1 -0
  137. package/lib/typescript/src/index.d.ts +7 -0
  138. package/lib/typescript/src/index.d.ts.map +1 -0
  139. package/lib/typescript/src/serializeStyles.d.ts +34 -0
  140. package/lib/typescript/src/serializeStyles.d.ts.map +1 -0
  141. package/lib/typescript/src/types.d.ts +352 -0
  142. package/lib/typescript/src/types.d.ts.map +1 -0
  143. package/lib/typescript/src/useJetMarkdownEditor.d.ts +36 -0
  144. package/lib/typescript/src/useJetMarkdownEditor.d.ts.map +1 -0
  145. package/package.json +150 -0
  146. package/react-native.config.js +11 -0
  147. package/src/JetMarkdownEditor.native.tsx +301 -0
  148. package/src/JetMarkdownEditor.tsx +90 -0
  149. package/src/JetMarkdownEditorNativeComponent.ts +173 -0
  150. package/src/JetMarkdownView.native.tsx +67 -0
  151. package/src/JetMarkdownView.tsx +16 -0
  152. package/src/JetMarkdownViewNativeComponent.ts +35 -0
  153. package/src/defaultStyles.ts +102 -0
  154. package/src/index.tsx +34 -0
  155. package/src/serializeStyles.ts +369 -0
  156. package/src/types.ts +438 -0
  157. package/src/useJetMarkdownEditor.ts +50 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultStyles","mergeStyles","JetMarkdownEditor","JetMarkdownView","useJetMarkdownEditor"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;;AAEA,SAASA,aAAa,EAAEC,WAAW,QAAQ,oBAAiB;AAC5D,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,eAAe,QAAQ,mBAAmB;AA6BnD,SAASC,oBAAoB,QAAQ,2BAAwB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+
3
+ import { processColor, StyleSheet } from "react-native";
4
+ const MAIN_STYLE_KEYS = ["backgroundColor", "padding", "paddingHorizontal", "paddingVertical", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "gap",
5
+ // Base text styles: cascade into every text element via stylesJson.
6
+ "fontSize", "fontWeight", "fontFamily", "lineHeight", "color", "fontVariant", "textDecorationColor", "textDecorationLine", "textDecorationStyle"];
7
+
8
+ /**
9
+ * Splits the container `style` prop: content-affecting keys are measured
10
+ * natively so they travel in stylesJson (`main`); anything else passes
11
+ * through to the host view.
12
+ */
13
+ export function splitContainerStyle(style) {
14
+ const flattened = StyleSheet.flatten(style) ?? {};
15
+ const main = {};
16
+ const hostStyle = {};
17
+ for (const [key, value] of Object.entries(flattened)) {
18
+ if (MAIN_STYLE_KEYS.includes(key)) {
19
+ main[key] = value;
20
+ } else {
21
+ hostStyle[key] = value;
22
+ }
23
+ }
24
+ return {
25
+ hostStyle,
26
+ main
27
+ };
28
+ }
29
+
30
+ /**
31
+ * Main container style extracted from the `style` prop; these keys affect
32
+ * native content layout (and measurement), so they ride along in stylesJson.
33
+ * Text keys become the `base` section: the root of the text-style cascade.
34
+ */
35
+
36
+ function put(out, key, value) {
37
+ if (value !== undefined && value !== null) {
38
+ out[key] = value;
39
+ }
40
+ }
41
+ function putColor(out, key, value) {
42
+ if (value === undefined || value === null) {
43
+ return;
44
+ }
45
+ const processed = processColor(value);
46
+ if (typeof processed === "number") {
47
+ // The Int32 JSON contract wants signed 32-bit; iOS processColor returns
48
+ // unsigned.
49
+ out[key] = processed | 0;
50
+ } else if (typeof processed === "object" && processed !== null) {
51
+ // Platform colors (PlatformColor / DynamicColorIOS): processColor
52
+ // returns a JSON-serializable descriptor ({semantic}/{dynamic} on iOS,
53
+ // {resource_paths} on Android) that the native style parser resolves.
54
+ out[key] = processed;
55
+ }
56
+ }
57
+
58
+ // Expands `padding` shorthands into explicit sides so native code never
59
+ // sees shorthand. Precedence: side > axis (Horizontal/Vertical) > padding.
60
+ function putPadding(out, style, sides) {
61
+ const axis = {
62
+ Bottom: style.paddingVertical,
63
+ Left: style.paddingHorizontal,
64
+ Right: style.paddingHorizontal,
65
+ Top: style.paddingVertical
66
+ };
67
+ for (const side of sides) {
68
+ put(out, `padding${side}`, style[`padding${side}`] ?? axis[side] ?? style.padding);
69
+ }
70
+ }
71
+ function serializeText(style) {
72
+ if (style == null) {
73
+ return;
74
+ }
75
+ const out = {};
76
+ put(out, "fontSize", style.fontSize);
77
+ if (style.fontWeight !== undefined) {
78
+ out.fontWeight = String(style.fontWeight);
79
+ }
80
+ put(out, "fontFamily", style.fontFamily);
81
+ put(out, "lineHeight", style.lineHeight);
82
+ putColor(out, "backgroundColor", style.backgroundColor);
83
+ putColor(out, "color", style.color);
84
+ put(out, "fontVariant", style.fontVariant);
85
+ putColor(out, "textDecorationColor", style.textDecorationColor);
86
+ put(out, "textDecorationLine", style.textDecorationLine);
87
+ put(out, "textDecorationStyle", style.textDecorationStyle);
88
+ return Object.keys(out).length > 0 ? out : undefined;
89
+ }
90
+ function serializeLayout(style) {
91
+ if (style == null) {
92
+ return;
93
+ }
94
+ const out = {};
95
+ putColor(out, "backgroundColor", style.backgroundColor);
96
+ putPadding(out, style, ["Left", "Right", "Top", "Bottom"]);
97
+ put(out, "borderRadius", style.borderRadius);
98
+ put(out, "borderCurve", style.borderCurve);
99
+ for (const side of ["Left", "Right", "Top", "Bottom"]) {
100
+ putColor(out, `border${side}Color`, style[`border${side}Color`] ?? style.borderColor);
101
+ put(out, `border${side}Width`, style[`border${side}Width`] ?? style.borderWidth);
102
+ }
103
+ return Object.keys(out).length > 0 ? out : undefined;
104
+ }
105
+ function merge(...parts) {
106
+ const defined = parts.filter(part => part !== undefined);
107
+ if (defined.length === 0) {
108
+ return;
109
+ }
110
+ return Object.assign({}, ...defined);
111
+ }
112
+
113
+ /**
114
+ * Serializes the styles into the stable JSON string handed to native code.
115
+ * Colors become processed ARGB ints, padding shorthands are expanded, and
116
+ * mention variants become a longest-pattern-first ordered array.
117
+ */
118
+ // biome-ignore lint/complexity/noExcessiveCognitiveComplexity: go away
119
+ export function serializeStyles(styles, main) {
120
+ const out = {};
121
+ if (main != null) {
122
+ const section = {};
123
+ putColor(section, "backgroundColor", main.backgroundColor);
124
+ putPadding(section, main, ["Left", "Right", "Top", "Bottom"]);
125
+ put(section, "gap", main.gap);
126
+ if (Object.keys(section).length > 0) {
127
+ out.main = section;
128
+ }
129
+ // Text keys cascade into every text element as the `base` style. The
130
+ // container's backgroundColor must not ride along, or every text run
131
+ // would inherit it as a highlight.
132
+ const {
133
+ backgroundColor: _containerBackground,
134
+ ...mainText
135
+ } = main;
136
+ put(out, "base", serializeText(mainText));
137
+ }
138
+ if (styles != null) {
139
+ for (const level of ["h1", "h2", "h3", "h4", "h5", "h6"]) {
140
+ put(out, level, serializeText(styles.headings?.[level]));
141
+ }
142
+ put(out, "paragraph", serializeText(styles.paragraph));
143
+ if (styles.image != null) {
144
+ const image = {};
145
+ put(image, "borderRadius", styles.image.borderRadius);
146
+ putColor(image, "backgroundColor", styles.image.backgroundColor);
147
+ put(image, "height", styles.image.height);
148
+ put(image, "maxHeight", styles.image.maxHeight);
149
+ if (Object.keys(image).length > 0) {
150
+ out.image = image;
151
+ }
152
+ }
153
+ if (styles.table != null) {
154
+ const table = serializeLayout(styles.table) ?? {};
155
+ put(table, "minColumnWidth", styles.table.minColumnWidth);
156
+ put(table, "maxColumnWidth", styles.table.maxColumnWidth);
157
+ if (Object.keys(table).length > 0) {
158
+ out.table = table;
159
+ }
160
+ }
161
+ put(out, "tableRow", serializeLayout(styles.tableRow));
162
+ put(out, "tableHeaderRow", serializeLayout(styles.tableHeaderRow));
163
+ put(out, "tableBodyRow", serializeLayout(styles.tableBodyRow));
164
+ if (styles.tableHeaderCell != null) {
165
+ const headerCell = serializeText(styles.tableHeaderCell) ?? {};
166
+ putPadding(headerCell, styles.tableHeaderCell, ["Left", "Right", "Top", "Bottom"]);
167
+ if (Object.keys(headerCell).length > 0) {
168
+ out.tableHeaderCell = headerCell;
169
+ }
170
+ }
171
+ if (styles.tableCell != null) {
172
+ const cell = serializeText(styles.tableCell) ?? {};
173
+ putPadding(cell, styles.tableCell, ["Left", "Right", "Top", "Bottom"]);
174
+ if (Object.keys(cell).length > 0) {
175
+ out.tableCell = cell;
176
+ }
177
+ }
178
+ if (styles.spoiler != null) {
179
+ const spoiler = {};
180
+ putColor(spoiler, "backgroundColor", styles.spoiler.backgroundColor);
181
+ put(spoiler, "borderRadius", styles.spoiler.borderRadius);
182
+ put(spoiler, "borderCurve", styles.spoiler.borderCurve);
183
+ if (Object.keys(spoiler).length > 0) {
184
+ out.spoiler = spoiler;
185
+ }
186
+ }
187
+ put(out, "gap", styles.gap);
188
+ if (styles.divider != null) {
189
+ const divider = {};
190
+ putColor(divider, "color", styles.divider.color);
191
+ put(divider, "height", styles.divider.height);
192
+ if (Object.keys(divider).length > 0) {
193
+ out.divider = divider;
194
+ }
195
+ }
196
+ put(out, "superscript", serializeText(styles.superscript));
197
+ put(out, "subscript", serializeText(styles.subscript));
198
+ put(out, "bold", serializeText(styles.bold));
199
+ put(out, "italic", serializeText(styles.italic));
200
+ put(out, "strikethrough", serializeText(styles.strikethrough));
201
+ if (styles.list != null) {
202
+ const list = {};
203
+ put(list, "marginLeft", styles.list.marginLeft);
204
+ if (Object.keys(list).length > 0) {
205
+ out.list = list;
206
+ }
207
+ }
208
+ if (styles.listMarker != null) {
209
+ const marker = {};
210
+ put(marker, "width", styles.listMarker.width);
211
+ put(marker, "marginLeft", styles.listMarker.marginLeft);
212
+ putColor(marker, "color", styles.listMarker.color);
213
+ if (Object.keys(marker).length > 0) {
214
+ out.listMarker = marker;
215
+ }
216
+ }
217
+ put(out, "listItem", serializeText(styles.listItem));
218
+ if (styles.link != null) {
219
+ const link = serializeText(styles.link) ?? {};
220
+ put(link, "borderRadius", styles.link.borderRadius);
221
+ put(link, "borderCurve", styles.link.borderCurve);
222
+ if (Object.keys(link).length > 0) {
223
+ out.link = link;
224
+ }
225
+ }
226
+ if (styles.mention != null) {
227
+ const {
228
+ variants,
229
+ ...base
230
+ } = styles.mention;
231
+ const mention = serializeText(base) ?? {};
232
+ put(mention, "borderRadius", styles.mention.borderRadius);
233
+ put(mention, "borderCurve", styles.mention.borderCurve);
234
+ if (variants != null) {
235
+ const ordered = Object.keys(variants).sort((a, b) => b.length - a.length || a.localeCompare(b)).map(pattern => [pattern, serializeText(variants[pattern]) ?? {}]);
236
+ if (ordered.length > 0) {
237
+ mention.variants = ordered;
238
+ }
239
+ }
240
+ if (Object.keys(mention).length > 0) {
241
+ out.mention = mention;
242
+ }
243
+ }
244
+ if (styles.inlineCode != null) {
245
+ const code = serializeText(styles.inlineCode) ?? {};
246
+ putColor(code, "backgroundColor", styles.inlineCode.backgroundColor);
247
+ put(code, "borderRadius", styles.inlineCode.borderRadius);
248
+ put(code, "borderCurve", styles.inlineCode.borderCurve);
249
+ putPadding(code, styles.inlineCode, ["Left", "Right"]);
250
+ if (Object.keys(code).length > 0) {
251
+ out.inlineCode = code;
252
+ }
253
+ }
254
+ put(out, "codeBlock", merge(serializeText(styles.codeBlock), serializeLayout(styles.codeBlock)));
255
+ put(out, "blockQuote", merge(serializeText(styles.blockQuote), serializeLayout(styles.blockQuote)));
256
+ }
257
+ return JSON.stringify(out);
258
+ }
259
+ //# sourceMappingURL=serializeStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processColor","StyleSheet","MAIN_STYLE_KEYS","splitContainerStyle","style","flattened","flatten","main","hostStyle","key","value","Object","entries","includes","put","out","undefined","putColor","processed","putPadding","sides","axis","Bottom","paddingVertical","Left","paddingHorizontal","Right","Top","side","padding","serializeText","fontSize","fontWeight","String","fontFamily","lineHeight","backgroundColor","color","fontVariant","textDecorationColor","textDecorationLine","textDecorationStyle","keys","length","serializeLayout","borderRadius","borderCurve","borderColor","borderWidth","merge","parts","defined","filter","part","assign","serializeStyles","styles","section","gap","_containerBackground","mainText","level","headings","paragraph","image","height","maxHeight","table","minColumnWidth","maxColumnWidth","tableRow","tableHeaderRow","tableBodyRow","tableHeaderCell","headerCell","tableCell","cell","spoiler","divider","superscript","subscript","bold","italic","strikethrough","list","marginLeft","listMarker","marker","width","listItem","link","mention","variants","base","ordered","sort","a","b","localeCompare","map","pattern","inlineCode","code","codeBlock","blockQuote","JSON","stringify"],"sourceRoot":"../../src","sources":["serializeStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { useMemo, useRef } from "react";
4
+ /**
5
+ * Convenience hook: a ref to pass to `<JetMarkdownEditor>` plus stable
6
+ * callbacks for every editor command.
7
+ *
8
+ * ```tsx
9
+ * const editor = useJetMarkdownEditor();
10
+ * <JetMarkdownEditor ref={editor.ref} />
11
+ * <Button onPress={editor.focus} />
12
+ * ```
13
+ */
14
+ export function useJetMarkdownEditor() {
15
+ const ref = useRef(null);
16
+ return useMemo(() => ({
17
+ blur: () => ref.current?.blur(),
18
+ focus: () => ref.current?.focus(),
19
+ getMarkdown: () => ref.current?.getMarkdown() ?? Promise.resolve(""),
20
+ insertLink: (url, label) => ref.current?.insertLink(url, label),
21
+ insertMarkdown: markdown => ref.current?.insertMarkdown(markdown),
22
+ insertMention: (trigger, label, url) => ref.current?.insertMention(trigger, label, url),
23
+ ref,
24
+ removeLink: () => ref.current?.removeLink(),
25
+ setSelection: (start, end) => ref.current?.setSelection(start, end),
26
+ setValue: markdown => ref.current?.setValue(markdown),
27
+ toggleBlockQuote: () => ref.current?.toggleBlockQuote(),
28
+ toggleBold: () => ref.current?.toggleBold(),
29
+ toggleCode: () => ref.current?.toggleCode(),
30
+ toggleCodeBlock: () => ref.current?.toggleCodeBlock(),
31
+ toggleHeading: level => ref.current?.toggleHeading(level),
32
+ toggleItalic: () => ref.current?.toggleItalic(),
33
+ toggleOrderedList: () => ref.current?.toggleOrderedList(),
34
+ toggleSpoiler: () => ref.current?.toggleSpoiler(),
35
+ toggleStrikethrough: () => ref.current?.toggleStrikethrough(),
36
+ toggleSubscript: () => ref.current?.toggleSubscript(),
37
+ toggleSuperscript: () => ref.current?.toggleSuperscript(),
38
+ toggleUnorderedList: () => ref.current?.toggleUnorderedList()
39
+ }), []);
40
+ }
41
+ //# sourceMappingURL=useJetMarkdownEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useRef","useJetMarkdownEditor","ref","blur","current","focus","getMarkdown","Promise","resolve","insertLink","url","label","insertMarkdown","markdown","insertMention","trigger","removeLink","setSelection","start","end","setValue","toggleBlockQuote","toggleBold","toggleCode","toggleCodeBlock","toggleHeading","level","toggleItalic","toggleOrderedList","toggleSpoiler","toggleStrikethrough","toggleSubscript","toggleSuperscript","toggleUnorderedList"],"sourceRoot":"../../src","sources":["useJetMarkdownEditor.ts"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAIvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAMC,GAAG,GAAGF,MAAM,CAAuB,IAAI,CAAC;EAE9C,OAAOD,OAAO,CACZ,OAAO;IACLI,IAAI,EAAEA,CAAA,KAAMD,GAAG,CAACE,OAAO,EAAED,IAAI,CAAC,CAAC;IAC/BE,KAAK,EAAEA,CAAA,KAAMH,GAAG,CAACE,OAAO,EAAEC,KAAK,CAAC,CAAC;IACjCC,WAAW,EAAEA,CAAA,KACXJ,GAAG,CAACE,OAAO,EAAEE,WAAW,CAAC,CAAC,IAAIC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC;IACnDC,UAAU,EAAEA,CAACC,GAAW,EAAEC,KAAc,KACtCT,GAAG,CAACE,OAAO,EAAEK,UAAU,CAACC,GAAG,EAAEC,KAAK,CAAC;IACrCC,cAAc,EAAGC,QAAgB,IAC/BX,GAAG,CAACE,OAAO,EAAEQ,cAAc,CAACC,QAAQ,CAAC;IACvCC,aAAa,EAAEA,CAACC,OAAe,EAAEJ,KAAa,EAAED,GAAW,KACzDR,GAAG,CAACE,OAAO,EAAEU,aAAa,CAACC,OAAO,EAAEJ,KAAK,EAAED,GAAG,CAAC;IACjDR,GAAG;IACHc,UAAU,EAAEA,CAAA,KAAMd,GAAG,CAACE,OAAO,EAAEY,UAAU,CAAC,CAAC;IAC3CC,YAAY,EAAEA,CAACC,KAAa,EAAEC,GAAW,KACvCjB,GAAG,CAACE,OAAO,EAAEa,YAAY,CAACC,KAAK,EAAEC,GAAG,CAAC;IACvCC,QAAQ,EAAGP,QAAgB,IAAKX,GAAG,CAACE,OAAO,EAAEgB,QAAQ,CAACP,QAAQ,CAAC;IAC/DQ,gBAAgB,EAAEA,CAAA,KAAMnB,GAAG,CAACE,OAAO,EAAEiB,gBAAgB,CAAC,CAAC;IACvDC,UAAU,EAAEA,CAAA,KAAMpB,GAAG,CAACE,OAAO,EAAEkB,UAAU,CAAC,CAAC;IAC3CC,UAAU,EAAEA,CAAA,KAAMrB,GAAG,CAACE,OAAO,EAAEmB,UAAU,CAAC,CAAC;IAC3CC,eAAe,EAAEA,CAAA,KAAMtB,GAAG,CAACE,OAAO,EAAEoB,eAAe,CAAC,CAAC;IACrDC,aAAa,EAAGC,KAAa,IAAKxB,GAAG,CAACE,OAAO,EAAEqB,aAAa,CAACC,KAAK,CAAC;IACnEC,YAAY,EAAEA,CAAA,KAAMzB,GAAG,CAACE,OAAO,EAAEuB,YAAY,CAAC,CAAC;IAC/CC,iBAAiB,EAAEA,CAAA,KAAM1B,GAAG,CAACE,OAAO,EAAEwB,iBAAiB,CAAC,CAAC;IACzDC,aAAa,EAAEA,CAAA,KAAM3B,GAAG,CAACE,OAAO,EAAEyB,aAAa,CAAC,CAAC;IACjDC,mBAAmB,EAAEA,CAAA,KAAM5B,GAAG,CAACE,OAAO,EAAE0B,mBAAmB,CAAC,CAAC;IAC7DC,eAAe,EAAEA,CAAA,KAAM7B,GAAG,CAACE,OAAO,EAAE2B,eAAe,CAAC,CAAC;IACrDC,iBAAiB,EAAEA,CAAA,KAAM9B,GAAG,CAACE,OAAO,EAAE4B,iBAAiB,CAAC,CAAC;IACzDC,mBAAmB,EAAEA,CAAA,KAAM/B,GAAG,CAACE,OAAO,EAAE6B,mBAAmB,CAAC;EAC9D,CAAC,CAAC,EACF,EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,6 @@
1
+ import { type Ref } from "react";
2
+ import type { JetMarkdownEditorProps, JetMarkdownEditorRef } from "./types.js";
3
+ export declare function JetMarkdownEditor({ allowFontScaling, autoCapitalize, autoCorrect, autoFocus, cursorColor, defaultValue, editable, multiline, onBlur, onChangeMarkdown, onChangeText, onFocus, placeholder, placeholderTextColor, scrollEnabled, selectionColor, style, ref, }: JetMarkdownEditorProps & {
4
+ ref?: Ref<JetMarkdownEditorRef>;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=JetMarkdownEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAA+B,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAG5E,wBAAgB,iBAAiB,CAAC,EAChC,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,KAAK,EACL,GAAG,GACJ,EAAE,sBAAsB,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,+BAgE9D"}
@@ -0,0 +1,6 @@
1
+ import { type Ref } from "react";
2
+ import type { JetMarkdownEditorProps, JetMarkdownEditorRef } from "./types.js";
3
+ export declare function JetMarkdownEditor({ allowFontScaling, autoCapitalize, autoCorrect, autoFocus, cursorColor, defaultValue, editable, mentionTriggers, multiline, onBlur, onChangeMarkdown, onChangeSelection, onChangeState, onChangeText, onFocus, onLinkDetected, onMentionChange, onMentionEnd, onMentionStart, onPaste, placeholder, placeholderTextColor, scrollEnabled, selectionColor, style, styles, ref, }: JetMarkdownEditorProps & {
4
+ ref?: Ref<JetMarkdownEditorRef>;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=JetMarkdownEditor.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownEditor.native.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownEditor.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAKT,MAAM,OAAO,CAAC;AAWf,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EAGrB,MAAM,YAAS,CAAC;AAIjB,wBAAgB,iBAAiB,CAAC,EAChC,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,KAAK,EACL,MAAM,EACN,GAAG,GACJ,EAAE,sBAAsB,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CAAE,+BAsP9D"}
@@ -0,0 +1,105 @@
1
+ import { type CodegenTypes, type ColorValue, type HostComponent, type ViewProps } from "react-native";
2
+ interface TextEvent {
3
+ text: string;
4
+ }
5
+ interface MarkdownEvent {
6
+ markdown: string;
7
+ }
8
+ interface SelectionEvent {
9
+ end: CodegenTypes.Int32;
10
+ start: CodegenTypes.Int32;
11
+ }
12
+ interface StateEvent {
13
+ headingLevel: CodegenTypes.Int32;
14
+ isBlockQuote: boolean;
15
+ isBold: boolean;
16
+ isCodeBlock: boolean;
17
+ isInlineCode: boolean;
18
+ isItalic: boolean;
19
+ isOrderedList: boolean;
20
+ isSpoiler: boolean;
21
+ isStrikethrough: boolean;
22
+ isSubscript: boolean;
23
+ isSuperscript: boolean;
24
+ isUnorderedList: boolean;
25
+ }
26
+ interface UrlEvent {
27
+ url: string;
28
+ }
29
+ interface MentionEvent {
30
+ trigger: string;
31
+ }
32
+ interface MentionQueryEvent {
33
+ query: string;
34
+ trigger: string;
35
+ }
36
+ interface PasteEvent {
37
+ images: {
38
+ height: CodegenTypes.Double;
39
+ url: string;
40
+ width: CodegenTypes.Double;
41
+ }[];
42
+ text: string;
43
+ }
44
+ interface NativeProps extends ViewProps {
45
+ allowFontScaling?: CodegenTypes.WithDefault<boolean, true>;
46
+ autoCapitalize?: CodegenTypes.WithDefault<"none" | "sentences" | "words" | "characters", "sentences">;
47
+ autoCorrect?: CodegenTypes.WithDefault<boolean, true>;
48
+ autoFocus?: CodegenTypes.WithDefault<boolean, false>;
49
+ cursorColor?: ColorValue;
50
+ defaultValue?: string;
51
+ editable?: CodegenTypes.WithDefault<boolean, true>;
52
+ /**
53
+ * Autogrow cap in points; native default 0 = unbounded. Yoga ALSO parses
54
+ * this key out of the raw-props bag as max-height, so the wrapper MUST
55
+ * omit it entirely when unset — an unconditional 0 clamps the node to
56
+ * zero height (dead flex-sized editors). When set, Yoga's clamp equals
57
+ * the autogrow cap, which is exactly the intended geometry.
58
+ */
59
+ maxHeight?: CodegenTypes.WithDefault<CodegenTypes.Double, 0>;
60
+ mentionTriggers?: readonly string[];
61
+ multiline?: CodegenTypes.WithDefault<boolean, true>;
62
+ onEditorBlur?: CodegenTypes.DirectEventHandler<null>;
63
+ onEditorChangeMarkdown?: CodegenTypes.DirectEventHandler<MarkdownEvent>;
64
+ onEditorChangeSelection?: CodegenTypes.DirectEventHandler<SelectionEvent>;
65
+ onEditorChangeState?: CodegenTypes.DirectEventHandler<StateEvent>;
66
+ onEditorChangeText?: CodegenTypes.DirectEventHandler<TextEvent>;
67
+ onEditorFocus?: CodegenTypes.DirectEventHandler<null>;
68
+ onEditorLinkDetected?: CodegenTypes.DirectEventHandler<UrlEvent>;
69
+ onEditorMentionChange?: CodegenTypes.DirectEventHandler<MentionQueryEvent>;
70
+ onEditorMentionEnd?: CodegenTypes.DirectEventHandler<MentionEvent>;
71
+ onEditorMentionStart?: CodegenTypes.DirectEventHandler<MentionEvent>;
72
+ onEditorPaste?: CodegenTypes.DirectEventHandler<PasteEvent>;
73
+ placeholder?: string;
74
+ placeholderTextColor?: ColorValue;
75
+ scrollEnabled?: CodegenTypes.WithDefault<boolean, false>;
76
+ selectionColor?: ColorValue;
77
+ stylesJson?: string;
78
+ }
79
+ type EditorComponentType = HostComponent<NativeProps>;
80
+ interface NativeCommands {
81
+ blur: (viewRef: React.ElementRef<EditorComponentType>) => void;
82
+ focus: (viewRef: React.ElementRef<EditorComponentType>) => void;
83
+ insertLink: (viewRef: React.ElementRef<EditorComponentType>, url: string, label: string) => void;
84
+ insertMarkdown: (viewRef: React.ElementRef<EditorComponentType>, value: string) => void;
85
+ insertMention: (viewRef: React.ElementRef<EditorComponentType>, trigger: string, label: string, url: string) => void;
86
+ removeLink: (viewRef: React.ElementRef<EditorComponentType>) => void;
87
+ setSelection: (viewRef: React.ElementRef<EditorComponentType>, start: CodegenTypes.Int32, end: CodegenTypes.Int32) => void;
88
+ setValue: (viewRef: React.ElementRef<EditorComponentType>, value: string) => void;
89
+ toggleBlockQuote: (viewRef: React.ElementRef<EditorComponentType>) => void;
90
+ toggleBold: (viewRef: React.ElementRef<EditorComponentType>) => void;
91
+ toggleCode: (viewRef: React.ElementRef<EditorComponentType>) => void;
92
+ toggleCodeBlock: (viewRef: React.ElementRef<EditorComponentType>) => void;
93
+ toggleHeading: (viewRef: React.ElementRef<EditorComponentType>, level: CodegenTypes.Int32) => void;
94
+ toggleItalic: (viewRef: React.ElementRef<EditorComponentType>) => void;
95
+ toggleOrderedList: (viewRef: React.ElementRef<EditorComponentType>) => void;
96
+ toggleSpoiler: (viewRef: React.ElementRef<EditorComponentType>) => void;
97
+ toggleStrikethrough: (viewRef: React.ElementRef<EditorComponentType>) => void;
98
+ toggleSubscript: (viewRef: React.ElementRef<EditorComponentType>) => void;
99
+ toggleSuperscript: (viewRef: React.ElementRef<EditorComponentType>) => void;
100
+ toggleUnorderedList: (viewRef: React.ElementRef<EditorComponentType>) => void;
101
+ }
102
+ export declare const Commands: NativeCommands;
103
+ declare const _default: import("react-native/types_generated/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
104
+ export default _default;
105
+ //# sourceMappingURL=JetMarkdownEditorNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownEditorNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownEditorNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { JetMarkdownViewProps } from "./types.js";
2
+ export declare function JetMarkdownView({ allowFontScaling, markdown, style, }: JetMarkdownViewProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=JetMarkdownView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownView.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownView.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAGpD,wBAAgB,eAAe,CAAC,EAC9B,gBAAgB,EAChB,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,+BAMtB"}
@@ -0,0 +1,3 @@
1
+ import type { JetMarkdownViewProps } from "./types.js";
2
+ export declare function JetMarkdownView({ allowFontScaling, markdown, style, styles, images, onLinkPress, onLinkLongPress, onImagePress, }: JetMarkdownViewProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=JetMarkdownView.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownView.native.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownView.native.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,YAAS,CAAC;AAEjB,wBAAgB,eAAe,CAAC,EAC9B,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,eAAe,EACf,YAAY,GACb,EAAE,oBAAoB,+BA0CtB"}
@@ -0,0 +1,28 @@
1
+ import { type CodegenTypes, type ViewProps } from "react-native";
2
+ interface UrlEvent {
3
+ url: string;
4
+ }
5
+ interface ImagePressEvent {
6
+ height: CodegenTypes.Double;
7
+ url: string;
8
+ width: CodegenTypes.Double;
9
+ x: CodegenTypes.Double;
10
+ y: CodegenTypes.Double;
11
+ }
12
+ interface ImageData {
13
+ height: CodegenTypes.Double;
14
+ url: string;
15
+ width: CodegenTypes.Double;
16
+ }
17
+ interface NativeProps extends ViewProps {
18
+ allowFontScaling?: CodegenTypes.WithDefault<boolean, true>;
19
+ images?: readonly ImageData[];
20
+ markdown: string;
21
+ onImagePress?: CodegenTypes.DirectEventHandler<ImagePressEvent>;
22
+ onLinkLongPress?: CodegenTypes.DirectEventHandler<UrlEvent>;
23
+ onLinkPress?: CodegenTypes.DirectEventHandler<UrlEvent>;
24
+ stylesJson?: string;
25
+ }
26
+ declare const _default: import("react-native/types_generated/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
27
+ export default _default;
28
+ //# sourceMappingURL=JetMarkdownViewNativeComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JetMarkdownViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/JetMarkdownViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;IAC3B,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;IACvB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;CACxB;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC;CAC5B;AAED,UAAU,WAAY,SAAQ,SAAS;IACrC,gBAAgB,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAChE,eAAe,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5D,WAAW,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;AAED,wBAAsE"}
@@ -0,0 +1,20 @@
1
+ import type { MarkdownStyles } from "./types.js";
2
+ /**
3
+ * The classic markdown look. The viewer renders fully plain when `styles`
4
+ * is omitted — pass `defaultStyles` for this look as-is, or
5
+ * `mergeStyles({...})` to override parts of it. Tune freely: this object is
6
+ * the single source of truth for the default appearance.
7
+ *
8
+ * Only semantics stay native and are not represented here: bold/italic/
9
+ * strikethrough runs, the monospace font family for code, list markers,
10
+ * table header-row bold, and the spoiler cover fallback.
11
+ */
12
+ export declare const defaultStyles: MarkdownStyles;
13
+ /**
14
+ * Deep-merges the given overrides over {@link defaultStyles}: element
15
+ * sections merge key-by-key, heading levels merge individually, and
16
+ * anything not overridden keeps its default. Hoist the result to module
17
+ * scope (or memoize) like any other `styles` value.
18
+ */
19
+ export declare function mergeStyles(overrides?: MarkdownStyles): MarkdownStyles;
20
+ //# sourceMappingURL=defaultStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultStyles.d.ts","sourceRoot":"","sources":["../../../src/defaultStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,cAoD3B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,GAAE,cAAmB,GAAG,cAAc,CA6B1E"}
@@ -0,0 +1,7 @@
1
+ /** biome-ignore-all lint/performance/noBarrelFile: go away */
2
+ export { defaultStyles, mergeStyles } from "./defaultStyles.js";
3
+ export { JetMarkdownEditor } from "./JetMarkdownEditor";
4
+ export { JetMarkdownView } from "./JetMarkdownView";
5
+ export type { FontVariant, FontWeight, JetMarkdownEditorProps, JetMarkdownEditorRef, JetMarkdownViewProps, MarkdownContainerStyle, MarkdownDividerStyle, MarkdownEditorState, MarkdownHeadingLevel, MarkdownImageData, MarkdownImageEvent, MarkdownImageStyle, MarkdownInlineCodeStyle, MarkdownLayoutStyle, MarkdownListMarkerStyle, MarkdownListStyle, MarkdownMentionEvent, MarkdownMentionQueryEvent, MarkdownMentionStyle, MarkdownPasteEvent, MarkdownSelection, MarkdownSpoilerStyle, MarkdownStyles, MarkdownTableStyle, MarkdownTextStyle, MarkdownUrlEvent, } from "./types.js";
6
+ export { useJetMarkdownEditor } from "./useJetMarkdownEditor.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,WAAW,EACX,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,YAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAAwB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { type ColorValue, type StyleProp } from "react-native";
2
+ import type { MarkdownContainerStyle, MarkdownStyles, MarkdownTextStyle } from "./types.js";
3
+ /**
4
+ * Splits the container `style` prop: content-affecting keys are measured
5
+ * natively so they travel in stylesJson (`main`); anything else passes
6
+ * through to the host view.
7
+ */
8
+ export declare function splitContainerStyle(style: StyleProp<MarkdownContainerStyle>): {
9
+ hostStyle: Record<string, unknown>;
10
+ main: MainStyle;
11
+ };
12
+ /**
13
+ * Main container style extracted from the `style` prop; these keys affect
14
+ * native content layout (and measurement), so they ride along in stylesJson.
15
+ * Text keys become the `base` section: the root of the text-style cascade.
16
+ */
17
+ export interface MainStyle extends MarkdownTextStyle {
18
+ backgroundColor?: ColorValue;
19
+ gap?: number;
20
+ padding?: number;
21
+ paddingBottom?: number;
22
+ paddingHorizontal?: number;
23
+ paddingLeft?: number;
24
+ paddingRight?: number;
25
+ paddingTop?: number;
26
+ paddingVertical?: number;
27
+ }
28
+ /**
29
+ * Serializes the styles into the stable JSON string handed to native code.
30
+ * Colors become processed ARGB ints, padding shorthands are expanded, and
31
+ * mention variants become a longest-pattern-first ordered array.
32
+ */
33
+ export declare function serializeStyles(styles: MarkdownStyles | undefined, main: MainStyle | undefined): string;
34
+ //# sourceMappingURL=serializeStyles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializeStyles.d.ts","sourceRoot":"","sources":["../../../src/serializeStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,sBAAsB,EAEtB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAS,CAAC;AA0BjB;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC,GAAG;IAC7E,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,EAAE,SAAS,CAAC;CACjB,CAYA;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,iBAAiB;IAClD,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAuHD;;;;GAIG;AAEH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,IAAI,EAAE,SAAS,GAAG,SAAS,GAC1B,MAAM,CAqKR"}