@whetware/react-native-stroke-text 0.0.12 → 0.0.15

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 (31) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/android/src/main/cpp/cpp-adapter.cpp +4 -1
  3. package/android/src/main/java/com/margelo/nitro/stroketext/HybridStrokeTextView.kt +5 -11
  4. package/android/src/main/java/com/margelo/nitro/stroketext/NitroStrokeTextPackage.kt +2 -2
  5. package/lib/StrokeText.js +2 -1
  6. package/lib/resolveNativeTextTransform.d.ts +7 -0
  7. package/lib/resolveNativeTextTransform.js +8 -0
  8. package/nitro.json +8 -2
  9. package/nitrogen/generated/android/NitroStrokeTextOnLoad.cpp +27 -17
  10. package/nitrogen/generated/android/NitroStrokeTextOnLoad.hpp +13 -4
  11. package/nitrogen/generated/android/c++/JHybridStrokeTextViewSpec.cpp +72 -78
  12. package/nitrogen/generated/android/c++/JHybridStrokeTextViewSpec.hpp +19 -22
  13. package/nitrogen/generated/android/c++/JStrokeTextAlign.hpp +2 -2
  14. package/nitrogen/generated/android/c++/JStrokeTextAlignVertical.hpp +2 -2
  15. package/nitrogen/generated/android/c++/JStrokeTextDecorationLine.hpp +2 -2
  16. package/nitrogen/generated/android/c++/JStrokeTextEllipsizeMode.hpp +2 -2
  17. package/nitrogen/generated/android/c++/JStrokeTextFontStyle.hpp +2 -2
  18. package/nitrogen/generated/android/c++/JStrokeTextTransform.hpp +2 -2
  19. package/nitrogen/generated/android/c++/views/JHybridStrokeTextViewStateUpdater.cpp +94 -94
  20. package/nitrogen/generated/android/c++/views/JHybridStrokeTextViewStateUpdater.hpp +3 -3
  21. package/nitrogen/generated/android/kotlin/com/margelo/nitro/stroketext/HybridStrokeTextViewSpec.kt +16 -18
  22. package/nitrogen/generated/android/kotlin/com/margelo/nitro/stroketext/views/HybridStrokeTextViewManager.kt +13 -3
  23. package/nitrogen/generated/ios/NitroStrokeText+autolinking.rb +2 -0
  24. package/nitrogen/generated/ios/NitroStrokeText-Swift-Cxx-Bridge.hpp +9 -9
  25. package/nitrogen/generated/ios/c++/views/HybridStrokeTextViewComponent.mm +15 -0
  26. package/nitrogen/generated/ios/swift/HybridStrokeTextViewSpec.swift +0 -1
  27. package/nitrogen/generated/ios/swift/HybridStrokeTextViewSpec_cxx.swift +147 -46
  28. package/nitrogen/generated/shared/c++/views/HybridStrokeTextViewComponent.cpp +5 -36
  29. package/nitrogen/generated/shared/c++/views/HybridStrokeTextViewComponent.hpp +8 -5
  30. package/package.json +11 -10
  31. package/android/src/main/java/com/margelo/nitro/stroketext/views/StrokeTextViewManager.kt +0 -15
@@ -5,7 +5,6 @@
5
5
  /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
- import Foundation
9
8
  import NitroModules
10
9
 
