react-native-enriched-markdown-scaffold 0.6.0-scaffold.6 → 0.7.4-scaffold.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/ReactNativeEnrichedMarkdown.podspec +62 -11
  2. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +3 -0
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +1 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerDelegate.java +9 -0
  5. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextInputManagerInterface.java +3 -0
  6. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +3 -0
  7. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +1 -0
  8. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +20 -0
  9. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +744 -36
  10. package/android/src/main/baseline-prof.txt +75 -2
  11. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdown.kt +62 -0
  12. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownInternalText.kt +10 -2
  13. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +10 -0
  14. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownText.kt +9 -2
  15. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +10 -0
  16. package/android/src/main/java/com/swmansion/enriched/markdown/MeasurementStore.kt +0 -1
  17. package/android/src/main/java/com/swmansion/enriched/markdown/accessibility/AccessibilityLabels.kt +15 -0
  18. package/android/src/main/java/com/swmansion/enriched/markdown/accessibility/MarkdownAccessibilityHelper.kt +44 -7
  19. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputManager.kt +52 -0
  20. package/android/src/main/java/com/swmansion/enriched/markdown/input/EnrichedMarkdownTextInputView.kt +55 -3
  21. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/FormattingStore.kt +19 -0
  22. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputParser.kt +22 -3
  23. package/android/src/main/java/com/swmansion/enriched/markdown/input/formatting/InputRemend.kt +1 -0
  24. package/android/src/main/java/com/swmansion/enriched/markdown/input/layout/InputMeasurementStore.kt +7 -1
  25. package/android/src/main/java/com/swmansion/enriched/markdown/input/model/MathChipStyle.kt +0 -3
  26. package/android/src/main/java/com/swmansion/enriched/markdown/input/toolbar/InputContextMenu.kt +54 -13
  27. package/android/src/main/java/com/swmansion/enriched/markdown/parser/MarkdownASTNode.kt +17 -0
  28. package/android/src/main/java/com/swmansion/enriched/markdown/renderer/SpanStyleCache.kt +4 -4
  29. package/android/src/main/java/com/swmansion/enriched/markdown/spans/MathModels.kt +0 -1
  30. package/android/src/main/java/com/swmansion/enriched/markdown/styles/InlineMathStyle.kt +1 -3
  31. package/android/src/main/java/com/swmansion/enriched/markdown/styles/MathStyle.kt +1 -3
  32. package/android/src/main/java/com/swmansion/enriched/markdown/utils/common/MarkdownViewManagerUtils.kt +30 -0
  33. package/android/src/main/java/com/swmansion/enriched/markdown/utils/input/MarkdownStyleParser.kt +0 -14
  34. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/LinkEvents.kt +22 -0
  35. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionActionMode.kt +36 -7
  36. package/android/src/main/java/com/swmansion/enriched/markdown/views/TableContainerView.kt +73 -3
  37. package/android/src/main/jni/CMakeLists.txt +15 -1
  38. package/android/src/math/java/com/swmansion/enriched/markdown/renderer/MathInlineRenderer.kt +0 -1
  39. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathChipSpan.kt +1 -2
  40. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathInlineSpan.kt +1 -3
  41. package/android/src/math/java/com/swmansion/enriched/markdown/spans/MathMeasureHelper.kt +1 -2
  42. package/android/src/math/java/com/swmansion/enriched/markdown/views/MathContainerView.kt +25 -10
  43. package/app.plugin.js +2 -1
  44. package/cpp/parser/MD4CParser.cpp +1 -1
  45. package/cpp/wasm/build.sh +9 -9
  46. package/docs/ACCESSIBILITY.md +172 -0
  47. package/docs/API_REFERENCE.md +948 -0
  48. package/docs/COPY_OPTIONS.md +127 -0
  49. package/docs/ELEMENTS_STRUCTURE.md +112 -0
  50. package/docs/IMAGE_CACHING.md +25 -0
  51. package/docs/INPUT.md +233 -0
  52. package/docs/LATEX_MATH.md +136 -0
  53. package/docs/MACOS.md +19 -0
  54. package/docs/MARKDOWN_STREAMING.md +36 -0
  55. package/docs/MENTIONS.md +97 -0
  56. package/docs/RTL.md +82 -0
  57. package/docs/STYLES.md +519 -0
  58. package/docs/TEXT.md +110 -0
  59. package/docs/WEB.md +49 -0
  60. package/ios/EnrichedMarkdown.mm +82 -25
  61. package/ios/EnrichedMarkdownText.mm +37 -5
  62. package/ios/attachments/ENRMMathInlineAttachment+macOS.m +1 -5
  63. package/ios/attachments/ENRMMathInlineAttachment.h +0 -3
  64. package/ios/attachments/ENRMMathInlineAttachment.m +1 -2
  65. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +20 -0
  66. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +744 -36
  67. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/RCTComponentViewHelpers.h +15 -0
  68. package/ios/input/ENRMFormattingStore.h +5 -0
  69. package/ios/input/ENRMFormattingStore.mm +34 -0
  70. package/ios/input/ENRMInputFormatter.h +0 -6
  71. package/ios/input/ENRMInputFormatter.mm +0 -2
  72. package/ios/input/ENRMInputTextView.h +2 -0
  73. package/ios/input/ENRMInputTextView.mm +8 -17
  74. package/ios/input/ENRMMarkdownSerializer.mm +1 -1
  75. package/ios/input/EnrichedMarkdownTextInput+ContextMenu.mm +71 -53
  76. package/ios/input/EnrichedMarkdownTextInput+Internal.h +26 -0
  77. package/ios/input/EnrichedMarkdownTextInput.h +1 -0
  78. package/ios/input/EnrichedMarkdownTextInput.mm +207 -12
  79. package/ios/input/InputStylePropsUtils.h +0 -8
  80. package/ios/input/styles/ENRMBoldStyleHandler.mm +3 -2
  81. package/ios/input/styles/ENRMItalicStyleHandler.mm +3 -2
  82. package/ios/math/ENRMRaTeXBridge.swift +2 -16
  83. package/ios/renderer/AttributedRenderer.m +51 -6
  84. package/ios/renderer/ENRMMathInlineRenderer.m +5 -2
  85. package/ios/styles/ENRMFontSlot.h +1 -1
  86. package/ios/styles/StyleConfig.h +0 -4
  87. package/ios/styles/StyleConfig.mm +0 -24
  88. package/ios/utils/ENRMAccessibilityLabels.h +36 -0
  89. package/ios/utils/ENRMAccessibilityLabels.m +5 -0
  90. package/ios/utils/EditMenuUtils+macOS.m +4 -5
  91. package/ios/utils/EditMenuUtils.h +70 -0
  92. package/ios/utils/EditMenuUtils.m +14 -11
  93. package/ios/utils/LastElementUtils.h +39 -2
  94. package/ios/utils/MarkdownAccessibilityElementBuilder.h +18 -16
  95. package/ios/utils/MarkdownAccessibilityElementBuilder.m +64 -32
  96. package/ios/utils/ParagraphStyleUtils.m +21 -2
  97. package/ios/utils/StylePropsUtils.h +0 -10
  98. package/ios/views/ENRMMathContainerView.h +8 -0
  99. package/ios/views/ENRMMathContainerView.m +8 -7
  100. package/ios/views/ENRMTableIOSGridView.h +40 -0
  101. package/ios/views/ENRMTableIOSGridView.m +216 -0
  102. package/ios/views/EnrichedMarkdownInternalText.h +2 -0
  103. package/ios/views/EnrichedMarkdownInternalText.m +2 -0
  104. package/ios/views/TableContainerView.h +8 -0
  105. package/ios/views/TableContainerView.m +72 -128
  106. package/lib/module/EnrichedMarkdownNativeComponent.ts +37 -2
  107. package/lib/module/EnrichedMarkdownTextInput.js +48 -1
  108. package/lib/module/EnrichedMarkdownTextInput.js.map +1 -1
  109. package/lib/module/EnrichedMarkdownTextInputNativeComponent.ts +35 -1
  110. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +37 -2
  111. package/lib/module/accessibilityLabelDefaults.js +64 -0
  112. package/lib/module/accessibilityLabelDefaults.js.map +1 -0
  113. package/lib/module/index.js +1 -0
  114. package/lib/module/index.js.map +1 -1
  115. package/lib/module/native/EnrichedMarkdownText.js +72 -4
  116. package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
  117. package/lib/module/normalizeMarkdownStyle.js +2 -4
  118. package/lib/module/normalizeMarkdownStyle.js.map +1 -1
  119. package/lib/module/normalizeMarkdownStyle.web.js +2 -4
  120. package/lib/module/normalizeMarkdownStyle.web.js.map +1 -1
  121. package/lib/module/normalizeMarkdownTextInputStyle.js +3 -10
  122. package/lib/module/normalizeMarkdownTextInputStyle.js.map +1 -1
  123. package/lib/module/normalizeMenuItem.js +38 -0
  124. package/lib/module/normalizeMenuItem.js.map +1 -0
  125. package/lib/module/types/AccessibilityLabels.js +2 -0
  126. package/lib/module/types/AccessibilityLabels.js.map +1 -0
  127. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +34 -2
  128. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  129. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts +55 -13
  130. package/lib/typescript/src/EnrichedMarkdownTextInput.d.ts.map +1 -1
  131. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts +30 -1
  132. package/lib/typescript/src/EnrichedMarkdownTextInputNativeComponent.d.ts.map +1 -1
  133. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +34 -2
  134. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
  135. package/lib/typescript/src/accessibilityLabelDefaults.d.ts +16 -0
  136. package/lib/typescript/src/accessibilityLabelDefaults.d.ts.map +1 -0
  137. package/lib/typescript/src/index.d.ts +4 -2
  138. package/lib/typescript/src/index.d.ts.map +1 -1
  139. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +3 -3
  140. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -1
  141. package/lib/typescript/src/normalizeMarkdownStyle.d.ts.map +1 -1
  142. package/lib/typescript/src/normalizeMarkdownStyle.web.d.ts.map +1 -1
  143. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts +0 -2
  144. package/lib/typescript/src/normalizeMarkdownTextInputStyle.d.ts.map +1 -1
  145. package/lib/typescript/src/normalizeMenuItem.d.ts +7 -0
  146. package/lib/typescript/src/normalizeMenuItem.d.ts.map +1 -0
  147. package/lib/typescript/src/types/AccessibilityLabels.d.ts +114 -0
  148. package/lib/typescript/src/types/AccessibilityLabels.d.ts.map +1 -0
  149. package/lib/typescript/src/types/MarkdownStyle.d.ts +0 -14
  150. package/lib/typescript/src/types/MarkdownStyle.d.ts.map +1 -1
  151. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts +0 -3
  152. package/lib/typescript/src/types/MarkdownStyleInternal.d.ts.map +1 -1
  153. package/lib/typescript/src/types/MarkdownTextProps.d.ts +78 -9
  154. package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
  155. package/package.json +4 -2
  156. package/plugin/build/withAndroidMath.js +19 -0
  157. package/plugin/build/withIosMath.js +28 -0
  158. package/plugin/build/withReactNativeEnrichedMarkdown.js +11 -0
  159. package/plugin/tsconfig.build.json +16 -0
  160. package/src/EnrichedMarkdownNativeComponent.ts +37 -2
  161. package/src/EnrichedMarkdownTextInput.tsx +117 -13
  162. package/src/EnrichedMarkdownTextInputNativeComponent.ts +35 -1
  163. package/src/EnrichedMarkdownTextNativeComponent.ts +37 -2
  164. package/src/accessibilityLabelDefaults.ts +83 -0
  165. package/src/index.tsx +11 -0
  166. package/src/native/EnrichedMarkdownText.tsx +120 -6
  167. package/src/normalizeMarkdownStyle.ts +1 -6
  168. package/src/normalizeMarkdownStyle.web.ts +1 -6
  169. package/src/normalizeMarkdownTextInputStyle.ts +0 -14
  170. package/src/normalizeMenuItem.ts +52 -0
  171. package/src/types/AccessibilityLabels.ts +118 -0
  172. package/src/types/MarkdownStyle.ts +0 -14
  173. package/src/types/MarkdownStyleInternal.ts +0 -4
  174. package/src/types/MarkdownTextProps.ts +74 -9
  175. package/android/src/math/java/com/swmansion/enriched/markdown/utils/math/LatexWeightWrapper.kt +0 -23
  176. package/lib/module/plugin/withAndroidMath.js +0 -20
  177. package/lib/module/plugin/withAndroidMath.js.map +0 -1
  178. package/lib/module/plugin/withIosMath.js +0 -23
  179. package/lib/module/plugin/withIosMath.js.map +0 -1
  180. package/lib/module/plugin/withReactNativeEnrichedMarkdown.js +0 -16
  181. package/lib/module/plugin/withReactNativeEnrichedMarkdown.js.map +0 -1
  182. package/lib/typescript/src/plugin/withAndroidMath.d.ts +0 -5
  183. package/lib/typescript/src/plugin/withAndroidMath.d.ts.map +0 -1
  184. package/lib/typescript/src/plugin/withIosMath.d.ts +0 -5
  185. package/lib/typescript/src/plugin/withIosMath.d.ts.map +0 -1
  186. package/lib/typescript/src/plugin/withReactNativeEnrichedMarkdown.d.ts +0 -6
  187. package/lib/typescript/src/plugin/withReactNativeEnrichedMarkdown.d.ts.map +0 -1
  188. /package/{src/plugin → plugin/src}/withAndroidMath.ts +0 -0
  189. /package/{src/plugin → plugin/src}/withIosMath.ts +0 -0
  190. /package/{src/plugin → plugin/src}/withReactNativeEnrichedMarkdown.ts +0 -0
