react-native-enriched-markdown-scaffold 1.0.2-scaffold.1 → 1.0.2-scaffold.10

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 (163) hide show
  1. package/android/build.gradle +2 -0
  2. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +18 -0
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +4 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +18 -0
  5. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +4 -0
  6. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +148 -0
  7. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +120 -0
  8. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +30 -0
  9. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +210 -0
  10. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdown.kt +176 -2
  11. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +45 -0
  12. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +35 -0
  13. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +112 -0
  14. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +34 -0
  15. package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +46 -8
  16. package/android/src/main/java/com/swmansion/enriched/markdown/events/CopyRequestEvent.kt +28 -0
  17. package/android/src/main/java/com/swmansion/enriched/markdown/events/LinkLayoutEvent.kt +36 -0
  18. package/android/src/main/java/com/swmansion/enriched/markdown/events/SelectionChangeEvent.kt +43 -0
  19. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +25 -3
  20. package/android/src/main/java/com/swmansion/enriched/markdown/input/editing/InputConnectionWrapper.kt +7 -0
  21. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/LinkRenderer.kt +37 -7
  22. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +5 -1
  23. package/android/src/main/java/com/swmansion/enriched/markdown/spans/CodeBackgroundSpan.kt +13 -99
  24. package/android/src/main/java/com/swmansion/enriched/markdown/spans/InlineChipPainter.kt +140 -0
  25. package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkChipSpans.kt +177 -0
  26. package/android/src/main/java/com/swmansion/enriched/markdown/spans/LinkSpan.kt +1 -6
  27. package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineMathStyle.kt +16 -1
  28. package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkStyle.kt +36 -1
  29. package/android/src/main/java/com/swmansion/enriched/markdown/styles/LinkVariantEntry.kt +7 -3
  30. package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathStyle.kt +3 -0
  31. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +51 -0
  32. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/PasteTextUtils.kt +34 -2
  33. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/conversion/HTMLGenerator.kt +2 -1
  34. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/conversion/MarkdownExtractor.kt +6 -0
  35. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/HeadlessActionMode.kt +88 -0
  36. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkLayoutCollector.kt +100 -0
  37. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +53 -14
  38. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionChangeReporter.kt +232 -0
  39. package/android/src/main/java/com/swmansion/enriched/markdown/views/BlockMenuOptions.kt +64 -0
  40. package/android/src/main/java/com/swmansion/enriched/markdown/views/CodeBlockContainerView.kt +29 -3
  41. package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +30 -7
  42. package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +1 -0
  43. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlineSpan.kt +13 -6
  44. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathMeasureHelper.kt +2 -1
  45. package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +25 -9
  46. package/docs/API_REFERENCE.md +183 -4
  47. package/docs/COPY_OPTIONS.md +40 -0
  48. package/docs/INPUT.md +3 -1
  49. package/docs/MENTIONS.md +8 -1
  50. package/docs/STYLES.md +27 -0
  51. package/docs/TEXT.md +2 -0
  52. package/docs/WEB.md +1 -0
  53. package/ios/EnrichedMarkdown.mm +321 -9
  54. package/ios/EnrichedMarkdownText.mm +203 -6
  55. package/ios/attachments/ENRMMathInlineAttachment+macOS.m +2 -1
  56. package/ios/attachments/ENRMMathInlineAttachment.h +3 -0
  57. package/ios/attachments/ENRMMathInlineAttachment.m +2 -1
  58. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +148 -0
  59. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +120 -0
  60. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +30 -0
  61. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +210 -0
  62. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +50 -2
  63. package/ios/internals/MeasurementCache.h +8 -2
  64. package/ios/math/ENRMRaTeXBridge.swift +23 -5
  65. package/ios/renderer/ENRMMathInlineRenderer.m +1 -0
  66. package/ios/renderer/LinkRenderer.m +47 -15
  67. package/ios/styles/StyleConfig.h +20 -0
  68. package/ios/styles/StyleConfig.mm +84 -0
  69. package/ios/utils/CodeBackground.m +3 -65
  70. package/ios/utils/ENRMBlockMenu.h +66 -0
  71. package/ios/utils/ENRMChipDrawing.h +24 -0
  72. package/ios/utils/ENRMChipDrawing.m +83 -0
  73. package/ios/utils/ENRMLinkChip.h +70 -0
  74. package/ios/utils/ENRMLinkChip.m +213 -0
  75. package/ios/utils/ENRMLinkLayout.h +50 -0
  76. package/ios/utils/ENRMLinkLayout.m +45 -0
  77. package/ios/utils/ENRMSelectionChange.h +120 -0
  78. package/ios/utils/ENRMSelectionChange.m +282 -0
  79. package/ios/utils/EditMenuUtils+macOS.m +4 -1
  80. package/ios/utils/EditMenuUtils.h +35 -6
  81. package/ios/utils/EditMenuUtils.m +171 -15
  82. package/ios/utils/HTMLGenerator.m +2 -1
  83. package/ios/utils/MarkdownAccessibilityElementBuilder.m +3 -1
  84. package/ios/utils/MarkdownExtractor.m +2 -1
  85. package/ios/utils/RTFExportUtils.m +2 -0
  86. package/ios/utils/StylePropsUtils.h +47 -1
  87. package/ios/utils/TextViewLayoutManager.mm +3 -0
  88. package/ios/views/ENRMCodeBlockContainerView.h +16 -2
  89. package/ios/views/ENRMCodeBlockContainerView.m +22 -19
  90. package/ios/views/ENRMMathContainerView.h +11 -0
  91. package/ios/views/ENRMMathContainerView.m +17 -20
  92. package/ios/views/TableContainerView.h +14 -0
  93. package/ios/views/TableContainerView.m +34 -18
  94. package/lib/module/EnrichedMarkdownNativeComponent.ts +138 -1
  95. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +138 -1
  96. package/lib/module/index.js.map +1 -1
  97. package/lib/module/jest/index.js +14 -0
  98. package/lib/module/jest/index.js.map +1 -1
  99. package/lib/module/native/EnrichedMarkdownText.js +169 -11
  100. package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
  101. package/lib/module/normalizeMarkdownStyle.js +17 -4
  102. package/lib/module/normalizeMarkdownStyle.js.map +1 -1
  103. package/lib/module/normalizeMarkdownStyle.web.js +17 -4
  104. package/lib/module/normalizeMarkdownStyle.web.js.map +1 -1
  105. package/lib/module/web/EnrichedMarkdownText.js +6 -3
  106. package/lib/module/web/EnrichedMarkdownText.js.map +1 -1
  107. package/lib/module/web/renderers/InlineRenderers.js +96 -3
  108. package/lib/module/web/renderers/InlineRenderers.js.map +1 -1
  109. package/lib/module/web/styles.js +18 -0
  110. package/lib/module/web/styles.js.map +1 -1
  111. package/lib/module/web/utils.js +13 -0
  112. package/lib/module/web/utils.js.map +1 -1
  113. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +123 -2
  114. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  115. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +123 -2
  116. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
  117. package/lib/typescript/src/index.d.ts +2 -2
  118. package/lib/typescript/src/index.d.ts.map +1 -1
  119. package/lib/typescript/src/index.web.d.ts +1 -1
  120. package/lib/typescript/src/index.web.d.ts.map +1 -1
  121. package/lib/typescript/src/jest/index.d.ts +1 -1
  122. package/lib/typescript/src/jest/index.d.ts.map +1 -1
  123. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +5 -5
  124. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -1
  125. package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -1
  126. package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -1
  127. package/lib/typescript/src/types/MarkdownStyle.d.ts +50 -5
  128. package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
  129. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +12 -0
  130. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
  131. package/lib/typescript/src/types/MarkdownTextProps.d.ts +144 -11
  132. package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
  133. package/lib/typescript/src/types/MarkdownTextProps.web.d.ts +41 -1
  134. package/lib/typescript/src/types/MarkdownTextProps.web.d.ts.map +1 -1
  135. package/lib/typescript/src/types/events.d.ts +66 -0
  136. package/lib/typescript/src/types/events.d.ts.map +1 -1
  137. package/lib/typescript/src/web/EnrichedMarkdownText.d.ts +1 -1
  138. package/lib/typescript/src/web/EnrichedMarkdownText.d.ts.map +1 -1
  139. package/lib/typescript/src/web/renderers/InlineRenderers.d.ts.map +1 -1
  140. package/lib/typescript/src/web/styles.d.ts.map +1 -1
  141. package/lib/typescript/src/web/types.d.ts +4 -0
  142. package/lib/typescript/src/web/types.d.ts.map +1 -1
  143. package/lib/typescript/src/web/utils.d.ts +4 -0
  144. package/lib/typescript/src/web/utils.d.ts.map +1 -1
  145. package/package.json +1 -1
  146. package/src/EnrichedMarkdownNativeComponent.ts +138 -1
  147. package/src/EnrichedMarkdownTextNativeComponent.ts +138 -1
  148. package/src/index.tsx +6 -0
  149. package/src/index.web.tsx +5 -1
  150. package/src/jest/index.tsx +22 -1
  151. package/src/native/EnrichedMarkdownText.tsx +220 -9
  152. package/src/normalizeMarkdownStyle.ts +15 -0
  153. package/src/normalizeMarkdownStyle.web.ts +13 -0
  154. package/src/types/MarkdownStyle.ts +51 -5
  155. package/src/types/MarkdownStyleInternal.ts +12 -0
  156. package/src/types/MarkdownTextProps.ts +151 -11
  157. package/src/types/MarkdownTextProps.web.ts +43 -1
  158. package/src/types/events.ts +69 -0
  159. package/src/web/EnrichedMarkdownText.tsx +10 -3
  160. package/src/web/renderers/InlineRenderers.tsx +111 -3
  161. package/src/web/styles.ts +25 -0
  162. package/src/web/types.ts +4 -0
  163. package/src/web/utils.ts +8 -0
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  codegenNativeComponent,
3
+ codegenNativeCommands,
3
4
  type ViewProps,
