@developer_tribe/react-builder 1.2.37 → 1.2.39

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 (123) hide show
  1. package/dist/build-components/BIcon/BIconProps.generated.d.ts +1 -0
  2. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +1 -0
  3. package/dist/build-components/Button/ButtonProps.generated.d.ts +1 -0
  4. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +1 -0
  5. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +1 -0
  6. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +1 -0
  7. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +1 -0
  8. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +1 -0
  9. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +1 -0
  10. package/dist/build-components/Image/ImageProps.generated.d.ts +3 -0
  11. package/dist/build-components/Main/MainProps.generated.d.ts +1 -0
  12. package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +1 -0
  13. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +1 -0
  14. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +2 -0
  15. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +1 -0
  16. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +1 -0
  17. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +1 -0
  18. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +3 -0
  19. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +1 -0
  20. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +1 -0
  21. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +1 -0
  22. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +1 -0
  23. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +1 -0
  24. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +1 -0
  25. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +1 -0
  26. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +1 -0
  27. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +1 -0
  28. package/dist/build-components/PriceTag/PriceTagProps.generated.d.ts +1 -0
  29. package/dist/build-components/Pricing/PricingProps.generated.d.ts +1 -0
  30. package/dist/build-components/Promo/PromoProps.generated.d.ts +1 -0
  31. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +1 -0
  32. package/dist/build-components/Separator/SeparatorProps.generated.d.ts +1 -0
  33. package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +1 -39
  34. package/dist/build-components/Text/TextProps.generated.d.ts +1 -0
  35. package/dist/build-components/View/ViewProps.generated.d.ts +1 -0
  36. package/dist/build-components/patterns.generated.d.ts +1455 -1007
  37. package/dist/index.cjs.js +1 -1
  38. package/dist/index.cjs.js.map +1 -1
  39. package/dist/index.esm.js +1 -1
  40. package/dist/index.esm.js.map +1 -1
  41. package/dist/index.web.cjs.js +4 -4
  42. package/dist/index.web.cjs.js.map +1 -1
  43. package/dist/index.web.esm.js +4 -4
  44. package/dist/index.web.esm.js.map +1 -1
  45. package/dist/mockOS/context/MockOSContextBase.d.ts +1 -0
  46. package/dist/mockOS/managers/mockPermissionManager.d.ts +1 -1
  47. package/dist/types/PreviewConfig.d.ts +1 -1
  48. package/package.json +1 -1
  49. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +18 -0
  50. package/src/assets/meta.json +1 -1
  51. package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
  52. package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
  53. package/src/assets/samples/carousel-sample.json +49 -23
  54. package/src/assets/samples/paywall-1.json +61 -29
  55. package/src/assets/samples/paywall-2.json +53 -25
  56. package/src/assets/samples/paywall-app-delete-offer.json +55 -26
  57. package/src/assets/samples/paywall-app-open-offer.json +55 -26
  58. package/src/assets/samples/paywall-back-offer.json +55 -26
  59. package/src/assets/samples/paywall-notification-offer.json +55 -26
  60. package/src/assets/samples/simple-1.json +9 -3
  61. package/src/assets/samples/simple-2.json +51 -24
  62. package/src/assets/samples/unmigrated-builder-1.1.1.json +15 -6
  63. package/src/assets/samples/unmigrated-builder1.json +9 -3
  64. package/src/assets/samples/unvalidated-builder1.json +9 -3
  65. package/src/assets/samples/unvalidated-crash1.json +5 -1
  66. package/src/assets/samples/unvalidated-crashcomponent1.json +5 -1
  67. package/src/assets/samples/vpn-onboard-1.json +94 -51
  68. package/src/assets/samples/vpn-onboard-2.json +94 -51
  69. package/src/assets/samples/vpn-onboard-3.json +85 -48
  70. package/src/assets/samples/vpn-onboard-4.json +85 -48
  71. package/src/assets/samples/vpn-onboard-5.json +132 -73
  72. package/src/assets/samples/vpn-onboard-6.json +94 -51
  73. package/src/assets/samples/vpn-onboard-7.json +92 -50
  74. package/src/build-components/BIcon/BIconProps.generated.ts +1 -0
  75. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +1 -0
  76. package/src/build-components/Button/ButtonProps.generated.ts +1 -0
  77. package/src/build-components/Carousel/CarouselProps.generated.ts +1 -0
  78. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +1 -0
  79. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +1 -0
  80. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +1 -0
  81. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +1 -0
  82. package/src/build-components/CountDown/CountDownProps.generated.ts +1 -0
  83. package/src/build-components/Image/ImageProps.generated.ts +7 -0
  84. package/src/build-components/Image/pattern.json +9 -0
  85. package/src/build-components/Main/MainProps.generated.ts +1 -0
  86. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +1 -0
  87. package/src/build-components/Onboard/OnboardProps.generated.ts +1 -0
  88. package/src/build-components/OnboardButton/OnboardButton.tsx +6 -6
  89. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +2 -0
  90. package/src/build-components/OnboardButton/pattern.json +2 -1
  91. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +1 -0
  92. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +1 -0
  93. package/src/build-components/OnboardFooter/OnboardFooter.tsx +3 -3
  94. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -0
  95. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +7 -0
  96. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +1 -0
  97. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +1 -0
  98. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -0
  99. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -0
  100. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +1 -0
  101. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -0
  102. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +1 -0
  103. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +1 -0
  104. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +1 -0
  105. package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -0
  106. package/src/build-components/Pricing/PricingProps.generated.ts +1 -0
  107. package/src/build-components/Promo/PromoProps.generated.ts +1 -0
  108. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +1 -0
  109. package/src/build-components/Separator/SeparatorProps.generated.ts +1 -0
  110. package/src/build-components/Separator/pattern.json +2 -1
  111. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +1 -51
  112. package/src/build-components/StatusBarColor/pattern.json +2 -2
  113. package/src/build-components/Text/TextProps.generated.ts +1 -0
  114. package/src/build-components/Text/pattern.json +1 -1
  115. package/src/build-components/View/ViewProps.generated.ts +1 -0
  116. package/src/build-components/View/pattern.json +2 -1
  117. package/src/build-components/patterns.generated.ts +1567 -1139
  118. package/src/mockOS/context/MockOSContext.tsx +32 -0
  119. package/src/mockOS/context/MockOSContextBase.ts +3 -0
  120. package/src/mockOS/managers/mockPermissionManager.ts +9 -3
  121. package/src/modals/InspectModal.tsx +37 -8
  122. package/src/product-base/buildPaywallLocalizationParams.ts +12 -3
  123. package/src/types/PreviewConfig.ts +70 -46
@@ -68,6 +68,7 @@ export const patterns = [
68
68
  zIndex: 'number',
69
69
  },
70
70
  scrollable: 'boolean',
71
+ testID: 'string',
71
72
  iconType: 'iconType',
72
73
  size: 'number',
73
74
  strokeWidth: 'number',
@@ -91,7 +92,7 @@ export const patterns = [
91
92
  category: 'style',
92
93
  specialCategory: null,
93
94
  sort: 2,
94
- preferredScale: 's',
95
+ preferredScale: 'f',
95
96
  },
96
97
  fontFamily: {
97
98
  label: 'Font Family',
@@ -530,6 +531,7 @@ export const patterns = [
530
531
  right: 'size',
531
532
  zIndex: 'number',
532
533
  },
534
+ testID: 'string',
533
535
  src: 'string',
534
536
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
535
537
  },
@@ -947,6 +949,7 @@ export const patterns = [
947
949
  '900',
948
950
  ],
949
951
  },
952
+ testID: 'string',
950
953
  },
951
954
  },
952
955
  meta: {
@@ -1352,6 +1355,7 @@ export const patterns = [
1352
1355
  right: 'size',
1353
1356
  zIndex: 'number',
1354
1357
  },
1358
+ testID: 'string',
1355
1359
  loop: 'boolean',
1356
1360
  dragFree: 'boolean',
1357
1361
  align: ['start', 'center', 'end'],
@@ -1734,6 +1738,7 @@ export const patterns = [
1734
1738
  right: 'size',
1735
1739
  zIndex: 'number',
1736
1740
  },
1741
+ testID: 'string',
1737
1742
  buttonType: ['previous_button', 'next_button', 'skip_button'],
1738
1743
  skipNumber: 'number',
1739
1744
  },
@@ -2129,6 +2134,7 @@ export const patterns = [
2129
2134
  right: 'size',
2130
2135
  zIndex: 'number',
2131
2136
  },
2137
+ testID: 'string',
2132
2138
  dotType: [
2133
2139
  'expanding_dot',
2134
2140
  'normal_dot',
@@ -2532,6 +2538,7 @@ export const patterns = [
2532
2538
  right: 'size',
2533
2539
  zIndex: 'number',
2534
2540
  },
2541
+ testID: 'string',
2535
2542
  },
2536
2543
  },
2537
2544
  meta: {
@@ -2911,6 +2918,7 @@ export const patterns = [
2911
2918
  right: 'size',
2912
2919
  zIndex: 'number',
2913
2920
  },
2921
+ testID: 'string',
2914
2922
  },
2915
2923
  },
2916
2924
  meta: {
@@ -3301,6 +3309,7 @@ export const patterns = [
3301
3309
  zIndex: 'number',
3302
3310
  },
3303
3311
  scrollable: 'boolean',
3312
+ testID: 'string',
3304
3313
  count: 'number',
3305
3314
  },
3306
3315
  },
@@ -3322,7 +3331,7 @@ export const patterns = [
3322
3331
  category: 'style',
3323
3332
  specialCategory: null,
3324
3333
  sort: 2,
3325
- preferredScale: 's',
3334
+ preferredScale: 'f',
3326
3335
  },
3327
3336
  fontFamily: {
3328
3337
  label: 'Font Family',
@@ -3746,7 +3755,9 @@ export const patterns = [
3746
3755
  zIndex: 'number',
3747
3756
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
3748
3757
  },
3758
+ testID: 'string',
3749
3759
  src: 'string',
3760
+ fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
3750
3761
  },
3751
3762
  },
3752
3763
  meta: {
@@ -4060,6 +4071,14 @@ export const patterns = [
4060
4071
  specialCategory: null,
4061
4072
  sort: 1,
4062
4073
  },
4074
+ fetchStrategy: {
4075
+ label: 'Fetch Strategy',
4076
+ description:
4077
+ "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
4078
+ category: 'other',
4079
+ specialCategory: null,
4080
+ sort: 2,
4081
+ },
4063
4082
  },
4064
4083
  styles: {
4065
4084
  resizeMode: {
@@ -4081,6 +4100,7 @@ export const patterns = [
4081
4100
  flexShrink: 0,
4082
4101
  resizeMode: 'contain',
4083
4102
  },
4103
+ fetchStrategy: 'normal',
4084
4104
  },
4085
4105
  types: {},
4086
4106
  },
@@ -4142,6 +4162,7 @@ export const patterns = [
4142
4162
  right: 'size',
4143
4163
  zIndex: 'number',
4144
4164
  },
4165
+ testID: 'string',
4145
4166
  useSafeAreaView: 'boolean',
4146
4167
  },
4147
4168
  },
@@ -4536,6 +4557,7 @@ export const patterns = [
4536
4557
  right: 'size',
4537
4558
  zIndex: 'number',
4538
4559
  },
4560
+ testID: 'string',
4539
4561
  },
4540
4562
  },
4541
4563
  meta: {
@@ -4924,6 +4946,7 @@ export const patterns = [
4924
4946
  right: 'size',
4925
4947
  zIndex: 'number',
4926
4948
  },
4949
+ testID: 'string',
4927
4950
  },
4928
4951
  },