@@ -141,12 +141,10 @@ interface MathStyleInternal {
141
141
  marginTop: CodegenTypes.Float;
142
142
  marginBottom: CodegenTypes.Float;
143
143
  textAlign: string;
144
- fontWeight: string;
145
144
  }
146
145
 
147
146
  interface InlineMathStyleInternal {
148
147
  color: ColorValue;
149
- fontWeight: string;
150
148
  }
151
149
 
152
150
  interface SpoilerParticlesStyleInternal {
@@ -232,6 +230,13 @@ export interface ContextMenuItemConfig {
232
230
  export interface SelectionMenuConfig {
233
231
  copyAsMarkdown: boolean;
234
232
  copyImageUrl: boolean;
233
+ copyLabel: string;
234
+ copyAsMarkdownLabel: string;
235
+ copyImageUrlLabel: string;
236
+ copyImageUrlsLabel: string;
237
+ // Precomputed plural templates indexed by image count (0..100). Empty when no
238
+ // pluralLabels are set; native then uses copyImageUrlLabel/copyImageUrlsLabel.
239
+ copyImageUrlPluralTemplates: ReadonlyArray<string>;
235
240
  }
236
241
 
237
242
  export interface OnContextMenuItemPressEvent {
@@ -241,6 +246,35 @@ export interface OnContextMenuItemPressEvent {
241
246
  selectionEnd: CodegenTypes.Int32;
242
247
  }
243
248
 
249
+ export interface AccessibilityLabelsListProps {
250
+ bulletPoint: string;
251
+ nestedBulletPoint: string;
252
+ orderedItem: string;
253
+ nestedOrderedItem: string;
254
+ }
255
+ export interface AccessibilityLabelsBlockquoteProps {
256
+ quote: string;
257
+ nestedQuote: string;
258
+ }
259
+ export interface AccessibilityLabelsTableProps {
260
+ row: string;
261
+ }
262
+ export interface AccessibilityLabelsMathProps {
263
+ equation: string;
264
+ }
265
+ export interface AccessibilityLabelsRotorProps {
266
+ headings: string;
267
+ links: string;
268
+ images: string;
269
+ }
270
+ export interface AccessibilityLabelsProps {
271
+ list: Readonly<AccessibilityLabelsListProps>;
272
+ blockquote: Readonly<AccessibilityLabelsBlockquoteProps>;
273
+ table: Readonly<AccessibilityLabelsTableProps>;
274
+ math: Readonly<AccessibilityLabelsMathProps>;
275
+ rotor: Readonly<AccessibilityLabelsRotorProps>;
276
+ }
277
+
244
278
  /**
245
279
  * MD4C parser flags configuration.
246
280
  * Controls how the markdown parser interprets certain syntax.
@@ -396,6 +430,7 @@ export interface NativeProps extends ViewProps {
396
430
  * Built-in items to show in the text selection context menu.
397
431
  */
398
432
  selectionMenuConfig: Readonly<SelectionMenuConfig>;
433
+ accessibilityLabels: Readonly<AccessibilityLabelsProps>;
399
434
  /**
400
435
  * Fired when a custom context menu item is pressed.
401
436
  * Receives the item label, the currently selected text, and the selection range.
@@ -3,7 +3,15 @@
3
3
  import { useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
4
4
  import EnrichedMarkdownTextInputNativeComponent, { Commands } from './EnrichedMarkdownTextInputNativeComponent';
5
5
  import { normalizeMarkdownTextInputStyle } from "./normalizeMarkdownTextInputStyle.js";
6
+ import { normalizeMenuItem } from "./normalizeMenuItem.js";
6
7
  import { toNativeRegexConfig } from "./utils/regexParser.js";
8
+
9
+ /**
10
+ * Per-item shape: `{ enabled }` toggles visibility, `label` overrides the
11
+ * English default. Wire `label` to your i18n library to localize the menu.
12
+ */
13
+
14
+ /** Controls the individual items inside the Format submenu. */
7
15
  import { jsx as _jsx } from "react/jsx-runtime";
8
16
  function getNativeRef(ref) {
9
17
  if (ref.current == null) {
@@ -39,11 +47,15 @@ export const EnrichedMarkdownTextInput = ({
39
47
  onFocus,
40
48
  onBlur,
41
49
  contextMenuItems,
50
+ selectionMenuConfig,
51
+ formatMenuConfig,
42
52
  linkRegex: _linkRegex,
43
53
  writingDirection = 'first-strong',
44
54
  ...rest
45
55
  }) => {
46
56
  const nativeRef = useRef(null);
57
+ // Freeze `defaultValue` at mount (RN TextInput semantics): post-mount changes are ignored.
58
+ const initialDefaultValue = useRef(defaultValue).current;
47
59
  const nextRequestId = useRef(1);
48
60
  const pendingRequests = useRef(new Map());
49
61
  const pendingCaretRectRequests = useRef(new Map());
@@ -77,6 +89,38 @@ export const EnrichedMarkdownTextInput = ({
77
89
  };
78
90
  }, []);
79
91
  const normalizedStyle = normalizeMarkdownTextInputStyle(markdownStyle);
92
+ const normalizedSelectionMenuConfig = useMemo(() => {
93
+ const format = normalizeMenuItem(selectionMenuConfig?.format, true, 'Format');
94
+ const copyAsMarkdown = normalizeMenuItem(selectionMenuConfig?.copyAsMarkdown, true, 'Copy as Markdown');
95
+ return {
96
+ format: format.enabled,
97
+ formatLabel: format.label,
98
+ copyAsMarkdown: copyAsMarkdown.enabled,
99
+ copyAsMarkdownLabel: copyAsMarkdown.label
100
+ };
101
+ }, [selectionMenuConfig]);
102
+ const normalizedFormatMenuConfig = useMemo(() => {
103
+ const bold = normalizeMenuItem(formatMenuConfig?.bold, true, 'Bold');
104
+ const italic = normalizeMenuItem(formatMenuConfig?.italic, true, 'Italic');
105
+ const underline = normalizeMenuItem(formatMenuConfig?.underline, true, 'Underline');
106
+ const strikethrough = normalizeMenuItem(formatMenuConfig?.strikethrough, true, 'Strikethrough');
107
+ const spoiler = normalizeMenuItem(formatMenuConfig?.spoiler, true, 'Spoiler');
108
+ const link = normalizeMenuItem(formatMenuConfig?.link, true, 'Link');
109
+ return {
110
+ bold: bold.enabled,
111
+ boldLabel: bold.label,
112
+ italic: italic.enabled,
113
+ italicLabel: italic.label,
114
+ underline: underline.enabled,
115
+ underlineLabel: underline.label,
116
+ strikethrough: strikethrough.enabled,
117
+ strikethroughLabel: strikethrough.label,
118
+ spoiler: spoiler.enabled,
119
+ spoilerLabel: spoiler.label,
120
+ link: link.enabled,
121
+ linkLabel: link.label
122
+ };
123
+ }, [formatMenuConfig]);
80
124
  const linkRegex = useMemo(() => toNativeRegexConfig(_linkRegex), [_linkRegex]);
81
125
  const handleLinkDetected = useCallback(e => {
82
126
  const {
@@ -251,6 +295,7 @@ export const EnrichedMarkdownTextInput = ({
251
295
  insertMath: (latex, options) => Commands.insertMath(commandRef, latex, options?.display ?? false),
252
296
  updateMath: (start, latex, options) => Commands.updateMath(commandRef, start, latex, options?.display ?? false),
253
297
  removeMath: start => Commands.removeMath(commandRef, start),
298
+ copyToClipboard: () => Commands.copyToClipboard(commandRef),
254
299
  getMarkdown: () => new Promise((resolve, reject) => {
255
300
  const requestId = nextRequestId.current++;
256
301
  pendingRequests.current.set(requestId, {
@@ -273,7 +318,7 @@ export const EnrichedMarkdownTextInput = ({
273
318
  ref: nativeRef,
274
319
  style: style,
275
320
  markdownStyle: normalizedStyle,
276
- defaultValue: defaultValue,
321
+ defaultValue: initialDefaultValue,
277
322
  placeholder: placeholder,
278
323
  placeholderTextColor: placeholderTextColor,
279
324
  editable: editable,
@@ -296,6 +341,8 @@ export const EnrichedMarkdownTextInput = ({
296
341
  onRequestCaretRectResult: handleRequestCaretRectResult,
297
342
  onCaretRectChange: handleCaretRectChange,
298
343
  contextMenuItems: nativeContextMenuItems,
344
+ selectionMenuConfig: normalizedSelectionMenuConfig,
345
+ formatMenuConfig: normalizedFormatMenuConfig,
299
346
  mentionIndicators: mentionIndicators,
300
347
  onContextMenuItemPress: handleContextMenuItemPress,
301
348
  linkRegex: linkRegex,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","toNativeRegexConfig","jsx","_jsx","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onCaretRectChange","onLinkDetected","onMathPress","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","linkRegex","_linkRegex","writingDirection","rest","nativeRef","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","normalizedStyle","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","bold","italic","underline","strikethrough","spoiler","link","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","handleBlur","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","setLink","insertLink","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useImperativeHandle","useMemo","useRef","EnrichedMarkdownTextInputNativeComponent","Commands","normalizeMarkdownTextInputStyle","normalizeMenuItem","toNativeRegexConfig","jsx","_jsx","getNativeRef","ref","current","Error","EnrichedMarkdownTextInput","markdownStyle","style","defaultValue","placeholder","placeholderTextColor","editable","autoFocus","scrollEnabled","autoCapitalize","multiline","cursorColor","selectionColor","onChangeText","onChangeMarkdown","onChangeSelection","onChangeState","onCaretRectChange","onLinkDetected","onMathPress","mentionIndicators","onStartMention","onChangeMention","onEndMention","onFocus","onBlur","contextMenuItems","selectionMenuConfig","formatMenuConfig","linkRegex","_linkRegex","writingDirection","rest","nativeRef","initialDefaultValue","nextRequestId","pendingRequests","Map","pendingCaretRectRequests","contextMenuCallbacksRef","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","pending","pendingCaretRect","err","forEach","reject","clear","normalizedStyle","normalizedSelectionMenuConfig","format","copyAsMarkdown","enabled","formatLabel","label","copyAsMarkdownLabel","normalizedFormatMenuConfig","bold","italic","underline","strikethrough","spoiler","link","boldLabel","italicLabel","underlineLabel","strikethroughLabel","spoilerLabel","linkLabel","handleLinkDetected","e","url","start","end","nativeEvent","handleMathPress","latex","displayMode","x","y","width","height","rect","handleChangeText","value","handleChangeMarkdown","handleChangeSelection","handleChangeState","handleCaretRectChange","handleStartMention","handleChangeMention","handleEndMention","handleFocus","handleBlur","handleRequestMarkdownResult","requestId","markdown","get","resolve","delete","handleRequestCaretRectResult","handleContextMenuItemPress","itemText","selectedText","selectionStart","selectionEnd","styleState","callback","selection","node","commandRef","measure","measureInWindow","measureLayout","relativeToNativeNode","onSuccess","onFail","focus","blur","setValue","setSelection","toggleBold","toggleItalic","toggleUnderline","toggleStrikethrough","toggleSpoiler","setLink","insertLink","insertMention","displayText","startMention","indicator","removeLink","insertMath","options","display","updateMath","removeMath","copyToClipboard","getMarkdown","Promise","requestMarkdown","getCaretRect","requestCaretRect","isOnChangeMarkdownSet","undefined","onInputFocus","onInputBlur","onRequestMarkdownResult","onRequestCaretRectResult","onContextMenuItemPress"],"sourceRoot":"../../src","sources":["EnrichedMarkdownTextInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,6 @@ interface MathStyleInternal {
19
19
  paddingVertical: CodegenTypes.Float;
20
20
  selectedBackgroundColor: ColorValue;
21
21
  selectedBorderColor: ColorValue;
22
- fontWeight: string;
23
22
  }
24
23
 
25
24
  interface MathBlockStyleInternal extends MathStyleInternal {
@@ -146,6 +145,28 @@ export interface ContextMenuItemConfig {
146
145
  icon?: string;
147
146
  }
148
147
 
148
+ export interface InputSelectionMenuConfigInternal {
149
+ format: boolean;
150
+ formatLabel: string;
151
+ copyAsMarkdown: boolean;
152
+ copyAsMarkdownLabel: string;
153
+ }
154
+
155
+ export interface FormatMenuConfigInternal {
156
+ bold: boolean;
157
+ boldLabel: string;
158
+ italic: boolean;
159
+ italicLabel: string;
160
+ underline: boolean;
161
+ underlineLabel: string;
162
+ strikethrough: boolean;
163
+ strikethroughLabel: string;
164
+ spoiler: boolean;
165
+ spoilerLabel: string;
166
+ link: boolean;
167
+ linkLabel: string;
168
+ }
169
+
149
170
  export interface OnContextMenuItemPressEvent {
150
171
  itemText: string;
151
172
  selectedText: string;
@@ -231,6 +252,17 @@ export interface NativeProps extends ViewProps {
231
252
  */
232
253
  contextMenuItems?: ReadonlyArray<Readonly<ContextMenuItemConfig>>;
233
254
 
255
+ /**
256
+ * Controls built-in items in the text selection context menu.
257
+ * `format` toggles the Format submenu; `copyAsMarkdown` toggles the Copy as Markdown action.
258
+ */
259
+ selectionMenuConfig: Readonly<InputSelectionMenuConfigInternal>;
260
+
261
+ /**
262
+ * Controls which items appear inside the Format submenu.
263
+ */
264
+ formatMenuConfig: Readonly<FormatMenuConfigInternal>;
265
+
234
266
  /**
235
267
  * Regex configuration for automatic link detection.
236
268
  * Omit or pass undefined to use platform defaults.
@@ -323,6 +355,7 @@ interface NativeCommands {
323
355
  viewRef: React.ElementRef<ComponentType>,
324
356
  start: CodegenTypes.Int32
325
357
  ) => void;
358
+ copyToClipboard: (viewRef: React.ElementRef<ComponentType>) => void;
326
359
  requestMarkdown: (
327
360
  viewRef: React.ElementRef<ComponentType>,
328
361
  requestId: CodegenTypes.Int32
@@ -352,6 +385,7 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
352
385
  'insertMath',
353
386
  'updateMath',
354
387
  'removeMath',
388
+ 'copyToClipboard',
355
389
  'requestMarkdown',
356
390
  'requestCaretRect',
357
391
  ],
@@ -141,12 +141,10 @@ interface MathStyleInternal {
141
141
  marginTop: CodegenTypes.Float;
142
142
  marginBottom: CodegenTypes.Float;
143
143
  textAlign: string;
144
- fontWeight: string;
145
144
  }
146
145
 
147
146
  interface InlineMathStyleInternal {
148
147
  color: ColorValue;
149
- fontWeight: string;
150
148
  }
151
149
 
152
150
  interface SpoilerParticlesStyleInternal {
@@ -232,6 +230,13 @@ export interface ContextMenuItemConfig {
232
230
  export interface SelectionMenuConfig {
233
231
  copyAsMarkdown: boolean;
234
232
  copyImageUrl: boolean;
233
+ copyLabel: string;
234
+ copyAsMarkdownLabel: string;
235
+ copyImageUrlLabel: string;
236
+ copyImageUrlsLabel: string;
237
+ // Precomputed plural templates indexed by image count (0..100). Empty when no
238
+ // pluralLabels are set; native then uses copyImageUrlLabel/copyImageUrlsLabel.
239
+ copyImageUrlPluralTemplates: ReadonlyArray<string>;
235
240
  }
236
241
 
237
242
  export interface OnContextMenuItemPressEvent {
@@ -241,6 +246,35 @@ export interface OnContextMenuItemPressEvent {
241
246
  selectionEnd: CodegenTypes.Int32;
242
247
  }
243
248
 
249
+ export interface AccessibilityLabelsListProps {
250
+ bulletPoint: string;
251
+ nestedBulletPoint: string;
252
+ orderedItem: string;
253
+ nestedOrderedItem: string;
254
+ }
255
+ export interface AccessibilityLabelsBlockquoteProps {
256
+ quote: string;
257
+ nestedQuote: string;
258
+ }
259
+ export interface AccessibilityLabelsTableProps {
260
+ row: string;
261
+ }
262
+ export interface AccessibilityLabelsMathProps {
263
+ equation: string;
264
+ }
265
+ export interface AccessibilityLabelsRotorProps {
266
+ headings: string;
267
+ links: string;
268
+ images: string;
269
+ }
270
+ export interface AccessibilityLabelsProps {
271
+ list: Readonly<AccessibilityLabelsListProps>;
272
+ blockquote: Readonly<AccessibilityLabelsBlockquoteProps>;
273
+ table: Readonly<AccessibilityLabelsTableProps>;
274
+ math: Readonly<AccessibilityLabelsMathProps>;
275
+ rotor: Readonly<AccessibilityLabelsRotorProps>;
276
+ }
277
+
244
278
  /**
245
279
  * MD4C parser flags configuration.
246
280
  * Controls how the markdown parser interprets certain syntax.
@@ -395,6 +429,7 @@ export interface NativeProps extends ViewProps {
395
429
  * Built-in items to show in the text selection context menu.
396
430
  */
397
431
  selectionMenuConfig: Readonly<SelectionMenuConfig>;
432
+ accessibilityLabels: Readonly<AccessibilityLabelsProps>;
398
433
  /**
399
434
  * Fired when a custom context menu item is pressed.
400
435
  * Receives the item label, the currently selected text, and the selection range.
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Default strings spoken by VoiceOver / TalkBack when the consumer does not
5
+ * provide an override. See `AccessibilityLabels` for the placeholder syntax
6
+ * and the rationale for the no-plural cardinal form.
7
+ */
8
+ export const DEFAULT_ACCESSIBILITY_LABELS = {
9
+ list: {
10
+ bulletPoint: 'Bullet point',
11
+ nestedBulletPoint: 'Nested bullet point',
12
+ orderedItem: 'List item {n}',
13
+ nestedOrderedItem: 'Nested list item {n}'
14
+ },
15
+ blockquote: {
16
+ quote: 'Blockquote',
17
+ nestedQuote: 'Nested blockquote'
18
+ },
19
+ table: {
20
+ row: 'Row {n}: {content}'
21
+ },
22
+ math: {
23
+ equation: 'Math: {latex}'
24
+ },
25
+ rotor: {
26
+ headings: 'Headings',
27
+ links: 'Links',
28
+ images: 'Images'
29
+ }
30
+ };
31
+
32
+ /**
33
+ * Resolves a partial `AccessibilityLabels` against `DEFAULT_ACCESSIBILITY_LABELS`,
34
+ * returning a fully-populated struct that native code can consume without any
35
+ * null checks. Override resolution is shallow per sub-group: if a consumer
36
+ * passes `{ list: { bulletPoint: 'Punkt' } }`, only that one field changes and
37
+ * the other list entries fall back to the defaults.
38
+ */
39
+ export function resolveAccessibilityLabels(labels) {
40
+ return {
41
+ list: {
42
+ bulletPoint: labels?.list?.bulletPoint ?? DEFAULT_ACCESSIBILITY_LABELS.list.bulletPoint,
43
+ nestedBulletPoint: labels?.list?.nestedBulletPoint ?? DEFAULT_ACCESSIBILITY_LABELS.list.nestedBulletPoint,
44
+ orderedItem: labels?.list?.orderedItem ?? DEFAULT_ACCESSIBILITY_LABELS.list.orderedItem,
45
+ nestedOrderedItem: labels?.list?.nestedOrderedItem ?? DEFAULT_ACCESSIBILITY_LABELS.list.nestedOrderedItem
46
+ },
47
+ blockquote: {
48
+ quote: labels?.blockquote?.quote ?? DEFAULT_ACCESSIBILITY_LABELS.blockquote.quote,
49
+ nestedQuote: labels?.blockquote?.nestedQuote ?? DEFAULT_ACCESSIBILITY_LABELS.blockquote.nestedQuote
50
+ },
51
+ table: {
52
+ row: labels?.table?.row ?? DEFAULT_ACCESSIBILITY_LABELS.table.row
53
+ },
54
+ math: {
55
+ equation: labels?.math?.equation ?? DEFAULT_ACCESSIBILITY_LABELS.math.equation
56
+ },
57
+ rotor: {
58
+ headings: labels?.rotor?.headings ?? DEFAULT_ACCESSIBILITY_LABELS.rotor.headings,
59
+ links: labels?.rotor?.links ?? DEFAULT_ACCESSIBILITY_LABELS.rotor.links,
60
+ images: labels?.rotor?.images ?? DEFAULT_ACCESSIBILITY_LABELS.rotor.images
61
+ }
62
+ };
63
+ }
64
+ //# sourceMappingURL=accessibilityLabelDefaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_ACCESSIBILITY_LABELS","list","bulletPoint","nestedBulletPoint","orderedItem","nestedOrderedItem","blockquote","quote","nestedQuote","table","row","math","equation","rotor","headings","links","images","resolveAccessibilityLabels","labels"],"sourceRoot":"../../src","sources":["accessibilityLabelDefaults.ts"],"mappings":";;AAKA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,4BAAyD,GAAG;EACvEC,IAAI,EAAE;IACJC,WAAW,EAAE,cAAc;IAC3BC,iBAAiB,EAAE,qBAAqB;IACxCC,WAAW,EAAE,eAAe;IAC5BC,iBAAiB,EAAE;EACrB,CAAC;EACDC,UAAU,EAAE;IACVC,KAAK,EAAE,YAAY;IACnBC,WAAW,EAAE;EACf,CAAC;EACDC,KAAK,EAAE;IACLC,GAAG,EAAE;EACP,CAAC;EACDC,IAAI,EAAE;IACJC,QAAQ,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACLC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE;EACV;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,0BAA0BA,CACxCC,MAAuC,EACV;EAC7B,OAAO;IACLjB,IAAI,EAAE;MACJC,WAAW,EACTgB,MAAM,EAAEjB,IAAI,EAAEC,WAAW,IACzBF,4BAA4B,CAACC,IAAI,CAACC,WAAW;MAC/CC,iBAAiB,EACfe,MAAM,EAAEjB,IAAI,EAAEE,iBAAiB,IAC/BH,4BAA4B,CAACC,IAAI,CAACE,iBAAiB;MACrDC,WAAW,EACTc,MAAM,EAAEjB,IAAI,EAAEG,WAAW,IACzBJ,4BAA4B,CAACC,IAAI,CAACG,WAAW;MAC/CC,iBAAiB,EACfa,MAAM,EAAEjB,IAAI,EAAEI,iBAAiB,IAC/BL,4BAA4B,CAACC,IAAI,CAACI;IACtC,CAAC;IACDC,UAAU,EAAE;MACVC,KAAK,EACHW,MAAM,EAAEZ,UAAU,EAAEC,KAAK,IACzBP,4BAA4B,CAACM,UAAU,CAACC,KAAK;MAC/CC,WAAW,EACTU,MAAM,EAAEZ,UAAU,EAAEE,WAAW,IAC/BR,4BAA4B,CAACM,UAAU,CAACE;IAC5C,CAAC;IACDC,KAAK,EAAE;MACLC,GAAG,EAAEQ,MAAM,EAAET,KAAK,EAAEC,GAAG,IAAIV,4BAA4B,CAACS,KAAK,CAACC;IAChE,CAAC;IACDC,IAAI,EAAE;MACJC,QAAQ,EACNM,MAAM,EAAEP,IAAI,EAAEC,QAAQ,IAAIZ,4BAA4B,CAACW,IAAI,CAACC;IAChE,CAAC;IACDC,KAAK,EAAE;MACLC,QAAQ,EACNI,MAAM,EAAEL,KAAK,EAAEC,QAAQ,IAAId,4BAA4B,CAACa,KAAK,CAACC,QAAQ;MACxEC,KAAK,EAAEG,MAAM,EAAEL,KAAK,EAAEE,KAAK,IAAIf,4BAA4B,CAACa,KAAK,CAACE,KAAK;MACvEC,MAAM,EACJE,MAAM,EAAEL,KAAK,EAAEG,MAAM,IAAIhB,4BAA4B,CAACa,KAAK,CAACG;IAChE;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  export { default as EnrichedMarkdownText } from "./native/EnrichedMarkdownText.js";
4
+ export { DEFAULT_ACCESSIBILITY_LABELS, resolveAccessibilityLabels } from "./accessibilityLabelDefaults.js";
4
5
  export { EnrichedMarkdownTextInput } from "./EnrichedMarkdownTextInput.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","EnrichedMarkdownText","EnrichedMarkdownTextInput"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,kCAA+B;AAe/E,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;AAmB/E,SACEC,4BAA4B,EAC5BC,0BAA0B,QACrB,iCAA8B;AAErC,SAASC,yBAAyB,QAAQ,gCAA6B","ignoreList":[]}
@@ -4,7 +4,58 @@ import { useMemo, useCallback, useRef, useEffect } from 'react';
4
4
  import EnrichedMarkdownTextNativeComponent from '../EnrichedMarkdownTextNativeComponent';
5
5
  import EnrichedMarkdownNativeComponent from '../EnrichedMarkdownNativeComponent';
6
6
  import { normalizeMarkdownStyle } from '../normalizeMarkdownStyle';
7
+ import { resolveAccessibilityLabels } from "../accessibilityLabelDefaults.js";
8
+ import { normalizeMenuItem, normalizeLegacyBooleanMenuItem } from "../normalizeMenuItem.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
+ // Default English labels for the built-in selection menu actions. Defaults are
11
+ // resolved here (JS-side) so the native code always receives a concrete string.
12
+ const DEFAULT_COPY_LABEL = 'Copy';
13
+ const DEFAULT_COPY_AS_MARKDOWN_LABEL = 'Copy as Markdown';
14
+ const DEFAULT_COPY_IMAGE_URL_LABEL = 'Copy Image URL';
15
+ const DEFAULT_COPY_IMAGE_URLS_LABEL = 'Copy {count} Image URLs';
16
+
17
+ /**
18
+ * Resolves `pluralLabels` into a per-count template table (index = image count,
19
+ * 0..100) the native side can index without any locale logic. `Intl.PluralRules`
20
+ * selects the CLDR category for each count; missing categories fall back to the
21
+ * required `other`. Index 1 uses the singular `label` (the single-image case).
22
+ * Native uses `other` (copyImageUrlsLabel) for counts > 100, and falls back to
23
+ * the singular/`{count}` templates entirely when this returns an empty array
24
+ * (no plural labels set, or `Intl.PluralRules` unavailable).
25
+ */
26
+ const buildPluralTemplates = (pluralLabels, singularLabel) => {
27
+ if (!pluralLabels) return [];
28
+ const IntlRef = Intl;
29
+ if (typeof IntlRef.PluralRules !== 'function') return [];
30
+ let pluralRules;
31
+ try {
32
+ // TODO: expose `copyImageUrl.pluralLocale?: string` so i18n apps can force
33
+ // a locale independent of the device. Today this resolves to the JS
34
+ // runtime's default locale, so on an English device only `one` and `other`
35
+ // ever fire even when richer plural labels are configured.
36
+ pluralRules = new IntlRef.PluralRules();
37
+ } catch {
38
+ return [];
39
+ }
40
+ const {
41
+ other
42
+ } = pluralLabels;
43
+ const byCategory = {
44
+ zero: pluralLabels.zero ?? other,
45
+ one: pluralLabels.one ?? other,
46
+ two: pluralLabels.two ?? other,
47
+ few: pluralLabels.few ?? other,
48
+ many: pluralLabels.many ?? other,
49
+ other
50
+ };
51
+ const templates = [];
52
+ for (let n = 0; n <= 100; n++) {
53
+ // The literal single-image case uses the (non-plural) singular label; every
54
+ // other count uses its CLDR category form.
55
+ templates.push(n === 1 ? singularLabel : byCategory[pluralRules.select(n)] ?? other);
56
+ }
57
+ return templates;
58
+ };
8
59
  const defaultMd4cFlags = {
9
60
  underline: false,
10
61
  superscript: false,
@@ -31,6 +82,7 @@ export const EnrichedMarkdownText = ({
31
82
  spoilerOverlay = 'particles',
32
83
  contextMenuItems,
33
84
  selectionMenuConfig,
85
+ accessibilityLabels,
34
86
  selectionColor,
35
87
  selectionHandleColor,
36
88
  textBreakStrategy,
@@ -115,10 +167,25 @@ export const EnrichedMarkdownText = ({
115
167
  const normalizedStreamingConfig = useMemo(() => ({
116
168
  tableMode
117
169
  }), [tableMode]);
118
- const normalizedSelectionMenuConfig = useMemo(() => ({
119
- copyAsMarkdown: selectionMenuConfig?.copyAsMarkdown ?? true,
120
- copyImageUrl: selectionMenuConfig?.copyImageUrl ?? true
121
- }), [selectionMenuConfig]);
170
+ const normalizedSelectionMenuConfig = useMemo(() => {
171
+ // The boolean acceptance is confined to this wrapper boundary via a single
172
+ // `as unknown` cast; the public type only exposes the object shape.
173
+ const config = selectionMenuConfig;
174
+ const copy = normalizeMenuItem(config?.copy, true, DEFAULT_COPY_LABEL);
175
+ const copyAsMarkdown = normalizeLegacyBooleanMenuItem(config?.copyAsMarkdown, 'selectionMenuConfig', 'copyAsMarkdown', true, DEFAULT_COPY_AS_MARKDOWN_LABEL);
176
+ const copyImageUrl = normalizeLegacyBooleanMenuItem(config?.copyImageUrl, 'selectionMenuConfig', 'copyImageUrl', true, DEFAULT_COPY_IMAGE_URL_LABEL);
177
+ const pluralLabels = config?.copyImageUrl?.pluralLabels;
178
+ return {
179
+ copyAsMarkdown: copyAsMarkdown.enabled,
180
+ copyImageUrl: copyImageUrl.enabled,
181
+ copyLabel: copy.label,
182
+ copyAsMarkdownLabel: copyAsMarkdown.label,
183
+ copyImageUrlLabel: copyImageUrl.label,
184
+ copyImageUrlsLabel: pluralLabels?.other ?? DEFAULT_COPY_IMAGE_URLS_LABEL,
185
+ copyImageUrlPluralTemplates: buildPluralTemplates(pluralLabels, copyImageUrl.label)
186
+ };
187
+ }, [selectionMenuConfig]);
188
+ const resolvedAccessibilityLabels = useMemo(() => resolveAccessibilityLabels(accessibilityLabels), [accessibilityLabels]);
122
189
  const sharedProps = {
123
190
  markdown,
124
191
  markdownStyle: normalizedStyle,
@@ -137,6 +204,7 @@ export const EnrichedMarkdownText = ({
137
204
  style: containerStyle,
138
205
  contextMenuItems: nativeContextMenuItems,
139
206
  selectionMenuConfig: normalizedSelectionMenuConfig,
207
+ accessibilityLabels: resolvedAccessibilityLabels,
140
208
  onContextMenuItemPress: handleContextMenuItemPress,
141
209
  selectionColor,
142
210
  selectionHandleColor,
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useCallback","useRef","useEffect","EnrichedMarkdownTextNativeComponent","EnrichedMarkdownNativeComponent","normalizeMarkdownStyle","jsx","_jsx","defaultMd4cFlags","underline","superscript","subscript","latexMath","highlight","EnrichedMarkdownText","markdown","markdownStyle","containerStyle","onLinkPress","onLinkLongPress","onTaskListItemPress","enableLinkPreview","selectable","md4cFlags","allowFontScaling","maxFontSizeMultiplier","allowTrailingMargin","flavor","streamingAnimation","streamingConfig","spoilerOverlay","contextMenuItems","selectionMenuConfig","selectionColor","selectionHandleColor","textBreakStrategy","lineBreakStrategyIOS","writingDirection","rest","normalizedStyleRef","normalized","current","normalizedStyle","normalizedMd4cFlags","contextMenuCallbacksRef","Map","callbacksMap","item","set","text","onPress","nativeContextMenuItems","filter","visible","map","icon","handleContextMenuItemPress","e","itemText","selectedText","selectionStart","selectionEnd","nativeEvent","callback","get","selection","start","end","handleLinkPress","url","handleLinkLongPress","handleTaskListItemPress","index","checked","tableMode","normalizedStreamingConfig","normalizedSelectionMenuConfig","copyAsMarkdown","copyImageUrl","sharedProps","style","onContextMenuItemPress"],"sourceRoot":"../../../src","sources":["native/EnrichedMarkdownText.tsx"],"mappings":"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","ignoreList":[]}
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","EnrichedMarkdownText","markdown","markdownStyle","containerStyle","onLinkPress","onLinkLongPress","onTaskListItemPress","enableLinkPreview","selectable","md4cFlags","allowFontScaling","maxFontSizeMultiplier","allowTrailingMargin","flavor","streamingAnimation","streamingConfig","spoilerOverlay","contextMenuItems","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","handleContextMenuItemPress","e","itemText","selectedText","selectionStart","selectionEnd","nativeEvent","callback","get","selection","start","end","handleLinkPress","url","handleLinkLongPress","handleTaskListItemPress","index","checked","tableMode","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":[]}
@@ -237,12 +237,10 @@ const DEFAULT_NORMALIZED_STYLE = Object.freeze({
237
237
  padding: 12,
238
238
  marginTop: 0,
239
239
  marginBottom: 16,
240
- textAlign: 'center',
241
- fontWeight: 'normal'
240
+ textAlign: 'center'
242
241
  },
243
242
  inlineMath: {
244
- color: defaultTextColor,
245
- fontWeight: 'normal'
243
+ color: defaultTextColor
246
244
  },
247
245
  taskList: {
248
246
  checkedColor: Platform.select({