@developer_tribe/react-builder 1.2.37 → 1.2.38

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 (152) 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 +1 -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 +1 -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 +1445 -1015
  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 +90 -51
  68. package/src/assets/samples/vpn-onboard-2.json +90 -51
  69. package/src/assets/samples/vpn-onboard-3.json +84 -48
  70. package/src/assets/samples/vpn-onboard-4.json +84 -48
  71. package/src/assets/samples/vpn-onboard-5.json +126 -73
  72. package/src/assets/samples/vpn-onboard-6.json +90 -51
  73. package/src/assets/samples/vpn-onboard-7.json +88 -50
  74. package/src/build-components/BIcon/BIconProps.generated.ts +1 -0
  75. package/src/build-components/BIcon/pattern.json +2 -1
  76. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +1 -0
  77. package/src/build-components/BackgroundImage/pattern.json +2 -1
  78. package/src/build-components/Button/ButtonProps.generated.ts +1 -0
  79. package/src/build-components/Button/pattern.json +2 -1
  80. package/src/build-components/Carousel/CarouselProps.generated.ts +1 -0
  81. package/src/build-components/Carousel/pattern.json +2 -1
  82. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +1 -0
  83. package/src/build-components/CarouselButtons/pattern.json +2 -1
  84. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +1 -0
  85. package/src/build-components/CarouselDots/pattern.json +2 -1
  86. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +1 -0
  87. package/src/build-components/CarouselItem/pattern.json +4 -1
  88. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +1 -0
  89. package/src/build-components/CarouselProvider/pattern.json +3 -0
  90. package/src/build-components/CountDown/CountDownProps.generated.ts +1 -0
  91. package/src/build-components/CountDown/pattern.json +2 -1
  92. package/src/build-components/Image/ImageProps.generated.ts +1 -0
  93. package/src/build-components/Image/pattern.json +2 -1
  94. package/src/build-components/Main/MainProps.generated.ts +1 -0
  95. package/src/build-components/Main/pattern.json +2 -1
  96. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +1 -0
  97. package/src/build-components/NavigationBarColor/pattern.json +2 -1
  98. package/src/build-components/Onboard/OnboardProps.generated.ts +1 -0
  99. package/src/build-components/Onboard/pattern.json +4 -1
  100. package/src/build-components/OnboardButton/OnboardButton.tsx +6 -6
  101. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +2 -0
  102. package/src/build-components/OnboardButton/pattern.json +2 -1
  103. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +1 -0
  104. package/src/build-components/OnboardButtons/pattern.json +2 -1
  105. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +1 -0
  106. package/src/build-components/OnboardDot/pattern.json +2 -1
  107. package/src/build-components/OnboardFooter/OnboardFooter.tsx +3 -3
  108. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -0
  109. package/src/build-components/OnboardFooter/pattern.json +2 -1
  110. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -0
  111. package/src/build-components/OnboardImage/pattern.json +2 -1
  112. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +1 -0
  113. package/src/build-components/OnboardItem/pattern.json +2 -1
  114. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +1 -0
  115. package/src/build-components/OnboardProvider/pattern.json +2 -1
  116. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -0
  117. package/src/build-components/OnboardSubtitle/pattern.json +4 -1
  118. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -0
  119. package/src/build-components/OnboardTitle/pattern.json +4 -1
  120. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +1 -0
  121. package/src/build-components/PaywallBackground/pattern.json +3 -0
  122. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -0
  123. package/src/build-components/PaywallCloseButton/pattern.json +4 -1
  124. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +1 -0
  125. package/src/build-components/PaywallOptions/pattern.json +4 -1
  126. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +1 -0
  127. package/src/build-components/PaywallProvider/pattern.json +2 -1
  128. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +1 -0
  129. package/src/build-components/PaywallSubscribeButton/pattern.json +4 -1
  130. package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -0
  131. package/src/build-components/PriceTag/pattern.json +2 -1
  132. package/src/build-components/Pricing/PricingProps.generated.ts +1 -0
  133. package/src/build-components/Pricing/pattern.json +4 -1
  134. package/src/build-components/Promo/PromoProps.generated.ts +1 -0
  135. package/src/build-components/Promo/pattern.json +4 -1
  136. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +1 -0
  137. package/src/build-components/RadioButton/pattern.json +2 -1
  138. package/src/build-components/Separator/SeparatorProps.generated.ts +1 -0
  139. package/src/build-components/Separator/pattern.json +2 -1
  140. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +1 -51
  141. package/src/build-components/StatusBarColor/pattern.json +2 -2
  142. package/src/build-components/Text/TextProps.generated.ts +1 -0
  143. package/src/build-components/Text/pattern.json +3 -2
  144. package/src/build-components/View/ViewProps.generated.ts +1 -0
  145. package/src/build-components/View/pattern.json +2 -1
  146. package/src/build-components/patterns.generated.ts +1544 -1136
  147. package/src/mockOS/context/MockOSContext.tsx +32 -0
  148. package/src/mockOS/context/MockOSContextBase.ts +3 -0
  149. package/src/mockOS/managers/mockPermissionManager.ts +9 -3
  150. package/src/modals/InspectModal.tsx +37 -8
  151. package/src/product-base/buildPaywallLocalizationParams.ts +12 -3
  152. package/src/types/PreviewConfig.ts +70 -46
@@ -67,6 +67,7 @@ export const patterns = [
67
67
  right: 'size',
68
68
  zIndex: 'number',
69
69
  },
70
+ testID: 'string',
70
71
  scrollable: 'boolean',
71
72
  iconType: 'iconType',
72
73
  size: '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: {
@@ -3300,6 +3308,7 @@ export const patterns = [
3300
3308
  right: 'size',
3301
3309
  zIndex: 'number',
3302
3310
  },
3311
+ testID: 'string',
3303
3312
  scrollable: 'boolean',
3304
3313
  count: 'number',
3305
3314
  },
@@ -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,6 +3755,7 @@ export const patterns = [
3746
3755
  zIndex: 'number',
3747
3756
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
3748
3757
  },
3758
+ testID: 'string',
3749
3759
  src: 'string',
3750
3760
  },
3751
3761
  },
@@ -4142,6 +4152,7 @@ export const patterns = [
4142
4152
  right: 'size',
4143
4153
  zIndex: 'number',
4144
4154
  },
4155
+ testID: 'string',
4145
4156
  useSafeAreaView: 'boolean',
4146
4157
  },
4147
4158
  },
@@ -4536,6 +4547,7 @@ export const patterns = [
4536
4547
  right: 'size',
4537
4548
  zIndex: 'number',
4538
4549
  },
4550
+ testID: 'string',
4539
4551
  },
4540
4552
  },
4541
4553
  meta: {
@@ -4924,6 +4936,7 @@ export const patterns = [
4924
4936
  right: 'size',
4925
4937
  zIndex: 'number',
4926
4938
  },
4939
+ testID: 'string',
4927
4940
  },
4928
4941
  },