4929
4952
  meta: {
@@ -5305,6 +5328,7 @@ export const patterns = [
5305
5328
  zIndex: 'number',
5306
5329
  color: 'color',
5307
5330
  },
5331
+ testID: ['onboardSkip', 'onboardNext'],
5308
5332
  labelKey: 'string',
5309
5333
  animation: [
5310
5334
  'simple-animation',
@@ -5347,173 +5371,6 @@ export const patterns = [
5347
5371
  sort: 4,
5348
5372
  },
5349
5373
  },
5350
- attributes: {
5351
- scrollable: {
5352
- label: 'Scrollable',
5353
- description: 'Turns scroll interaction on.',
5354
- category: 'container',
5355
- specialCategory: null,
5356
- sort: -1,
5357
- },
5358
- styles: {
5359
- color: {
5360
- label: 'Color',
5361
- description: 'Text color.',
5362
- category: 'style',
5363
- specialCategory: null,
5364
- sort: 1,
5365
- },
5366
- },
5367
- labelKey: {
5368
- label: 'Label Key',
5369
- description: 'Localization key for the button text.',
5370
- category: 'other',
5371
- specialCategory: null,
5372
- sort: 1,
5373
- },
5374
- events: {
5375
- label: 'Events',
5376
- description: 'List of events fired by the button.',
5377
- category: 'other',
5378
- specialCategory: null,
5379
- sort: 7,
5380
- },
5381
- animation: {
5382
- label: 'Animation',
5383
- description: 'Animation style for the button.',
5384
- category: 'style',
5385
- specialCategory: null,
5386
- sort: 3,
5387
- },
5388
- animation_color: {
5389
- label: 'Animation Color',
5390
- description: 'Color used by the animation.',
5391
- category: 'style',
5392
- specialCategory: null,
5393
- sort: 4,
5394
- },
5395
- },
5396
- styles: {},
5397
- },
5398
- defaults: {
5399
- styles: {
5400
- flexDirection: 'column',
5401
- position: 'relative',
5402
- zIndex: 1,
5403
- alignSelf: 'flex-start',
5404
- flexGrow: 0,
5405
- flexShrink: 0,
5406
- height: '40@vs',
5407
- borderRadius: '12@s',
5408
- color: 'THEME_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT',
5409
- },
5410
- },
5411
- types: {
5412
- EventObject: {
5413
- type: ['Permission', 'Navigate'],
5414
- permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
5415
- navigate_to: 'string',
5416
- targetIndex: 'number',
5417
- },
5418
- },
5419
- },
5420
- {
5421
- schemaVersion: 2,
5422
- pattern: {
5423
- type: 'OnboardButtons',
5424
- title: 'title',
5425
- description: 'description',
5426
- children: 'node',
5427
- attributes: {
5428
- scrollable: 'boolean',
5429
- styles: {
5430
- flexDirection: ['row', 'column'],
5431
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
5432
- alignItems: [
5433
- 'flex-start',
5434
- 'center',
5435
- 'flex-end',
5436
- 'stretch',
5437
- 'baseline',
5438
- ],
5439
- justifyContent: [
5440
- 'flex-start',
5441
- 'center',
5442
- 'flex-end',
5443
- 'space-between',
5444
- 'space-around',
5445
- 'space-evenly',
5446
- ],
5447
- gap: 'size',
5448
- padding: 'size',
5449
- paddingHorizontal: 'size',
5450
- paddingVertical: 'size',
5451
- paddingTop: 'size',
5452
- paddingBottom: 'size',
5453
- paddingLeft: 'size',
5454
- paddingRight: 'size',
5455
- margin: 'size',
5456
- marginHorizontal: 'size',
5457
- marginVertical: 'size',
5458
- marginTop: 'size',
5459
- marginBottom: 'size',
5460
- marginLeft: 'size',
5461
- marginRight: 'size',
5462
- backgroundColor: 'color',
5463
- borderRadius: 'size',
5464
- width: 'size',
5465
- minWidth: 'size',
5466
- maxWidth: 'size',
5467
- height: 'size',
5468
- minHeight: 'size',
5469
- maxHeight: 'size',
5470
- flex: 'number',
5471
- position: ['relative', 'absolute'],
5472
- top: 'size',
5473
- bottom: 'size',
5474
- left: 'size',
5475
- right: 'size',
5476
- zIndex: 'number',
5477
- },
5478
- buttonType: ['previous_button', 'next_button', 'skip_button'],
5479
- skipNumber: 'number',
5480
- buttons_direction: ['row', 'column'],
5481
- forIndex: 'number',
5482
- seperatorColor: 'color',
5483
- condition: ['carousel-index'],
5484
- conditionVariable: 'number',
5485
- },
5486
- },
5487
- meta: {
5488
- desiredParent: ['=OnboardItem'],
5489
- label: 'Onboard Buttons',
5490
- description: 'Wrapper for onboarding button set.',
5491
- specialCategories: {
5492
- padding: {
5493
- label: 'Padding',
5494
- description: 'Uniform padding on all sides.',
5495
- category: 'container',
5496
- sort: 1,
5497
- },
5498
- margin: {
5499
- label: 'Margin',
5500
- description: 'Uniform margin on all sides.',
5501
- category: 'container',
5502
- sort: 2,
5503
- },
5504
- size: {
5505
- label: 'Size',
5506
- description: 'Fixed dimensions.',
5507
- category: 'container',
5508
- sort: 3,
5509
- },
5510
- offset: {
5511
- label: 'Offset',
5512
- description: 'Absolute positioning offsets.',
5513
- category: 'container',
5514
- sort: 4,
5515
- },
5516
- },
5517
5374
  attributes: {
5518
5375
  scrollable: {
5519
5376
  label: 'Scrollable',
@@ -5787,84 +5644,74 @@ export const patterns = [
5787
5644
  specialCategory: null,
5788
5645
  sort: 26,
5789
5646
  },
5647
+ color: {
5648
+ label: 'Color',
5649
+ description: 'Text color.',
5650
+ category: 'style',
5651
+ specialCategory: null,
5652
+ sort: 1,
5653
+ },
5790
5654
  },
5791
- seperatorColor: {
5792
- label: 'Seperator Color',
5793
- description: 'Color of the divider line.',
5794
- category: 'style',
5795
- specialCategory: null,
5796
- sort: 5,
5797
- },
5798
- buttonType: {
5799
- label: 'Button Type',
5800
- description: 'Which onboard button to show.',
5655
+ labelKey: {
5656
+ label: 'Label Key',
5657
+ description: 'Localization key for the button text.',
5801
5658
  category: 'other',
5802
5659
  specialCategory: null,
5803
5660
  sort: 1,
5804
5661
  },
5805
- skipNumber: {
5806
- label: 'Skip Number',
5807
- description: 'Slide index to skip to.',
5662
+ events: {
5663
+ label: 'Events',
5664
+ description: 'List of events fired by the button.',
5808
5665
  category: 'other',
5809
5666
  specialCategory: null,
5810
- sort: 2,
5667
+ sort: 7,
5811
5668
  },
5812
- buttons_direction: {
5813
- label: 'Buttons Direction',
5814
- description: 'Direction to lay out buttons.',
5815
- category: 'container',
5669
+ animation: {
5670
+ label: 'Animation',
5671
+ description: 'Animation style for the button.',
5672
+ category: 'style',
5816
5673
  specialCategory: null,
5817
5674
  sort: 3,
5818
5675
  },
5819
- forIndex: {
5820
- label: 'For Index',
5821
- description: 'Show only for this slide index.',
5822
- category: 'other',
5676
+ animation_color: {
5677
+ label: 'Animation Color',
5678
+ description: 'Color used by the animation.',
5679
+ category: 'style',
5823
5680
  specialCategory: null,
5824
5681
  sort: 4,
5825
5682
  },
5826
- condition: {
5827
- label: 'Condition',
5828
- description: 'Built-in condition to check.',
5829
- category: 'other',
5830
- specialCategory: null,
5831
- sort: 6,
5832
- },
5833
- conditionVariable: {
5834
- label: 'Condition Variable',
5835
- description: 'Value used when checking the condition.',
5836
- category: 'other',
5837
- specialCategory: null,
5838
- sort: 7,
5839
- },
5840
5683
  },
5841
5684
  styles: {},
5842
5685
  },
5843
5686
  defaults: {
5844
5687
  styles: {
5845
- flexDirection: 'row',
5688
+ flexDirection: 'column',
5846
5689
  position: 'relative',
5847
5690
  zIndex: 1,
5848
5691
  alignSelf: 'flex-start',
5849
5692
  flexGrow: 0,
5850
5693
  flexShrink: 0,
5851
- display: 'flex',
5852
- gap: 12,
5853
- alignItems: 'center',
5854
- justifyContent: 'center',
5855
- marginVertical: '12@vs',
5856
- marginHorizontal: '24@s',
5694
+ height: '40@vs',
5695
+ borderRadius: '12@s',
5696
+ color: 'THEME_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT',
5697
+ },
5698
+ },
5699
+ types: {
5700
+ EventObject: {
5701
+ type: ['Permission', 'Navigate'],
5702
+ permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
5703
+ navigate_to: 'string',
5704
+ targetIndex: 'number',
5857
5705
  },
5858
5706
  },
5859
- types: {},
5860
5707
  },
5861
5708
  {
5862
5709
  schemaVersion: 2,
5863
5710
  pattern: {
5864
- type: 'OnboardDot',
5711
+ type: 'OnboardButtons',
5865
5712
  title: 'title',
5866
5713
  description: 'description',
5867
- children: 'never',
5714
+ children: 'node',
5868
5715
  attributes: {
5869
5716
  scrollable: 'boolean',
5870
5717
  styles: {
@@ -5916,27 +5763,20 @@ export const patterns = [
5916
5763
  right: 'size',
5917
5764
  zIndex: 'number',
5918
5765
  },
5919
- dotType: [
5920
- 'expanding_dot',
5921
- 'normal_dot',
5922
- 'scaling_dot',
5923
- 'sliding_border',
5924
- 'sliding_dot',
5925
- 'liquid_like',
5926
- ],
5927
- flexDirection: 'never',
5928
- alignItems: 'never',
5929
- justifyContent: 'never',
5930
- dot_thickness: 'size',
5931
- inactive_dot_opacity: 'number',
5932
- inactive_dot_color: 'color',
5933
- active_dot_color: 'color',
5766
+ testID: 'string',
5767
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
5768
+ skipNumber: 'number',
5769
+ buttons_direction: ['row', 'column'],
5770
+ forIndex: 'number',
5771
+ seperatorColor: 'color',
5772
+ condition: ['carousel-index'],
5773
+ conditionVariable: 'number',
5934
5774
  },
5935
5775
  },
5936
5776
  meta: {
5937
- desiredParent: ['>OnboardProvider'],
5938
- label: 'Onboard Dot',
5939
- description: 'Renders onboarding progress dots.',
5777
+ desiredParent: ['=OnboardItem'],
5778
+ label: 'Onboard Buttons',
5779
+ description: 'Wrapper for onboarding button set.',
5940
5780
  specialCategories: {
5941
5781
  padding: {
5942
5782
  label: 'Padding',
@@ -6237,40 +6077,54 @@ export const patterns = [
6237
6077
  sort: 26,
6238
6078
  },
6239
6079
  },
6240
- dotType: {
6241
- label: 'Dot Type',
6242
- description: 'Dot animation style.',
6080
+ seperatorColor: {
6081
+ label: 'Seperator Color',
6082
+ description: 'Color of the divider line.',
6243
6083
  category: 'style',
6244
6084
  specialCategory: null,
6085
+ sort: 5,
6086
+ },
6087
+ buttonType: {
6088
+ label: 'Button Type',
6089
+ description: 'Which onboard button to show.',
6090
+ category: 'other',
6091
+ specialCategory: null,
6245
6092
  sort: 1,
6246
6093
  },
6247
- dot_thickness: {
6248
- label: 'Dot Thickness',
6249
- description: 'Dot size/diameter.',
6250
- category: 'style',
6094
+ skipNumber: {
6095
+ label: 'Skip Number',
6096
+ description: 'Slide index to skip to.',
6097
+ category: 'other',
6251
6098
  specialCategory: null,
6252
6099
  sort: 2,
6253
6100
  },
6254
- inactive_dot_opacity: {
6255
- label: 'Inactive Dot Opacity',
6256
- description: 'Opacity for inactive dots.',
6257
- category: 'style',
6101
+ buttons_direction: {
6102
+ label: 'Buttons Direction',
6103
+ description: 'Direction to lay out buttons.',
6104
+ category: 'container',
6258
6105
  specialCategory: null,
6259
6106
  sort: 3,
6260
6107
  },
6261
- inactive_dot_color: {
6262
- label: 'Inactive Dot Color',
6263
- description: 'Color of inactive dots.',
6264
- category: 'style',
6108
+ forIndex: {
6109
+ label: 'For Index',
6110
+ description: 'Show only for this slide index.',
6111
+ category: 'other',
6265
6112
  specialCategory: null,
6266
6113
  sort: 4,
6267
6114
  },
6268
- active_dot_color: {
6269
- label: 'Active Dot Color',
6270
- description: 'Color of the active dot.',
6271
- category: 'style',
6115
+ condition: {
6116
+ label: 'Condition',
6117
+ description: 'Built-in condition to check.',
6118
+ category: 'other',
6272
6119
  specialCategory: null,
6273
- sort: 5,
6120
+ sort: 6,
6121
+ },
6122
+ conditionVariable: {
6123
+ label: 'Condition Variable',
6124
+ description: 'Value used when checking the condition.',
6125
+ category: 'other',
6126
+ specialCategory: null,
6127
+ sort: 7,
6274
6128
  },
6275
6129
  },
6276
6130
  styles: {},
@@ -6283,35 +6137,26 @@ export const patterns = [
6283
6137
  alignSelf: 'flex-start',
6284
6138
  flexGrow: 0,
6285
6139
  flexShrink: 0,
6140
+ display: 'flex',
6141
+ gap: 12,
6286
6142
  alignItems: 'center',
6287
6143
  justifyContent: 'center',
6288
- gap: '12@s',
6144
+ marginVertical: '12@vs',
6145
+ marginHorizontal: '24@s',
6289
6146
  },
6290
- dotType: 'expanding_dot',
6291
- dot_thickness: 10,
6292
- inactive_dot_opacity: 0.3,
6293
- active_dot_color: 'STATIC_COLORS.ONBOARD_DOT_ACTIVE',
6294
- inactive_dot_color: 'THEME_COLORS.BACKGROUND',
6295
6147
  },
6296
6148
  types: {},
6297
6149
  },
6298
6150
  {
6299
6151
  schemaVersion: 2,
6300
6152
  pattern: {
6301
- type: 'OnboardFooter',
6153
+ type: 'OnboardDot',
6302
6154
  title: 'title',
6303
6155
  description: 'description',
6304
6156
  children: 'never',
6305
6157
  attributes: {
6306
- adjustsFontSizeToFit: 'boolean',
6307
- showEllipsis: 'boolean',
6308
- translateCounter: 'number',
6158
+ scrollable: 'boolean',
6309
6159
  styles: {
6310
- color: 'color',
6311
- fontSize: 'size',
6312
- fontFamily: 'fontFamily',
6313
- fontWeight: 'fontWeight',
6314
- textAlign: 'string',
6315
6160
  flexDirection: ['row', 'column'],
6316
6161
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6317
6162
  alignItems: [
@@ -6360,75 +6205,55 @@ export const patterns = [
6360
6205
  right: 'size',
6361
6206
  zIndex: 'number',
6362
6207
  },
6363
- scrollable: 'boolean',
6364
- textLocalizationKey: 'string',
6365
- linkedWordFirstLocalizationKey: 'string',
6366
- linkedWordFirstColor: 'color',
6367
- linkedWordFirstPage: 'string',
6368
- linkedWordSecondLocalizationKey: 'string',
6369
- linkedWordSecondColor: 'color',
6370
- linkedWordSecondPage: 'string',
6208
+ testID: 'string',
6209
+ dotType: [
6210
+ 'expanding_dot',
6211
+ 'normal_dot',
6212
+ 'scaling_dot',
6213
+ 'sliding_border',
6214
+ 'sliding_dot',
6215
+ 'liquid_like',
6216
+ ],
6217
+ flexDirection: 'never',
6218
+ alignItems: 'never',
6219
+ justifyContent: 'never',
6220
+ dot_thickness: 'size',
6221
+ inactive_dot_opacity: 'number',
6222
+ inactive_dot_color: 'color',
6223
+ active_dot_color: 'color',
6371
6224
  },
6372
6225
  },
6373
6226
  meta: {
6374
- desiredParent: ['>OnboardItem'],
6375
- label: 'Onboard Footer',
6376
- description: 'Footer text with optional links.',
6377
- styles: {
6378
- color: {
6379
- label: 'Color',
6380
- description: 'Text color.',
6381
- category: 'style',
6382
- specialCategory: null,
6227
+ desiredParent: ['>OnboardProvider'],
6228
+ label: 'Onboard Dot',
6229
+ description: 'Renders onboarding progress dots.',
6230
+ specialCategories: {
6231
+ padding: {
6232
+ label: 'Padding',
6233
+ description: 'Uniform padding on all sides.',
6234
+ category: 'container',
6383
6235
  sort: 1,
6384
6236
  },
6385
- fontSize: {
6386
- label: 'Font Size',
6387
- description: 'Text size.',
6388
- category: 'style',
6389
- specialCategory: null,
6237
+ margin: {
6238
+ label: 'Margin',
6239
+ description: 'Uniform margin on all sides.',
6240
+ category: 'container',
6390
6241
  sort: 2,
6391
- preferredScale: 's',
6392
6242
  },
6393
- fontFamily: {
6394
- label: 'Font Family',
6395
- description: 'Font family used for the text.',
6396
- category: 'style',
6397
- specialCategory: null,
6243
+ size: {
6244
+ label: 'Size',
6245
+ description: 'Fixed dimensions.',
6246
+ category: 'container',
6398
6247
  sort: 3,
6399
6248
  },
6400
- fontWeight: {
6401
- label: 'Font Weight',
6402
- description: 'Text weight.',
6403
- category: 'style',
6404
- specialCategory: null,
6249
+ offset: {
6250
+ label: 'Offset',
6251
+ description: 'Absolute positioning offsets.',
6252
+ category: 'container',
6405
6253
  sort: 4,
6406
6254
  },
6407
- textAlign: {
6408
- label: 'Text Align',
6409
- description: 'Text alignment.',
6410
- category: 'style',
6411
- specialCategory: null,
6412
- sort: 5,
6413
- },
6414
6255
  },
6415
6256
  attributes: {
6416
- adjustsFontSizeToFit: {
6417
- label: 'Adjust Font Size To Fit',
6418
- description:
6419
- 'Automatically reduces font size to fit the available space.',
6420
- category: 'other',
6421
- specialCategory: null,
6422
- sort: 1,
6423
- },
6424
- showEllipsis: {
6425
- label: 'Show Ellipsis',
6426
- description:
6427
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
6428
- category: 'other',
6429
- specialCategory: null,
6430
- sort: 2,
6431
- },
6432
6257
  scrollable: {
6433
6258
  label: 'Scrollable',
6434
6259
  description: 'Turns scroll interaction on.',
@@ -6702,115 +6527,81 @@ export const patterns = [
6702
6527
  sort: 26,
6703
6528
  },
6704
6529
  },
6705
- textLocalizationKey: {
6706
- label: 'Text Localization Key',
6707
- description: 'Localization key for the footer text.',
6708
- category: 'other',
6530
+ dotType: {
6531
+ label: 'Dot Type',
6532
+ description: 'Dot animation style.',
6533
+ category: 'style',
6709
6534
  specialCategory: null,
6710
6535
  sort: 1,
6711
6536
  },
6712
- linkedWordFirstLocalizationKey: {
6713
- label: 'Linked Word First Localization Key',
6714
- description: 'Key for the first linked word.',
6715
- category: 'other',
6537
+ dot_thickness: {
6538
+ label: 'Dot Thickness',
6539
+ description: 'Dot size/diameter.',
6540
+ category: 'style',
6716
6541
  specialCategory: null,
6717
6542
  sort: 2,
6718
6543
  },
6719
- linkedWordFirstColor: {
6720
- label: 'Linked Word First Color',
6721
- description: 'Color of the first linked word.',
6722
- category: 'other',
6544
+ inactive_dot_opacity: {
6545
+ label: 'Inactive Dot Opacity',
6546
+ description: 'Opacity for inactive dots.',
6547
+ category: 'style',
6723
6548
  specialCategory: null,
6724
6549
  sort: 3,
6725
6550
  },
6726
- linkedWordFirstPage: {
6727
- label: 'Linked Word First Page',
6728
- description: 'Page opened by the first link.',
6729
- category: 'other',
6551
+ inactive_dot_color: {
6552
+ label: 'Inactive Dot Color',
6553
+ description: 'Color of inactive dots.',
6554
+ category: 'style',
6730
6555
  specialCategory: null,
6731
6556
  sort: 4,
6732
6557
  },
6733
- linkedWordSecondLocalizationKey: {
6734
- label: 'Linked Word Second Localization Key',
6735
- description: 'Key for the second linked word.',
6736
- category: 'other',
6558
+ active_dot_color: {
6559
+ label: 'Active Dot Color',
6560
+ description: 'Color of the active dot.',
6561
+ category: 'style',
6737
6562
  specialCategory: null,
6738
6563
  sort: 5,
6739
6564
  },
6740
- linkedWordSecondColor: {
6741
- label: 'Linked Word Second Color',
6742
- description: 'Color of the second linked word.',
6743
- category: 'other',
6744
- specialCategory: null,
6745
- sort: 6,
6746
- },
6747
- linkedWordSecondPage: {
6748
- label: 'Linked Word Second Page',
6749
- description: 'Page opened by the second link.',
6750
- category: 'other',
6751
- specialCategory: null,
6752
- sort: 7,
6753
- },
6754
- },
6755
- specialCategories: {
6756
- padding: {
6757
- label: 'Padding',
6758
- description: 'Uniform padding on all sides.',
6759
- category: 'container',
6760
- sort: 1,
6761
- },
6762
- margin: {
6763
- label: 'Margin',
6764
- description: 'Uniform margin on all sides.',
6765
- category: 'container',
6766
- sort: 2,
6767
- },
6768
- size: {
6769
- label: 'Size',
6770
- description: 'Fixed dimensions.',
6771
- category: 'container',
6772
- sort: 3,
6773
- },
6774
- offset: {
6775
- label: 'Offset',
6776
- description: 'Absolute positioning offsets.',
6777
- category: 'container',
6778
- sort: 4,
6779
- },
6780
6565
  },
6566
+ styles: {},
6781
6567
  },
6782
6568
  defaults: {
6783
- translateCounter: 1,
6784
6569
  styles: {
6785
- color: 'THEME_COLORS.TEXT',
6786
- fontSize: '16@fs',
6787
- fontWeight: '400',
6788
6570
  flexDirection: 'row',
6789
6571
  position: 'relative',
6790
6572
  zIndex: 1,
6791
6573
  alignSelf: 'flex-start',
6792
6574
  flexGrow: 0,
6793
6575
  flexShrink: 0,
6794
- flexWrap: 'wrap',
6795
6576
  alignItems: 'center',
6796
6577
  justifyContent: 'center',
6797
- textAlign: 'center',
6798
- paddingHorizontal: '24@s',
6578
+ gap: '12@s',
6799
6579
  },
6580
+ dotType: 'expanding_dot',
6581
+ dot_thickness: 10,
6582
+ inactive_dot_opacity: 0.3,
6583
+ active_dot_color: 'STATIC_COLORS.ONBOARD_DOT_ACTIVE',
6584
+ inactive_dot_color: 'THEME_COLORS.BACKGROUND',
6800
6585
  },
6801
6586
  types: {},
6802
6587
  },
6803
6588
  {
6804
6589
  schemaVersion: 2,
6805
6590
  pattern: {
6806
- type: 'OnboardImage',
6591
+ type: 'OnboardFooter',
6807
6592
  title: 'title',
6808
6593
  description: 'description',
6809
- children: 'node',
6594
+ children: 'never',
6810
6595
  attributes: {
6811
- src: 'string',
6596
+ adjustsFontSizeToFit: 'boolean',
6597
+ showEllipsis: 'boolean',
6598
+ translateCounter: 'number',
6812
6599
  styles: {
6813
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
6600
+ color: 'color',
6601
+ fontSize: 'size',
6602
+ fontFamily: 'fontFamily',
6603
+ fontWeight: 'fontWeight',
6604
+ textAlign: 'string',
6814
6605
  flexDirection: ['row', 'column'],
6815
6606
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6816
6607
  alignItems: [
@@ -6860,31 +6651,75 @@ export const patterns = [
6860
6651
  zIndex: 'number',
6861
6652
  },
6862
6653
  scrollable: 'boolean',
6863
- video_url: 'string',
6864
- lottie: 'string',
6654
+ testID: 'string',
6655
+ textLocalizationKey: 'string',
6656
+ linkedWordFirstLocalizationKey: 'string',
6657
+ linkedWordFirstColor: 'color',
6658
+ linkedWordFirstPage: 'string',
6659
+ linkedWordSecondLocalizationKey: 'string',
6660
+ linkedWordSecondColor: 'color',
6661
+ linkedWordSecondPage: 'string',
6865
6662
  },
6866
6663
  },
6867
6664
  meta: {
6868
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
6869
- label: 'Onboard Image',
6870
- description: 'Onboarding hero image with media.',
6665
+ desiredParent: ['>OnboardItem'],
6666
+ label: 'Onboard Footer',
6667
+ description: 'Footer text with optional links.',
6871
6668
  styles: {
6872
- resizeMode: {
6873
- label: 'Resize Mode',
6874
- description: 'How the image fits the frame.',
6669
+ color: {
6670
+ label: 'Color',
6671
+ description: 'Text color.',
6672
+ category: 'style',
6673
+ specialCategory: null,
6674
+ sort: 1,
6675
+ },
6676
+ fontSize: {
6677
+ label: 'Font Size',
6678
+ description: 'Text size.',
6679
+ category: 'style',
6680
+ specialCategory: null,
6681
+ sort: 2,
6682
+ preferredScale: 'f',
6683
+ },
6684
+ fontFamily: {
6685
+ label: 'Font Family',
6686
+ description: 'Font family used for the text.',
6687
+ category: 'style',
6688
+ specialCategory: null,
6689
+ sort: 3,
6690
+ },
6691
+ fontWeight: {
6692
+ label: 'Font Weight',
6693
+ description: 'Text weight.',
6875
6694
  category: 'style',
6876
6695
  specialCategory: null,
6877
6696
  sort: 4,
6878
6697
  },
6698
+ textAlign: {
6699
+ label: 'Text Align',
6700
+ description: 'Text alignment.',
6701
+ category: 'style',
6702
+ specialCategory: null,
6703
+ sort: 5,
6704
+ },
6879
6705
  },
6880
6706
  attributes: {
6881
- src: {
6882
- label: 'Src',
6883
- description: 'Image source URL.',
6707
+ adjustsFontSizeToFit: {
6708
+ label: 'Adjust Font Size To Fit',
6709
+ description:
6710
+ 'Automatically reduces font size to fit the available space.',
6884
6711
  category: 'other',
6885
6712
  specialCategory: null,
6886
6713
  sort: 1,
6887
6714
  },
6715
+ showEllipsis: {
6716
+ label: 'Show Ellipsis',
6717
+ description:
6718
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
6719
+ category: 'other',
6720
+ specialCategory: null,
6721
+ sort: 2,
6722
+ },
6888
6723
  scrollable: {
6889
6724
  label: 'Scrollable',
6890
6725
  description: 'Turns scroll interaction on.',
@@ -7158,20 +6993,55 @@ export const patterns = [
7158
6993
  sort: 26,
7159
6994
  },
7160
6995
  },
7161
- video_url: {
7162
- label: 'Video Url',
7163
- description: 'URL for the onboarding video.',
6996
+ textLocalizationKey: {
6997
+ label: 'Text Localization Key',
6998
+ description: 'Localization key for the footer text.',
7164
6999
  category: 'other',
7165
7000
  specialCategory: null,
7166
7001
  sort: 1,
7167
7002
  },
7168
- lottie: {
7169
- label: 'Lottie',
7170
- description: 'Path to the lottie animation.',
7003
+ linkedWordFirstLocalizationKey: {
7004
+ label: 'Linked Word First Localization Key',
7005
+ description: 'Key for the first linked word.',
7171
7006
  category: 'other',
7172
7007
  specialCategory: null,
7173
7008
  sort: 2,
7174
7009
  },
7010
+ linkedWordFirstColor: {
7011
+ label: 'Linked Word First Color',
7012
+ description: 'Color of the first linked word.',
7013
+ category: 'other',
7014
+ specialCategory: null,
7015
+ sort: 3,
7016
+ },
7017
+ linkedWordFirstPage: {
7018
+ label: 'Linked Word First Page',
7019
+ description: 'Page opened by the first link.',
7020
+ category: 'other',
7021
+ specialCategory: null,
7022
+ sort: 4,
7023
+ },
7024
+ linkedWordSecondLocalizationKey: {
7025
+ label: 'Linked Word Second Localization Key',
7026
+ description: 'Key for the second linked word.',
7027
+ category: 'other',
7028
+ specialCategory: null,
7029
+ sort: 5,
7030
+ },
7031
+ linkedWordSecondColor: {
7032
+ label: 'Linked Word Second Color',
7033
+ description: 'Color of the second linked word.',
7034
+ category: 'other',
7035
+ specialCategory: null,
7036
+ sort: 6,
7037
+ },
7038
+ linkedWordSecondPage: {
7039
+ label: 'Linked Word Second Page',
7040
+ description: 'Page opened by the second link.',
7041
+ category: 'other',
7042
+ specialCategory: null,
7043
+ sort: 7,
7044
+ },
7175
7045
  },
7176
7046
  specialCategories: {
7177
7047
  padding: {
@@ -7201,14 +7071,22 @@ export const patterns = [
7201
7071
  },
7202
7072
  },
7203
7073
  defaults: {
7074
+ translateCounter: 1,
7204
7075
  styles: {
7205
- resizeMode: 'contain',
7206
- flexDirection: 'column',
7076
+ color: 'THEME_COLORS.TEXT',
7077
+ fontSize: '16@fs',
7078
+ fontWeight: '400',
7079
+ flexDirection: 'row',
7207
7080
  position: 'relative',
7208
7081
  zIndex: 1,
7209
7082
  alignSelf: 'flex-start',
7210
7083
  flexGrow: 0,
7211
7084
  flexShrink: 0,
7085
+ flexWrap: 'wrap',
7086
+ alignItems: 'center',
7087
+ justifyContent: 'center',
7088
+ textAlign: 'center',
7089
+ paddingHorizontal: '24@s',
7212
7090
  },
7213
7091
  },
7214
7092
  types: {},
@@ -7216,13 +7094,15 @@ export const patterns = [
7216
7094
  {
7217
7095
  schemaVersion: 2,
7218
7096
  pattern: {
7219
- type: 'OnboardItem',
7097
+ type: 'OnboardImage',
7220
7098
  title: 'title',
7221
7099
  description: 'description',
7222
7100
  children: 'node',
7223
7101
  attributes: {
7224
- scrollable: 'boolean',
7102
+ src: 'string',
7103
+ fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
7225
7104
  styles: {
7105
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
7226
7106
  flexDirection: ['row', 'column'],
7227
7107
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7228
7108
  alignItems: [
@@ -7271,40 +7151,41 @@ export const patterns = [
7271
7151
  right: 'size',
7272
7152
  zIndex: 'number',
7273
7153
  },
7274
- display: ['flex', 'block'],
7154
+ scrollable: 'boolean',
7155
+ testID: 'string',
7156
+ video_url: 'string',
7157
+ lottie: 'string',
7275
7158
  },
7276
7159
  },
7277
7160
  meta: {
7278
- desiredParent: ['=Onboard'],
7279
- label: 'Onboard Item',
7280
- description: 'Single onboarding screen section.',
7281
- specialCategories: {
7282
- padding: {
7283
- label: 'Padding',
7284
- description: 'Uniform padding on all sides.',
7285
- category: 'container',
7286
- sort: 1,
7287
- },
7288
- margin: {
7289
- label: 'Margin',
7290
- description: 'Uniform margin on all sides.',
7291
- category: 'container',
7292
- sort: 2,
7293
- },
7294
- size: {
7295
- label: 'Size',
7296
- description: 'Fixed dimensions.',
7297
- category: 'container',
7298
- sort: 3,
7299
- },
7300
- offset: {
7301
- label: 'Offset',
7302
- description: 'Absolute positioning offsets.',
7303
- category: 'container',
7161
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7162
+ label: 'Onboard Image',
7163
+ description: 'Onboarding hero image with media.',
7164
+ styles: {
7165
+ resizeMode: {
7166
+ label: 'Resize Mode',
7167
+ description: 'How the image fits the frame.',
7168
+ category: 'style',
7169
+ specialCategory: null,
7304
7170
  sort: 4,
7305
7171
  },
7306
7172
  },
7307
7173
  attributes: {
7174
+ src: {
7175
+ label: 'Src',
7176
+ description: 'Image source URL.',
7177
+ category: 'other',
7178
+ specialCategory: null,
7179
+ sort: 1,
7180
+ },
7181
+ fetchStrategy: {
7182
+ label: 'Fetch Strategy',
7183
+ description:
7184
+ "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
7185
+ category: 'other',
7186
+ specialCategory: null,
7187
+ sort: 2,
7188
+ },
7308
7189
  scrollable: {
7309
7190
  label: 'Scrollable',
7310
7191
  description: 'Turns scroll interaction on.',
@@ -7313,29 +7194,692 @@ export const patterns = [
7313
7194
  sort: -1,
7314
7195
  },
7315
7196
  styles: {
7316
- gap: {
7317
- label: 'Gap',
7318
- description: 'Space between child blocks.',
7319
- category: 'container',
7197
+ backgroundColor: {
7198
+ label: 'Background Color',
7199
+ description: 'Background fill color.',
7200
+ category: 'style',
7320
7201
  specialCategory: null,
7321
- sort: 2,
7202
+ sort: 20,
7203
+ },
7204
+ borderRadius: {
7205
+ label: 'Border Radius',
7206
+ description: 'Corner rounding amount.',
7207
+ category: 'style',
7208
+ specialCategory: null,
7209
+ sort: 21,
7210
+ preferredScale: 's',
7322
7211
  },
7323
7212
  flexDirection: {
7324
7213
  label: 'Flex Direction',
7325
- description: 'Order of child stacking.',
7214
+ description: 'Sets row or column layout.',
7326
7215
  category: 'container',
7327
7216
  specialCategory: null,
7328
- sort: 3,
7217
+ sort: 4,
7329
7218
  },
7330
- paddingHorizontal: {
7331
- label: 'Padding Horizontal',
7332
- description: 'Left and right padding.',
7219
+ flexWrap: {
7220
+ label: 'Flex Wrap',
7221
+ description: 'Controls whether flex items wrap to multiple lines.',
7333
7222
  category: 'container',
7334
- specialCategory: 'padding',
7335
- sort: 4,
7223
+ specialCategory: null,
7224
+ sort: 4.5,
7336
7225
  },
7337
- },
7338
- display: {
7226
+ alignItems: {
7227
+ label: 'Align Items',
7228
+ description: 'Controls cross-axis alignment.',
7229
+ category: 'container',
7230
+ specialCategory: null,
7231
+ sort: 3,
7232
+ },
7233
+ justifyContent: {
7234
+ label: 'Justify Content',
7235
+ description: 'Controls main-axis alignment.',
7236
+ category: 'container',
7237
+ specialCategory: null,
7238
+ sort: 5,
7239
+ },
7240
+ gap: {
7241
+ label: 'Gap',
7242
+ description: 'Space between children.',
7243
+ category: 'container',
7244
+ specialCategory: null,
7245
+ sort: 10,
7246
+ preferredScale: 's',
7247
+ },
7248
+ padding: {
7249
+ label: 'Padding',
7250
+ description: 'Uniform padding on all sides.',
7251
+ category: 'container',
7252
+ specialCategory: 'padding',
7253
+ sort: 6,
7254
+ preferredScale: 's',
7255
+ },
7256
+ paddingHorizontal: {
7257
+ label: 'Padding Horizontal',
7258
+ description: 'Left and right padding.',
7259
+ category: 'container',
7260
+ specialCategory: 'padding',
7261
+ sort: 7,
7262
+ preferredScale: 's',
7263
+ },
7264
+ paddingVertical: {
7265
+ label: 'Padding Vertical',
7266
+ description: 'Top and bottom padding.',
7267
+ category: 'container',
7268
+ specialCategory: 'padding',
7269
+ sort: 8,
7270
+ preferredScale: 'vs',
7271
+ },
7272
+ paddingTop: {
7273
+ label: 'Padding Top',
7274
+ description: 'Top padding only.',
7275
+ category: 'container',
7276
+ specialCategory: 'padding',
7277
+ sort: 9,
7278
+ preferredScale: 'vs',
7279
+ },
7280
+ paddingBottom: {
7281
+ label: 'Padding Bottom',
7282
+ description: 'Bottom padding only.',
7283
+ category: 'container',
7284
+ specialCategory: 'padding',
7285
+ sort: 10,
7286
+ preferredScale: 'vs',
7287
+ },
7288
+ paddingLeft: {
7289
+ label: 'Padding Left',
7290
+ description: 'Left padding only.',
7291
+ category: 'container',
7292
+ specialCategory: 'padding',
7293
+ sort: 11,
7294
+ preferredScale: 's',
7295
+ },
7296
+ paddingRight: {
7297
+ label: 'Padding Right',
7298
+ description: 'Right padding only.',
7299
+ category: 'container',
7300
+ specialCategory: 'padding',
7301
+ sort: 12,
7302
+ preferredScale: 's',
7303
+ },
7304
+ margin: {
7305
+ label: 'Margin',
7306
+ description: 'Uniform margin on all sides.',
7307
+ category: 'container',
7308
+ specialCategory: 'margin',
7309
+ sort: 13,
7310
+ preferredScale: 's',
7311
+ },
7312
+ marginHorizontal: {
7313
+ label: 'Margin Horizontal',
7314
+ description: 'Left and right margin.',
7315
+ category: 'container',
7316
+ specialCategory: 'margin',
7317
+ sort: 14,
7318
+ preferredScale: 's',
7319
+ },
7320
+ marginVertical: {
7321
+ label: 'Margin Vertical',
7322
+ description: 'Top and bottom margin.',
7323
+ category: 'container',
7324
+ specialCategory: 'margin',
7325
+ sort: 15,
7326
+ preferredScale: 'vs',
7327
+ },
7328
+ marginTop: {
7329
+ label: 'Margin Top',
7330
+ description: 'Top margin only.',
7331
+ category: 'container',
7332
+ specialCategory: 'margin',
7333
+ sort: 16,
7334
+ preferredScale: 'vs',
7335
+ },
7336
+ marginBottom: {
7337
+ label: 'Margin Bottom',
7338
+ description: 'Bottom margin only.',
7339
+ category: 'container',
7340
+ specialCategory: 'margin',
7341
+ sort: 17,
7342
+ preferredScale: 'vs',
7343
+ },
7344
+ marginLeft: {
7345
+ label: 'Margin Left',
7346
+ description: 'Left margin only.',
7347
+ category: 'container',
7348
+ specialCategory: 'margin',
7349
+ sort: 18,
7350
+ preferredScale: 's',
7351
+ },
7352
+ marginRight: {
7353
+ label: 'Margin Right',
7354
+ description: 'Right margin only.',
7355
+ category: 'container',
7356
+ specialCategory: 'margin',
7357
+ sort: 19,
7358
+ preferredScale: 's',
7359
+ },
7360
+ width: {
7361
+ label: 'Width',
7362
+ description: 'Fixed width value.',
7363
+ category: 'container',
7364
+ specialCategory: 'size',
7365
+ sort: 0,
7366
+ preferredScale: 's',
7367
+ },
7368
+ minWidth: {
7369
+ label: 'Min Width',
7370
+ description: 'Minimum width constraint.',
7371
+ category: 'container',
7372
+ specialCategory: 'size',
7373
+ sort: 1,
7374
+ preferredScale: 's',
7375
+ },
7376
+ maxWidth: {
7377
+ label: 'Max Width',
7378
+ description: 'Maximum width constraint.',
7379
+ category: 'container',
7380
+ specialCategory: 'size',
7381
+ sort: 2,
7382
+ preferredScale: 's',
7383
+ },
7384
+ height: {
7385
+ label: 'Height',
7386
+ description: 'Fixed height value.',
7387
+ category: 'container',
7388
+ specialCategory: 'size',
7389
+ sort: 3,
7390
+ preferredScale: 'vs',
7391
+ },
7392
+ minHeight: {
7393
+ label: 'Min Height',
7394
+ description: 'Minimum height constraint.',
7395
+ category: 'container',
7396
+ specialCategory: 'size',
7397
+ sort: 4,
7398
+ preferredScale: 'vs',
7399
+ },
7400
+ maxHeight: {
7401
+ label: 'Max Height',
7402
+ description: 'Maximum height constraint.',
7403
+ category: 'container',
7404
+ specialCategory: 'size',
7405
+ sort: 5,
7406
+ preferredScale: 'vs',
7407
+ },
7408
+ flex: {
7409
+ label: 'Flex',
7410
+ description: 'Flex grow factor (e.g. 1 fills available space).',
7411
+ category: 'container',
7412
+ specialCategory: 'size',
7413
+ sort: 6,
7414
+ },
7415
+ position: {
7416
+ label: 'Position',
7417
+ description: 'Sets layout positioning mode.',
7418
+ category: 'container',
7419
+ specialCategory: null,
7420
+ sort: 3,
7421
+ },
7422
+ top: {
7423
+ label: 'Top',
7424
+ description: 'Offset from the top edge.',
7425
+ category: 'container',
7426
+ specialCategory: 'offset',
7427
+ sort: 22,
7428
+ preferredScale: 'vs',
7429
+ },
7430
+ bottom: {
7431
+ label: 'Bottom',
7432
+ description: 'Offset from the bottom edge.',
7433
+ category: 'container',
7434
+ specialCategory: 'offset',
7435
+ sort: 23,
7436
+ preferredScale: 'vs',
7437
+ },
7438
+ left: {
7439
+ label: 'Left',
7440
+ description: 'Offset from the left edge.',
7441
+ category: 'container',
7442
+ specialCategory: 'offset',
7443
+ sort: 24,
7444
+ preferredScale: 's',
7445
+ },
7446
+ right: {
7447
+ label: 'Right',
7448
+ description: 'Offset from the right edge.',
7449
+ category: 'container',
7450
+ specialCategory: 'offset',
7451
+ sort: 25,
7452
+ preferredScale: 's',
7453
+ },
7454
+ zIndex: {
7455
+ label: 'Z-Index',
7456
+ description: 'Controls stacking order.',
7457
+ category: 'container',
7458
+ specialCategory: null,
7459
+ sort: 26,
7460
+ },
7461
+ },
7462
+ video_url: {
7463
+ label: 'Video Url',
7464
+ description: 'URL for the onboarding video.',
7465
+ category: 'other',
7466
+ specialCategory: null,
7467
+ sort: 1,
7468
+ },
7469
+ lottie: {
7470
+ label: 'Lottie',
7471
+ description: 'Path to the lottie animation.',
7472
+ category: 'other',
7473
+ specialCategory: null,
7474
+ sort: 2,
7475
+ },
7476
+ },
7477
+ specialCategories: {
7478
+ padding: {
7479
+ label: 'Padding',
7480
+ description: 'Uniform padding on all sides.',
7481
+ category: 'container',
7482
+ sort: 1,
7483
+ },
7484
+ margin: {
7485
+ label: 'Margin',
7486
+ description: 'Uniform margin on all sides.',
7487
+ category: 'container',
7488
+ sort: 2,
7489
+ },
7490
+ size: {
7491
+ label: 'Size',
7492
+ description: 'Fixed dimensions.',
7493
+ category: 'container',
7494
+ sort: 3,
7495
+ },
7496
+ offset: {
7497
+ label: 'Offset',
7498
+ description: 'Absolute positioning offsets.',
7499
+ category: 'container',
7500
+ sort: 4,
7501
+ },
7502
+ },
7503
+ },
7504
+ defaults: {
7505
+ fetchStrategy: 'normal',
7506
+ styles: {
7507
+ resizeMode: 'contain',
7508
+ flexDirection: 'column',
7509
+ position: 'relative',
7510
+ zIndex: 1,
7511
+ alignSelf: 'flex-start',
7512
+ flexGrow: 0,
7513
+ flexShrink: 0,
7514
+ },
7515
+ },
7516
+ types: {},
7517
+ },
7518
+ {
7519
+ schemaVersion: 2,
7520
+ pattern: {
7521
+ type: 'OnboardItem',
7522
+ title: 'title',
7523
+ description: 'description',
7524
+ children: 'node',
7525
+ attributes: {
7526
+ scrollable: 'boolean',
7527
+ styles: {
7528
+ flexDirection: ['row', 'column'],
7529
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7530
+ alignItems: [
7531
+ 'flex-start',
7532
+ 'center',
7533
+ 'flex-end',
7534
+ 'stretch',
7535
+ 'baseline',
7536
+ ],
7537
+ justifyContent: [
7538
+ 'flex-start',
7539
+ 'center',
7540
+ 'flex-end',
7541
+ 'space-between',
7542
+ 'space-around',
7543
+ 'space-evenly',
7544
+ ],
7545
+ gap: 'size',
7546
+ padding: 'size',
7547
+ paddingHorizontal: 'size',
7548
+ paddingVertical: 'size',
7549
+ paddingTop: 'size',
7550
+ paddingBottom: 'size',
7551
+ paddingLeft: 'size',
7552
+ paddingRight: 'size',
7553
+ margin: 'size',
7554
+ marginHorizontal: 'size',
7555
+ marginVertical: 'size',
7556
+ marginTop: 'size',
7557
+ marginBottom: 'size',
7558
+ marginLeft: 'size',
7559
+ marginRight: 'size',
7560
+ backgroundColor: 'color',
7561
+ borderRadius: 'size',
7562
+ width: 'size',
7563
+ minWidth: 'size',
7564
+ maxWidth: 'size',
7565
+ height: 'size',
7566
+ minHeight: 'size',
7567
+ maxHeight: 'size',
7568
+ flex: 'number',
7569
+ position: ['relative', 'absolute'],
7570
+ top: 'size',
7571
+ bottom: 'size',
7572
+ left: 'size',
7573
+ right: 'size',
7574
+ zIndex: 'number',
7575
+ },
7576
+ testID: 'string',
7577
+ display: ['flex', 'block'],
7578
+ },
7579
+ },
7580
+ meta: {
7581
+ desiredParent: ['=Onboard'],
7582
+ label: 'Onboard Item',
7583
+ description: 'Single onboarding screen section.',
7584
+ specialCategories: {
7585
+ padding: {
7586
+ label: 'Padding',
7587
+ description: 'Uniform padding on all sides.',
7588
+ category: 'container',
7589
+ sort: 1,
7590
+ },
7591
+ margin: {
7592
+ label: 'Margin',
7593
+ description: 'Uniform margin on all sides.',
7594
+ category: 'container',
7595
+ sort: 2,
7596
+ },
7597
+ size: {
7598
+ label: 'Size',
7599
+ description: 'Fixed dimensions.',
7600
+ category: 'container',
7601
+ sort: 3,
7602
+ },
7603
+ offset: {
7604
+ label: 'Offset',
7605
+ description: 'Absolute positioning offsets.',
7606
+ category: 'container',
7607
+ sort: 4,
7608
+ },
7609
+ },
7610
+ attributes: {
7611
+ scrollable: {
7612
+ label: 'Scrollable',
7613
+ description: 'Turns scroll interaction on.',
7614
+ category: 'container',
7615
+ specialCategory: null,
7616
+ sort: -1,
7617
+ },
7618
+ styles: {
7619
+ backgroundColor: {
7620
+ label: 'Background Color',
7621
+ description: 'Background fill color.',
7622
+ category: 'style',
7623
+ specialCategory: null,
7624
+ sort: 20,
7625
+ },
7626
+ borderRadius: {
7627
+ label: 'Border Radius',
7628
+ description: 'Corner rounding amount.',
7629
+ category: 'style',
7630
+ specialCategory: null,
7631
+ sort: 21,
7632
+ preferredScale: 's',
7633
+ },
7634
+ flexDirection: {
7635
+ label: 'Flex Direction',
7636
+ description: 'Order of child stacking.',
7637
+ category: 'container',
7638
+ specialCategory: null,
7639
+ sort: 3,
7640
+ },
7641
+ flexWrap: {
7642
+ label: 'Flex Wrap',
7643
+ description: 'Controls whether flex items wrap to multiple lines.',
7644
+ category: 'container',
7645
+ specialCategory: null,
7646
+ sort: 4.5,
7647
+ },
7648
+ alignItems: {
7649
+ label: 'Align Items',
7650
+ description: 'Controls cross-axis alignment.',
7651
+ category: 'container',
7652
+ specialCategory: null,
7653
+ sort: 3,
7654
+ },
7655
+ justifyContent: {
7656
+ label: 'Justify Content',
7657
+ description: 'Controls main-axis alignment.',
7658
+ category: 'container',
7659
+ specialCategory: null,
7660
+ sort: 5,
7661
+ },
7662
+ gap: {
7663
+ label: 'Gap',
7664
+ description: 'Space between child blocks.',
7665
+ category: 'container',
7666
+ specialCategory: null,
7667
+ sort: 2,
7668
+ },
7669
+ padding: {
7670
+ label: 'Padding',
7671
+ description: 'Uniform padding on all sides.',
7672
+ category: 'container',
7673
+ specialCategory: 'padding',
7674
+ sort: 6,
7675
+ preferredScale: 's',
7676
+ },
7677
+ paddingHorizontal: {
7678
+ label: 'Padding Horizontal',
7679
+ description: 'Left and right padding.',
7680
+ category: 'container',
7681
+ specialCategory: 'padding',
7682
+ sort: 4,
7683
+ },
7684
+ paddingVertical: {
7685
+ label: 'Padding Vertical',
7686
+ description: 'Top and bottom padding.',
7687
+ category: 'container',
7688
+ specialCategory: 'padding',
7689
+ sort: 8,
7690
+ preferredScale: 'vs',
7691
+ },
7692
+ paddingTop: {
7693
+ label: 'Padding Top',
7694
+ description: 'Top padding only.',
7695
+ category: 'container',
7696
+ specialCategory: 'padding',
7697
+ sort: 9,
7698
+ preferredScale: 'vs',
7699
+ },
7700
+ paddingBottom: {
7701
+ label: 'Padding Bottom',
7702
+ description: 'Bottom padding only.',
7703
+ category: 'container',
7704
+ specialCategory: 'padding',
7705
+ sort: 10,
7706
+ preferredScale: 'vs',
7707
+ },
7708
+ paddingLeft: {
7709
+ label: 'Padding Left',
7710
+ description: 'Left padding only.',
7711
+ category: 'container',
7712
+ specialCategory: 'padding',
7713
+ sort: 11,
7714
+ preferredScale: 's',
7715
+ },
7716
+ paddingRight: {
7717
+ label: 'Padding Right',
7718
+ description: 'Right padding only.',
7719
+ category: 'container',
7720
+ specialCategory: 'padding',
7721
+ sort: 12,
7722
+ preferredScale: 's',
7723
+ },
7724
+ margin: {
7725
+ label: 'Margin',
7726
+ description: 'Uniform margin on all sides.',
7727
+ category: 'container',
7728
+ specialCategory: 'margin',
7729
+ sort: 13,
7730
+ preferredScale: 's',
7731
+ },
7732
+ marginHorizontal: {
7733
+ label: 'Margin Horizontal',
7734
+ description: 'Left and right margin.',
7735
+ category: 'container',
7736
+ specialCategory: 'margin',
7737
+ sort: 14,
7738
+ preferredScale: 's',
7739
+ },
7740
+ marginVertical: {
7741
+ label: 'Margin Vertical',
7742
+ description: 'Top and bottom margin.',
7743
+ category: 'container',
7744
+ specialCategory: 'margin',
7745
+ sort: 15,
7746
+ preferredScale: 'vs',
7747
+ },
7748
+ marginTop: {
7749
+ label: 'Margin Top',
7750
+ description: 'Top margin only.',
7751
+ category: 'container',
7752
+ specialCategory: 'margin',
7753
+ sort: 16,
7754
+ preferredScale: 'vs',
7755
+ },
7756
+ marginBottom: {
7757
+ label: 'Margin Bottom',
7758
+ description: 'Bottom margin only.',
7759
+ category: 'container',
7760
+ specialCategory: 'margin',
7761
+ sort: 17,
7762
+ preferredScale: 'vs',
7763
+ },
7764
+ marginLeft: {
7765
+ label: 'Margin Left',
7766
+ description: 'Left margin only.',
7767
+ category: 'container',
7768
+ specialCategory: 'margin',
7769
+ sort: 18,
7770
+ preferredScale: 's',
7771
+ },
7772
+ marginRight: {
7773
+ label: 'Margin Right',
7774
+ description: 'Right margin only.',
7775
+ category: 'container',
7776
+ specialCategory: 'margin',
7777
+ sort: 19,
7778
+ preferredScale: 's',
7779
+ },
7780
+ width: {
7781
+ label: 'Width',
7782
+ description: 'Fixed width value.',
7783
+ category: 'container',
7784
+ specialCategory: 'size',
7785
+ sort: 0,
7786
+ preferredScale: 's',
7787
+ },
7788
+ minWidth: {
7789
+ label: 'Min Width',
7790
+ description: 'Minimum width constraint.',
7791
+ category: 'container',
7792
+ specialCategory: 'size',
7793
+ sort: 1,
7794
+ preferredScale: 's',
7795
+ },
7796
+ maxWidth: {
7797
+ label: 'Max Width',
7798
+ description: 'Maximum width constraint.',
7799
+ category: 'container',
7800
+ specialCategory: 'size',
7801
+ sort: 2,
7802
+ preferredScale: 's',
7803
+ },
7804
+ height: {
7805
+ label: 'Height',
7806
+ description: 'Fixed height value.',
7807
+ category: 'container',
7808
+ specialCategory: 'size',
7809
+ sort: 3,
7810
+ preferredScale: 'vs',
7811
+ },
7812
+ minHeight: {
7813
+ label: 'Min Height',
7814
+ description: 'Minimum height constraint.',
7815
+ category: 'container',
7816
+ specialCategory: 'size',
7817
+ sort: 4,
7818
+ preferredScale: 'vs',
7819
+ },
7820
+ maxHeight: {
7821
+ label: 'Max Height',
7822
+ description: 'Maximum height constraint.',
7823
+ category: 'container',
7824
+ specialCategory: 'size',
7825
+ sort: 5,
7826
+ preferredScale: 'vs',
7827
+ },
7828
+ flex: {
7829
+ label: 'Flex',
7830
+ description: 'Flex grow factor (e.g. 1 fills available space).',
7831
+ category: 'container',
7832
+ specialCategory: 'size',
7833
+ sort: 6,
7834
+ },
7835
+ position: {
7836
+ label: 'Position',
7837
+ description: 'Sets layout positioning mode.',
7838
+ category: 'container',
7839
+ specialCategory: null,
7840
+ sort: 3,
7841
+ },
7842
+ top: {
7843
+ label: 'Top',
7844
+ description: 'Offset from the top edge.',
7845
+ category: 'container',
7846
+ specialCategory: 'offset',
7847
+ sort: 22,
7848
+ preferredScale: 'vs',
7849
+ },
7850
+ bottom: {
7851
+ label: 'Bottom',
7852
+ description: 'Offset from the bottom edge.',
7853
+ category: 'container',
7854
+ specialCategory: 'offset',
7855
+ sort: 23,
7856
+ preferredScale: 'vs',
7857
+ },
7858
+ left: {
7859
+ label: 'Left',
7860
+ description: 'Offset from the left edge.',
7861
+ category: 'container',
7862
+ specialCategory: 'offset',
7863
+ sort: 24,
7864
+ preferredScale: 's',
7865
+ },
7866
+ right: {
7867
+ label: 'Right',
7868
+ description: 'Offset from the right edge.',
7869
+ category: 'container',
7870
+ specialCategory: 'offset',
7871
+ sort: 25,
7872
+ preferredScale: 's',
7873
+ },
7874
+ zIndex: {
7875
+ label: 'Z-Index',
7876
+ description: 'Controls stacking order.',
7877
+ category: 'container',
7878
+ specialCategory: null,
7879
+ sort: 26,
7880
+ },
7881
+ },
7882
+ display: {
7339
7883
  label: 'Display',
7340
7884
  description: 'Controls layout display mode.',
7341
7885
  category: 'container',
@@ -7418,6 +7962,7 @@ export const patterns = [
7418
7962
  right: 'size',
7419
7963
  zIndex: 'number',
7420
7964
  },
7965
+ testID: 'string',
7421
7966
  theme: ['light', 'dark', 'all'],
7422
7967
  borderRadius: 'never',
7423
7968
  },
@@ -7453,195 +7998,6 @@ export const patterns = [
7453
7998
  },
7454
7999
  },
7455
8000
  attributes: {
7456
- scrollable: {
7457
- label: 'Scrollable',
7458
- description: 'Turns scroll interaction on.',
7459
- category: 'container',
7460
- specialCategory: null,
7461
- sort: -1,
7462
- },
7463
- styles: {
7464
- paddingTop: {
7465
- label: 'Padding Top',
7466
- description: 'Top padding for the provider.',
7467
- category: 'container',
7468
- specialCategory: 'padding',
7469
- sort: 1,
7470
- },
7471
- paddingRight: {
7472
- label: 'Padding Right',
7473
- description: 'Right padding for the provider.',
7474
- category: 'container',
7475
- specialCategory: 'padding',
7476
- sort: 2,
7477
- },
7478
- paddingBottom: {
7479
- label: 'Padding Bottom',
7480
- description: 'Bottom padding for the provider.',
7481
- category: 'container',
7482
- specialCategory: 'padding',
7483
- sort: 3,
7484
- },
7485
- paddingLeft: {
7486
- label: 'Padding Left',
7487
- description: 'Left padding for the provider.',
7488
- category: 'container',
7489
- specialCategory: 'padding',
7490
- sort: 4,
7491
- },
7492
- },
7493
- theme: {
7494
- label: 'Theme',
7495
- description:
7496
- 'Controls which app theme(s) this onboarding is intended for.',
7497
- category: 'other',
7498
- specialCategory: null,
7499
- sort: -10,
7500
- },
7501
- },
7502
- styles: {},
7503
- },
7504
- defaults: {
7505
- styles: {
7506
- flexDirection: 'column',
7507
- position: 'relative',
7508
- zIndex: 1,
7509
- alignSelf: 'flex-start',
7510
- flexGrow: 0,
7511
- flexShrink: 0,
7512
- width: '100%',
7513
- height: '100%',
7514
- },
7515
- },
7516
- types: {},
7517
- },
7518
- {
7519
- schemaVersion: 2,
7520
- pattern: {
7521
- type: 'OnboardSubtitle',
7522
- title: 'title',
7523
- description: 'description',
7524
- children: 'string',
7525
- attributes: {
7526
- adjustsFontSizeToFit: 'boolean',
7527
- showEllipsis: 'boolean',
7528
- translateCounter: 'number',
7529
- styles: {
7530
- color: 'color',
7531
- fontSize: 'size',
7532
- fontFamily: 'fontFamily',
7533
- fontWeight: 'fontWeight',
7534
- textAlign: 'string',
7535
- flexDirection: ['row', 'column'],
7536
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7537
- alignItems: [
7538
- 'flex-start',
7539
- 'center',
7540
- 'flex-end',
7541
- 'stretch',
7542
- 'baseline',
7543
- ],
7544
- justifyContent: [
7545
- 'flex-start',
7546
- 'center',
7547
- 'flex-end',
7548
- 'space-between',
7549
- 'space-around',
7550
- 'space-evenly',
7551
- ],
7552
- gap: 'size',
7553
- padding: 'size',
7554
- paddingHorizontal: 'size',
7555
- paddingVertical: 'size',
7556
- paddingTop: 'size',
7557
- paddingBottom: 'size',
7558
- paddingLeft: 'size',
7559
- paddingRight: 'size',
7560
- margin: 'size',
7561
- marginHorizontal: 'size',
7562
- marginVertical: 'size',
7563
- marginTop: 'size',
7564
- marginBottom: 'size',
7565
- marginLeft: 'size',
7566
- marginRight: 'size',
7567
- backgroundColor: 'color',
7568
- borderRadius: 'size',
7569
- width: 'size',
7570
- minWidth: 'size',
7571
- maxWidth: 'size',
7572
- height: 'size',
7573
- minHeight: 'size',
7574
- maxHeight: 'size',
7575
- flex: 'number',
7576
- position: ['relative', 'absolute'],
7577
- top: 'size',
7578
- bottom: 'size',
7579
- left: 'size',
7580
- right: 'size',
7581
- zIndex: 'number',
7582
- },
7583
- scrollable: 'boolean',
7584
- },
7585
- },
7586
- meta: {
7587
- desiredParent: ['>OnboardProvider', '>OnboardItem'],
7588
- label: 'Onboard Subtitle',
7589
- description: 'Subtitle text for an onboarding step.',
7590
- styles: {
7591
- color: {
7592
- label: 'Color',
7593
- description: 'Text color.',
7594
- category: 'style',
7595
- specialCategory: null,
7596
- sort: 1,
7597
- },
7598
- fontSize: {
7599
- label: 'Font Size',
7600
- description: 'Text size.',
7601
- category: 'style',
7602
- specialCategory: null,
7603
- sort: 2,
7604
- preferredScale: 's',
7605
- },
7606
- fontFamily: {
7607
- label: 'Font Family',
7608
- description: 'Font family used for the text.',
7609
- category: 'style',
7610
- specialCategory: null,
7611
- sort: 3,
7612
- },
7613
- fontWeight: {
7614
- label: 'Font Weight',
7615
- description: 'Text weight.',
7616
- category: 'style',
7617
- specialCategory: null,
7618
- sort: 4,
7619
- },
7620
- textAlign: {
7621
- label: 'Text Align',
7622
- description: 'Text alignment.',
7623
- category: 'style',
7624
- specialCategory: null,
7625
- sort: 5,
7626
- },
7627
- },
7628
- attributes: {
7629
- adjustsFontSizeToFit: {
7630
- label: 'Adjust Font Size To Fit',
7631
- description:
7632
- 'Automatically reduces font size to fit the available space.',
7633
- category: 'other',
7634
- specialCategory: null,
7635
- sort: 1,
7636
- },
7637
- showEllipsis: {
7638
- label: 'Show Ellipsis',
7639
- description:
7640
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7641
- category: 'other',
7642
- specialCategory: null,
7643
- sort: 2,
7644
- },
7645
8001
  scrollable: {
7646
8002
  label: 'Scrollable',
7647
8003
  description: 'Turns scroll interaction on.',
@@ -7727,35 +8083,31 @@ export const patterns = [
7727
8083
  },
7728
8084
  paddingTop: {
7729
8085
  label: 'Padding Top',
7730
- description: 'Top padding only.',
8086
+ description: 'Top padding for the provider.',
7731
8087
  category: 'container',
7732
- specialCategory: 'padding',
7733
- sort: 9,
7734
- preferredScale: 'vs',
8088
+ specialCategory: 'padding',
8089
+ sort: 1,
7735
8090
  },
7736
8091
  paddingBottom: {
7737
8092
  label: 'Padding Bottom',
7738
- description: 'Bottom padding only.',
8093
+ description: 'Bottom padding for the provider.',
7739
8094
  category: 'container',
7740
8095
  specialCategory: 'padding',
7741
- sort: 10,
7742
- preferredScale: 'vs',
8096
+ sort: 3,
7743
8097
  },
7744
8098
  paddingLeft: {
7745
8099
  label: 'Padding Left',
7746
- description: 'Left padding only.',
8100
+ description: 'Left padding for the provider.',
7747
8101
  category: 'container',
7748
8102
  specialCategory: 'padding',
7749
- sort: 11,
7750
- preferredScale: 's',
8103
+ sort: 4,
7751
8104
  },
7752
8105
  paddingRight: {
7753
8106
  label: 'Padding Right',
7754
- description: 'Right padding only.',
8107
+ description: 'Right padding for the provider.',
7755
8108
  category: 'container',
7756
8109
  specialCategory: 'padding',
7757
- sort: 12,
7758
- preferredScale: 's',
8110
+ sort: 2,
7759
8111
  },
7760
8112
  margin: {
7761
8113
  label: 'Margin',
@@ -7915,46 +8267,27 @@ export const patterns = [
7915
8267
  sort: 26,
7916
8268
  },
7917
8269
  },
7918
- },
7919
- specialCategories: {
7920
- padding: {
7921
- label: 'Padding',
7922
- description: 'Uniform padding on all sides.',
7923
- category: 'container',
7924
- sort: 1,
7925
- },
7926
- margin: {
7927
- label: 'Margin',
7928
- description: 'Uniform margin on all sides.',
7929
- category: 'container',
7930
- sort: 2,
7931
- },
7932
- size: {
7933
- label: 'Size',
7934
- description: 'Fixed dimensions.',
7935
- category: 'container',
7936
- sort: 3,
7937
- },
7938
- offset: {
7939
- label: 'Offset',
7940
- description: 'Absolute positioning offsets.',
7941
- category: 'container',
7942
- sort: 4,
8270
+ theme: {
8271
+ label: 'Theme',
8272
+ description:
8273
+ 'Controls which app theme(s) this onboarding is intended for.',
8274
+ category: 'other',
8275
+ specialCategory: null,
8276
+ sort: -10,
7943
8277
  },
7944
8278
  },
8279
+ styles: {},
7945
8280
  },
7946
8281
  defaults: {
7947
- translateCounter: 1,
7948
8282
  styles: {
7949
- color: 'THEME_COLORS.TEXT',
7950
- fontSize: '14@fs',
7951
- fontWeight: '600',
7952
8283
  flexDirection: 'column',
7953
8284
  position: 'relative',
7954
8285
  zIndex: 1,
7955
8286
  alignSelf: 'flex-start',
7956
8287
  flexGrow: 0,
7957
8288
  flexShrink: 0,
8289
+ width: '100%',
8290
+ height: '100%',
7958
8291
  },
7959
8292
  },
7960
8293
  types: {},
@@ -7962,7 +8295,7 @@ export const patterns = [
7962
8295
  {
7963
8296
  schemaVersion: 2,
7964
8297
  pattern: {
7965
- type: 'OnboardTitle',
8298
+ type: 'OnboardSubtitle',
7966
8299
  title: 'title',
7967
8300
  description: 'description',
7968
8301
  children: 'string',
@@ -8025,12 +8358,13 @@ export const patterns = [
8025
8358
  zIndex: 'number',
8026
8359
  },
8027
8360
  scrollable: 'boolean',
8361
+ testID: 'string',
8028
8362
  },
8029
8363
  },
8030
8364
  meta: {
8031
- desiredParent: ['>OnboardItem', '>OnboardProvider'],
8032
- label: 'Onboard Title',
8033
- description: 'Title text for an onboarding step.',
8365
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
8366
+ label: 'Onboard Subtitle',
8367
+ description: 'Subtitle text for an onboarding step.',
8034
8368
  styles: {
8035
8369
  color: {
8036
8370
  label: 'Color',
@@ -8045,7 +8379,7 @@ export const patterns = [
8045
8379
  category: 'style',
8046
8380
  specialCategory: null,
8047
8381
  sort: 2,
8048
- preferredScale: 's',
8382
+ preferredScale: 'f',
8049
8383
  },
8050
8384
  fontFamily: {
8051
8385
  label: 'Font Family',
@@ -8391,15 +8725,14 @@ export const patterns = [
8391
8725
  translateCounter: 1,
8392
8726
  styles: {
8393
8727
  color: 'THEME_COLORS.TEXT',
8394
- fontSize: '24@fs',
8395
- fontWeight: '700',
8728
+ fontSize: '14@fs',
8729
+ fontWeight: '600',
8396
8730
  flexDirection: 'column',
8397
8731
  position: 'relative',
8398
8732
  zIndex: 1,
8399
8733
  alignSelf: 'flex-start',
8400
8734
  flexGrow: 0,
8401
8735
  flexShrink: 0,
8402
- textAlign: 'center',
8403
8736
  },
8404
8737
  },
8405
8738
  types: {},
@@ -8407,15 +8740,20 @@ export const patterns = [
8407
8740
  {
8408
8741
  schemaVersion: 2,
8409
8742
  pattern: {
8410
- type: 'PaywallBackground',
8743
+ type: 'OnboardTitle',
8411
8744
  title: 'title',
8412
8745
  description: 'description',
8413
- children: 'never',
8746
+ children: 'string',
8414
8747
  attributes: {
8415
- src: 'string',
8416
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
8417
- scrollable: 'boolean',
8748
+ adjustsFontSizeToFit: 'boolean',
8749
+ showEllipsis: 'boolean',
8750
+ translateCounter: 'number',
8418
8751
  styles: {
8752
+ color: 'color',
8753
+ fontSize: 'size',
8754
+ fontFamily: 'fontFamily',
8755
+ fontWeight: 'fontWeight',
8756
+ textAlign: 'string',
8419
8757
  flexDirection: ['row', 'column'],
8420
8758
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8421
8759
  alignItems: [
@@ -8464,27 +8802,68 @@ export const patterns = [
8464
8802
  right: 'size',
8465
8803
  zIndex: 'number',
8466
8804
  },
8805
+ scrollable: 'boolean',
8806
+ testID: 'string',
8467
8807
  },
8468
8808
  },
8469
8809
  meta: {
8470
- desiredParent: ['>PaywallProvider'],
8471
- label: 'Paywall Background',
8472
- description: 'Paywall Background component.',
8473
- styles: {},
8810
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
8811
+ label: 'Onboard Title',
8812
+ description: 'Title text for an onboarding step.',
8813
+ styles: {
8814
+ color: {
8815
+ label: 'Color',
8816
+ description: 'Text color.',
8817
+ category: 'style',
8818
+ specialCategory: null,
8819
+ sort: 1,
8820
+ },
8821
+ fontSize: {
8822
+ label: 'Font Size',
8823
+ description: 'Text size.',
8824
+ category: 'style',
8825
+ specialCategory: null,
8826
+ sort: 2,
8827
+ preferredScale: 'f',
8828
+ },
8829
+ fontFamily: {
8830
+ label: 'Font Family',
8831
+ description: 'Font family used for the text.',
8832
+ category: 'style',
8833
+ specialCategory: null,
8834
+ sort: 3,
8835
+ },
8836
+ fontWeight: {
8837
+ label: 'Font Weight',
8838
+ description: 'Text weight.',
8839
+ category: 'style',
8840
+ specialCategory: null,
8841
+ sort: 4,
8842
+ },
8843
+ textAlign: {
8844
+ label: 'Text Align',
8845
+ description: 'Text alignment.',
8846
+ category: 'style',
8847
+ specialCategory: null,
8848
+ sort: 5,
8849
+ },
8850
+ },
8474
8851
  attributes: {
8475
- src: {
8476
- label: 'Src',
8477
- description: 'Image source URL.',
8852
+ adjustsFontSizeToFit: {
8853
+ label: 'Adjust Font Size To Fit',
8854
+ description:
8855
+ 'Automatically reduces font size to fit the available space.',
8478
8856
  category: 'other',
8479
8857
  specialCategory: null,
8480
8858
  sort: 1,
8481
8859
  },
8482
- resizeMode: {
8483
- label: 'Resize Mode',
8484
- description: 'How the image fits its container.',
8860
+ showEllipsis: {
8861
+ label: 'Show Ellipsis',
8862
+ description:
8863
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8485
8864
  category: 'other',
8486
8865
  specialCategory: null,
8487
- sort: 4,
8866
+ sort: 2,
8488
8867
  },
8489
8868
  scrollable: {
8490
8869
  label: 'Scrollable',
@@ -8788,20 +9167,18 @@ export const patterns = [
8788
9167
  },
8789
9168
  },
8790
9169
  defaults: {
8791
- resizeMode: 'cover',
9170
+ translateCounter: 1,
8792
9171
  styles: {
8793
- width: '100%',
8794
- height: '100%',
8795
- position: 'absolute',
8796
- top: 0,
8797
- left: 0,
8798
- right: 0,
8799
- bottom: 0,
8800
- zIndex: 1,
9172
+ color: 'THEME_COLORS.TEXT',
9173
+ fontSize: '24@fs',
9174
+ fontWeight: '700',
8801
9175
  flexDirection: 'column',
9176
+ position: 'relative',
9177
+ zIndex: 1,
8802
9178
  alignSelf: 'flex-start',
8803
9179
  flexGrow: 0,
8804
9180
  flexShrink: 0,
9181
+ textAlign: 'center',
8805
9182
  },
8806
9183
  },
8807
9184
  types: {},
@@ -8809,23 +9186,15 @@ export const patterns = [
8809
9186
  {
8810
9187
  schemaVersion: 2,
8811
9188
  pattern: {
8812
- type: 'PaywallCloseButton',
9189
+ type: 'PaywallBackground',
8813
9190
  title: 'title',
8814
9191
  description: 'description',
8815
9192
  children: 'never',
8816
9193
  attributes: {
8817
- iconType: 'iconType',
8818
- size: 'number',
8819
- strokeWidth: 'number',
8820
- adjustsFontSizeToFit: 'boolean',
8821
- showEllipsis: 'boolean',
8822
- translateCounter: 'number',
9194
+ src: 'string',
9195
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9196
+ scrollable: 'boolean',
8823
9197
  styles: {
8824
- color: 'color',
8825
- fontSize: 'size',
8826
- fontFamily: 'fontFamily',
8827
- fontWeight: 'fontWeight',
8828
- textAlign: 'string',
8829
9198
  flexDirection: ['row', 'column'],
8830
9199
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8831
9200
  alignItems: [
@@ -8874,88 +9243,28 @@ export const patterns = [
8874
9243
  right: 'size',
8875
9244
  zIndex: 'number',
8876
9245
  },
8877
- scrollable: 'boolean',
9246
+ testID: 'string',
8878
9247
  },
8879
9248
  },
8880
9249
  meta: {
8881
9250
  desiredParent: ['>PaywallProvider'],
8882
- label: 'Paywall Close Button',
8883
- description: 'Paywall Close Button component.',
8884
- styles: {
8885
- color: {
8886
- label: 'Color',
8887
- description: 'Text color.',
8888
- category: 'style',
8889
- specialCategory: null,
8890
- sort: 1,
8891
- },
8892
- fontSize: {
8893
- label: 'Font Size',
8894
- description: 'Text size.',
8895
- category: 'style',
8896
- specialCategory: null,
8897
- sort: 2,
8898
- preferredScale: 's',
8899
- },
8900
- fontFamily: {
8901
- label: 'Font Family',
8902
- description: 'Font family used for the text.',
8903
- category: 'style',
8904
- specialCategory: null,
8905
- sort: 3,
8906
- },
8907
- fontWeight: {
8908
- label: 'Font Weight',
8909
- description: 'Text weight.',
8910
- category: 'style',
8911
- specialCategory: null,
8912
- sort: 4,
8913
- },
8914
- textAlign: {
8915
- label: 'Text Align',
8916
- description: 'Text alignment.',
8917
- category: 'style',
8918
- specialCategory: null,
8919
- sort: 5,
8920
- },
8921
- },
9251
+ label: 'Paywall Background',
9252
+ description: 'Paywall Background component.',
9253
+ styles: {},
8922
9254
  attributes: {
8923
- iconType: {
8924
- label: 'Icon',
8925
- description: 'Which icon to render.',
8926
- category: 'other',
8927
- specialCategory: null,
8928
- sort: 1,
8929
- },
8930
- size: {
8931
- label: 'Size',
8932
- description: 'Icon size (px).',
8933
- category: 'other',
8934
- specialCategory: null,
8935
- sort: 2,
8936
- },
8937
- strokeWidth: {
8938
- label: 'Stroke Width',
8939
- description: 'SVG stroke width override (applied to the icon paths).',
8940
- category: 'other',
8941
- specialCategory: null,
8942
- sort: 3,
8943
- },
8944
- adjustsFontSizeToFit: {
8945
- label: 'Adjust Font Size To Fit',
8946
- description:
8947
- 'Automatically reduces font size to fit the available space.',
9255
+ src: {
9256
+ label: 'Src',
9257
+ description: 'Image source URL.',
8948
9258
  category: 'other',
8949
9259
  specialCategory: null,
8950
9260
  sort: 1,
8951
9261
  },
8952
- showEllipsis: {
8953
- label: 'Show Ellipsis',
8954
- description:
8955
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9262
+ resizeMode: {
9263
+ label: 'Resize Mode',
9264
+ description: 'How the image fits its container.',
8956
9265
  category: 'other',
8957
9266
  specialCategory: null,
8958
- sort: 2,
9267
+ sort: 4,
8959
9268
  },
8960
9269
  scrollable: {
8961
9270
  label: 'Scrollable',
@@ -9259,38 +9568,44 @@ export const patterns = [
9259
9568
  },
9260
9569
  },
9261
9570
  defaults: {
9262
- iconType: 'close',
9263
- strokeWidth: 1.5,
9571
+ resizeMode: 'cover',
9264
9572
  styles: {
9265
- fontSize: '16@fs',
9266
- color: 'THEME_COLORS.TEXT',
9267
- fontWeight: '400',
9268
- flexDirection: 'row',
9573
+ width: '100%',
9574
+ height: '100%',
9269
9575
  position: 'absolute',
9576
+ top: 0,
9577
+ left: 0,
9578
+ right: 0,
9579
+ bottom: 0,
9270
9580
  zIndex: 1,
9581
+ flexDirection: 'column',
9271
9582
  alignSelf: 'flex-start',
9272
9583
  flexGrow: 0,
9273
9584
  flexShrink: 0,
9274
- top: '35@vs',
9275
- left: '24@s',
9276
- justifyContent: 'center',
9277
- alignItems: 'center',
9278
9585
  },
9279
- translateCounter: 1,
9280
- size: 24,
9281
9586
  },
9282
9587
  types: {},
9283
9588
  },
9284
9589
  {
9285
9590
  schemaVersion: 2,
9286
9591
  pattern: {
9287
- type: 'PaywallOptions',
9592
+ type: 'PaywallCloseButton',
9288
9593
  title: 'title',
9289
9594
  description: 'description',
9290
- children: 'node',
9595
+ children: 'never',
9291
9596
  attributes: {
9292
- scrollable: 'boolean',
9597
+ iconType: 'iconType',
9598
+ size: 'number',
9599
+ strokeWidth: 'number',
9600
+ adjustsFontSizeToFit: 'boolean',
9601
+ showEllipsis: 'boolean',
9602
+ translateCounter: 'number',
9293
9603
  styles: {
9604
+ color: 'color',
9605
+ fontSize: 'size',
9606
+ fontFamily: 'fontFamily',
9607
+ fontWeight: 'fontWeight',
9608
+ textAlign: 'string',
9294
9609
  flexDirection: ['row', 'column'],
9295
9610
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9296
9611
  alignItems: [
@@ -9339,39 +9654,90 @@ export const patterns = [
9339
9654
  right: 'size',
9340
9655
  zIndex: 'number',
9341
9656
  },
9657
+ scrollable: 'boolean',
9658
+ testID: 'string',
9342
9659
  },
9343
9660
  },
9344
9661
  meta: {
9345
9662
  desiredParent: ['>PaywallProvider'],
9346
- label: 'Paywall Options',
9347
- description: 'Paywall options selector component.',
9348
- specialCategories: {
9349
- padding: {
9350
- label: 'Padding',
9351
- description: 'Uniform padding on all sides.',
9352
- category: 'container',
9663
+ label: 'Paywall Close Button',
9664
+ description: 'Paywall Close Button component.',
9665
+ styles: {
9666
+ color: {
9667
+ label: 'Color',
9668
+ description: 'Text color.',
9669
+ category: 'style',
9670
+ specialCategory: null,
9353
9671
  sort: 1,
9354
9672
  },
9355
- margin: {
9356
- label: 'Margin',
9357
- description: 'Uniform margin on all sides.',
9358
- category: 'container',
9673
+ fontSize: {
9674
+ label: 'Font Size',
9675
+ description: 'Text size.',
9676
+ category: 'style',
9677
+ specialCategory: null,
9359
9678
  sort: 2,
9679
+ preferredScale: 'f',
9360
9680
  },
9361
- size: {
9362
- label: 'Size',
9363
- description: 'Fixed dimensions.',
9364
- category: 'container',
9681
+ fontFamily: {
9682
+ label: 'Font Family',
9683
+ description: 'Font family used for the text.',
9684
+ category: 'style',
9685
+ specialCategory: null,
9365
9686
  sort: 3,
9366
9687
  },
9367
- offset: {
9368
- label: 'Offset',
9369
- description: 'Absolute positioning offsets.',
9370
- category: 'container',
9688
+ fontWeight: {
9689
+ label: 'Font Weight',
9690
+ description: 'Text weight.',
9691
+ category: 'style',
9692
+ specialCategory: null,
9371
9693
  sort: 4,
9372
9694
  },
9695
+ textAlign: {
9696
+ label: 'Text Align',
9697
+ description: 'Text alignment.',
9698
+ category: 'style',
9699
+ specialCategory: null,
9700
+ sort: 5,
9701
+ },
9373
9702
  },
9374
9703
  attributes: {
9704
+ iconType: {
9705
+ label: 'Icon',
9706
+ description: 'Which icon to render.',
9707
+ category: 'other',
9708
+ specialCategory: null,
9709
+ sort: 1,
9710
+ },
9711
+ size: {
9712
+ label: 'Size',
9713
+ description: 'Icon size (px).',
9714
+ category: 'other',
9715
+ specialCategory: null,
9716
+ sort: 2,
9717
+ },
9718
+ strokeWidth: {
9719
+ label: 'Stroke Width',
9720
+ description: 'SVG stroke width override (applied to the icon paths).',
9721
+ category: 'other',
9722
+ specialCategory: null,
9723
+ sort: 3,
9724
+ },
9725
+ adjustsFontSizeToFit: {
9726
+ label: 'Adjust Font Size To Fit',
9727
+ description:
9728
+ 'Automatically reduces font size to fit the available space.',
9729
+ category: 'other',
9730
+ specialCategory: null,
9731
+ sort: 1,
9732
+ },
9733
+ showEllipsis: {
9734
+ label: 'Show Ellipsis',
9735
+ description:
9736
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9737
+ category: 'other',
9738
+ specialCategory: null,
9739
+ sort: 2,
9740
+ },
9375
9741
  scrollable: {
9376
9742
  label: 'Scrollable',
9377
9743
  description: 'Turns scroll interaction on.',
@@ -9646,27 +10012,60 @@ export const patterns = [
9646
10012
  },
9647
10013
  },
9648
10014
  },
9649
- styles: {},
10015
+ specialCategories: {
10016
+ padding: {
10017
+ label: 'Padding',
10018
+ description: 'Uniform padding on all sides.',
10019
+ category: 'container',
10020
+ sort: 1,
10021
+ },
10022
+ margin: {
10023
+ label: 'Margin',
10024
+ description: 'Uniform margin on all sides.',
10025
+ category: 'container',
10026
+ sort: 2,
10027
+ },
10028
+ size: {
10029
+ label: 'Size',
10030
+ description: 'Fixed dimensions.',
10031
+ category: 'container',
10032
+ sort: 3,
10033
+ },
10034
+ offset: {
10035
+ label: 'Offset',
10036
+ description: 'Absolute positioning offsets.',
10037
+ category: 'container',
10038
+ sort: 4,
10039
+ },
10040
+ },
9650
10041
  },
9651
10042
  defaults: {
10043
+ iconType: 'close',
10044
+ strokeWidth: 1.5,
9652
10045
  styles: {
10046
+ fontSize: '16@fs',
10047
+ color: 'THEME_COLORS.TEXT',
10048
+ fontWeight: '400',
9653
10049
  flexDirection: 'row',
9654
- position: 'relative',
10050
+ position: 'absolute',
9655
10051
  zIndex: 1,
9656
10052
  alignSelf: 'flex-start',
9657
10053
  flexGrow: 0,
9658
10054
  flexShrink: 0,
9659
- justifyContent: 'space-between',
10055
+ top: '35@vs',
10056
+ left: '24@s',
10057
+ justifyContent: 'center',
9660
10058
  alignItems: 'center',
9661
- minHeight: '60px',
9662
10059
  },
10060
+ translateCounter: 1,
10061
+ size: 24,
9663
10062
  },
9664
10063
  types: {},
9665
10064
  },
9666
10065
  {
9667
10066
  schemaVersion: 2,
9668
10067
  pattern: {
9669
- type: 'PaywallProvider',
10068
+ type: 'PaywallOptions',
9670
10069
  title: 'title',
9671
10070
  description: 'description',
9672
10071
  children: 'node',
@@ -9721,13 +10120,13 @@ export const patterns = [
9721
10120
  right: 'size',
9722
10121
  zIndex: 'number',
9723
10122
  },
9724
- delay: 'number',
10123
+ testID: 'string',
9725
10124
  },
9726
10125
  },
9727
10126
  meta: {
9728
- desiredParent: ['all'],
9729
- label: 'Paywall Provider',
9730
- description: 'Provider/wrapper for paywall screen components.',
10127
+ desiredParent: ['>PaywallProvider'],
10128
+ label: 'Paywall Options',
10129
+ description: 'Paywall options selector component.',
9731
10130
  specialCategories: {
9732
10131
  padding: {
9733
10132
  label: 'Padding',
@@ -10028,28 +10427,20 @@ export const patterns = [
10028
10427
  sort: 26,
10029
10428
  },
10030
10429
  },
10031
- delay: {
10032
- label: 'Back Delay (ms)',
10033
- description:
10034
- 'Milliseconds before the paywall can be dismissed via back/close.',
10035
- category: 'other',
10036
- specialCategory: null,
10037
- sort: 1,
10038
- },
10039
10430
  },
10040
- mockableFeatures: { products: true, benefits: true },
10041
10431
  styles: {},
10042
10432
  },
10043
10433
  defaults: {
10044
10434
  styles: {
10045
- flexDirection: 'column',
10435
+ flexDirection: 'row',
10046
10436
  position: 'relative',
10047
10437
  zIndex: 1,
10048
10438
  alignSelf: 'flex-start',
10049
10439
  flexGrow: 0,
10050
10440
  flexShrink: 0,
10051
- width: '100%',
10052
- height: '100%',
10441
+ justifyContent: 'space-between',
10442
+ alignItems: 'center',
10443
+ minHeight: '60px',
10053
10444
  },
10054
10445
  },
10055
10446
  types: {},
@@ -10057,27 +10448,13 @@ export const patterns = [
10057
10448
  {
10058
10449
  schemaVersion: 2,
10059
10450
  pattern: {
10060
- type: 'PaywallSubscribeButton',
10451
+ type: 'PaywallProvider',
10061
10452
  title: 'title',
10062
10453
  description: 'description',
10063
- children: 'string',
10454
+ children: 'node',
10064
10455
  attributes: {
10456
+ scrollable: 'boolean',
10065
10457
  styles: {
10066
- color: 'color',
10067
- fontSize: 'size',
10068
- fontWeight: [
10069
- 'normal',
10070
- 'bold',
10071
- '100',
10072
- '200',
10073
- '300',
10074
- '400',
10075
- '500',
10076
- '600',
10077
- '700',
10078
- '800',
10079
- '900',
10080
- ],
10081
10458
  flexDirection: ['row', 'column'],
10082
10459
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10083
10460
  alignItems: [
@@ -10126,36 +10503,14 @@ export const patterns = [
10126
10503
  right: 'size',
10127
10504
  zIndex: 'number',
10128
10505
  },
10129
- scrollable: 'boolean',
10506
+ testID: 'string',
10507
+ delay: 'number',
10130
10508
  },
10131
10509
  },
10132
10510
  meta: {
10133
- desiredParent: ['>PaywallProvider'],
10134
- label: 'Paywall Subscribe Button',
10135
- description: 'Paywall subscribe call-to-action button. Extends Button.',
10136
- styles: {
10137
- color: {
10138
- label: 'Color',
10139
- description: 'Text color of the button.',
10140
- category: 'style',
10141
- specialCategory: null,
10142
- sort: 1,
10143
- },
10144
- fontSize: {
10145
- label: 'Font Size',
10146
- description: 'Text size of the button.',
10147
- category: 'style',
10148
- specialCategory: null,
10149
- sort: 2,
10150
- },
10151
- fontWeight: {
10152
- label: 'Font Weight',
10153
- description: 'Text weight of the button.',
10154
- category: 'style',
10155
- specialCategory: null,
10156
- sort: 3,
10157
- },
10158
- },
10511
+ desiredParent: ['all'],
10512
+ label: 'Paywall Provider',
10513
+ description: 'Provider/wrapper for paywall screen components.',
10159
10514
  specialCategories: {
10160
10515
  padding: {
10161
10516
  label: 'Padding',
@@ -10456,26 +10811,28 @@ export const patterns = [
10456
10811
  sort: 26,
10457
10812
  },
10458
10813
  },
10814
+ delay: {
10815
+ label: 'Back Delay (ms)',
10816
+ description:
10817
+ 'Milliseconds before the paywall can be dismissed via back/close.',
10818
+ category: 'other',
10819
+ specialCategory: null,
10820
+ sort: 1,
10821
+ },
10459
10822
  },
10823
+ mockableFeatures: { products: true, benefits: true },
10824
+ styles: {},
10460
10825
  },
10461
10826
  defaults: {
10462
- styles: {
10463
- display: 'flex',
10464
- alignItems: 'center',
10465
- justifyContent: 'center',
10466
- backgroundColor: '#6495ED',
10827
+ styles: {
10467
10828
  flexDirection: 'column',
10468
10829
  position: 'relative',
10469
10830
  zIndex: 1,
10470
10831
  alignSelf: 'flex-start',
10471
10832
  flexGrow: 0,
10472
10833
  flexShrink: 0,
10473
- paddingHorizontal: '20@s',
10474
- paddingVertical: '12@vs',
10475
- borderRadius: '12@s',
10476
- color: '#FFFFFF',
10477
- fontSize: '16@fs',
10478
- fontWeight: '700',
10834
+ width: '100%',
10835
+ height: '100%',
10479
10836
  },
10480
10837
  },
10481
10838
  types: {},
@@ -10483,20 +10840,27 @@ export const patterns = [
10483
10840
  {
10484
10841
  schemaVersion: 2,
10485
10842
  pattern: {
10486
- type: 'PriceTag',
10843
+ type: 'PaywallSubscribeButton',
10487
10844
  title: 'title',
10488
10845
  description: 'description',
10489
10846
  children: 'string',
10490
10847
  attributes: {
10491
- adjustsFontSizeToFit: 'boolean',
10492
- showEllipsis: 'boolean',
10493
- translateCounter: 'number',
10494
10848
  styles: {
10495
10849
  color: 'color',
10496
10850
  fontSize: 'size',
10497
- fontFamily: 'fontFamily',
10498
- fontWeight: 'fontWeight',
10499
- textAlign: 'string',
10851
+ fontWeight: [
10852
+ 'normal',
10853
+ 'bold',
10854
+ '100',
10855
+ '200',
10856
+ '300',
10857
+ '400',
10858
+ '500',
10859
+ '600',
10860
+ '700',
10861
+ '800',
10862
+ '900',
10863
+ ],
10500
10864
  flexDirection: ['row', 'column'],
10501
10865
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10502
10866
  alignItems: [
@@ -10544,80 +10908,65 @@ export const patterns = [
10544
10908
  left: 'size',
10545
10909
  right: 'size',
10546
10910
  zIndex: 'number',
10547
- textDecorationLine: ['none', 'underline', 'line-through'],
10548
10911
  },
10549
10912
  scrollable: 'boolean',
10550
- showOriginalPricePossible: 'boolean',
10551
- hideIfItsNotDiscount: 'boolean',
10913
+ testID: 'string',
10552
10914
  },
10553
10915
  },
10554
10916
  meta: {
10555
10917
  desiredParent: ['>PaywallProvider'],
10556
- label: 'Price Tag',
10557
- description: 'Displays a price tag text. Extends Text.',
10918
+ label: 'Paywall Subscribe Button',
10919
+ description: 'Paywall subscribe call-to-action button. Extends Button.',
10558
10920
  styles: {
10559
10921
  color: {
10560
10922
  label: 'Color',
10561
- description: 'Text color.',
10923
+ description: 'Text color of the button.',
10562
10924
  category: 'style',
10563
10925
  specialCategory: null,
10564
10926
  sort: 1,
10565
10927
  },
10566
10928
  fontSize: {
10567
10929
  label: 'Font Size',
10568
- description: 'Text size.',
10930
+ description: 'Text size of the button.',
10569
10931
  category: 'style',
10570
10932
  specialCategory: null,
10571
10933
  sort: 2,
10572
- preferredScale: 's',
10573
- },
10574
- fontFamily: {
10575
- label: 'Font Family',
10576
- description: 'Font family used for the text.',
10577
- category: 'style',
10578
- specialCategory: null,
10579
- sort: 3,
10580
10934
  },
10581
10935
  fontWeight: {
10582
10936
  label: 'Font Weight',
10583
- description: 'Text weight.',
10584
- category: 'style',
10585
- specialCategory: null,
10586
- sort: 4,
10587
- },
10588
- textAlign: {
10589
- label: 'Text Align',
10590
- description: 'Text alignment.',
10591
- category: 'style',
10592
- specialCategory: null,
10593
- sort: 5,
10594
- },
10595
- textDecorationLine: {
10596
- label: 'Text Decoration',
10597
- description:
10598
- 'Text decoration line style (e.g. line-through for strikethrough).',
10937
+ description: 'Text weight of the button.',
10599
10938
  category: 'style',
10600
10939
  specialCategory: null,
10601
- sort: 6,
10940
+ sort: 3,
10602
10941
  },
10603
10942
  },
10604
- attributes: {
10605
- adjustsFontSizeToFit: {
10606
- label: 'Adjust Font Size To Fit',
10607
- description:
10608
- 'Automatically reduces font size to fit the available space.',
10609
- category: 'other',
10610
- specialCategory: null,
10943
+ specialCategories: {
10944
+ padding: {
10945
+ label: 'Padding',
10946
+ description: 'Uniform padding on all sides.',
10947
+ category: 'container',
10611
10948
  sort: 1,
10612
10949
  },
10613
- showEllipsis: {
10614
- label: 'Show Ellipsis',
10615
- description:
10616
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10617
- category: 'other',
10618
- specialCategory: null,
10950
+ margin: {
10951
+ label: 'Margin',
10952
+ description: 'Uniform margin on all sides.',
10953
+ category: 'container',
10619
10954
  sort: 2,
10620
10955
  },
10956
+ size: {
10957
+ label: 'Size',
10958
+ description: 'Fixed dimensions.',
10959
+ category: 'container',
10960
+ sort: 3,
10961
+ },
10962
+ offset: {
10963
+ label: 'Offset',
10964
+ description: 'Absolute positioning offsets.',
10965
+ category: 'container',
10966
+ sort: 4,
10967
+ },
10968
+ },
10969
+ attributes: {
10621
10970
  scrollable: {
10622
10971
  label: 'Scrollable',
10623
10972
  description: 'Turns scroll interaction on.',
@@ -10891,61 +11240,26 @@ export const patterns = [
10891
11240
  sort: 26,
10892
11241
  },
10893
11242
  },
10894
- showOriginalPricePossible: {
10895
- label: 'Show Original Price Possible',
10896
- description: 'When enabled, shows the original price if available.',
10897
- category: 'other',
10898
- specialCategory: null,
10899
- sort: 1,
10900
- },
10901
- hideIfItsNotDiscount: {
10902
- label: 'Hide If No Discount',
10903
- description:
10904
- 'Hides this element when there is no active discount/promo.',
10905
- category: 'other',
10906
- specialCategory: null,
10907
- sort: 2,
10908
- },
10909
- },
10910
- specialCategories: {
10911
- padding: {
10912
- label: 'Padding',
10913
- description: 'Uniform padding on all sides.',
10914
- category: 'container',
10915
- sort: 1,
10916
- },
10917
- margin: {
10918
- label: 'Margin',
10919
- description: 'Uniform margin on all sides.',
10920
- category: 'container',
10921
- sort: 2,
10922
- },
10923
- size: {
10924
- label: 'Size',
10925
- description: 'Fixed dimensions.',
10926
- category: 'container',
10927
- sort: 3,
10928
- },
10929
- offset: {
10930
- label: 'Offset',
10931
- description: 'Absolute positioning offsets.',
10932
- category: 'container',
10933
- sort: 4,
10934
- },
10935
11243
  },
10936
11244
  },
10937
11245
  defaults: {
10938
- translateCounter: 1,
10939
11246
  styles: {
10940
- color: 'THEME_COLORS.TEXT',
10941
- fontSize: '16@fs',
10942
- fontWeight: '700',
11247
+ display: 'flex',
11248
+ alignItems: 'center',
11249
+ justifyContent: 'center',
11250
+ backgroundColor: '#6495ED',
10943
11251
  flexDirection: 'column',
10944
11252
  position: 'relative',
10945
11253
  zIndex: 1,
10946
11254
  alignSelf: 'flex-start',
10947
11255
  flexGrow: 0,
10948
11256
  flexShrink: 0,
11257
+ paddingHorizontal: '20@s',
11258
+ paddingVertical: '12@vs',
11259
+ borderRadius: '12@s',
11260
+ color: '#FFFFFF',
11261
+ fontSize: '16@fs',
11262
+ fontWeight: '700',
10949
11263
  },
10950
11264
  },
10951
11265
  types: {},
@@ -10953,9 +11267,9 @@ export const patterns = [
10953
11267
  {
10954
11268
  schemaVersion: 2,
10955
11269
  pattern: {
10956
- type: 'Pricing',
11270
+ type: 'PriceTag',
10957
11271
  title: 'title',
10958
- description: 'base.builder.paywall.pricing.default.text',
11272
+ description: 'description',
10959
11273
  children: 'string',
10960
11274
  attributes: {
10961
11275
  adjustsFontSizeToFit: 'boolean',
@@ -11014,15 +11328,18 @@ export const patterns = [
11014
11328
  left: 'size',
11015
11329
  right: 'size',
11016
11330
  zIndex: 'number',
11331
+ textDecorationLine: ['none', 'underline', 'line-through'],
11017
11332
  },
11018
11333
  scrollable: 'boolean',
11334
+ testID: 'string',
11335
+ showOriginalPricePossible: 'boolean',
11336
+ hideIfItsNotDiscount: 'boolean',
11019
11337
  },
11020
11338
  },
11021
11339
  meta: {
11022
11340
  desiredParent: ['>PaywallProvider'],
11023
- label: 'Pricing',
11024
- description:
11025
- 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
11341
+ label: 'Price Tag',
11342
+ description: 'Displays a price tag text. Extends Text.',
11026
11343
  styles: {
11027
11344
  color: {
11028
11345
  label: 'Color',
@@ -11037,7 +11354,7 @@ export const patterns = [
11037
11354
  category: 'style',
11038
11355
  specialCategory: null,
11039
11356
  sort: 2,
11040
- preferredScale: 's',
11357
+ preferredScale: 'f',
11041
11358
  },
11042
11359
  fontFamily: {
11043
11360
  label: 'Font Family',
@@ -11060,6 +11377,14 @@ export const patterns = [
11060
11377
  specialCategory: null,
11061
11378
  sort: 5,
11062
11379
  },
11380
+ textDecorationLine: {
11381
+ label: 'Text Decoration',
11382
+ description:
11383
+ 'Text decoration line style (e.g. line-through for strikethrough).',
11384
+ category: 'style',
11385
+ specialCategory: null,
11386
+ sort: 6,
11387
+ },
11063
11388
  },
11064
11389
  attributes: {
11065
11390
  adjustsFontSizeToFit: {
@@ -11351,6 +11676,21 @@ export const patterns = [
11351
11676
  sort: 26,
11352
11677
  },
11353
11678
  },
11679
+ showOriginalPricePossible: {
11680
+ label: 'Show Original Price Possible',
11681
+ description: 'When enabled, shows the original price if available.',
11682
+ category: 'other',
11683
+ specialCategory: null,
11684
+ sort: 1,
11685
+ },
11686
+ hideIfItsNotDiscount: {
11687
+ label: 'Hide If No Discount',
11688
+ description:
11689
+ 'Hides this element when there is no active discount/promo.',
11690
+ category: 'other',
11691
+ specialCategory: null,
11692
+ sort: 2,
11693
+ },
11354
11694
  },
11355
11695
  specialCategories: {
11356
11696
  padding: {
@@ -11380,18 +11720,17 @@ export const patterns = [
11380
11720
  },
11381
11721
  },
11382
11722
  defaults: {
11383
- translateCounter: 2,
11723
+ translateCounter: 1,
11384
11724
  styles: {
11385
- color: 'rgba(255,255,255,0.6)',
11386
- fontSize: '12@fs',
11387
- fontWeight: '400',
11725
+ color: 'THEME_COLORS.TEXT',
11726
+ fontSize: '16@fs',
11727
+ fontWeight: '700',
11388
11728
  flexDirection: 'column',
11389
11729
  position: 'relative',
11390
11730
  zIndex: 1,
11391
11731
  alignSelf: 'flex-start',
11392
11732
  flexGrow: 0,
11393
11733
  flexShrink: 0,
11394
- textAlign: 'center',
11395
11734
  },
11396
11735
  },
11397
11736
  types: {},
@@ -11399,9 +11738,9 @@ export const patterns = [
11399
11738
  {
11400
11739
  schemaVersion: 2,
11401
11740
  pattern: {
11402
- type: 'Promo',
11741
+ type: 'Pricing',
11403
11742
  title: 'title',
11404
- description: 'base.builder.paywall.promo.default.text',
11743
+ description: 'base.builder.paywall.pricing.default.text',
11405
11744
  children: 'string',
11406
11745
  attributes: {
11407
11746
  adjustsFontSizeToFit: 'boolean',
@@ -11462,13 +11801,14 @@ export const patterns = [
11462
11801
  zIndex: 'number',
11463
11802
  },
11464
11803
  scrollable: 'boolean',
11804
+ testID: 'string',
11465
11805
  },
11466
11806
  },
11467
11807
  meta: {
11468
11808
  desiredParent: ['>PaywallProvider'],
11469
- label: 'Promo',
11809
+ label: 'Pricing',
11470
11810
  description:
11471
- 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
11811
+ 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
11472
11812
  styles: {
11473
11813
  color: {
11474
11814
  label: 'Color',
@@ -11483,7 +11823,7 @@ export const patterns = [
11483
11823
  category: 'style',
11484
11824
  specialCategory: null,
11485
11825
  sort: 2,
11486
- preferredScale: 's',
11826
+ preferredScale: 'f',
11487
11827
  },
11488
11828
  fontFamily: {
11489
11829
  label: 'Font Family',
@@ -11828,9 +12168,9 @@ export const patterns = [
11828
12168
  defaults: {
11829
12169
  translateCounter: 2,
11830
12170
  styles: {
11831
- color: '#34D399',
12171
+ color: 'rgba(255,255,255,0.6)',
11832
12172
  fontSize: '12@fs',
11833
- fontWeight: '600',
12173
+ fontWeight: '400',
11834
12174
  flexDirection: 'column',
11835
12175
  position: 'relative',
11836
12176
  zIndex: 1,
@@ -11845,13 +12185,20 @@ export const patterns = [
11845
12185
  {
11846
12186
  schemaVersion: 2,
11847
12187
  pattern: {
11848
- type: 'RadioButton',
12188
+ type: 'Promo',
11849
12189
  title: 'title',
11850
- description: 'description',
11851
- children: 'never',
12190
+ description: 'base.builder.paywall.promo.default.text',
12191
+ children: 'string',
11852
12192
  attributes: {
11853
- scrollable: 'boolean',
12193
+ adjustsFontSizeToFit: 'boolean',
12194
+ showEllipsis: 'boolean',
12195
+ translateCounter: 'number',
11854
12196
  styles: {
12197
+ color: 'color',
12198
+ fontSize: 'size',
12199
+ fontFamily: 'fontFamily',
12200
+ fontWeight: 'fontWeight',
12201
+ textAlign: 'string',
11855
12202
  flexDirection: ['row', 'column'],
11856
12203
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11857
12204
  alignItems: [
@@ -11900,42 +12247,70 @@ export const patterns = [
11900
12247
  right: 'size',
11901
12248
  zIndex: 'number',
11902
12249
  },
11903
- selected: 'boolean',
11904
- color: 'color',
11905
- size: 'number',
12250
+ scrollable: 'boolean',
12251
+ testID: 'string',
11906
12252
  },
11907
12253
  },
11908
12254
  meta: {
11909
- desiredParent: ['all'],
11910
- label: 'Radio Button',
11911
- description: 'Generic radio button icon.',
11912
- specialCategories: {
11913
- padding: {
11914
- label: 'Padding',
11915
- description: 'Uniform padding on all sides.',
11916
- category: 'container',
11917
- sort: 1,
11918
- },
11919
- margin: {
11920
- label: 'Margin',
11921
- description: 'Uniform margin on all sides.',
11922
- category: 'container',
12255
+ desiredParent: ['>PaywallProvider'],
12256
+ label: 'Promo',
12257
+ description:
12258
+ 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
12259
+ styles: {
12260
+ color: {
12261
+ label: 'Color',
12262
+ description: 'Text color.',
12263
+ category: 'style',
12264
+ specialCategory: null,
12265
+ sort: 1,
12266
+ },
12267
+ fontSize: {
12268
+ label: 'Font Size',
12269
+ description: 'Text size.',
12270
+ category: 'style',
12271
+ specialCategory: null,
11923
12272
  sort: 2,
12273
+ preferredScale: 'f',
11924
12274
  },
11925
- size: {
11926
- label: 'Size',
11927
- description: 'Fixed dimensions.',
11928
- category: 'container',
12275
+ fontFamily: {
12276
+ label: 'Font Family',
12277
+ description: 'Font family used for the text.',
12278
+ category: 'style',
12279
+ specialCategory: null,
11929
12280
  sort: 3,
11930
12281
  },
11931
- offset: {
11932
- label: 'Offset',
11933
- description: 'Absolute positioning offsets.',
11934
- category: 'container',
12282
+ fontWeight: {
12283
+ label: 'Font Weight',
12284
+ description: 'Text weight.',
12285
+ category: 'style',
12286
+ specialCategory: null,
11935
12287
  sort: 4,
11936
12288
  },
12289
+ textAlign: {
12290
+ label: 'Text Align',
12291
+ description: 'Text alignment.',
12292
+ category: 'style',
12293
+ specialCategory: null,
12294
+ sort: 5,
12295
+ },
11937
12296
  },
11938
12297
  attributes: {
12298
+ adjustsFontSizeToFit: {
12299
+ label: 'Adjust Font Size To Fit',
12300
+ description:
12301
+ 'Automatically reduces font size to fit the available space.',
12302
+ category: 'other',
12303
+ specialCategory: null,
12304
+ sort: 1,
12305
+ },
12306
+ showEllipsis: {
12307
+ label: 'Show Ellipsis',
12308
+ description:
12309
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
12310
+ category: 'other',
12311
+ specialCategory: null,
12312
+ sort: 2,
12313
+ },
11939
12314
  scrollable: {
11940
12315
  label: 'Scrollable',
11941
12316
  description: 'Turns scroll interaction on.',
@@ -12209,38 +12584,47 @@ export const patterns = [
12209
12584
  sort: 26,
12210
12585
  },
12211
12586
  },
12212
- color: {
12213
- label: 'Color',
12214
- description: 'Radio color.',
12215
- category: 'style',
12216
- specialCategory: null,
12587
+ },
12588
+ specialCategories: {
12589
+ padding: {
12590
+ label: 'Padding',
12591
+ description: 'Uniform padding on all sides.',
12592
+ category: 'container',
12217
12593
  sort: 1,
12218
12594
  },
12595
+ margin: {
12596
+ label: 'Margin',
12597
+ description: 'Uniform margin on all sides.',
12598
+ category: 'container',
12599
+ sort: 2,
12600
+ },
12219
12601
  size: {
12220
12602
  label: 'Size',
12221
- description: 'Radio size in px.',
12222
- category: 'style',
12223
- specialCategory: null,
12224
- sort: 2,
12603
+ description: 'Fixed dimensions.',
12604
+ category: 'container',
12605
+ sort: 3,
12225
12606
  },
12226
- selected: {
12227
- label: 'Selected',
12228
- description: 'Whether the radio is selected.',
12229
- category: 'other',
12230
- specialCategory: null,
12231
- sort: 0,
12607
+ offset: {
12608
+ label: 'Offset',
12609
+ description: 'Absolute positioning offsets.',
12610
+ category: 'container',
12611
+ sort: 4,
12232
12612
  },
12233
12613
  },
12234
- styles: {},
12235
12614
  },
12236
12615
  defaults: {
12616
+ translateCounter: 2,
12237
12617
  styles: {
12618
+ color: '#34D399',
12619
+ fontSize: '12@fs',
12620
+ fontWeight: '600',
12238
12621
  flexDirection: 'column',
12239
12622
  position: 'relative',
12240
12623
  zIndex: 1,
12241
12624
  alignSelf: 'flex-start',
12242
12625
  flexGrow: 0,
12243
12626
  flexShrink: 0,
12627
+ textAlign: 'center',
12244
12628
  },
12245
12629
  },
12246
12630
  types: {},
@@ -12248,62 +12632,7 @@ export const patterns = [
12248
12632
  {
12249
12633
  schemaVersion: 2,
12250
12634
  pattern: {
12251
- type: 'Separator',
12252
- title: 'title',
12253
- description: 'description',
12254
- children: 'never',
12255
- attributes: {
12256
- styles: {
12257
- backgroundColor: 'color',
12258
- width: 'size',
12259
- height: 'size',
12260
- marginHorizontal: 'size',
12261
- marginVertical: 'size',
12262
- marginTop: 'size',
12263
- marginBottom: 'size',
12264
- },
12265
- },
12266
- },
12267
- meta: {
12268
- desiredParent: ['all'],
12269
- label: 'Separator',
12270
- description: 'Horizontal line separator.',
12271
- attributes: {
12272
- styles: {
12273
- backgroundColor: {
12274
- label: 'Color',
12275
- description: 'Separator line color.',
12276
- category: 'style',
12277
- specialCategory: null,
12278
- sort: 1,
12279
- },
12280
- width: {
12281
- label: 'Width',
12282
- description: 'Separator width.',
12283
- category: 'container',
12284
- specialCategory: null,
12285
- sort: 1,
12286
- preferredScale: 's',
12287
- },
12288
- height: {
12289
- label: 'Height',
12290
- description: 'Separator thickness.',
12291
- category: 'container',
12292
- specialCategory: null,
12293
- sort: 2,
12294
- preferredScale: 'vs',
12295
- },
12296
- },
12297
- },
12298
- },
12299
- defaults: {
12300
- styles: { width: '100%', height: 2, backgroundColor: '#000000' },
12301
- },
12302
- },
12303
- {
12304
- schemaVersion: 2,
12305
- pattern: {
12306
- type: 'StatusBarColor',
12635
+ type: 'RadioButton',
12307
12636
  title: 'title',
12308
12637
  description: 'description',
12309
12638
  children: 'never',
@@ -12358,12 +12687,16 @@ export const patterns = [
12358
12687
  right: 'size',
12359
12688
  zIndex: 'number',
12360
12689
  },
12690
+ testID: 'string',
12691
+ selected: 'boolean',
12692
+ color: 'color',
12693
+ size: 'number',
12361
12694
  },
12362
12695
  },
12363
12696
  meta: {
12364
12697
  desiredParent: ['all'],
12365
- label: 'Status Bar Color',
12366
- description: 'Sets the OS status bar background color.',
12698
+ label: 'Radio Button',
12699
+ description: 'Generic radio button icon.',
12367
12700
  specialCategories: {
12368
12701
  padding: {
12369
12702
  label: 'Padding',
@@ -12664,16 +12997,29 @@ export const patterns = [
12664
12997
  sort: 26,
12665
12998
  },
12666
12999
  },
12667
- },
12668
- styles: {
12669
- backgroundColor: {
12670
- label: 'Background Color',
12671
- description: 'Status bar background color.',
13000
+ color: {
13001
+ label: 'Color',
13002
+ description: 'Radio color.',
12672
13003
  category: 'style',
12673
13004
  specialCategory: null,
12674
13005
  sort: 1,
12675
13006
  },
13007
+ size: {
13008
+ label: 'Size',
13009
+ description: 'Radio size in px.',
13010
+ category: 'style',
13011
+ specialCategory: null,
13012
+ sort: 2,
13013
+ },
13014
+ selected: {
13015
+ label: 'Selected',
13016
+ description: 'Whether the radio is selected.',
13017
+ category: 'other',
13018
+ specialCategory: null,
13019
+ sort: 0,
13020
+ },
12676
13021
  },
13022
+ styles: {},
12677
13023
  },
12678
13024
  defaults: {
12679
13025
  styles: {
@@ -12683,11 +13029,91 @@ export const patterns = [
12683
13029
  alignSelf: 'flex-start',
12684
13030
  flexGrow: 0,
12685
13031
  flexShrink: 0,
12686
- backgroundColor: 'THEME_COLORS.BACKGROUND',
12687
13032
  },
12688
13033
  },
12689
13034
  types: {},
12690
13035
  },
13036
+ {
13037
+ schemaVersion: 2,
13038
+ pattern: {
13039
+ type: 'Separator',
13040
+ title: 'title',
13041
+ description: 'description',
13042
+ children: 'never',
13043
+ attributes: {
13044
+ styles: {
13045
+ backgroundColor: 'color',
13046
+ width: 'size',
13047
+ height: 'size',
13048
+ marginHorizontal: 'size',
13049
+ marginVertical: 'size',
13050
+ marginTop: 'size',
13051
+ marginBottom: 'size',
13052
+ },
13053
+ testID: 'string',
13054
+ },
13055
+ },
13056
+ meta: {
13057
+ desiredParent: ['all'],
13058
+ label: 'Separator',
13059
+ description: 'Horizontal line separator.',
13060
+ attributes: {
13061
+ styles: {
13062
+ backgroundColor: {
13063
+ label: 'Color',
13064
+ description: 'Separator line color.',
13065
+ category: 'style',
13066
+ specialCategory: null,
13067
+ sort: 1,
13068
+ },
13069
+ width: {
13070
+ label: 'Width',
13071
+ description: 'Separator width.',
13072
+ category: 'container',
13073
+ specialCategory: null,
13074
+ sort: 1,
13075
+ preferredScale: 's',
13076
+ },
13077
+ height: {
13078
+ label: 'Height',
13079
+ description: 'Separator thickness.',
13080
+ category: 'container',
13081
+ specialCategory: null,
13082
+ sort: 2,
13083
+ preferredScale: 'vs',
13084
+ },
13085
+ },
13086
+ },
13087
+ },
13088
+ defaults: {
13089
+ styles: { width: '100%', height: 2, backgroundColor: '#000000' },
13090
+ },
13091
+ },
13092
+ {
13093
+ schemaVersion: 2,
13094
+ pattern: {
13095
+ type: 'StatusBarColor',
13096
+ title: 'title',
13097
+ description: 'description',
13098
+ children: 'never',
13099
+ attributes: { styles: { backgroundColor: 'color' }, testID: 'string' },
13100
+ },
13101
+ meta: {
13102
+ desiredParent: ['all'],
13103
+ label: 'Status Bar Color',
13104
+ description: 'Sets the OS status bar background color.',
13105
+ styles: {
13106
+ backgroundColor: {
13107
+ label: 'Background Color',
13108
+ description: 'Status bar background color.',
13109
+ category: 'style',
13110
+ specialCategory: null,
13111
+ sort: 1,
13112
+ },
13113
+ },
13114
+ },
13115
+ defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
13116
+ },
12691
13117
  {
12692
13118
  schemaVersion: 2,
12693
13119
  pattern: {
@@ -12751,6 +13177,7 @@ export const patterns = [
12751
13177
  fontWeight: 'fontWeight',
12752
13178
  textAlign: 'string',
12753
13179
  },
13180
+ testID: 'string',
12754
13181
  adjustsFontSizeToFit: 'boolean',
12755
13182
  showEllipsis: 'boolean',
12756
13183
  translateCounter: 'number',
@@ -13091,7 +13518,7 @@ export const patterns = [
13091
13518
  category: 'style',
13092
13519
  specialCategory: null,
13093
13520
  sort: 2,
13094
- preferredScale: 's',
13521
+ preferredScale: 'f',
13095
13522
  },
13096
13523
  fontFamily: {
13097
13524
  label: 'Font Family',
@@ -13190,6 +13617,7 @@ export const patterns = [
13190
13617
  right: 'size',
13191
13618
  zIndex: 'number',
13192
13619
  },
13620
+ testID: 'string',
13193
13621
  },
13194
13622
  },
13195
13623
  meta: {