11
10
  /**
@@ -85,7 +84,7 @@ open class HybridStrokeTextViewSpec_cxx {
85
84
  }
86
85
  }
87
86
 
88
-
87
+
89
88
 
90
89
  /**
91
90
  * Get the memory size of the Swift class (plus size of any other allocations)
@@ -132,7 +131,7 @@ open class HybridStrokeTextViewSpec_cxx {
132
131
  self.__implementation.text = String(newValue)
133
132
  }
134
133
  }
135
-
134
+
136
135
  public final var color: bridge.std__optional_std__string_ {
137
136
  @inline(__always)
138
137
  get {
@@ -156,7 +155,7 @@ open class HybridStrokeTextViewSpec_cxx {
156
155
  }()
157
156
  }
158
157
  }
159
-
158
+
160
159
  public final var strokeColor: bridge.std__optional_std__string_ {
161
160
  @inline(__always)
162
161
  get {
@@ -180,7 +179,7 @@ open class HybridStrokeTextViewSpec_cxx {
180
179
  }()
181
180
  }
182
181
  }
183
-
182
+
184
183
  public final var strokeWidth: bridge.std__optional_double_ {
185
184
  @inline(__always)
186
185
  get {
@@ -194,10 +193,17 @@ open class HybridStrokeTextViewSpec_cxx {
194
193
  }
195
194
  @inline(__always)
196
195
  set {
197
- self.__implementation.strokeWidth = newValue.value
196
+ self.__implementation.strokeWidth = { () -> Double? in
197
+ if bridge.has_value_std__optional_double_(newValue) {
198
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
199
+ return __unwrapped
200
+ } else {
201
+ return nil
202
+ }
203
+ }()
198
204
  }
199
205
  }
200
-
206
+
201
207
  public final var fontSize: bridge.std__optional_double_ {
202
208
  @inline(__always)
203
209
  get {
@@ -211,10 +217,17 @@ open class HybridStrokeTextViewSpec_cxx {
211
217
  }
212
218
  @inline(__always)
213
219
  set {
214
- self.__implementation.fontSize = newValue.value
220
+ self.__implementation.fontSize = { () -> Double? in
221
+ if bridge.has_value_std__optional_double_(newValue) {
222
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
223
+ return __unwrapped
224
+ } else {
225
+ return nil
226
+ }
227
+ }()
215
228
  }
216
229
  }
217
-
230
+
218
231
  public final var fontWeight: bridge.std__optional_std__string_ {
219
232
  @inline(__always)
220
233
  get {
@@ -238,7 +251,7 @@ open class HybridStrokeTextViewSpec_cxx {
238
251
  }()
239
252
  }
240
253
  }
241
-
254
+
242
255
  public final var fontFamily: bridge.std__optional_std__string_ {
243
256
  @inline(__always)
244
257
  get {
@@ -262,7 +275,7 @@ open class HybridStrokeTextViewSpec_cxx {
262
275
  }()
263
276
  }
264
277
  }
265
-
278
+
266
279
  public final var fontStyle: bridge.std__optional_StrokeTextFontStyle_ {
267
280
  @inline(__always)
268
281
  get {
@@ -279,7 +292,7 @@ open class HybridStrokeTextViewSpec_cxx {
279
292
  self.__implementation.fontStyle = newValue.value
280
293
  }
281
294
  }
282
-
295
+
283
296
  public final var lineHeight: bridge.std__optional_double_ {
284
297
  @inline(__always)
285
298
  get {
@@ -293,10 +306,17 @@ open class HybridStrokeTextViewSpec_cxx {
293
306
  }
294
307
  @inline(__always)
295
308
  set {
296
- self.__implementation.lineHeight = newValue.value
309
+ self.__implementation.lineHeight = { () -> Double? in
310
+ if bridge.has_value_std__optional_double_(newValue) {
311
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
312
+ return __unwrapped
313
+ } else {
314
+ return nil
315
+ }
316
+ }()
297
317
  }
298
318
  }
299
-
319
+
300
320
  public final var letterSpacing: bridge.std__optional_double_ {
301
321
  @inline(__always)
302
322
  get {
@@ -310,10 +330,17 @@ open class HybridStrokeTextViewSpec_cxx {
310
330
  }
311
331
  @inline(__always)
312
332
  set {
313
- self.__implementation.letterSpacing = newValue.value
333
+ self.__implementation.letterSpacing = { () -> Double? in
334
+ if bridge.has_value_std__optional_double_(newValue) {
335
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
336
+ return __unwrapped
337
+ } else {
338
+ return nil
339
+ }
340
+ }()
314
341
  }
315
342
  }
316
-
343
+
317
344
  public final var textAlign: bridge.std__optional_StrokeTextAlign_ {
318
345
  @inline(__always)
319
346
  get {
@@ -330,7 +357,7 @@ open class HybridStrokeTextViewSpec_cxx {
330
357
  self.__implementation.textAlign = newValue.value
331
358
  }
332
359
  }
333
-
360
+
334
361
  public final var textAlignVertical: bridge.std__optional_StrokeTextAlignVertical_ {
335
362
  @inline(__always)
336
363
  get {
@@ -347,7 +374,7 @@ open class HybridStrokeTextViewSpec_cxx {
347
374
  self.__implementation.textAlignVertical = newValue.value
348
375
  }
349
376
  }
350
-
377
+
351
378
  public final var textDecorationLine: bridge.std__optional_StrokeTextDecorationLine_ {
352
379
  @inline(__always)
353
380
  get {
@@ -364,7 +391,7 @@ open class HybridStrokeTextViewSpec_cxx {
364
391
  self.__implementation.textDecorationLine = newValue.value
365
392
  }
366
393
  }
367
-
394
+
368
395
  public final var textTransform: bridge.std__optional_StrokeTextTransform_ {
369
396
  @inline(__always)
370
397
  get {
@@ -381,7 +408,7 @@ open class HybridStrokeTextViewSpec_cxx {
381
408
  self.__implementation.textTransform = newValue.value
382
409
  }
383
410
  }
384
-
411
+
385
412
  public final var opacity: bridge.std__optional_double_ {
386
413
  @inline(__always)
387
414
  get {
@@ -395,10 +422,17 @@ open class HybridStrokeTextViewSpec_cxx {
395
422
  }
396
423
  @inline(__always)
397
424
  set {
398
- self.__implementation.opacity = newValue.value
425
+ self.__implementation.opacity = { () -> Double? in
426
+ if bridge.has_value_std__optional_double_(newValue) {
427
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
428
+ return __unwrapped
429
+ } else {
430
+ return nil
431
+ }
432
+ }()
399
433
  }
400
434
  }
401
-
435
+
402
436
  public final var allowFontScaling: bridge.std__optional_bool_ {
403
437
  @inline(__always)
404
438
  get {
@@ -422,7 +456,7 @@ open class HybridStrokeTextViewSpec_cxx {
422
456
  }()
423
457
  }
424
458
  }
425
-
459
+
426
460
  public final var maxFontSizeMultiplier: bridge.std__optional_double_ {
427
461
  @inline(__always)
428
462
  get {
@@ -436,10 +470,17 @@ open class HybridStrokeTextViewSpec_cxx {
436
470
  }
437
471
  @inline(__always)
438
472
  set {
439
- self.__implementation.maxFontSizeMultiplier = newValue.value
473
+ self.__implementation.maxFontSizeMultiplier = { () -> Double? in
474
+ if bridge.has_value_std__optional_double_(newValue) {
475
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
476
+ return __unwrapped
477
+ } else {
478
+ return nil
479
+ }
480
+ }()
440
481
  }
441
482
  }
442
-
483
+
443
484
  public final var includeFontPadding: bridge.std__optional_bool_ {
444
485
  @inline(__always)
445
486
  get {
@@ -463,7 +504,7 @@ open class HybridStrokeTextViewSpec_cxx {
463
504
  }()
464
505
  }
465
506
  }
466
-
507
+
467
508
  public final var numberOfLines: bridge.std__optional_double_ {
468
509
  @inline(__always)
469
510
  get {
@@ -477,10 +518,17 @@ open class HybridStrokeTextViewSpec_cxx {
477
518
  }
478
519
  @inline(__always)
479
520
  set {
480
- self.__implementation.numberOfLines = newValue.value
521
+ self.__implementation.numberOfLines = { () -> Double? in
522
+ if bridge.has_value_std__optional_double_(newValue) {
523
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
524
+ return __unwrapped
525
+ } else {
526
+ return nil
527
+ }
528
+ }()
481
529
  }
482
530
  }
483
-
531
+
484
532
  public final var ellipsizeMode: bridge.std__optional_StrokeTextEllipsizeMode_ {
485
533
  @inline(__always)
486
534
  get {
@@ -497,7 +545,7 @@ open class HybridStrokeTextViewSpec_cxx {
497
545
  self.__implementation.ellipsizeMode = newValue.value
498
546
  }
499
547
  }
500
-
548
+
501
549
  public final var padding: bridge.std__optional_double_ {
502
550
  @inline(__always)
503
551
  get {
@@ -511,10 +559,17 @@ open class HybridStrokeTextViewSpec_cxx {
511
559
  }
512
560
  @inline(__always)
513
561
  set {
514
- self.__implementation.padding = newValue.value
562
+ self.__implementation.padding = { () -> Double? in
563
+ if bridge.has_value_std__optional_double_(newValue) {
564
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
565
+ return __unwrapped
566
+ } else {
567
+ return nil
568
+ }
569
+ }()
515
570
  }
516
571
  }
517
-
572
+
518
573
  public final var paddingVertical: bridge.std__optional_double_ {
519
574
  @inline(__always)
520
575
  get {
@@ -528,10 +583,17 @@ open class HybridStrokeTextViewSpec_cxx {
528
583
  }
529
584
  @inline(__always)
530
585
  set {
531
- self.__implementation.paddingVertical = newValue.value
586
+ self.__implementation.paddingVertical = { () -> Double? in
587
+ if bridge.has_value_std__optional_double_(newValue) {
588
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
589
+ return __unwrapped
590
+ } else {
591
+ return nil
592
+ }
593
+ }()
532
594
  }
533
595
  }
534
-
596
+
535
597
  public final var paddingHorizontal: bridge.std__optional_double_ {
536
598
  @inline(__always)
537
599
  get {
@@ -545,10 +607,17 @@ open class HybridStrokeTextViewSpec_cxx {
545
607
  }
546
608
  @inline(__always)
547
609
  set {
548
- self.__implementation.paddingHorizontal = newValue.value
610
+ self.__implementation.paddingHorizontal = { () -> Double? in
611
+ if bridge.has_value_std__optional_double_(newValue) {
612
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
613
+ return __unwrapped
614
+ } else {
615
+ return nil
616
+ }
617
+ }()
549
618
  }
550
619
  }
551
-
620
+
552
621
  public final var paddingTop: bridge.std__optional_double_ {
553
622
  @inline(__always)
554
623
  get {
@@ -562,10 +631,17 @@ open class HybridStrokeTextViewSpec_cxx {
562
631
  }
563
632
  @inline(__always)
564
633
  set {
565
- self.__implementation.paddingTop = newValue.value
634
+ self.__implementation.paddingTop = { () -> Double? in
635
+ if bridge.has_value_std__optional_double_(newValue) {
636
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
637
+ return __unwrapped
638
+ } else {
639
+ return nil
640
+ }
641
+ }()
566
642
  }
567
643
  }
568
-
644
+
569
645
  public final var paddingRight: bridge.std__optional_double_ {
570
646
  @inline(__always)
571
647
  get {
@@ -579,10 +655,17 @@ open class HybridStrokeTextViewSpec_cxx {
579
655
  }
580
656
  @inline(__always)
581
657
  set {
582
- self.__implementation.paddingRight = newValue.value
658
+ self.__implementation.paddingRight = { () -> Double? in
659
+ if bridge.has_value_std__optional_double_(newValue) {
660
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
661
+ return __unwrapped
662
+ } else {
663
+ return nil
664
+ }
665
+ }()
583
666
  }
584
667
  }
585
-
668
+
586
669
  public final var paddingBottom: bridge.std__optional_double_ {
587
670
  @inline(__always)
588
671
  get {
@@ -596,10 +679,17 @@ open class HybridStrokeTextViewSpec_cxx {
596
679
  }
597
680
  @inline(__always)
598
681
  set {
599
- self.__implementation.paddingBottom = newValue.value
682
+ self.__implementation.paddingBottom = { () -> Double? in
683
+ if bridge.has_value_std__optional_double_(newValue) {
684
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
685
+ return __unwrapped
686
+ } else {
687
+ return nil
688
+ }
689
+ }()
600
690
  }
601
691
  }
602
-
692
+
603
693
  public final var paddingLeft: bridge.std__optional_double_ {
604
694
  @inline(__always)
605
695
  get {
@@ -613,7 +703,14 @@ open class HybridStrokeTextViewSpec_cxx {
613
703
  }
614
704
  @inline(__always)
615
705
  set {
616
- self.__implementation.paddingLeft = newValue.value
706
+ self.__implementation.paddingLeft = { () -> Double? in
707
+ if bridge.has_value_std__optional_double_(newValue) {
708
+ let __unwrapped = bridge.get_std__optional_double_(newValue)
709
+ return __unwrapped
710
+ } else {
711
+ return nil
712
+ }
713
+ }()
617
714
  }
618
715
  }
619
716
 
@@ -621,17 +718,21 @@ open class HybridStrokeTextViewSpec_cxx {
621
718
  public final func getView() -> UnsafeMutableRawPointer {
622
719
  return Unmanaged.passRetained(__implementation.view).toOpaque()
623
720
  }
624
-
721
+
625
722
  public final func beforeUpdate() {
626
723
  __implementation.beforeUpdate()
627
724
  }
628
-
725
+
629
726
  public final func afterUpdate() {
630
727
  __implementation.afterUpdate()
631
728
  }
632
-
729
+
633
730
  public final func maybePrepareForRecycle() {
634
- guard let recyclable = __implementation as? RecyclableView else { return }
731
+ guard let recyclable = __implementation as? any RecyclableView else { return }
635
732
  recyclable.prepareForRecycle()
636
733
  }
734
+
735
+ public final func onDropView() {
736
+ __implementation.onDropView()
737
+ }
637
738
  }
@@ -307,37 +307,6 @@ namespace margelo::nitro::stroketext::views {
307
307
  }
308
308
  }()) { }
309
309
 
310
- HybridStrokeTextViewProps::HybridStrokeTextViewProps(const HybridStrokeTextViewProps& other):
311
- react::ViewProps(),
312
- text(other.text),
313
- color(other.color),
314
- strokeColor(other.strokeColor),
315
- strokeWidth(other.strokeWidth),
316
- fontSize(other.fontSize),
317
- fontWeight(other.fontWeight),
318
- fontFamily(other.fontFamily),
319
- fontStyle(other.fontStyle),
320
- lineHeight(other.lineHeight),
321
- letterSpacing(other.letterSpacing),
322
- textAlign(other.textAlign),
323
- textAlignVertical(other.textAlignVertical),
324
- textDecorationLine(other.textDecorationLine),
325
- textTransform(other.textTransform),
326
- opacity(other.opacity),
327
- allowFontScaling(other.allowFontScaling),
328
- maxFontSizeMultiplier(other.maxFontSizeMultiplier),
329
- includeFontPadding(other.includeFontPadding),
330
- numberOfLines(other.numberOfLines),
331
- ellipsizeMode(other.ellipsizeMode),
332
- padding(other.padding),
333
- paddingVertical(other.paddingVertical),
334
- paddingHorizontal(other.paddingHorizontal),
335
- paddingTop(other.paddingTop),
336
- paddingRight(other.paddingRight),
337
- paddingBottom(other.paddingBottom),
338
- paddingLeft(other.paddingLeft),
339
- hybridRef(other.hybridRef) { }
340
-
341
310
  bool HybridStrokeTextViewProps::filterObjectKeys(const std::string& propName) {
342
311
  switch (hashString(propName)) {
343
312
  case hashString("text"): return true;
@@ -374,7 +343,7 @@ namespace margelo::nitro::stroketext::views {
374
343
 
375
344
  HybridStrokeTextViewComponentDescriptor::HybridStrokeTextViewComponentDescriptor(const react::ComponentDescriptorParameters& parameters)
376
345
  : ConcreteComponentDescriptor(parameters,
377
- react::RawPropsParser(/* enableJsiParser */ true)) {}
346
+ react::RawPropsParser()) {}
378
347
 
