@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.
- package/CHANGELOG.md +14 -0
- package/android/src/main/cpp/cpp-adapter.cpp +4 -1
- package/android/src/main/java/com/margelo/nitro/stroketext/HybridStrokeTextView.kt +5 -11
- package/android/src/main/java/com/margelo/nitro/stroketext/NitroStrokeTextPackage.kt +2 -2
- package/lib/StrokeText.js +2 -1
- package/lib/resolveNativeTextTransform.d.ts +7 -0
- package/lib/resolveNativeTextTransform.js +8 -0
- package/nitro.json +8 -2
- package/nitrogen/generated/android/NitroStrokeTextOnLoad.cpp +27 -17
- package/nitrogen/generated/android/NitroStrokeTextOnLoad.hpp +13 -4
- package/nitrogen/generated/android/c++/JHybridStrokeTextViewSpec.cpp +72 -78
- package/nitrogen/generated/android/c++/JHybridStrokeTextViewSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JStrokeTextAlign.hpp +2 -2
- package/nitrogen/generated/android/c++/JStrokeTextAlignVertical.hpp +2 -2
- package/nitrogen/generated/android/c++/JStrokeTextDecorationLine.hpp +2 -2
- package/nitrogen/generated/android/c++/JStrokeTextEllipsizeMode.hpp +2 -2
- package/nitrogen/generated/android/c++/JStrokeTextFontStyle.hpp +2 -2
- package/nitrogen/generated/android/c++/JStrokeTextTransform.hpp +2 -2
- package/nitrogen/generated/android/c++/views/JHybridStrokeTextViewStateUpdater.cpp +94 -94
- package/nitrogen/generated/android/c++/views/JHybridStrokeTextViewStateUpdater.hpp +3 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/stroketext/HybridStrokeTextViewSpec.kt +16 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/stroketext/views/HybridStrokeTextViewManager.kt +13 -3
- package/nitrogen/generated/ios/NitroStrokeText+autolinking.rb +2 -0
- package/nitrogen/generated/ios/NitroStrokeText-Swift-Cxx-Bridge.hpp +9 -9
- package/nitrogen/generated/ios/c++/views/HybridStrokeTextViewComponent.mm +15 -0
- package/nitrogen/generated/ios/swift/HybridStrokeTextViewSpec.swift +0 -1
- package/nitrogen/generated/ios/swift/HybridStrokeTextViewSpec_cxx.swift +147 -46
- package/nitrogen/generated/shared/c++/views/HybridStrokeTextViewComponent.cpp +5 -36
- package/nitrogen/generated/shared/c++/views/HybridStrokeTextViewComponent.hpp +8 -5
- package/package.json +11 -10
- 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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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 =
|
|
393
|
-
const HybridStrokeTextViewProps
|
|
394
|
-
|
|
395
|
-
state
|
|
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
|
-
|
|
94
|
-
const std::
|
|
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::
|
|
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.
|
|
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.
|
|
72
|
-
"@types/react": "
|
|
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.
|
|
79
|
-
"react-native": "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
|
-
|