react-native-enriched-markdown-scaffold 1.0.2-scaffold.5 → 1.0.2-scaffold.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 (50) hide show
  1. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerDelegate.java +3 -0
  2. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownManagerInterface.java +1 -0
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerDelegate.java +3 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedMarkdownTextManagerInterface.java +1 -0
  5. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.cpp +2 -0
  6. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/EventEmitters.h +2 -0
  7. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.cpp +10 -0
  8. package/android/generated/jni/react/renderer/components/EnrichedMarkdownTextSpec/Props.h +2 -0
  9. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownManager.kt +8 -0
  10. package/android/src/main/java/com/swmansion/enriched/markdown/EnrichedMarkdownTextManager.kt +8 -0
  11. package/android/src/main/java/com/swmansion/enriched/markdown/events/SelectionChangeEvent.kt +1 -0
  12. package/android/src/main/java/com/swmansion/enriched/markdown/utils/text/view/SelectionChangeReporter.kt +2 -0
  13. package/docs/API_REFERENCE.md +14 -2
  14. package/docs/WEB.md +1 -0
  15. package/ios/EnrichedMarkdown.mm +39 -2
  16. package/ios/EnrichedMarkdownText.mm +37 -2
  17. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.cpp +2 -0
  18. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/EventEmitters.h +2 -0
  19. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.cpp +10 -0
  20. package/ios/generated/ReactCodegen/EnrichedMarkdownTextSpec/Props.h +2 -0
  21. package/ios/utils/ENRMLinkChip.m +25 -6
  22. package/ios/utils/ENRMSelectionChange.h +24 -0
  23. package/ios/utils/ENRMSelectionChange.m +78 -0
  24. package/ios/utils/EditMenuUtils.h +3 -0
  25. package/ios/utils/EditMenuUtils.m +116 -0
  26. package/lib/module/EnrichedMarkdownNativeComponent.ts +11 -0
  27. package/lib/module/EnrichedMarkdownTextNativeComponent.ts +11 -0
  28. package/lib/module/jest/index.js +1 -0
  29. package/lib/module/jest/index.js.map +1 -1
  30. package/lib/module/native/EnrichedMarkdownText.js +2 -0
  31. package/lib/module/native/EnrichedMarkdownText.js.map +1 -1
  32. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts +11 -0
  33. package/lib/typescript/src/EnrichedMarkdownNativeComponent.d.ts.map +1 -1
  34. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts +11 -0
  35. package/lib/typescript/src/EnrichedMarkdownTextNativeComponent.d.ts.map +1 -1
  36. package/lib/typescript/src/jest/index.d.ts +1 -1
  37. package/lib/typescript/src/jest/index.d.ts.map +1 -1
  38. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts +1 -1
  39. package/lib/typescript/src/native/EnrichedMarkdownText.d.ts.map +1 -1
  40. package/lib/typescript/src/types/MarkdownTextProps.d.ts +14 -2
  41. package/lib/typescript/src/types/MarkdownTextProps.d.ts.map +1 -1
  42. package/lib/typescript/src/types/events.d.ts +8 -0
  43. package/lib/typescript/src/types/events.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/EnrichedMarkdownNativeComponent.ts +11 -0
  46. package/src/EnrichedMarkdownTextNativeComponent.ts +11 -0
  47. package/src/jest/index.tsx +1 -0
  48. package/src/native/EnrichedMarkdownText.tsx +2 -0
  49. package/src/types/MarkdownTextProps.ts +14 -2
  50. package/src/types/events.ts +8 -0
