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,352 @@
1
+ import type { ColorValue, StyleProp } from "react-native";
2
+ export type FontVariant = "small-caps" | "oldstyle-nums" | "lining-nums" | "tabular-nums" | "proportional-nums" | "stylistic-one" | "stylistic-two" | "stylistic-three" | "stylistic-four" | "stylistic-five" | "stylistic-six" | "stylistic-seven" | "stylistic-eight" | "stylistic-nine" | "stylistic-ten" | "stylistic-eleven" | "stylistic-twelve" | "stylistic-thirteen" | "stylistic-fourteen" | "stylistic-fifteen" | "stylistic-sixteen" | "stylistic-seventeen" | "stylistic-eighteen" | "stylistic-nineteen" | "stylistic-twenty";
3
+ export type FontWeight = "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;
4
+ /**
5
+ * Text styling shared by every text-bearing markdown element.
6
+ */
7
+ export interface MarkdownTextStyle {
8
+ /** Highlight behind the text run. */
9
+ backgroundColor?: ColorValue;
10
+ color?: ColorValue;
11
+ fontFamily?: string;
12
+ fontSize?: number;
13
+ fontVariant?: FontVariant[];
14
+ fontWeight?: FontWeight;
15
+ /** Total line height in points, like React Native's `lineHeight`. */
16
+ lineHeight?: number;
17
+ textDecorationColor?: ColorValue;
18
+ /**
19
+ * Android renders `underline` and `line-through` natively; decoration
20
+ * color/style on Android are drawn for links and mentions, best-effort
21
+ * elsewhere.
22
+ */
23
+ textDecorationLine?: "none" | "underline" | "line-through" | "underline line-through";
24
+ textDecorationStyle?: "solid" | "double" | "dotted" | "dashed";
25
+ }
26
+ /**
27
+ * Box styling shared by every block-level markdown element.
28
+ */
29
+ export interface MarkdownLayoutStyle {
30
+ backgroundColor?: ColorValue;
31
+ borderBottomColor?: ColorValue;
32
+ borderBottomWidth?: number;
33
+ borderColor?: ColorValue;
34
+ /** iOS only; Android always renders circular corners. */
35
+ borderCurve?: "circular" | "continuous";
36
+ borderLeftColor?: ColorValue;
37
+ borderLeftWidth?: number;
38
+ borderRadius?: number;
39
+ borderRightColor?: ColorValue;
40
+ borderRightWidth?: number;
41
+ borderTopColor?: ColorValue;
42
+ borderTopWidth?: number;
43
+ borderWidth?: number;
44
+ padding?: number;
45
+ paddingBottom?: number;
46
+ paddingHorizontal?: number;
47
+ paddingLeft?: number;
48
+ paddingRight?: number;
49
+ paddingTop?: number;
50
+ paddingVertical?: number;
51
+ }
52
+ export interface MarkdownImageStyle {
53
+ backgroundColor?: ColorValue;
54
+ borderRadius?: number;
55
+ /** Fixed rendered height; wins over the image's intrinsic height. */
56
+ height?: number;
57
+ maxHeight?: number;
58
+ }
59
+ export interface MarkdownTableStyle extends MarkdownLayoutStyle {
60
+ /** Upper clamp for computed column widths. Unset = natural width. */
61
+ maxColumnWidth?: number;
62
+ /** Lower clamp for computed column widths. Unset = natural width. */
63
+ minColumnWidth?: number;
64
+ }
65
+ export interface MarkdownSpoilerStyle {
66
+ backgroundColor?: ColorValue;
67
+ /** iOS only; Android always renders circular corners. */
68
+ borderCurve?: "circular" | "continuous";
69
+ borderRadius?: number;
70
+ }
71
+ export interface MarkdownDividerStyle {
72
+ color?: ColorValue;
73
+ height?: number;
74
+ }
75
+ export interface MarkdownListStyle {
76
+ marginLeft?: number;
77
+ }
78
+ export interface MarkdownListMarkerStyle {
79
+ color?: ColorValue;
80
+ marginLeft?: number;
81
+ width?: number;
82
+ }
83
+ /**
84
+ * Mention styling. `variants` maps a regular expression (matched against the
85
+ * mention link's URL) to the style for that mention type. Longest pattern
86
+ * first, first match wins:
87
+ *
88
+ * ```ts
89
+ * mention: {
90
+ * color: 'gray',
91
+ * variants: {
92
+ * '^users://': { color: 'blue' },
93
+ * '^channels://': { color: 'green' },
94
+ * },
95
+ * }
96
+ * ```
97
+ */
98
+ export interface MarkdownMentionStyle extends MarkdownTextStyle {
99
+ /** iOS only; Android always renders circular corners. */
100
+ borderCurve?: "circular" | "continuous";
101
+ /** Rounds the `backgroundColor` chip behind the mention. */
102
+ borderRadius?: number;
103
+ variants?: Record<string, MarkdownTextStyle>;
104
+ }
105
+ /** Link styling; `backgroundColor` renders as a chip behind the link. */
106
+ export interface MarkdownLinkStyle extends MarkdownTextStyle {
107
+ /** iOS only; Android always renders circular corners. */
108
+ borderCurve?: "circular" | "continuous";
109
+ /** Rounds the `backgroundColor` chip behind the link. */
110
+ borderRadius?: number;
111
+ }
112
+ export interface MarkdownInlineCodeStyle extends MarkdownTextStyle {
113
+ backgroundColor?: ColorValue;
114
+ /** iOS only; Android always renders circular corners. */
115
+ borderCurve?: "circular" | "continuous";
116
+ borderRadius?: number;
117
+ padding?: number;
118
+ paddingHorizontal?: number;
119
+ paddingLeft?: number;
120
+ paddingRight?: number;
121
+ }
122
+ export type MarkdownTableCellStyle = MarkdownTextStyle & Pick<MarkdownLayoutStyle, "padding" | "paddingHorizontal" | "paddingVertical" | "paddingLeft" | "paddingRight" | "paddingTop" | "paddingBottom">;
123
+ export type MarkdownHeadingLevel = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
124
+ /**
125
+ * Per-element styles for the markdown viewer.
126
+ */
127
+ export interface MarkdownStyles {
128
+ blockQuote?: MarkdownTextStyle & MarkdownLayoutStyle;
129
+ bold?: MarkdownTextStyle;
130
+ codeBlock?: MarkdownTextStyle & MarkdownLayoutStyle;
131
+ divider?: MarkdownDividerStyle;
132
+ /** Vertical spacing between blocks. The `style` prop's `gap` wins. */
133
+ gap?: number;
134
+ headings?: Partial<Record<MarkdownHeadingLevel, MarkdownTextStyle>>;
135
+ image?: MarkdownImageStyle;
136
+ inlineCode?: MarkdownInlineCodeStyle;
137
+ italic?: MarkdownTextStyle;
138
+ link?: MarkdownLinkStyle;
139
+ list?: MarkdownListStyle;
140
+ listItem?: MarkdownTextStyle;
141
+ listMarker?: MarkdownListMarkerStyle;
142
+ mention?: MarkdownMentionStyle;
143
+ paragraph?: MarkdownTextStyle;
144
+ spoiler?: MarkdownSpoilerStyle;
145
+ strikethrough?: MarkdownTextStyle;
146
+ subscript?: MarkdownTextStyle;
147
+ superscript?: MarkdownTextStyle;
148
+ table?: MarkdownTableStyle;
149
+ /** Body-row overrides layered on top of `tableRow`. */
150
+ tableBodyRow?: MarkdownLayoutStyle;
151
+ tableCell?: MarkdownTableCellStyle;
152
+ /** Header-cell overrides layered on top of `tableCell`. */
153
+ tableHeaderCell?: MarkdownTableCellStyle;
154
+ /** Header-row overrides layered on top of `tableRow`. */
155
+ tableHeaderRow?: MarkdownLayoutStyle;
156
+ /** Base style for every row; header/body variants layer on top. */
157
+ tableRow?: MarkdownLayoutStyle;
158
+ }
159
+ /**
160
+ * Pre-sizing data for images referenced in the markdown. Images whose URL is
161
+ * listed here lay out at their final size immediately (zero layout shift);
162
+ * unknown images show a full-width, 200pt-tall placeholder and resize once
163
+ * loaded.
164
+ */
165
+ export interface MarkdownImageData {
166
+ height: number;
167
+ url: string;
168
+ width: number;
169
+ }
170
+ export interface MarkdownUrlEvent {
171
+ url: string;
172
+ }
173
+ export interface MarkdownImageEvent {
174
+ /** Height of the rendered image, in dp. */
175
+ height: number;
176
+ url: string;
177
+ /** Width of the rendered image, in dp. */
178
+ width: number;
179
+ /** Horizontal position of the rendered image relative to the screen, in dp. */
180
+ x: number;
181
+ /** Vertical position of the rendered image relative to the screen, in dp. */
182
+ y: number;
183
+ }
184
+ /**
185
+ * The main container style: background, padding, and the gap between
186
+ * blocks, plus base text styles that cascade into every text element
187
+ * (paragraphs, headings, lists, tables, quotes) unless overridden
188
+ * per-element via the `styles` prop. Element builtins survive the cascade:
189
+ * heading sizes/weight and the code block's monospace font stay unless
190
+ * their own section overrides them.
191
+ *
192
+ * For outer layout (margin, width, flex), wrap the component in a View.
193
+ */
194
+ export interface MarkdownContainerStyle extends MarkdownTextStyle {
195
+ backgroundColor?: ColorValue;
196
+ /** Vertical spacing between blocks; overrides `styles.gap`. */
197
+ gap?: number;
198
+ /**
199
+ * Editor: caps autogrow — past this height the editor scrolls
200
+ * internally like a textarea. Viewer: plain layout clamp.
201
+ */
202
+ maxHeight?: number;
203
+ padding?: number;
204
+ paddingBottom?: number;
205
+ paddingHorizontal?: number;
206
+ paddingLeft?: number;
207
+ paddingRight?: number;
208
+ paddingTop?: number;
209
+ paddingVertical?: number;
210
+ }
211
+ /** Formatting active at the cursor / selection. */
212
+ export interface MarkdownEditorState {
213
+ /** 0 = no heading. */
214
+ headingLevel: number;
215
+ isBlockQuote: boolean;
216
+ isBold: boolean;
217
+ isCodeBlock: boolean;
218
+ isInlineCode: boolean;
219
+ isItalic: boolean;
220
+ isOrderedList: boolean;
221
+ isSpoiler: boolean;
222
+ isStrikethrough: boolean;
223
+ isSubscript: boolean;
224
+ isSuperscript: boolean;
225
+ isUnorderedList: boolean;
226
+ }
227
+ export interface MarkdownSelection {
228
+ end: number;
229
+ start: number;
230
+ }
231
+ export interface MarkdownMentionEvent {
232
+ trigger: string;
233
+ }
234
+ export interface MarkdownMentionQueryEvent {
235
+ query: string;
236
+ trigger: string;
237
+ }
238
+ /**
239
+ * Paste payload. `text` is present when the clipboard has text (parsed as
240
+ * markdown and inserted by default); `images` when it has images (reported
241
+ * only, never auto-inserted). `preventDefault()` suppresses the default
242
+ * text insertion.
243
+ */
244
+ export interface MarkdownPasteEvent {
245
+ images?: MarkdownImageData[];
246
+ preventDefault(): void;
247
+ text?: string;
248
+ }
249
+ export interface JetMarkdownEditorRef {
250
+ blur(): void;
251
+ focus(): void;
252
+ /** Resolves the markdown as of the latest edit. */
253
+ getMarkdown(): Promise<string>;
254
+ /**
255
+ * Links the selection to `url`; with a collapsed cursor, inserts `label`
256
+ * (or the URL itself) as linked text.
257
+ */
258
+ insertLink(url: string, label?: string): void;
259
+ /** Parses `markdown` and inserts it at the cursor (or over the selection). */
260
+ insertMarkdown(markdown: string): void;
261
+ /**
262
+ * Inserts an atomic mention token (`trigger + label`, e.g. `@ali`)
263
+ * linked to `url` (an app scheme like `users://ali`), replacing any
264
+ * active mention query.
265
+ */
266
+ insertMention(trigger: string, label: string, url: string): void;
267
+ /** Removes the link covering the selection or cursor. */
268
+ removeLink(): void;
269
+ setSelection(start: number, end: number): void;
270
+ /** Replaces the content; the value is parsed as markdown. */
271
+ setValue(markdown: string): void;
272
+ /** Block toggles apply to every line the selection touches. */
273
+ toggleBlockQuote(): void;
274
+ /**
275
+ * Each inline toggle applies to the selection, or arms/disarms the mark
276
+ * for text typed at the collapsed cursor.
277
+ */
278
+ toggleBold(): void;
279
+ toggleCode(): void;
280
+ toggleCodeBlock(): void;
281
+ /** Toggles the heading level (1-6) on the selected lines. */
282
+ toggleHeading(level: number): void;
283
+ toggleItalic(): void;
284
+ toggleOrderedList(): void;
285
+ toggleSpoiler(): void;
286
+ toggleStrikethrough(): void;
287
+ toggleSubscript(): void;
288
+ toggleSuperscript(): void;
289
+ toggleUnorderedList(): void;
290
+ }
291
+ export interface JetMarkdownEditorProps {
292
+ /** Scale text with the system font size setting. Defaults to true. */
293
+ allowFontScaling?: boolean;
294
+ autoCapitalize?: "none" | "sentences" | "words" | "characters";
295
+ autoCorrect?: boolean;
296
+ autoFocus?: boolean;
297
+ /**
298
+ * Caret color. On iOS the caret and selection share one tint, so
299
+ * `selectionColor` wins when both are set. Android 10+ only. Platform
300
+ * colors (`PlatformColor`, `DynamicColorIOS`) are supported.
301
+ */
302
+ cursorColor?: ColorValue;
303
+ /** Initial markdown content, applied once. */
304
+ defaultValue?: string;
305
+ editable?: boolean;
306
+ /** Trigger characters (e.g. '@', '#') that begin a mention. */
307
+ mentionTriggers?: string[];
308
+ multiline?: boolean;
309
+ onBlur?: () => void;
310
+ onChangeMarkdown?: (markdown: string) => void;
311
+ onChangeSelection?: (selection: MarkdownSelection) => void;
312
+ onChangeState?: (state: MarkdownEditorState) => void;
313
+ onChangeText?: (text: string) => void;
314
+ onFocus?: () => void;
315
+ onLinkDetected?: (event: MarkdownUrlEvent) => void;
316
+ onMentionChange?: (event: MarkdownMentionQueryEvent) => void;
317
+ onMentionEnd?: (event: MarkdownMentionEvent) => void;
318
+ onMentionStart?: (event: MarkdownMentionEvent) => void;
319
+ onPaste?: (event: MarkdownPasteEvent) => void;
320
+ placeholder?: string;
321
+ placeholderTextColor?: ColorValue;
322
+ scrollEnabled?: boolean;
323
+ /**
324
+ * Selection highlight color. On iOS this also tints the caret (UIKit
325
+ * shares one tint). Platform colors (`PlatformColor`, `DynamicColorIOS`)
326
+ * are supported.
327
+ */
328
+ selectionColor?: ColorValue;
329
+ /** Same container style contract as the viewer. */
330
+ style?: StyleProp<MarkdownContainerStyle>;
331
+ /** Per-element markdown styles; shared shape with the viewer. */
332
+ styles?: MarkdownStyles;
333
+ }
334
+ export interface JetMarkdownViewProps {
335
+ /** Scale text with the system font size setting. Defaults to true. */
336
+ allowFontScaling?: boolean;
337
+ images?: MarkdownImageData[];
338
+ /** The markdown source to render. */
339
+ markdown: string;
340
+ onImagePress?: (event: MarkdownImageEvent) => void;
341
+ onLinkLongPress?: (event: MarkdownUrlEvent) => void;
342
+ onLinkPress?: (event: MarkdownUrlEvent) => void;
343
+ /**
344
+ * Main container style: `backgroundColor`, `padding*`, `gap`, and base
345
+ * text styles that cascade into every text element unless overridden via
346
+ * `styles`. All keys are measured natively.
347
+ */
348
+ style?: StyleProp<MarkdownContainerStyle>;
349
+ /** Per-element markdown styles. Hoist to module scope or memoize. */
350
+ styles?: MarkdownStyles;
351
+ }
352
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { JetMarkdownEditorRef } from "./types.js";
2
+ /**
3
+ * Convenience hook: a ref to pass to `<JetMarkdownEditor>` plus stable
4
+ * callbacks for every editor command.
5
+ *
6
+ * ```tsx
7
+ * const editor = useJetMarkdownEditor();
8
+ * <JetMarkdownEditor ref={editor.ref} />
9
+ * <Button onPress={editor.focus} />
10
+ * ```
11
+ */
12
+ export declare function useJetMarkdownEditor(): {
13
+ blur: () => void | undefined;
14
+ focus: () => void | undefined;
15
+ getMarkdown: () => Promise<string>;
16
+ insertLink: (url: string, label?: string) => void | undefined;
17
+ insertMarkdown: (markdown: string) => void | undefined;
18
+ insertMention: (trigger: string, label: string, url: string) => void | undefined;
19
+ ref: import("react").RefObject<JetMarkdownEditorRef | null>;
20
+ removeLink: () => void | undefined;
21
+ setSelection: (start: number, end: number) => void | undefined;
22
+ setValue: (markdown: string) => void | undefined;
23
+ toggleBlockQuote: () => void | undefined;
24
+ toggleBold: () => void | undefined;
25
+ toggleCode: () => void | undefined;
26
+ toggleCodeBlock: () => void | undefined;
27
+ toggleHeading: (level: number) => void | undefined;
28
+ toggleItalic: () => void | undefined;
29
+ toggleOrderedList: () => void | undefined;
30
+ toggleSpoiler: () => void | undefined;
31
+ toggleStrikethrough: () => void | undefined;
32
+ toggleSubscript: () => void | undefined;
33
+ toggleSuperscript: () => void | undefined;
34
+ toggleUnorderedList: () => void | undefined;
35
+ };
36
+ //# sourceMappingURL=useJetMarkdownEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useJetMarkdownEditor.d.ts","sourceRoot":"","sources":["../../../src/useJetMarkdownEditor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAEpD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB;;;uBAOb,OAAO,CAAC,MAAM,CAAC;sBAEd,MAAM,UAAU,MAAM;+BAEb,MAAM;6BAER,MAAM,SAAS,MAAM,OAAO,MAAM;;;0BAIrC,MAAM,OAAO,MAAM;yBAEpB,MAAM;;;;;2BAKJ,MAAM;;;;;;;;EAWlC"}
package/package.json ADDED
@@ -0,0 +1,150 @@
1
+ {
2
+ "name": "react-native-jet-markdown",
3
+ "version": "0.2.0-beta.7",
4
+ "description": "High-performance native Markdown renderer and editor for React Native",
5
+ "keywords": [
6
+ "react-native",
7
+ "ios",
8
+ "android"
9
+ ],
10
+ "homepage": "https://github.com/alizahid/react-native-jet-markdown#readme",
11
+ "bugs": {
12
+ "url": "https://github.com/alizahid/react-native-jet-markdown/issues"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/alizahid/react-native-jet-markdown.git"
17
+ },
18
+ "license": "MIT",
19
+ "author": "Ali Zahid <ali.zahid@live.com> (https://github.com/alizahid)",
20
+ "exports": {
21
+ ".": {
22
+ "react-native-jet-markdown-source": "./src/index.tsx",
23
+ "types": "./lib/typescript/src/index.d.ts",
24
+ "default": "./lib/module/index.js"
25
+ },
26
+ "./package.json": "./package.json"
27
+ },
28
+ "main": "./lib/module/index.js",
29
+ "types": "./lib/typescript/src/index.d.ts",
30
+ "files": [
31
+ "src",
32
+ "lib",
33
+ "android",
34
+ "ios",
35
+ "cpp",
36
+ "*.podspec",
37
+ "react-native.config.js",
38
+ "!ios/build",
39
+ "!android/build",
40
+ "!android/gradle",
41
+ "!android/gradlew",
42
+ "!android/gradlew.bat",
43
+ "!android/local.properties",
44
+ "!**/__tests__",
45
+ "!**/__fixtures__",
46
+ "!**/__mocks__",
47
+ "!**/.*"
48
+ ],
49
+ "workspaces": [
50
+ "example"
51
+ ],
52
+ "scripts": {
53
+ "check": "ultracite check",
54
+ "clean": "del-cli lib",
55
+ "example": "bun run --cwd example",
56
+ "fix": "ultracite fix",
57
+ "prepare": "bob build && husky",
58
+ "release": "release-it --only-version",
59
+ "test": "bun test src && cpp/tests/run_tests.sh",
60
+ "typecheck": "tsc"
61
+ },
62
+ "devDependencies": {
63
+ "@biomejs/biome": "2.4.16",
64
+ "@react-native/babel-preset": "0.86.0",
65
+ "@release-it/conventional-changelog": "^11.0.1",
66
+ "@types/bun": "^1.3.14",
67
+ "@types/react": "^19.2.17",
68
+ "del-cli": "^7.0.0",
69
+ "husky": "^9.1.7",
70
+ "lint-staged": "^17.0.8",
71
+ "react": "19.2.3",
72
+ "react-native": "0.86.0",
73
+ "react-native-builder-bob": "^0.43.0",
74
+ "release-it": "^20.2.1",
75
+ "turbo": "^2.10.2",
76
+ "typescript": "^6.0.3",
77
+ "ultracite": "7.8.4"
78
+ },
79
+ "peerDependencies": {
80
+ "react": ">=19.0.0",
81
+ "react-native": ">=0.86.0"
82
+ },
83
+ "packageManager": "bun@1.3.14",
84
+ "publishConfig": {
85
+ "registry": "https://registry.npmjs.org/"
86
+ },
87
+ "codegenConfig": {
88
+ "name": "JetMarkdownViewSpec",
89
+ "type": "components",
90
+ "jsSrcsDir": "src",
91
+ "android": {
92
+ "javaPackageName": "com.jetmarkdown"
93
+ },
94
+ "ios": {
95
+ "components": {
96
+ "JetMarkdownEditor": {
97
+ "className": "JetMarkdownEditor"
98
+ },
99
+ "JetMarkdownView": {
100
+ "className": "JetMarkdownView"
101
+ }
102
+ }
103
+ }
104
+ },
105
+ "create-react-native-library": {
106
+ "type": "fabric-view",
107
+ "languages": "kotlin-objc",
108
+ "tools": [
109
+ "release-it"
110
+ ],
111
+ "version": "0.63.0"
112
+ },
113
+ "react-native-builder-bob": {
114
+ "source": "src",
115
+ "output": "lib",
116
+ "targets": [
117
+ [
118
+ "module",
119
+ {
120
+ "esm": true
121
+ }
122
+ ],
123
+ [
124
+ "typescript",
125
+ {
126
+ "project": "tsconfig.build.json"
127
+ }
128
+ ]
129
+ ]
130
+ },
131
+ "release-it": {
132
+ "git": {
133
+ "commitMessage": "chore: release ${version}",
134
+ "tagName": "v${version}"
135
+ },
136
+ "npm": {
137
+ "publish": true
138
+ },
139
+ "github": {
140
+ "release": true
141
+ },
142
+ "plugins": {
143
+ "@release-it/conventional-changelog": {
144
+ "preset": {
145
+ "name": "angular"
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ dependency: {
3
+ platforms: {
4
+ android: {
5
+ // Custom CMake target: compiles the codegen output plus the shared
6
+ // C++ core and registers the custom measurable shadow node.
7
+ cmakeListsPath: "CMakeLists.txt",
8
+ },
9
+ },
10
+ },
11
+ };