@developer_tribe/react-builder 1.2.22 → 1.2.24

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 (106) hide show
  1. package/dist/attribute-analyser/style/native/useExtractImageStyle.d.ts +6 -6
  2. package/dist/attribute-analyser/style/native/useExtractTextStyle.d.ts +6 -4
  3. package/dist/attribute-analyser/style/native/useExtractViewStyle.d.ts +5 -3
  4. package/dist/build-components/Image/ImageProps.generated.d.ts +2 -4
  5. package/dist/build-components/NavigationBarColor/NavigationBarColor.d.ts +5 -0
  6. package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +54 -0
  7. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +1 -3
  8. package/dist/build-components/Separator/Separator.d.ts +5 -0
  9. package/dist/build-components/Separator/SeparatorProps.generated.d.ts +21 -0
  10. package/dist/build-components/StatusBarColor/StatusBarColor.d.ts +5 -0
  11. package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +54 -0
  12. package/dist/build-components/index.d.ts +4 -1
  13. package/dist/build-components/patterns.generated.d.ts +2111 -1251
  14. package/dist/components/AttributesEditorPanel.d.ts +1 -1
  15. package/dist/components/BuilderProvider.d.ts +1 -1
  16. package/dist/index.cjs.js +4 -4
  17. package/dist/index.cjs.js.map +1 -1
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.esm.js +4 -4
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.web.cjs.js +6 -6
  22. package/dist/index.web.cjs.js.map +1 -1
  23. package/dist/index.web.esm.js +4 -4
  24. package/dist/index.web.esm.js.map +1 -1
  25. package/dist/store.d.ts +4 -0
  26. package/dist/styles.css +1 -1
  27. package/dist/utils/attributeStyle.d.ts +21 -0
  28. package/dist/utils/extractImageStyle.d.ts +1 -1
  29. package/dist/utils/extractViewStyle/extractViewStyleNative.d.ts +1 -1
  30. package/package.json +7 -2
  31. package/src/DeviceMockFrame.tsx +8 -2
  32. package/src/assets/meta.json +1 -1
  33. package/src/assets/samples/paywall-1.json +44 -39
  34. package/src/assets/samples/paywall-2.json +44 -25
  35. package/src/assets/samples/paywall-app-delete-offer.json +40 -21
  36. package/src/assets/samples/paywall-app-open-offer.json +40 -21
  37. package/src/assets/samples/paywall-back-offer.json +40 -21
  38. package/src/assets/samples/paywall-notification-offer.json +40 -21
  39. package/src/assets/samples/vpn-onboard-1.json +84 -39
  40. package/src/assets/samples/vpn-onboard-2.json +85 -40
  41. package/src/assets/samples/vpn-onboard-3.json +84 -39
  42. package/src/assets/samples/vpn-onboard-4.json +84 -39
  43. package/src/assets/samples/vpn-onboard-5.json +102 -55
  44. package/src/assets/samples/vpn-onboard-6.json +87 -38
  45. package/src/attribute-analyser/style/native/useExtractImageStyle.ts +31 -25
  46. package/src/attribute-analyser/style/native/useExtractTextStyle.ts +26 -11
  47. package/src/attribute-analyser/style/native/useExtractViewStyle.ts +21 -11
  48. package/src/attributes-editor/useAttributesEditorModel.ts +23 -17
  49. package/src/build-components/BackgroundImage/pattern.json +9 -7
  50. package/src/build-components/CarouselDots/CarouselDots.tsx +12 -11
  51. package/src/build-components/CarouselProvider/CarouselProvider.tsx +3 -1
  52. package/src/build-components/Image/ImageProps.generated.ts +2 -4
  53. package/src/build-components/Image/pattern.json +15 -25
  54. package/src/build-components/NavigationBarColor/NavigationBarColor.tsx +39 -0
  55. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +71 -0
  56. package/src/build-components/NavigationBarColor/pattern.json +34 -0
  57. package/src/build-components/OnboardButton/OnboardButton.tsx +19 -5
  58. package/src/build-components/OnboardButtons/OnboardButtons.tsx +8 -10
  59. package/src/build-components/OnboardDot/OnboardDot.tsx +12 -10
  60. package/src/build-components/OnboardFooter/OnboardFooter.tsx +15 -4
  61. package/src/build-components/OnboardImage/OnboardImage.tsx +1 -1
  62. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -3
  63. package/src/build-components/OnboardProvider/OnboardProvider.tsx +3 -1
  64. package/src/build-components/RenderNode.generated.tsx +15 -0
  65. package/src/build-components/Separator/Separator.tsx +41 -0
  66. package/src/build-components/Separator/SeparatorProps.generated.ts +26 -0
  67. package/src/build-components/Separator/pattern.json +59 -0
  68. package/src/build-components/StatusBarColor/StatusBarColor.tsx +39 -0
  69. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +71 -0
  70. package/src/build-components/StatusBarColor/pattern.json +34 -0
  71. package/src/build-components/Text/pattern.json +45 -38
  72. package/src/build-components/index.ts +15 -0
  73. package/src/build-components/patterns.generated.ts +2153 -1272
  74. package/src/build-components/useNode.ts +24 -25
  75. package/src/components/AttributesEditorPanel.tsx +4 -5
  76. package/src/components/Builder.tsx +1 -2
  77. package/src/components/BuilderProvider.tsx +43 -6
  78. package/src/components/JsonTextEditor.tsx +2 -2
  79. package/src/components/LoadingComponent.tsx +1 -1
  80. package/src/components/RenderErrorBoundary.tsx +1 -3
  81. package/src/index.ts +3 -0
  82. package/src/migrations/migrations/1.1.2_extract_component_attributes_from_style.ts +3 -3
  83. package/src/modals/BenefitPresetsModal.tsx +1 -1
  84. package/src/modals/ProductPresetsModal.tsx +1 -1
  85. package/src/pages/DebugJsonPage.tsx +7 -4
  86. package/src/pages/ProjectDebug.tsx +1 -1
  87. package/src/pages/ProjectPage.tsx +31 -32
  88. package/src/pages/ProjectValidationPage.tsx +2 -2
  89. package/src/store.ts +13 -0
  90. package/src/styles/layout/_builder.scss +6 -0
  91. package/src/utils/__special_exceptions.ts +5 -5
  92. package/src/utils/analyseNode.ts +2 -2
  93. package/src/utils/analyseNodeByPatterns.ts +10 -9
  94. package/src/utils/analyseNodeStructural.ts +1 -1
  95. package/src/utils/attributeStyle.ts +104 -0
  96. package/src/utils/extractImageStyle.ts +17 -13
  97. package/src/utils/extractTextStyle/extractTextStyle.ts +7 -7
  98. package/src/utils/extractTextStyle/extractTextStyleNative.ts +10 -10
  99. package/src/utils/extractViewStyle/extractViewStyle.ts +8 -11
  100. package/src/utils/extractViewStyle/extractViewStyleNative.ts +19 -19
  101. package/src/utils/loadFontFamily.ts +14 -19
  102. package/src/utils/logRenderStore.ts +5 -4
  103. package/src/utils/nodeTree.ts +1 -1
  104. package/src/utils/patterns.ts +26 -31
  105. package/src/utils/repairNodeKeys.ts +5 -7
  106. package/src/utils/wrapNodeInMain.ts +3 -3
@@ -71,50 +71,72 @@ export const patterns = [
71
71
  size: 'number',
72
72
  strokeWidth: 'number',
73
73
  },
74
+ defaults: {
75
+ style: {
76
+ color: 'THEME_COLORS.TEXT',
77
+ fontSize: '16@fs',
78
+ fontWeight: '400',
79
+ },
80
+ },
74
81
  },