4
5
  type CodegenTypes,
5
6
  type ColorValue,
7
+ type HostComponent,
6
8
  } from 'react-native';
9
+ import type React from 'react';
7
10
 
8
11
  // All block styles extend this interface
9
12
  interface BaseBlockStyleInternal {
@@ -75,6 +78,11 @@ interface LinkStyleInternal {
75
78
  color: ColorValue;
76
79
  underline: boolean;
77
80
  backgroundColor: ColorValue;
81
+ borderRadius: CodegenTypes.Float;
82
+ paddingHorizontal: CodegenTypes.Float;
83
+ paddingVertical: CodegenTypes.Float;
84
+ borderColor: ColorValue;
85
+ borderWidth: CodegenTypes.Float;
78
86
  }
79
87
 
80
88
  // Mirrors EnrichedMarkdownNativeComponent.ts — kept in sync manually (codegen spec files must be self-contained).
@@ -83,6 +91,11 @@ interface LinkVariantEntryInternal {
83
91
  color: ColorValue;
84
92
  underline: boolean;
85
93
  backgroundColor: ColorValue;
94
+ borderRadius: CodegenTypes.Float;
95
+ paddingHorizontal: CodegenTypes.Float;
96
+ paddingVertical: CodegenTypes.Float;
97
+ borderColor: ColorValue;
98
+ borderWidth: CodegenTypes.Float;
86
99
  }
87
100
 
88
101
  interface StrongStyleInternal {
@@ -169,12 +182,14 @@ interface MathStyleInternal {
169
182
  marginBottom: CodegenTypes.Float;
170
183
  textAlign: string;
171
184
  fontWeight: string;
185
+ glyphOverflow: CodegenTypes.Float;
172
186
  }
173
187
 
174
188
  interface InlineMathStyleInternal {
175
189
  color: ColorValue;
176
190
  paddingVertical: CodegenTypes.Float;
177
191
  fontWeight: string;
192
+ glyphOverflow: CodegenTypes.Float;
178
193
  }
179
194
 
180
195
  interface SpoilerParticlesStyleInternal {
@@ -246,6 +261,59 @@ export interface LinkLongPressEvent {
246
261
  url: string;
247
262
  }
248
263
 
264
+ /**
265
+ * `fragments` holds one entry per laid-out line of a link (a wrapping link
266
+ * yields several). Rects are in dp, relative to the native view's origin, and
267
+ * cover the drawn chip (glyphs + padding). Flattened rather than nested per
268
+ * link, and written inline, because codegen only accepts inline object
269
+ * literals as event array elements.
270
+ */
271
+ export interface LinkLayoutEvent {
272
+ fragments: {
273
+ linkIndex: CodegenTypes.Int32;
274
+ url: string;
275
+ text: string;
276
+ x: CodegenTypes.Double;
277
+ y: CodegenTypes.Double;
278
+ width: CodegenTypes.Double;
279
+ height: CodegenTypes.Double;
280
+ }[];
281
+ }
282
+
283
+ /**
284
+ * Current text selection, or a long-pressed table / math / code block while
285
+ * `contextMenuHidden` is on. `active: false` means the selection was cleared
286
+ * (every other field is then empty / zero). Rects are in dp / pt, relative to
287
+ * the native view's origin; rect objects are written inline because codegen
288
+ * only accepts inline object literals in event payloads.
289
+ */
290
+ export interface SelectionChangeEvent {
291
+ active: boolean;
292
+ source: string;
293
+ text: string;
294
+ markdown: string;
295
+ whole: boolean;
296
+ rect: {
297
+ x: CodegenTypes.Double;
298
+ y: CodegenTypes.Double;
299
+ width: CodegenTypes.Double;
300
+ height: CodegenTypes.Double;
301
+ };
302
+ startRect: {
303
+ x: CodegenTypes.Double;
304
+ y: CodegenTypes.Double;
305
+ width: CodegenTypes.Double;
306
+ height: CodegenTypes.Double;
307
+ };
308
+ endRect: {
309
+ x: CodegenTypes.Double;
310
+ y: CodegenTypes.Double;
311
+ width: CodegenTypes.Double;
312
+ height: CodegenTypes.Double;
313
+ };
314
+ adjusting: boolean;
315
+ }
316
+
249
317
  export interface TaskListItemPressEvent {
250
318
  index: CodegenTypes.Int32;
251
319
  checked: boolean;
@@ -257,6 +325,14 @@ export interface CopyPressEvent {
257
325
  language: string;
258
326
  }
259
327
 
328
+ export interface CopyRequestEvent {
329
+ // 'selection' | 'math' | 'table' | 'code'
330
+ source: string;
331
+ markdown: string;
332
+ text: string;
333
+ whole: boolean;
334
+ }
335
+
260
336
  export interface ContextMenuItemConfig {
261
337
  text: string;
262
338
  icon?: string;
@@ -277,6 +353,16 @@ export interface SelectionMenuConfig {
277
353
  // Precomputed plural templates indexed by image count (0..100). Empty when no
278
354
  // pluralLabels are set; native then uses copyImageUrlLabel/copyImageUrlsLabel.
279
355
  copyImageUrlPluralTemplates: ReadonlyArray<string>;
356
+ // false removes the Copy item from the text and block menus.
357
+ copyEnabled: boolean;
358
+ // true: Copy writes Markdown (plain text) instead of rich text / raw block content.
359
+ copyFormatMarkdown: boolean;
360
+ // true: the text selection menu drops every system-provided item.
361
+ systemItemsNone: boolean;
362
+ // false hides the copy button in the code block header.
363
+ codeBlockCopyButton: boolean;
364
+ // true: the Copy item emits onCopyRequest instead of writing the clipboard.
365
+ interceptCopy: boolean;
280
366
  }
281
367
 
282
368
  export interface OnContextMenuItemPressEvent {
@@ -383,6 +469,30 @@ export interface NativeProps extends ViewProps {
383
469
  * - Android: Handles long press gestures on links.
384
470
  */
385
471
  onLinkLongPress?: CodegenTypes.BubblingEventHandler<LinkLongPressEvent>;
472
+ /**
473
+ * When true, the view reports the laid-out rects of every link through
474
+ * `onLinkLayout` (after each render and whenever its size changes).
475
+ * Set by the JS wrapper only when `renderLinkDecoration` is provided.
476
+ * @default false
477
+ */
478
+ emitLinkLayout?: CodegenTypes.WithDefault<boolean, false>;
479
+ /**
480
+ * Fired with the rects of every link fragment while `emitLinkLayout` is on.
481
+ * Deduplicated: not re-fired when the payload is unchanged.
482
+ */
483
+ onLinkLayout?: CodegenTypes.DirectEventHandler<LinkLayoutEvent>;
484
+ /**
485
+ * When true, the view reports selection changes (and, with
486
+ * `contextMenuHidden`, block long-presses) through `onSelectionChange`.
487
+ * Set by the JS wrapper only when `onSelectionChange` is provided.
488
+ * @default false
489
+ */
490
+ emitSelectionChange?: CodegenTypes.WithDefault<boolean, false>;
491
+ /**
492
+ * Fired while `emitSelectionChange` is on: coalesced to one event per frame,
493
+ * deduplicated, and `active: false` once the selection is gone.
494
+ */
495
+ onSelectionChange?: CodegenTypes.DirectEventHandler<SelectionChangeEvent>;
386
496
  /**
387
497
  * Callback fired when a task list checkbox is tapped.
388
498
  * Receives the 0-based task index, current checked state, and the item's plain text.
@@ -403,6 +513,12 @@ export interface NativeProps extends ViewProps {
403
513
  * action. Receives the copied code and its language.
404
514
  */
405
515
  onCopyPress?: CodegenTypes.BubblingEventHandler<CopyPressEvent>;
516
+ /**
517
+ * Fired instead of writing the clipboard when the Copy item of the text
518
+ * selection menu or a table / math / code block menu is pressed while
519
+ * `selectionMenuConfig.interceptCopy` is set.
520
+ */
521
+ onCopyRequest?: CodegenTypes.BubblingEventHandler<CopyRequestEvent>;
406
522
  /**
407
523
  * Controls whether the system link preview is shown on long press (iOS only).
408
524
  *
@@ -416,6 +532,16 @@ export interface NativeProps extends ViewProps {
416
532
  * @default true
417
533
  */
418
534
  enableLinkPreview?: CodegenTypes.WithDefault<boolean, true>;
535
+ /**
536
+ * When `true`, long-pressing a link selects its label and shows the
537
+ * selection edit menu instead of the system link preview (iOS only).
538
+ * Takes precedence over `enableLinkPreview` and `onLinkLongPress`.
539
+ *
540
+ * Android: No-op.
541
+ *
542
+ * @default false
543
+ */
544
+ linkLongPressSelects?: CodegenTypes.WithDefault<boolean, false>;
419
545
  /**
420
546
  * - iOS: Controls text selection and link previews on long press.
421
547
  * - Android: Controls text selection.
@@ -529,6 +655,17 @@ export interface NativeProps extends ViewProps {
529
655
  writingDirection?: CodegenTypes.WithDefault<string, 'first-strong'>;
530
656
  }
531
657
 
658
+ type ComponentType = HostComponent<NativeProps>;
659
+
660
+ interface NativeCommands {
661
+ /** Clears the text selection (and any active block) and fires `onSelectionChange` with `active: false`. */
662
+ clearSelection: (viewRef: React.ElementRef<ComponentType>) => void;
663
+ }
664
+
665
+ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
666
+ supportedCommands: ['clearSelection'],
667
+ });
668
+
532
669
  export default codegenNativeComponent<NativeProps>('EnrichedMarkdownText', {
533
670
  interfaceOnly: true,
534
- });
671
+ }) as HostComponent<NativeProps>;
@@ -1 +1 @@
1
- {"version":3,"names":["default","EnrichedMarkdownText","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","EnrichedMarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,kCAA+B;AAqB/E,SACEC,4BAA4B,EAC5BC,0BAA0B,QACrB,iCAA8B;AAErC,SAASC,yBAAyB,QAAQ,gCAA6B","ignoreList":[]}
1
+ {"version":3,"names":["default","EnrichedMarkdownText","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","EnrichedMarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,kCAA+B;AA2B/E,SACEC,4BAA4B,EAC5BC,0BAA0B,QACrB,iCAA8B;AAErC,SAASC,yBAAyB,QAAQ,gCAA6B","ignoreList":[]}
@@ -143,6 +143,7 @@ export const EnrichedMarkdownTextInput = ({
143
143
  });
144
144
  };
145
145
  export const EnrichedMarkdownText = ({
146
+ ref,
146
147
  markdown,
147
148
  containerStyle,
148
149
  testID,
@@ -156,7 +157,9 @@ export const EnrichedMarkdownText = ({
156
157
  onLinkPress: _onLinkPress,
157
158
  onLinkLongPress: _onLinkLongPress,
158
159
  onTaskListItemPress: _onTaskListItemPress,
160
+ onSelectionChange: _onSelectionChange,
159
161
  enableLinkPreview: _enableLinkPreview,
162
+ linkLongPressSelects: _linkLongPressSelects,
160
163
  selectable: _selectable,
161
164
  md4cFlags: _md4cFlags,
162
165
  allowFontScaling: _allowFontScaling,
@@ -176,6 +179,17 @@ export const EnrichedMarkdownText = ({
176
179
  lineBreakStrategyIOS: _lineBreakStrategyIOS,
177
180
  writingDirection: _writingDirection
178
181
  }) => {
182
+ const instanceRef = useRef(null);
183
+ if (instanceRef.current === null) {
184
+ instanceRef.current = {
185
+ // No native selection under Jest; the mock records the call.
186
+ clearSelection: spy(() => {}),
187
+ measure: spy(callback => callback(0, 0, 0, 0, 0, 0)),
188
+ measureInWindow: spy(callback => callback(0, 0, 0, 0)),
189
+ measureLayout: spy((_relativeToNativeNode, onSuccess) => onSuccess(0, 0, 0, 0))
190
+ };
191
+ }
192
+ useImperativeHandle(ref, () => instanceRef.current);
179
193
  return /*#__PURE__*/_jsx(Text, {
180
194
  style: containerStyle,
181
195
  testID: testID,
@@ -1 +1 @@
1
- {"version":3,"names":["useImperativeHandle","useRef","useState","Text","TextInput","jsx","_jsx","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","spy","impl","jest","fn","EMPTY_CARET_RECT","x","y","width","height","EnrichedMarkdownTextInput","ref","defaultValue","onChangeText","onChangeMarkdown","onFocus","onBlur","editable","placeholder","placeholderTextColor","autoFocus","multiline","scrollEnabled","style","testID","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","accessibilityState","nativeID","markdownStyle","_markdownStyle","cursorColor","_cursorColor","selectionColor","_selectionColor","autoCapitalize","_autoCapitalize","onChangeSelection","_onChangeSelection","onChangeState","_onChangeState","onKeyPress","_onKeyPress","onCaretRectChange","_onCaretRectChange","onLinkDetected","_onLinkDetected","mentionIndicators","_mentionIndicators","onStartMention","_onStartMention","onChangeMention","_onChangeMention","onEndMention","_onEndMention","contextMenuItems","_contextMenuItems","selectionMenuConfig","_selectionMenuConfig","formatMenuConfig","_formatMenuConfig","linkRegex","_linkRegex","writingDirection","_writingDirection","text","setText","textRef","inputRef","applyText","next","current","handleChangeText","instanceRef","focus","blur","measure","callback","measureInWindow","measureLayout","_relativeToNativeNode","onSuccess","setValue","markdown","setSelection","_start","_end","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","toggleHeading","_level","toggleUnorderedList","toggleOrderedList","indentList","outdentList","setLink","_url","insertLink","_text","insertText","insertMention","_displayText","startMention","_indicator","removeLink","copyToClipboard","resolvePaste","_markdown","insertMath","_latex","_options","updateMath","removeMath","getMarkdown","Promise","resolve","getCaretRect","value","EnrichedMarkdownText","containerStyle","onLinkPress","_onLinkPress","onLinkLongPress","_onLinkLongPress","onTaskListItemPress","_onTaskListItemPress","enableLinkPreview","_enableLinkPreview","selectable","_selectable","md4cFlags","_md4cFlags","allowFontScaling","_allowFontScaling","maxFontSizeMultiplier","_maxFontSizeMultiplier","allowTrailingMargin","_allowTrailingMargin","flavor","_flavor","streamingAnimation","_streamingAnimation","streamingConfig","_streamingConfig","spoilerOverlay","_spoilerOverlay","imageRequestHeaders","_imageRequestHeaders","accessibilityLabels","_accessibilityLabels","selectionHandleColor","_selectionHandleColor","textBreakStrategy","_textBreakStrategy","lineBreakStrategyIOS","_lineBreakStrategyIOS","children"],"sourceRoot":"../../../src","sources":["jest/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useImperativeHandle","useRef","useState","Text","TextInput","jsx","_jsx","DEFAULT_ACCESSIBILITY_LABELS","resolveAccessibilityLabels","spy","impl","jest","fn","EMPTY_CARET_RECT","x","y","width","height","EnrichedMarkdownTextInput","ref","defaultValue","onChangeText","onChangeMarkdown","onFocus","onBlur","editable","placeholder","placeholderTextColor","autoFocus","multiline","scrollEnabled","style","testID","accessible","accessibilityLabel","accessibilityHint","accessibilityRole","accessibilityState","nativeID","markdownStyle","_markdownStyle","cursorColor","_cursorColor","selectionColor","_selectionColor","autoCapitalize","_autoCapitalize","onChangeSelection","_onChangeSelection","onChangeState","_onChangeState","onKeyPress","_onKeyPress","onCaretRectChange","_onCaretRectChange","onLinkDetected","_onLinkDetected","mentionIndicators","_mentionIndicators","onStartMention","_onStartMention","onChangeMention","_onChangeMention","onEndMention","_onEndMention","contextMenuItems","_contextMenuItems","selectionMenuConfig","_selectionMenuConfig","formatMenuConfig","_formatMenuConfig","linkRegex","_linkRegex","writingDirection","_writingDirection","text","setText","textRef","inputRef","applyText","next","current","handleChangeText","instanceRef","focus","blur","measure","callback","measureInWindow","measureLayout","_relativeToNativeNode","onSuccess","setValue","markdown","setSelection","_start","_end","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","toggleHeading","_level","toggleUnorderedList","toggleOrderedList","indentList","outdentList","setLink","_url","insertLink","_text","insertText","insertMention","_displayText","startMention","_indicator","removeLink","copyToClipboard","resolvePaste","_markdown","insertMath","_latex","_options","updateMath","removeMath","getMarkdown","Promise","resolve","getCaretRect","value","EnrichedMarkdownText","containerStyle","onLinkPress","_onLinkPress","onLinkLongPress","_onLinkLongPress","onTaskListItemPress","_onTaskListItemPress","onSelectionChange","_onSelectionChange","enableLinkPreview","_enableLinkPreview","linkLongPressSelects","_linkLongPressSelects","selectable","_selectable","md4cFlags","_md4cFlags","allowFontScaling","_allowFontScaling","maxFontSizeMultiplier","_maxFontSizeMultiplier","allowTrailingMargin","_allowTrailingMargin","flavor","_flavor","streamingAnimation","_streamingAnimation","streamingConfig","_streamingConfig","spoilerOverlay","_spoilerOverlay","imageRequestHeaders","_imageRequestHeaders","accessibilityLabels","_accessibilityLabels","selectionHandleColor","_selectionHandleColor","textBreakStrategy","_textBreakStrategy","lineBreakStrategyIOS","_lineBreakStrategyIOS","clearSelection","children"],"sourceRoot":"../../../src","sources":["jest/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
- import { useMemo, useCallback, useRef, useEffect } from 'react';
4
- import EnrichedMarkdownTextNativeComponent from '../EnrichedMarkdownTextNativeComponent';
5
- import EnrichedMarkdownNativeComponent from '../EnrichedMarkdownNativeComponent';
3
+ import { useMemo, useCallback, useRef, useEffect, useState, useImperativeHandle } from 'react';
4
+ import EnrichedMarkdownTextNativeComponent, { Commands as TextCommands } from '../EnrichedMarkdownTextNativeComponent';
5
+ import EnrichedMarkdownNativeComponent, { Commands as MarkdownCommands } from '../EnrichedMarkdownNativeComponent';
6
6
  import { normalizeMarkdownStyle } from '../normalizeMarkdownStyle';
7
7
  import { resolveAccessibilityLabels } from "../accessibilityLabelDefaults.js";
8
8
  import { normalizeMenuItem, normalizeLegacyBooleanMenuItem } from "../normalizeMenuItem.js";
9
- import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { StyleSheet, View } from 'react-native';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  // Default English labels for the built-in selection menu actions. Defaults are
11
12
  // resolved here (JS-side) so the native code always receives a concrete string.
12
13
  const DEFAULT_COPY_LABEL = 'Copy';
@@ -56,6 +57,44 @@ const buildPluralTemplates = (pluralLabels, singularLabel) => {
56
57
  }
57
58
  return templates;
58
59
  };
60
+ /** Groups the flat per-line fragments native reports into one entry per link. */
61
+ const groupLinkFragments = fragments => {
62
+ const byIndex = new Map();
63
+ for (const {
64
+ linkIndex,
65
+ url,
66
+ text,
67
+ x,
68
+ y,
69
+ width,
70
+ height
71
+ } of fragments) {
72
+ const rect = {
73
+ x,
74
+ y,
75
+ width,
76
+ height
77
+ };
78
+ const info = byIndex.get(linkIndex);
79
+ if (info) {
80
+ info.rects.push(rect);
81
+ info.rect = rect;
82
+ } else {
83
+ byIndex.set(linkIndex, {
84
+ index: linkIndex,
85
+ url,
86
+ text,
87
+ rect,
88
+ rects: [rect]
89
+ });
90
+ }
91
+ }
92
+ return [...byIndex.values()];
93
+ };
94
+ const ZERO_OFFSET = {
95
+ x: 0,
96
+ y: 0
97
+ };
59
98
  const defaultMd4cFlags = {
60
99
  underline: false,
61
100
  superscript: false,
@@ -65,6 +104,7 @@ const defaultMd4cFlags = {
65
104
  hardSoftBreaks: false
66
105
  };
67
106
  export const EnrichedMarkdownText = ({
107
+ ref,
68
108
  markdown,
69
109
  markdownStyle = {},
70
110
  containerStyle,
@@ -73,7 +113,10 @@ export const EnrichedMarkdownText = ({
73
113
  onTaskListItemPress,
74
114
  enableTaskListItemToggle = true,
75
115
  onCopyPress,
116
+ onCopy,
117
+ onSelectionChange,
76
118
  enableLinkPreview,
119
+ linkLongPressSelects = false,
77
120
  selectable = true,
78
121
  md4cFlags = defaultMd4cFlags,
79
122
  allowFontScaling = true,
@@ -93,6 +136,8 @@ export const EnrichedMarkdownText = ({
93
136
  textBreakStrategy,
94
137
  lineBreakStrategyIOS,
95
138
  writingDirection = 'first-strong',
139
+ renderLinkDecoration,
140
+ onLayout,
96
141
  ...rest
97
142
  }) => {
98
143
  const normalizedStyleRef = useRef(null);
@@ -183,6 +228,75 @@ export const EnrichedMarkdownText = ({
183
228
  language
184
229
  });
185
230
  }, [onCopyPress]);
231
+ const handleCopyRequest = useCallback(
232
+ // Codegen types `source` as a plain string; native only sends the four
233
+ // values of CopyEvent['source'].
234
+ e => {
235
+ const {
236
+ source,
237
+ markdown: copied,
238
+ text,
239
+ whole
240
+ } = e.nativeEvent;
241
+ onCopy?.({
242
+ source: source,
243
+ markdown: copied,
244
+ text,
245
+ whole
246
+ });
247
+ }, [onCopy]);
248
+ const interceptCopy = onCopy != null;
249
+ const decorated = renderLinkDecoration != null;
250
+ const [linkLayout, setLinkLayout] = useState([]);
251
+ // Where the native view sits inside the wrapper (the wrapper's padding).
252
+ const [nativeOffset, setNativeOffset] = useState(ZERO_OFFSET);
253
+ const handleLinkLayout = useCallback(e => {
254
+ setLinkLayout(groupLinkFragments(e.nativeEvent.fragments));
255
+ }, []);
256
+ const handleNativeLayout = useCallback(e => {
257
+ const {
258
+ x,
259
+ y
260
+ } = e.nativeEvent.layout;
261
+ setNativeOffset(prev => prev.x === x && prev.y === y ? prev : {
262
+ x,
263
+ y
264
+ });
265
+ }, []);
266
+
267
+ // Rects stay relative to the native view — the view the ref's
268
+ // `measureInWindow` measures — even when decorations wrap it.
269
+ const handleSelectionChange = useCallback(
270
+ // Codegen types `source` as a plain string; native only sends the four
271
+ // values of SelectionChangeEvent['source'].
272
+ e => {
273
+ const {
274
+ source,
275
+ ...payload
276
+ } = e.nativeEvent;
277
+ onSelectionChange?.({
278
+ ...payload,
279
+ source: source
280
+ });
281
+ }, [onSelectionChange]);
282
+ const nativeRef = useRef(null);
283
+ const isGithubFlavor = flavor === 'github';
284
+ useImperativeHandle(ref, () => ({
285
+ clearSelection: () => {
286
+ const node = nativeRef.current;
287
+ if (node == null) return;
288
+ // Codegen's ViewRef resolves to `never` with RN 0.84's function-based
289
+ // HostComponent type — the cast is safe at runtime.
290
+ if (isGithubFlavor) {
291
+ MarkdownCommands.clearSelection(node);
292
+ } else {
293
+ TextCommands.clearSelection(node);
294
+ }
295
+ },
296
+ measure: callback => nativeRef.current?.measure(callback),
297
+ measureInWindow: callback => nativeRef.current?.measureInWindow(callback),
298
+ measureLayout: (relativeToNativeNode, onSuccess, onFail) => nativeRef.current?.measureLayout(relativeToNativeNode, onSuccess, onFail)
299
+ }), [isGithubFlavor]);
186
300
  const tableMode = streamingConfig?.tableMode ?? 'progressive';
187
301
  const codeBlockMode = streamingConfig?.codeBlockMode ?? 'progressive';
188
302
  const normalizedStreamingConfig = useMemo(() => ({
@@ -194,6 +308,8 @@ export const EnrichedMarkdownText = ({
194
308
  // `as unknown` cast; the public type only exposes the object shape.
195
309
  const config = selectionMenuConfig;
196
310
  const copy = normalizeMenuItem(config?.copy, true, DEFAULT_COPY_LABEL);
311
+ const copyFormat = config?.copy?.format;
312
+ const codeBlockCopyButton = normalizeMenuItem(config?.codeBlockCopyButton, true, '');
197
313
  const copyAsMarkdown = normalizeLegacyBooleanMenuItem(config?.copyAsMarkdown, 'selectionMenuConfig', 'copyAsMarkdown', true, DEFAULT_COPY_AS_MARKDOWN_LABEL);
198
314
  const copyImageUrl = normalizeLegacyBooleanMenuItem(config?.copyImageUrl, 'selectionMenuConfig', 'copyImageUrl', true, DEFAULT_COPY_IMAGE_URL_LABEL);
199
315
  const pluralLabels = config?.copyImageUrl?.pluralLabels;
@@ -204,9 +320,14 @@ export const EnrichedMarkdownText = ({
204
320
  copyAsMarkdownLabel: copyAsMarkdown.label,
205
321
  copyImageUrlLabel: copyImageUrl.label,
206
322
  copyImageUrlsLabel: pluralLabels?.other ?? DEFAULT_COPY_IMAGE_URLS_LABEL,
207
- copyImageUrlPluralTemplates: buildPluralTemplates(pluralLabels, copyImageUrl.label)
323
+ copyImageUrlPluralTemplates: buildPluralTemplates(pluralLabels, copyImageUrl.label),
324
+ copyEnabled: copy.enabled,
325
+ copyFormatMarkdown: copyFormat === 'markdown',
326
+ systemItemsNone: config?.systemItems === 'none',
327
+ codeBlockCopyButton: codeBlockCopyButton.enabled,
328
+ interceptCopy
208
329
  };
209
- }, [selectionMenuConfig]);
330
+ }, [selectionMenuConfig, interceptCopy]);
210
331
  const resolvedAccessibilityLabels = useMemo(() => resolveAccessibilityLabels(accessibilityLabels), [accessibilityLabels]);
211
332
  const sharedProps = {
212
333
  markdown,
@@ -216,7 +337,11 @@ export const EnrichedMarkdownText = ({
216
337
  onTaskListItemPress: handleTaskListItemPress,
217
338
  enableTaskListItemToggle,
218
339
  onCopyPress: handleCopyPress,
340
+ onCopyRequest: handleCopyRequest,
341
+ emitSelectionChange: onSelectionChange != null,
342
+ onSelectionChange: handleSelectionChange,
219
343
  enableLinkPreview: onLinkLongPress == null && (enableLinkPreview ?? true),
344
+ linkLongPressSelects,
220
345
  selectable,
221
346
  md4cFlags: normalizedMd4cFlags,
222
347
  allowFontScaling,
@@ -239,14 +364,47 @@ export const EnrichedMarkdownText = ({
239
364
  writingDirection,
240
365
  ...rest
241
366
  };
242
- if (flavor === 'github') {
243
- return /*#__PURE__*/_jsx(EnrichedMarkdownNativeComponent, {
244
- ...sharedProps
367
+ const NativeComponent = isGithubFlavor ? EnrichedMarkdownNativeComponent : EnrichedMarkdownTextNativeComponent;
368
+
369
+ // Without decorations the native view is returned as-is (no wrapper, no
370
+ // layout events) so existing layouts are untouched.
371
+ if (!decorated) {
372
+ return /*#__PURE__*/_jsx(NativeComponent, {
373
+ ...sharedProps,
374
+ ref: nativeRef,
375
+ onLayout: onLayout
245
376
  });
246
377
  }
247
- return /*#__PURE__*/_jsx(EnrichedMarkdownTextNativeComponent, {
248
- ...sharedProps
378
+ return /*#__PURE__*/_jsxs(View, {
379
+ style: containerStyle,
380
+ onLayout: onLayout,
381
+ children: [/*#__PURE__*/_jsx(NativeComponent, {
382
+ ...sharedProps,
383
+ ref: nativeRef,
384
+ style: undefined,
385
+ emitLinkLayout: true,
386
+ onLinkLayout: handleLinkLayout,
387
+ onLayout: handleNativeLayout
388
+ }), linkLayout.map(info => {
389
+ const decoration = renderLinkDecoration(info);
390
+ if (decoration == null) return null;
391
+ return /*#__PURE__*/_jsx(View, {
392
+ pointerEvents: "box-none",
393
+ style: [styles.decoration, {
394
+ left: nativeOffset.x + info.rect.x,
395
+ top: nativeOffset.y + info.rect.y,
396
+ width: info.rect.width,
397
+ height: info.rect.height
398
+ }],
399
+ children: decoration
400
+ }, info.index);
401
+ })]
249
402
  });
250
403
  };
404
+ const styles = StyleSheet.create({
405
+ decoration: {
406
+ position: 'absolute'
407
+ }
408
+ });
251
409
  export default EnrichedMarkdownText;
252
410
  //# sourceMappingURL=EnrichedMarkdownText.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useCallback","useRef","useEffect","EnrichedMarkdownTextNativeComponent","EnrichedMarkdownNativeComponent","normalizeMarkdownStyle","resolveAccessibilityLabels","normalizeMenuItem","normalizeLegacyBooleanMenuItem","jsx","_jsx","DEFAULT_COPY_LABEL","DEFAULT_COPY_AS_MARKDOWN_LABEL","DEFAULT_COPY_IMAGE_URL_LABEL","DEFAULT_COPY_IMAGE_URLS_LABEL","buildPluralTemplates","pluralLabels","singularLabel","IntlRef","Intl","PluralRules","pluralRules","other","byCategory","zero","one","two","few","many","templates","n","push","select","defaultMd4cFlags","underline","superscript","subscript","latexMath","highlight","hardSoftBreaks","EnrichedMarkdownText","markdown","markdownStyle","containerStyle","onLinkPress","onLinkLongPress","onTaskListItemPress","enableTaskListItemToggle","onCopyPress","enableLinkPreview","selectable","md4cFlags","allowFontScaling","maxFontSizeMultiplier","allowTrailingMargin","flavor","streamingAnimation","streamingConfig","spoilerOverlay","contextMenuItems","imageRequestHeaders","contextMenuHidden","selectionMenuConfig","accessibilityLabels","selectionColor","selectionHandleColor","textBreakStrategy","lineBreakStrategyIOS","writingDirection","rest","normalizedStyleRef","normalized","current","normalizedStyle","normalizedMd4cFlags","contextMenuCallbacksRef","Map","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","nativeImageRequestHeaders","Object","entries","name","value","sort","a","b","undefined","handleContextMenuItemPress","e","itemText","selectedText","selectionStart","selectionEnd","nativeEvent","callback","get","selection","start","end","handleLinkPress","url","handleLinkLongPress","handleTaskListItemPress","index","checked","handleCopyPress","code","language","tableMode","codeBlockMode","normalizedStreamingConfig","normalizedSelectionMenuConfig","config","copy","copyAsMarkdown","copyImageUrl","enabled","copyLabel","label","copyAsMarkdownLabel","copyImageUrlLabel","copyImageUrlsLabel","copyImageUrlPluralTemplates","resolvedAccessibilityLabels","sharedProps","style","onContextMenuItemPress"],"sourceRoot":"../../../src","sources":["native/EnrichedMarkdownText.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useCallback","useRef","useEffect","useState","useImperativeHandle","EnrichedMarkdownTextNativeComponent","Commands","TextCommands","EnrichedMarkdownNativeComponent","MarkdownCommands","normalizeMarkdownStyle","resolveAccessibilityLabels","normalizeMenuItem","normalizeLegacyBooleanMenuItem","StyleSheet","View","jsx","_jsx","jsxs","_jsxs","DEFAULT_COPY_LABEL","DEFAULT_COPY_AS_MARKDOWN_LABEL","DEFAULT_COPY_IMAGE_URL_LABEL","DEFAULT_COPY_IMAGE_URLS_LABEL","buildPluralTemplates","pluralLabels","singularLabel","IntlRef","Intl","PluralRules","pluralRules","other","byCategory","zero","one","two","few","many","templates","n","push","select","groupLinkFragments","fragments","byIndex","Map","linkIndex","url","text","x","y","width","height","rect","info","get","rects","set","index","values","ZERO_OFFSET","defaultMd4cFlags","underline","superscript","subscript","latexMath","highlight","hardSoftBreaks","EnrichedMarkdownText","ref","markdown","markdownStyle","containerStyle","onLinkPress","onLinkLongPress","onTaskListItemPress","enableTaskListItemToggle","onCopyPress","onCopy","onSelectionChange","enableLinkPreview","linkLongPressSelects","selectable","md4cFlags","allowFontScaling","maxFontSizeMultiplier","allowTrailingMargin","flavor","streamingAnimation","streamingConfig","spoilerOverlay","contextMenuItems","imageRequestHeaders","contextMenuHidden","selectionMenuConfig","accessibilityLabels","selectionColor","selectionHandleColor","textBreakStrategy","lineBreakStrategyIOS","writingDirection","renderLinkDecoration","onLayout","rest","normalizedStyleRef","normalized","current","normalizedStyle","normalizedMd4cFlags","contextMenuCallbacksRef","callbacksMap","item","onPress","nativeContextMenuItems","filter","visible","map","icon","nativeImageRequestHeaders","Object","entries","name","value","sort","a","b","undefined","handleContextMenuItemPress","e","itemText","selectedText","selectionStart","selectionEnd","nativeEvent","callback","selection","start","end","handleLinkPress","handleLinkLongPress","handleTaskListItemPress","checked","handleCopyPress","code","language","handleCopyRequest","source","copied","whole","interceptCopy","decorated","linkLayout","setLinkLayout","nativeOffset","setNativeOffset","handleLinkLayout","handleNativeLayout","layout","prev","handleSelectionChange","payload","nativeRef","isGithubFlavor","clearSelection","node","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","tableMode","codeBlockMode","normalizedStreamingConfig","normalizedSelectionMenuConfig","config","copy","copyFormat","format","codeBlockCopyButton","copyAsMarkdown","copyImageUrl","enabled","copyLabel","label","copyAsMarkdownLabel","copyImageUrlLabel","copyImageUrlsLabel","copyImageUrlPluralTemplates","copyEnabled","copyFormatMarkdown","systemItemsNone","systemItems","resolvedAccessibilityLabels","sharedProps","onCopyRequest","emitSelectionChange","style","onContextMenuItemPress","NativeComponent","children","emitLinkLayout","onLinkLayout","decoration","pointerEvents","styles","left","top","create","position"],"sourceRoot":"../../../src","sources":["native/EnrichedMarkdownText.tsx"],"mappings":"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","ignoreList":[]}
@@ -197,7 +197,12 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
197
197
  fontFamily: '',
198
198
  color: normalizeColor('#2563EB'),
199
199
  underline: true,
200
- backgroundColor: normalizeColor('transparent')
200
+ backgroundColor: normalizeColor('transparent'),
201
+ borderRadius: 0,
202
+ paddingHorizontal: 0,
203
+ paddingVertical: 0,
204
+ borderColor: normalizeColor('transparent'),
205
+ borderWidth: 0
201
206
  },
202
207
  linkVariants: [],
203
208
  strong: {
@@ -279,12 +284,14 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
279
284
  marginTop: 0,
280
285
  marginBottom: 16,
281
286
  textAlign: 'center',
282
- fontWeight: 'normal'
287
+ fontWeight: 'normal',
288
+ glyphOverflow: 0
283
289
  },
284
290
  inlineMath: {
285
291
  color: defaultTextColor,
286
292
  paddingVertical: 4,
287
- fontWeight: 'normal'
293
+ fontWeight: 'normal',
294
+ glyphOverflow: 0
288
295
  },
289
296
  taskList: {
290
297
  checkedColor: Platform.select({
@@ -358,7 +365,13 @@ export const normalizeMarkdownStyle = style => {
358
365
  pattern,
359
366
  color: (override.color ? normalizeColor(override.color) : null) ?? linkBase.color,
360
367
  underline: override.underline ?? linkBase.underline,
361
- backgroundColor: override.backgroundColor ? normalizeColor(override.backgroundColor) ?? transparent : transparent
368
+ // Chip ("box") properties never inherit from the base link style.
369
+ backgroundColor: override.backgroundColor ? normalizeColor(override.backgroundColor) ?? transparent : transparent,
370
+ borderRadius: override.borderRadius ?? 0,
371
+ paddingHorizontal: override.paddingHorizontal ?? 0,
372
+ paddingVertical: override.paddingVertical ?? 0,
373
+ borderColor: override.borderColor ? normalizeColor(override.borderColor) ?? transparent : transparent,
374
+ borderWidth: override.borderWidth ?? 0
362
375
  };
363
376
  });
364
377
  if (style.taskList?.checkboxSize === undefined) {