@@ -296,8 +296,10 @@ export interface EnrichedMarkdownTextProps extends Omit<ViewProps, 'style'> {
296
296
  * the app (`ref.current.clearSelection()`).
297
297
  *
298
298
  * Rects are relative to the view that `ref.current.measureInWindow`
299
- * measures — add that origin to position UI on screen. There is no
300
- * "dragging" flag: debounce before showing a menu.
299
+ * measures — add that origin to position UI on screen. On iOS, `adjusting`
300
+ * is `true` while a selection handle is dragged: hide the menu until it is
301
+ * `false` again. Android reports every step of the drag instead (with
302
+ * `adjusting: false`), so debounce before showing a menu there.
301
303
  * @platform ios, android
302
304
  */
303
305
  onSelectionChange?: (event: SelectionChangeEvent) => void;
@@ -314,6 +316,16 @@ export interface EnrichedMarkdownTextProps extends Omit<ViewProps, 'style'> {
314
316
  * @platform ios
315
317
  */
316
318
  enableLinkPreview?: boolean;
319
+ /**
320
+ * When `true`, long-pressing a link selects its label and shows the
321
+ * selection edit menu, like a manual text selection, instead of the system
322
+ * link preview. Takes precedence over `enableLinkPreview` and
323
+ * `onLinkLongPress`.
324
+ *
325
+ * @default false
326
+ * @platform ios
327
+ */
328
+ linkLongPressSelects?: boolean;
317
329
  /**
318
330
  * Controls text selection.
319
331
  * - iOS: Controls text selection and link previews on long press.
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownTextProps.d.ts","sourceRoot":"","sources":["../../../../src/types/MarkdownTextProps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownTextProps.d.ts","sourceRoot":"","sources":["../../../../src/types/MarkdownTextProps.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,14 @@ export interface SelectionChangeEvent {
70
70
  startRect: SelectionRect;
71
71
  /** Selected part of the last line (block: same as `rect`). */
72
72
  endRect: SelectionRect;
73
+ /**
74
+ * `true` while a selection handle is dragged (or the loupe is held), with the
75
+ * selection as it was when the drag began; `false` again, with the new
76
+ * selection, once the finger lifts. Hide your menu while it is `true`.
77
+ * Always `false` on Android, which reports the selection continuously
78
+ * during the drag.
79
+ */
80
+ adjusting: boolean;
73
81
  }
74
82
  /**
75
83
  * Native-level context menu item config sent to the native component.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB,+DAA+D;IAC/D,SAAS,EAAE,aAAa,CAAC;IACzB,8DAA8D;IAC9D,OAAO,EAAE,aAAa,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/types/events.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,2CAA2C;IAC3C,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,MAAM,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,KAAK,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,aAAa,CAAC;IACpB,+DAA+D;IAC/D,SAAS,EAAE,aAAa,CAAC;IACzB,8DAA8D;IAC9D,OAAO,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-enriched-markdown-scaffold",
3
- "version": "1.0.2-scaffold.5",
3
+ "version": "1.0.2-scaffold.7",
4
4
  "description": "Markdown-based Rich Text solution for React Native",
5
5
  "main": "./lib/module/index",
6
6
  "module": "./lib/module/index",
@@ -308,6 +308,7 @@ export interface SelectionChangeEvent {
308
308
  width: CodegenTypes.Double;
309
309
  height: CodegenTypes.Double;
310
310
  };
311
+ adjusting: boolean;
311
312
  }
312
313
 
313
314
  export interface TaskListItemPressEvent {
@@ -528,6 +529,16 @@ export interface NativeProps extends ViewProps {
528
529
  * @default true
529
530
  */
530
531
  enableLinkPreview?: CodegenTypes.WithDefault<boolean, true>;
532
+ /**
533
+ * When `true`, long-pressing a link selects its label and shows the
534
+ * selection edit menu instead of the system link preview (iOS only).
535
+ * Takes precedence over `enableLinkPreview` and `onLinkLongPress`.
536
+ *
537
+ * Android: No-op.
538
+ *
539
+ * @default false
540
+ */
541
+ linkLongPressSelects?: CodegenTypes.WithDefault<boolean, false>;
531
542
  /**
532
543
  * - iOS: Controls text selection and link previews on long press.
533
544
  * - Android: Controls text selection.
@@ -309,6 +309,7 @@ export interface SelectionChangeEvent {
309
309
  width: CodegenTypes.Double;
310
310
  height: CodegenTypes.Double;
311
311
  };
312
+ adjusting: boolean;
312
313
  }
313
314
 
314
315
  export interface TaskListItemPressEvent {
@@ -529,6 +530,16 @@ export interface NativeProps extends ViewProps {
529
530
  * @default true
530
531
  */
531
532
  enableLinkPreview?: CodegenTypes.WithDefault<boolean, true>;
533
+ /**
534
+ * When `true`, long-pressing a link selects its label and shows the
535
+ * selection edit menu instead of the system link preview (iOS only).
536
+ * Takes precedence over `enableLinkPreview` and `onLinkLongPress`.
537
+ *
538
+ * Android: No-op.
539
+ *
540
+ * @default false
541
+ */
542
+ linkLongPressSelects?: CodegenTypes.WithDefault<boolean, false>;
532
543
  /**
533
544
  * - iOS: Controls text selection and link previews on long press.
534
545
  * - Android: Controls text selection.
@@ -184,6 +184,7 @@ export const EnrichedMarkdownText = ({
184
184
  onTaskListItemPress: _onTaskListItemPress,
185
185
  onSelectionChange: _onSelectionChange,
186
186
  enableLinkPreview: _enableLinkPreview,
187
+ linkLongPressSelects: _linkLongPressSelects,
187
188
  selectable: _selectable,
188
189
  md4cFlags: _md4cFlags,
189
190
  allowFontScaling: _allowFontScaling,
@@ -183,6 +183,7 @@ export const EnrichedMarkdownText = ({
183
183
  onCopy,
184
184
  onSelectionChange,
185
185
  enableLinkPreview,
186
+ linkLongPressSelects = false,
186
187
  selectable = true,
187
188
  md4cFlags = defaultMd4cFlags,
188
189
  allowFontScaling = true,
@@ -471,6 +472,7 @@ export const EnrichedMarkdownText = ({
471
472
  emitSelectionChange: onSelectionChange != null,
472
473
  onSelectionChange: handleSelectionChange,
473
474
  enableLinkPreview: onLinkLongPress == null && (enableLinkPreview ?? true),
475
+ linkLongPressSelects,
474
476
  selectable,
475
477
  md4cFlags: normalizedMd4cFlags,
476
478
  allowFontScaling,
@@ -305,8 +305,10 @@ export interface EnrichedMarkdownTextProps extends Omit<ViewProps, 'style'> {
305
305
  * the app (`ref.current.clearSelection()`).
306
306
  *
307
307
  * Rects are relative to the view that `ref.current.measureInWindow`
308
- * measures — add that origin to position UI on screen. There is no
309
- * "dragging" flag: debounce before showing a menu.
308
+ * measures — add that origin to position UI on screen. On iOS, `adjusting`
309
+ * is `true` while a selection handle is dragged: hide the menu until it is
310
+ * `false` again. Android reports every step of the drag instead (with
311
+ * `adjusting: false`), so debounce before showing a menu there.
310
312
  * @platform ios, android
311
313
  */
312
314
  onSelectionChange?: (event: SelectionChangeEvent) => void;
@@ -323,6 +325,16 @@ export interface EnrichedMarkdownTextProps extends Omit<ViewProps, 'style'> {
323
325
  * @platform ios
324
326
  */
325
327
  enableLinkPreview?: boolean;
328
+ /**
329
+ * When `true`, long-pressing a link selects its label and shows the
330
+ * selection edit menu, like a manual text selection, instead of the system
331
+ * link preview. Takes precedence over `enableLinkPreview` and
332
+ * `onLinkLongPress`.
333
+ *
334
+ * @default false
335
+ * @platform ios
336
+ */
337
+ linkLongPressSelects?: boolean;
326
338
  /**
327
339
  * Controls text selection.
328
340
  * - iOS: Controls text selection and link previews on long press.
@@ -76,6 +76,14 @@ export interface SelectionChangeEvent {
76
76
  startRect: SelectionRect;
77
77
  /** Selected part of the last line (block: same as `rect`). */
78
78
  endRect: SelectionRect;
79
+ /**
80
+ * `true` while a selection handle is dragged (or the loupe is held), with the
81
+ * selection as it was when the drag began; `false` again, with the new
82
+ * selection, once the finger lifts. Hide your menu while it is `true`.
83
+ * Always `false` on Android, which reports the selection continuously
84
+ * during the drag.
85
+ */
86
+ adjusting: boolean;
79
87
  }
80
88
 
81
89
  /**