4929
4942
  meta: {
@@ -5305,6 +5318,7 @@ export const patterns = [
5305
5318
  zIndex: 'number',
5306
5319
  color: 'color',
5307
5320
  },
5321
+ testID: ['onboardSkip', 'onboardNext'],
5308
5322
  labelKey: 'string',
5309
5323
  animation: [
5310
5324
  'simple-animation',
@@ -5347,173 +5361,6 @@ export const patterns = [
5347
5361
  sort: 4,
5348
5362
  },
5349
5363
  },
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
5364
  attributes: {
5518
5365
  scrollable: {
5519
5366
  label: 'Scrollable',
@@ -5787,84 +5634,74 @@ export const patterns = [
5787
5634
  specialCategory: null,
5788
5635
  sort: 26,
5789
5636
  },
5637
+ color: {
5638
+ label: 'Color',
5639
+ description: 'Text color.',
5640
+ category: 'style',
5641
+ specialCategory: null,
5642
+ sort: 1,
5643
+ },
5790
5644
  },
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.',
5645
+ labelKey: {
5646
+ label: 'Label Key',
5647
+ description: 'Localization key for the button text.',
5801
5648
  category: 'other',
5802
5649
  specialCategory: null,
5803
5650
  sort: 1,
5804
5651
  },
5805
- skipNumber: {
5806
- label: 'Skip Number',
5807
- description: 'Slide index to skip to.',
5652
+ events: {
5653
+ label: 'Events',
5654
+ description: 'List of events fired by the button.',
5808
5655
  category: 'other',
5809
5656
  specialCategory: null,
5810
- sort: 2,
5657
+ sort: 7,
5811
5658
  },
5812
- buttons_direction: {
5813
- label: 'Buttons Direction',
5814
- description: 'Direction to lay out buttons.',
5815
- category: 'container',
5659
+ animation: {
5660
+ label: 'Animation',
5661
+ description: 'Animation style for the button.',
5662
+ category: 'style',
5816
5663
  specialCategory: null,
5817
5664
  sort: 3,
5818
5665
  },
5819
- forIndex: {
5820
- label: 'For Index',
5821
- description: 'Show only for this slide index.',
5822
- category: 'other',
5666
+ animation_color: {
5667
+ label: 'Animation Color',
5668
+ description: 'Color used by the animation.',
5669
+ category: 'style',
5823
5670
  specialCategory: null,
5824
5671
  sort: 4,
5825
5672
  },
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
5673
  },
5841
5674
  styles: {},
5842
5675
  },
5843
5676
  defaults: {
5844
5677
  styles: {
5845
- flexDirection: 'row',
5678
+ flexDirection: 'column',
5846
5679
  position: 'relative',
5847
5680
  zIndex: 1,
5848
5681
  alignSelf: 'flex-start',
5849
5682
  flexGrow: 0,
5850
5683
  flexShrink: 0,
5851
- display: 'flex',
5852
- gap: 12,
5853
- alignItems: 'center',
5854
- justifyContent: 'center',
5855
- marginVertical: '12@vs',
5856
- marginHorizontal: '24@s',
5684
+ height: '40@vs',
5685
+ borderRadius: '12@s',
5686
+ color: 'THEME_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT',
5687
+ },
5688
+ },
5689
+ types: {
5690
+ EventObject: {
5691
+ type: ['Permission', 'Navigate'],
5692
+ permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
5693
+ navigate_to: 'string',
5694
+ targetIndex: 'number',
5857
5695
  },
5858
5696
  },
5859
- types: {},
5860
5697
  },
5861
5698
  {
5862
5699
  schemaVersion: 2,
5863
5700
  pattern: {
5864
- type: 'OnboardDot',
5701
+ type: 'OnboardButtons',
5865
5702
  title: 'title',
5866
5703
  description: 'description',
5867
- children: 'never',
5704
+ children: 'node',
5868
5705
  attributes: {
5869
5706
  scrollable: 'boolean',
5870
5707
  styles: {
@@ -5916,27 +5753,20 @@ export const patterns = [
5916
5753
  right: 'size',
5917
5754
  zIndex: 'number',
5918
5755
  },
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',
5756
+ testID: 'string',
5757
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
5758
+ skipNumber: 'number',
5759
+ buttons_direction: ['row', 'column'],
5760
+ forIndex: 'number',
5761
+ seperatorColor: 'color',
5762
+ condition: ['carousel-index'],
5763
+ conditionVariable: 'number',
5934
5764
  },
5935
5765
  },
5936
5766
  meta: {
5937
- desiredParent: ['>OnboardProvider'],
5938
- label: 'Onboard Dot',
5939
- description: 'Renders onboarding progress dots.',
5767
+ desiredParent: ['=OnboardItem'],
5768
+ label: 'Onboard Buttons',
5769
+ description: 'Wrapper for onboarding button set.',
5940
5770
  specialCategories: {
5941
5771
  padding: {
5942
5772
  label: 'Padding',
@@ -6237,40 +6067,54 @@ export const patterns = [
6237
6067
  sort: 26,
6238
6068
  },
6239
6069
  },
6240
- dotType: {
6241
- label: 'Dot Type',
6242
- description: 'Dot animation style.',
6070
+ seperatorColor: {
6071
+ label: 'Seperator Color',
6072
+ description: 'Color of the divider line.',
6243
6073
  category: 'style',
6244
6074
  specialCategory: null,
6075
+ sort: 5,
6076
+ },
6077
+ buttonType: {
6078
+ label: 'Button Type',
6079
+ description: 'Which onboard button to show.',
6080
+ category: 'other',
6081
+ specialCategory: null,
6245
6082
  sort: 1,
6246
6083
  },
6247
- dot_thickness: {
6248
- label: 'Dot Thickness',
6249
- description: 'Dot size/diameter.',
6250
- category: 'style',
6084
+ skipNumber: {
6085
+ label: 'Skip Number',
6086
+ description: 'Slide index to skip to.',
6087
+ category: 'other',
6251
6088
  specialCategory: null,
6252
6089
  sort: 2,
6253
6090
  },
6254
- inactive_dot_opacity: {
6255
- label: 'Inactive Dot Opacity',
6256
- description: 'Opacity for inactive dots.',
6257
- category: 'style',
6091
+ buttons_direction: {
6092
+ label: 'Buttons Direction',
6093
+ description: 'Direction to lay out buttons.',
6094
+ category: 'container',
6258
6095
  specialCategory: null,
6259
6096
  sort: 3,
6260
6097
  },
6261
- inactive_dot_color: {
6262
- label: 'Inactive Dot Color',
6263
- description: 'Color of inactive dots.',
6264
- category: 'style',
6098
+ forIndex: {
6099
+ label: 'For Index',
6100
+ description: 'Show only for this slide index.',
6101
+ category: 'other',
6265
6102
  specialCategory: null,
6266
6103
  sort: 4,
6267
6104
  },
6268
- active_dot_color: {
6269
- label: 'Active Dot Color',
6270
- description: 'Color of the active dot.',
6271
- category: 'style',
6105
+ condition: {
6106
+ label: 'Condition',
6107
+ description: 'Built-in condition to check.',
6108
+ category: 'other',
6272
6109
  specialCategory: null,
6273
- sort: 5,
6110
+ sort: 6,
6111
+ },
6112
+ conditionVariable: {
6113
+ label: 'Condition Variable',
6114
+ description: 'Value used when checking the condition.',
6115
+ category: 'other',
6116
+ specialCategory: null,
6117
+ sort: 7,
6274
6118
  },
6275
6119
  },
6276
6120
  styles: {},
@@ -6283,35 +6127,26 @@ export const patterns = [
6283
6127
  alignSelf: 'flex-start',
6284
6128
  flexGrow: 0,
6285
6129
  flexShrink: 0,
6130
+ display: 'flex',
6131
+ gap: 12,
6286
6132
  alignItems: 'center',
6287
6133
  justifyContent: 'center',
6288
- gap: '12@s',
6134
+ marginVertical: '12@vs',
6135
+ marginHorizontal: '24@s',
6289
6136
  },
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
6137
  },
6296
6138
  types: {},
6297
6139
  },
6298
6140
  {
6299
6141
  schemaVersion: 2,
6300
6142
  pattern: {
6301
- type: 'OnboardFooter',
6143
+ type: 'OnboardDot',
6302
6144
  title: 'title',
6303
6145
  description: 'description',
6304
6146
  children: 'never',
6305
6147
  attributes: {
6306
- adjustsFontSizeToFit: 'boolean',
6307
- showEllipsis: 'boolean',
6308
- translateCounter: 'number',
6148
+ scrollable: 'boolean',
6309
6149
  styles: {
6310
- color: 'color',
6311
- fontSize: 'size',
6312
- fontFamily: 'fontFamily',
6313
- fontWeight: 'fontWeight',
6314
- textAlign: 'string',
6315
6150
  flexDirection: ['row', 'column'],
6316
6151
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6317
6152
  alignItems: [
@@ -6360,75 +6195,55 @@ export const patterns = [
6360
6195
  right: 'size',
6361
6196
  zIndex: 'number',
6362
6197
  },
6363
- scrollable: 'boolean',
6364
- textLocalizationKey: 'string',
6365
- linkedWordFirstLocalizationKey: 'string',
6366
- linkedWordFirstColor: 'color',
6367
- linkedWordFirstPage: 'string',
6368
- linkedWordSecondLocalizationKey: 'string',
6369
- linkedWordSecondColor: 'color',
6370
- linkedWordSecondPage: 'string',
6198
+ testID: 'string',
6199
+ dotType: [
6200
+ 'expanding_dot',
6201
+ 'normal_dot',
6202
+ 'scaling_dot',
6203
+ 'sliding_border',
6204
+ 'sliding_dot',
6205
+ 'liquid_like',
6206
+ ],
6207
+ flexDirection: 'never',
6208
+ alignItems: 'never',
6209
+ justifyContent: 'never',
6210
+ dot_thickness: 'size',
6211
+ inactive_dot_opacity: 'number',
6212
+ inactive_dot_color: 'color',
6213
+ active_dot_color: 'color',
6371
6214
  },
6372
6215
  },
6373
6216
  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,
6217
+ desiredParent: ['>OnboardProvider'],
6218
+ label: 'Onboard Dot',
6219
+ description: 'Renders onboarding progress dots.',
6220
+ specialCategories: {
6221
+ padding: {
6222
+ label: 'Padding',
6223
+ description: 'Uniform padding on all sides.',
6224
+ category: 'container',
6383
6225
  sort: 1,
6384
6226
  },
6385
- fontSize: {
6386
- label: 'Font Size',
6387
- description: 'Text size.',
6388
- category: 'style',
6389
- specialCategory: null,
6227
+ margin: {
6228
+ label: 'Margin',
6229
+ description: 'Uniform margin on all sides.',
6230
+ category: 'container',
6390
6231
  sort: 2,
6391
- preferredScale: 's',
6392
6232
  },
6393
- fontFamily: {
6394
- label: 'Font Family',
6395
- description: 'Font family used for the text.',
6396
- category: 'style',
6397
- specialCategory: null,
6233
+ size: {
6234
+ label: 'Size',
6235
+ description: 'Fixed dimensions.',
6236
+ category: 'container',
6398
6237
  sort: 3,
6399
6238
  },
6400
- fontWeight: {
6401
- label: 'Font Weight',
6402
- description: 'Text weight.',
6403
- category: 'style',
6404
- specialCategory: null,
6239
+ offset: {
6240
+ label: 'Offset',
6241
+ description: 'Absolute positioning offsets.',
6242
+ category: 'container',
6405
6243
  sort: 4,
6406
6244
  },
6407
- textAlign: {
6408
- label: 'Text Align',
6409
- description: 'Text alignment.',
6410
- category: 'style',
6411
- specialCategory: null,
6412
- sort: 5,
6413
- },
6414
6245
  },
6415
6246
  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
6247
  scrollable: {
6433
6248
  label: 'Scrollable',
6434
6249
  description: 'Turns scroll interaction on.',
@@ -6702,115 +6517,81 @@ export const patterns = [
6702
6517
  sort: 26,
6703
6518
  },
6704
6519
  },
6705
- textLocalizationKey: {
6706
- label: 'Text Localization Key',
6707
- description: 'Localization key for the footer text.',
6708
- category: 'other',
6520
+ dotType: {
6521
+ label: 'Dot Type',
6522
+ description: 'Dot animation style.',
6523
+ category: 'style',
6709
6524
  specialCategory: null,
6710
6525
  sort: 1,
6711
6526
  },
6712
- linkedWordFirstLocalizationKey: {
6713
- label: 'Linked Word First Localization Key',
6714
- description: 'Key for the first linked word.',
6715
- category: 'other',
6527
+ dot_thickness: {
6528
+ label: 'Dot Thickness',
6529
+ description: 'Dot size/diameter.',
6530
+ category: 'style',
6716
6531
  specialCategory: null,
6717
6532
  sort: 2,
6718
6533
  },
6719
- linkedWordFirstColor: {
6720
- label: 'Linked Word First Color',
6721
- description: 'Color of the first linked word.',
6722
- category: 'other',
6534
+ inactive_dot_opacity: {
6535
+ label: 'Inactive Dot Opacity',
6536
+ description: 'Opacity for inactive dots.',
6537
+ category: 'style',
6723
6538
  specialCategory: null,
6724
6539
  sort: 3,
6725
6540
  },
6726
- linkedWordFirstPage: {
6727
- label: 'Linked Word First Page',
6728
- description: 'Page opened by the first link.',
6729
- category: 'other',
6541
+ inactive_dot_color: {
6542
+ label: 'Inactive Dot Color',
6543
+ description: 'Color of inactive dots.',
6544
+ category: 'style',
6730
6545
  specialCategory: null,
6731
6546
  sort: 4,
6732
6547
  },
6733
- linkedWordSecondLocalizationKey: {
6734
- label: 'Linked Word Second Localization Key',
6735
- description: 'Key for the second linked word.',
6736
- category: 'other',
6548
+ active_dot_color: {
6549
+ label: 'Active Dot Color',
6550
+ description: 'Color of the active dot.',
6551
+ category: 'style',
6737
6552
  specialCategory: null,
6738
6553
  sort: 5,
6739
6554
  },
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
6555
  },
6556
+ styles: {},
6781
6557
  },
6782
6558
  defaults: {
6783
- translateCounter: 1,
6784
6559
  styles: {
6785
- color: 'THEME_COLORS.TEXT',
6786
- fontSize: '16@fs',
6787
- fontWeight: '400',
6788
6560
  flexDirection: 'row',
6789
6561
  position: 'relative',
6790
6562
  zIndex: 1,
6791
6563
  alignSelf: 'flex-start',
6792
6564
  flexGrow: 0,
6793
6565
  flexShrink: 0,
6794
- flexWrap: 'wrap',
6795
6566
  alignItems: 'center',
6796
6567
  justifyContent: 'center',
6797
- textAlign: 'center',
6798
- paddingHorizontal: '24@s',
6568
+ gap: '12@s',
6799
6569
  },
6570
+ dotType: 'expanding_dot',
6571
+ dot_thickness: 10,
6572
+ inactive_dot_opacity: 0.3,
6573
+ active_dot_color: 'STATIC_COLORS.ONBOARD_DOT_ACTIVE',
6574
+ inactive_dot_color: 'THEME_COLORS.BACKGROUND',
6800
6575
  },
6801
6576
  types: {},
6802
6577
  },
6803
6578
  {
6804
6579
  schemaVersion: 2,
6805
6580
  pattern: {
6806
- type: 'OnboardImage',
6581
+ type: 'OnboardFooter',
6807
6582
  title: 'title',
6808
6583
  description: 'description',
6809
- children: 'node',
6584
+ children: 'never',
6810
6585
  attributes: {
6811
- src: 'string',
6586
+ adjustsFontSizeToFit: 'boolean',
6587
+ showEllipsis: 'boolean',
6588
+ translateCounter: 'number',
6812
6589
  styles: {
6813
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
6590
+ color: 'color',
6591
+ fontSize: 'size',
6592
+ fontFamily: 'fontFamily',
6593
+ fontWeight: 'fontWeight',
6594
+ textAlign: 'string',
6814
6595
  flexDirection: ['row', 'column'],
6815
6596
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6816
6597
  alignItems: [
@@ -6859,32 +6640,76 @@ export const patterns = [
6859
6640
  right: 'size',
6860
6641
  zIndex: 'number',
6861
6642
  },
6643
+ testID: 'string',
6862
6644
  scrollable: 'boolean',
6863
- video_url: 'string',
6864
- lottie: 'string',
6645
+ textLocalizationKey: 'string',
6646
+ linkedWordFirstLocalizationKey: 'string',
6647
+ linkedWordFirstColor: 'color',
6648
+ linkedWordFirstPage: 'string',
6649
+ linkedWordSecondLocalizationKey: 'string',
6650
+ linkedWordSecondColor: 'color',
6651
+ linkedWordSecondPage: 'string',
6865
6652
  },
6866
6653
  },
6867
6654
  meta: {
6868
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
6869
- label: 'Onboard Image',
6870
- description: 'Onboarding hero image with media.',
6655
+ desiredParent: ['>OnboardItem'],
6656
+ label: 'Onboard Footer',
6657
+ description: 'Footer text with optional links.',
6871
6658
  styles: {
6872
- resizeMode: {
6873
- label: 'Resize Mode',
6874
- description: 'How the image fits the frame.',
6659
+ color: {
6660
+ label: 'Color',
6661
+ description: 'Text color.',
6662
+ category: 'style',
6663
+ specialCategory: null,
6664
+ sort: 1,
6665
+ },
6666
+ fontSize: {
6667
+ label: 'Font Size',
6668
+ description: 'Text size.',
6669
+ category: 'style',
6670
+ specialCategory: null,
6671
+ sort: 2,
6672
+ preferredScale: 'f',
6673
+ },
6674
+ fontFamily: {
6675
+ label: 'Font Family',
6676
+ description: 'Font family used for the text.',
6677
+ category: 'style',
6678
+ specialCategory: null,
6679
+ sort: 3,
6680
+ },
6681
+ fontWeight: {
6682
+ label: 'Font Weight',
6683
+ description: 'Text weight.',
6875
6684
  category: 'style',
6876
6685
  specialCategory: null,
6877
6686
  sort: 4,
6878
6687
  },
6688
+ textAlign: {
6689
+ label: 'Text Align',
6690
+ description: 'Text alignment.',
6691
+ category: 'style',
6692
+ specialCategory: null,
6693
+ sort: 5,
6694
+ },
6879
6695
  },
6880
6696
  attributes: {
6881
- src: {
6882
- label: 'Src',
6883
- description: 'Image source URL.',
6697
+ adjustsFontSizeToFit: {
6698
+ label: 'Adjust Font Size To Fit',
6699
+ description:
6700
+ 'Automatically reduces font size to fit the available space.',
6884
6701
  category: 'other',
6885
6702
  specialCategory: null,
6886
6703
  sort: 1,
6887
6704
  },
6705
+ showEllipsis: {
6706
+ label: 'Show Ellipsis',
6707
+ description:
6708
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
6709
+ category: 'other',
6710
+ specialCategory: null,
6711
+ sort: 2,
6712
+ },
6888
6713
  scrollable: {
6889
6714
  label: 'Scrollable',
6890
6715
  description: 'Turns scroll interaction on.',
@@ -7158,20 +6983,55 @@ export const patterns = [
7158
6983
  sort: 26,
7159
6984
  },
7160
6985
  },
7161
- video_url: {
7162
- label: 'Video Url',
7163
- description: 'URL for the onboarding video.',
6986
+ textLocalizationKey: {
6987
+ label: 'Text Localization Key',
6988
+ description: 'Localization key for the footer text.',
7164
6989
  category: 'other',
7165
6990
  specialCategory: null,
7166
6991
  sort: 1,
7167
6992
  },
7168
- lottie: {
7169
- label: 'Lottie',
7170
- description: 'Path to the lottie animation.',
6993
+ linkedWordFirstLocalizationKey: {
6994
+ label: 'Linked Word First Localization Key',
6995
+ description: 'Key for the first linked word.',
7171
6996
  category: 'other',
7172
6997
  specialCategory: null,
7173
6998
  sort: 2,
7174
6999
  },
7000
+ linkedWordFirstColor: {
7001
+ label: 'Linked Word First Color',
7002
+ description: 'Color of the first linked word.',
7003
+ category: 'other',
7004
+ specialCategory: null,
7005
+ sort: 3,
7006
+ },
7007
+ linkedWordFirstPage: {
7008
+ label: 'Linked Word First Page',
7009
+ description: 'Page opened by the first link.',
7010
+ category: 'other',
7011
+ specialCategory: null,
7012
+ sort: 4,
7013
+ },
7014
+ linkedWordSecondLocalizationKey: {
7015
+ label: 'Linked Word Second Localization Key',
7016
+ description: 'Key for the second linked word.',
7017
+ category: 'other',
7018
+ specialCategory: null,
7019
+ sort: 5,
7020
+ },
7021
+ linkedWordSecondColor: {
7022
+ label: 'Linked Word Second Color',
7023
+ description: 'Color of the second linked word.',
7024
+ category: 'other',
7025
+ specialCategory: null,
7026
+ sort: 6,
7027
+ },
7028
+ linkedWordSecondPage: {
7029
+ label: 'Linked Word Second Page',
7030
+ description: 'Page opened by the second link.',
7031
+ category: 'other',
7032
+ specialCategory: null,
7033
+ sort: 7,
7034
+ },
7175
7035
  },
7176
7036
  specialCategories: {
7177
7037
  padding: {
@@ -7201,14 +7061,22 @@ export const patterns = [
7201
7061
  },
7202
7062
  },
7203
7063
  defaults: {
7064
+ translateCounter: 1,
7204
7065
  styles: {
7205
- resizeMode: 'contain',
7206
- flexDirection: 'column',
7066
+ color: 'THEME_COLORS.TEXT',
7067
+ fontSize: '16@fs',
7068
+ fontWeight: '400',
7069
+ flexDirection: 'row',
7207
7070
  position: 'relative',
7208
7071
  zIndex: 1,
7209
7072
  alignSelf: 'flex-start',
7210
7073
  flexGrow: 0,
7211
7074
  flexShrink: 0,
7075
+ flexWrap: 'wrap',
7076
+ alignItems: 'center',
7077
+ justifyContent: 'center',
7078
+ textAlign: 'center',
7079
+ paddingHorizontal: '24@s',
7212
7080
  },
7213
7081
  },
7214
7082
  types: {},
@@ -7216,13 +7084,14 @@ export const patterns = [
7216
7084
  {
7217
7085
  schemaVersion: 2,
7218
7086
  pattern: {
7219
- type: 'OnboardItem',
7087
+ type: 'OnboardImage',
7220
7088
  title: 'title',
7221
7089
  description: 'description',
7222
7090
  children: 'node',
7223
7091
  attributes: {
7224
- scrollable: 'boolean',
7092
+ src: 'string',
7225
7093
  styles: {
7094
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
7226
7095
  flexDirection: ['row', 'column'],
7227
7096
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7228
7097
  alignItems: [
@@ -7271,40 +7140,33 @@ export const patterns = [
7271
7140
  right: 'size',
7272
7141
  zIndex: 'number',
7273
7142
  },
7274
- display: ['flex', 'block'],
7143
+ testID: 'string',
7144
+ scrollable: 'boolean',
7145
+ video_url: 'string',
7146
+ lottie: 'string',
7275
7147
  },
7276
7148
  },
7277
7149
  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',
7150
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7151
+ label: 'Onboard Image',
7152
+ description: 'Onboarding hero image with media.',
7153
+ styles: {
7154
+ resizeMode: {
7155
+ label: 'Resize Mode',
7156
+ description: 'How the image fits the frame.',
7157
+ category: 'style',
7158
+ specialCategory: null,
7304
7159
  sort: 4,
7305
7160
  },
7306
7161
  },
7307
7162
  attributes: {
7163
+ src: {
7164
+ label: 'Src',
7165
+ description: 'Image source URL.',
7166
+ category: 'other',
7167
+ specialCategory: null,
7168
+ sort: 1,
7169
+ },
7308
7170
  scrollable: {
7309
7171
  label: 'Scrollable',
7310
7172
  description: 'Turns scroll interaction on.',
@@ -7313,26 +7175,688 @@ export const patterns = [
7313
7175
  sort: -1,
7314
7176
  },
7315
7177
  styles: {
7316
- gap: {
7317
- label: 'Gap',
7318
- description: 'Space between child blocks.',
7319
- category: 'container',
7178
+ backgroundColor: {
7179
+ label: 'Background Color',
7180
+ description: 'Background fill color.',
7181
+ category: 'style',
7320
7182
  specialCategory: null,
7321
- sort: 2,
7183
+ sort: 20,
7184
+ },
7185
+ borderRadius: {
7186
+ label: 'Border Radius',
7187
+ description: 'Corner rounding amount.',
7188
+ category: 'style',
7189
+ specialCategory: null,
7190
+ sort: 21,
7191
+ preferredScale: 's',
7322
7192
  },
7323
7193
  flexDirection: {
7324
7194
  label: 'Flex Direction',
7325
- description: 'Order of child stacking.',
7195
+ description: 'Sets row or column layout.',
7196
+ category: 'container',
7197
+ specialCategory: null,
7198
+ sort: 4,
7199
+ },
7200
+ flexWrap: {
7201
+ label: 'Flex Wrap',
7202
+ description: 'Controls whether flex items wrap to multiple lines.',
7203
+ category: 'container',
7204
+ specialCategory: null,
7205
+ sort: 4.5,
7206
+ },
7207
+ alignItems: {
7208
+ label: 'Align Items',
7209
+ description: 'Controls cross-axis alignment.',
7326
7210
  category: 'container',
7327
7211
  specialCategory: null,
7328
7212
  sort: 3,
7329
7213
  },
7330
- paddingHorizontal: {
7331
- label: 'Padding Horizontal',
7332
- description: 'Left and right padding.',
7214
+ justifyContent: {
7215
+ label: 'Justify Content',
7216
+ description: 'Controls main-axis alignment.',
7333
7217
  category: 'container',
7334
- specialCategory: 'padding',
7335
- sort: 4,
7218
+ specialCategory: null,
7219
+ sort: 5,
7220
+ },
7221
+ gap: {
7222
+ label: 'Gap',
7223
+ description: 'Space between children.',
7224
+ category: 'container',
7225
+ specialCategory: null,
7226
+ sort: 10,
7227
+ preferredScale: 's',
7228
+ },
7229
+ padding: {
7230
+ label: 'Padding',
7231
+ description: 'Uniform padding on all sides.',
7232
+ category: 'container',
7233
+ specialCategory: 'padding',
7234
+ sort: 6,
7235
+ preferredScale: 's',
7236
+ },
7237
+ paddingHorizontal: {
7238
+ label: 'Padding Horizontal',
7239
+ description: 'Left and right padding.',
7240
+ category: 'container',
7241
+ specialCategory: 'padding',
7242
+ sort: 7,
7243
+ preferredScale: 's',
7244
+ },
7245
+ paddingVertical: {
7246
+ label: 'Padding Vertical',
7247
+ description: 'Top and bottom padding.',
7248
+ category: 'container',
7249
+ specialCategory: 'padding',
7250
+ sort: 8,
7251
+ preferredScale: 'vs',
7252
+ },
7253
+ paddingTop: {
7254
+ label: 'Padding Top',
7255
+ description: 'Top padding only.',
7256
+ category: 'container',
7257
+ specialCategory: 'padding',
7258
+ sort: 9,
7259
+ preferredScale: 'vs',
7260
+ },
7261
+ paddingBottom: {
7262
+ label: 'Padding Bottom',
7263
+ description: 'Bottom padding only.',
7264
+ category: 'container',
7265
+ specialCategory: 'padding',
7266
+ sort: 10,
7267
+ preferredScale: 'vs',
7268
+ },
7269
+ paddingLeft: {
7270
+ label: 'Padding Left',
7271
+ description: 'Left padding only.',
7272
+ category: 'container',
7273
+ specialCategory: 'padding',
7274
+ sort: 11,
7275
+ preferredScale: 's',
7276
+ },
7277
+ paddingRight: {
7278
+ label: 'Padding Right',
7279
+ description: 'Right padding only.',
7280
+ category: 'container',
7281
+ specialCategory: 'padding',
7282
+ sort: 12,
7283
+ preferredScale: 's',
7284
+ },
7285
+ margin: {
7286
+ label: 'Margin',
7287
+ description: 'Uniform margin on all sides.',
7288
+ category: 'container',
7289
+ specialCategory: 'margin',
7290
+ sort: 13,
7291
+ preferredScale: 's',
7292
+ },
7293
+ marginHorizontal: {
7294
+ label: 'Margin Horizontal',
7295
+ description: 'Left and right margin.',
7296
+ category: 'container',
7297
+ specialCategory: 'margin',
7298
+ sort: 14,
7299
+ preferredScale: 's',
7300
+ },
7301
+ marginVertical: {
7302
+ label: 'Margin Vertical',
7303
+ description: 'Top and bottom margin.',
7304
+ category: 'container',
7305
+ specialCategory: 'margin',
7306
+ sort: 15,
7307
+ preferredScale: 'vs',
7308
+ },
7309
+ marginTop: {
7310
+ label: 'Margin Top',
7311
+ description: 'Top margin only.',
7312
+ category: 'container',
7313
+ specialCategory: 'margin',
7314
+ sort: 16,
7315
+ preferredScale: 'vs',
7316
+ },
7317
+ marginBottom: {
7318
+ label: 'Margin Bottom',
7319
+ description: 'Bottom margin only.',
7320
+ category: 'container',
7321
+ specialCategory: 'margin',
7322
+ sort: 17,
7323
+ preferredScale: 'vs',
7324
+ },
7325
+ marginLeft: {
7326
+ label: 'Margin Left',
7327
+ description: 'Left margin only.',
7328
+ category: 'container',
7329
+ specialCategory: 'margin',
7330
+ sort: 18,
7331
+ preferredScale: 's',
7332
+ },
7333
+ marginRight: {
7334
+ label: 'Margin Right',
7335
+ description: 'Right margin only.',
7336
+ category: 'container',
7337
+ specialCategory: 'margin',
7338
+ sort: 19,
7339
+ preferredScale: 's',
7340
+ },
7341
+ width: {
7342
+ label: 'Width',
7343
+ description: 'Fixed width value.',
7344
+ category: 'container',
7345
+ specialCategory: 'size',
7346
+ sort: 0,
7347
+ preferredScale: 's',
7348
+ },
7349
+ minWidth: {
7350
+ label: 'Min Width',
7351
+ description: 'Minimum width constraint.',
7352
+ category: 'container',
7353
+ specialCategory: 'size',
7354
+ sort: 1,
7355
+ preferredScale: 's',
7356
+ },
7357
+ maxWidth: {
7358
+ label: 'Max Width',
7359
+ description: 'Maximum width constraint.',
7360
+ category: 'container',
7361
+ specialCategory: 'size',
7362
+ sort: 2,
7363
+ preferredScale: 's',
7364
+ },
7365
+ height: {
7366
+ label: 'Height',
7367
+ description: 'Fixed height value.',
7368
+ category: 'container',
7369
+ specialCategory: 'size',
7370
+ sort: 3,
7371
+ preferredScale: 'vs',
7372
+ },
7373
+ minHeight: {
7374
+ label: 'Min Height',
7375
+ description: 'Minimum height constraint.',
7376
+ category: 'container',
7377
+ specialCategory: 'size',
7378
+ sort: 4,
7379
+ preferredScale: 'vs',
7380
+ },
7381
+ maxHeight: {
7382
+ label: 'Max Height',
7383
+ description: 'Maximum height constraint.',
7384
+ category: 'container',
7385
+ specialCategory: 'size',
7386
+ sort: 5,
7387
+ preferredScale: 'vs',
7388
+ },
7389
+ flex: {
7390
+ label: 'Flex',
7391
+ description: 'Flex grow factor (e.g. 1 fills available space).',
7392
+ category: 'container',
7393
+ specialCategory: 'size',
7394
+ sort: 6,
7395
+ },
7396
+ position: {
7397
+ label: 'Position',
7398
+ description: 'Sets layout positioning mode.',
7399
+ category: 'container',
7400
+ specialCategory: null,
7401
+ sort: 3,
7402
+ },
7403
+ top: {
7404
+ label: 'Top',
7405
+ description: 'Offset from the top edge.',
7406
+ category: 'container',
7407
+ specialCategory: 'offset',
7408
+ sort: 22,
7409
+ preferredScale: 'vs',
7410
+ },
7411
+ bottom: {
7412
+ label: 'Bottom',
7413
+ description: 'Offset from the bottom edge.',
7414
+ category: 'container',
7415
+ specialCategory: 'offset',
7416
+ sort: 23,
7417
+ preferredScale: 'vs',
7418
+ },
7419
+ left: {
7420
+ label: 'Left',
7421
+ description: 'Offset from the left edge.',
7422
+ category: 'container',
7423
+ specialCategory: 'offset',
7424
+ sort: 24,
7425
+ preferredScale: 's',
7426
+ },
7427
+ right: {
7428
+ label: 'Right',
7429
+ description: 'Offset from the right edge.',
7430
+ category: 'container',
7431
+ specialCategory: 'offset',
7432
+ sort: 25,
7433
+ preferredScale: 's',
7434
+ },
7435
+ zIndex: {
7436
+ label: 'Z-Index',
7437
+ description: 'Controls stacking order.',
7438
+ category: 'container',
7439
+ specialCategory: null,
7440
+ sort: 26,
7441
+ },
7442
+ },
7443
+ video_url: {
7444
+ label: 'Video Url',
7445
+ description: 'URL for the onboarding video.',
7446
+ category: 'other',
7447
+ specialCategory: null,
7448
+ sort: 1,
7449
+ },
7450
+ lottie: {
7451
+ label: 'Lottie',
7452
+ description: 'Path to the lottie animation.',
7453
+ category: 'other',
7454
+ specialCategory: null,
7455
+ sort: 2,
7456
+ },
7457
+ },
7458
+ specialCategories: {
7459
+ padding: {
7460
+ label: 'Padding',
7461
+ description: 'Uniform padding on all sides.',
7462
+ category: 'container',
7463
+ sort: 1,
7464
+ },
7465
+ margin: {
7466
+ label: 'Margin',
7467
+ description: 'Uniform margin on all sides.',
7468
+ category: 'container',
7469
+ sort: 2,
7470
+ },
7471
+ size: {
7472
+ label: 'Size',
7473
+ description: 'Fixed dimensions.',
7474
+ category: 'container',
7475
+ sort: 3,
7476
+ },
7477
+ offset: {
7478
+ label: 'Offset',
7479
+ description: 'Absolute positioning offsets.',
7480
+ category: 'container',
7481
+ sort: 4,
7482
+ },
7483
+ },
7484
+ },
7485
+ defaults: {
7486
+ styles: {
7487
+ resizeMode: 'contain',
7488
+ flexDirection: 'column',
7489
+ position: 'relative',
7490
+ zIndex: 1,
7491
+ alignSelf: 'flex-start',
7492
+ flexGrow: 0,
7493
+ flexShrink: 0,
7494
+ },
7495
+ },
7496
+ types: {},
7497
+ },
7498
+ {
7499
+ schemaVersion: 2,
7500
+ pattern: {
7501
+ type: 'OnboardItem',
7502
+ title: 'title',
7503
+ description: 'description',
7504
+ children: 'node',
7505
+ attributes: {
7506
+ scrollable: 'boolean',
7507
+ styles: {
7508
+ flexDirection: ['row', 'column'],
7509
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7510
+ alignItems: [
7511
+ 'flex-start',
7512
+ 'center',
7513
+ 'flex-end',
7514
+ 'stretch',
7515
+ 'baseline',
7516
+ ],
7517
+ justifyContent: [
7518
+ 'flex-start',
7519
+ 'center',
7520
+ 'flex-end',
7521
+ 'space-between',
7522
+ 'space-around',
7523
+ 'space-evenly',
7524
+ ],
7525
+ gap: 'size',
7526
+ padding: 'size',
7527
+ paddingHorizontal: 'size',
7528
+ paddingVertical: 'size',
7529
+ paddingTop: 'size',
7530
+ paddingBottom: 'size',
7531
+ paddingLeft: 'size',
7532
+ paddingRight: 'size',
7533
+ margin: 'size',
7534
+ marginHorizontal: 'size',
7535
+ marginVertical: 'size',
7536
+ marginTop: 'size',
7537
+ marginBottom: 'size',
7538
+ marginLeft: 'size',
7539
+ marginRight: 'size',
7540
+ backgroundColor: 'color',
7541
+ borderRadius: 'size',
7542
+ width: 'size',
7543
+ minWidth: 'size',
7544
+ maxWidth: 'size',
7545
+ height: 'size',
7546
+ minHeight: 'size',
7547
+ maxHeight: 'size',
7548
+ flex: 'number',
7549
+ position: ['relative', 'absolute'],
7550
+ top: 'size',
7551
+ bottom: 'size',
7552
+ left: 'size',
7553
+ right: 'size',
7554
+ zIndex: 'number',
7555
+ },
7556
+ testID: 'string',
7557
+ display: ['flex', 'block'],
7558
+ },
7559
+ },
7560
+ meta: {
7561
+ desiredParent: ['=Onboard'],
7562
+ label: 'Onboard Item',
7563
+ description: 'Single onboarding screen section.',
7564
+ specialCategories: {
7565
+ padding: {
7566
+ label: 'Padding',
7567
+ description: 'Uniform padding on all sides.',
7568
+ category: 'container',
7569
+ sort: 1,
7570
+ },
7571
+ margin: {
7572
+ label: 'Margin',
7573
+ description: 'Uniform margin on all sides.',
7574
+ category: 'container',
7575
+ sort: 2,
7576
+ },
7577
+ size: {
7578
+ label: 'Size',
7579
+ description: 'Fixed dimensions.',
7580
+ category: 'container',
7581
+ sort: 3,
7582
+ },
7583
+ offset: {
7584
+ label: 'Offset',
7585
+ description: 'Absolute positioning offsets.',
7586
+ category: 'container',
7587
+ sort: 4,
7588
+ },
7589
+ },
7590
+ attributes: {
7591
+ scrollable: {
7592
+ label: 'Scrollable',
7593
+ description: 'Turns scroll interaction on.',
7594
+ category: 'container',
7595
+ specialCategory: null,
7596
+ sort: -1,
7597
+ },
7598
+ styles: {
7599
+ backgroundColor: {
7600
+ label: 'Background Color',
7601
+ description: 'Background fill color.',
7602
+ category: 'style',
7603
+ specialCategory: null,
7604
+ sort: 20,
7605
+ },
7606
+ borderRadius: {
7607
+ label: 'Border Radius',
7608
+ description: 'Corner rounding amount.',
7609
+ category: 'style',
7610
+ specialCategory: null,
7611
+ sort: 21,
7612
+ preferredScale: 's',
7613
+ },
7614
+ flexDirection: {
7615
+ label: 'Flex Direction',
7616
+ description: 'Order of child stacking.',
7617
+ category: 'container',
7618
+ specialCategory: null,
7619
+ sort: 3,
7620
+ },
7621
+ flexWrap: {
7622
+ label: 'Flex Wrap',
7623
+ description: 'Controls whether flex items wrap to multiple lines.',
7624
+ category: 'container',
7625
+ specialCategory: null,
7626
+ sort: 4.5,
7627
+ },
7628
+ alignItems: {
7629
+ label: 'Align Items',
7630
+ description: 'Controls cross-axis alignment.',
7631
+ category: 'container',
7632
+ specialCategory: null,
7633
+ sort: 3,
7634
+ },
7635
+ justifyContent: {
7636
+ label: 'Justify Content',
7637
+ description: 'Controls main-axis alignment.',
7638
+ category: 'container',
7639
+ specialCategory: null,
7640
+ sort: 5,
7641
+ },
7642
+ gap: {
7643
+ label: 'Gap',
7644
+ description: 'Space between child blocks.',
7645
+ category: 'container',
7646
+ specialCategory: null,
7647
+ sort: 2,
7648
+ },
7649
+ padding: {
7650
+ label: 'Padding',
7651
+ description: 'Uniform padding on all sides.',
7652
+ category: 'container',
7653
+ specialCategory: 'padding',
7654
+ sort: 6,
7655
+ preferredScale: 's',
7656
+ },
7657
+ paddingHorizontal: {
7658
+ label: 'Padding Horizontal',
7659
+ description: 'Left and right padding.',
7660
+ category: 'container',
7661
+ specialCategory: 'padding',
7662
+ sort: 4,
7663
+ },
7664
+ paddingVertical: {
7665
+ label: 'Padding Vertical',
7666
+ description: 'Top and bottom padding.',
7667
+ category: 'container',
7668
+ specialCategory: 'padding',
7669
+ sort: 8,
7670
+ preferredScale: 'vs',
7671
+ },
7672
+ paddingTop: {
7673
+ label: 'Padding Top',
7674
+ description: 'Top padding only.',
7675
+ category: 'container',
7676
+ specialCategory: 'padding',
7677
+ sort: 9,
7678
+ preferredScale: 'vs',
7679
+ },
7680
+ paddingBottom: {
7681
+ label: 'Padding Bottom',
7682
+ description: 'Bottom padding only.',
7683
+ category: 'container',
7684
+ specialCategory: 'padding',
7685
+ sort: 10,
7686
+ preferredScale: 'vs',
7687
+ },
7688
+ paddingLeft: {
7689
+ label: 'Padding Left',
7690
+ description: 'Left padding only.',
7691
+ category: 'container',
7692
+ specialCategory: 'padding',
7693
+ sort: 11,
7694
+ preferredScale: 's',
7695
+ },
7696
+ paddingRight: {
7697
+ label: 'Padding Right',
7698
+ description: 'Right padding only.',
7699
+ category: 'container',
7700
+ specialCategory: 'padding',
7701
+ sort: 12,
7702
+ preferredScale: 's',
7703
+ },
7704
+ margin: {
7705
+ label: 'Margin',
7706
+ description: 'Uniform margin on all sides.',
7707
+ category: 'container',
7708
+ specialCategory: 'margin',
7709
+ sort: 13,
7710
+ preferredScale: 's',
7711
+ },
7712
+ marginHorizontal: {
7713
+ label: 'Margin Horizontal',
7714
+ description: 'Left and right margin.',
7715
+ category: 'container',
7716
+ specialCategory: 'margin',
7717
+ sort: 14,
7718
+ preferredScale: 's',
7719
+ },
7720
+ marginVertical: {
7721
+ label: 'Margin Vertical',
7722
+ description: 'Top and bottom margin.',
7723
+ category: 'container',
7724
+ specialCategory: 'margin',
7725
+ sort: 15,
7726
+ preferredScale: 'vs',
7727
+ },
7728
+ marginTop: {
7729
+ label: 'Margin Top',
7730
+ description: 'Top margin only.',
7731
+ category: 'container',
7732
+ specialCategory: 'margin',
7733
+ sort: 16,
7734
+ preferredScale: 'vs',
7735
+ },
7736
+ marginBottom: {
7737
+ label: 'Margin Bottom',
7738
+ description: 'Bottom margin only.',
7739
+ category: 'container',
7740
+ specialCategory: 'margin',
7741
+ sort: 17,
7742
+ preferredScale: 'vs',
7743
+ },
7744
+ marginLeft: {
7745
+ label: 'Margin Left',
7746
+ description: 'Left margin only.',
7747
+ category: 'container',
7748
+ specialCategory: 'margin',
7749
+ sort: 18,
7750
+ preferredScale: 's',
7751
+ },
7752
+ marginRight: {
7753
+ label: 'Margin Right',
7754
+ description: 'Right margin only.',
7755
+ category: 'container',
7756
+ specialCategory: 'margin',
7757
+ sort: 19,
7758
+ preferredScale: 's',
7759
+ },
7760
+ width: {
7761
+ label: 'Width',
7762
+ description: 'Fixed width value.',
7763
+ category: 'container',
7764
+ specialCategory: 'size',
7765
+ sort: 0,
7766
+ preferredScale: 's',
7767
+ },
7768
+ minWidth: {
7769
+ label: 'Min Width',
7770
+ description: 'Minimum width constraint.',
7771
+ category: 'container',
7772
+ specialCategory: 'size',
7773
+ sort: 1,
7774
+ preferredScale: 's',
7775
+ },
7776
+ maxWidth: {
7777
+ label: 'Max Width',
7778
+ description: 'Maximum width constraint.',
7779
+ category: 'container',
7780
+ specialCategory: 'size',
7781
+ sort: 2,
7782
+ preferredScale: 's',
7783
+ },
7784
+ height: {
7785
+ label: 'Height',
7786
+ description: 'Fixed height value.',
7787
+ category: 'container',
7788
+ specialCategory: 'size',
7789
+ sort: 3,
7790
+ preferredScale: 'vs',
7791
+ },
7792
+ minHeight: {
7793
+ label: 'Min Height',
7794
+ description: 'Minimum height constraint.',
7795
+ category: 'container',
7796
+ specialCategory: 'size',
7797
+ sort: 4,
7798
+ preferredScale: 'vs',
7799
+ },
7800
+ maxHeight: {
7801
+ label: 'Max Height',
7802
+ description: 'Maximum height constraint.',
7803
+ category: 'container',
7804
+ specialCategory: 'size',
7805
+ sort: 5,
7806
+ preferredScale: 'vs',
7807
+ },
7808
+ flex: {
7809
+ label: 'Flex',
7810
+ description: 'Flex grow factor (e.g. 1 fills available space).',
7811
+ category: 'container',
7812
+ specialCategory: 'size',
7813
+ sort: 6,
7814
+ },
7815
+ position: {
7816
+ label: 'Position',
7817
+ description: 'Sets layout positioning mode.',
7818
+ category: 'container',
7819
+ specialCategory: null,
7820
+ sort: 3,
7821
+ },
7822
+ top: {
7823
+ label: 'Top',
7824
+ description: 'Offset from the top edge.',
7825
+ category: 'container',
7826
+ specialCategory: 'offset',
7827
+ sort: 22,
7828
+ preferredScale: 'vs',
7829
+ },
7830
+ bottom: {
7831
+ label: 'Bottom',
7832
+ description: 'Offset from the bottom edge.',
7833
+ category: 'container',
7834
+ specialCategory: 'offset',
7835
+ sort: 23,
7836
+ preferredScale: 'vs',
7837
+ },
7838
+ left: {
7839
+ label: 'Left',
7840
+ description: 'Offset from the left edge.',
7841
+ category: 'container',
7842
+ specialCategory: 'offset',
7843
+ sort: 24,
7844
+ preferredScale: 's',
7845
+ },
7846
+ right: {
7847
+ label: 'Right',
7848
+ description: 'Offset from the right edge.',
7849
+ category: 'container',
7850
+ specialCategory: 'offset',
7851
+ sort: 25,
7852
+ preferredScale: 's',
7853
+ },
7854
+ zIndex: {
7855
+ label: 'Z-Index',
7856
+ description: 'Controls stacking order.',
7857
+ category: 'container',
7858
+ specialCategory: null,
7859
+ sort: 26,
7336
7860
  },
7337
7861
  },
7338
7862
  display: {
@@ -7418,6 +7942,7 @@ export const patterns = [
7418
7942
  right: 'size',
7419
7943
  zIndex: 'number',
7420
7944
  },
7945
+ testID: 'string',
7421
7946
  theme: ['light', 'dark', 'all'],
7422
7947
  borderRadius: 'never',
7423
7948
  },
@@ -7453,195 +7978,6 @@ export const patterns = [
7453
7978
  },
7454
7979
  },
7455
7980
  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
7981
  scrollable: {
7646
7982
  label: 'Scrollable',
7647
7983
  description: 'Turns scroll interaction on.',
@@ -7727,35 +8063,31 @@ export const patterns = [
7727
8063
  },
7728
8064
  paddingTop: {
7729
8065
  label: 'Padding Top',
7730
- description: 'Top padding only.',
8066
+ description: 'Top padding for the provider.',
7731
8067
  category: 'container',
7732
- specialCategory: 'padding',
7733
- sort: 9,
7734
- preferredScale: 'vs',
8068
+ specialCategory: 'padding',
8069
+ sort: 1,
7735
8070
  },
7736
8071
  paddingBottom: {
7737
8072
  label: 'Padding Bottom',
7738
- description: 'Bottom padding only.',
8073
+ description: 'Bottom padding for the provider.',
7739
8074
  category: 'container',
7740
8075
  specialCategory: 'padding',
7741
- sort: 10,
7742
- preferredScale: 'vs',
8076
+ sort: 3,
7743
8077
  },
7744
8078
  paddingLeft: {
7745
8079
  label: 'Padding Left',
7746
- description: 'Left padding only.',
8080
+ description: 'Left padding for the provider.',
7747
8081
  category: 'container',
7748
8082
  specialCategory: 'padding',
7749
- sort: 11,
7750
- preferredScale: 's',
8083
+ sort: 4,
7751
8084
  },
7752
8085
  paddingRight: {
7753
8086
  label: 'Padding Right',
7754
- description: 'Right padding only.',
8087
+ description: 'Right padding for the provider.',
7755
8088
  category: 'container',
7756
8089
  specialCategory: 'padding',
7757
- sort: 12,
7758
- preferredScale: 's',
8090
+ sort: 2,
7759
8091
  },
7760
8092
  margin: {
7761
8093
  label: 'Margin',
@@ -7915,46 +8247,27 @@ export const patterns = [
7915
8247
  sort: 26,
7916
8248
  },
7917
8249
  },
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,
8250
+ theme: {
8251
+ label: 'Theme',
8252
+ description:
8253
+ 'Controls which app theme(s) this onboarding is intended for.',
8254
+ category: 'other',
8255
+ specialCategory: null,
8256
+ sort: -10,
7943
8257
  },
7944
8258
  },
8259
+ styles: {},
7945
8260
  },
7946
8261
  defaults: {
7947
- translateCounter: 1,
7948
8262
  styles: {
7949
- color: 'THEME_COLORS.TEXT',
7950
- fontSize: '14@fs',
7951
- fontWeight: '600',
7952
8263
  flexDirection: 'column',
7953
8264
  position: 'relative',
7954
8265
  zIndex: 1,
7955
8266
  alignSelf: 'flex-start',
7956
8267
  flexGrow: 0,
7957
8268
  flexShrink: 0,
8269
+ width: '100%',
8270
+ height: '100%',
7958
8271
  },
7959
8272
  },
7960
8273
  types: {},
@@ -7962,7 +8275,7 @@ export const patterns = [
7962
8275
  {
7963
8276
  schemaVersion: 2,
7964
8277
  pattern: {
7965
- type: 'OnboardTitle',
8278
+ type: 'OnboardSubtitle',
7966
8279
  title: 'title',
7967
8280
  description: 'description',
7968
8281
  children: 'string',
@@ -8024,13 +8337,14 @@ export const patterns = [
8024
8337
  right: 'size',
8025
8338
  zIndex: 'number',
8026
8339
  },
8340
+ testID: 'string',
8027
8341
  scrollable: 'boolean',
8028
8342
  },
8029
8343
  },
8030
8344
  meta: {
8031
- desiredParent: ['>OnboardItem', '>OnboardProvider'],
8032
- label: 'Onboard Title',
8033
- description: 'Title text for an onboarding step.',
8345
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
8346
+ label: 'Onboard Subtitle',
8347
+ description: 'Subtitle text for an onboarding step.',
8034
8348
  styles: {
8035
8349
  color: {
8036
8350
  label: 'Color',
@@ -8045,7 +8359,7 @@ export const patterns = [
8045
8359
  category: 'style',
8046
8360
  specialCategory: null,
8047
8361
  sort: 2,
8048
- preferredScale: 's',
8362
+ preferredScale: 'f',
8049
8363
  },
8050
8364
  fontFamily: {
8051
8365
  label: 'Font Family',
@@ -8391,15 +8705,14 @@ export const patterns = [
8391
8705
  translateCounter: 1,
8392
8706
  styles: {
8393
8707
  color: 'THEME_COLORS.TEXT',
8394
- fontSize: '24@fs',
8395
- fontWeight: '700',
8708
+ fontSize: '14@fs',
8709
+ fontWeight: '600',
8396
8710
  flexDirection: 'column',
8397
8711
  position: 'relative',
8398
8712
  zIndex: 1,
8399
8713
  alignSelf: 'flex-start',
8400
8714
  flexGrow: 0,
8401
8715
  flexShrink: 0,
8402
- textAlign: 'center',
8403
8716
  },
8404
8717
  },
8405
8718
  types: {},
@@ -8407,15 +8720,20 @@ export const patterns = [
8407
8720
  {
8408
8721
  schemaVersion: 2,
8409
8722
  pattern: {
8410
- type: 'PaywallBackground',
8723
+ type: 'OnboardTitle',
8411
8724
  title: 'title',
8412
8725
  description: 'description',
8413
- children: 'never',
8726
+ children: 'string',
8414
8727
  attributes: {
8415
- src: 'string',
8416
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
8417
- scrollable: 'boolean',
8728
+ adjustsFontSizeToFit: 'boolean',
8729
+ showEllipsis: 'boolean',
8730
+ translateCounter: 'number',
8418
8731
  styles: {
8732
+ color: 'color',
8733
+ fontSize: 'size',
8734
+ fontFamily: 'fontFamily',
8735
+ fontWeight: 'fontWeight',
8736
+ textAlign: 'string',
8419
8737
  flexDirection: ['row', 'column'],
8420
8738
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8421
8739
  alignItems: [
@@ -8464,27 +8782,68 @@ export const patterns = [
8464
8782
  right: 'size',
8465
8783
  zIndex: 'number',
8466
8784
  },
8785
+ testID: 'string',
8786
+ scrollable: 'boolean',
8467
8787
  },
8468
8788
  },
8469
8789
  meta: {
8470
- desiredParent: ['>PaywallProvider'],
8471
- label: 'Paywall Background',
8472
- description: 'Paywall Background component.',
8473
- styles: {},
8790
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
8791
+ label: 'Onboard Title',
8792
+ description: 'Title text for an onboarding step.',
8793
+ styles: {
8794
+ color: {
8795
+ label: 'Color',
8796
+ description: 'Text color.',
8797
+ category: 'style',
8798
+ specialCategory: null,
8799
+ sort: 1,
8800
+ },
8801
+ fontSize: {
8802
+ label: 'Font Size',
8803
+ description: 'Text size.',
8804
+ category: 'style',
8805
+ specialCategory: null,
8806
+ sort: 2,
8807
+ preferredScale: 'f',
8808
+ },
8809
+ fontFamily: {
8810
+ label: 'Font Family',
8811
+ description: 'Font family used for the text.',
8812
+ category: 'style',
8813
+ specialCategory: null,
8814
+ sort: 3,
8815
+ },
8816
+ fontWeight: {
8817
+ label: 'Font Weight',
8818
+ description: 'Text weight.',
8819
+ category: 'style',
8820
+ specialCategory: null,
8821
+ sort: 4,
8822
+ },
8823
+ textAlign: {
8824
+ label: 'Text Align',
8825
+ description: 'Text alignment.',
8826
+ category: 'style',
8827
+ specialCategory: null,
8828
+ sort: 5,
8829
+ },
8830
+ },
8474
8831
  attributes: {
8475
- src: {
8476
- label: 'Src',
8477
- description: 'Image source URL.',
8832
+ adjustsFontSizeToFit: {
8833
+ label: 'Adjust Font Size To Fit',
8834
+ description:
8835
+ 'Automatically reduces font size to fit the available space.',
8478
8836
  category: 'other',
8479
8837
  specialCategory: null,
8480
8838
  sort: 1,
8481
8839
  },
8482
- resizeMode: {
8483
- label: 'Resize Mode',
8484
- description: 'How the image fits its container.',
8840
+ showEllipsis: {
8841
+ label: 'Show Ellipsis',
8842
+ description:
8843
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8485
8844
  category: 'other',
8486
8845
  specialCategory: null,
8487
- sort: 4,
8846
+ sort: 2,
8488
8847
  },
8489
8848
  scrollable: {
8490
8849
  label: 'Scrollable',
@@ -8788,20 +9147,18 @@ export const patterns = [
8788
9147
  },
8789
9148
  },
8790
9149
  defaults: {
8791
- resizeMode: 'cover',
9150
+ translateCounter: 1,
8792
9151
  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,
9152
+ color: 'THEME_COLORS.TEXT',
9153
+ fontSize: '24@fs',
9154
+ fontWeight: '700',
8801
9155
  flexDirection: 'column',
9156
+ position: 'relative',
9157
+ zIndex: 1,
8802
9158
  alignSelf: 'flex-start',
8803
9159
  flexGrow: 0,
8804
9160
  flexShrink: 0,
9161
+ textAlign: 'center',
8805
9162
  },
8806
9163
  },
8807
9164
  types: {},
@@ -8809,23 +9166,16 @@ export const patterns = [
8809
9166
  {
8810
9167
  schemaVersion: 2,
8811
9168
  pattern: {
8812
- type: 'PaywallCloseButton',
9169
+ type: 'PaywallBackground',
8813
9170
  title: 'title',
8814
9171
  description: 'description',
8815
9172
  children: 'never',
8816
9173
  attributes: {
8817
- iconType: 'iconType',
8818
- size: 'number',
8819
- strokeWidth: 'number',
8820
- adjustsFontSizeToFit: 'boolean',
8821
- showEllipsis: 'boolean',
8822
- translateCounter: 'number',
9174
+ src: 'string',
9175
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9176
+ testID: 'string',
9177
+ scrollable: 'boolean',
8823
9178
  styles: {
8824
- color: 'color',
8825
- fontSize: 'size',
8826
- fontFamily: 'fontFamily',
8827
- fontWeight: 'fontWeight',
8828
- textAlign: 'string',
8829
9179
  flexDirection: ['row', 'column'],
8830
9180
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8831
9181
  alignItems: [
@@ -8874,88 +9224,27 @@ export const patterns = [
8874
9224
  right: 'size',
8875
9225
  zIndex: 'number',
8876
9226
  },
8877
- scrollable: 'boolean',
8878
9227
  },
8879
9228
  },
8880
9229
  meta: {
8881
9230
  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
- },
9231
+ label: 'Paywall Background',
9232
+ description: 'Paywall Background component.',
9233
+ styles: {},
8922
9234
  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.',
9235
+ src: {
9236
+ label: 'Src',
9237
+ description: 'Image source URL.',
8948
9238
  category: 'other',
8949
9239
  specialCategory: null,
8950
9240
  sort: 1,
8951
9241
  },
8952
- showEllipsis: {
8953
- label: 'Show Ellipsis',
8954
- description:
8955
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9242
+ resizeMode: {
9243
+ label: 'Resize Mode',
9244
+ description: 'How the image fits its container.',
8956
9245
  category: 'other',
8957
9246
  specialCategory: null,
8958
- sort: 2,
9247
+ sort: 4,
8959
9248
  },
8960
9249
  scrollable: {
8961
9250
  label: 'Scrollable',
@@ -9259,38 +9548,45 @@ export const patterns = [
9259
9548
  },
9260
9549
  },
9261
9550
  defaults: {
9262
- iconType: 'close',
9263
- strokeWidth: 1.5,
9551
+ resizeMode: 'cover',
9264
9552
  styles: {
9265
- fontSize: '16@fs',
9266
- color: 'THEME_COLORS.TEXT',
9267
- fontWeight: '400',
9268
- flexDirection: 'row',
9553
+ width: '100%',
9554
+ height: '100%',
9269
9555
  position: 'absolute',
9556
+ top: 0,
9557
+ left: 0,
9558
+ right: 0,
9559
+ bottom: 0,
9270
9560
  zIndex: 1,
9561
+ flexDirection: 'column',
9271
9562
  alignSelf: 'flex-start',
9272
9563
  flexGrow: 0,
9273
9564
  flexShrink: 0,
9274
- top: '35@vs',
9275
- left: '24@s',
9276
- justifyContent: 'center',
9277
- alignItems: 'center',
9278
9565
  },
9279
- translateCounter: 1,
9280
- size: 24,
9281
9566
  },
9282
9567
  types: {},
9283
9568
  },
9284
9569
  {
9285
9570
  schemaVersion: 2,
9286
9571
  pattern: {
9287
- type: 'PaywallOptions',
9572
+ type: 'PaywallCloseButton',
9288
9573
  title: 'title',
9289
9574
  description: 'description',
9290
- children: 'node',
9575
+ children: 'never',
9291
9576
  attributes: {
9292
- scrollable: 'boolean',
9577
+ iconType: 'iconType',
9578
+ size: 'number',
9579
+ strokeWidth: 'number',
9580
+ testID: 'string',
9581
+ adjustsFontSizeToFit: 'boolean',
9582
+ showEllipsis: 'boolean',
9583
+ translateCounter: 'number',
9293
9584
  styles: {
9585
+ color: 'color',
9586
+ fontSize: 'size',
9587
+ fontFamily: 'fontFamily',
9588
+ fontWeight: 'fontWeight',
9589
+ textAlign: 'string',
9294
9590
  flexDirection: ['row', 'column'],
9295
9591
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9296
9592
  alignItems: [
@@ -9339,39 +9635,89 @@ export const patterns = [
9339
9635
  right: 'size',
9340
9636
  zIndex: 'number',
9341
9637
  },
9638
+ scrollable: 'boolean',
9342
9639
  },
9343
9640
  },
9344
9641
  meta: {
9345
9642
  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',
9643
+ label: 'Paywall Close Button',
9644
+ description: 'Paywall Close Button component.',
9645
+ styles: {
9646
+ color: {
9647
+ label: 'Color',
9648
+ description: 'Text color.',
9649
+ category: 'style',
9650
+ specialCategory: null,
9353
9651
  sort: 1,
9354
9652
  },
9355
- margin: {
9356
- label: 'Margin',
9357
- description: 'Uniform margin on all sides.',
9358
- category: 'container',
9653
+ fontSize: {
9654
+ label: 'Font Size',
9655
+ description: 'Text size.',
9656
+ category: 'style',
9657
+ specialCategory: null,
9359
9658
  sort: 2,
9659
+ preferredScale: 'f',
9360
9660
  },
9361
- size: {
9362
- label: 'Size',
9363
- description: 'Fixed dimensions.',
9364
- category: 'container',
9661
+ fontFamily: {
9662
+ label: 'Font Family',
9663
+ description: 'Font family used for the text.',
9664
+ category: 'style',
9665
+ specialCategory: null,
9365
9666
  sort: 3,
9366
9667
  },
9367
- offset: {
9368
- label: 'Offset',
9369
- description: 'Absolute positioning offsets.',
9370
- category: 'container',
9668
+ fontWeight: {
9669
+ label: 'Font Weight',
9670
+ description: 'Text weight.',
9671
+ category: 'style',
9672
+ specialCategory: null,
9371
9673
  sort: 4,
9372
9674
  },
9675
+ textAlign: {
9676
+ label: 'Text Align',
9677
+ description: 'Text alignment.',
9678
+ category: 'style',
9679
+ specialCategory: null,
9680
+ sort: 5,
9681
+ },
9373
9682
  },
9374
9683
  attributes: {
9684
+ iconType: {
9685
+ label: 'Icon',
9686
+ description: 'Which icon to render.',
9687
+ category: 'other',
9688
+ specialCategory: null,
9689
+ sort: 1,
9690
+ },
9691
+ size: {
9692
+ label: 'Size',
9693
+ description: 'Icon size (px).',
9694
+ category: 'other',
9695
+ specialCategory: null,
9696
+ sort: 2,
9697
+ },
9698
+ strokeWidth: {
9699
+ label: 'Stroke Width',
9700
+ description: 'SVG stroke width override (applied to the icon paths).',
9701
+ category: 'other',
9702
+ specialCategory: null,
9703
+ sort: 3,
9704
+ },
9705
+ adjustsFontSizeToFit: {
9706
+ label: 'Adjust Font Size To Fit',
9707
+ description:
9708
+ 'Automatically reduces font size to fit the available space.',
9709
+ category: 'other',
9710
+ specialCategory: null,
9711
+ sort: 1,
9712
+ },
9713
+ showEllipsis: {
9714
+ label: 'Show Ellipsis',
9715
+ description:
9716
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9717
+ category: 'other',
9718
+ specialCategory: null,
9719
+ sort: 2,
9720
+ },
9375
9721
  scrollable: {
9376
9722
  label: 'Scrollable',
9377
9723
  description: 'Turns scroll interaction on.',
@@ -9646,27 +9992,60 @@ export const patterns = [
9646
9992
  },
9647
9993
  },
9648
9994
  },
9649
- styles: {},
9995
+ specialCategories: {
9996
+ padding: {
9997
+ label: 'Padding',
9998
+ description: 'Uniform padding on all sides.',
9999
+ category: 'container',
10000
+ sort: 1,
10001
+ },
10002
+ margin: {
10003
+ label: 'Margin',
10004
+ description: 'Uniform margin on all sides.',
10005
+ category: 'container',
10006
+ sort: 2,
10007
+ },
10008
+ size: {
10009
+ label: 'Size',
10010
+ description: 'Fixed dimensions.',
10011
+ category: 'container',
10012
+ sort: 3,
10013
+ },
10014
+ offset: {
10015
+ label: 'Offset',
10016
+ description: 'Absolute positioning offsets.',
10017
+ category: 'container',
10018
+ sort: 4,
10019
+ },
10020
+ },
9650
10021
  },
9651
10022
  defaults: {
10023
+ iconType: 'close',
10024
+ strokeWidth: 1.5,
9652
10025
  styles: {
10026
+ fontSize: '16@fs',
10027
+ color: 'THEME_COLORS.TEXT',
10028
+ fontWeight: '400',
9653
10029
  flexDirection: 'row',
9654
- position: 'relative',
10030
+ position: 'absolute',
9655
10031
  zIndex: 1,
9656
10032
  alignSelf: 'flex-start',
9657
10033
  flexGrow: 0,
9658
10034
  flexShrink: 0,
9659
- justifyContent: 'space-between',
10035
+ top: '35@vs',
10036
+ left: '24@s',
10037
+ justifyContent: 'center',
9660
10038
  alignItems: 'center',
9661
- minHeight: '60px',
9662
10039
  },
10040
+ translateCounter: 1,
10041
+ size: 24,
9663
10042
  },
9664
10043
  types: {},
9665
10044
  },
9666
10045
  {
9667
10046
  schemaVersion: 2,
9668
10047
  pattern: {
9669
- type: 'PaywallProvider',
10048
+ type: 'PaywallOptions',
9670
10049
  title: 'title',
9671
10050
  description: 'description',
9672
10051
  children: 'node',
@@ -9721,13 +10100,13 @@ export const patterns = [
9721
10100
  right: 'size',
9722
10101
  zIndex: 'number',
9723
10102
  },
9724
- delay: 'number',
10103
+ testID: 'string',
9725
10104
  },
9726
10105
  },
9727
10106
  meta: {
9728
- desiredParent: ['all'],
9729
- label: 'Paywall Provider',
9730
- description: 'Provider/wrapper for paywall screen components.',
10107
+ desiredParent: ['>PaywallProvider'],
10108
+ label: 'Paywall Options',
10109
+ description: 'Paywall options selector component.',
9731
10110
  specialCategories: {
9732
10111
  padding: {
9733
10112
  label: 'Padding',
@@ -10028,28 +10407,20 @@ export const patterns = [
10028
10407
  sort: 26,
10029
10408
  },
10030
10409
  },
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
10410
  },
10040
- mockableFeatures: { products: true, benefits: true },
10041
10411
  styles: {},
10042
10412
  },
10043
10413
  defaults: {
10044
10414
  styles: {
10045
- flexDirection: 'column',
10415
+ flexDirection: 'row',
10046
10416
  position: 'relative',
10047
10417
  zIndex: 1,
10048
10418
  alignSelf: 'flex-start',
10049
10419
  flexGrow: 0,
10050
10420
  flexShrink: 0,
10051
- width: '100%',
10052
- height: '100%',
10421
+ justifyContent: 'space-between',
10422
+ alignItems: 'center',
10423
+ minHeight: '60px',
10053
10424
  },
10054
10425
  },
10055
10426
  types: {},
@@ -10057,27 +10428,13 @@ export const patterns = [
10057
10428
  {
10058
10429
  schemaVersion: 2,
10059
10430
  pattern: {
10060
- type: 'PaywallSubscribeButton',
10431
+ type: 'PaywallProvider',
10061
10432
  title: 'title',
10062
10433
  description: 'description',
10063
- children: 'string',
10434
+ children: 'node',
10064
10435
  attributes: {
10436
+ scrollable: 'boolean',
10065
10437
  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
10438
  flexDirection: ['row', 'column'],
10082
10439
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10083
10440
  alignItems: [
@@ -10126,36 +10483,14 @@ export const patterns = [
10126
10483
  right: 'size',
10127
10484
  zIndex: 'number',
10128
10485
  },
10129
- scrollable: 'boolean',
10486
+ testID: 'string',
10487
+ delay: 'number',
10130
10488
  },
10131
10489
  },
10132
10490
  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
- },
10491
+ desiredParent: ['all'],
10492
+ label: 'Paywall Provider',
10493
+ description: 'Provider/wrapper for paywall screen components.',
10159
10494
  specialCategories: {
10160
10495
  padding: {
10161
10496
  label: 'Padding',
@@ -10456,26 +10791,28 @@ export const patterns = [
10456
10791
  sort: 26,
10457
10792
  },
10458
10793
  },
10794
+ delay: {
10795
+ label: 'Back Delay (ms)',
10796
+ description:
10797
+ 'Milliseconds before the paywall can be dismissed via back/close.',
10798
+ category: 'other',
10799
+ specialCategory: null,
10800
+ sort: 1,
10801
+ },
10459
10802
  },
10803
+ mockableFeatures: { products: true, benefits: true },
10804
+ styles: {},
10460
10805
  },
10461
10806
  defaults: {
10462
- styles: {
10463
- display: 'flex',
10464
- alignItems: 'center',
10465
- justifyContent: 'center',
10466
- backgroundColor: '#6495ED',
10807
+ styles: {
10467
10808
  flexDirection: 'column',
10468
10809
  position: 'relative',
10469
10810
  zIndex: 1,
10470
10811
  alignSelf: 'flex-start',
10471
10812
  flexGrow: 0,
10472
10813
  flexShrink: 0,
10473
- paddingHorizontal: '20@s',
10474
- paddingVertical: '12@vs',
10475
- borderRadius: '12@s',
10476
- color: '#FFFFFF',
10477
- fontSize: '16@fs',
10478
- fontWeight: '700',
10814
+ width: '100%',
10815
+ height: '100%',
10479
10816
  },
10480
10817
  },
10481
10818
  types: {},
@@ -10483,20 +10820,27 @@ export const patterns = [
10483
10820
  {
10484
10821
  schemaVersion: 2,
10485
10822
  pattern: {
10486
- type: 'PriceTag',
10823
+ type: 'PaywallSubscribeButton',
10487
10824
  title: 'title',
10488
10825
  description: 'description',
10489
10826
  children: 'string',
10490
10827
  attributes: {
10491
- adjustsFontSizeToFit: 'boolean',
10492
- showEllipsis: 'boolean',
10493
- translateCounter: 'number',
10494
10828
  styles: {
10495
10829
  color: 'color',
10496
10830
  fontSize: 'size',
10497
- fontFamily: 'fontFamily',
10498
- fontWeight: 'fontWeight',
10499
- textAlign: 'string',
10831
+ fontWeight: [
10832
+ 'normal',
10833
+ 'bold',
10834
+ '100',
10835
+ '200',
10836
+ '300',
10837
+ '400',
10838
+ '500',
10839
+ '600',
10840
+ '700',
10841
+ '800',
10842
+ '900',
10843
+ ],
10500
10844
  flexDirection: ['row', 'column'],
10501
10845
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10502
10846
  alignItems: [
@@ -10544,80 +10888,65 @@ export const patterns = [
10544
10888
  left: 'size',
10545
10889
  right: 'size',
10546
10890
  zIndex: 'number',
10547
- textDecorationLine: ['none', 'underline', 'line-through'],
10548
10891
  },
10892
+ testID: 'string',
10549
10893
  scrollable: 'boolean',
10550
- showOriginalPricePossible: 'boolean',
10551
- hideIfItsNotDiscount: 'boolean',
10552
10894
  },
10553
10895
  },
10554
10896
  meta: {
10555
10897
  desiredParent: ['>PaywallProvider'],
10556
- label: 'Price Tag',
10557
- description: 'Displays a price tag text. Extends Text.',
10898
+ label: 'Paywall Subscribe Button',
10899
+ description: 'Paywall subscribe call-to-action button. Extends Button.',
10558
10900
  styles: {
10559
10901
  color: {
10560
10902
  label: 'Color',
10561
- description: 'Text color.',
10903
+ description: 'Text color of the button.',
10562
10904
  category: 'style',
10563
10905
  specialCategory: null,
10564
10906
  sort: 1,
10565
10907
  },
10566
10908
  fontSize: {
10567
10909
  label: 'Font Size',
10568
- description: 'Text size.',
10910
+ description: 'Text size of the button.',
10569
10911
  category: 'style',
10570
10912
  specialCategory: null,
10571
10913
  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
10914
  },
10581
10915
  fontWeight: {
10582
10916
  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).',
10917
+ description: 'Text weight of the button.',
10599
10918
  category: 'style',
10600
10919
  specialCategory: null,
10601
- sort: 6,
10920
+ sort: 3,
10602
10921
  },
10603
10922
  },
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,
10923
+ specialCategories: {
10924
+ padding: {
10925
+ label: 'Padding',
10926
+ description: 'Uniform padding on all sides.',
10927
+ category: 'container',
10611
10928
  sort: 1,
10612
10929
  },
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,
10930
+ margin: {
10931
+ label: 'Margin',
10932
+ description: 'Uniform margin on all sides.',
10933
+ category: 'container',
10619
10934
  sort: 2,
10620
10935
  },
10936
+ size: {
10937
+ label: 'Size',
10938
+ description: 'Fixed dimensions.',
10939
+ category: 'container',
10940
+ sort: 3,
10941
+ },
10942
+ offset: {
10943
+ label: 'Offset',
10944
+ description: 'Absolute positioning offsets.',
10945
+ category: 'container',
10946
+ sort: 4,
10947
+ },
10948
+ },
10949
+ attributes: {
10621
10950
  scrollable: {
10622
10951
  label: 'Scrollable',
10623
10952
  description: 'Turns scroll interaction on.',
@@ -10891,61 +11220,26 @@ export const patterns = [
10891
11220
  sort: 26,
10892
11221
  },
10893
11222
  },
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
11223
  },
10936
11224
  },
10937
11225
  defaults: {
10938
- translateCounter: 1,
10939
11226
  styles: {
10940
- color: 'THEME_COLORS.TEXT',
10941
- fontSize: '16@fs',
10942
- fontWeight: '700',
11227
+ display: 'flex',
11228
+ alignItems: 'center',
11229
+ justifyContent: 'center',
11230
+ backgroundColor: '#6495ED',
10943
11231
  flexDirection: 'column',
10944
11232
  position: 'relative',
10945
11233
  zIndex: 1,
10946
11234
  alignSelf: 'flex-start',
10947
11235
  flexGrow: 0,
10948
11236
  flexShrink: 0,
11237
+ paddingHorizontal: '20@s',
11238
+ paddingVertical: '12@vs',
11239
+ borderRadius: '12@s',
11240
+ color: '#FFFFFF',
11241
+ fontSize: '16@fs',
11242
+ fontWeight: '700',
10949
11243
  },
10950
11244
  },
10951
11245
  types: {},
@@ -10953,9 +11247,9 @@ export const patterns = [
10953
11247
  {
10954
11248
  schemaVersion: 2,
10955
11249
  pattern: {
10956
- type: 'Pricing',
11250
+ type: 'PriceTag',
10957
11251
  title: 'title',
10958
- description: 'base.builder.paywall.pricing.default.text',
11252
+ description: 'description',
10959
11253
  children: 'string',
10960
11254
  attributes: {
10961
11255
  adjustsFontSizeToFit: 'boolean',
@@ -11014,15 +11308,18 @@ export const patterns = [
11014
11308
  left: 'size',
11015
11309
  right: 'size',
11016
11310
  zIndex: 'number',
11311
+ textDecorationLine: ['none', 'underline', 'line-through'],
11017
11312
  },
11313
+ testID: 'string',
11018
11314
  scrollable: 'boolean',
11315
+ showOriginalPricePossible: 'boolean',
11316
+ hideIfItsNotDiscount: 'boolean',
11019
11317
  },
11020
11318
  },
11021
11319
  meta: {
11022
11320
  desiredParent: ['>PaywallProvider'],
11023
- label: 'Pricing',
11024
- description:
11025
- 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
11321
+ label: 'Price Tag',
11322
+ description: 'Displays a price tag text. Extends Text.',
11026
11323
  styles: {
11027
11324
  color: {
11028
11325
  label: 'Color',
@@ -11037,7 +11334,7 @@ export const patterns = [
11037
11334
  category: 'style',
11038
11335
  specialCategory: null,
11039
11336
  sort: 2,
11040
- preferredScale: 's',
11337
+ preferredScale: 'f',
11041
11338
  },
11042
11339
  fontFamily: {
11043
11340
  label: 'Font Family',
@@ -11060,6 +11357,14 @@ export const patterns = [
11060
11357
  specialCategory: null,
11061
11358
  sort: 5,
11062
11359
  },
11360
+ textDecorationLine: {
11361
+ label: 'Text Decoration',
11362
+ description:
11363
+ 'Text decoration line style (e.g. line-through for strikethrough).',
11364
+ category: 'style',
11365
+ specialCategory: null,
11366
+ sort: 6,
11367
+ },
11063
11368
  },
11064
11369
  attributes: {
11065
11370
  adjustsFontSizeToFit: {
@@ -11351,6 +11656,21 @@ export const patterns = [
11351
11656
  sort: 26,
11352
11657
  },
11353
11658
  },
11659
+ showOriginalPricePossible: {
11660
+ label: 'Show Original Price Possible',
11661
+ description: 'When enabled, shows the original price if available.',
11662
+ category: 'other',
11663
+ specialCategory: null,
11664
+ sort: 1,
11665
+ },
11666
+ hideIfItsNotDiscount: {
11667
+ label: 'Hide If No Discount',
11668
+ description:
11669
+ 'Hides this element when there is no active discount/promo.',
11670
+ category: 'other',
11671
+ specialCategory: null,
11672
+ sort: 2,
11673
+ },
11354
11674
  },
11355
11675
  specialCategories: {
11356
11676
  padding: {
@@ -11380,18 +11700,17 @@ export const patterns = [
11380
11700
  },
11381
11701
  },
11382
11702
  defaults: {
11383
- translateCounter: 2,
11703
+ translateCounter: 1,
11384
11704
  styles: {
11385
- color: 'rgba(255,255,255,0.6)',
11386
- fontSize: '12@fs',
11387
- fontWeight: '400',
11705
+ color: 'THEME_COLORS.TEXT',
11706
+ fontSize: '16@fs',
11707
+ fontWeight: '700',
11388
11708
  flexDirection: 'column',
11389
11709
  position: 'relative',
11390
11710
  zIndex: 1,
11391
11711
  alignSelf: 'flex-start',
11392
11712
  flexGrow: 0,
11393
11713
  flexShrink: 0,
11394
- textAlign: 'center',
11395
11714
  },
11396
11715
  },
11397
11716
  types: {},
@@ -11399,9 +11718,9 @@ export const patterns = [
11399
11718
  {
11400
11719
  schemaVersion: 2,
11401
11720
  pattern: {
11402
- type: 'Promo',
11721
+ type: 'Pricing',
11403
11722
  title: 'title',
11404
- description: 'base.builder.paywall.promo.default.text',
11723
+ description: 'base.builder.paywall.pricing.default.text',
11405
11724
  children: 'string',
11406
11725
  attributes: {
11407
11726
  adjustsFontSizeToFit: 'boolean',
@@ -11461,14 +11780,15 @@ export const patterns = [
11461
11780
  right: 'size',
11462
11781
  zIndex: 'number',
11463
11782
  },
11783
+ testID: 'string',
11464
11784
  scrollable: 'boolean',
11465
11785
  },
11466
11786
  },
11467
11787
  meta: {
11468
11788
  desiredParent: ['>PaywallProvider'],
11469
- label: 'Promo',
11789
+ label: 'Pricing',
11470
11790
  description:
11471
- 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
11791
+ 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
11472
11792
  styles: {
11473
11793
  color: {
11474
11794
  label: 'Color',
@@ -11483,7 +11803,7 @@ export const patterns = [
11483
11803
  category: 'style',
11484
11804
  specialCategory: null,
11485
11805
  sort: 2,
11486
- preferredScale: 's',
11806
+ preferredScale: 'f',
11487
11807
  },
11488
11808
  fontFamily: {
11489
11809
  label: 'Font Family',
@@ -11828,9 +12148,9 @@ export const patterns = [
11828
12148
  defaults: {
11829
12149
  translateCounter: 2,
11830
12150
  styles: {
11831
- color: '#34D399',
12151
+ color: 'rgba(255,255,255,0.6)',
11832
12152
  fontSize: '12@fs',
11833
- fontWeight: '600',
12153
+ fontWeight: '400',
11834
12154
  flexDirection: 'column',
11835
12155
  position: 'relative',
11836
12156
  zIndex: 1,
@@ -11845,13 +12165,20 @@ export const patterns = [
11845
12165
  {
11846
12166
  schemaVersion: 2,
11847
12167
  pattern: {
11848
- type: 'RadioButton',
12168
+ type: 'Promo',
11849
12169
  title: 'title',
11850
- description: 'description',
11851
- children: 'never',
12170
+ description: 'base.builder.paywall.promo.default.text',
12171
+ children: 'string',
11852
12172
  attributes: {
11853
- scrollable: 'boolean',
12173
+ adjustsFontSizeToFit: 'boolean',
12174
+ showEllipsis: 'boolean',
12175
+ translateCounter: 'number',
11854
12176
  styles: {
12177
+ color: 'color',
12178
+ fontSize: 'size',
12179
+ fontFamily: 'fontFamily',
12180
+ fontWeight: 'fontWeight',
12181
+ textAlign: 'string',
11855
12182
  flexDirection: ['row', 'column'],
11856
12183
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11857
12184
  alignItems: [
@@ -11900,42 +12227,70 @@ export const patterns = [
11900
12227
  right: 'size',
11901
12228
  zIndex: 'number',
11902
12229
  },
11903
- selected: 'boolean',
11904
- color: 'color',
11905
- size: 'number',
12230
+ testID: 'string',
12231
+ scrollable: 'boolean',
11906
12232
  },
11907
12233
  },
11908
12234
  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',
12235
+ desiredParent: ['>PaywallProvider'],
12236
+ label: 'Promo',
12237
+ description:
12238
+ 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
12239
+ styles: {
12240
+ color: {
12241
+ label: 'Color',
12242
+ description: 'Text color.',
12243
+ category: 'style',
12244
+ specialCategory: null,
12245
+ sort: 1,
12246
+ },
12247
+ fontSize: {
12248
+ label: 'Font Size',
12249
+ description: 'Text size.',
12250
+ category: 'style',
12251
+ specialCategory: null,
11923
12252
  sort: 2,
12253
+ preferredScale: 'f',
11924
12254
  },
11925
- size: {
11926
- label: 'Size',
11927
- description: 'Fixed dimensions.',
11928
- category: 'container',
12255
+ fontFamily: {
12256
+ label: 'Font Family',
12257
+ description: 'Font family used for the text.',
12258
+ category: 'style',
12259
+ specialCategory: null,
11929
12260
  sort: 3,
11930
12261
  },
11931
- offset: {
11932
- label: 'Offset',
11933
- description: 'Absolute positioning offsets.',
11934
- category: 'container',
12262
+ fontWeight: {
12263
+ label: 'Font Weight',
12264
+ description: 'Text weight.',
12265
+ category: 'style',
12266
+ specialCategory: null,
11935
12267
  sort: 4,
11936
12268
  },
12269
+ textAlign: {
12270
+ label: 'Text Align',
12271
+ description: 'Text alignment.',
12272
+ category: 'style',
12273
+ specialCategory: null,
12274
+ sort: 5,
12275
+ },
11937
12276
  },
11938
12277
  attributes: {
12278
+ adjustsFontSizeToFit: {
12279
+ label: 'Adjust Font Size To Fit',
12280
+ description:
12281
+ 'Automatically reduces font size to fit the available space.',
12282
+ category: 'other',
12283
+ specialCategory: null,
12284
+ sort: 1,
12285
+ },
12286
+ showEllipsis: {
12287
+ label: 'Show Ellipsis',
12288
+ description:
12289
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
12290
+ category: 'other',
12291
+ specialCategory: null,
12292
+ sort: 2,
12293
+ },
11939
12294
  scrollable: {
11940
12295
  label: 'Scrollable',
11941
12296
  description: 'Turns scroll interaction on.',
@@ -12209,38 +12564,47 @@ export const patterns = [
12209
12564
  sort: 26,
12210
12565
  },
12211
12566
  },
12212
- color: {
12213
- label: 'Color',
12214
- description: 'Radio color.',
12215
- category: 'style',
12216
- specialCategory: null,
12567
+ },
12568
+ specialCategories: {
12569
+ padding: {
12570
+ label: 'Padding',
12571
+ description: 'Uniform padding on all sides.',
12572
+ category: 'container',
12217
12573
  sort: 1,
12218
12574
  },
12575
+ margin: {
12576
+ label: 'Margin',
12577
+ description: 'Uniform margin on all sides.',
12578
+ category: 'container',
12579
+ sort: 2,
12580
+ },
12219
12581
  size: {
12220
12582
  label: 'Size',
12221
- description: 'Radio size in px.',
12222
- category: 'style',
12223
- specialCategory: null,
12224
- sort: 2,
12583
+ description: 'Fixed dimensions.',
12584
+ category: 'container',
12585
+ sort: 3,
12225
12586
  },
12226
- selected: {
12227
- label: 'Selected',
12228
- description: 'Whether the radio is selected.',
12229
- category: 'other',
12230
- specialCategory: null,
12231
- sort: 0,
12587
+ offset: {
12588
+ label: 'Offset',
12589
+ description: 'Absolute positioning offsets.',
12590
+ category: 'container',
12591
+ sort: 4,
12232
12592
  },
12233
12593
  },
12234
- styles: {},
12235
12594
  },
12236
12595
  defaults: {
12596
+ translateCounter: 2,
12237
12597
  styles: {
12598
+ color: '#34D399',
12599
+ fontSize: '12@fs',
12600
+ fontWeight: '600',
12238
12601
  flexDirection: 'column',
12239
12602
  position: 'relative',
12240
12603
  zIndex: 1,
12241
12604
  alignSelf: 'flex-start',
12242
12605
  flexGrow: 0,
12243
12606
  flexShrink: 0,
12607
+ textAlign: 'center',
12244
12608
  },
12245
12609
  },
12246
12610
  types: {},
@@ -12248,62 +12612,7 @@ export const patterns = [
12248
12612
  {
12249
12613
  schemaVersion: 2,
12250
12614
  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',
12615
+ type: 'RadioButton',
12307
12616
  title: 'title',
12308
12617
  description: 'description',
12309
12618
  children: 'never',
@@ -12358,12 +12667,16 @@ export const patterns = [
12358
12667
  right: 'size',
12359
12668
  zIndex: 'number',
12360
12669
  },
12670
+ testID: 'string',
12671
+ selected: 'boolean',
12672
+ color: 'color',
12673
+ size: 'number',
12361
12674
  },
12362
12675
  },
12363
12676
  meta: {
12364
12677
  desiredParent: ['all'],
12365
- label: 'Status Bar Color',
12366
- description: 'Sets the OS status bar background color.',
12678
+ label: 'Radio Button',
12679
+ description: 'Generic radio button icon.',
12367
12680
  specialCategories: {
12368
12681
  padding: {
12369
12682
  label: 'Padding',
@@ -12664,16 +12977,29 @@ export const patterns = [
12664
12977
  sort: 26,
12665
12978
  },
12666
12979
  },
12667
- },
12668
- styles: {
12669
- backgroundColor: {
12670
- label: 'Background Color',
12671
- description: 'Status bar background color.',
12980
+ color: {
12981
+ label: 'Color',
12982
+ description: 'Radio color.',
12672
12983
  category: 'style',
12673
12984
  specialCategory: null,
12674
12985
  sort: 1,
12675
12986
  },
12987
+ size: {
12988
+ label: 'Size',
12989
+ description: 'Radio size in px.',
12990
+ category: 'style',
12991
+ specialCategory: null,
12992
+ sort: 2,
12993
+ },
12994
+ selected: {
12995
+ label: 'Selected',
12996
+ description: 'Whether the radio is selected.',
12997
+ category: 'other',
12998
+ specialCategory: null,
12999
+ sort: 0,
13000
+ },
12676
13001
  },
13002
+ styles: {},
12677
13003
  },
12678
13004
  defaults: {
12679
13005
  styles: {
@@ -12683,11 +13009,91 @@ export const patterns = [
12683
13009
  alignSelf: 'flex-start',
12684
13010
  flexGrow: 0,
12685
13011
  flexShrink: 0,
12686
- backgroundColor: 'THEME_COLORS.BACKGROUND',
12687
13012
  },
12688
13013
  },
12689
13014
  types: {},
12690
13015
  },
13016
+ {
13017
+ schemaVersion: 2,
13018
+ pattern: {
13019
+ type: 'Separator',
13020
+ title: 'title',
13021
+ description: 'description',
13022
+ children: 'never',
13023
+ attributes: {
13024
+ styles: {
13025
+ backgroundColor: 'color',
13026
+ width: 'size',
13027
+ height: 'size',
13028
+ marginHorizontal: 'size',
13029
+ marginVertical: 'size',
13030
+ marginTop: 'size',
13031
+ marginBottom: 'size',
13032
+ },
13033
+ testID: 'string',
13034
+ },
13035
+ },
13036
+ meta: {
13037
+ desiredParent: ['all'],
13038
+ label: 'Separator',
13039
+ description: 'Horizontal line separator.',
13040
+ attributes: {
13041
+ styles: {
13042
+ backgroundColor: {
13043
+ label: 'Color',
13044
+ description: 'Separator line color.',
13045
+ category: 'style',
13046
+ specialCategory: null,
13047
+ sort: 1,
13048
+ },
13049
+ width: {
13050
+ label: 'Width',
13051
+ description: 'Separator width.',
13052
+ category: 'container',
13053
+ specialCategory: null,
13054
+ sort: 1,
13055
+ preferredScale: 's',
13056
+ },
13057
+ height: {
13058
+ label: 'Height',
13059
+ description: 'Separator thickness.',
13060
+ category: 'container',
13061
+ specialCategory: null,
13062
+ sort: 2,
13063
+ preferredScale: 'vs',
13064
+ },
13065
+ },
13066
+ },
13067
+ },
13068
+ defaults: {
13069
+ styles: { width: '100%', height: 2, backgroundColor: '#000000' },
13070
+ },
13071
+ },
13072
+ {
13073
+ schemaVersion: 2,
13074
+ pattern: {
13075
+ type: 'StatusBarColor',
13076
+ title: 'title',
13077
+ description: 'description',
13078
+ children: 'never',
13079
+ attributes: { styles: { backgroundColor: 'color' }, testID: 'string' },
13080
+ },
13081
+ meta: {
13082
+ desiredParent: ['all'],
13083
+ label: 'Status Bar Color',
13084
+ description: 'Sets the OS status bar background color.',
13085
+ styles: {
13086
+ backgroundColor: {
13087
+ label: 'Background Color',
13088
+ description: 'Status bar background color.',
13089
+ category: 'style',
13090
+ specialCategory: null,
13091
+ sort: 1,
13092
+ },
13093
+ },
13094
+ },
13095
+ defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
13096
+ },
12691
13097
  {
12692
13098
  schemaVersion: 2,
12693
13099
  pattern: {
@@ -12751,6 +13157,7 @@ export const patterns = [
12751
13157
  fontWeight: 'fontWeight',
12752
13158
  textAlign: 'string',
12753
13159
  },
13160
+ testID: 'string',
12754
13161
  adjustsFontSizeToFit: 'boolean',
12755
13162
  showEllipsis: 'boolean',
12756
13163
  translateCounter: 'number',
@@ -13091,7 +13498,7 @@ export const patterns = [
13091
13498
  category: 'style',
13092
13499
  specialCategory: null,
13093
13500
  sort: 2,
13094
- preferredScale: 's',
13501
+ preferredScale: 'f',
13095
13502
  },
13096
13503
  fontFamily: {
13097
13504
  label: 'Font Family',
@@ -13190,6 +13597,7 @@ export const patterns = [
13190
13597
  right: 'size',
13191
13598
  zIndex: 'number',
13192
13599
  },
13600
+ testID: 'string',
13193
13601
  },
13194
13602
  },
13195
13603
  meta: {