75
82
  meta: {
76
83
  desiredParent: ['all'],
77
84
  label: 'BIcon',
78
85
  description: 'Renders an icon from the icon set.',
79
- attributes: {
80
- styles: {
81
- color: {
82
- label: 'Color',
83
- description: 'Text color.',
84
- category: 'style',
85
- specialCategory: null,
86
- sort: 1,
87
- },
88
- fontSize: {
89
- label: 'Font Size',
90
- description: 'Text size.',
91
- category: 'style',
92
- specialCategory: null,
93
- sort: 2,
94
- preferredScale: 's',
95
- },
96
- fontFamily: {
97
- label: 'Font Family',
98
- description: 'Font family used for the text.',
99
- category: 'style',
100
- specialCategory: null,
101
- sort: 3,
102
- },
103
- fontWeight: {
104
- label: 'Font Weight',
105
- description: 'Text weight.',
106
- category: 'style',
107
- specialCategory: null,
108
- sort: 4,
109
- },
110
- textAlign: {
111
- label: 'Text Align',
112
- description: 'Text alignment.',
113
- category: 'style',
114
- specialCategory: null,
115
- sort: 5,
116
- },
86
+ styles: {
87
+ color: {
88
+ label: 'Color',
89
+ description: 'Text color.',
90
+ category: 'style',
91
+ specialCategory: null,
92
+ sort: 1,
93
+ },
94
+ fontSize: {
95
+ label: 'Font Size',
96
+ description: 'Text size.',
97
+ category: 'style',
98
+ specialCategory: null,
99
+ sort: 2,
100
+ preferredScale: 's',
101
+ },
102
+ fontFamily: {
103
+ label: 'Font Family',
104
+ description: 'Font family used for the text.',
105
+ category: 'style',
106
+ specialCategory: null,
107
+ sort: 3,
108
+ },
109
+ fontWeight: {
110
+ label: 'Font Weight',
111
+ description: 'Text weight.',
112
+ category: 'style',
113
+ specialCategory: null,
114
+ sort: 4,
115
+ },
116
+ textAlign: {
117
+ label: 'Text Align',
118
+ description: 'Text alignment.',
119
+ category: 'style',
120
+ specialCategory: null,
121
+ sort: 5,
117
122
  },
123
+ backgroundColor: {
124
+ label: 'Background Color',
125
+ description: 'Background fill color.',
126
+ category: 'style',
127
+ specialCategory: null,
128
+ sort: 20,
129
+ },
130
+ borderRadius: {
131
+ label: 'Border Radius',
132
+ description: 'Corner rounding amount.',
133
+ category: 'style',
134
+ specialCategory: null,
135
+ sort: 21,
136
+ preferredScale: 's',
137
+ },
138
+ },
139
+ attributes: {
118
140
  adjustsFontSizeToFit: {
119
141
  label: 'Adjust Font Size To Fit',
120
142
  description:
@@ -435,33 +457,18 @@ export const patterns = [
435
457
  sort: 4,
436
458
  },
437
459
  },
438
- styles: {
439
- backgroundColor: {
440
- label: 'Background Color',
441
- description: 'Background fill color.',
442
- category: 'style',
443
- specialCategory: null,
444
- sort: 20,
445
- },
446
- borderRadius: {
447
- label: 'Border Radius',
448
- description: 'Corner rounding amount.',
449
- category: 'style',
450
- specialCategory: null,
451
- sort: 21,
452
- preferredScale: 's',
453
- },
454
- },
455
460
  },
456
461
  defaults: {
457
462
  style: {
463
+ color: 'THEME_COLORS.TEXT',
464
+ fontSize: '16',
465
+ fontWeight: '400',
458
466
  flexDirection: 'column',
459
467
  position: 'relative',
460
468
  zIndex: 1,
461
469
  alignSelf: 'flex-start',
462
470
  flexGrow: 0,
463
471
  flexShrink: 0,
464
- fontSize: '16',
465
472
  },
466
473
  iconType: 'activity',
467
474
  strokeWidth: 1.5,
@@ -853,13 +860,13 @@ export const patterns = [
853
860
  specialCategory: null,
854
861
  sort: 26,
855
862
  },
856
- },
857
- src: {
858
- label: 'Src',
859
- description: 'Image source URL.',
860
- category: 'other',
861
- specialCategory: null,
862
- sort: 1,
863
+ src: {
864
+ label: 'Src',
865
+ description: 'Image source URL.',
866
+ category: 'other',
867
+ specialCategory: null,
868
+ sort: 1,
869
+ },
863
870
  },
864
871
  },
865
872
  defaults: {
@@ -3294,6 +3301,13 @@ export const patterns = [
3294
3301
  },
3295
3302
  scrollable: 'boolean',
3296
3303
  },
3304
+ defaults: {
3305
+ style: {
3306
+ color: 'THEME_COLORS.TEXT',
3307
+ fontSize: '16@fs',
3308
+ fontWeight: '400',
3309
+ },
3310
+ },
3297
3311
  },
3298
3312
  meta: {
3299
3313
  desiredParent: ['all'],
@@ -3307,44 +3321,6 @@ export const patterns = [
3307
3321
  specialCategory: null,
3308
3322
  sort: 1,
3309
3323
  },
3310
- styles: {
3311
- color: {
3312
- label: 'Color',
3313
- description: 'Text color.',
3314
- category: 'style',
3315
- specialCategory: null,
3316
- sort: 1,
3317
- },
3318
- fontSize: {
3319
- label: 'Font Size',
3320
- description: 'Text size.',
3321
- category: 'style',
3322
- specialCategory: null,
3323
- sort: 2,
3324
- preferredScale: 's',
3325
- },
3326
- fontFamily: {
3327
- label: 'Font Family',
3328
- description: 'Font family used for the text.',
3329
- category: 'style',
3330
- specialCategory: null,
3331
- sort: 3,
3332
- },
3333
- fontWeight: {
3334
- label: 'Font Weight',
3335
- description: 'Text weight.',
3336
- category: 'style',
3337
- specialCategory: null,
3338
- sort: 4,
3339
- },
3340
- textAlign: {
3341
- label: 'Text Align',
3342
- description: 'Text alignment.',
3343
- category: 'style',
3344
- specialCategory: null,
3345
- sort: 5,
3346
- },
3347
- },
3348
3324
  adjustsFontSizeToFit: {
3349
3325
  label: 'Adjust Font Size To Fit',
3350
3326
  description:
@@ -3618,6 +3594,59 @@ export const patterns = [
3618
3594
  sort: 26,
3619
3595
  },
3620
3596
  },
3597
+ styles: {
3598
+ color: {
3599
+ label: 'Color',
3600
+ description: 'Text color.',
3601
+ category: 'style',
3602
+ specialCategory: null,
3603
+ sort: 1,
3604
+ },
3605
+ fontSize: {
3606
+ label: 'Font Size',
3607
+ description: 'Text size.',
3608
+ category: 'style',
3609
+ specialCategory: null,
3610
+ sort: 2,
3611
+ preferredScale: 's',
3612
+ },
3613
+ fontFamily: {
3614
+ label: 'Font Family',
3615
+ description: 'Font family used for the text.',
3616
+ category: 'style',
3617
+ specialCategory: null,
3618
+ sort: 3,
3619
+ },
3620
+ fontWeight: {
3621
+ label: 'Font Weight',
3622
+ description: 'Text weight.',
3623
+ category: 'style',
3624
+ specialCategory: null,
3625
+ sort: 4,
3626
+ },
3627
+ textAlign: {
3628
+ label: 'Text Align',
3629
+ description: 'Text alignment.',
3630
+ category: 'style',
3631
+ specialCategory: null,
3632
+ sort: 5,
3633
+ },
3634
+ backgroundColor: {
3635
+ label: 'Background Color',
3636
+ description: 'Background fill color.',
3637
+ category: 'style',
3638
+ specialCategory: null,
3639
+ sort: 20,
3640
+ },
3641
+ borderRadius: {
3642
+ label: 'Border Radius',
3643
+ description: 'Corner rounding amount.',
3644
+ category: 'style',
3645
+ specialCategory: null,
3646
+ sort: 21,
3647
+ preferredScale: 's',
3648
+ },
3649
+ },
3621
3650
  specialCategories: {
3622
3651
  padding: {
3623
3652
  label: 'Padding',
@@ -3644,26 +3673,12 @@ export const patterns = [
3644
3673
  sort: 4,
3645
3674
  },
3646
3675
  },
3647
- styles: {
3648
- backgroundColor: {
3649
- label: 'Background Color',
3650
- description: 'Background fill color.',
3651
- category: 'style',
3652
- specialCategory: null,
3653
- sort: 20,
3654
- },
3655
- borderRadius: {
3656
- label: 'Border Radius',
3657
- description: 'Corner rounding amount.',
3658
- category: 'style',
3659
- specialCategory: null,
3660
- sort: 21,
3661
- preferredScale: 's',
3662
- },
3663
- },
3664
3676
  },
3665
3677
  defaults: {
3666
3678
  style: {
3679
+ color: 'THEME_COLORS.TEXT',
3680
+ fontSize: '16@fs',
3681
+ fontWeight: '400',
3667
3682
  flexDirection: 'column',
3668
3683
  position: 'relative',
3669
3684
  zIndex: 1,
@@ -3741,50 +3756,72 @@ export const patterns = [
3741
3756
  scrollable: 'boolean',
3742
3757
  count: 'number',
3743
3758
  },
3759
+ defaults: {
3760
+ style: {
3761
+ color: 'THEME_COLORS.TEXT',
3762
+ fontSize: '16@fs',
3763
+ fontWeight: '400',
3764
+ },
3765
+ },
3744
3766
  },
3745
3767
  meta: {
3746
3768
  desiredParent: ['all'],
3747
3769
  label: 'Counter',
3748
3770
  description: 'Displays a numeric counter.',
3749
- attributes: {
3750
- styles: {
3751
- color: {
3752
- label: 'Color',
3753
- description: 'Text color.',
3754
- category: 'style',
3755
- specialCategory: null,
3756
- sort: 1,
3757
- },
3758
- fontSize: {
3759
- label: 'Font Size',
3760
- description: 'Text size.',
3761
- category: 'style',
3762
- specialCategory: null,
3763
- sort: 2,
3764
- preferredScale: 's',
3765
- },
3766
- fontFamily: {
3767
- label: 'Font Family',
3768
- description: 'Font family used for the text.',
3769
- category: 'style',
3770
- specialCategory: null,
3771
- sort: 3,
3772
- },
3773
- fontWeight: {
3774
- label: 'Font Weight',
3775
- description: 'Text weight.',
3776
- category: 'style',
3777
- specialCategory: null,
3778
- sort: 4,
3779
- },
3780
- textAlign: {
3781
- label: 'Text Align',
3782
- description: 'Text alignment.',
3783
- category: 'style',
3784
- specialCategory: null,
3785
- sort: 5,
3786
- },
3771
+ styles: {
3772
+ color: {
3773
+ label: 'Color',
3774
+ description: 'Text color.',
3775
+ category: 'style',
3776
+ specialCategory: null,
3777
+ sort: 1,
3778
+ },
3779
+ fontSize: {
3780
+ label: 'Font Size',
3781
+ description: 'Text size.',
3782
+ category: 'style',
3783
+ specialCategory: null,
3784
+ sort: 2,
3785
+ preferredScale: 's',
3786
+ },
3787
+ fontFamily: {
3788
+ label: 'Font Family',
3789
+ description: 'Font family used for the text.',
3790
+ category: 'style',
3791
+ specialCategory: null,
3792
+ sort: 3,
3793
+ },
3794
+ fontWeight: {
3795
+ label: 'Font Weight',
3796
+ description: 'Text weight.',
3797
+ category: 'style',
3798
+ specialCategory: null,
3799
+ sort: 4,
3800
+ },
3801
+ textAlign: {
3802
+ label: 'Text Align',
3803
+ description: 'Text alignment.',
3804
+ category: 'style',
3805
+ specialCategory: null,
3806
+ sort: 5,
3807
+ },
3808
+ backgroundColor: {
3809
+ label: 'Background Color',
3810
+ description: 'Background fill color.',
3811
+ category: 'style',
3812
+ specialCategory: null,
3813
+ sort: 20,
3814
+ },
3815
+ borderRadius: {
3816
+ label: 'Border Radius',
3817
+ description: 'Corner rounding amount.',
3818
+ category: 'style',
3819
+ specialCategory: null,
3820
+ sort: 21,
3821
+ preferredScale: 's',
3787
3822
  },
3823
+ },
3824
+ attributes: {
3788
3825
  adjustsFontSizeToFit: {
3789
3826
  label: 'Adjust Font Size To Fit',
3790
3827
  description:
@@ -4091,26 +4128,12 @@ export const patterns = [
4091
4128
  sort: 4,
4092
4129
  },
4093
4130
  },
4094
- styles: {
4095
- backgroundColor: {
4096
- label: 'Background Color',
4097
- description: 'Background fill color.',
4098
- category: 'style',
4099
- specialCategory: null,
4100
- sort: 20,
4101
- },
4102
- borderRadius: {
4103
- label: 'Border Radius',
4104
- description: 'Corner rounding amount.',
4105
- category: 'style',
4106
- specialCategory: null,
4107
- sort: 21,
4108
- preferredScale: 's',
4109
- },
4110
- },
4111
4131
  },
4112
4132
  defaults: {
4113
4133
  style: {
4134
+ color: 'THEME_COLORS.TEXT',
4135
+ fontSize: '16@fs',
4136
+ fontWeight: '400',
4114
4137
  flexDirection: 'column',
4115
4138
  position: 'relative',
4116
4139
  zIndex: 1,
@@ -4176,14 +4199,13 @@ export const patterns = [
4176
4199
  left: 'size',
4177
4200
  right: 'size',
4178
4201
  zIndex: 'number',
4202
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
4179
4203
  },
4180
4204
  title: 'title',
4181
4205
  description: 'description',
4182
4206
  src: 'string',
4183
- width: 'size',
4184
- height: 'size',
4185
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
4186
4207
  },
4208
+ defaults: { resizeMode: 'contain' },
4187
4209
  },
4188
4210
  meta: {
4189
4211
  desiredParent: ['all'],
@@ -4231,6 +4253,13 @@ export const patterns = [
4231
4253
  sort: 21,
4232
4254
  preferredScale: 's',
4233
4255
  },
4256
+ resizeMode: {
4257
+ label: 'Resize Mode',
4258
+ description: 'How the image fits the frame.',
4259
+ category: 'style',
4260
+ specialCategory: null,
4261
+ sort: 4,
4262
+ },
4234
4263
  },
4235
4264
  attributes: {
4236
4265
  scrollable: {
@@ -4390,10 +4419,11 @@ export const patterns = [
4390
4419
  },
4391
4420
  width: {
4392
4421
  label: 'Width',
4393
- description: 'Image width.',
4422
+ description: 'Fixed width value.',
4394
4423
  category: 'container',
4395
- specialCategory: null,
4396
- sort: 2,
4424
+ specialCategory: 'size',
4425
+ sort: 0,
4426
+ preferredScale: 's',
4397
4427
  },
4398
4428
  minWidth: {
4399
4429
  label: 'Min Width',
@@ -4413,10 +4443,11 @@ export const patterns = [
4413
4443
  },
4414
4444
  height: {
4415
4445
  label: 'Height',
4416
- description: 'Image height.',
4446
+ description: 'Fixed height value.',
4417
4447
  category: 'container',
4418
- specialCategory: null,
4448
+ specialCategory: 'size',
4419
4449
  sort: 3,
4450
+ preferredScale: 'vs',
4420
4451
  },
4421
4452
  minHeight: {
4422
4453
  label: 'Min Height',
@@ -4494,16 +4525,10 @@ export const patterns = [
4494
4525
  specialCategory: null,
4495
4526
  sort: 1,
4496
4527
  },
4497
- resizeMode: {
4498
- label: 'Resize Mode',
4499
- description: 'How the image fits the frame.',
4500
- category: 'other',
4501
- specialCategory: null,
4502
- sort: 4,
4503
- },
4504
4528
  },
4505
4529
  },
4506
4530
  defaults: {
4531
+ resizeMode: 'contain',
4507
4532
  style: {
4508
4533
  flexDirection: 'column',
4509
4534
  position: 'relative',
@@ -4911,8 +4936,8 @@ export const patterns = [
4911
4936
  {
4912
4937
  schemaVersion: 2,
4913
4938
  pattern: {
4914
- type: 'Onboard',
4915
- children: 'node',
4939
+ type: 'NavigationBarColor',
4940
+ children: 'never',
4916
4941
  attributes: {
4917
4942
  scrollable: 'boolean',
4918
4943
  style: {
@@ -4969,9 +4994,9 @@ export const patterns = [
4969
4994
  },
4970
4995
  },
4971
4996
  meta: {
4972
- desiredParent: ['=OnboardProvider'],
4973
- label: 'Onboard',
4974
- description: 'Wraps the onboarding flow.',
4997
+ desiredParent: ['all'],
4998
+ label: 'Navigation Bar Color',
4999
+ description: 'Sets the OS navigation bar background color.',
4975
5000
  specialCategories: {
4976
5001
  padding: {
4977
5002
  label: 'Padding',
@@ -5001,10 +5026,10 @@ export const patterns = [
5001
5026
  styles: {
5002
5027
  backgroundColor: {
5003
5028
  label: 'Background Color',
5004
- description: 'Background fill color.',
5029
+ description: 'Navigation bar background color.',
5005
5030
  category: 'style',
5006
5031
  specialCategory: null,
5007
- sort: 20,
5032
+ sort: 1,
5008
5033
  },
5009
5034
  borderRadius: {
5010
5035
  label: 'Border Radius',
@@ -5273,16 +5298,16 @@ export const patterns = [
5273
5298
  sort: 26,
5274
5299
  },
5275
5300
  },
5276
- desiredChildren: ['=OnboardItem'],
5277
5301
  },
5278
5302
  defaults: {
5279
5303
  style: {
5280
- flexDirection: 'row',
5304
+ flexDirection: 'column',
5281
5305
  position: 'relative',
5282
5306
  zIndex: 1,
5283
5307
  alignSelf: 'flex-start',
5284
5308
  flexGrow: 0,
5285
5309
  flexShrink: 0,
5310
+ backgroundColor: 'THEME_COLORS.BACKGROUND',
5286
5311
  },
5287
5312
  },
5288
5313
  types: {},
@@ -5290,8 +5315,8 @@ export const patterns = [
5290
5315
  {
5291
5316
  schemaVersion: 2,
5292
5317
  pattern: {
5293
- type: 'OnboardButton',
5294
- children: 'never',
5318
+ type: 'Onboard',
5319
+ children: 'node',
5295
5320
  attributes: {
5296
5321
  scrollable: 'boolean',
5297
5322
  style: {
@@ -5345,26 +5370,12 @@ export const patterns = [
5345
5370
  },
5346
5371
  title: 'title',
5347
5372
  description: 'description',
5348
- labelKey: 'string',
5349
- button_text_color: 'color',
5350
- animation: [
5351
- 'simple-animation',
5352
- 'line-animation',
5353
- 'blur',
5354
- 'blur-animation',
5355
- 'blur-line-animation',
5356
- ],
5357
- animation_color: 'color',
5358
- button_background_color: 'color',
5359
- flex: 'number',
5360
- events: 'EventObject[]',
5361
5373
  },
5362
- defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5363
5374
  },
5364
5375
  meta: {
5365
- desiredParent: ['=OnboardButtons'],
5366
- label: 'Onboard Button',
5367
- description: 'Single action button for onboarding.',
5376
+ desiredParent: ['=OnboardProvider'],
5377
+ label: 'Onboard',
5378
+ description: 'Wraps the onboarding flow.',
5368
5379
  specialCategories: {
5369
5380
  padding: {
5370
5381
  label: 'Padding',
@@ -5407,34 +5418,6 @@ export const patterns = [
5407
5418
  sort: 21,
5408
5419
  preferredScale: 's',
5409
5420
  },
5410
- button_text_color: {
5411
- label: 'Button Text Color',
5412
- description: 'Text color of the button.',
5413
- category: 'style',
5414
- specialCategory: null,
5415
- sort: 2,
5416
- },
5417
- animation: {
5418
- label: 'Animation',
5419
- description: 'Animation style for the button.',
5420
- category: 'style',
5421
- specialCategory: null,
5422
- sort: 3,
5423
- },
5424
- animation_color: {
5425
- label: 'Animation Color',
5426
- description: 'Color used by the animation.',
5427
- category: 'style',
5428
- specialCategory: null,
5429
- sort: 4,
5430
- },
5431
- button_background_color: {
5432
- label: 'Button Background Color',
5433
- description: 'Background color of the button.',
5434
- category: 'style',
5435
- specialCategory: null,
5436
- sort: 5,
5437
- },
5438
5421
  },
5439
5422
  attributes: {
5440
5423
  scrollable: {
@@ -5642,9 +5625,9 @@ export const patterns = [
5642
5625
  },
5643
5626
  flex: {
5644
5627
  label: 'Flex',
5645
- description: 'Flex grow value in layout.',
5628
+ description: 'Flex grow factor (e.g. 1 fills available space).',
5646
5629
  category: 'container',
5647
- specialCategory: null,
5630
+ specialCategory: 'size',
5648
5631
  sort: 6,
5649
5632
  },
5650
5633
  position: {
@@ -5693,48 +5676,26 @@ export const patterns = [
5693
5676
  specialCategory: null,
5694
5677
  sort: 26,
5695
5678
  },
5696
- labelKey: {
5697
- label: 'Label Key',
5698
- description: 'Localization key for the button text.',
5699
- category: 'other',
5700
- specialCategory: null,
5701
- sort: 1,
5702
- },
5703
- events: {
5704
- label: 'Events',
5705
- description: 'List of events fired by the button.',
5706
- category: 'other',
5707
- specialCategory: null,
5708
- sort: 7,
5709
- },
5710
5679
  },
5680
+ desiredChildren: ['=OnboardItem'],
5711
5681
  },
5712
5682
  defaults: {
5713
5683
  style: {
5714
- flexDirection: 'column',
5684
+ flexDirection: 'row',
5715
5685
  position: 'relative',
5716
5686
  zIndex: 1,
5717
5687
  alignSelf: 'flex-start',
5718
5688
  flexGrow: 0,
5719
5689
  flexShrink: 0,
5720
- height: '40@vs',
5721
- borderRadius: '12@s',
5722
- },
5723
- },
5724
- types: {
5725
- EventObject: {
5726
- type: ['Permission', 'Navigate'],
5727
- permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
5728
- navigate_to: 'string',
5729
- targetIndex: 'number',
5730
5690
  },
5731
5691
  },
5692
+ types: {},
5732
5693
  },
5733
5694
  {
5734
5695
  schemaVersion: 2,
5735
5696
  pattern: {
5736
- type: 'OnboardButtons',
5737
- children: 'node',
5697
+ type: 'OnboardButton',
5698
+ children: 'never',
5738
5699
  attributes: {
5739
5700
  scrollable: 'boolean',
5740
5701
  style: {
@@ -5788,30 +5749,26 @@ export const patterns = [
5788
5749
  },
5789
5750
  title: 'title',
5790
5751
  description: 'description',
5791
- buttonType: ['previous_button', 'next_button', 'skip_button'],
5792
- skipNumber: 'number',
5793
- buttons_direction: ['row', 'column'],
5794
- forIndex: 'number',
5795
- seperatorColor: 'color',
5796
- condition: ['carousel-index'],
5797
- conditionVariable: 'number',
5798
- },
5799
- defaults: {
5800
- style: {
5801
- display: 'flex',
5802
- flexDirection: 'row',
5803
- gap: 12,
5804
- alignItems: 'center',
5805
- justifyContent: 'center',
5806
- marginVertical: '12@vs',
5807
- marginHorizontal: '24@s',
5808
- },
5752
+ labelKey: 'string',
5753
+ button_text_color: 'color',
5754
+ animation: [
5755
+ 'simple-animation',
5756
+ 'line-animation',
5757
+ 'blur',
5758
+ 'blur-animation',
5759
+ 'blur-line-animation',
5760
+ ],
5761
+ animation_color: 'color',
5762
+ button_background_color: 'color',
5763
+ flex: 'number',
5764
+ events: 'EventObject[]',
5809
5765
  },
5766
+ defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5810
5767
  },
5811
5768
  meta: {
5812
- desiredParent: ['=OnboardItem'],
5813
- label: 'Onboard Buttons',
5814
- description: 'Wrapper for onboarding button set.',
5769
+ desiredParent: ['=OnboardButtons'],
5770
+ label: 'Onboard Button',
5771
+ description: 'Single action button for onboarding.',
5815
5772
  specialCategories: {
5816
5773
  padding: {
5817
5774
  label: 'Padding',
@@ -5854,9 +5811,30 @@ export const patterns = [
5854
5811
  sort: 21,
5855
5812
  preferredScale: 's',
5856
5813
  },
5857
- seperatorColor: {
5858
- label: 'Seperator Color',
5859
- description: 'Color of the divider line.',
5814
+ button_text_color: {
5815
+ label: 'Button Text Color',
5816
+ description: 'Text color of the button.',
5817
+ category: 'style',
5818
+ specialCategory: null,
5819
+ sort: 2,
5820
+ },
5821
+ animation: {
5822
+ label: 'Animation',
5823
+ description: 'Animation style for the button.',
5824
+ category: 'style',
5825
+ specialCategory: null,
5826
+ sort: 3,
5827
+ },
5828
+ animation_color: {
5829
+ label: 'Animation Color',
5830
+ description: 'Color used by the animation.',
5831
+ category: 'style',
5832
+ specialCategory: null,
5833
+ sort: 4,
5834
+ },
5835
+ button_background_color: {
5836
+ label: 'Button Background Color',
5837
+ description: 'Background color of the button.',
5860
5838
  category: 'style',
5861
5839
  specialCategory: null,
5862
5840
  sort: 5,
@@ -6068,9 +6046,9 @@ export const patterns = [
6068
6046
  },
6069
6047
  flex: {
6070
6048
  label: 'Flex',
6071
- description: 'Flex grow factor (e.g. 1 fills available space).',
6049
+ description: 'Flex grow value in layout.',
6072
6050
  category: 'container',
6073
- specialCategory: 'size',
6051
+ specialCategory: null,
6074
6052
  sort: 6,
6075
6053
  },
6076
6054
  position: {
@@ -6119,44 +6097,16 @@ export const patterns = [
6119
6097
  specialCategory: null,
6120
6098
  sort: 26,
6121
6099
  },
6122
- buttonType: {
6123
- label: 'Button Type',
6124
- description: 'Which onboard button to show.',
6100
+ labelKey: {
6101
+ label: 'Label Key',
6102
+ description: 'Localization key for the button text.',
6125
6103
  category: 'other',
6126
6104
  specialCategory: null,
6127
6105
  sort: 1,
6128
6106
  },
6129
- skipNumber: {
6130
- label: 'Skip Number',
6131
- description: 'Slide index to skip to.',
6132
- category: 'other',
6133
- specialCategory: null,
6134
- sort: 2,
6135
- },
6136
- buttons_direction: {
6137
- label: 'Buttons Direction',
6138
- description: 'Direction to lay out buttons.',
6139
- category: 'container',
6140
- specialCategory: null,
6141
- sort: 3,
6142
- },
6143
- forIndex: {
6144
- label: 'For Index',
6145
- description: 'Show only for this slide index.',
6146
- category: 'other',
6147
- specialCategory: null,
6148
- sort: 4,
6149
- },
6150
- condition: {
6151
- label: 'Condition',
6152
- description: 'Built-in condition to check.',
6153
- category: 'other',
6154
- specialCategory: null,
6155
- sort: 6,
6156
- },
6157
- conditionVariable: {
6158
- label: 'Condition Variable',
6159
- description: 'Value used when checking the condition.',
6107
+ events: {
6108
+ label: 'Events',
6109
+ description: 'List of events fired by the button.',
6160
6110
  category: 'other',
6161
6111
  specialCategory: null,
6162
6112
  sort: 7,
@@ -6165,27 +6115,30 @@ export const patterns = [
6165
6115
  },
6166
6116
  defaults: {
6167
6117
  style: {
6168
- flexDirection: 'row',
6118
+ flexDirection: 'column',
6169
6119
  position: 'relative',
6170
6120
  zIndex: 1,
6171
6121
  alignSelf: 'flex-start',
6172
6122
  flexGrow: 0,
6173
6123
  flexShrink: 0,
6174
- display: 'flex',
6175
- gap: 12,
6176
- alignItems: 'center',
6177
- justifyContent: 'center',
6178
- marginVertical: '12@vs',
6179
- marginHorizontal: '24@s',
6124
+ height: '40@vs',
6125
+ borderRadius: '12@s',
6126
+ },
6127
+ },
6128
+ types: {
6129
+ EventObject: {
6130
+ type: ['Permission', 'Navigate'],
6131
+ permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
6132
+ navigate_to: 'string',
6133
+ targetIndex: 'number',
6180
6134
  },
6181
6135
  },
6182
- types: {},
6183
6136
  },
6184
6137
  {
6185
6138
  schemaVersion: 2,
6186
6139
  pattern: {
6187
- type: 'OnboardDot',
6188
- children: 'never',
6140
+ type: 'OnboardButtons',
6141
+ children: 'node',
6189
6142
  attributes: {
6190
6143
  scrollable: 'boolean',
6191
6144
  style: {
@@ -6239,27 +6192,30 @@ export const patterns = [
6239
6192
  },
6240
6193
  title: 'title',
6241
6194
  description: 'description',
6242
- dotType: [
6243
- 'expanding_dot',
6244
- 'normal_dot',
6245
- 'scaling_dot',
6246
- 'sliding_border',
6247
- 'sliding_dot',
6248
- 'liquid_like',
6249
- ],
6250
- dot_thickness: 'size',
6251
- inactive_dot_opacity: 'number',
6252
- inactive_dot_color: 'color',
6253
- active_dot_color: 'color',
6254
- flexDirection: 'never',
6255
- alignItems: 'never',
6256
- justifyContent: 'never',
6195
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
6196
+ skipNumber: 'number',
6197
+ buttons_direction: ['row', 'column'],
6198
+ forIndex: 'number',
6199
+ seperatorColor: 'color',
6200
+ condition: ['carousel-index'],
6201
+ conditionVariable: 'number',
6202
+ },
6203
+ defaults: {
6204
+ style: {
6205
+ display: 'flex',
6206
+ flexDirection: 'row',
6207
+ gap: 12,
6208
+ alignItems: 'center',
6209
+ justifyContent: 'center',
6210
+ marginVertical: '12@vs',
6211
+ marginHorizontal: '24@s',
6212
+ },
6257
6213
  },
6258
6214
  },
6259
6215
  meta: {
6260
- desiredParent: ['>OnboardProvider'],
6261
- label: 'Onboard Dot',
6262
- description: 'Renders onboarding progress dots.',
6216
+ desiredParent: ['=OnboardItem'],
6217
+ label: 'Onboard Buttons',
6218
+ description: 'Wrapper for onboarding button set.',
6263
6219
  specialCategories: {
6264
6220
  padding: {
6265
6221
  label: 'Padding',
@@ -6302,43 +6258,937 @@ export const patterns = [
6302
6258
  sort: 21,
6303
6259
  preferredScale: 's',
6304
6260
  },
6305
- dotType: {
6306
- label: 'Dot Type',
6307
- description: 'Dot animation style.',
6308
- category: 'style',
6309
- specialCategory: null,
6261
+ seperatorColor: {
6262
+ label: 'Seperator Color',
6263
+ description: 'Color of the divider line.',
6264
+ category: 'style',
6265
+ specialCategory: null,
6266
+ sort: 5,
6267
+ },
6268
+ },
6269
+ attributes: {
6270
+ scrollable: {
6271
+ label: 'Scrollable',
6272
+ description: 'Turns scroll interaction on.',
6273
+ category: 'container',
6274
+ specialCategory: null,
6275
+ sort: -1,
6276
+ },
6277
+ flexDirection: {
6278
+ label: 'Flex Direction',
6279
+ description: 'Sets row or column layout.',
6280
+ category: 'container',
6281
+ specialCategory: null,
6282
+ sort: 4,
6283
+ },
6284
+ flexWrap: {
6285
+ label: 'Flex Wrap',
6286
+ description: 'Controls whether flex items wrap to multiple lines.',
6287
+ category: 'container',
6288
+ specialCategory: null,
6289
+ sort: 4.5,
6290
+ },
6291
+ alignItems: {
6292
+ label: 'Align Items',
6293
+ description: 'Controls cross-axis alignment.',
6294
+ category: 'container',
6295
+ specialCategory: null,
6296
+ sort: 3,
6297
+ },
6298
+ justifyContent: {
6299
+ label: 'Justify Content',
6300
+ description: 'Controls main-axis alignment.',
6301
+ category: 'container',
6302
+ specialCategory: null,
6303
+ sort: 5,
6304
+ },
6305
+ gap: {
6306
+ label: 'Gap',
6307
+ description: 'Space between children.',
6308
+ category: 'container',
6309
+ specialCategory: null,
6310
+ sort: 10,
6311
+ preferredScale: 's',
6312
+ },
6313
+ padding: {
6314
+ label: 'Padding',
6315
+ description: 'Uniform padding on all sides.',
6316
+ category: 'container',
6317
+ specialCategory: 'padding',
6318
+ sort: 6,
6319
+ preferredScale: 's',
6320
+ },
6321
+ paddingHorizontal: {
6322
+ label: 'Padding Horizontal',
6323
+ description: 'Left and right padding.',
6324
+ category: 'container',
6325
+ specialCategory: 'padding',
6326
+ sort: 7,
6327
+ preferredScale: 's',
6328
+ },
6329
+ paddingVertical: {
6330
+ label: 'Padding Vertical',
6331
+ description: 'Top and bottom padding.',
6332
+ category: 'container',
6333
+ specialCategory: 'padding',
6334
+ sort: 8,
6335
+ preferredScale: 'vs',
6336
+ },
6337
+ paddingTop: {
6338
+ label: 'Padding Top',
6339
+ description: 'Top padding only.',
6340
+ category: 'container',
6341
+ specialCategory: 'padding',
6342
+ sort: 9,
6343
+ preferredScale: 'vs',
6344
+ },
6345
+ paddingBottom: {
6346
+ label: 'Padding Bottom',
6347
+ description: 'Bottom padding only.',
6348
+ category: 'container',
6349
+ specialCategory: 'padding',
6350
+ sort: 10,
6351
+ preferredScale: 'vs',
6352
+ },
6353
+ paddingLeft: {
6354
+ label: 'Padding Left',
6355
+ description: 'Left padding only.',
6356
+ category: 'container',
6357
+ specialCategory: 'padding',
6358
+ sort: 11,
6359
+ preferredScale: 's',
6360
+ },
6361
+ paddingRight: {
6362
+ label: 'Padding Right',
6363
+ description: 'Right padding only.',
6364
+ category: 'container',
6365
+ specialCategory: 'padding',
6366
+ sort: 12,
6367
+ preferredScale: 's',
6368
+ },
6369
+ margin: {
6370
+ label: 'Margin',
6371
+ description: 'Uniform margin on all sides.',
6372
+ category: 'container',
6373
+ specialCategory: 'margin',
6374
+ sort: 13,
6375
+ preferredScale: 's',
6376
+ },
6377
+ marginHorizontal: {
6378
+ label: 'Margin Horizontal',
6379
+ description: 'Left and right margin.',
6380
+ category: 'container',
6381
+ specialCategory: 'margin',
6382
+ sort: 14,
6383
+ preferredScale: 's',
6384
+ },
6385
+ marginVertical: {
6386
+ label: 'Margin Vertical',
6387
+ description: 'Top and bottom margin.',
6388
+ category: 'container',
6389
+ specialCategory: 'margin',
6390
+ sort: 15,
6391
+ preferredScale: 'vs',
6392
+ },
6393
+ marginTop: {
6394
+ label: 'Margin Top',
6395
+ description: 'Top margin only.',
6396
+ category: 'container',
6397
+ specialCategory: 'margin',
6398
+ sort: 16,
6399
+ preferredScale: 'vs',
6400
+ },
6401
+ marginBottom: {
6402
+ label: 'Margin Bottom',
6403
+ description: 'Bottom margin only.',
6404
+ category: 'container',
6405
+ specialCategory: 'margin',
6406
+ sort: 17,
6407
+ preferredScale: 'vs',
6408
+ },
6409
+ marginLeft: {
6410
+ label: 'Margin Left',
6411
+ description: 'Left margin only.',
6412
+ category: 'container',
6413
+ specialCategory: 'margin',
6414
+ sort: 18,
6415
+ preferredScale: 's',
6416
+ },
6417
+ marginRight: {
6418
+ label: 'Margin Right',
6419
+ description: 'Right margin only.',
6420
+ category: 'container',
6421
+ specialCategory: 'margin',
6422
+ sort: 19,
6423
+ preferredScale: 's',
6424
+ },
6425
+ width: {
6426
+ label: 'Width',
6427
+ description: 'Fixed width value.',
6428
+ category: 'container',
6429
+ specialCategory: 'size',
6430
+ sort: 0,
6431
+ preferredScale: 's',
6432
+ },
6433
+ minWidth: {
6434
+ label: 'Min Width',
6435
+ description: 'Minimum width constraint.',
6436
+ category: 'container',
6437
+ specialCategory: 'size',
6438
+ sort: 1,
6439
+ preferredScale: 's',
6440
+ },
6441
+ maxWidth: {
6442
+ label: 'Max Width',
6443
+ description: 'Maximum width constraint.',
6444
+ category: 'container',
6445
+ specialCategory: 'size',
6446
+ sort: 2,
6447
+ preferredScale: 's',
6448
+ },
6449
+ height: {
6450
+ label: 'Height',
6451
+ description: 'Fixed height value.',
6452
+ category: 'container',
6453
+ specialCategory: 'size',
6454
+ sort: 3,
6455
+ preferredScale: 'vs',
6456
+ },
6457
+ minHeight: {
6458
+ label: 'Min Height',
6459
+ description: 'Minimum height constraint.',
6460
+ category: 'container',
6461
+ specialCategory: 'size',
6462
+ sort: 4,
6463
+ preferredScale: 'vs',
6464
+ },
6465
+ maxHeight: {
6466
+ label: 'Max Height',
6467
+ description: 'Maximum height constraint.',
6468
+ category: 'container',
6469
+ specialCategory: 'size',
6470
+ sort: 5,
6471
+ preferredScale: 'vs',
6472
+ },
6473
+ flex: {
6474
+ label: 'Flex',
6475
+ description: 'Flex grow factor (e.g. 1 fills available space).',
6476
+ category: 'container',
6477
+ specialCategory: 'size',
6478
+ sort: 6,
6479
+ },
6480
+ position: {
6481
+ label: 'Position',
6482
+ description: 'Sets layout positioning mode.',
6483
+ category: 'container',
6484
+ specialCategory: null,
6485
+ sort: 3,
6486
+ },
6487
+ top: {
6488
+ label: 'Top',
6489
+ description: 'Offset from the top edge.',
6490
+ category: 'container',
6491
+ specialCategory: 'offset',
6492
+ sort: 22,
6493
+ preferredScale: 'vs',
6494
+ },
6495
+ bottom: {
6496
+ label: 'Bottom',
6497
+ description: 'Offset from the bottom edge.',
6498
+ category: 'container',
6499
+ specialCategory: 'offset',
6500
+ sort: 23,
6501
+ preferredScale: 'vs',
6502
+ },
6503
+ left: {
6504
+ label: 'Left',
6505
+ description: 'Offset from the left edge.',
6506
+ category: 'container',
6507
+ specialCategory: 'offset',
6508
+ sort: 24,
6509
+ preferredScale: 's',
6510
+ },
6511
+ right: {
6512
+ label: 'Right',
6513
+ description: 'Offset from the right edge.',
6514
+ category: 'container',
6515
+ specialCategory: 'offset',
6516
+ sort: 25,
6517
+ preferredScale: 's',
6518
+ },
6519
+ zIndex: {
6520
+ label: 'Z-Index',
6521
+ description: 'Controls stacking order.',
6522
+ category: 'container',
6523
+ specialCategory: null,
6524
+ sort: 26,
6525
+ },
6526
+ buttonType: {
6527
+ label: 'Button Type',
6528
+ description: 'Which onboard button to show.',
6529
+ category: 'other',
6530
+ specialCategory: null,
6531
+ sort: 1,
6532
+ },
6533
+ skipNumber: {
6534
+ label: 'Skip Number',
6535
+ description: 'Slide index to skip to.',
6536
+ category: 'other',
6537
+ specialCategory: null,
6538
+ sort: 2,
6539
+ },
6540
+ buttons_direction: {
6541
+ label: 'Buttons Direction',
6542
+ description: 'Direction to lay out buttons.',
6543
+ category: 'container',
6544
+ specialCategory: null,
6545
+ sort: 3,
6546
+ },
6547
+ forIndex: {
6548
+ label: 'For Index',
6549
+ description: 'Show only for this slide index.',
6550
+ category: 'other',
6551
+ specialCategory: null,
6552
+ sort: 4,
6553
+ },
6554
+ condition: {
6555
+ label: 'Condition',
6556
+ description: 'Built-in condition to check.',
6557
+ category: 'other',
6558
+ specialCategory: null,
6559
+ sort: 6,
6560
+ },
6561
+ conditionVariable: {
6562
+ label: 'Condition Variable',
6563
+ description: 'Value used when checking the condition.',
6564
+ category: 'other',
6565
+ specialCategory: null,
6566
+ sort: 7,
6567
+ },
6568
+ },
6569
+ },
6570
+ defaults: {
6571
+ style: {
6572
+ flexDirection: 'row',
6573
+ position: 'relative',
6574
+ zIndex: 1,
6575
+ alignSelf: 'flex-start',
6576
+ flexGrow: 0,
6577
+ flexShrink: 0,
6578
+ display: 'flex',
6579
+ gap: 12,
6580
+ alignItems: 'center',
6581
+ justifyContent: 'center',
6582
+ marginVertical: '12@vs',
6583
+ marginHorizontal: '24@s',
6584
+ },
6585
+ },
6586
+ types: {},
6587
+ },
6588
+ {
6589
+ schemaVersion: 2,
6590
+ pattern: {
6591
+ type: 'OnboardDot',
6592
+ children: 'never',
6593
+ attributes: {
6594
+ scrollable: 'boolean',
6595
+ style: {
6596
+ flexDirection: ['row', 'column'],
6597
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6598
+ alignItems: [
6599
+ 'flex-start',
6600
+ 'center',
6601
+ 'flex-end',
6602
+ 'stretch',
6603
+ 'baseline',
6604
+ ],
6605
+ justifyContent: [
6606
+ 'flex-start',
6607
+ 'center',
6608
+ 'flex-end',
6609
+ 'space-between',
6610
+ 'space-around',
6611
+ 'space-evenly',
6612
+ ],
6613
+ gap: 'size',
6614
+ padding: 'size',
6615
+ paddingHorizontal: 'size',
6616
+ paddingVertical: 'size',
6617
+ paddingTop: 'size',
6618
+ paddingBottom: 'size',
6619
+ paddingLeft: 'size',
6620
+ paddingRight: 'size',
6621
+ margin: 'size',
6622
+ marginHorizontal: 'size',
6623
+ marginVertical: 'size',
6624
+ marginTop: 'size',
6625
+ marginBottom: 'size',
6626
+ marginLeft: 'size',
6627
+ marginRight: 'size',
6628
+ backgroundColor: 'color',
6629
+ borderRadius: 'size',
6630
+ width: 'size',
6631
+ minWidth: 'size',
6632
+ maxWidth: 'size',
6633
+ height: 'size',
6634
+ minHeight: 'size',
6635
+ maxHeight: 'size',
6636
+ flex: 'number',
6637
+ position: ['relative', 'absolute'],
6638
+ top: 'size',
6639
+ bottom: 'size',
6640
+ left: 'size',
6641
+ right: 'size',
6642
+ zIndex: 'number',
6643
+ },
6644
+ title: 'title',
6645
+ description: 'description',
6646
+ dotType: [
6647
+ 'expanding_dot',
6648
+ 'normal_dot',
6649
+ 'scaling_dot',
6650
+ 'sliding_border',
6651
+ 'sliding_dot',
6652
+ 'liquid_like',
6653
+ ],
6654
+ dot_thickness: 'size',
6655
+ inactive_dot_opacity: 'number',
6656
+ inactive_dot_color: 'color',
6657
+ active_dot_color: 'color',
6658
+ flexDirection: 'never',
6659
+ alignItems: 'never',
6660
+ justifyContent: 'never',
6661
+ },
6662
+ },
6663
+ meta: {
6664
+ desiredParent: ['>OnboardProvider'],
6665
+ label: 'Onboard Dot',
6666
+ description: 'Renders onboarding progress dots.',
6667
+ specialCategories: {
6668
+ padding: {
6669
+ label: 'Padding',
6670
+ description: 'Uniform padding on all sides.',
6671
+ category: 'container',
6672
+ sort: 1,
6673
+ },
6674
+ margin: {
6675
+ label: 'Margin',
6676
+ description: 'Uniform margin on all sides.',
6677
+ category: 'container',
6678
+ sort: 2,
6679
+ },
6680
+ size: {
6681
+ label: 'Size',
6682
+ description: 'Fixed dimensions.',
6683
+ category: 'container',
6684
+ sort: 3,
6685
+ },
6686
+ offset: {
6687
+ label: 'Offset',
6688
+ description: 'Absolute positioning offsets.',
6689
+ category: 'container',
6690
+ sort: 4,
6691
+ },
6692
+ },
6693
+ styles: {
6694
+ backgroundColor: {
6695
+ label: 'Background Color',
6696
+ description: 'Background fill color.',
6697
+ category: 'style',
6698
+ specialCategory: null,
6699
+ sort: 20,
6700
+ },
6701
+ borderRadius: {
6702
+ label: 'Border Radius',
6703
+ description: 'Corner rounding amount.',
6704
+ category: 'style',
6705
+ specialCategory: null,
6706
+ sort: 21,
6707
+ preferredScale: 's',
6708
+ },
6709
+ dotType: {
6710
+ label: 'Dot Type',
6711
+ description: 'Dot animation style.',
6712
+ category: 'style',
6713
+ specialCategory: null,
6714
+ sort: 1,
6715
+ },
6716
+ inactive_dot_opacity: {
6717
+ label: 'Inactive Dot Opacity',
6718
+ description: 'Opacity for inactive dots.',
6719
+ category: 'style',
6720
+ specialCategory: null,
6721
+ sort: 3,
6722
+ },
6723
+ inactive_dot_color: {
6724
+ label: 'Inactive Dot Color',
6725
+ description: 'Color of inactive dots.',
6726
+ category: 'style',
6727
+ specialCategory: null,
6728
+ sort: 4,
6729
+ },
6730
+ dot_thickness: {
6731
+ label: 'Dot Thickness',
6732
+ description: 'Dot size/diameter.',
6733
+ category: 'style',
6734
+ specialCategory: null,
6735
+ sort: 2,
6736
+ },
6737
+ active_dot_color: {
6738
+ label: 'Active Dot Color',
6739
+ description: 'Color of the active dot.',
6740
+ category: 'style',
6741
+ specialCategory: null,
6742
+ sort: 5,
6743
+ },
6744
+ },
6745
+ attributes: {
6746
+ scrollable: {
6747
+ label: 'Scrollable',
6748
+ description: 'Turns scroll interaction on.',
6749
+ category: 'container',
6750
+ specialCategory: null,
6751
+ sort: -1,
6752
+ },
6753
+ flexDirection: {
6754
+ label: 'Flex Direction',
6755
+ description: 'Sets row or column layout.',
6756
+ category: 'container',
6757
+ specialCategory: null,
6758
+ sort: 4,
6759
+ },
6760
+ flexWrap: {
6761
+ label: 'Flex Wrap',
6762
+ description: 'Controls whether flex items wrap to multiple lines.',
6763
+ category: 'container',
6764
+ specialCategory: null,
6765
+ sort: 4.5,
6766
+ },
6767
+ alignItems: {
6768
+ label: 'Align Items',
6769
+ description: 'Controls cross-axis alignment.',
6770
+ category: 'container',
6771
+ specialCategory: null,
6772
+ sort: 3,
6773
+ },
6774
+ justifyContent: {
6775
+ label: 'Justify Content',
6776
+ description: 'Controls main-axis alignment.',
6777
+ category: 'container',
6778
+ specialCategory: null,
6779
+ sort: 5,
6780
+ },
6781
+ gap: {
6782
+ label: 'Gap',
6783
+ description: 'Space between children.',
6784
+ category: 'container',
6785
+ specialCategory: null,
6786
+ sort: 10,
6787
+ preferredScale: 's',
6788
+ },
6789
+ padding: {
6790
+ label: 'Padding',
6791
+ description: 'Uniform padding on all sides.',
6792
+ category: 'container',
6793
+ specialCategory: 'padding',
6794
+ sort: 6,
6795
+ preferredScale: 's',
6796
+ },
6797
+ paddingHorizontal: {
6798
+ label: 'Padding Horizontal',
6799
+ description: 'Left and right padding.',
6800
+ category: 'container',
6801
+ specialCategory: 'padding',
6802
+ sort: 7,
6803
+ preferredScale: 's',
6804
+ },
6805
+ paddingVertical: {
6806
+ label: 'Padding Vertical',
6807
+ description: 'Top and bottom padding.',
6808
+ category: 'container',
6809
+ specialCategory: 'padding',
6810
+ sort: 8,
6811
+ preferredScale: 'vs',
6812
+ },
6813
+ paddingTop: {
6814
+ label: 'Padding Top',
6815
+ description: 'Top padding only.',
6816
+ category: 'container',
6817
+ specialCategory: 'padding',
6818
+ sort: 9,
6819
+ preferredScale: 'vs',
6820
+ },
6821
+ paddingBottom: {
6822
+ label: 'Padding Bottom',
6823
+ description: 'Bottom padding only.',
6824
+ category: 'container',
6825
+ specialCategory: 'padding',
6826
+ sort: 10,
6827
+ preferredScale: 'vs',
6828
+ },
6829
+ paddingLeft: {
6830
+ label: 'Padding Left',
6831
+ description: 'Left padding only.',
6832
+ category: 'container',
6833
+ specialCategory: 'padding',
6834
+ sort: 11,
6835
+ preferredScale: 's',
6836
+ },
6837
+ paddingRight: {
6838
+ label: 'Padding Right',
6839
+ description: 'Right padding only.',
6840
+ category: 'container',
6841
+ specialCategory: 'padding',
6842
+ sort: 12,
6843
+ preferredScale: 's',
6844
+ },
6845
+ margin: {
6846
+ label: 'Margin',
6847
+ description: 'Uniform margin on all sides.',
6848
+ category: 'container',
6849
+ specialCategory: 'margin',
6850
+ sort: 13,
6851
+ preferredScale: 's',
6852
+ },
6853
+ marginHorizontal: {
6854
+ label: 'Margin Horizontal',
6855
+ description: 'Left and right margin.',
6856
+ category: 'container',
6857
+ specialCategory: 'margin',
6858
+ sort: 14,
6859
+ preferredScale: 's',
6860
+ },
6861
+ marginVertical: {
6862
+ label: 'Margin Vertical',
6863
+ description: 'Top and bottom margin.',
6864
+ category: 'container',
6865
+ specialCategory: 'margin',
6866
+ sort: 15,
6867
+ preferredScale: 'vs',
6868
+ },
6869
+ marginTop: {
6870
+ label: 'Margin Top',
6871
+ description: 'Top margin only.',
6872
+ category: 'container',
6873
+ specialCategory: 'margin',
6874
+ sort: 16,
6875
+ preferredScale: 'vs',
6876
+ },
6877
+ marginBottom: {
6878
+ label: 'Margin Bottom',
6879
+ description: 'Bottom margin only.',
6880
+ category: 'container',
6881
+ specialCategory: 'margin',
6882
+ sort: 17,
6883
+ preferredScale: 'vs',
6884
+ },
6885
+ marginLeft: {
6886
+ label: 'Margin Left',
6887
+ description: 'Left margin only.',
6888
+ category: 'container',
6889
+ specialCategory: 'margin',
6890
+ sort: 18,
6891
+ preferredScale: 's',
6892
+ },
6893
+ marginRight: {
6894
+ label: 'Margin Right',
6895
+ description: 'Right margin only.',
6896
+ category: 'container',
6897
+ specialCategory: 'margin',
6898
+ sort: 19,
6899
+ preferredScale: 's',
6900
+ },
6901
+ width: {
6902
+ label: 'Width',
6903
+ description: 'Fixed width value.',
6904
+ category: 'container',
6905
+ specialCategory: 'size',
6906
+ sort: 0,
6907
+ preferredScale: 's',
6908
+ },
6909
+ minWidth: {
6910
+ label: 'Min Width',
6911
+ description: 'Minimum width constraint.',
6912
+ category: 'container',
6913
+ specialCategory: 'size',
6310
6914
  sort: 1,
6915
+ preferredScale: 's',
6311
6916
  },
6312
- inactive_dot_opacity: {
6313
- label: 'Inactive Dot Opacity',
6314
- description: 'Opacity for inactive dots.',
6917
+ maxWidth: {
6918
+ label: 'Max Width',
6919
+ description: 'Maximum width constraint.',
6920
+ category: 'container',
6921
+ specialCategory: 'size',
6922
+ sort: 2,
6923
+ preferredScale: 's',
6924
+ },
6925
+ height: {
6926
+ label: 'Height',
6927
+ description: 'Fixed height value.',
6928
+ category: 'container',
6929
+ specialCategory: 'size',
6930
+ sort: 3,
6931
+ preferredScale: 'vs',
6932
+ },
6933
+ minHeight: {
6934
+ label: 'Min Height',
6935
+ description: 'Minimum height constraint.',
6936
+ category: 'container',
6937
+ specialCategory: 'size',
6938
+ sort: 4,
6939
+ preferredScale: 'vs',
6940
+ },
6941
+ maxHeight: {
6942
+ label: 'Max Height',
6943
+ description: 'Maximum height constraint.',
6944
+ category: 'container',
6945
+ specialCategory: 'size',
6946
+ sort: 5,
6947
+ preferredScale: 'vs',
6948
+ },
6949
+ flex: {
6950
+ label: 'Flex',
6951
+ description: 'Flex grow factor (e.g. 1 fills available space).',
6952
+ category: 'container',
6953
+ specialCategory: 'size',
6954
+ sort: 6,
6955
+ },
6956
+ position: {
6957
+ label: 'Position',
6958
+ description: 'Sets layout positioning mode.',
6959
+ category: 'container',
6960
+ specialCategory: null,
6961
+ sort: 3,
6962
+ },
6963
+ top: {
6964
+ label: 'Top',
6965
+ description: 'Offset from the top edge.',
6966
+ category: 'container',
6967
+ specialCategory: 'offset',
6968
+ sort: 22,
6969
+ preferredScale: 'vs',
6970
+ },
6971
+ bottom: {
6972
+ label: 'Bottom',
6973
+ description: 'Offset from the bottom edge.',
6974
+ category: 'container',
6975
+ specialCategory: 'offset',
6976
+ sort: 23,
6977
+ preferredScale: 'vs',
6978
+ },
6979
+ left: {
6980
+ label: 'Left',
6981
+ description: 'Offset from the left edge.',
6982
+ category: 'container',
6983
+ specialCategory: 'offset',
6984
+ sort: 24,
6985
+ preferredScale: 's',
6986
+ },
6987
+ right: {
6988
+ label: 'Right',
6989
+ description: 'Offset from the right edge.',
6990
+ category: 'container',
6991
+ specialCategory: 'offset',
6992
+ sort: 25,
6993
+ preferredScale: 's',
6994
+ },
6995
+ zIndex: {
6996
+ label: 'Z-Index',
6997
+ description: 'Controls stacking order.',
6998
+ category: 'container',
6999
+ specialCategory: null,
7000
+ sort: 26,
7001
+ },
7002
+ },
7003
+ },
7004
+ defaults: {
7005
+ style: {
7006
+ flexDirection: 'row',
7007
+ position: 'relative',
7008
+ zIndex: 1,
7009
+ alignSelf: 'flex-start',
7010
+ flexGrow: 0,
7011
+ flexShrink: 0,
7012
+ alignItems: 'center',
7013
+ justifyContent: 'center',
7014
+ gap: '12@s',
7015
+ },
7016
+ dotType: 'expanding_dot',
7017
+ dot_thickness: 10,
7018
+ inactive_dot_opacity: 0.3,
7019
+ active_dot_color: '#007AFF',
7020
+ },
7021
+ types: {},
7022
+ },
7023
+ {
7024
+ schemaVersion: 2,
7025
+ pattern: {
7026
+ type: 'OnboardFooter',
7027
+ children: 'node',
7028
+ attributes: {
7029
+ title: 'title',
7030
+ description: 'description',
7031
+ adjustsFontSizeToFit: 'boolean',
7032
+ showEllipsis: 'boolean',
7033
+ style: {
7034
+ color: 'color',
7035
+ fontSize: 'size',
7036
+ fontFamily: 'fontFamily',
7037
+ fontWeight: 'fontWeight',
7038
+ textAlign: ['left', 'center', 'right', 'justify'],
7039
+ flexDirection: ['row', 'column'],
7040
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7041
+ alignItems: [
7042
+ 'flex-start',
7043
+ 'center',
7044
+ 'flex-end',
7045
+ 'stretch',
7046
+ 'baseline',
7047
+ ],
7048
+ justifyContent: [
7049
+ 'flex-start',
7050
+ 'center',
7051
+ 'flex-end',
7052
+ 'space-between',
7053
+ 'space-around',
7054
+ 'space-evenly',
7055
+ ],
7056
+ gap: 'size',
7057
+ padding: 'size',
7058
+ paddingHorizontal: 'size',
7059
+ paddingVertical: 'size',
7060
+ paddingTop: 'size',
7061
+ paddingBottom: 'size',
7062
+ paddingLeft: 'size',
7063
+ paddingRight: 'size',
7064
+ margin: 'size',
7065
+ marginHorizontal: 'size',
7066
+ marginVertical: 'size',
7067
+ marginTop: 'size',
7068
+ marginBottom: 'size',
7069
+ marginLeft: 'size',
7070
+ marginRight: 'size',
7071
+ backgroundColor: 'color',
7072
+ borderRadius: 'size',
7073
+ width: 'size',
7074
+ minWidth: 'size',
7075
+ maxWidth: 'size',
7076
+ height: 'size',
7077
+ minHeight: 'size',
7078
+ maxHeight: 'size',
7079
+ flex: 'number',
7080
+ position: ['relative', 'absolute'],
7081
+ top: 'size',
7082
+ bottom: 'size',
7083
+ left: 'size',
7084
+ right: 'size',
7085
+ zIndex: 'number',
7086
+ },
7087
+ scrollable: 'boolean',
7088
+ textLocalizationKey: 'string',
7089
+ linkedWordFirstLocalizationKey: 'string',
7090
+ linkedWordFirstColor: 'color',
7091
+ linkedWordFirstPage: 'string',
7092
+ linkedWordSecondLocalizationKey: 'string',
7093
+ linkedWordSecondColor: 'color',
7094
+ linkedWordSecondPage: 'string',
7095
+ },
7096
+ defaults: {
7097
+ style: {
7098
+ color: 'THEME_COLORS.TEXT',
7099
+ fontSize: '16@fs',
7100
+ fontWeight: '400',
7101
+ },
7102
+ },
7103
+ },
7104
+ meta: {
7105
+ desiredParent: ['>OnboardItem'],
7106
+ label: 'Onboard Footer',
7107
+ description: 'Footer text with optional links.',
7108
+ styles: {
7109
+ color: {
7110
+ label: 'Color',
7111
+ description: 'Text color.',
7112
+ category: 'style',
7113
+ specialCategory: null,
7114
+ sort: 1,
7115
+ },
7116
+ fontSize: {
7117
+ label: 'Font Size',
7118
+ description: 'Text size.',
7119
+ category: 'style',
7120
+ specialCategory: null,
7121
+ sort: 2,
7122
+ preferredScale: 's',
7123
+ },
7124
+ fontFamily: {
7125
+ label: 'Font Family',
7126
+ description: 'Font family used for the text.',
6315
7127
  category: 'style',
6316
7128
  specialCategory: null,
6317
7129
  sort: 3,
6318
7130
  },
6319
- inactive_dot_color: {
6320
- label: 'Inactive Dot Color',
6321
- description: 'Color of inactive dots.',
7131
+ fontWeight: {
7132
+ label: 'Font Weight',
7133
+ description: 'Text weight.',
7134
+ category: 'style',
7135
+ specialCategory: null,
7136
+ sort: 4,
7137
+ },
7138
+ textAlign: {
7139
+ label: 'Text Align',
7140
+ description: 'Text alignment.',
7141
+ category: 'style',
7142
+ specialCategory: null,
7143
+ sort: 5,
7144
+ },
7145
+ backgroundColor: {
7146
+ label: 'Background Color',
7147
+ description: 'Background fill color.',
7148
+ category: 'style',
7149
+ specialCategory: null,
7150
+ sort: 20,
7151
+ },
7152
+ borderRadius: {
7153
+ label: 'Border Radius',
7154
+ description: 'Corner rounding amount.',
6322
7155
  category: 'style',
6323
7156
  specialCategory: null,
6324
- sort: 4,
7157
+ sort: 21,
7158
+ preferredScale: 's',
6325
7159
  },
6326
- dot_thickness: {
6327
- label: 'Dot Thickness',
6328
- description: 'Dot size/diameter.',
7160
+ linkedWordFirstColor: {
7161
+ label: 'Linked Word First Color',
7162
+ description: 'Color of the first linked word.',
6329
7163
  category: 'style',
6330
7164
  specialCategory: null,
6331
- sort: 2,
7165
+ sort: 3,
6332
7166
  },
6333
- active_dot_color: {
6334
- label: 'Active Dot Color',
6335
- description: 'Color of the active dot.',
7167
+ linkedWordSecondColor: {
7168
+ label: 'Linked Word Second Color',
7169
+ description: 'Color of the second linked word.',
6336
7170
  category: 'style',
6337
7171
  specialCategory: null,
6338
- sort: 5,
7172
+ sort: 6,
6339
7173
  },
6340
7174
  },
6341
7175
  attributes: {
7176
+ adjustsFontSizeToFit: {
7177
+ label: 'Adjust Font Size To Fit',
7178
+ description:
7179
+ 'Automatically reduces font size to fit the available space.',
7180
+ category: 'other',
7181
+ specialCategory: null,
7182
+ sort: 1,
7183
+ },
7184
+ showEllipsis: {
7185
+ label: 'Show Ellipsis',
7186
+ description:
7187
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7188
+ category: 'other',
7189
+ specialCategory: null,
7190
+ sort: 2,
7191
+ },
6342
7192
  scrollable: {
6343
7193
  label: 'Scrollable',
6344
7194
  description: 'Turns scroll interaction on.',
@@ -6595,43 +7445,100 @@ export const patterns = [
6595
7445
  specialCategory: null,
6596
7446
  sort: 26,
6597
7447
  },
7448
+ textLocalizationKey: {
7449
+ label: 'Text Localization Key',
7450
+ description: 'Localization key for the footer text.',
7451
+ category: 'other',
7452
+ specialCategory: null,
7453
+ sort: 1,
7454
+ },
7455
+ linkedWordFirstLocalizationKey: {
7456
+ label: 'Linked Word First Localization Key',
7457
+ description: 'Key for the first linked word.',
7458
+ category: 'other',
7459
+ specialCategory: null,
7460
+ sort: 2,
7461
+ },
7462
+ linkedWordFirstPage: {
7463
+ label: 'Linked Word First Page',
7464
+ description: 'Page opened by the first link.',
7465
+ category: 'other',
7466
+ specialCategory: null,
7467
+ sort: 4,
7468
+ },
7469
+ linkedWordSecondLocalizationKey: {
7470
+ label: 'Linked Word Second Localization Key',
7471
+ description: 'Key for the second linked word.',
7472
+ category: 'other',
7473
+ specialCategory: null,
7474
+ sort: 5,
7475
+ },
7476
+ linkedWordSecondPage: {
7477
+ label: 'Linked Word Second Page',
7478
+ description: 'Page opened by the second link.',
7479
+ category: 'other',
7480
+ specialCategory: null,
7481
+ sort: 7,
7482
+ },
7483
+ },
7484
+ specialCategories: {
7485
+ padding: {
7486
+ label: 'Padding',
7487
+ description: 'Uniform padding on all sides.',
7488
+ category: 'container',
7489
+ sort: 1,
7490
+ },
7491
+ margin: {
7492
+ label: 'Margin',
7493
+ description: 'Uniform margin on all sides.',
7494
+ category: 'container',
7495
+ sort: 2,
7496
+ },
7497
+ size: {
7498
+ label: 'Size',
7499
+ description: 'Fixed dimensions.',
7500
+ category: 'container',
7501
+ sort: 3,
7502
+ },
7503
+ offset: {
7504
+ label: 'Offset',
7505
+ description: 'Absolute positioning offsets.',
7506
+ category: 'container',
7507
+ sort: 4,
7508
+ },
6598
7509
  },
6599
7510
  },
6600
7511
  defaults: {
6601
7512
  style: {
7513
+ color: 'THEME_COLORS.TEXT',
7514
+ fontSize: '16@fs',
7515
+ fontWeight: '400',
6602
7516
  flexDirection: 'row',
6603
7517
  position: 'relative',
6604
7518
  zIndex: 1,
6605
7519
  alignSelf: 'flex-start',
6606
7520
  flexGrow: 0,
6607
7521
  flexShrink: 0,
7522
+ flexWrap: 'wrap',
6608
7523
  alignItems: 'center',
6609
7524
  justifyContent: 'center',
6610
- gap: '12@s',
7525
+ textAlign: 'center',
7526
+ paddingHorizontal: '24@s',
6611
7527
  },
6612
- dotType: 'expanding_dot',
6613
- dot_thickness: 10,
6614
- inactive_dot_opacity: 0.3,
6615
- active_dot_color: '#007AFF',
6616
7528
  },
6617
7529
  types: {},
6618
7530
  },
6619
7531
  {
6620
7532
  schemaVersion: 2,
6621
7533
  pattern: {
6622
- type: 'OnboardFooter',
7534
+ type: 'OnboardImage',
6623
7535
  children: 'node',
6624
7536
  attributes: {
6625
7537
  title: 'title',
6626
7538
  description: 'description',
6627
- adjustsFontSizeToFit: 'boolean',
6628
- showEllipsis: 'boolean',
7539
+ src: 'string',
6629
7540
  style: {
6630
- color: 'color',
6631
- fontSize: 'size',
6632
- fontFamily: 'fontFamily',
6633
- fontWeight: 'fontWeight',
6634
- textAlign: ['left', 'center', 'right', 'justify'],
7541
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
6635
7542
  flexDirection: ['row', 'column'],
6636
7543
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6637
7544
  alignItems: [
@@ -6681,73 +7588,46 @@ export const patterns = [
6681
7588
  zIndex: 'number',
6682
7589
  },
6683
7590
  scrollable: 'boolean',
6684
- textLocalizationKey: 'string',
6685
- linkedWordFirstLocalizationKey: 'string',
6686
- linkedWordFirstColor: 'color',
6687
- linkedWordFirstPage: 'string',
6688
- linkedWordSecondLocalizationKey: 'string',
6689
- linkedWordSecondColor: 'color',
6690
- linkedWordSecondPage: 'string',
7591
+ video_url: 'string',
7592
+ lottie: 'string',
6691
7593
  },
7594
+ defaults: { resizeMode: 'contain' },
6692
7595
  },
6693
7596
  meta: {
6694
- desiredParent: ['>OnboardItem'],
6695
- label: 'Onboard Footer',
6696
- description: 'Footer text with optional links.',
6697
- attributes: {
6698
- styles: {
6699
- color: {
6700
- label: 'Color',
6701
- description: 'Text color.',
6702
- category: 'style',
6703
- specialCategory: null,
6704
- sort: 1,
6705
- },
6706
- fontSize: {
6707
- label: 'Font Size',
6708
- description: 'Text size.',
6709
- category: 'style',
6710
- specialCategory: null,
6711
- sort: 2,
6712
- preferredScale: 's',
6713
- },
6714
- fontFamily: {
6715
- label: 'Font Family',
6716
- description: 'Font family used for the text.',
6717
- category: 'style',
6718
- specialCategory: null,
6719
- sort: 3,
6720
- },
6721
- fontWeight: {
6722
- label: 'Font Weight',
6723
- description: 'Text weight.',
6724
- category: 'style',
6725
- specialCategory: null,
6726
- sort: 4,
6727
- },
6728
- textAlign: {
6729
- label: 'Text Align',
6730
- description: 'Text alignment.',
6731
- category: 'style',
6732
- specialCategory: null,
6733
- sort: 5,
6734
- },
7597
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7598
+ label: 'Onboard Image',
7599
+ description: 'Onboarding hero image with media.',
7600
+ styles: {
7601
+ resizeMode: {
7602
+ label: 'Resize Mode',
7603
+ description: 'How the image fits the frame.',
7604
+ category: 'style',
7605
+ specialCategory: null,
7606
+ sort: 4,
6735
7607
  },
6736
- adjustsFontSizeToFit: {
6737
- label: 'Adjust Font Size To Fit',
6738
- description:
6739
- 'Automatically reduces font size to fit the available space.',
6740
- category: 'other',
7608
+ backgroundColor: {
7609
+ label: 'Background Color',
7610
+ description: 'Background fill color.',
7611
+ category: 'style',
6741
7612
  specialCategory: null,
6742
- sort: 1,
7613
+ sort: 20,
6743
7614
  },
6744
- showEllipsis: {
6745
- label: 'Show Ellipsis',
6746
- description:
6747
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7615
+ borderRadius: {
7616
+ label: 'Border Radius',
7617
+ description: 'Corner rounding amount.',
7618
+ category: 'style',
7619
+ specialCategory: null,
7620
+ sort: 21,
7621
+ preferredScale: 's',
7622
+ },
7623
+ },
7624
+ attributes: {
7625
+ src: {
7626
+ label: 'Src',
7627
+ description: 'Image source URL.',
6748
7628
  category: 'other',
6749
7629
  specialCategory: null,
6750
- sort: 2,
7630
+ sort: 1,
6751
7631
  },
6752
7632
  scrollable: {
6753
7633
  label: 'Scrollable',
@@ -7005,41 +7885,20 @@ export const patterns = [
7005
7885
  specialCategory: null,
7006
7886
  sort: 26,
7007
7887
  },
7008
- textLocalizationKey: {
7009
- label: 'Text Localization Key',
7010
- description: 'Localization key for the footer text.',
7888
+ video_url: {
7889
+ label: 'Video Url',
7890
+ description: 'URL for the onboarding video.',
7011
7891
  category: 'other',
7012
7892
  specialCategory: null,
7013
7893
  sort: 1,
7014
7894
  },
7015
- linkedWordFirstLocalizationKey: {
7016
- label: 'Linked Word First Localization Key',
7017
- description: 'Key for the first linked word.',
7895
+ lottie: {
7896
+ label: 'Lottie',
7897
+ description: 'Path to the lottie animation.',
7018
7898
  category: 'other',
7019
7899
  specialCategory: null,
7020
7900
  sort: 2,
7021
7901
  },
7022
- linkedWordFirstPage: {
7023
- label: 'Linked Word First Page',
7024
- description: 'Page opened by the first link.',
7025
- category: 'other',
7026
- specialCategory: null,
7027
- sort: 4,
7028
- },
7029
- linkedWordSecondLocalizationKey: {
7030
- label: 'Linked Word Second Localization Key',
7031
- description: 'Key for the second linked word.',
7032
- category: 'other',
7033
- specialCategory: null,
7034
- sort: 5,
7035
- },
7036
- linkedWordSecondPage: {
7037
- label: 'Linked Word Second Page',
7038
- description: 'Page opened by the second link.',
7039
- category: 'other',
7040
- specialCategory: null,
7041
- sort: 7,
7042
- },
7043
7902
  },
7044
7903
  specialCategories: {
7045
7904
  padding: {
@@ -7067,51 +7926,16 @@ export const patterns = [
7067
7926
  sort: 4,
7068
7927
  },
7069
7928
  },
7070
- styles: {
7071
- backgroundColor: {
7072
- label: 'Background Color',
7073
- description: 'Background fill color.',
7074
- category: 'style',
7075
- specialCategory: null,
7076
- sort: 20,
7077
- },
7078
- borderRadius: {
7079
- label: 'Border Radius',
7080
- description: 'Corner rounding amount.',
7081
- category: 'style',
7082
- specialCategory: null,
7083
- sort: 21,
7084
- preferredScale: 's',
7085
- },
7086
- linkedWordFirstColor: {
7087
- label: 'Linked Word First Color',
7088
- description: 'Color of the first linked word.',
7089
- category: 'style',
7090
- specialCategory: null,
7091
- sort: 3,
7092
- },
7093
- linkedWordSecondColor: {
7094
- label: 'Linked Word Second Color',
7095
- description: 'Color of the second linked word.',
7096
- category: 'style',
7097
- specialCategory: null,
7098
- sort: 6,
7099
- },
7100
- },
7101
7929
  },
7102
7930
  defaults: {
7931
+ resizeMode: 'contain',
7103
7932
  style: {
7104
- flexDirection: 'row',
7933
+ flexDirection: 'column',
7105
7934
  position: 'relative',
7106
7935
  zIndex: 1,
7107
7936
  alignSelf: 'flex-start',
7108
7937
  flexGrow: 0,
7109
7938
  flexShrink: 0,
7110
- flexWrap: 'wrap',
7111
- alignItems: 'center',
7112
- justifyContent: 'center',
7113
- textAlign: 'center',
7114
- paddingHorizontal: '24@s',
7115
7939
  },
7116
7940
  },
7117
7941
  types: {},
@@ -7119,15 +7943,9 @@ export const patterns = [
7119
7943
  {
7120
7944
  schemaVersion: 2,
7121
7945
  pattern: {
7122
- type: 'OnboardImage',
7946
+ type: 'OnboardItem',
7123
7947
  children: 'node',
7124
7948
  attributes: {
7125
- title: 'title',
7126
- description: 'description',
7127
- src: 'string',
7128
- width: 'size',
7129
- height: 'size',
7130
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
7131
7949
  scrollable: 'boolean',
7132
7950
  style: {
7133
7951
  flexDirection: ['row', 'column'],
@@ -7178,14 +7996,44 @@ export const patterns = [
7178
7996
  right: 'size',
7179
7997
  zIndex: 'number',
7180
7998
  },
7181
- video_url: 'string',
7182
- lottie: 'string',
7999
+ title: 'title',
8000
+ description: 'description',
8001
+ display: ['flex', 'block'],
8002
+ gap: 'size',
8003
+ flexDirection: ['row', 'column'],
8004
+ paddingHorizontal: 'size',
7183
8005
  },
7184
8006
  },
7185
8007
  meta: {
7186
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7187
- label: 'Onboard Image',
7188
- description: 'Onboarding hero image with media.',
8008
+ desiredParent: ['=Onboard'],
8009
+ label: 'Onboard Item',
8010
+ description: 'Single onboarding screen section.',
8011
+ specialCategories: {
8012
+ padding: {
8013
+ label: 'Padding',
8014
+ description: 'Uniform padding on all sides.',
8015
+ category: 'container',
8016
+ sort: 1,
8017
+ },
8018
+ margin: {
8019
+ label: 'Margin',
8020
+ description: 'Uniform margin on all sides.',
8021
+ category: 'container',
8022
+ sort: 2,
8023
+ },
8024
+ size: {
8025
+ label: 'Size',
8026
+ description: 'Fixed dimensions.',
8027
+ category: 'container',
8028
+ sort: 3,
8029
+ },
8030
+ offset: {
8031
+ label: 'Offset',
8032
+ description: 'Absolute positioning offsets.',
8033
+ category: 'container',
8034
+ sort: 4,
8035
+ },
8036
+ },
7189
8037
  styles: {
7190
8038
  backgroundColor: {
7191
8039
  label: 'Background Color',
@@ -7204,36 +8052,6 @@ export const patterns = [
7204
8052
  },
7205
8053
  },
7206
8054
  attributes: {
7207
- src: {
7208
- label: 'Src',
7209
- description: 'Image source URL.',
7210
- category: 'other',
7211
- specialCategory: null,
7212
- sort: 1,
7213
- },
7214
- width: {
7215
- label: 'Width',
7216
- description: 'Fixed width value.',
7217
- category: 'container',
7218
- specialCategory: 'size',
7219
- sort: 0,
7220
- preferredScale: 's',
7221
- },
7222
- height: {
7223
- label: 'Height',
7224
- description: 'Fixed height value.',
7225
- category: 'container',
7226
- specialCategory: 'size',
7227
- sort: 3,
7228
- preferredScale: 'vs',
7229
- },
7230
- resizeMode: {
7231
- label: 'Resize Mode',
7232
- description: 'How the image fits the frame.',
7233
- category: 'other',
7234
- specialCategory: null,
7235
- sort: 4,
7236
- },
7237
8055
  scrollable: {
7238
8056
  label: 'Scrollable',
7239
8057
  description: 'Turns scroll interaction on.',
@@ -7243,10 +8061,10 @@ export const patterns = [
7243
8061
  },
7244
8062
  flexDirection: {
7245
8063
  label: 'Flex Direction',
7246
- description: 'Sets row or column layout.',
8064
+ description: 'Order of child stacking.',
7247
8065
  category: 'container',
7248
8066
  specialCategory: null,
7249
- sort: 4,
8067
+ sort: 3,
7250
8068
  },
7251
8069
  flexWrap: {
7252
8070
  label: 'Flex Wrap',
@@ -7271,11 +8089,10 @@ export const patterns = [
7271
8089
  },
7272
8090
  gap: {
7273
8091
  label: 'Gap',
7274
- description: 'Space between children.',
8092
+ description: 'Space between child blocks.',
7275
8093
  category: 'container',
7276
8094
  specialCategory: null,
7277
- sort: 10,
7278
- preferredScale: 's',
8095
+ sort: 2,
7279
8096
  },
7280
8097
  padding: {
7281
8098
  label: 'Padding',
@@ -7290,8 +8107,7 @@ export const patterns = [
7290
8107
  description: 'Left and right padding.',
7291
8108
  category: 'container',
7292
8109
  specialCategory: 'padding',
7293
- sort: 7,
7294
- preferredScale: 's',
8110
+ sort: 4,
7295
8111
  },
7296
8112
  paddingVertical: {
7297
8113
  label: 'Padding Vertical',
@@ -7389,6 +8205,14 @@ export const patterns = [
7389
8205
  sort: 19,
7390
8206
  preferredScale: 's',
7391
8207
  },
8208
+ width: {
8209
+ label: 'Width',
8210
+ description: 'Fixed width value.',
8211
+ category: 'container',
8212
+ specialCategory: 'size',
8213
+ sort: 0,
8214
+ preferredScale: 's',
8215
+ },
7392
8216
  minWidth: {
7393
8217
  label: 'Min Width',
7394
8218
  description: 'Minimum width constraint.',
@@ -7405,6 +8229,14 @@ export const patterns = [
7405
8229
  sort: 2,
7406
8230
  preferredScale: 's',
7407
8231
  },
8232
+ height: {
8233
+ label: 'Height',
8234
+ description: 'Fixed height value.',
8235
+ category: 'container',
8236
+ specialCategory: 'size',
8237
+ sort: 3,
8238
+ preferredScale: 'vs',
8239
+ },
7408
8240
  minHeight: {
7409
8241
  label: 'Min Height',
7410
8242
  description: 'Minimum height constraint.',
@@ -7474,46 +8306,13 @@ export const patterns = [
7474
8306
  specialCategory: null,
7475
8307
  sort: 26,
7476
8308
  },
7477
- video_url: {
7478
- label: 'Video Url',
7479
- description: 'URL for the onboarding video.',
7480
- category: 'other',
7481
- specialCategory: null,
7482
- sort: 1,
7483
- },
7484
- lottie: {
7485
- label: 'Lottie',
7486
- description: 'Path to the lottie animation.',
7487
- category: 'other',
7488
- specialCategory: null,
7489
- sort: 2,
7490
- },
7491
- },
7492
- specialCategories: {
7493
- padding: {
7494
- label: 'Padding',
7495
- description: 'Uniform padding on all sides.',
8309
+ display: {
8310
+ label: 'Display',
8311
+ description: 'Controls layout display mode.',
7496
8312
  category: 'container',
8313
+ specialCategory: null,
7497
8314
  sort: 1,
7498
8315
  },
7499
- margin: {
7500
- label: 'Margin',
7501
- description: 'Uniform margin on all sides.',
7502
- category: 'container',
7503
- sort: 2,
7504
- },
7505
- size: {
7506
- label: 'Size',
7507
- description: 'Fixed dimensions.',
7508
- category: 'container',
7509
- sort: 3,
7510
- },
7511
- offset: {
7512
- label: 'Offset',
7513
- description: 'Absolute positioning offsets.',
7514
- category: 'container',
7515
- sort: 4,
7516
- },
7517
8316
  },
7518
8317
  },
7519
8318
  defaults: {
@@ -7524,14 +8323,17 @@ export const patterns = [
7524
8323
  alignSelf: 'flex-start',
7525
8324
  flexGrow: 0,
7526
8325
  flexShrink: 0,
8326
+ gap: '16@vs',
8327
+ paddingHorizontal: '24@s',
7527
8328
  },
8329
+ display: 'flex',
7528
8330
  },
7529
8331
  types: {},
7530
8332
  },
7531
8333
  {
7532
8334
  schemaVersion: 2,
7533
8335
  pattern: {
7534
- type: 'OnboardItem',
8336
+ type: 'OnboardProvider',
7535
8337
  children: 'node',
7536
8338
  attributes: {
7537
8339
  scrollable: 'boolean',
@@ -7586,16 +8388,14 @@ export const patterns = [
7586
8388
  },
7587
8389
  title: 'title',
7588
8390
  description: 'description',
7589
- display: ['flex', 'block'],
7590
- gap: 'size',
7591
- flexDirection: ['row', 'column'],
7592
- paddingHorizontal: 'size',
8391
+ theme: ['light', 'dark', 'all'],
8392
+ borderRadius: 'never',
7593
8393
  },
7594
8394
  },
7595
8395
  meta: {
7596
- desiredParent: ['=Onboard'],
7597
- label: 'Onboard Item',
7598
- description: 'Single onboarding screen section.',
8396
+ desiredParent: ['root'],
8397
+ label: 'Onboard Provider',
8398
+ description: 'Provides shared settings for onboarding.',
7599
8399
  specialCategories: {
7600
8400
  padding: {
7601
8401
  label: 'Padding',
@@ -7649,10 +8449,10 @@ export const patterns = [
7649
8449
  },
7650
8450
  flexDirection: {
7651
8451
  label: 'Flex Direction',
7652
- description: 'Order of child stacking.',
8452
+ description: 'Sets row or column layout.',
7653
8453
  category: 'container',
7654
8454
  specialCategory: null,
7655
- sort: 3,
8455
+ sort: 4,
7656
8456
  },
7657
8457
  flexWrap: {
7658
8458
  label: 'Flex Wrap',
@@ -7677,10 +8477,11 @@ export const patterns = [
7677
8477
  },
7678
8478
  gap: {
7679
8479
  label: 'Gap',
7680
- description: 'Space between child blocks.',
8480
+ description: 'Space between children.',
7681
8481
  category: 'container',
7682
8482
  specialCategory: null,
7683
- sort: 2,
8483
+ sort: 10,
8484
+ preferredScale: 's',
7684
8485
  },
7685
8486
  padding: {
7686
8487
  label: 'Padding',
@@ -7695,7 +8496,8 @@ export const patterns = [
7695
8496
  description: 'Left and right padding.',
7696
8497
  category: 'container',
7697
8498
  specialCategory: 'padding',
7698
- sort: 4,
8499
+ sort: 7,
8500
+ preferredScale: 's',
7699
8501
  },
7700
8502
  paddingVertical: {
7701
8503
  label: 'Padding Vertical',
@@ -7707,35 +8509,31 @@ export const patterns = [
7707
8509
  },
7708
8510
  paddingTop: {
7709
8511
  label: 'Padding Top',
7710
- description: 'Top padding only.',
8512
+ description: 'Top padding for the provider.',
7711
8513
  category: 'container',
7712
8514
  specialCategory: 'padding',
7713
- sort: 9,
7714
- preferredScale: 'vs',
8515
+ sort: 1,
7715
8516
  },
7716
8517
  paddingBottom: {
7717
8518
  label: 'Padding Bottom',
7718
- description: 'Bottom padding only.',
8519
+ description: 'Bottom padding for the provider.',
7719
8520
  category: 'container',
7720
8521
  specialCategory: 'padding',
7721
- sort: 10,
7722
- preferredScale: 'vs',
8522
+ sort: 3,
7723
8523
  },
7724
8524
  paddingLeft: {
7725
8525
  label: 'Padding Left',
7726
- description: 'Left padding only.',
8526
+ description: 'Left padding for the provider.',
7727
8527
  category: 'container',
7728
8528
  specialCategory: 'padding',
7729
- sort: 11,
7730
- preferredScale: 's',
8529
+ sort: 4,
7731
8530
  },
7732
8531
  paddingRight: {
7733
8532
  label: 'Padding Right',
7734
- description: 'Right padding only.',
8533
+ description: 'Right padding for the provider.',
7735
8534
  category: 'container',
7736
8535
  specialCategory: 'padding',
7737
- sort: 12,
7738
- preferredScale: 's',
8536
+ sort: 2,
7739
8537
  },
7740
8538
  margin: {
7741
8539
  label: 'Margin',
@@ -7894,12 +8692,13 @@ export const patterns = [
7894
8692
  specialCategory: null,
7895
8693
  sort: 26,
7896
8694
  },
7897
- display: {
7898
- label: 'Display',
7899
- description: 'Controls layout display mode.',
7900
- category: 'container',
8695
+ theme: {
8696
+ label: 'Theme',
8697
+ description:
8698
+ 'Controls which app theme(s) this onboarding is intended for.',
8699
+ category: 'other',
7901
8700
  specialCategory: null,
7902
- sort: 1,
8701
+ sort: -10,
7903
8702
  },
7904
8703
  },
7905
8704
  },
@@ -7911,21 +8710,28 @@ export const patterns = [
7911
8710
  alignSelf: 'flex-start',
7912
8711
  flexGrow: 0,
7913
8712
  flexShrink: 0,
7914
- gap: '16@vs',
7915
- paddingHorizontal: '24@s',
8713
+ width: '100%',
8714
+ height: '100%',
7916
8715
  },
7917
- display: 'flex',
7918
8716
  },
7919
8717
  types: {},
7920
8718
  },
7921
8719
  {
7922
8720
  schemaVersion: 2,
7923
8721
  pattern: {
7924
- type: 'OnboardProvider',
7925
- children: 'node',
8722
+ type: 'OnboardSubtitle',
8723
+ children: 'string',
7926
8724
  attributes: {
7927
- scrollable: 'boolean',
8725
+ title: 'title',
8726
+ description: 'description',
8727
+ adjustsFontSizeToFit: 'boolean',
8728
+ showEllipsis: 'boolean',
7928
8729
  style: {
8730
+ color: 'color',
8731
+ fontSize: 'size',
8732
+ fontFamily: 'fontFamily',
8733
+ fontWeight: 'fontWeight',
8734
+ textAlign: ['left', 'center', 'right', 'justify'],
7929
8735
  flexDirection: ['row', 'column'],
7930
8736
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7931
8737
  alignItems: [
@@ -7974,43 +8780,57 @@ export const patterns = [
7974
8780
  right: 'size',
7975
8781
  zIndex: 'number',
7976
8782
  },
7977
- title: 'title',
7978
- description: 'description',
7979
- theme: ['light', 'dark', 'all'],
7980
- borderRadius: 'never',
8783
+ scrollable: 'boolean',
8784
+ },
8785
+ defaults: {
8786
+ style: {
8787
+ color: 'THEME_COLORS.TEXT',
8788
+ fontSize: '16@fs',
8789
+ fontWeight: '400',
8790
+ },
7981
8791
  },
7982
8792
  },
7983
8793
  meta: {
7984
- desiredParent: ['root'],
7985
- label: 'Onboard Provider',
7986
- description: 'Provides shared settings for onboarding.',
7987
- specialCategories: {
7988
- padding: {
7989
- label: 'Padding',
7990
- description: 'Uniform padding on all sides.',
7991
- category: 'container',
8794
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
8795
+ label: 'Onboard Subtitle',
8796
+ description: 'Subtitle text for an onboarding step.',
8797
+ styles: {
8798
+ color: {
8799
+ label: 'Color',
8800
+ description: 'Text color.',
8801
+ category: 'style',
8802
+ specialCategory: null,
7992
8803
  sort: 1,
7993
8804
  },
7994
- margin: {
7995
- label: 'Margin',
7996
- description: 'Uniform margin on all sides.',
7997
- category: 'container',
8805
+ fontSize: {
8806
+ label: 'Font Size',
8807
+ description: 'Text size.',
8808
+ category: 'style',
8809
+ specialCategory: null,
7998
8810
  sort: 2,
8811
+ preferredScale: 's',
7999
8812
  },
8000
- size: {
8001
- label: 'Size',
8002
- description: 'Fixed dimensions.',
8003
- category: 'container',
8004
- sort: 3,
8005
- },
8006
- offset: {
8007
- label: 'Offset',
8008
- description: 'Absolute positioning offsets.',
8009
- category: 'container',
8813
+ fontFamily: {
8814
+ label: 'Font Family',
8815
+ description: 'Font family used for the text.',
8816
+ category: 'style',
8817
+ specialCategory: null,
8818
+ sort: 3,
8819
+ },
8820
+ fontWeight: {
8821
+ label: 'Font Weight',
8822
+ description: 'Text weight.',
8823
+ category: 'style',
8824
+ specialCategory: null,
8010
8825
  sort: 4,
8011
8826
  },
8012
- },
8013
- styles: {
8827
+ textAlign: {
8828
+ label: 'Text Align',
8829
+ description: 'Text alignment.',
8830
+ category: 'style',
8831
+ specialCategory: null,
8832
+ sort: 5,
8833
+ },
8014
8834
  backgroundColor: {
8015
8835
  label: 'Background Color',
8016
8836
  description: 'Background fill color.',
@@ -8028,6 +8848,22 @@ export const patterns = [
8028
8848
  },
8029
8849
  },
8030
8850
  attributes: {
8851
+ adjustsFontSizeToFit: {
8852
+ label: 'Adjust Font Size To Fit',
8853
+ description:
8854
+ 'Automatically reduces font size to fit the available space.',
8855
+ category: 'other',
8856
+ specialCategory: null,
8857
+ sort: 1,
8858
+ },
8859
+ showEllipsis: {
8860
+ label: 'Show Ellipsis',
8861
+ description:
8862
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8863
+ category: 'other',
8864
+ specialCategory: null,
8865
+ sort: 2,
8866
+ },
8031
8867
  scrollable: {
8032
8868
  label: 'Scrollable',
8033
8869
  description: 'Turns scroll interaction on.',
@@ -8097,31 +8933,35 @@ export const patterns = [
8097
8933
  },
8098
8934
  paddingTop: {
8099
8935
  label: 'Padding Top',
8100
- description: 'Top padding for the provider.',
8936
+ description: 'Top padding only.',
8101
8937
  category: 'container',
8102
8938
  specialCategory: 'padding',
8103
- sort: 1,
8939
+ sort: 9,
8940
+ preferredScale: 'vs',
8104
8941
  },
8105
8942
  paddingBottom: {
8106
8943
  label: 'Padding Bottom',
8107
- description: 'Bottom padding for the provider.',
8944
+ description: 'Bottom padding only.',
8108
8945
  category: 'container',
8109
8946
  specialCategory: 'padding',
8110
- sort: 3,
8947
+ sort: 10,
8948
+ preferredScale: 'vs',
8111
8949
  },
8112
8950
  paddingLeft: {
8113
8951
  label: 'Padding Left',
8114
- description: 'Left padding for the provider.',
8952
+ description: 'Left padding only.',
8115
8953
  category: 'container',
8116
8954
  specialCategory: 'padding',
8117
- sort: 4,
8955
+ sort: 11,
8956
+ preferredScale: 's',
8118
8957
  },
8119
8958
  paddingRight: {
8120
8959
  label: 'Padding Right',
8121
- description: 'Right padding for the provider.',
8960
+ description: 'Right padding only.',
8122
8961
  category: 'container',
8123
8962
  specialCategory: 'padding',
8124
- sort: 2,
8963
+ sort: 12,
8964
+ preferredScale: 's',
8125
8965
  },
8126
8966
  margin: {
8127
8967
  label: 'Margin',
@@ -8280,26 +9120,45 @@ export const patterns = [
8280
9120
  specialCategory: null,
8281
9121
  sort: 26,
8282
9122
  },
8283
- theme: {
8284
- label: 'Theme',
8285
- description:
8286
- 'Controls which app theme(s) this onboarding is intended for.',
8287
- category: 'other',
8288
- specialCategory: null,
8289
- sort: -10,
9123
+ },
9124
+ specialCategories: {
9125
+ padding: {
9126
+ label: 'Padding',
9127
+ description: 'Uniform padding on all sides.',
9128
+ category: 'container',
9129
+ sort: 1,
9130
+ },
9131
+ margin: {
9132
+ label: 'Margin',
9133
+ description: 'Uniform margin on all sides.',
9134
+ category: 'container',
9135
+ sort: 2,
9136
+ },
9137
+ size: {
9138
+ label: 'Size',
9139
+ description: 'Fixed dimensions.',
9140
+ category: 'container',
9141
+ sort: 3,
9142
+ },
9143
+ offset: {
9144
+ label: 'Offset',
9145
+ description: 'Absolute positioning offsets.',
9146
+ category: 'container',
9147
+ sort: 4,
8290
9148
  },
8291
9149
  },
8292
9150
  },
8293
9151
  defaults: {
8294
9152
  style: {
9153
+ color: 'THEME_COLORS.TEXT',
9154
+ fontSize: '14@fs',
9155
+ fontWeight: '600',
8295
9156
  flexDirection: 'column',
8296
9157
  position: 'relative',
8297
9158
  zIndex: 1,
8298
9159
  alignSelf: 'flex-start',
8299
9160
  flexGrow: 0,
8300
9161
  flexShrink: 0,
8301
- width: '100%',
8302
- height: '100%',
8303
9162
  },
8304
9163
  },
8305
9164
  types: {},
@@ -8307,7 +9166,7 @@ export const patterns = [
8307
9166
  {
8308
9167
  schemaVersion: 2,
8309
9168
  pattern: {
8310
- type: 'OnboardSubtitle',
9169
+ type: 'OnboardTitle',
8311
9170
  children: 'string',
8312
9171
  attributes: {
8313
9172
  title: 'title',
@@ -8370,50 +9229,72 @@ export const patterns = [
8370
9229
  },
8371
9230
  scrollable: 'boolean',
8372
9231
  },
9232
+ defaults: {
9233
+ style: {
9234
+ color: 'THEME_COLORS.TEXT',
9235
+ fontSize: '16@fs',
9236
+ fontWeight: '400',
9237
+ },
9238
+ },
8373
9239
  },
8374
9240
  meta: {
8375
- desiredParent: ['>OnboardProvider', '>OnboardItem'],
8376
- label: 'Onboard Subtitle',
8377
- description: 'Subtitle text for an onboarding step.',
8378
- attributes: {
8379
- styles: {
8380
- color: {
8381
- label: 'Color',
8382
- description: 'Text color.',
8383
- category: 'style',
8384
- specialCategory: null,
8385
- sort: 1,
8386
- },
8387
- fontSize: {
8388
- label: 'Font Size',
8389
- description: 'Text size.',
8390
- category: 'style',
8391
- specialCategory: null,
8392
- sort: 2,
8393
- preferredScale: 's',
8394
- },
8395
- fontFamily: {
8396
- label: 'Font Family',
8397
- description: 'Font family used for the text.',
8398
- category: 'style',
8399
- specialCategory: null,
8400
- sort: 3,
8401
- },
8402
- fontWeight: {
8403
- label: 'Font Weight',
8404
- description: 'Text weight.',
8405
- category: 'style',
8406
- specialCategory: null,
8407
- sort: 4,
8408
- },
8409
- textAlign: {
8410
- label: 'Text Align',
8411
- description: 'Text alignment.',
8412
- category: 'style',
8413
- specialCategory: null,
8414
- sort: 5,
8415
- },
9241
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
9242
+ label: 'Onboard Title',
9243
+ description: 'Title text for an onboarding step.',
9244
+ styles: {
9245
+ color: {
9246
+ label: 'Color',
9247
+ description: 'Text color.',
9248
+ category: 'style',
9249
+ specialCategory: null,
9250
+ sort: 1,
9251
+ },
9252
+ fontSize: {
9253
+ label: 'Font Size',
9254
+ description: 'Text size.',
9255
+ category: 'style',
9256
+ specialCategory: null,
9257
+ sort: 2,
9258
+ preferredScale: 's',
9259
+ },
9260
+ fontFamily: {
9261
+ label: 'Font Family',
9262
+ description: 'Font family used for the text.',
9263
+ category: 'style',
9264
+ specialCategory: null,
9265
+ sort: 3,
9266
+ },
9267
+ fontWeight: {
9268
+ label: 'Font Weight',
9269
+ description: 'Text weight.',
9270
+ category: 'style',
9271
+ specialCategory: null,
9272
+ sort: 4,
9273
+ },
9274
+ textAlign: {
9275
+ label: 'Text Align',
9276
+ description: 'Text alignment.',
9277
+ category: 'style',
9278
+ specialCategory: null,
9279
+ sort: 5,
9280
+ },
9281
+ backgroundColor: {
9282
+ label: 'Background Color',
9283
+ description: 'Background fill color.',
9284
+ category: 'style',
9285
+ specialCategory: null,
9286
+ sort: 20,
9287
+ },
9288
+ borderRadius: {
9289
+ label: 'Border Radius',
9290
+ description: 'Corner rounding amount.',
9291
+ category: 'style',
9292
+ specialCategory: null,
9293
+ sort: 21,
9294
+ preferredScale: 's',
8416
9295
  },
9296
+ },
9297
+ attributes: {
8417
9298
  adjustsFontSizeToFit: {
8418
9299
  label: 'Adjust Font Size To Fit',
8419
9300
  description:
@@ -8713,34 +9594,19 @@ export const patterns = [
8713
9594
  sort: 4,
8714
9595
  },
8715
9596
  },
8716
- styles: {
8717
- backgroundColor: {
8718
- label: 'Background Color',
8719
- description: 'Background fill color.',
8720
- category: 'style',
8721
- specialCategory: null,
8722
- sort: 20,
8723
- },
8724
- borderRadius: {
8725
- label: 'Border Radius',
8726
- description: 'Corner rounding amount.',
8727
- category: 'style',
8728
- specialCategory: null,
8729
- sort: 21,
8730
- preferredScale: 's',
8731
- },
8732
- },
8733
9597
  },
8734
9598
  defaults: {
8735
9599
  style: {
9600
+ color: 'THEME_COLORS.TEXT',
9601
+ fontSize: '24@fs',
9602
+ fontWeight: '700',
8736
9603
  flexDirection: 'column',
8737
9604
  position: 'relative',
8738
9605
  zIndex: 1,
8739
9606
  alignSelf: 'flex-start',
8740
9607
  flexGrow: 0,
8741
9608
  flexShrink: 0,
8742
- fontSize: '14@fs',
8743
- fontWeight: '600',
9609
+ textAlign: 'center',
8744
9610
  },
8745
9611
  },
8746
9612
  types: {},
@@ -8748,19 +9614,15 @@ export const patterns = [
8748
9614
  {
8749
9615
  schemaVersion: 2,
8750
9616
  pattern: {
8751
- type: 'OnboardTitle',
8752
- children: 'string',
9617
+ type: 'PaywallBackground',
9618
+ children: 'never',
8753
9619
  attributes: {
8754
9620
  title: 'title',
8755
9621
  description: 'description',
8756
- adjustsFontSizeToFit: 'boolean',
8757
- showEllipsis: 'boolean',
9622
+ src: 'string',
9623
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9624
+ scrollable: 'boolean',
8758
9625
  style: {
8759
- color: 'color',
8760
- fontSize: 'size',
8761
- fontFamily: 'fontFamily',
8762
- fontWeight: 'fontWeight',
8763
- textAlign: ['left', 'center', 'right', 'justify'],
8764
9626
  flexDirection: ['row', 'column'],
8765
9627
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8766
9628
  alignItems: [
@@ -8809,67 +9671,55 @@ export const patterns = [
8809
9671
  right: 'size',
8810
9672
  zIndex: 'number',
8811
9673
  },
8812
- scrollable: 'boolean',
9674
+ },
9675
+ defaults: {
9676
+ resizeMode: 'cover',
9677
+ style: {
9678
+ width: '100%',
9679
+ height: '100%',
9680
+ position: 'absolute',
9681
+ top: 0,
9682
+ left: 0,
9683
+ right: 0,
9684
+ bottom: 0,
9685
+ },
8813
9686
  },
8814
9687
  },
8815
9688
  meta: {
8816
- desiredParent: ['>OnboardItem', '>OnboardProvider'],
8817
- label: 'Onboard Title',
8818
- description: 'Title text for an onboarding step.',
8819
- attributes: {
8820
- styles: {
8821
- color: {
8822
- label: 'Color',
8823
- description: 'Text color.',
8824
- category: 'style',
8825
- specialCategory: null,
8826
- sort: 1,
8827
- },
8828
- fontSize: {
8829
- label: 'Font Size',
8830
- description: 'Text size.',
8831
- category: 'style',
8832
- specialCategory: null,
8833
- sort: 2,
8834
- preferredScale: 's',
8835
- },
8836
- fontFamily: {
8837
- label: 'Font Family',
8838
- description: 'Font family used for the text.',
8839
- category: 'style',
8840
- specialCategory: null,
8841
- sort: 3,
8842
- },
8843
- fontWeight: {
8844
- label: 'Font Weight',
8845
- description: 'Text weight.',
8846
- category: 'style',
8847
- specialCategory: null,
8848
- sort: 4,
8849
- },
8850
- textAlign: {
8851
- label: 'Text Align',
8852
- description: 'Text alignment.',
8853
- category: 'style',
8854
- specialCategory: null,
8855
- sort: 5,
8856
- },
9689
+ desiredParent: ['>PaywallProvider'],
9690
+ label: 'Paywall Background',
9691
+ description: 'Paywall Background component.',
9692
+ styles: {
9693
+ resizeMode: {
9694
+ label: 'Resize Mode',
9695
+ description: 'How the image fits its container.',
9696
+ category: 'style',
9697
+ specialCategory: null,
9698
+ sort: 4,
8857
9699
  },
8858
- adjustsFontSizeToFit: {
8859
- label: 'Adjust Font Size To Fit',
8860
- description:
8861
- 'Automatically reduces font size to fit the available space.',
8862
- category: 'other',
9700
+ backgroundColor: {
9701
+ label: 'Background Color',
9702
+ description: 'Background fill color.',
9703
+ category: 'style',
8863
9704
  specialCategory: null,
8864
- sort: 1,
9705
+ sort: 20,
8865
9706
  },
8866
- showEllipsis: {
8867
- label: 'Show Ellipsis',
8868
- description:
8869
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9707
+ borderRadius: {
9708
+ label: 'Border Radius',
9709
+ description: 'Corner rounding amount.',
9710
+ category: 'style',
9711
+ specialCategory: null,
9712
+ sort: 21,
9713
+ preferredScale: 's',
9714
+ },
9715
+ },
9716
+ attributes: {
9717
+ src: {
9718
+ label: 'Src',
9719
+ description: 'Image source URL.',
8870
9720
  category: 'other',
8871
9721
  specialCategory: null,
8872
- sort: 2,
9722
+ sort: 1,
8873
9723
  },
8874
9724
  scrollable: {
8875
9725
  label: 'Scrollable',
@@ -9154,35 +10004,22 @@ export const patterns = [
9154
10004
  sort: 4,
9155
10005
  },
9156
10006
  },
9157
- styles: {
9158
- backgroundColor: {
9159
- label: 'Background Color',
9160
- description: 'Background fill color.',
9161
- category: 'style',
9162
- specialCategory: null,
9163
- sort: 20,
9164
- },
9165
- borderRadius: {
9166
- label: 'Border Radius',
9167
- description: 'Corner rounding amount.',
9168
- category: 'style',
9169
- specialCategory: null,
9170
- sort: 21,
9171
- preferredScale: 's',
9172
- },
9173
- },
9174
10007
  },
9175
10008
  defaults: {
10009
+ resizeMode: 'cover',
9176
10010
  style: {
9177
- flexDirection: 'column',
9178
- position: 'relative',
10011
+ width: '100%',
10012
+ height: '100%',
10013
+ position: 'absolute',
10014
+ top: 0,
10015
+ left: 0,
10016
+ right: 0,
10017
+ bottom: 0,
9179
10018
  zIndex: 1,
10019
+ flexDirection: 'column',
9180
10020
  alignSelf: 'flex-start',
9181
10021
  flexGrow: 0,
9182
10022
  flexShrink: 0,
9183
- fontSize: '24@fs',
9184
- fontWeight: '700',
9185
- textAlign: 'center',
9186
10023
  },
9187
10024
  },
9188
10025
  types: {},
@@ -9190,15 +10027,22 @@ export const patterns = [
9190
10027
  {
9191
10028
  schemaVersion: 2,
9192
10029
  pattern: {
9193
- type: 'PaywallBackground',
10030
+ type: 'PaywallCloseButton',
9194
10031
  children: 'never',
9195
10032
  attributes: {
9196
10033
  title: 'title',
9197
10034
  description: 'description',
9198
- src: 'string',
9199
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
9200
- scrollable: 'boolean',
10035
+ iconType: 'iconType',
10036
+ size: 'number',
10037
+ strokeWidth: 'number',
10038
+ adjustsFontSizeToFit: 'boolean',
10039
+ showEllipsis: 'boolean',
9201
10040
  style: {
10041
+ color: 'color',
10042
+ fontSize: 'size',
10043
+ fontFamily: 'fontFamily',
10044
+ fontWeight: 'fontWeight',
10045
+ textAlign: ['left', 'center', 'right', 'justify'],
9202
10046
  flexDirection: ['row', 'column'],
9203
10047
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9204
10048
  alignItems: [
@@ -9247,39 +10091,57 @@ export const patterns = [
9247
10091
  right: 'size',
9248
10092
  zIndex: 'number',
9249
10093
  },
10094
+ scrollable: 'boolean',
9250
10095
  },
9251
10096
  defaults: {
9252
- resizeMode: 'cover',
9253
10097
  style: {
9254
- width: '100%',
9255
- height: '100%',
9256
- position: 'absolute',
9257
- top: 0,
9258
- left: 0,
9259
- right: 0,
9260
- bottom: 0,
10098
+ color: 'THEME_COLORS.TEXT',
10099
+ fontSize: '16@fs',
10100
+ fontWeight: '400',
9261
10101
  },
9262
10102
  },
9263
10103
  },
9264
10104
  meta: {
9265
10105
  desiredParent: ['>PaywallProvider'],
9266
- label: 'Paywall Background',
9267
- description: 'Paywall Background component.',
9268
- src: {
9269
- label: 'Src',
9270
- description: 'Image source URL.',
9271
- category: 'other',
9272
- specialCategory: null,
9273
- sort: 1,
9274
- },
10106
+ label: 'Paywall Close Button',
10107
+ description: 'Paywall Close Button component.',
9275
10108
  styles: {
9276
- resizeMode: {
9277
- label: 'Resize Mode',
9278
- description: 'How the image fits its container.',
10109
+ color: {
10110
+ label: 'Color',
10111
+ description: 'Text color.',
10112
+ category: 'style',
10113
+ specialCategory: null,
10114
+ sort: 1,
10115
+ },
10116
+ fontSize: {
10117
+ label: 'Font Size',
10118
+ description: 'Text size.',
10119
+ category: 'style',
10120
+ specialCategory: null,
10121
+ sort: 2,
10122
+ preferredScale: 's',
10123
+ },
10124
+ fontFamily: {
10125
+ label: 'Font Family',
10126
+ description: 'Font family used for the text.',
10127
+ category: 'style',
10128
+ specialCategory: null,
10129
+ sort: 3,
10130
+ },
10131
+ fontWeight: {
10132
+ label: 'Font Weight',
10133
+ description: 'Text weight.',
9279
10134
  category: 'style',
9280
10135
  specialCategory: null,
9281
10136
  sort: 4,
9282
10137
  },
10138
+ textAlign: {
10139
+ label: 'Text Align',
10140
+ description: 'Text alignment.',
10141
+ category: 'style',
10142
+ specialCategory: null,
10143
+ sort: 5,
10144
+ },
9283
10145
  backgroundColor: {
9284
10146
  label: 'Background Color',
9285
10147
  description: 'Background fill color.',
@@ -9296,33 +10158,44 @@ export const patterns = [
9296
10158
  preferredScale: 's',
9297
10159
  },
9298
10160
  },
9299
- specialCategories: {
9300
- padding: {
9301
- label: 'Padding',
9302
- description: 'Uniform padding on all sides.',
9303
- category: 'container',
10161
+ attributes: {
10162
+ iconType: {
10163
+ label: 'Icon',
10164
+ description: 'Which icon to render.',
10165
+ category: 'other',
10166
+ specialCategory: null,
9304
10167
  sort: 1,
9305
10168
  },
9306
- margin: {
9307
- label: 'Margin',
9308
- description: 'Uniform margin on all sides.',
9309
- category: 'container',
9310
- sort: 2,
9311
- },
9312
10169
  size: {
9313
10170
  label: 'Size',
9314
- description: 'Fixed dimensions.',
9315
- category: 'container',
10171
+ description: 'Icon size (px).',
10172
+ category: 'other',
10173
+ specialCategory: null,
10174
+ sort: 2,
10175
+ },
10176
+ strokeWidth: {
10177
+ label: 'Stroke Width',
10178
+ description: 'SVG stroke width override (applied to the icon paths).',
10179
+ category: 'other',
10180
+ specialCategory: null,
9316
10181
  sort: 3,
9317
10182
  },
9318
- offset: {
9319
- label: 'Offset',
9320
- description: 'Absolute positioning offsets.',
9321
- category: 'container',
9322
- sort: 4,
10183
+ adjustsFontSizeToFit: {
10184
+ label: 'Adjust Font Size To Fit',
10185
+ description:
10186
+ 'Automatically reduces font size to fit the available space.',
10187
+ category: 'other',
10188
+ specialCategory: null,
10189
+ sort: 1,
10190
+ },
10191
+ showEllipsis: {
10192
+ label: 'Show Ellipsis',
10193
+ description:
10194
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10195
+ category: 'other',
10196
+ specialCategory: null,
10197
+ sort: 2,
9323
10198
  },
9324
- },
9325
- attributes: {
9326
10199
  scrollable: {
9327
10200
  label: 'Scrollable',
9328
10201
  description: 'Turns scroll interaction on.',
@@ -9580,37 +10453,64 @@ export const patterns = [
9580
10453
  sort: 26,
9581
10454
  },
9582
10455
  },
10456
+ specialCategories: {
10457
+ padding: {
10458
+ label: 'Padding',
10459
+ description: 'Uniform padding on all sides.',
10460
+ category: 'container',
10461
+ sort: 1,
10462
+ },
10463
+ margin: {
10464
+ label: 'Margin',
10465
+ description: 'Uniform margin on all sides.',
10466
+ category: 'container',
10467
+ sort: 2,
10468
+ },
10469
+ size: {
10470
+ label: 'Size',
10471
+ description: 'Fixed dimensions.',
10472
+ category: 'container',
10473
+ sort: 3,
10474
+ },
10475
+ offset: {
10476
+ label: 'Offset',
10477
+ description: 'Absolute positioning offsets.',
10478
+ category: 'container',
10479
+ sort: 4,
10480
+ },
10481
+ },
9583
10482
  },
9584
10483
  defaults: {
9585
- resizeMode: 'cover',
9586
10484
  style: {
9587
- width: '100%',
9588
- height: '100%',
10485
+ fontSize: '16@fs',
10486
+ color: 'THEME_COLORS.TEXT',
10487
+ fontWeight: '400',
10488
+ flexDirection: 'row',
9589
10489
  position: 'absolute',
9590
- top: 0,
9591
- left: 0,
9592
- right: 0,
9593
- bottom: 0,
9594
10490
  zIndex: 1,
9595
- flexDirection: 'column',
9596
10491
  alignSelf: 'flex-start',
9597
10492
  flexGrow: 0,
9598
10493
  flexShrink: 0,
10494
+ top: '35@vs',
10495
+ left: '24@s',
10496
+ justifyContent: 'center',
10497
+ alignItems: 'center',
9599
10498
  },
10499
+ iconType: 'close',
10500
+ strokeWidth: 1.5,
10501
+ size: 24,
9600
10502
  },
9601
10503
  types: {},
9602
10504
  },
9603
10505
  {
9604
10506
  schemaVersion: 2,
9605
10507
  pattern: {
9606
- type: 'PaywallCloseButton',
10508
+ type: 'PaywallCounter',
9607
10509
  children: 'never',
9608
10510
  attributes: {
10511
+ count: 'number',
9609
10512
  title: 'title',
9610
10513
  description: 'description',
9611
- iconType: 'iconType',
9612
- size: 'number',
9613
- strokeWidth: 'number',
9614
10514
  adjustsFontSizeToFit: 'boolean',
9615
10515
  showEllipsis: 'boolean',
9616
10516
  style: {
@@ -9669,88 +10569,27 @@ export const patterns = [
9669
10569
  },
9670
10570
  scrollable: 'boolean',
9671
10571
  },
9672
- },
9673
- meta: {
9674
- desiredParent: ['>PaywallProvider'],
9675
- label: 'Paywall Close Button',
9676
- description: 'Paywall Close Button component.',
9677
- styles: {
9678
- backgroundColor: {
9679
- label: 'Background Color',
9680
- description: 'Background fill color.',
9681
- category: 'style',
9682
- specialCategory: null,
9683
- sort: 20,
9684
- },
9685
- borderRadius: {
9686
- label: 'Border Radius',
9687
- description: 'Corner rounding amount.',
9688
- category: 'style',
9689
- specialCategory: null,
9690
- sort: 21,
9691
- preferredScale: 's',
10572
+ defaults: {
10573
+ style: {
10574
+ color: 'THEME_COLORS.TEXT',
10575
+ fontSize: '16@fs',
10576
+ fontWeight: '400',
9692
10577
  },
9693
10578
  },
10579
+ },
10580
+ meta: {
10581
+ desiredParent: ['all'],
10582
+ label: 'Paywall Counter',
10583
+ description: 'Displays the paywall counter value.',
9694
10584
  attributes: {
9695
- iconType: {
9696
- label: 'Icon',
9697
- description: 'Which icon to render.',
10585
+ count: {
10586
+ label: 'Fallback Count',
10587
+ description:
10588
+ 'Used only when the paywall counter hook returns no value.',
9698
10589
  category: 'other',
9699
10590
  specialCategory: null,
9700
10591
  sort: 1,
9701
10592
  },
9702
- size: {
9703
- label: 'Size',
9704
- description: 'Icon size (px).',
9705
- category: 'other',
9706
- specialCategory: null,
9707
- sort: 2,
9708
- },
9709
- strokeWidth: {
9710
- label: 'Stroke Width',
9711
- description: 'SVG stroke width override (applied to the icon paths).',
9712
- category: 'other',
9713
- specialCategory: null,
9714
- sort: 3,
9715
- },
9716
- styles: {
9717
- color: {
9718
- label: 'Color',
9719
- description: 'Text color.',
9720
- category: 'style',
9721
- specialCategory: null,
9722
- sort: 1,
9723
- },
9724
- fontSize: {
9725
- label: 'Font Size',
9726
- description: 'Text size.',
9727
- category: 'style',
9728
- specialCategory: null,
9729
- sort: 2,
9730
- preferredScale: 's',
9731
- },
9732
- fontFamily: {
9733
- label: 'Font Family',
9734
- description: 'Font family used for the text.',
9735
- category: 'style',
9736
- specialCategory: null,
9737
- sort: 3,
9738
- },
9739
- fontWeight: {
9740
- label: 'Font Weight',
9741
- description: 'Text weight.',
9742
- category: 'style',
9743
- specialCategory: null,
9744
- sort: 4,
9745
- },
9746
- textAlign: {
9747
- label: 'Text Align',
9748
- description: 'Text alignment.',
9749
- category: 'style',
9750
- specialCategory: null,
9751
- sort: 5,
9752
- },
9753
- },
9754
10593
  adjustsFontSizeToFit: {
9755
10594
  label: 'Adjust Font Size To Fit',
9756
10595
  description:
@@ -10024,6 +10863,59 @@ export const patterns = [
10024
10863
  sort: 26,
10025
10864
  },
10026
10865
  },
10866
+ styles: {
10867
+ color: {
10868
+ label: 'Color',
10869
+ description: 'Text color.',
10870
+ category: 'style',
10871
+ specialCategory: null,
10872
+ sort: 1,
10873
+ },
10874
+ fontSize: {
10875
+ label: 'Font Size',
10876
+ description: 'Text size.',
10877
+ category: 'style',
10878
+ specialCategory: null,
10879
+ sort: 2,
10880
+ preferredScale: 's',
10881
+ },
10882
+ fontFamily: {
10883
+ label: 'Font Family',
10884
+ description: 'Font family used for the text.',
10885
+ category: 'style',
10886
+ specialCategory: null,
10887
+ sort: 3,
10888
+ },
10889
+ fontWeight: {
10890
+ label: 'Font Weight',
10891
+ description: 'Text weight.',
10892
+ category: 'style',
10893
+ specialCategory: null,
10894
+ sort: 4,
10895
+ },
10896
+ textAlign: {
10897
+ label: 'Text Align',
10898
+ description: 'Text alignment.',
10899
+ category: 'style',
10900
+ specialCategory: null,
10901
+ sort: 5,
10902
+ },
10903
+ backgroundColor: {
10904
+ label: 'Background Color',
10905
+ description: 'Background fill color.',
10906
+ category: 'style',
10907
+ specialCategory: null,
10908
+ sort: 20,
10909
+ },
10910
+ borderRadius: {
10911
+ label: 'Border Radius',
10912
+ description: 'Corner rounding amount.',
10913
+ category: 'style',
10914
+ specialCategory: null,
10915
+ sort: 21,
10916
+ preferredScale: 's',
10917
+ },
10918
+ },
10027
10919
  specialCategories: {
10028
10920
  padding: {
10029
10921
  label: 'Padding',
@@ -10052,42 +10944,28 @@ export const patterns = [
10052
10944
  },
10053
10945
  },
10054
10946
  defaults: {
10055
- iconType: 'close',
10056
- strokeWidth: 1.5,
10057
10947
  style: {
10058
- fontSize: '16',
10059
- flexDirection: 'row',
10060
- position: 'absolute',
10948
+ color: 'THEME_COLORS.TEXT',
10949
+ fontSize: '16@fs',
10950
+ fontWeight: '400',
10951
+ flexDirection: 'column',
10952
+ position: 'relative',
10061
10953
  zIndex: 1,
10062
10954
  alignSelf: 'flex-start',
10063
10955
  flexGrow: 0,
10064
10956
  flexShrink: 0,
10065
- top: '35@vs',
10066
- left: '24@s',
10067
- justifyContent: 'center',
10068
- alignItems: 'center',
10069
10957
  },
10070
- size: 24,
10071
10958
  },
10072
10959
  types: {},
10073
10960
  },
10074
10961
  {
10075
10962
  schemaVersion: 2,
10076
10963
  pattern: {
10077
- type: 'PaywallCounter',
10078
- children: 'never',
10964
+ type: 'PaywallOptions',
10965
+ children: 'node',
10079
10966
  attributes: {
10080
- count: 'number',
10081
- title: 'title',
10082
- description: 'description',
10083
- adjustsFontSizeToFit: 'boolean',
10084
- showEllipsis: 'boolean',
10967
+ scrollable: 'boolean',
10085
10968
  style: {
10086
- color: 'color',
10087
- fontSize: 'size',
10088
- fontFamily: 'fontFamily',
10089
- fontWeight: 'fontWeight',
10090
- textAlign: ['left', 'center', 'right', 'justify'],
10091
10969
  flexDirection: ['row', 'column'],
10092
10970
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10093
10971
  alignItems: [
@@ -10136,76 +11014,58 @@ export const patterns = [
10136
11014
  right: 'size',
10137
11015
  zIndex: 'number',
10138
11016
  },
10139
- scrollable: 'boolean',
11017
+ title: 'title',
11018
+ description: 'description',
10140
11019
  },
10141
11020
  },
10142
11021
  meta: {
10143
- desiredParent: ['all'],
10144
- label: 'Paywall Counter',
10145
- description: 'Displays the paywall counter value.',
10146
- attributes: {
10147
- count: {
10148
- label: 'Fallback Count',
10149
- description:
10150
- 'Used only when the paywall counter hook returns no value.',
10151
- category: 'other',
10152
- specialCategory: null,
11022
+ desiredParent: ['>PaywallProvider'],
11023
+ label: 'Paywall Options',
11024
+ description: 'Paywall options selector component.',
11025
+ specialCategories: {
11026
+ padding: {
11027
+ label: 'Padding',
11028
+ description: 'Uniform padding on all sides.',
11029
+ category: 'container',
10153
11030
  sort: 1,
10154
11031
  },
10155
- styles: {
10156
- color: {
10157
- label: 'Color',
10158
- description: 'Text color.',
10159
- category: 'style',
10160
- specialCategory: null,
10161
- sort: 1,
10162
- },
10163
- fontSize: {
10164
- label: 'Font Size',
10165
- description: 'Text size.',
10166
- category: 'style',
10167
- specialCategory: null,
10168
- sort: 2,
10169
- preferredScale: 's',
10170
- },
10171
- fontFamily: {
10172
- label: 'Font Family',
10173
- description: 'Font family used for the text.',
10174
- category: 'style',
10175
- specialCategory: null,
10176
- sort: 3,
10177
- },
10178
- fontWeight: {
10179
- label: 'Font Weight',
10180
- description: 'Text weight.',
10181
- category: 'style',
10182
- specialCategory: null,
10183
- sort: 4,
10184
- },
10185
- textAlign: {
10186
- label: 'Text Align',
10187
- description: 'Text alignment.',
10188
- category: 'style',
10189
- specialCategory: null,
10190
- sort: 5,
10191
- },
11032
+ margin: {
11033
+ label: 'Margin',
11034
+ description: 'Uniform margin on all sides.',
11035
+ category: 'container',
11036
+ sort: 2,
10192
11037
  },
10193
- adjustsFontSizeToFit: {
10194
- label: 'Adjust Font Size To Fit',
10195
- description:
10196
- 'Automatically reduces font size to fit the available space.',
10197
- category: 'other',
11038
+ size: {
11039
+ label: 'Size',
11040
+ description: 'Fixed dimensions.',
11041
+ category: 'container',
11042
+ sort: 3,
11043
+ },
11044
+ offset: {
11045
+ label: 'Offset',
11046
+ description: 'Absolute positioning offsets.',
11047
+ category: 'container',
11048
+ sort: 4,
11049
+ },
11050
+ },
11051
+ styles: {
11052
+ backgroundColor: {
11053
+ label: 'Background Color',
11054
+ description: 'Background fill color.',
11055
+ category: 'style',
10198
11056
  specialCategory: null,
10199
- sort: 1,
11057
+ sort: 20,
10200
11058
  },
10201
- showEllipsis: {
10202
- label: 'Show Ellipsis',
10203
- description:
10204
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10205
- category: 'other',
11059
+ borderRadius: {
11060
+ label: 'Border Radius',
11061
+ description: 'Corner rounding amount.',
11062
+ category: 'style',
10206
11063
  specialCategory: null,
10207
- sort: 2,
11064
+ sort: 21,
11065
+ preferredScale: 's',
10208
11066
  },
11067
+ },
11068
+ attributes: {
10209
11069
  scrollable: {
10210
11070
  label: 'Scrollable',
10211
11071
  description: 'Turns scroll interaction on.',
@@ -10463,58 +11323,18 @@ export const patterns = [
10463
11323
  sort: 26,
10464
11324
  },
10465
11325
  },
10466
- specialCategories: {
10467
- padding: {
10468
- label: 'Padding',
10469
- description: 'Uniform padding on all sides.',
10470
- category: 'container',
10471
- sort: 1,
10472
- },
10473
- margin: {
10474
- label: 'Margin',
10475
- description: 'Uniform margin on all sides.',
10476
- category: 'container',
10477
- sort: 2,
10478
- },
10479
- size: {
10480
- label: 'Size',
10481
- description: 'Fixed dimensions.',
10482
- category: 'container',
10483
- sort: 3,
10484
- },
10485
- offset: {
10486
- label: 'Offset',
10487
- description: 'Absolute positioning offsets.',
10488
- category: 'container',
10489
- sort: 4,
10490
- },
10491
- },
10492
- styles: {
10493
- backgroundColor: {
10494
- label: 'Background Color',
10495
- description: 'Background fill color.',
10496
- category: 'style',
10497
- specialCategory: null,
10498
- sort: 20,
10499
- },
10500
- borderRadius: {
10501
- label: 'Border Radius',
10502
- description: 'Corner rounding amount.',
10503
- category: 'style',
10504
- specialCategory: null,
10505
- sort: 21,
10506
- preferredScale: 's',
10507
- },
10508
- },
10509
11326
  },
10510
11327
  defaults: {
10511
11328
  style: {
10512
- flexDirection: 'column',
11329
+ flexDirection: 'row',
10513
11330
  position: 'relative',
10514
11331
  zIndex: 1,
10515
11332
  alignSelf: 'flex-start',
10516
11333
  flexGrow: 0,
10517
11334
  flexShrink: 0,
11335
+ justifyContent: 'space-between',
11336
+ alignItems: 'center',
11337
+ minHeight: '60px',
10518
11338
  },
10519
11339
  },
10520
11340
  types: {},
@@ -10522,7 +11342,7 @@ export const patterns = [
10522
11342
  {
10523
11343
  schemaVersion: 2,
10524
11344
  pattern: {
10525
- type: 'PaywallOptions',
11345
+ type: 'PaywallProvider',
10526
11346
  children: 'node',
10527
11347
  attributes: {
10528
11348
  scrollable: 'boolean',
@@ -10577,12 +11397,13 @@ export const patterns = [
10577
11397
  },
10578
11398
  title: 'title',
10579
11399
  description: 'description',
11400
+ delay: 'number',
10580
11401
  },
10581
11402
  },
10582
11403
  meta: {
10583
- desiredParent: ['>PaywallProvider'],
10584
- label: 'Paywall Options',
10585
- description: 'Paywall options selector component.',
11404
+ desiredParent: ['all'],
11405
+ label: 'Paywall Provider',
11406
+ description: 'Provider/wrapper for paywall screen components.',
10586
11407
  specialCategories: {
10587
11408
  padding: {
10588
11409
  label: 'Padding',
@@ -10883,19 +11704,27 @@ export const patterns = [
10883
11704
  specialCategory: null,
10884
11705
  sort: 26,
10885
11706
  },
11707
+ delay: {
11708
+ label: 'Back Delay (ms)',
11709
+ description:
11710
+ 'Milliseconds before the paywall can be dismissed via back/close.',
11711
+ category: 'other',
11712
+ specialCategory: null,
11713
+ sort: 1,
11714
+ },
10886
11715
  },
11716
+ mockableFeatures: { products: true, benefits: true },
10887
11717
  },
10888
11718
  defaults: {
10889
11719
  style: {
10890
- flexDirection: 'row',
11720
+ flexDirection: 'column',
10891
11721
  position: 'relative',
10892
11722
  zIndex: 1,
10893
11723
  alignSelf: 'flex-start',
10894
11724
  flexGrow: 0,
10895
11725
  flexShrink: 0,
10896
- justifyContent: 'space-between',
10897
- alignItems: 'center',
10898
- minHeight: '60px',
11726
+ width: '100%',
11727
+ height: '100%',
10899
11728
  },
10900
11729
  },
10901
11730
  types: {},
@@ -10903,11 +11732,27 @@ export const patterns = [
10903
11732
  {
10904
11733
  schemaVersion: 2,
10905
11734
  pattern: {
10906
- type: 'PaywallProvider',
10907
- children: 'node',
11735
+ type: 'PaywallSubscribeButton',
11736
+ children: 'string',
10908
11737
  attributes: {
10909
- scrollable: 'boolean',
11738
+ title: 'title',
11739
+ description: 'description',
10910
11740
  style: {
11741
+ color: 'color',
11742
+ fontSize: 'size',
11743
+ fontWeight: [
11744
+ 'normal',
11745
+ 'bold',
11746
+ '100',
11747
+ '200',
11748
+ '300',
11749
+ '400',
11750
+ '500',
11751
+ '600',
11752
+ '700',
11753
+ '800',
11754
+ '900',
11755
+ ],
10911
11756
  flexDirection: ['row', 'column'],
10912
11757
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10913
11758
  alignItems: [
@@ -10956,42 +11801,35 @@ export const patterns = [
10956
11801
  right: 'size',
10957
11802
  zIndex: 'number',
10958
11803
  },
10959
- title: 'title',
10960
- description: 'description',
10961
- delay: 'number',
11804
+ scrollable: 'boolean',
10962
11805
  },
10963
11806
  },
10964
11807
  meta: {
10965
- desiredParent: ['all'],
10966
- label: 'Paywall Provider',
10967
- description: 'Provider/wrapper for paywall screen components.',
10968
- specialCategories: {
10969
- padding: {
10970
- label: 'Padding',
10971
- description: 'Uniform padding on all sides.',
10972
- category: 'container',
11808
+ desiredParent: ['>PaywallProvider'],
11809
+ label: 'Paywall Subscribe Button',
11810
+ description: 'Paywall subscribe call-to-action button. Extends Button.',
11811
+ styles: {
11812
+ color: {
11813
+ label: 'Color',
11814
+ description: 'Text color of the button.',
11815
+ category: 'style',
11816
+ specialCategory: null,
10973
11817
  sort: 1,
10974
11818
  },
10975
- margin: {
10976
- label: 'Margin',
10977
- description: 'Uniform margin on all sides.',
10978
- category: 'container',
11819
+ fontSize: {
11820
+ label: 'Font Size',
11821
+ description: 'Text size of the button.',
11822
+ category: 'style',
11823
+ specialCategory: null,
10979
11824
  sort: 2,
10980
11825
  },
10981
- size: {
10982
- label: 'Size',
10983
- description: 'Fixed dimensions.',
10984
- category: 'container',
11826
+ fontWeight: {
11827
+ label: 'Font Weight',
11828
+ description: 'Text weight of the button.',
11829
+ category: 'style',
11830
+ specialCategory: null,
10985
11831
  sort: 3,
10986
11832
  },
10987
- offset: {
10988
- label: 'Offset',
10989
- description: 'Absolute positioning offsets.',
10990
- category: 'container',
10991
- sort: 4,
10992
- },
10993
- },
10994
- styles: {
10995
11833
  backgroundColor: {
10996
11834
  label: 'Background Color',
10997
11835
  description: 'Background fill color.',
@@ -11008,6 +11846,32 @@ export const patterns = [
11008
11846
  preferredScale: 's',
11009
11847
  },
11010
11848
  },
11849
+ specialCategories: {
11850
+ padding: {
11851
+ label: 'Padding',
11852
+ description: 'Uniform padding on all sides.',
11853
+ category: 'container',
11854
+ sort: 1,
11855
+ },
11856
+ margin: {
11857
+ label: 'Margin',
11858
+ description: 'Uniform margin on all sides.',
11859
+ category: 'container',
11860
+ sort: 2,
11861
+ },
11862
+ size: {
11863
+ label: 'Size',
11864
+ description: 'Fixed dimensions.',
11865
+ category: 'container',
11866
+ sort: 3,
11867
+ },
11868
+ offset: {
11869
+ label: 'Offset',
11870
+ description: 'Absolute positioning offsets.',
11871
+ category: 'container',
11872
+ sort: 4,
11873
+ },
11874
+ },
11011
11875
  attributes: {
11012
11876
  scrollable: {
11013
11877
  label: 'Scrollable',
@@ -11265,27 +12129,26 @@ export const patterns = [
11265
12129
  specialCategory: null,
11266
12130
  sort: 26,
11267
12131
  },
11268
- delay: {
11269
- label: 'Back Delay (ms)',
11270
- description:
11271
- 'Milliseconds before the paywall can be dismissed via back/close.',
11272
- category: 'other',
11273
- specialCategory: null,
11274
- sort: 1,
11275
- },
11276
12132
  },
11277
- mockableFeatures: { products: true, benefits: true },
11278
12133
  },
11279
12134
  defaults: {
11280
12135
  style: {
12136
+ display: 'flex',
12137
+ alignItems: 'center',
12138
+ justifyContent: 'center',
12139
+ backgroundColor: '#6495ED',
11281
12140
  flexDirection: 'column',
11282
12141
  position: 'relative',
11283
12142
  zIndex: 1,
11284
12143
  alignSelf: 'flex-start',
11285
12144
  flexGrow: 0,
11286
12145
  flexShrink: 0,
11287
- width: '100%',
11288
- height: '100%',
12146
+ paddingHorizontal: '20@s',
12147
+ paddingVertical: '12@vs',
12148
+ borderRadius: '12@s',
12149
+ color: '#FFFFFF',
12150
+ fontSize: '16@fs',
12151
+ fontWeight: '700',
11289
12152
  },
11290
12153
  },
11291
12154
  types: {},
@@ -11293,27 +12156,11 @@ export const patterns = [
11293
12156
  {
11294
12157
  schemaVersion: 2,
11295
12158
  pattern: {
11296
- type: 'PaywallSubscribeButton',
11297
- children: 'string',
12159
+ type: 'RadioButton',
12160
+ children: 'never',
11298
12161
  attributes: {
11299
- title: 'title',
11300
- description: 'description',
12162
+ scrollable: 'boolean',
11301
12163
  style: {
11302
- color: 'color',
11303
- fontSize: 'size',
11304
- fontWeight: [
11305
- 'normal',
11306
- 'bold',
11307
- '100',
11308
- '200',
11309
- '300',
11310
- '400',
11311
- '500',
11312
- '600',
11313
- '700',
11314
- '800',
11315
- '900',
11316
- ],
11317
12164
  flexDirection: ['row', 'column'],
11318
12165
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11319
12166
  alignItems: [
@@ -11362,35 +12209,44 @@ export const patterns = [
11362
12209
  right: 'size',
11363
12210
  zIndex: 'number',
11364
12211
  },
11365
- scrollable: 'boolean',
12212
+ title: 'title',
12213
+ description: 'description',
12214
+ selected: 'boolean',
12215
+ color: 'color',
12216
+ size: 'number',
11366
12217
  },
11367
12218
  },
11368
12219
  meta: {
11369
- desiredParent: ['>PaywallProvider'],
11370
- label: 'Paywall Subscribe Button',
11371
- description: 'Paywall subscribe call-to-action button. Extends Button.',
11372
- styles: {
11373
- color: {
11374
- label: 'Color',
11375
- description: 'Text color of the button.',
11376
- category: 'style',
11377
- specialCategory: null,
12220
+ desiredParent: ['all'],
12221
+ label: 'Radio Button',
12222
+ description: 'Generic radio button icon.',
12223
+ specialCategories: {
12224
+ padding: {
12225
+ label: 'Padding',
12226
+ description: 'Uniform padding on all sides.',
12227
+ category: 'container',
11378
12228
  sort: 1,
11379
12229
  },
11380
- fontSize: {
11381
- label: 'Font Size',
11382
- description: 'Text size of the button.',
11383
- category: 'style',
11384
- specialCategory: null,
12230
+ margin: {
12231
+ label: 'Margin',
12232
+ description: 'Uniform margin on all sides.',
12233
+ category: 'container',
11385
12234
  sort: 2,
11386
12235
  },
11387
- fontWeight: {
11388
- label: 'Font Weight',
11389
- description: 'Text weight of the button.',
11390
- category: 'style',
11391
- specialCategory: null,
12236
+ size: {
12237
+ label: 'Size',
12238
+ description: 'Fixed dimensions.',
12239
+ category: 'container',
11392
12240
  sort: 3,
11393
12241
  },
12242
+ offset: {
12243
+ label: 'Offset',
12244
+ description: 'Absolute positioning offsets.',
12245
+ category: 'container',
12246
+ sort: 4,
12247
+ },
12248
+ },
12249
+ styles: {
11394
12250
  backgroundColor: {
11395
12251
  label: 'Background Color',
11396
12252
  description: 'Background fill color.',
@@ -11406,31 +12262,19 @@ export const patterns = [
11406
12262
  sort: 21,
11407
12263
  preferredScale: 's',
11408
12264
  },
11409
- },
11410
- specialCategories: {
11411
- padding: {
11412
- label: 'Padding',
11413
- description: 'Uniform padding on all sides.',
11414
- category: 'container',
12265
+ color: {
12266
+ label: 'Color',
12267
+ description: 'Radio color.',
12268
+ category: 'style',
12269
+ specialCategory: null,
11415
12270
  sort: 1,
11416
12271
  },
11417
- margin: {
11418
- label: 'Margin',
11419
- description: 'Uniform margin on all sides.',
11420
- category: 'container',
11421
- sort: 2,
11422
- },
11423
12272
  size: {
11424
12273
  label: 'Size',
11425
- description: 'Fixed dimensions.',
11426
- category: 'container',
11427
- sort: 3,
11428
- },
11429
- offset: {
11430
- label: 'Offset',
11431
- description: 'Absolute positioning offsets.',
11432
- category: 'container',
11433
- sort: 4,
12274
+ description: 'Radio size in px.',
12275
+ category: 'style',
12276
+ specialCategory: null,
12277
+ sort: 2,
11434
12278
  },
11435
12279
  },
11436
12280
  attributes: {
@@ -11690,26 +12534,23 @@ export const patterns = [
11690
12534
  specialCategory: null,
11691
12535
  sort: 26,
11692
12536
  },
12537
+ selected: {
12538
+ label: 'Selected',
12539
+ description: 'Whether the radio is selected.',
12540
+ category: 'other',
12541
+ specialCategory: null,
12542
+ sort: 0,
12543
+ },
11693
12544
  },
11694
12545
  },
11695
12546
  defaults: {
11696
12547
  style: {
11697
- display: 'flex',
11698
- alignItems: 'center',
11699
- justifyContent: 'center',
11700
- backgroundColor: '#6495ED',
11701
12548
  flexDirection: 'column',
11702
12549
  position: 'relative',
11703
12550
  zIndex: 1,
11704
12551
  alignSelf: 'flex-start',
11705
12552
  flexGrow: 0,
11706
12553
  flexShrink: 0,
11707
- paddingHorizontal: '20@s',
11708
- paddingVertical: '12@vs',
11709
- borderRadius: '12@s',
11710
- color: '#FFFFFF',
11711
- fontSize: '16@fs',
11712
- fontWeight: '700',
11713
12554
  },
11714
12555
  },
11715
12556
  types: {},
@@ -11717,7 +12558,62 @@ export const patterns = [
11717
12558
  {
11718
12559
  schemaVersion: 2,
11719
12560
  pattern: {
11720
- type: 'RadioButton',
12561
+ type: 'Separator',
12562
+ children: 'never',
12563
+ attributes: {
12564
+ title: 'title',
12565
+ description: 'description',
12566
+ style: {
12567
+ backgroundColor: 'color',
12568
+ width: 'size',
12569
+ height: 'size',
12570
+ marginHorizontal: 'size',
12571
+ marginVertical: 'size',
12572
+ marginTop: 'size',
12573
+ marginBottom: 'size',
12574
+ },
12575
+ },
12576
+ },
12577
+ meta: {
12578
+ desiredParent: ['all'],
12579
+ label: 'Separator',
12580
+ description: 'Horizontal line separator.',
12581
+ styles: {
12582
+ backgroundColor: {
12583
+ label: 'Color',
12584
+ description: 'Separator line color.',
12585
+ category: 'style',
12586
+ specialCategory: null,
12587
+ sort: 1,
12588
+ },
12589
+ },
12590
+ attributes: {
12591
+ width: {
12592
+ label: 'Width',
12593
+ description: 'Separator width.',
12594
+ category: 'container',
12595
+ specialCategory: null,
12596
+ sort: 1,
12597
+ preferredScale: 's',
12598
+ },
12599
+ height: {
12600
+ label: 'Height',
12601
+ description: 'Separator thickness.',
12602
+ category: 'container',
12603
+ specialCategory: null,
12604
+ sort: 2,
12605
+ preferredScale: 'vs',
12606
+ },
12607
+ },
12608
+ },
12609
+ defaults: {
12610
+ style: { width: '100%', height: 2, backgroundColor: '#000000' },
12611
+ },
12612
+ },
12613
+ {
12614
+ schemaVersion: 2,
12615
+ pattern: {
12616
+ type: 'StatusBarColor',
11721
12617
  children: 'never',
11722
12618
  attributes: {
11723
12619
  scrollable: 'boolean',
@@ -11772,15 +12668,12 @@ export const patterns = [
11772
12668
  },
11773
12669
  title: 'title',
11774
12670
  description: 'description',
11775
- selected: 'boolean',
11776
- color: 'color',
11777
- size: 'number',
11778
12671
  },
11779
12672
  },
11780
12673
  meta: {
11781
12674
  desiredParent: ['all'],
11782
- label: 'Radio Button',
11783
- description: 'Generic radio button icon.',
12675
+ label: 'Status Bar Color',
12676
+ description: 'Sets the OS status bar background color.',
11784
12677
  specialCategories: {
11785
12678
  padding: {
11786
12679
  label: 'Padding',
@@ -11810,10 +12703,10 @@ export const patterns = [
11810
12703
  styles: {
11811
12704
  backgroundColor: {
11812
12705
  label: 'Background Color',
11813
- description: 'Background fill color.',
12706
+ description: 'Status bar background color.',
11814
12707
  category: 'style',
11815
12708
  specialCategory: null,
11816
- sort: 20,
12709
+ sort: 1,
11817
12710
  },
11818
12711
  borderRadius: {
11819
12712
  label: 'Border Radius',
@@ -11823,20 +12716,6 @@ export const patterns = [
11823
12716
  sort: 21,
11824
12717
  preferredScale: 's',
11825
12718
  },
11826
- color: {
11827
- label: 'Color',
11828
- description: 'Radio color.',
11829
- category: 'style',
11830
- specialCategory: null,
11831
- sort: 1,
11832
- },
11833
- size: {
11834
- label: 'Size',
11835
- description: 'Radio size in px.',
11836
- category: 'style',
11837
- specialCategory: null,
11838
- sort: 2,
11839
- },
11840
12719
  },
11841
12720
  attributes: {
11842
12721
  scrollable: {
@@ -12095,13 +12974,6 @@ export const patterns = [
12095
12974
  specialCategory: null,
12096
12975
  sort: 26,
12097
12976
  },
12098
- selected: {
12099
- label: 'Selected',
12100
- description: 'Whether the radio is selected.',
12101
- category: 'other',
12102
- specialCategory: null,
12103
- sort: 0,
12104
- },
12105
12977
  },
12106
12978
  },
12107
12979
  defaults: {
@@ -12112,6 +12984,7 @@ export const patterns = [
12112
12984
  alignSelf: 'flex-start',
12113
12985
  flexGrow: 0,
12114
12986
  flexShrink: 0,
12987
+ backgroundColor: 'THEME_COLORS.BACKGROUND',
12115
12988
  },
12116
12989
  },
12117
12990
  types: {},
@@ -12182,6 +13055,13 @@ export const patterns = [
12182
13055
  adjustsFontSizeToFit: 'boolean',
12183
13056
  showEllipsis: 'boolean',
12184
13057
  },
13058
+ defaults: {
13059
+ style: {
13060
+ color: 'THEME_COLORS.TEXT',
13061
+ fontSize: '16@fs',
13062
+ fontWeight: '400',
13063
+ },
13064
+ },
12185
13065
  },
12186
13066
  meta: {
12187
13067
  desiredParent: ['all'],
@@ -12229,6 +13109,42 @@ export const patterns = [
12229
13109
  sort: 21,
12230
13110
  preferredScale: 's',
12231
13111
  },
13112
+ color: {
13113
+ label: 'Color',
13114
+ description: 'Text color.',
13115
+ category: 'style',
13116
+ specialCategory: null,
13117
+ sort: 1,
13118
+ },
13119
+ fontSize: {
13120
+ label: 'Font Size',
13121
+ description: 'Text size.',
13122
+ category: 'style',
13123
+ specialCategory: null,
13124
+ sort: 2,
13125
+ preferredScale: 's',
13126
+ },
13127
+ fontFamily: {
13128
+ label: 'Font Family',
13129
+ description: 'Font family used for the text.',
13130
+ category: 'style',
13131
+ specialCategory: null,
13132
+ sort: 3,
13133
+ },
13134
+ fontWeight: {
13135
+ label: 'Font Weight',
13136
+ description: 'Text weight.',
13137
+ category: 'style',
13138
+ specialCategory: null,
13139
+ sort: 4,
13140
+ },
13141
+ textAlign: {
13142
+ label: 'Text Align',
13143
+ description: 'Text alignment.',
13144
+ category: 'style',
13145
+ specialCategory: null,
13146
+ sort: 5,
13147
+ },
12232
13148
  },
12233
13149
  attributes: {
12234
13150
  scrollable: {
@@ -12487,44 +13403,6 @@ export const patterns = [
12487
13403
  specialCategory: null,
12488
13404
  sort: 26,
12489
13405
  },
12490
- styles: {
12491
- color: {
12492
- label: 'Color',
12493
- description: 'Text color.',
12494
- category: 'style',
12495
- specialCategory: null,
12496
- sort: 1,
12497
- },
12498
- fontSize: {
12499
- label: 'Font Size',
12500
- description: 'Text size.',
12501
- category: 'style',
12502
- specialCategory: null,
12503
- sort: 2,
12504
- preferredScale: 's',
12505
- },
12506
- fontFamily: {
12507
- label: 'Font Family',
12508
- description: 'Font family used for the text.',
12509
- category: 'style',
12510
- specialCategory: null,
12511
- sort: 3,
12512
- },
12513
- fontWeight: {
12514
- label: 'Font Weight',
12515
- description: 'Text weight.',
12516
- category: 'style',
12517
- specialCategory: null,
12518
- sort: 4,
12519
- },
12520
- textAlign: {
12521
- label: 'Text Align',
12522
- description: 'Text alignment.',
12523
- category: 'style',
12524
- specialCategory: null,
12525
- sort: 5,
12526
- },
12527
- },
12528
13406
  adjustsFontSizeToFit: {
12529
13407
  label: 'Adjust Font Size To Fit',
12530
13408
  description:
@@ -12551,6 +13429,9 @@ export const patterns = [
12551
13429
  alignSelf: 'flex-start',
12552
13430
  flexGrow: 0,
12553
13431
  flexShrink: 0,
13432
+ color: 'THEME_COLORS.TEXT',
13433
+ fontSize: '16@fs',
13434
+ fontWeight: '400',
12554
13435
  },
12555
13436
  },
12556
13437
  types: {},