379
348
  std::shared_ptr<const react::Props> HybridStrokeTextViewComponentDescriptor::cloneProps(const react::PropsParserContext& context,
380
349
  const std::shared_ptr<const react::Props>& props,
@@ -389,10 +358,10 @@ namespace margelo::nitro::stroketext::views {
389
358
  void HybridStrokeTextViewComponentDescriptor::adopt(react::ShadowNode& shadowNode) const {
390
359
  // This is called immediately after `ShadowNode` is created, cloned or in progress.
391
360
  // On Android, we need to wrap props in our state, which gets routed through Java and later unwrapped in JNI/C++.
392
- auto& concreteShadowNode = dynamic_cast<HybridStrokeTextViewShadowNode&>(shadowNode);
393
- const HybridStrokeTextViewProps& props = concreteShadowNode.getConcreteProps();
394
- HybridStrokeTextViewState state;
395
- state.setProps(props);
361
+ auto& concreteShadowNode = static_cast<HybridStrokeTextViewShadowNode&>(shadowNode);
362
+ const std::shared_ptr<const HybridStrokeTextViewProps>& constProps = concreteShadowNode.getConcreteSharedProps();
363
+ const std::shared_ptr<HybridStrokeTextViewProps>& props = std::const_pointer_cast<HybridStrokeTextViewProps>(constProps);
364
+ HybridStrokeTextViewState state{props};
396
365
  concreteShadowNode.setStateData(std::move(state));
397
366
  }
398
367
  #endif
@@ -43,7 +43,6 @@ namespace margelo::nitro::stroketext::views {
43
43
  class HybridStrokeTextViewProps final: public react::ViewProps {
44
44
  public:
45
45
  HybridStrokeTextViewProps() = default;
46
- HybridStrokeTextViewProps(const HybridStrokeTextViewProps&);
47
46
  HybridStrokeTextViewProps(const react::PropsParserContext& context,
48
47
  const HybridStrokeTextViewProps& sourceProps,
49
48
  const react::RawProps& rawProps);
@@ -88,10 +87,14 @@ namespace margelo::nitro::stroketext::views {
88
87
  class HybridStrokeTextViewState final {
89
88
  public:
90
89
  HybridStrokeTextViewState() = default;
90
+ explicit HybridStrokeTextViewState(const std::shared_ptr<HybridStrokeTextViewProps>& props):
91
+ _props(props) {}
91
92
 
92
93
  public:
93
- void setProps(const HybridStrokeTextViewProps& props) { _props.emplace(props); }
94
- const std::optional<HybridStrokeTextViewProps>& getProps() const { return _props; }
94
+ [[nodiscard]]
95
+ const std::shared_ptr<HybridStrokeTextViewProps>& getProps() const {
96
+ return _props;
97
+ }
95
98
 
96
99
  public:
97
100
  #ifdef ANDROID
@@ -105,7 +108,7 @@ namespace margelo::nitro::stroketext::views {
105
108
  #endif
106
109
 
107
110
  private:
108
- std::optional<HybridStrokeTextViewProps> _props;
111
+ std::shared_ptr<HybridStrokeTextViewProps> _props;
109
112
  };
110
113
 
111
114
  /**
@@ -121,7 +124,7 @@ namespace margelo::nitro::stroketext::views {
121
124
  */
122
125
  class HybridStrokeTextViewComponentDescriptor final: public react::ConcreteComponentDescriptor<HybridStrokeTextViewShadowNode> {
123
126
  public:
124
- HybridStrokeTextViewComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
127
+ explicit HybridStrokeTextViewComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
125
128
 
126
129
  public:
127
130
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whetware/react-native-stroke-text",
3
- "version": "0.0.12",
3
+ "version": "0.0.15",
4
4
  "description": "Stroke/outline text for React Native (New Architecture) on iOS, Android, and Web.",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -33,6 +33,7 @@
33
33
  "clean": "rm -rf android/build node_modules/**/android/build lib",
34
34
  "lint": "eslint \"**/*.{js,ts,tsx}\" --fix",
35
35
  "lint-ci": "eslint \"**/*.{js,ts,tsx}\"",
36
+ "test": "tsc && node --test test/*.test.mjs",
36
37
  "typescript": "tsc",
37
38
  "prepare": "npm run prepack",
38
39
  "prepack": "tsc",
@@ -68,22 +69,22 @@
68
69
  "devDependencies": {
69
70
  "@changesets/changelog-github": "0.5.2",
70
71
  "@changesets/cli": "2.29.8",
71
- "@react-native/eslint-config": "0.83.0",
72
- "@types/react": "^19.1.03",
72
+ "@react-native/eslint-config": "0.86.0",
73
+ "@types/react": "19.2.17",
73
74
  "eslint": "^8.57.0",
74
75
  "eslint-config-prettier": "^9.1.0",
75
76
  "eslint-plugin-prettier": "^5.2.1",
76
- "nitrogen": "*",
77
+ "nitrogen": "0.36.1",
77
78
  "prettier": "^3.3.3",
78
- "react": "19.2.0",
79
- "react-native": "0.83.0",
80
- "react-native-nitro-modules": "*",
79
+ "react": "19.2.3",
80
+ "react-native": "0.86.0",
81
+ "react-native-nitro-modules": "0.36.1",
81
82
  "typescript": "^5.8.3"
82
83
  },
83
84
  "peerDependencies": {
84
- "react": "*",
85
- "react-native": "*",
86
- "react-native-nitro-modules": "*"
85
+ "react": ">=19.2.3",
86
+ "react-native": ">=0.86.0",
87
+ "react-native-nitro-modules": ">=0.36.1"
87
88
  },
88
89
  "eslintConfig": {
89
90
  "root": true,
@@ -1,15 +0,0 @@
1
- package com.margelo.nitro.stroketext.views
2
-
3
- import android.view.View
4
- import com.margelo.nitro.R.id.associated_hybrid_view_tag
5
- import com.margelo.nitro.stroketext.HybridStrokeTextView
6
-
7
- class StrokeTextViewManager : HybridStrokeTextViewManager() {
8
- override fun onDropViewInstance(view: View) {
9
- val hybridView = view.getTag(associated_hybrid_view_tag) as? HybridStrokeTextView
10
- view.setTag(associated_hybrid_view_tag, null)
11
- hybridView?.dispose()
12
- super.onDropViewInstance(view)
13
- }
14
- }
15
-