react-native-enriched 0.4.0 → 0.5.0

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 (54) hide show
  1. package/README.md +27 -2
  2. package/ReactNativeEnriched.podspec +5 -1
  3. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerDelegate.java +12 -0
  4. package/android/generated/java/com/facebook/react/viewmanagers/EnrichedTextInputViewManagerInterface.java +4 -0
  5. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
  6. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
  7. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.cpp +16 -1
  8. package/android/generated/jni/react/renderer/components/ReactNativeEnrichedSpec/Props.h +46 -0
  9. package/android/src/main/java/com/swmansion/enriched/common/GumboNormalizer.kt +5 -0
  10. package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedCheckboxListSpan.kt +3 -2
  11. package/android/src/main/java/com/swmansion/enriched/common/spans/EnrichedUnorderedListSpan.kt +2 -1
  12. package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputView.kt +166 -20
  13. package/android/src/main/java/com/swmansion/enriched/textinput/EnrichedTextInputViewManager.kt +32 -0
  14. package/android/src/main/java/com/swmansion/enriched/textinput/MeasurementStore.kt +19 -2
  15. package/android/src/main/java/com/swmansion/enriched/textinput/events/OnContextMenuItemPressEvent.kt +35 -0
  16. package/android/src/main/java/com/swmansion/enriched/textinput/spans/EnrichedLineHeightSpan.kt +44 -0
  17. package/android/src/main/java/com/swmansion/enriched/textinput/styles/ParagraphStyles.kt +19 -14
  18. package/android/src/main/java/com/swmansion/enriched/textinput/styles/ParametrizedStyles.kt +16 -0
  19. package/android/src/main/java/com/swmansion/enriched/textinput/utils/EnrichedSpanState.kt +18 -12
  20. package/android/src/main/new_arch/CMakeLists.txt +9 -13
  21. package/android/src/main/new_arch/GumboNormalizerJni.cpp +14 -0
  22. package/android/src/main/new_arch/react/renderer/components/ReactNativeEnrichedSpec/conversions.h +2 -21
  23. package/cpp/CMakeLists.txt +50 -0
  24. package/cpp/GumboParser/GumboParser.h +34043 -0
  25. package/cpp/README.md +59 -0
  26. package/cpp/parser/GumboNormalizer.c +915 -0
  27. package/cpp/parser/GumboParser.cpp +16 -0
  28. package/cpp/parser/GumboParser.hpp +23 -0
  29. package/cpp/tests/GumboParserTest.cpp +457 -0
  30. package/ios/EnrichedTextInputView.h +2 -0
  31. package/ios/EnrichedTextInputView.mm +160 -2
  32. package/ios/config/InputConfig.h +3 -0
  33. package/ios/config/InputConfig.mm +15 -0
  34. package/ios/extensions/LayoutManagerExtension.mm +34 -11
  35. package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.cpp +149 -0
  36. package/ios/generated/ReactNativeEnrichedSpec/EventEmitters.h +146 -0
  37. package/ios/generated/ReactNativeEnrichedSpec/Props.cpp +16 -1
  38. package/ios/generated/ReactNativeEnrichedSpec/Props.h +46 -0
  39. package/ios/generated/ReactNativeEnrichedSpec/RCTComponentViewHelpers.h +29 -0
  40. package/ios/inputParser/InputParser.mm +27 -0
  41. package/ios/interfaces/ImageAttachment.mm +29 -0
  42. package/lib/module/EnrichedTextInput.js +43 -30
  43. package/lib/module/EnrichedTextInput.js.map +1 -1
  44. package/lib/module/spec/EnrichedTextInputNativeComponent.ts +118 -22
  45. package/lib/typescript/src/EnrichedTextInput.d.ts +24 -6
  46. package/lib/typescript/src/EnrichedTextInput.d.ts.map +1 -1
  47. package/lib/typescript/src/index.d.ts +1 -1
  48. package/lib/typescript/src/index.d.ts.map +1 -1
  49. package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts +111 -21
  50. package/lib/typescript/src/spec/EnrichedTextInputNativeComponent.d.ts.map +1 -1
  51. package/package.json +5 -5
  52. package/src/EnrichedTextInput.tsx +79 -40
  53. package/src/index.tsx +0 -1
  54. package/src/spec/EnrichedTextInputNativeComponent.ts +118 -22
package/cpp/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # C++ – Gumbo HTML Normalizer
2
+
3
+ ## Gumbo-parser setup
4
+
5
+ The normalizer depends on a single amalgamation file `GumboParser/GumboParser.h`.
6
+
7
+ This file was created from the [gumbo-parser](https://codeberg.org/gumbo-parser/gumbo-parser) repository — an actively maintained fork of the original Google gumbo-parser.
8
+
9
+ ### Updating gumbo-parser
10
+
11
+ If you want to upgrade to a newer version:
12
+
13
+ 1. Clone the repository:
14
+ ```bash
15
+ git clone https://codeberg.org/gumbo-parser/gumbo-parser.git
16
+ ```
17
+ 2. Create a new amalgamation from the cloned source files.
18
+ 3. Replace the existing `cpp/GumboParser/GumboParser.h` with the newly generated amalgamation.
19
+
20
+ ## Building and running tests
21
+
22
+ Prerequisites: **CMake ≥ 3.14** and a C/C++ compiler (Clang or GCC).
23
+
24
+ ```bash
25
+ cd cpp
26
+
27
+ # Configure (only needed once, or after editing CMakeLists.txt)
28
+ cmake -B build -DCMAKE_BUILD_TYPE=Debug
29
+
30
+ # Build
31
+ cmake --build build
32
+
33
+ # Run tests
34
+ ctest --test-dir build --output-on-failure
35
+ ```
36
+
37
+ ## Upgrading Google Test
38
+
39
+ GTest is fetched automatically by CMake via `FetchContent`. To change the
40
+ version, edit the `GIT_TAG` in `cpp/CMakeLists.txt`:
41
+
42
+ ```cmake
43
+ FetchContent_Declare(
44
+ googletest
45
+ GIT_REPOSITORY https://github.com/google/googletest.git
46
+ GIT_TAG v1.17.0 # ← change this to the desired version/tag
47
+ )
48
+ ```
49
+
50
+ Then re-configure and rebuild:
51
+
52
+ ```bash
53
+ cd cpp
54
+ rm -rf build
55
+ cmake -B build -DCMAKE_BUILD_TYPE=Debug
56
+ cmake --build build
57
+ ```
58
+
59
+ Available tags can be found at https://github.com/google/googletest/tags.