@developer_tribe/react-builder 1.2.21 → 1.2.23

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 (100) hide show
  1. package/dist/attribute-analyser/style/native/useExtractImageStyle.d.ts +2 -2
  2. package/dist/build-components/Image/ImageProps.generated.d.ts +2 -4
  3. package/dist/build-components/NavigationBarColor/NavigationBarColor.d.ts +5 -0
  4. package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +54 -0
  5. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +1 -3
  6. package/dist/build-components/Separator/Separator.d.ts +5 -0
  7. package/dist/build-components/Separator/SeparatorProps.generated.d.ts +21 -0
  8. package/dist/build-components/StatusBarColor/StatusBarColor.d.ts +5 -0
  9. package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +54 -0
  10. package/dist/build-components/index.d.ts +4 -1
  11. package/dist/build-components/patterns.generated.d.ts +2105 -1253
  12. package/dist/components/AttributesEditorPanel.d.ts +1 -1
  13. package/dist/components/BuilderProvider.d.ts +1 -1
  14. package/dist/index.cjs.js +4 -4
  15. package/dist/index.cjs.js.map +1 -1
  16. package/dist/index.esm.js +4 -4
  17. package/dist/index.esm.js.map +1 -1
  18. package/dist/index.web.cjs.js +6 -6
  19. package/dist/index.web.cjs.js.map +1 -1
  20. package/dist/index.web.esm.js +4 -4
  21. package/dist/index.web.esm.js.map +1 -1
  22. package/dist/store.d.ts +4 -0
  23. package/dist/styles.css +1 -1
  24. package/dist/utils/attributeStyle.d.ts +9 -0
  25. package/dist/utils/extractImageStyle.d.ts +1 -1
  26. package/dist/utils/extractViewStyle/extractViewStyleNative.d.ts +1 -1
  27. package/package.json +2 -2
  28. package/src/DeviceMockFrame.tsx +8 -2
  29. package/src/assets/meta.json +1 -1
  30. package/src/assets/samples/paywall-1.json +39 -34
  31. package/src/assets/samples/paywall-2.json +39 -20
  32. package/src/assets/samples/paywall-app-delete-offer.json +40 -21
  33. package/src/assets/samples/paywall-app-open-offer.json +40 -21
  34. package/src/assets/samples/paywall-back-offer.json +40 -21
  35. package/src/assets/samples/paywall-notification-offer.json +40 -21
  36. package/src/assets/samples/vpn-onboard-1.json +84 -39
  37. package/src/assets/samples/vpn-onboard-2.json +85 -40
  38. package/src/assets/samples/vpn-onboard-3.json +84 -39
  39. package/src/assets/samples/vpn-onboard-4.json +84 -39
  40. package/src/assets/samples/vpn-onboard-5.json +102 -55
  41. package/src/assets/samples/vpn-onboard-6.json +87 -38
  42. package/src/attribute-analyser/style/native/useExtractImageStyle.ts +24 -22
  43. package/src/attribute-analyser/style/native/useExtractTextStyle.ts +9 -4
  44. package/src/attribute-analyser/style/native/useExtractViewStyle.ts +19 -7
  45. package/src/attributes-editor/useAttributesEditorModel.ts +23 -17
  46. package/src/build-components/BackgroundImage/pattern.json +9 -7
  47. package/src/build-components/CarouselDots/CarouselDots.tsx +12 -11
  48. package/src/build-components/CarouselProvider/CarouselProvider.tsx +3 -1
  49. package/src/build-components/Image/ImageProps.generated.ts +2 -4
  50. package/src/build-components/Image/pattern.json +12 -25
  51. package/src/build-components/NavigationBarColor/NavigationBarColor.tsx +39 -0
  52. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +71 -0
  53. package/src/build-components/NavigationBarColor/pattern.json +34 -0
  54. package/src/build-components/OnboardButtons/OnboardButtons.tsx +8 -10
  55. package/src/build-components/OnboardDot/OnboardDot.tsx +12 -10
  56. package/src/build-components/OnboardImage/OnboardImage.tsx +1 -1
  57. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -3
  58. package/src/build-components/OnboardProvider/OnboardProvider.tsx +3 -1
  59. package/src/build-components/RenderNode.generated.tsx +15 -0
  60. package/src/build-components/Separator/Separator.tsx +41 -0
  61. package/src/build-components/Separator/SeparatorProps.generated.ts +26 -0
  62. package/src/build-components/Separator/pattern.json +59 -0
  63. package/src/build-components/StatusBarColor/StatusBarColor.tsx +39 -0
  64. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +71 -0
  65. package/src/build-components/StatusBarColor/pattern.json +34 -0
  66. package/src/build-components/Text/pattern.json +45 -38
  67. package/src/build-components/index.ts +15 -0
  68. package/src/build-components/patterns.generated.ts +2149 -1272
  69. package/src/build-components/useNode.ts +24 -25
  70. package/src/components/AttributesEditorPanel.tsx +4 -5
  71. package/src/components/Builder.tsx +1 -2
  72. package/src/components/BuilderProvider.tsx +40 -3
  73. package/src/components/JsonTextEditor.tsx +2 -2
  74. package/src/components/LoadingComponent.tsx +1 -1
  75. package/src/components/RenderErrorBoundary.tsx +1 -3
  76. package/src/migrations/migrations/1.1.2_extract_component_attributes_from_style.ts +3 -3
  77. package/src/modals/BenefitPresetsModal.tsx +1 -1
  78. package/src/modals/ProductPresetsModal.tsx +1 -1
  79. package/src/pages/DebugJsonPage.tsx +7 -4
  80. package/src/pages/ProjectDebug.tsx +1 -1
  81. package/src/pages/ProjectPage.tsx +31 -32
  82. package/src/pages/ProjectValidationPage.tsx +2 -2
  83. package/src/store.ts +13 -0
  84. package/src/styles/layout/_builder.scss +6 -0
  85. package/src/utils/__special_exceptions.ts +5 -5
  86. package/src/utils/analyseNode.ts +2 -2
  87. package/src/utils/analyseNodeByPatterns.ts +10 -9
  88. package/src/utils/analyseNodeStructural.ts +1 -1
  89. package/src/utils/attributeStyle.ts +26 -0
  90. package/src/utils/extractImageStyle.ts +17 -13
  91. package/src/utils/extractTextStyle/extractTextStyle.ts +7 -7
  92. package/src/utils/extractTextStyle/extractTextStyleNative.ts +10 -10
  93. package/src/utils/extractViewStyle/extractViewStyle.ts +8 -11
  94. package/src/utils/extractViewStyle/extractViewStyleNative.ts +19 -19
  95. package/src/utils/loadFontFamily.ts +14 -19
  96. package/src/utils/logRenderStore.ts +5 -4
  97. package/src/utils/nodeTree.ts +1 -1
  98. package/src/utils/patterns.ts +26 -31
  99. package/src/utils/repairNodeKeys.ts +5 -7
  100. 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,13 +4199,11 @@ 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
  },
4187
4208
  },
4188
4209
  meta: {
@@ -4231,6 +4252,13 @@ export const patterns = [
4231
4252
  sort: 21,
4232
4253
  preferredScale: 's',
4233
4254
  },
4255
+ resizeMode: {
4256
+ label: 'Resize Mode',
4257
+ description: 'How the image fits the frame.',
4258
+ category: 'style',
4259
+ specialCategory: null,
4260
+ sort: 4,
4261
+ },
4234
4262
  },
4235
4263
  attributes: {
4236
4264
  scrollable: {
@@ -4390,10 +4418,11 @@ export const patterns = [
4390
4418
  },
4391
4419
  width: {
4392
4420
  label: 'Width',
4393
- description: 'Image width.',
4421
+ description: 'Fixed width value.',
4394
4422
  category: 'container',
4395
- specialCategory: null,
4396
- sort: 2,
4423
+ specialCategory: 'size',
4424
+ sort: 0,
4425
+ preferredScale: 's',
4397
4426
  },
4398
4427
  minWidth: {
4399
4428
  label: 'Min Width',
@@ -4413,10 +4442,11 @@ export const patterns = [
4413
4442
  },
4414
4443
  height: {
4415
4444
  label: 'Height',
4416
- description: 'Image height.',
4445
+ description: 'Fixed height value.',
4417
4446
  category: 'container',
4418
- specialCategory: null,
4447
+ specialCategory: 'size',
4419
4448
  sort: 3,
4449
+ preferredScale: 'vs',
4420
4450
  },
4421
4451
  minHeight: {
4422
4452
  label: 'Min Height',
@@ -4494,13 +4524,6 @@ export const patterns = [
4494
4524
  specialCategory: null,
4495
4525
  sort: 1,
4496
4526
  },
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
4527
  },
4505
4528
  },
4506
4529
  defaults: {
@@ -4911,8 +4934,8 @@ export const patterns = [
4911
4934
  {
4912
4935
  schemaVersion: 2,
4913
4936
  pattern: {
4914
- type: 'Onboard',
4915
- children: 'node',
4937
+ type: 'NavigationBarColor',
4938
+ children: 'never',
4916
4939
  attributes: {
4917
4940
  scrollable: 'boolean',
4918
4941
  style: {
@@ -4969,9 +4992,9 @@ export const patterns = [
4969
4992
  },
4970
4993
  },
4971
4994
  meta: {
4972
- desiredParent: ['=OnboardProvider'],
4973
- label: 'Onboard',
4974
- description: 'Wraps the onboarding flow.',
4995
+ desiredParent: ['all'],
4996
+ label: 'Navigation Bar Color',
4997
+ description: 'Sets the OS navigation bar background color.',
4975
4998
  specialCategories: {
4976
4999
  padding: {
4977
5000
  label: 'Padding',
@@ -5001,10 +5024,10 @@ export const patterns = [
5001
5024
  styles: {
5002
5025
  backgroundColor: {
5003
5026
  label: 'Background Color',
5004
- description: 'Background fill color.',
5027
+ description: 'Navigation bar background color.',
5005
5028
  category: 'style',
5006
5029
  specialCategory: null,
5007
- sort: 20,
5030
+ sort: 1,
5008
5031
  },
5009
5032
  borderRadius: {
5010
5033
  label: 'Border Radius',
@@ -5273,16 +5296,16 @@ export const patterns = [
5273
5296
  sort: 26,
5274
5297
  },
5275
5298
  },
5276
- desiredChildren: ['=OnboardItem'],
5277
5299
  },
5278
5300
  defaults: {
5279
5301
  style: {
5280
- flexDirection: 'row',
5302
+ flexDirection: 'column',
5281
5303
  position: 'relative',
5282
5304
  zIndex: 1,
5283
5305
  alignSelf: 'flex-start',
5284
5306
  flexGrow: 0,
5285
5307
  flexShrink: 0,
5308
+ backgroundColor: 'THEME_COLORS.BACKGROUND',
5286
5309
  },
5287
5310
  },
5288
5311
  types: {},
@@ -5290,8 +5313,8 @@ export const patterns = [
5290
5313
  {
5291
5314
  schemaVersion: 2,
5292
5315
  pattern: {
5293
- type: 'OnboardButton',
5294
- children: 'never',
5316
+ type: 'Onboard',
5317
+ children: 'node',
5295
5318
  attributes: {
5296
5319
  scrollable: 'boolean',
5297
5320
  style: {
@@ -5345,26 +5368,12 @@ export const patterns = [
5345
5368
  },
5346
5369
  title: 'title',
5347
5370
  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
5371
  },
5362
- defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5363
5372
  },
5364
5373
  meta: {
5365
- desiredParent: ['=OnboardButtons'],
5366
- label: 'Onboard Button',
5367
- description: 'Single action button for onboarding.',
5374
+ desiredParent: ['=OnboardProvider'],
5375
+ label: 'Onboard',
5376
+ description: 'Wraps the onboarding flow.',
5368
5377
  specialCategories: {
5369
5378
  padding: {
5370
5379
  label: 'Padding',
@@ -5407,34 +5416,6 @@ export const patterns = [
5407
5416
  sort: 21,
5408
5417
  preferredScale: 's',
5409
5418
  },
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
5419
  },
5439
5420
  attributes: {
5440
5421
  scrollable: {
@@ -5642,9 +5623,9 @@ export const patterns = [
5642
5623
  },
5643
5624
  flex: {
5644
5625
  label: 'Flex',
5645
- description: 'Flex grow value in layout.',
5626
+ description: 'Flex grow factor (e.g. 1 fills available space).',
5646
5627
  category: 'container',
5647
- specialCategory: null,
5628
+ specialCategory: 'size',
5648
5629
  sort: 6,
5649
5630
  },
5650
5631
  position: {
@@ -5693,48 +5674,26 @@ export const patterns = [
5693
5674
  specialCategory: null,
5694
5675
  sort: 26,
5695
5676
  },
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
5677
  },
5678
+ desiredChildren: ['=OnboardItem'],
5711
5679
  },
5712
5680
  defaults: {
5713
5681
  style: {
5714
- flexDirection: 'column',
5682
+ flexDirection: 'row',
5715
5683
  position: 'relative',
5716
5684
  zIndex: 1,
5717
5685
  alignSelf: 'flex-start',
5718
5686
  flexGrow: 0,
5719
5687
  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
5688
  },
5731
5689
  },
5690
+ types: {},
5732
5691
  },
5733
5692
  {
5734
5693
  schemaVersion: 2,
5735
5694
  pattern: {
5736
- type: 'OnboardButtons',
5737
- children: 'node',
5695
+ type: 'OnboardButton',
5696
+ children: 'never',
5738
5697
  attributes: {
5739
5698
  scrollable: 'boolean',
5740
5699
  style: {
@@ -5788,30 +5747,26 @@ export const patterns = [
5788
5747
  },
5789
5748
  title: 'title',
5790
5749
  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
- },
5750
+ labelKey: 'string',
5751
+ button_text_color: 'color',
5752
+ animation: [
5753
+ 'simple-animation',
5754
+ 'line-animation',
5755
+ 'blur',
5756
+ 'blur-animation',
5757
+ 'blur-line-animation',
5758
+ ],
5759
+ animation_color: 'color',
5760
+ button_background_color: 'color',
5761
+ flex: 'number',
5762
+ events: 'EventObject[]',
5809
5763
  },
5764
+ defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5810
5765
  },
5811
5766
  meta: {
5812
- desiredParent: ['=OnboardItem'],
5813
- label: 'Onboard Buttons',
5814
- description: 'Wrapper for onboarding button set.',
5767
+ desiredParent: ['=OnboardButtons'],
5768
+ label: 'Onboard Button',
5769
+ description: 'Single action button for onboarding.',
5815
5770
  specialCategories: {
5816
5771
  padding: {
5817
5772
  label: 'Padding',
@@ -5854,9 +5809,30 @@ export const patterns = [
5854
5809
  sort: 21,
5855
5810
  preferredScale: 's',
5856
5811
  },
5857
- seperatorColor: {
5858
- label: 'Seperator Color',
5859
- description: 'Color of the divider line.',
5812
+ button_text_color: {
5813
+ label: 'Button Text Color',
5814
+ description: 'Text color of the button.',
5815
+ category: 'style',
5816
+ specialCategory: null,
5817
+ sort: 2,
5818
+ },
5819
+ animation: {
5820
+ label: 'Animation',
5821
+ description: 'Animation style for the button.',
5822
+ category: 'style',
5823
+ specialCategory: null,
5824
+ sort: 3,
5825
+ },
5826
+ animation_color: {
5827
+ label: 'Animation Color',
5828
+ description: 'Color used by the animation.',
5829
+ category: 'style',
5830
+ specialCategory: null,
5831
+ sort: 4,
5832
+ },
5833
+ button_background_color: {
5834
+ label: 'Button Background Color',
5835
+ description: 'Background color of the button.',
5860
5836
  category: 'style',
5861
5837
  specialCategory: null,
5862
5838
  sort: 5,
@@ -6068,9 +6044,9 @@ export const patterns = [
6068
6044
  },
6069
6045
  flex: {
6070
6046
  label: 'Flex',
6071
- description: 'Flex grow factor (e.g. 1 fills available space).',
6047
+ description: 'Flex grow value in layout.',
6072
6048
  category: 'container',
6073
- specialCategory: 'size',
6049
+ specialCategory: null,
6074
6050
  sort: 6,
6075
6051
  },
6076
6052
  position: {
@@ -6119,44 +6095,16 @@ export const patterns = [
6119
6095
  specialCategory: null,
6120
6096
  sort: 26,
6121
6097
  },
6122
- buttonType: {
6123
- label: 'Button Type',
6124
- description: 'Which onboard button to show.',
6098
+ labelKey: {
6099
+ label: 'Label Key',
6100
+ description: 'Localization key for the button text.',
6125
6101
  category: 'other',
6126
6102
  specialCategory: null,
6127
6103
  sort: 1,
6128
6104
  },
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.',
6105
+ events: {
6106
+ label: 'Events',
6107
+ description: 'List of events fired by the button.',
6160
6108
  category: 'other',
6161
6109
  specialCategory: null,
6162
6110
  sort: 7,
@@ -6165,27 +6113,30 @@ export const patterns = [
6165
6113
  },
6166
6114
  defaults: {
6167
6115
  style: {
6168
- flexDirection: 'row',
6116
+ flexDirection: 'column',
6169
6117
  position: 'relative',
6170
6118
  zIndex: 1,
6171
6119
  alignSelf: 'flex-start',
6172
6120
  flexGrow: 0,
6173
6121
  flexShrink: 0,
6174
- display: 'flex',
6175
- gap: 12,
6176
- alignItems: 'center',
6177
- justifyContent: 'center',
6178
- marginVertical: '12@vs',
6179
- marginHorizontal: '24@s',
6122
+ height: '40@vs',
6123
+ borderRadius: '12@s',
6124
+ },
6125
+ },
6126
+ types: {
6127
+ EventObject: {
6128
+ type: ['Permission', 'Navigate'],
6129
+ permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
6130
+ navigate_to: 'string',
6131
+ targetIndex: 'number',
6180
6132
  },
6181
6133
  },
6182
- types: {},
6183
6134
  },
6184
6135
  {
6185
6136
  schemaVersion: 2,
6186
6137
  pattern: {
6187
- type: 'OnboardDot',
6188
- children: 'never',
6138
+ type: 'OnboardButtons',
6139
+ children: 'node',
6189
6140
  attributes: {
6190
6141
  scrollable: 'boolean',
6191
6142
  style: {
@@ -6239,27 +6190,30 @@ export const patterns = [
6239
6190
  },
6240
6191
  title: 'title',
6241
6192
  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',
6193
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
6194
+ skipNumber: 'number',
6195
+ buttons_direction: ['row', 'column'],
6196
+ forIndex: 'number',
6197
+ seperatorColor: 'color',
6198
+ condition: ['carousel-index'],
6199
+ conditionVariable: 'number',
6200
+ },
6201
+ defaults: {
6202
+ style: {
6203
+ display: 'flex',
6204
+ flexDirection: 'row',
6205
+ gap: 12,
6206
+ alignItems: 'center',
6207
+ justifyContent: 'center',
6208
+ marginVertical: '12@vs',
6209
+ marginHorizontal: '24@s',
6210
+ },
6257
6211
  },
6258
6212
  },
6259
6213
  meta: {
6260
- desiredParent: ['>OnboardProvider'],
6261
- label: 'Onboard Dot',
6262
- description: 'Renders onboarding progress dots.',
6214
+ desiredParent: ['=OnboardItem'],
6215
+ label: 'Onboard Buttons',
6216
+ description: 'Wrapper for onboarding button set.',
6263
6217
  specialCategories: {
6264
6218
  padding: {
6265
6219
  label: 'Padding',
@@ -6302,43 +6256,937 @@ export const patterns = [
6302
6256
  sort: 21,
6303
6257
  preferredScale: 's',
6304
6258
  },
6305
- dotType: {
6306
- label: 'Dot Type',
6307
- description: 'Dot animation style.',
6308
- category: 'style',
6309
- specialCategory: null,
6259
+ seperatorColor: {
6260
+ label: 'Seperator Color',
6261
+ description: 'Color of the divider line.',
6262
+ category: 'style',
6263
+ specialCategory: null,
6264
+ sort: 5,
6265
+ },
6266
+ },
6267
+ attributes: {
6268
+ scrollable: {
6269
+ label: 'Scrollable',
6270
+ description: 'Turns scroll interaction on.',
6271
+ category: 'container',
6272
+ specialCategory: null,
6273
+ sort: -1,
6274
+ },
6275
+ flexDirection: {
6276
+ label: 'Flex Direction',
6277
+ description: 'Sets row or column layout.',
6278
+ category: 'container',
6279
+ specialCategory: null,
6280
+ sort: 4,
6281
+ },
6282
+ flexWrap: {
6283
+ label: 'Flex Wrap',
6284
+ description: 'Controls whether flex items wrap to multiple lines.',
6285
+ category: 'container',
6286
+ specialCategory: null,
6287
+ sort: 4.5,
6288
+ },
6289
+ alignItems: {
6290
+ label: 'Align Items',
6291
+ description: 'Controls cross-axis alignment.',
6292
+ category: 'container',
6293
+ specialCategory: null,
6294
+ sort: 3,
6295
+ },
6296
+ justifyContent: {
6297
+ label: 'Justify Content',
6298
+ description: 'Controls main-axis alignment.',
6299
+ category: 'container',
6300
+ specialCategory: null,
6301
+ sort: 5,
6302
+ },
6303
+ gap: {
6304
+ label: 'Gap',
6305
+ description: 'Space between children.',
6306
+ category: 'container',
6307
+ specialCategory: null,
6308
+ sort: 10,
6309
+ preferredScale: 's',
6310
+ },
6311
+ padding: {
6312
+ label: 'Padding',
6313
+ description: 'Uniform padding on all sides.',
6314
+ category: 'container',
6315
+ specialCategory: 'padding',
6316
+ sort: 6,
6317
+ preferredScale: 's',
6318
+ },
6319
+ paddingHorizontal: {
6320
+ label: 'Padding Horizontal',
6321
+ description: 'Left and right padding.',
6322
+ category: 'container',
6323
+ specialCategory: 'padding',
6324
+ sort: 7,
6325
+ preferredScale: 's',
6326
+ },
6327
+ paddingVertical: {
6328
+ label: 'Padding Vertical',
6329
+ description: 'Top and bottom padding.',
6330
+ category: 'container',
6331
+ specialCategory: 'padding',
6332
+ sort: 8,
6333
+ preferredScale: 'vs',
6334
+ },
6335
+ paddingTop: {
6336
+ label: 'Padding Top',
6337
+ description: 'Top padding only.',
6338
+ category: 'container',
6339
+ specialCategory: 'padding',
6340
+ sort: 9,
6341
+ preferredScale: 'vs',
6342
+ },
6343
+ paddingBottom: {
6344
+ label: 'Padding Bottom',
6345
+ description: 'Bottom padding only.',
6346
+ category: 'container',
6347
+ specialCategory: 'padding',
6348
+ sort: 10,
6349
+ preferredScale: 'vs',
6350
+ },
6351
+ paddingLeft: {
6352
+ label: 'Padding Left',
6353
+ description: 'Left padding only.',
6354
+ category: 'container',
6355
+ specialCategory: 'padding',
6356
+ sort: 11,
6357
+ preferredScale: 's',
6358
+ },
6359
+ paddingRight: {
6360
+ label: 'Padding Right',
6361
+ description: 'Right padding only.',
6362
+ category: 'container',
6363
+ specialCategory: 'padding',
6364
+ sort: 12,
6365
+ preferredScale: 's',
6366
+ },
6367
+ margin: {
6368
+ label: 'Margin',
6369
+ description: 'Uniform margin on all sides.',
6370
+ category: 'container',
6371
+ specialCategory: 'margin',
6372
+ sort: 13,
6373
+ preferredScale: 's',
6374
+ },
6375
+ marginHorizontal: {
6376
+ label: 'Margin Horizontal',
6377
+ description: 'Left and right margin.',
6378
+ category: 'container',
6379
+ specialCategory: 'margin',
6380
+ sort: 14,
6381
+ preferredScale: 's',
6382
+ },
6383
+ marginVertical: {
6384
+ label: 'Margin Vertical',
6385
+ description: 'Top and bottom margin.',
6386
+ category: 'container',
6387
+ specialCategory: 'margin',
6388
+ sort: 15,
6389
+ preferredScale: 'vs',
6390
+ },
6391
+ marginTop: {
6392
+ label: 'Margin Top',
6393
+ description: 'Top margin only.',
6394
+ category: 'container',
6395
+ specialCategory: 'margin',
6396
+ sort: 16,
6397
+ preferredScale: 'vs',
6398
+ },
6399
+ marginBottom: {
6400
+ label: 'Margin Bottom',
6401
+ description: 'Bottom margin only.',
6402
+ category: 'container',
6403
+ specialCategory: 'margin',
6404
+ sort: 17,
6405
+ preferredScale: 'vs',
6406
+ },
6407
+ marginLeft: {
6408
+ label: 'Margin Left',
6409
+ description: 'Left margin only.',
6410
+ category: 'container',
6411
+ specialCategory: 'margin',
6412
+ sort: 18,
6413
+ preferredScale: 's',
6414
+ },
6415
+ marginRight: {
6416
+ label: 'Margin Right',
6417
+ description: 'Right margin only.',
6418
+ category: 'container',
6419
+ specialCategory: 'margin',
6420
+ sort: 19,
6421
+ preferredScale: 's',
6422
+ },
6423
+ width: {
6424
+ label: 'Width',
6425
+ description: 'Fixed width value.',
6426
+ category: 'container',
6427
+ specialCategory: 'size',
6428
+ sort: 0,
6429
+ preferredScale: 's',
6430
+ },
6431
+ minWidth: {
6432
+ label: 'Min Width',
6433
+ description: 'Minimum width constraint.',
6434
+ category: 'container',
6435
+ specialCategory: 'size',
6436
+ sort: 1,
6437
+ preferredScale: 's',
6438
+ },
6439
+ maxWidth: {
6440
+ label: 'Max Width',
6441
+ description: 'Maximum width constraint.',
6442
+ category: 'container',
6443
+ specialCategory: 'size',
6444
+ sort: 2,
6445
+ preferredScale: 's',
6446
+ },
6447
+ height: {
6448
+ label: 'Height',
6449
+ description: 'Fixed height value.',
6450
+ category: 'container',
6451
+ specialCategory: 'size',
6452
+ sort: 3,
6453
+ preferredScale: 'vs',
6454
+ },
6455
+ minHeight: {
6456
+ label: 'Min Height',
6457
+ description: 'Minimum height constraint.',
6458
+ category: 'container',
6459
+ specialCategory: 'size',
6460
+ sort: 4,
6461
+ preferredScale: 'vs',
6462
+ },
6463
+ maxHeight: {
6464
+ label: 'Max Height',
6465
+ description: 'Maximum height constraint.',
6466
+ category: 'container',
6467
+ specialCategory: 'size',
6468
+ sort: 5,
6469
+ preferredScale: 'vs',
6470
+ },
6471
+ flex: {
6472
+ label: 'Flex',
6473
+ description: 'Flex grow factor (e.g. 1 fills available space).',
6474
+ category: 'container',
6475
+ specialCategory: 'size',
6476
+ sort: 6,
6477
+ },
6478
+ position: {
6479
+ label: 'Position',
6480
+ description: 'Sets layout positioning mode.',
6481
+ category: 'container',
6482
+ specialCategory: null,
6483
+ sort: 3,
6484
+ },
6485
+ top: {
6486
+ label: 'Top',
6487
+ description: 'Offset from the top edge.',
6488
+ category: 'container',
6489
+ specialCategory: 'offset',
6490
+ sort: 22,
6491
+ preferredScale: 'vs',
6492
+ },
6493
+ bottom: {
6494
+ label: 'Bottom',
6495
+ description: 'Offset from the bottom edge.',
6496
+ category: 'container',
6497
+ specialCategory: 'offset',
6498
+ sort: 23,
6499
+ preferredScale: 'vs',
6500
+ },
6501
+ left: {
6502
+ label: 'Left',
6503
+ description: 'Offset from the left edge.',
6504
+ category: 'container',
6505
+ specialCategory: 'offset',
6506
+ sort: 24,
6507
+ preferredScale: 's',
6508
+ },
6509
+ right: {
6510
+ label: 'Right',
6511
+ description: 'Offset from the right edge.',
6512
+ category: 'container',
6513
+ specialCategory: 'offset',
6514
+ sort: 25,
6515
+ preferredScale: 's',
6516
+ },
6517
+ zIndex: {
6518
+ label: 'Z-Index',
6519
+ description: 'Controls stacking order.',
6520
+ category: 'container',
6521
+ specialCategory: null,
6522
+ sort: 26,
6523
+ },
6524
+ buttonType: {
6525
+ label: 'Button Type',
6526
+ description: 'Which onboard button to show.',
6527
+ category: 'other',
6528
+ specialCategory: null,
6529
+ sort: 1,
6530
+ },
6531
+ skipNumber: {
6532
+ label: 'Skip Number',
6533
+ description: 'Slide index to skip to.',
6534
+ category: 'other',
6535
+ specialCategory: null,
6536
+ sort: 2,
6537
+ },
6538
+ buttons_direction: {
6539
+ label: 'Buttons Direction',
6540
+ description: 'Direction to lay out buttons.',
6541
+ category: 'container',
6542
+ specialCategory: null,
6543
+ sort: 3,
6544
+ },
6545
+ forIndex: {
6546
+ label: 'For Index',
6547
+ description: 'Show only for this slide index.',
6548
+ category: 'other',
6549
+ specialCategory: null,
6550
+ sort: 4,
6551
+ },
6552
+ condition: {
6553
+ label: 'Condition',
6554
+ description: 'Built-in condition to check.',
6555
+ category: 'other',
6556
+ specialCategory: null,
6557
+ sort: 6,
6558
+ },
6559
+ conditionVariable: {
6560
+ label: 'Condition Variable',
6561
+ description: 'Value used when checking the condition.',
6562
+ category: 'other',
6563
+ specialCategory: null,
6564
+ sort: 7,
6565
+ },
6566
+ },
6567
+ },
6568
+ defaults: {
6569
+ style: {
6570
+ flexDirection: 'row',
6571
+ position: 'relative',
6572
+ zIndex: 1,
6573
+ alignSelf: 'flex-start',
6574
+ flexGrow: 0,
6575
+ flexShrink: 0,
6576
+ display: 'flex',
6577
+ gap: 12,
6578
+ alignItems: 'center',
6579
+ justifyContent: 'center',
6580
+ marginVertical: '12@vs',
6581
+ marginHorizontal: '24@s',
6582
+ },
6583
+ },
6584
+ types: {},
6585
+ },
6586
+ {
6587
+ schemaVersion: 2,
6588
+ pattern: {
6589
+ type: 'OnboardDot',
6590
+ children: 'never',
6591
+ attributes: {
6592
+ scrollable: 'boolean',
6593
+ style: {
6594
+ flexDirection: ['row', 'column'],
6595
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6596
+ alignItems: [
6597
+ 'flex-start',
6598
+ 'center',
6599
+ 'flex-end',
6600
+ 'stretch',
6601
+ 'baseline',
6602
+ ],
6603
+ justifyContent: [
6604
+ 'flex-start',
6605
+ 'center',
6606
+ 'flex-end',
6607
+ 'space-between',
6608
+ 'space-around',
6609
+ 'space-evenly',
6610
+ ],
6611
+ gap: 'size',
6612
+ padding: 'size',
6613
+ paddingHorizontal: 'size',
6614
+ paddingVertical: 'size',
6615
+ paddingTop: 'size',
6616
+ paddingBottom: 'size',
6617
+ paddingLeft: 'size',
6618
+ paddingRight: 'size',
6619
+ margin: 'size',
6620
+ marginHorizontal: 'size',
6621
+ marginVertical: 'size',
6622
+ marginTop: 'size',
6623
+ marginBottom: 'size',
6624
+ marginLeft: 'size',
6625
+ marginRight: 'size',
6626
+ backgroundColor: 'color',
6627
+ borderRadius: 'size',
6628
+ width: 'size',
6629
+ minWidth: 'size',
6630
+ maxWidth: 'size',
6631
+ height: 'size',
6632
+ minHeight: 'size',
6633
+ maxHeight: 'size',
6634
+ flex: 'number',
6635
+ position: ['relative', 'absolute'],
6636
+ top: 'size',
6637
+ bottom: 'size',
6638
+ left: 'size',
6639
+ right: 'size',
6640
+ zIndex: 'number',
6641
+ },
6642
+ title: 'title',
6643
+ description: 'description',
6644
+ dotType: [
6645
+ 'expanding_dot',
6646
+ 'normal_dot',
6647
+ 'scaling_dot',
6648
+ 'sliding_border',
6649
+ 'sliding_dot',
6650
+ 'liquid_like',
6651
+ ],
6652
+ dot_thickness: 'size',
6653
+ inactive_dot_opacity: 'number',
6654
+ inactive_dot_color: 'color',
6655
+ active_dot_color: 'color',
6656
+ flexDirection: 'never',
6657
+ alignItems: 'never',
6658
+ justifyContent: 'never',
6659
+ },
6660
+ },
6661
+ meta: {
6662
+ desiredParent: ['>OnboardProvider'],
6663
+ label: 'Onboard Dot',
6664
+ description: 'Renders onboarding progress dots.',
6665
+ specialCategories: {
6666
+ padding: {
6667
+ label: 'Padding',
6668
+ description: 'Uniform padding on all sides.',
6669
+ category: 'container',
6670
+ sort: 1,
6671
+ },
6672
+ margin: {
6673
+ label: 'Margin',
6674
+ description: 'Uniform margin on all sides.',
6675
+ category: 'container',
6676
+ sort: 2,
6677
+ },
6678
+ size: {
6679
+ label: 'Size',
6680
+ description: 'Fixed dimensions.',
6681
+ category: 'container',
6682
+ sort: 3,
6683
+ },
6684
+ offset: {
6685
+ label: 'Offset',
6686
+ description: 'Absolute positioning offsets.',
6687
+ category: 'container',
6688
+ sort: 4,
6689
+ },
6690
+ },
6691
+ styles: {
6692
+ backgroundColor: {
6693
+ label: 'Background Color',
6694
+ description: 'Background fill color.',
6695
+ category: 'style',
6696
+ specialCategory: null,
6697
+ sort: 20,
6698
+ },
6699
+ borderRadius: {
6700
+ label: 'Border Radius',
6701
+ description: 'Corner rounding amount.',
6702
+ category: 'style',
6703
+ specialCategory: null,
6704
+ sort: 21,
6705
+ preferredScale: 's',
6706
+ },
6707
+ dotType: {
6708
+ label: 'Dot Type',
6709
+ description: 'Dot animation style.',
6710
+ category: 'style',
6711
+ specialCategory: null,
6712
+ sort: 1,
6713
+ },
6714
+ inactive_dot_opacity: {
6715
+ label: 'Inactive Dot Opacity',
6716
+ description: 'Opacity for inactive dots.',
6717
+ category: 'style',
6718
+ specialCategory: null,
6719
+ sort: 3,
6720
+ },
6721
+ inactive_dot_color: {
6722
+ label: 'Inactive Dot Color',
6723
+ description: 'Color of inactive dots.',
6724
+ category: 'style',
6725
+ specialCategory: null,
6726
+ sort: 4,
6727
+ },
6728
+ dot_thickness: {
6729
+ label: 'Dot Thickness',
6730
+ description: 'Dot size/diameter.',
6731
+ category: 'style',
6732
+ specialCategory: null,
6733
+ sort: 2,
6734
+ },
6735
+ active_dot_color: {
6736
+ label: 'Active Dot Color',
6737
+ description: 'Color of the active dot.',
6738
+ category: 'style',
6739
+ specialCategory: null,
6740
+ sort: 5,
6741
+ },
6742
+ },
6743
+ attributes: {
6744
+ scrollable: {
6745
+ label: 'Scrollable',
6746
+ description: 'Turns scroll interaction on.',
6747
+ category: 'container',
6748
+ specialCategory: null,
6749
+ sort: -1,
6750
+ },
6751
+ flexDirection: {
6752
+ label: 'Flex Direction',
6753
+ description: 'Sets row or column layout.',
6754
+ category: 'container',
6755
+ specialCategory: null,
6756
+ sort: 4,
6757
+ },
6758
+ flexWrap: {
6759
+ label: 'Flex Wrap',
6760
+ description: 'Controls whether flex items wrap to multiple lines.',
6761
+ category: 'container',
6762
+ specialCategory: null,
6763
+ sort: 4.5,
6764
+ },
6765
+ alignItems: {
6766
+ label: 'Align Items',
6767
+ description: 'Controls cross-axis alignment.',
6768
+ category: 'container',
6769
+ specialCategory: null,
6770
+ sort: 3,
6771
+ },
6772
+ justifyContent: {
6773
+ label: 'Justify Content',
6774
+ description: 'Controls main-axis alignment.',
6775
+ category: 'container',
6776
+ specialCategory: null,
6777
+ sort: 5,
6778
+ },
6779
+ gap: {
6780
+ label: 'Gap',
6781
+ description: 'Space between children.',
6782
+ category: 'container',
6783
+ specialCategory: null,
6784
+ sort: 10,
6785
+ preferredScale: 's',
6786
+ },
6787
+ padding: {
6788
+ label: 'Padding',
6789
+ description: 'Uniform padding on all sides.',
6790
+ category: 'container',
6791
+ specialCategory: 'padding',
6792
+ sort: 6,
6793
+ preferredScale: 's',
6794
+ },
6795
+ paddingHorizontal: {
6796
+ label: 'Padding Horizontal',
6797
+ description: 'Left and right padding.',
6798
+ category: 'container',
6799
+ specialCategory: 'padding',
6800
+ sort: 7,
6801
+ preferredScale: 's',
6802
+ },
6803
+ paddingVertical: {
6804
+ label: 'Padding Vertical',
6805
+ description: 'Top and bottom padding.',
6806
+ category: 'container',
6807
+ specialCategory: 'padding',
6808
+ sort: 8,
6809
+ preferredScale: 'vs',
6810
+ },
6811
+ paddingTop: {
6812
+ label: 'Padding Top',
6813
+ description: 'Top padding only.',
6814
+ category: 'container',
6815
+ specialCategory: 'padding',
6816
+ sort: 9,
6817
+ preferredScale: 'vs',
6818
+ },
6819
+ paddingBottom: {
6820
+ label: 'Padding Bottom',
6821
+ description: 'Bottom padding only.',
6822
+ category: 'container',
6823
+ specialCategory: 'padding',
6824
+ sort: 10,
6825
+ preferredScale: 'vs',
6826
+ },
6827
+ paddingLeft: {
6828
+ label: 'Padding Left',
6829
+ description: 'Left padding only.',
6830
+ category: 'container',
6831
+ specialCategory: 'padding',
6832
+ sort: 11,
6833
+ preferredScale: 's',
6834
+ },
6835
+ paddingRight: {
6836
+ label: 'Padding Right',
6837
+ description: 'Right padding only.',
6838
+ category: 'container',
6839
+ specialCategory: 'padding',
6840
+ sort: 12,
6841
+ preferredScale: 's',
6842
+ },
6843
+ margin: {
6844
+ label: 'Margin',
6845
+ description: 'Uniform margin on all sides.',
6846
+ category: 'container',
6847
+ specialCategory: 'margin',
6848
+ sort: 13,
6849
+ preferredScale: 's',
6850
+ },
6851
+ marginHorizontal: {
6852
+ label: 'Margin Horizontal',
6853
+ description: 'Left and right margin.',
6854
+ category: 'container',
6855
+ specialCategory: 'margin',
6856
+ sort: 14,
6857
+ preferredScale: 's',
6858
+ },
6859
+ marginVertical: {
6860
+ label: 'Margin Vertical',
6861
+ description: 'Top and bottom margin.',
6862
+ category: 'container',
6863
+ specialCategory: 'margin',
6864
+ sort: 15,
6865
+ preferredScale: 'vs',
6866
+ },
6867
+ marginTop: {
6868
+ label: 'Margin Top',
6869
+ description: 'Top margin only.',
6870
+ category: 'container',
6871
+ specialCategory: 'margin',
6872
+ sort: 16,
6873
+ preferredScale: 'vs',
6874
+ },
6875
+ marginBottom: {
6876
+ label: 'Margin Bottom',
6877
+ description: 'Bottom margin only.',
6878
+ category: 'container',
6879
+ specialCategory: 'margin',
6880
+ sort: 17,
6881
+ preferredScale: 'vs',
6882
+ },
6883
+ marginLeft: {
6884
+ label: 'Margin Left',
6885
+ description: 'Left margin only.',
6886
+ category: 'container',
6887
+ specialCategory: 'margin',
6888
+ sort: 18,
6889
+ preferredScale: 's',
6890
+ },
6891
+ marginRight: {
6892
+ label: 'Margin Right',
6893
+ description: 'Right margin only.',
6894
+ category: 'container',
6895
+ specialCategory: 'margin',
6896
+ sort: 19,
6897
+ preferredScale: 's',
6898
+ },
6899
+ width: {
6900
+ label: 'Width',
6901
+ description: 'Fixed width value.',
6902
+ category: 'container',
6903
+ specialCategory: 'size',
6904
+ sort: 0,
6905
+ preferredScale: 's',
6906
+ },
6907
+ minWidth: {
6908
+ label: 'Min Width',
6909
+ description: 'Minimum width constraint.',
6910
+ category: 'container',
6911
+ specialCategory: 'size',
6310
6912
  sort: 1,
6913
+ preferredScale: 's',
6311
6914
  },
6312
- inactive_dot_opacity: {
6313
- label: 'Inactive Dot Opacity',
6314
- description: 'Opacity for inactive dots.',
6915
+ maxWidth: {
6916
+ label: 'Max Width',
6917
+ description: 'Maximum width constraint.',
6918
+ category: 'container',
6919
+ specialCategory: 'size',
6920
+ sort: 2,
6921
+ preferredScale: 's',
6922
+ },
6923
+ height: {
6924
+ label: 'Height',
6925
+ description: 'Fixed height value.',
6926
+ category: 'container',
6927
+ specialCategory: 'size',
6928
+ sort: 3,
6929
+ preferredScale: 'vs',
6930
+ },
6931
+ minHeight: {
6932
+ label: 'Min Height',
6933
+ description: 'Minimum height constraint.',
6934
+ category: 'container',
6935
+ specialCategory: 'size',
6936
+ sort: 4,
6937
+ preferredScale: 'vs',
6938
+ },
6939
+ maxHeight: {
6940
+ label: 'Max Height',
6941
+ description: 'Maximum height constraint.',
6942
+ category: 'container',
6943
+ specialCategory: 'size',
6944
+ sort: 5,
6945
+ preferredScale: 'vs',
6946
+ },
6947
+ flex: {
6948
+ label: 'Flex',
6949
+ description: 'Flex grow factor (e.g. 1 fills available space).',
6950
+ category: 'container',
6951
+ specialCategory: 'size',
6952
+ sort: 6,
6953
+ },
6954
+ position: {
6955
+ label: 'Position',
6956
+ description: 'Sets layout positioning mode.',
6957
+ category: 'container',
6958
+ specialCategory: null,
6959
+ sort: 3,
6960
+ },
6961
+ top: {
6962
+ label: 'Top',
6963
+ description: 'Offset from the top edge.',
6964
+ category: 'container',
6965
+ specialCategory: 'offset',
6966
+ sort: 22,
6967
+ preferredScale: 'vs',
6968
+ },
6969
+ bottom: {
6970
+ label: 'Bottom',
6971
+ description: 'Offset from the bottom edge.',
6972
+ category: 'container',
6973
+ specialCategory: 'offset',
6974
+ sort: 23,
6975
+ preferredScale: 'vs',
6976
+ },
6977
+ left: {
6978
+ label: 'Left',
6979
+ description: 'Offset from the left edge.',
6980
+ category: 'container',
6981
+ specialCategory: 'offset',
6982
+ sort: 24,
6983
+ preferredScale: 's',
6984
+ },
6985
+ right: {
6986
+ label: 'Right',
6987
+ description: 'Offset from the right edge.',
6988
+ category: 'container',
6989
+ specialCategory: 'offset',
6990
+ sort: 25,
6991
+ preferredScale: 's',
6992
+ },
6993
+ zIndex: {
6994
+ label: 'Z-Index',
6995
+ description: 'Controls stacking order.',
6996
+ category: 'container',
6997
+ specialCategory: null,
6998
+ sort: 26,
6999
+ },
7000
+ },
7001
+ },
7002
+ defaults: {
7003
+ style: {
7004
+ flexDirection: 'row',
7005
+ position: 'relative',
7006
+ zIndex: 1,
7007
+ alignSelf: 'flex-start',
7008
+ flexGrow: 0,
7009
+ flexShrink: 0,
7010
+ alignItems: 'center',
7011
+ justifyContent: 'center',
7012
+ gap: '12@s',
7013
+ },
7014
+ dotType: 'expanding_dot',
7015
+ dot_thickness: 10,
7016
+ inactive_dot_opacity: 0.3,
7017
+ active_dot_color: '#007AFF',
7018
+ },
7019
+ types: {},
7020
+ },
7021
+ {
7022
+ schemaVersion: 2,
7023
+ pattern: {
7024
+ type: 'OnboardFooter',
7025
+ children: 'node',
7026
+ attributes: {
7027
+ title: 'title',
7028
+ description: 'description',
7029
+ adjustsFontSizeToFit: 'boolean',
7030
+ showEllipsis: 'boolean',
7031
+ style: {
7032
+ color: 'color',
7033
+ fontSize: 'size',
7034
+ fontFamily: 'fontFamily',
7035
+ fontWeight: 'fontWeight',
7036
+ textAlign: ['left', 'center', 'right', 'justify'],
7037
+ flexDirection: ['row', 'column'],
7038
+ flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7039
+ alignItems: [
7040
+ 'flex-start',
7041
+ 'center',
7042
+ 'flex-end',
7043
+ 'stretch',
7044
+ 'baseline',
7045
+ ],
7046
+ justifyContent: [
7047
+ 'flex-start',
7048
+ 'center',
7049
+ 'flex-end',
7050
+ 'space-between',
7051
+ 'space-around',
7052
+ 'space-evenly',
7053
+ ],
7054
+ gap: 'size',
7055
+ padding: 'size',
7056
+ paddingHorizontal: 'size',
7057
+ paddingVertical: 'size',
7058
+ paddingTop: 'size',
7059
+ paddingBottom: 'size',
7060
+ paddingLeft: 'size',
7061
+ paddingRight: 'size',
7062
+ margin: 'size',
7063
+ marginHorizontal: 'size',
7064
+ marginVertical: 'size',
7065
+ marginTop: 'size',
7066
+ marginBottom: 'size',
7067
+ marginLeft: 'size',
7068
+ marginRight: 'size',
7069
+ backgroundColor: 'color',
7070
+ borderRadius: 'size',
7071
+ width: 'size',
7072
+ minWidth: 'size',
7073
+ maxWidth: 'size',
7074
+ height: 'size',
7075
+ minHeight: 'size',
7076
+ maxHeight: 'size',
7077
+ flex: 'number',
7078
+ position: ['relative', 'absolute'],
7079
+ top: 'size',
7080
+ bottom: 'size',
7081
+ left: 'size',
7082
+ right: 'size',
7083
+ zIndex: 'number',
7084
+ },
7085
+ scrollable: 'boolean',
7086
+ textLocalizationKey: 'string',
7087
+ linkedWordFirstLocalizationKey: 'string',
7088
+ linkedWordFirstColor: 'color',
7089
+ linkedWordFirstPage: 'string',
7090
+ linkedWordSecondLocalizationKey: 'string',
7091
+ linkedWordSecondColor: 'color',
7092
+ linkedWordSecondPage: 'string',
7093
+ },
7094
+ defaults: {
7095
+ style: {
7096
+ color: 'THEME_COLORS.TEXT',
7097
+ fontSize: '16@fs',
7098
+ fontWeight: '400',
7099
+ },
7100
+ },
7101
+ },
7102
+ meta: {
7103
+ desiredParent: ['>OnboardItem'],
7104
+ label: 'Onboard Footer',
7105
+ description: 'Footer text with optional links.',
7106
+ styles: {
7107
+ color: {
7108
+ label: 'Color',
7109
+ description: 'Text color.',
7110
+ category: 'style',
7111
+ specialCategory: null,
7112
+ sort: 1,
7113
+ },
7114
+ fontSize: {
7115
+ label: 'Font Size',
7116
+ description: 'Text size.',
7117
+ category: 'style',
7118
+ specialCategory: null,
7119
+ sort: 2,
7120
+ preferredScale: 's',
7121
+ },
7122
+ fontFamily: {
7123
+ label: 'Font Family',
7124
+ description: 'Font family used for the text.',
6315
7125
  category: 'style',
6316
7126
  specialCategory: null,
6317
7127
  sort: 3,
6318
7128
  },
6319
- inactive_dot_color: {
6320
- label: 'Inactive Dot Color',
6321
- description: 'Color of inactive dots.',
7129
+ fontWeight: {
7130
+ label: 'Font Weight',
7131
+ description: 'Text weight.',
7132
+ category: 'style',
7133
+ specialCategory: null,
7134
+ sort: 4,
7135
+ },
7136
+ textAlign: {
7137
+ label: 'Text Align',
7138
+ description: 'Text alignment.',
7139
+ category: 'style',
7140
+ specialCategory: null,
7141
+ sort: 5,
7142
+ },
7143
+ backgroundColor: {
7144
+ label: 'Background Color',
7145
+ description: 'Background fill color.',
7146
+ category: 'style',
7147
+ specialCategory: null,
7148
+ sort: 20,
7149
+ },
7150
+ borderRadius: {
7151
+ label: 'Border Radius',
7152
+ description: 'Corner rounding amount.',
6322
7153
  category: 'style',
6323
7154
  specialCategory: null,
6324
- sort: 4,
7155
+ sort: 21,
7156
+ preferredScale: 's',
6325
7157
  },
6326
- dot_thickness: {
6327
- label: 'Dot Thickness',
6328
- description: 'Dot size/diameter.',
7158
+ linkedWordFirstColor: {
7159
+ label: 'Linked Word First Color',
7160
+ description: 'Color of the first linked word.',
6329
7161
  category: 'style',
6330
7162
  specialCategory: null,
6331
- sort: 2,
7163
+ sort: 3,
6332
7164
  },
6333
- active_dot_color: {
6334
- label: 'Active Dot Color',
6335
- description: 'Color of the active dot.',
7165
+ linkedWordSecondColor: {
7166
+ label: 'Linked Word Second Color',
7167
+ description: 'Color of the second linked word.',
6336
7168
  category: 'style',
6337
7169
  specialCategory: null,
6338
- sort: 5,
7170
+ sort: 6,
6339
7171
  },
6340
7172
  },
6341
7173
  attributes: {
7174
+ adjustsFontSizeToFit: {
7175
+ label: 'Adjust Font Size To Fit',
7176
+ description:
7177
+ 'Automatically reduces font size to fit the available space.',
7178
+ category: 'other',
7179
+ specialCategory: null,
7180
+ sort: 1,
7181
+ },
7182
+ showEllipsis: {
7183
+ label: 'Show Ellipsis',
7184
+ description:
7185
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7186
+ category: 'other',
7187
+ specialCategory: null,
7188
+ sort: 2,
7189
+ },
6342
7190
  scrollable: {
6343
7191
  label: 'Scrollable',
6344
7192
  description: 'Turns scroll interaction on.',
@@ -6595,43 +7443,100 @@ export const patterns = [
6595
7443
  specialCategory: null,
6596
7444
  sort: 26,
6597
7445
  },
7446
+ textLocalizationKey: {
7447
+ label: 'Text Localization Key',
7448
+ description: 'Localization key for the footer text.',
7449
+ category: 'other',
7450
+ specialCategory: null,
7451
+ sort: 1,
7452
+ },
7453
+ linkedWordFirstLocalizationKey: {
7454
+ label: 'Linked Word First Localization Key',
7455
+ description: 'Key for the first linked word.',
7456
+ category: 'other',
7457
+ specialCategory: null,
7458
+ sort: 2,
7459
+ },
7460
+ linkedWordFirstPage: {
7461
+ label: 'Linked Word First Page',
7462
+ description: 'Page opened by the first link.',
7463
+ category: 'other',
7464
+ specialCategory: null,
7465
+ sort: 4,
7466
+ },
7467
+ linkedWordSecondLocalizationKey: {
7468
+ label: 'Linked Word Second Localization Key',
7469
+ description: 'Key for the second linked word.',
7470
+ category: 'other',
7471
+ specialCategory: null,
7472
+ sort: 5,
7473
+ },
7474
+ linkedWordSecondPage: {
7475
+ label: 'Linked Word Second Page',
7476
+ description: 'Page opened by the second link.',
7477
+ category: 'other',
7478
+ specialCategory: null,
7479
+ sort: 7,
7480
+ },
7481
+ },
7482
+ specialCategories: {
7483
+ padding: {
7484
+ label: 'Padding',
7485
+ description: 'Uniform padding on all sides.',
7486
+ category: 'container',
7487
+ sort: 1,
7488
+ },
7489
+ margin: {
7490
+ label: 'Margin',
7491
+ description: 'Uniform margin on all sides.',
7492
+ category: 'container',
7493
+ sort: 2,
7494
+ },
7495
+ size: {
7496
+ label: 'Size',
7497
+ description: 'Fixed dimensions.',
7498
+ category: 'container',
7499
+ sort: 3,
7500
+ },
7501
+ offset: {
7502
+ label: 'Offset',
7503
+ description: 'Absolute positioning offsets.',
7504
+ category: 'container',
7505
+ sort: 4,
7506
+ },
6598
7507
  },
6599
7508
  },
6600
7509
  defaults: {
6601
7510
  style: {
7511
+ color: 'THEME_COLORS.TEXT',
7512
+ fontSize: '16@fs',
7513
+ fontWeight: '400',
6602
7514
  flexDirection: 'row',
6603
7515
  position: 'relative',
6604
7516
  zIndex: 1,
6605
7517
  alignSelf: 'flex-start',
6606
7518
  flexGrow: 0,
6607
7519
  flexShrink: 0,
7520
+ flexWrap: 'wrap',
6608
7521
  alignItems: 'center',
6609
7522
  justifyContent: 'center',
6610
- gap: '12@s',
7523
+ textAlign: 'center',
7524
+ paddingHorizontal: '24@s',
6611
7525
  },
6612
- dotType: 'expanding_dot',
6613
- dot_thickness: 10,
6614
- inactive_dot_opacity: 0.3,
6615
- active_dot_color: '#007AFF',
6616
7526
  },
6617
7527
  types: {},
6618
7528
  },
6619
7529
  {
6620
7530
  schemaVersion: 2,
6621
7531
  pattern: {
6622
- type: 'OnboardFooter',
7532
+ type: 'OnboardImage',
6623
7533
  children: 'node',
6624
7534
  attributes: {
6625
7535
  title: 'title',
6626
7536
  description: 'description',
6627
- adjustsFontSizeToFit: 'boolean',
6628
- showEllipsis: 'boolean',
7537
+ src: 'string',
6629
7538
  style: {
6630
- color: 'color',
6631
- fontSize: 'size',
6632
- fontFamily: 'fontFamily',
6633
- fontWeight: 'fontWeight',
6634
- textAlign: ['left', 'center', 'right', 'justify'],
7539
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
6635
7540
  flexDirection: ['row', 'column'],
6636
7541
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6637
7542
  alignItems: [
@@ -6681,73 +7586,45 @@ export const patterns = [
6681
7586
  zIndex: 'number',
6682
7587
  },
6683
7588
  scrollable: 'boolean',
6684
- textLocalizationKey: 'string',
6685
- linkedWordFirstLocalizationKey: 'string',
6686
- linkedWordFirstColor: 'color',
6687
- linkedWordFirstPage: 'string',
6688
- linkedWordSecondLocalizationKey: 'string',
6689
- linkedWordSecondColor: 'color',
6690
- linkedWordSecondPage: 'string',
7589
+ video_url: 'string',
7590
+ lottie: 'string',
6691
7591
  },
6692
7592
  },
6693
7593
  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
- },
7594
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7595
+ label: 'Onboard Image',
7596
+ description: 'Onboarding hero image with media.',
7597
+ styles: {
7598
+ resizeMode: {
7599
+ label: 'Resize Mode',
7600
+ description: 'How the image fits the frame.',
7601
+ category: 'style',
7602
+ specialCategory: null,
7603
+ sort: 4,
6735
7604
  },
6736
- adjustsFontSizeToFit: {
6737
- label: 'Adjust Font Size To Fit',
6738
- description:
6739
- 'Automatically reduces font size to fit the available space.',
6740
- category: 'other',
7605
+ backgroundColor: {
7606
+ label: 'Background Color',
7607
+ description: 'Background fill color.',
7608
+ category: 'style',
6741
7609
  specialCategory: null,
6742
- sort: 1,
7610
+ sort: 20,
6743
7611
  },
6744
- showEllipsis: {
6745
- label: 'Show Ellipsis',
6746
- description:
6747
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7612
+ borderRadius: {
7613
+ label: 'Border Radius',
7614
+ description: 'Corner rounding amount.',
7615
+ category: 'style',
7616
+ specialCategory: null,
7617
+ sort: 21,
7618
+ preferredScale: 's',
7619
+ },
7620
+ },
7621
+ attributes: {
7622
+ src: {
7623
+ label: 'Src',
7624
+ description: 'Image source URL.',
6748
7625
  category: 'other',
6749
7626
  specialCategory: null,
6750
- sort: 2,
7627
+ sort: 1,
6751
7628
  },
6752
7629
  scrollable: {
6753
7630
  label: 'Scrollable',
@@ -7005,41 +7882,20 @@ export const patterns = [
7005
7882
  specialCategory: null,
7006
7883
  sort: 26,
7007
7884
  },
7008
- textLocalizationKey: {
7009
- label: 'Text Localization Key',
7010
- description: 'Localization key for the footer text.',
7885
+ video_url: {
7886
+ label: 'Video Url',
7887
+ description: 'URL for the onboarding video.',
7011
7888
  category: 'other',
7012
7889
  specialCategory: null,
7013
7890
  sort: 1,
7014
7891
  },
7015
- linkedWordFirstLocalizationKey: {
7016
- label: 'Linked Word First Localization Key',
7017
- description: 'Key for the first linked word.',
7892
+ lottie: {
7893
+ label: 'Lottie',
7894
+ description: 'Path to the lottie animation.',
7018
7895
  category: 'other',
7019
7896
  specialCategory: null,
7020
7897
  sort: 2,
7021
7898
  },
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
7899
  },
7044
7900
  specialCategories: {
7045
7901
  padding: {
@@ -7067,51 +7923,15 @@ export const patterns = [
7067
7923
  sort: 4,
7068
7924
  },
7069
7925
  },
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
7926
  },
7102
7927
  defaults: {
7103
7928
  style: {
7104
- flexDirection: 'row',
7929
+ flexDirection: 'column',
7105
7930
  position: 'relative',
7106
7931
  zIndex: 1,
7107
7932
  alignSelf: 'flex-start',
7108
7933
  flexGrow: 0,
7109
7934
  flexShrink: 0,
7110
- flexWrap: 'wrap',
7111
- alignItems: 'center',
7112
- justifyContent: 'center',
7113
- textAlign: 'center',
7114
- paddingHorizontal: '24@s',
7115
7935
  },
7116
7936
  },
7117
7937
  types: {},
@@ -7119,15 +7939,9 @@ export const patterns = [
7119
7939
  {
7120
7940
  schemaVersion: 2,
7121
7941
  pattern: {
7122
- type: 'OnboardImage',
7942
+ type: 'OnboardItem',
7123
7943
  children: 'node',
7124
7944
  attributes: {
7125
- title: 'title',
7126
- description: 'description',
7127
- src: 'string',
7128
- width: 'size',
7129
- height: 'size',
7130
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
7131
7945
  scrollable: 'boolean',
7132
7946
  style: {
7133
7947
  flexDirection: ['row', 'column'],
@@ -7178,14 +7992,44 @@ export const patterns = [
7178
7992
  right: 'size',
7179
7993
  zIndex: 'number',
7180
7994
  },
7181
- video_url: 'string',
7182
- lottie: 'string',
7995
+ title: 'title',
7996
+ description: 'description',
7997
+ display: ['flex', 'block'],
7998
+ gap: 'size',
7999
+ flexDirection: ['row', 'column'],
8000
+ paddingHorizontal: 'size',
7183
8001
  },
7184
8002
  },
7185
8003
  meta: {
7186
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7187
- label: 'Onboard Image',
7188
- description: 'Onboarding hero image with media.',
8004
+ desiredParent: ['=Onboard'],
8005
+ label: 'Onboard Item',
8006
+ description: 'Single onboarding screen section.',
8007
+ specialCategories: {
8008
+ padding: {
8009
+ label: 'Padding',
8010
+ description: 'Uniform padding on all sides.',
8011
+ category: 'container',
8012
+ sort: 1,
8013
+ },
8014
+ margin: {
8015
+ label: 'Margin',
8016
+ description: 'Uniform margin on all sides.',
8017
+ category: 'container',
8018
+ sort: 2,
8019
+ },
8020
+ size: {
8021
+ label: 'Size',
8022
+ description: 'Fixed dimensions.',
8023
+ category: 'container',
8024
+ sort: 3,
8025
+ },
8026
+ offset: {
8027
+ label: 'Offset',
8028
+ description: 'Absolute positioning offsets.',
8029
+ category: 'container',
8030
+ sort: 4,
8031
+ },
8032
+ },
7189
8033
  styles: {
7190
8034
  backgroundColor: {
7191
8035
  label: 'Background Color',
@@ -7204,36 +8048,6 @@ export const patterns = [
7204
8048
  },
7205
8049
  },
7206
8050
  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
8051
  scrollable: {
7238
8052
  label: 'Scrollable',
7239
8053
  description: 'Turns scroll interaction on.',
@@ -7243,10 +8057,10 @@ export const patterns = [
7243
8057
  },
7244
8058
  flexDirection: {
7245
8059
  label: 'Flex Direction',
7246
- description: 'Sets row or column layout.',
8060
+ description: 'Order of child stacking.',
7247
8061
  category: 'container',
7248
8062
  specialCategory: null,
7249
- sort: 4,
8063
+ sort: 3,
7250
8064
  },
7251
8065
  flexWrap: {
7252
8066
  label: 'Flex Wrap',
@@ -7271,11 +8085,10 @@ export const patterns = [
7271
8085
  },
7272
8086
  gap: {
7273
8087
  label: 'Gap',
7274
- description: 'Space between children.',
8088
+ description: 'Space between child blocks.',
7275
8089
  category: 'container',
7276
8090
  specialCategory: null,
7277
- sort: 10,
7278
- preferredScale: 's',
8091
+ sort: 2,
7279
8092
  },
7280
8093
  padding: {
7281
8094
  label: 'Padding',
@@ -7290,8 +8103,7 @@ export const patterns = [
7290
8103
  description: 'Left and right padding.',
7291
8104
  category: 'container',
7292
8105
  specialCategory: 'padding',
7293
- sort: 7,
7294
- preferredScale: 's',
8106
+ sort: 4,
7295
8107
  },
7296
8108
  paddingVertical: {
7297
8109
  label: 'Padding Vertical',
@@ -7389,6 +8201,14 @@ export const patterns = [
7389
8201
  sort: 19,
7390
8202
  preferredScale: 's',
7391
8203
  },
8204
+ width: {
8205
+ label: 'Width',
8206
+ description: 'Fixed width value.',
8207
+ category: 'container',
8208
+ specialCategory: 'size',
8209
+ sort: 0,
8210
+ preferredScale: 's',
8211
+ },
7392
8212
  minWidth: {
7393
8213
  label: 'Min Width',
7394
8214
  description: 'Minimum width constraint.',
@@ -7405,6 +8225,14 @@ export const patterns = [
7405
8225
  sort: 2,
7406
8226
  preferredScale: 's',
7407
8227
  },
8228
+ height: {
8229
+ label: 'Height',
8230
+ description: 'Fixed height value.',
8231
+ category: 'container',
8232
+ specialCategory: 'size',
8233
+ sort: 3,
8234
+ preferredScale: 'vs',
8235
+ },
7408
8236
  minHeight: {
7409
8237
  label: 'Min Height',
7410
8238
  description: 'Minimum height constraint.',
@@ -7474,46 +8302,13 @@ export const patterns = [
7474
8302
  specialCategory: null,
7475
8303
  sort: 26,
7476
8304
  },
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.',
8305
+ display: {
8306
+ label: 'Display',
8307
+ description: 'Controls layout display mode.',
7496
8308
  category: 'container',
8309
+ specialCategory: null,
7497
8310
  sort: 1,
7498
8311
  },
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
8312
  },
7518
8313
  },
7519
8314
  defaults: {
@@ -7524,14 +8319,17 @@ export const patterns = [
7524
8319
  alignSelf: 'flex-start',
7525
8320
  flexGrow: 0,
7526
8321
  flexShrink: 0,
8322
+ gap: '16@vs',
8323
+ paddingHorizontal: '24@s',
7527
8324
  },
8325
+ display: 'flex',
7528
8326
  },
7529
8327
  types: {},
7530
8328
  },
7531
8329
  {
7532
8330
  schemaVersion: 2,
7533
8331
  pattern: {
7534
- type: 'OnboardItem',
8332
+ type: 'OnboardProvider',
7535
8333
  children: 'node',
7536
8334
  attributes: {
7537
8335
  scrollable: 'boolean',
@@ -7586,16 +8384,14 @@ export const patterns = [
7586
8384
  },
7587
8385
  title: 'title',
7588
8386
  description: 'description',
7589
- display: ['flex', 'block'],
7590
- gap: 'size',
7591
- flexDirection: ['row', 'column'],
7592
- paddingHorizontal: 'size',
8387
+ theme: ['light', 'dark', 'all'],
8388
+ borderRadius: 'never',
7593
8389
  },
7594
8390
  },
7595
8391
  meta: {
7596
- desiredParent: ['=Onboard'],
7597
- label: 'Onboard Item',
7598
- description: 'Single onboarding screen section.',
8392
+ desiredParent: ['root'],
8393
+ label: 'Onboard Provider',
8394
+ description: 'Provides shared settings for onboarding.',
7599
8395
  specialCategories: {
7600
8396
  padding: {
7601
8397
  label: 'Padding',
@@ -7649,10 +8445,10 @@ export const patterns = [
7649
8445
  },
7650
8446
  flexDirection: {
7651
8447
  label: 'Flex Direction',
7652
- description: 'Order of child stacking.',
8448
+ description: 'Sets row or column layout.',
7653
8449
  category: 'container',
7654
8450
  specialCategory: null,
7655
- sort: 3,
8451
+ sort: 4,
7656
8452
  },
7657
8453
  flexWrap: {
7658
8454
  label: 'Flex Wrap',
@@ -7677,10 +8473,11 @@ export const patterns = [
7677
8473
  },
7678
8474
  gap: {
7679
8475
  label: 'Gap',
7680
- description: 'Space between child blocks.',
8476
+ description: 'Space between children.',
7681
8477
  category: 'container',
7682
8478
  specialCategory: null,
7683
- sort: 2,
8479
+ sort: 10,
8480
+ preferredScale: 's',
7684
8481
  },
7685
8482
  padding: {
7686
8483
  label: 'Padding',
@@ -7695,7 +8492,8 @@ export const patterns = [
7695
8492
  description: 'Left and right padding.',
7696
8493
  category: 'container',
7697
8494
  specialCategory: 'padding',
7698
- sort: 4,
8495
+ sort: 7,
8496
+ preferredScale: 's',
7699
8497
  },
7700
8498
  paddingVertical: {
7701
8499
  label: 'Padding Vertical',
@@ -7707,35 +8505,31 @@ export const patterns = [
7707
8505
  },
7708
8506
  paddingTop: {
7709
8507
  label: 'Padding Top',
7710
- description: 'Top padding only.',
8508
+ description: 'Top padding for the provider.',
7711
8509
  category: 'container',
7712
8510
  specialCategory: 'padding',
7713
- sort: 9,
7714
- preferredScale: 'vs',
8511
+ sort: 1,
7715
8512
  },
7716
8513
  paddingBottom: {
7717
8514
  label: 'Padding Bottom',
7718
- description: 'Bottom padding only.',
8515
+ description: 'Bottom padding for the provider.',
7719
8516
  category: 'container',
7720
8517
  specialCategory: 'padding',
7721
- sort: 10,
7722
- preferredScale: 'vs',
8518
+ sort: 3,
7723
8519
  },
7724
8520
  paddingLeft: {
7725
8521
  label: 'Padding Left',
7726
- description: 'Left padding only.',
8522
+ description: 'Left padding for the provider.',
7727
8523
  category: 'container',
7728
8524
  specialCategory: 'padding',
7729
- sort: 11,
7730
- preferredScale: 's',
8525
+ sort: 4,
7731
8526
  },
7732
8527
  paddingRight: {
7733
8528
  label: 'Padding Right',
7734
- description: 'Right padding only.',
8529
+ description: 'Right padding for the provider.',
7735
8530
  category: 'container',
7736
8531
  specialCategory: 'padding',
7737
- sort: 12,
7738
- preferredScale: 's',
8532
+ sort: 2,
7739
8533
  },
7740
8534
  margin: {
7741
8535
  label: 'Margin',
@@ -7894,12 +8688,13 @@ export const patterns = [
7894
8688
  specialCategory: null,
7895
8689
  sort: 26,
7896
8690
  },
7897
- display: {
7898
- label: 'Display',
7899
- description: 'Controls layout display mode.',
7900
- category: 'container',
8691
+ theme: {
8692
+ label: 'Theme',
8693
+ description:
8694
+ 'Controls which app theme(s) this onboarding is intended for.',
8695
+ category: 'other',
7901
8696
  specialCategory: null,
7902
- sort: 1,
8697
+ sort: -10,
7903
8698
  },
7904
8699
  },
7905
8700
  },
@@ -7911,21 +8706,28 @@ export const patterns = [
7911
8706
  alignSelf: 'flex-start',
7912
8707
  flexGrow: 0,
7913
8708
  flexShrink: 0,
7914
- gap: '16@vs',
7915
- paddingHorizontal: '24@s',
8709
+ width: '100%',
8710
+ height: '100%',
7916
8711
  },
7917
- display: 'flex',
7918
8712
  },
7919
8713
  types: {},
7920
8714
  },
7921
8715
  {
7922
8716
  schemaVersion: 2,
7923
8717
  pattern: {
7924
- type: 'OnboardProvider',
7925
- children: 'node',
8718
+ type: 'OnboardSubtitle',
8719
+ children: 'string',
7926
8720
  attributes: {
7927
- scrollable: 'boolean',
8721
+ title: 'title',
8722
+ description: 'description',
8723
+ adjustsFontSizeToFit: 'boolean',
8724
+ showEllipsis: 'boolean',
7928
8725
  style: {
8726
+ color: 'color',
8727
+ fontSize: 'size',
8728
+ fontFamily: 'fontFamily',
8729
+ fontWeight: 'fontWeight',
8730
+ textAlign: ['left', 'center', 'right', 'justify'],
7929
8731
  flexDirection: ['row', 'column'],
7930
8732
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7931
8733
  alignItems: [
@@ -7974,43 +8776,57 @@ export const patterns = [
7974
8776
  right: 'size',
7975
8777
  zIndex: 'number',
7976
8778
  },
7977
- title: 'title',
7978
- description: 'description',
7979
- theme: ['light', 'dark', 'all'],
7980
- borderRadius: 'never',
8779
+ scrollable: 'boolean',
8780
+ },
8781
+ defaults: {
8782
+ style: {
8783
+ color: 'THEME_COLORS.TEXT',
8784
+ fontSize: '16@fs',
8785
+ fontWeight: '400',
8786
+ },
7981
8787
  },
7982
8788
  },
7983
8789
  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',
8790
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
8791
+ label: 'Onboard Subtitle',
8792
+ description: 'Subtitle text for an onboarding step.',
8793
+ styles: {
8794
+ color: {
8795
+ label: 'Color',
8796
+ description: 'Text color.',
8797
+ category: 'style',
8798
+ specialCategory: null,
7992
8799
  sort: 1,
7993
8800
  },
7994
- margin: {
7995
- label: 'Margin',
7996
- description: 'Uniform margin on all sides.',
7997
- category: 'container',
8801
+ fontSize: {
8802
+ label: 'Font Size',
8803
+ description: 'Text size.',
8804
+ category: 'style',
8805
+ specialCategory: null,
7998
8806
  sort: 2,
8807
+ preferredScale: 's',
7999
8808
  },
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',
8809
+ fontFamily: {
8810
+ label: 'Font Family',
8811
+ description: 'Font family used for the text.',
8812
+ category: 'style',
8813
+ specialCategory: null,
8814
+ sort: 3,
8815
+ },
8816
+ fontWeight: {
8817
+ label: 'Font Weight',
8818
+ description: 'Text weight.',
8819
+ category: 'style',
8820
+ specialCategory: null,
8010
8821
  sort: 4,
8011
8822
  },
8012
- },
8013
- styles: {
8823
+ textAlign: {
8824
+ label: 'Text Align',
8825
+ description: 'Text alignment.',
8826
+ category: 'style',
8827
+ specialCategory: null,
8828
+ sort: 5,
8829
+ },
8014
8830
  backgroundColor: {
8015
8831
  label: 'Background Color',
8016
8832
  description: 'Background fill color.',
@@ -8028,6 +8844,22 @@ export const patterns = [
8028
8844
  },
8029
8845
  },
8030
8846
  attributes: {
8847
+ adjustsFontSizeToFit: {
8848
+ label: 'Adjust Font Size To Fit',
8849
+ description:
8850
+ 'Automatically reduces font size to fit the available space.',
8851
+ category: 'other',
8852
+ specialCategory: null,
8853
+ sort: 1,
8854
+ },
8855
+ showEllipsis: {
8856
+ label: 'Show Ellipsis',
8857
+ description:
8858
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8859
+ category: 'other',
8860
+ specialCategory: null,
8861
+ sort: 2,
8862
+ },
8031
8863
  scrollable: {
8032
8864
  label: 'Scrollable',
8033
8865
  description: 'Turns scroll interaction on.',
@@ -8097,31 +8929,35 @@ export const patterns = [
8097
8929
  },
8098
8930
  paddingTop: {
8099
8931
  label: 'Padding Top',
8100
- description: 'Top padding for the provider.',
8932
+ description: 'Top padding only.',
8101
8933
  category: 'container',
8102
8934
  specialCategory: 'padding',
8103
- sort: 1,
8935
+ sort: 9,
8936
+ preferredScale: 'vs',
8104
8937
  },
8105
8938
  paddingBottom: {
8106
8939
  label: 'Padding Bottom',
8107
- description: 'Bottom padding for the provider.',
8940
+ description: 'Bottom padding only.',
8108
8941
  category: 'container',
8109
8942
  specialCategory: 'padding',
8110
- sort: 3,
8943
+ sort: 10,
8944
+ preferredScale: 'vs',
8111
8945
  },
8112
8946
  paddingLeft: {
8113
8947
  label: 'Padding Left',
8114
- description: 'Left padding for the provider.',
8948
+ description: 'Left padding only.',
8115
8949
  category: 'container',
8116
8950
  specialCategory: 'padding',
8117
- sort: 4,
8951
+ sort: 11,
8952
+ preferredScale: 's',
8118
8953
  },
8119
8954
  paddingRight: {
8120
8955
  label: 'Padding Right',
8121
- description: 'Right padding for the provider.',
8956
+ description: 'Right padding only.',
8122
8957
  category: 'container',
8123
8958
  specialCategory: 'padding',
8124
- sort: 2,
8959
+ sort: 12,
8960
+ preferredScale: 's',
8125
8961
  },
8126
8962
  margin: {
8127
8963
  label: 'Margin',
@@ -8280,26 +9116,45 @@ export const patterns = [
8280
9116
  specialCategory: null,
8281
9117
  sort: 26,
8282
9118
  },
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,
9119
+ },
9120
+ specialCategories: {
9121
+ padding: {
9122
+ label: 'Padding',
9123
+ description: 'Uniform padding on all sides.',
9124
+ category: 'container',
9125
+ sort: 1,
9126
+ },
9127
+ margin: {
9128
+ label: 'Margin',
9129
+ description: 'Uniform margin on all sides.',
9130
+ category: 'container',
9131
+ sort: 2,
9132
+ },
9133
+ size: {
9134
+ label: 'Size',
9135
+ description: 'Fixed dimensions.',
9136
+ category: 'container',
9137
+ sort: 3,
9138
+ },
9139
+ offset: {
9140
+ label: 'Offset',
9141
+ description: 'Absolute positioning offsets.',
9142
+ category: 'container',
9143
+ sort: 4,
8290
9144
  },
8291
9145
  },
8292
9146
  },
8293
9147
  defaults: {
8294
9148
  style: {
9149
+ color: 'THEME_COLORS.TEXT',
9150
+ fontSize: '14@fs',
9151
+ fontWeight: '600',
8295
9152
  flexDirection: 'column',
8296
9153
  position: 'relative',
8297
9154
  zIndex: 1,
8298
9155
  alignSelf: 'flex-start',
8299
9156
  flexGrow: 0,
8300
9157
  flexShrink: 0,
8301
- width: '100%',
8302
- height: '100%',
8303
9158
  },
8304
9159
  },
8305
9160
  types: {},
@@ -8307,7 +9162,7 @@ export const patterns = [
8307
9162
  {
8308
9163
  schemaVersion: 2,
8309
9164
  pattern: {
8310
- type: 'OnboardSubtitle',
9165
+ type: 'OnboardTitle',
8311
9166
  children: 'string',
8312
9167
  attributes: {
8313
9168
  title: 'title',
@@ -8370,50 +9225,72 @@ export const patterns = [
8370
9225
  },
8371
9226
  scrollable: 'boolean',
8372
9227
  },
9228
+ defaults: {
9229
+ style: {
9230
+ color: 'THEME_COLORS.TEXT',
9231
+ fontSize: '16@fs',
9232
+ fontWeight: '400',
9233
+ },
9234
+ },
8373
9235
  },
8374
9236
  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
- },
9237
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
9238
+ label: 'Onboard Title',
9239
+ description: 'Title text for an onboarding step.',
9240
+ styles: {
9241
+ color: {
9242
+ label: 'Color',
9243
+ description: 'Text color.',
9244
+ category: 'style',
9245
+ specialCategory: null,
9246
+ sort: 1,
9247
+ },
9248
+ fontSize: {
9249
+ label: 'Font Size',
9250
+ description: 'Text size.',
9251
+ category: 'style',
9252
+ specialCategory: null,
9253
+ sort: 2,
9254
+ preferredScale: 's',
9255
+ },
9256
+ fontFamily: {
9257
+ label: 'Font Family',
9258
+ description: 'Font family used for the text.',
9259
+ category: 'style',
9260
+ specialCategory: null,
9261
+ sort: 3,
9262
+ },
9263
+ fontWeight: {
9264
+ label: 'Font Weight',
9265
+ description: 'Text weight.',
9266
+ category: 'style',
9267
+ specialCategory: null,
9268
+ sort: 4,
9269
+ },
9270
+ textAlign: {
9271
+ label: 'Text Align',
9272
+ description: 'Text alignment.',
9273
+ category: 'style',
9274
+ specialCategory: null,
9275
+ sort: 5,
9276
+ },
9277
+ backgroundColor: {
9278
+ label: 'Background Color',
9279
+ description: 'Background fill color.',
9280
+ category: 'style',
9281
+ specialCategory: null,
9282
+ sort: 20,
9283
+ },
9284
+ borderRadius: {
9285
+ label: 'Border Radius',
9286
+ description: 'Corner rounding amount.',
9287
+ category: 'style',
9288
+ specialCategory: null,
9289
+ sort: 21,
9290
+ preferredScale: 's',
8416
9291
  },
9292
+ },
9293
+ attributes: {
8417
9294
  adjustsFontSizeToFit: {
8418
9295
  label: 'Adjust Font Size To Fit',
8419
9296
  description:
@@ -8713,34 +9590,19 @@ export const patterns = [
8713
9590
  sort: 4,
8714
9591
  },
8715
9592
  },
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
9593
  },
8734
9594
  defaults: {
8735
9595
  style: {
9596
+ color: 'THEME_COLORS.TEXT',
9597
+ fontSize: '24@fs',
9598
+ fontWeight: '700',
8736
9599
  flexDirection: 'column',
8737
9600
  position: 'relative',
8738
9601
  zIndex: 1,
8739
9602
  alignSelf: 'flex-start',
8740
9603
  flexGrow: 0,
8741
9604
  flexShrink: 0,
8742
- fontSize: '14@fs',
8743
- fontWeight: '600',
9605
+ textAlign: 'center',
8744
9606
  },
8745
9607
  },
8746
9608
  types: {},
@@ -8748,19 +9610,15 @@ export const patterns = [
8748
9610
  {
8749
9611
  schemaVersion: 2,
8750
9612
  pattern: {
8751
- type: 'OnboardTitle',
8752
- children: 'string',
9613
+ type: 'PaywallBackground',
9614
+ children: 'never',
8753
9615
  attributes: {
8754
9616
  title: 'title',
8755
9617
  description: 'description',
8756
- adjustsFontSizeToFit: 'boolean',
8757
- showEllipsis: 'boolean',
9618
+ src: 'string',
9619
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9620
+ scrollable: 'boolean',
8758
9621
  style: {
8759
- color: 'color',
8760
- fontSize: 'size',
8761
- fontFamily: 'fontFamily',
8762
- fontWeight: 'fontWeight',
8763
- textAlign: ['left', 'center', 'right', 'justify'],
8764
9622
  flexDirection: ['row', 'column'],
8765
9623
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8766
9624
  alignItems: [
@@ -8809,67 +9667,55 @@ export const patterns = [
8809
9667
  right: 'size',
8810
9668
  zIndex: 'number',
8811
9669
  },
8812
- scrollable: 'boolean',
9670
+ },
9671
+ defaults: {
9672
+ resizeMode: 'cover',
9673
+ style: {
9674
+ width: '100%',
9675
+ height: '100%',
9676
+ position: 'absolute',
9677
+ top: 0,
9678
+ left: 0,
9679
+ right: 0,
9680
+ bottom: 0,
9681
+ },
8813
9682
  },
8814
9683
  },
8815
9684
  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
- },
9685
+ desiredParent: ['>PaywallProvider'],
9686
+ label: 'Paywall Background',
9687
+ description: 'Paywall Background component.',
9688
+ styles: {
9689
+ resizeMode: {
9690
+ label: 'Resize Mode',
9691
+ description: 'How the image fits its container.',
9692
+ category: 'style',
9693
+ specialCategory: null,
9694
+ sort: 4,
8857
9695
  },
8858
- adjustsFontSizeToFit: {
8859
- label: 'Adjust Font Size To Fit',
8860
- description:
8861
- 'Automatically reduces font size to fit the available space.',
8862
- category: 'other',
9696
+ backgroundColor: {
9697
+ label: 'Background Color',
9698
+ description: 'Background fill color.',
9699
+ category: 'style',
8863
9700
  specialCategory: null,
8864
- sort: 1,
9701
+ sort: 20,
8865
9702
  },
8866
- showEllipsis: {
8867
- label: 'Show Ellipsis',
8868
- description:
8869
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9703
+ borderRadius: {
9704
+ label: 'Border Radius',
9705
+ description: 'Corner rounding amount.',
9706
+ category: 'style',
9707
+ specialCategory: null,
9708
+ sort: 21,
9709
+ preferredScale: 's',
9710
+ },
9711
+ },
9712
+ attributes: {
9713
+ src: {
9714
+ label: 'Src',
9715
+ description: 'Image source URL.',
8870
9716
  category: 'other',
8871
9717
  specialCategory: null,
8872
- sort: 2,
9718
+ sort: 1,
8873
9719
  },
8874
9720
  scrollable: {
8875
9721
  label: 'Scrollable',
@@ -9154,35 +10000,22 @@ export const patterns = [
9154
10000
  sort: 4,
9155
10001
  },
9156
10002
  },
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
10003
  },
9175
10004
  defaults: {
10005
+ resizeMode: 'cover',
9176
10006
  style: {
9177
- flexDirection: 'column',
9178
- position: 'relative',
10007
+ width: '100%',
10008
+ height: '100%',
10009
+ position: 'absolute',
10010
+ top: 0,
10011
+ left: 0,
10012
+ right: 0,
10013
+ bottom: 0,
9179
10014
  zIndex: 1,
10015
+ flexDirection: 'column',
9180
10016
  alignSelf: 'flex-start',
9181
10017
  flexGrow: 0,
9182
10018
  flexShrink: 0,
9183
- fontSize: '24@fs',
9184
- fontWeight: '700',
9185
- textAlign: 'center',
9186
10019
  },
9187
10020
  },
9188
10021
  types: {},
@@ -9190,15 +10023,22 @@ export const patterns = [
9190
10023
  {
9191
10024
  schemaVersion: 2,
9192
10025
  pattern: {
9193
- type: 'PaywallBackground',
10026
+ type: 'PaywallCloseButton',
9194
10027
  children: 'never',
9195
10028
  attributes: {
9196
10029
  title: 'title',
9197
10030
  description: 'description',
9198
- src: 'string',
9199
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
9200
- scrollable: 'boolean',
10031
+ iconType: 'iconType',
10032
+ size: 'number',
10033
+ strokeWidth: 'number',
10034
+ adjustsFontSizeToFit: 'boolean',
10035
+ showEllipsis: 'boolean',
9201
10036
  style: {
10037
+ color: 'color',
10038
+ fontSize: 'size',
10039
+ fontFamily: 'fontFamily',
10040
+ fontWeight: 'fontWeight',
10041
+ textAlign: ['left', 'center', 'right', 'justify'],
9202
10042
  flexDirection: ['row', 'column'],
9203
10043
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9204
10044
  alignItems: [
@@ -9247,39 +10087,57 @@ export const patterns = [
9247
10087
  right: 'size',
9248
10088
  zIndex: 'number',
9249
10089
  },
10090
+ scrollable: 'boolean',
9250
10091
  },
9251
10092
  defaults: {
9252
- resizeMode: 'cover',
9253
10093
  style: {
9254
- width: '100%',
9255
- height: '100%',
9256
- position: 'absolute',
9257
- top: 0,
9258
- left: 0,
9259
- right: 0,
9260
- bottom: 0,
10094
+ color: 'THEME_COLORS.TEXT',
10095
+ fontSize: '16@fs',
10096
+ fontWeight: '400',
9261
10097
  },
9262
10098
  },
9263
10099
  },
9264
10100
  meta: {
9265
10101
  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
- },
10102
+ label: 'Paywall Close Button',
10103
+ description: 'Paywall Close Button component.',
9275
10104
  styles: {
9276
- resizeMode: {
9277
- label: 'Resize Mode',
9278
- description: 'How the image fits its container.',
10105
+ color: {
10106
+ label: 'Color',
10107
+ description: 'Text color.',
10108
+ category: 'style',
10109
+ specialCategory: null,
10110
+ sort: 1,
10111
+ },
10112
+ fontSize: {
10113
+ label: 'Font Size',
10114
+ description: 'Text size.',
10115
+ category: 'style',
10116
+ specialCategory: null,
10117
+ sort: 2,
10118
+ preferredScale: 's',
10119
+ },
10120
+ fontFamily: {
10121
+ label: 'Font Family',
10122
+ description: 'Font family used for the text.',
10123
+ category: 'style',
10124
+ specialCategory: null,
10125
+ sort: 3,
10126
+ },
10127
+ fontWeight: {
10128
+ label: 'Font Weight',
10129
+ description: 'Text weight.',
9279
10130
  category: 'style',
9280
10131
  specialCategory: null,
9281
10132
  sort: 4,
9282
10133
  },
10134
+ textAlign: {
10135
+ label: 'Text Align',
10136
+ description: 'Text alignment.',
10137
+ category: 'style',
10138
+ specialCategory: null,
10139
+ sort: 5,
10140
+ },
9283
10141
  backgroundColor: {
9284
10142
  label: 'Background Color',
9285
10143
  description: 'Background fill color.',
@@ -9296,33 +10154,44 @@ export const patterns = [
9296
10154
  preferredScale: 's',
9297
10155
  },
9298
10156
  },
9299
- specialCategories: {
9300
- padding: {
9301
- label: 'Padding',
9302
- description: 'Uniform padding on all sides.',
9303
- category: 'container',
10157
+ attributes: {
10158
+ iconType: {
10159
+ label: 'Icon',
10160
+ description: 'Which icon to render.',
10161
+ category: 'other',
10162
+ specialCategory: null,
9304
10163
  sort: 1,
9305
10164
  },
9306
- margin: {
9307
- label: 'Margin',
9308
- description: 'Uniform margin on all sides.',
9309
- category: 'container',
9310
- sort: 2,
9311
- },
9312
10165
  size: {
9313
10166
  label: 'Size',
9314
- description: 'Fixed dimensions.',
9315
- category: 'container',
10167
+ description: 'Icon size (px).',
10168
+ category: 'other',
10169
+ specialCategory: null,
10170
+ sort: 2,
10171
+ },
10172
+ strokeWidth: {
10173
+ label: 'Stroke Width',
10174
+ description: 'SVG stroke width override (applied to the icon paths).',
10175
+ category: 'other',
10176
+ specialCategory: null,
9316
10177
  sort: 3,
9317
10178
  },
9318
- offset: {
9319
- label: 'Offset',
9320
- description: 'Absolute positioning offsets.',
9321
- category: 'container',
9322
- sort: 4,
10179
+ adjustsFontSizeToFit: {
10180
+ label: 'Adjust Font Size To Fit',
10181
+ description:
10182
+ 'Automatically reduces font size to fit the available space.',
10183
+ category: 'other',
10184
+ specialCategory: null,
10185
+ sort: 1,
10186
+ },
10187
+ showEllipsis: {
10188
+ label: 'Show Ellipsis',
10189
+ description:
10190
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10191
+ category: 'other',
10192
+ specialCategory: null,
10193
+ sort: 2,
9323
10194
  },
9324
- },
9325
- attributes: {
9326
10195
  scrollable: {
9327
10196
  label: 'Scrollable',
9328
10197
  description: 'Turns scroll interaction on.',
@@ -9580,37 +10449,64 @@ export const patterns = [
9580
10449
  sort: 26,
9581
10450
  },
9582
10451
  },
10452
+ specialCategories: {
10453
+ padding: {
10454
+ label: 'Padding',
10455
+ description: 'Uniform padding on all sides.',
10456
+ category: 'container',
10457
+ sort: 1,
10458
+ },
10459
+ margin: {
10460
+ label: 'Margin',
10461
+ description: 'Uniform margin on all sides.',
10462
+ category: 'container',
10463
+ sort: 2,
10464
+ },
10465
+ size: {
10466
+ label: 'Size',
10467
+ description: 'Fixed dimensions.',
10468
+ category: 'container',
10469
+ sort: 3,
10470
+ },
10471
+ offset: {
10472
+ label: 'Offset',
10473
+ description: 'Absolute positioning offsets.',
10474
+ category: 'container',
10475
+ sort: 4,
10476
+ },
10477
+ },
9583
10478
  },
9584
10479
  defaults: {
9585
- resizeMode: 'cover',
9586
10480
  style: {
9587
- width: '100%',
9588
- height: '100%',
10481
+ fontSize: '16@fs',
10482
+ color: 'THEME_COLORS.TEXT',
10483
+ fontWeight: '400',
10484
+ flexDirection: 'row',
9589
10485
  position: 'absolute',
9590
- top: 0,
9591
- left: 0,
9592
- right: 0,
9593
- bottom: 0,
9594
10486
  zIndex: 1,
9595
- flexDirection: 'column',
9596
10487
  alignSelf: 'flex-start',
9597
10488
  flexGrow: 0,
9598
10489
  flexShrink: 0,
10490
+ top: '35@vs',
10491
+ left: '24@s',
10492
+ justifyContent: 'center',
10493
+ alignItems: 'center',
9599
10494
  },
10495
+ iconType: 'close',
10496
+ strokeWidth: 1.5,
10497
+ size: 24,
9600
10498
  },
9601
10499
  types: {},
9602
10500
  },
9603
10501
  {
9604
10502
  schemaVersion: 2,
9605
10503
  pattern: {
9606
- type: 'PaywallCloseButton',
10504
+ type: 'PaywallCounter',
9607
10505
  children: 'never',
9608
10506
  attributes: {
10507
+ count: 'number',
9609
10508
  title: 'title',
9610
10509
  description: 'description',
9611
- iconType: 'iconType',
9612
- size: 'number',
9613
- strokeWidth: 'number',
9614
10510
  adjustsFontSizeToFit: 'boolean',
9615
10511
  showEllipsis: 'boolean',
9616
10512
  style: {
@@ -9669,88 +10565,27 @@ export const patterns = [
9669
10565
  },
9670
10566
  scrollable: 'boolean',
9671
10567
  },
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',
10568
+ defaults: {
10569
+ style: {
10570
+ color: 'THEME_COLORS.TEXT',
10571
+ fontSize: '16@fs',
10572
+ fontWeight: '400',
9692
10573
  },
9693
10574
  },
10575
+ },
10576
+ meta: {
10577
+ desiredParent: ['all'],
10578
+ label: 'Paywall Counter',
10579
+ description: 'Displays the paywall counter value.',
9694
10580
  attributes: {
9695
- iconType: {
9696
- label: 'Icon',
9697
- description: 'Which icon to render.',
10581
+ count: {
10582
+ label: 'Fallback Count',
10583
+ description:
10584
+ 'Used only when the paywall counter hook returns no value.',
9698
10585
  category: 'other',
9699
10586
  specialCategory: null,
9700
10587
  sort: 1,
9701
10588
  },
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
10589
  adjustsFontSizeToFit: {
9755
10590
  label: 'Adjust Font Size To Fit',
9756
10591
  description:
@@ -10024,6 +10859,59 @@ export const patterns = [
10024
10859
  sort: 26,
10025
10860
  },
10026
10861
  },
10862
+ styles: {
10863
+ color: {
10864
+ label: 'Color',
10865
+ description: 'Text color.',
10866
+ category: 'style',
10867
+ specialCategory: null,
10868
+ sort: 1,
10869
+ },
10870
+ fontSize: {
10871
+ label: 'Font Size',
10872
+ description: 'Text size.',
10873
+ category: 'style',
10874
+ specialCategory: null,
10875
+ sort: 2,
10876
+ preferredScale: 's',
10877
+ },
10878
+ fontFamily: {
10879
+ label: 'Font Family',
10880
+ description: 'Font family used for the text.',
10881
+ category: 'style',
10882
+ specialCategory: null,
10883
+ sort: 3,
10884
+ },
10885
+ fontWeight: {
10886
+ label: 'Font Weight',
10887
+ description: 'Text weight.',
10888
+ category: 'style',
10889
+ specialCategory: null,
10890
+ sort: 4,
10891
+ },
10892
+ textAlign: {
10893
+ label: 'Text Align',
10894
+ description: 'Text alignment.',
10895
+ category: 'style',
10896
+ specialCategory: null,
10897
+ sort: 5,
10898
+ },
10899
+ backgroundColor: {
10900
+ label: 'Background Color',
10901
+ description: 'Background fill color.',
10902
+ category: 'style',
10903
+ specialCategory: null,
10904
+ sort: 20,
10905
+ },
10906
+ borderRadius: {
10907
+ label: 'Border Radius',
10908
+ description: 'Corner rounding amount.',
10909
+ category: 'style',
10910
+ specialCategory: null,
10911
+ sort: 21,
10912
+ preferredScale: 's',
10913
+ },
10914
+ },
10027
10915
  specialCategories: {
10028
10916
  padding: {
10029
10917
  label: 'Padding',
@@ -10052,42 +10940,28 @@ export const patterns = [
10052
10940
  },
10053
10941
  },
10054
10942
  defaults: {
10055
- iconType: 'close',
10056
- strokeWidth: 1.5,
10057
10943
  style: {
10058
- fontSize: '16',
10059
- flexDirection: 'row',
10060
- position: 'absolute',
10944
+ color: 'THEME_COLORS.TEXT',
10945
+ fontSize: '16@fs',
10946
+ fontWeight: '400',
10947
+ flexDirection: 'column',
10948
+ position: 'relative',
10061
10949
  zIndex: 1,
10062
10950
  alignSelf: 'flex-start',
10063
10951
  flexGrow: 0,
10064
10952
  flexShrink: 0,
10065
- top: '35@vs',
10066
- left: '24@s',
10067
- justifyContent: 'center',
10068
- alignItems: 'center',
10069
10953
  },
10070
- size: 24,
10071
10954
  },
10072
10955
  types: {},
10073
10956
  },
10074
10957
  {
10075
10958
  schemaVersion: 2,
10076
10959
  pattern: {
10077
- type: 'PaywallCounter',
10078
- children: 'never',
10960
+ type: 'PaywallOptions',
10961
+ children: 'node',
10079
10962
  attributes: {
10080
- count: 'number',
10081
- title: 'title',
10082
- description: 'description',
10083
- adjustsFontSizeToFit: 'boolean',
10084
- showEllipsis: 'boolean',
10963
+ scrollable: 'boolean',
10085
10964
  style: {
10086
- color: 'color',
10087
- fontSize: 'size',
10088
- fontFamily: 'fontFamily',
10089
- fontWeight: 'fontWeight',
10090
- textAlign: ['left', 'center', 'right', 'justify'],
10091
10965
  flexDirection: ['row', 'column'],
10092
10966
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10093
10967
  alignItems: [
@@ -10136,76 +11010,58 @@ export const patterns = [
10136
11010
  right: 'size',
10137
11011
  zIndex: 'number',
10138
11012
  },
10139
- scrollable: 'boolean',
11013
+ title: 'title',
11014
+ description: 'description',
10140
11015
  },
10141
11016
  },
10142
11017
  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,
11018
+ desiredParent: ['>PaywallProvider'],
11019
+ label: 'Paywall Options',
11020
+ description: 'Paywall options selector component.',
11021
+ specialCategories: {
11022
+ padding: {
11023
+ label: 'Padding',
11024
+ description: 'Uniform padding on all sides.',
11025
+ category: 'container',
10153
11026
  sort: 1,
10154
11027
  },
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
- },
11028
+ margin: {
11029
+ label: 'Margin',
11030
+ description: 'Uniform margin on all sides.',
11031
+ category: 'container',
11032
+ sort: 2,
10192
11033
  },
10193
- adjustsFontSizeToFit: {
10194
- label: 'Adjust Font Size To Fit',
10195
- description:
10196
- 'Automatically reduces font size to fit the available space.',
10197
- category: 'other',
11034
+ size: {
11035
+ label: 'Size',
11036
+ description: 'Fixed dimensions.',
11037
+ category: 'container',
11038
+ sort: 3,
11039
+ },
11040
+ offset: {
11041
+ label: 'Offset',
11042
+ description: 'Absolute positioning offsets.',
11043
+ category: 'container',
11044
+ sort: 4,
11045
+ },
11046
+ },
11047
+ styles: {
11048
+ backgroundColor: {
11049
+ label: 'Background Color',
11050
+ description: 'Background fill color.',
11051
+ category: 'style',
10198
11052
  specialCategory: null,
10199
- sort: 1,
11053
+ sort: 20,
10200
11054
  },
10201
- showEllipsis: {
10202
- label: 'Show Ellipsis',
10203
- description:
10204
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10205
- category: 'other',
11055
+ borderRadius: {
11056
+ label: 'Border Radius',
11057
+ description: 'Corner rounding amount.',
11058
+ category: 'style',
10206
11059
  specialCategory: null,
10207
- sort: 2,
11060
+ sort: 21,
11061
+ preferredScale: 's',
10208
11062
  },
11063
+ },
11064
+ attributes: {
10209
11065
  scrollable: {
10210
11066
  label: 'Scrollable',
10211
11067
  description: 'Turns scroll interaction on.',
@@ -10463,58 +11319,18 @@ export const patterns = [
10463
11319
  sort: 26,
10464
11320
  },
10465
11321
  },
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
11322
  },
10510
11323
  defaults: {
10511
11324
  style: {
10512
- flexDirection: 'column',
11325
+ flexDirection: 'row',
10513
11326
  position: 'relative',
10514
11327
  zIndex: 1,
10515
11328
  alignSelf: 'flex-start',
10516
11329
  flexGrow: 0,
10517
11330
  flexShrink: 0,
11331
+ justifyContent: 'space-between',
11332
+ alignItems: 'center',
11333
+ minHeight: '60px',
10518
11334
  },
10519
11335
  },
10520
11336
  types: {},
@@ -10522,7 +11338,7 @@ export const patterns = [
10522
11338
  {
10523
11339
  schemaVersion: 2,
10524
11340
  pattern: {
10525
- type: 'PaywallOptions',
11341
+ type: 'PaywallProvider',
10526
11342
  children: 'node',
10527
11343
  attributes: {
10528
11344
  scrollable: 'boolean',
@@ -10577,12 +11393,13 @@ export const patterns = [
10577
11393
  },
10578
11394
  title: 'title',
10579
11395
  description: 'description',
11396
+ delay: 'number',
10580
11397
  },
10581
11398
  },
10582
11399
  meta: {
10583
- desiredParent: ['>PaywallProvider'],
10584
- label: 'Paywall Options',
10585
- description: 'Paywall options selector component.',
11400
+ desiredParent: ['all'],
11401
+ label: 'Paywall Provider',
11402
+ description: 'Provider/wrapper for paywall screen components.',
10586
11403
  specialCategories: {
10587
11404
  padding: {
10588
11405
  label: 'Padding',
@@ -10883,19 +11700,27 @@ export const patterns = [
10883
11700
  specialCategory: null,
10884
11701
  sort: 26,
10885
11702
  },
11703
+ delay: {
11704
+ label: 'Back Delay (ms)',
11705
+ description:
11706
+ 'Milliseconds before the paywall can be dismissed via back/close.',
11707
+ category: 'other',
11708
+ specialCategory: null,
11709
+ sort: 1,
11710
+ },
10886
11711
  },
11712
+ mockableFeatures: { products: true, benefits: true },
10887
11713
  },
10888
11714
  defaults: {
10889
11715
  style: {
10890
- flexDirection: 'row',
11716
+ flexDirection: 'column',
10891
11717
  position: 'relative',
10892
11718
  zIndex: 1,
10893
11719
  alignSelf: 'flex-start',
10894
11720
  flexGrow: 0,
10895
11721
  flexShrink: 0,
10896
- justifyContent: 'space-between',
10897
- alignItems: 'center',
10898
- minHeight: '60px',
11722
+ width: '100%',
11723
+ height: '100%',
10899
11724
  },
10900
11725
  },
10901
11726
  types: {},
@@ -10903,11 +11728,27 @@ export const patterns = [
10903
11728
  {
10904
11729
  schemaVersion: 2,
10905
11730
  pattern: {
10906
- type: 'PaywallProvider',
10907
- children: 'node',
11731
+ type: 'PaywallSubscribeButton',
11732
+ children: 'string',
10908
11733
  attributes: {
10909
- scrollable: 'boolean',
11734
+ title: 'title',
11735
+ description: 'description',
10910
11736
  style: {
11737
+ color: 'color',
11738
+ fontSize: 'size',
11739
+ fontWeight: [
11740
+ 'normal',
11741
+ 'bold',
11742
+ '100',
11743
+ '200',
11744
+ '300',
11745
+ '400',
11746
+ '500',
11747
+ '600',
11748
+ '700',
11749
+ '800',
11750
+ '900',
11751
+ ],
10911
11752
  flexDirection: ['row', 'column'],
10912
11753
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10913
11754
  alignItems: [
@@ -10956,42 +11797,35 @@ export const patterns = [
10956
11797
  right: 'size',
10957
11798
  zIndex: 'number',
10958
11799
  },
10959
- title: 'title',
10960
- description: 'description',
10961
- delay: 'number',
11800
+ scrollable: 'boolean',
10962
11801
  },
10963
11802
  },
10964
11803
  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',
11804
+ desiredParent: ['>PaywallProvider'],
11805
+ label: 'Paywall Subscribe Button',
11806
+ description: 'Paywall subscribe call-to-action button. Extends Button.',
11807
+ styles: {
11808
+ color: {
11809
+ label: 'Color',
11810
+ description: 'Text color of the button.',
11811
+ category: 'style',
11812
+ specialCategory: null,
10973
11813
  sort: 1,
10974
11814
  },
10975
- margin: {
10976
- label: 'Margin',
10977
- description: 'Uniform margin on all sides.',
10978
- category: 'container',
11815
+ fontSize: {
11816
+ label: 'Font Size',
11817
+ description: 'Text size of the button.',
11818
+ category: 'style',
11819
+ specialCategory: null,
10979
11820
  sort: 2,
10980
11821
  },
10981
- size: {
10982
- label: 'Size',
10983
- description: 'Fixed dimensions.',
10984
- category: 'container',
11822
+ fontWeight: {
11823
+ label: 'Font Weight',
11824
+ description: 'Text weight of the button.',
11825
+ category: 'style',
11826
+ specialCategory: null,
10985
11827
  sort: 3,
10986
11828
  },
10987
- offset: {
10988
- label: 'Offset',
10989
- description: 'Absolute positioning offsets.',
10990
- category: 'container',
10991
- sort: 4,
10992
- },
10993
- },
10994
- styles: {
10995
11829
  backgroundColor: {
10996
11830
  label: 'Background Color',
10997
11831
  description: 'Background fill color.',
@@ -11008,6 +11842,32 @@ export const patterns = [
11008
11842
  preferredScale: 's',
11009
11843
  },
11010
11844
  },
11845
+ specialCategories: {
11846
+ padding: {
11847
+ label: 'Padding',
11848
+ description: 'Uniform padding on all sides.',
11849
+ category: 'container',
11850
+ sort: 1,
11851
+ },
11852
+ margin: {
11853
+ label: 'Margin',
11854
+ description: 'Uniform margin on all sides.',
11855
+ category: 'container',
11856
+ sort: 2,
11857
+ },
11858
+ size: {
11859
+ label: 'Size',
11860
+ description: 'Fixed dimensions.',
11861
+ category: 'container',
11862
+ sort: 3,
11863
+ },
11864
+ offset: {
11865
+ label: 'Offset',
11866
+ description: 'Absolute positioning offsets.',
11867
+ category: 'container',
11868
+ sort: 4,
11869
+ },
11870
+ },
11011
11871
  attributes: {
11012
11872
  scrollable: {
11013
11873
  label: 'Scrollable',
@@ -11265,27 +12125,26 @@ export const patterns = [
11265
12125
  specialCategory: null,
11266
12126
  sort: 26,
11267
12127
  },
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
12128
  },
11277
- mockableFeatures: { products: true, benefits: true },
11278
12129
  },
11279
12130
  defaults: {
11280
12131
  style: {
12132
+ display: 'flex',
12133
+ alignItems: 'center',
12134
+ justifyContent: 'center',
12135
+ backgroundColor: '#6495ED',
11281
12136
  flexDirection: 'column',
11282
12137
  position: 'relative',
11283
12138
  zIndex: 1,
11284
12139
  alignSelf: 'flex-start',
11285
12140
  flexGrow: 0,
11286
12141
  flexShrink: 0,
11287
- width: '100%',
11288
- height: '100%',
12142
+ paddingHorizontal: '20@s',
12143
+ paddingVertical: '12@vs',
12144
+ borderRadius: '12@s',
12145
+ color: '#FFFFFF',
12146
+ fontSize: '16@fs',
12147
+ fontWeight: '700',
11289
12148
  },
11290
12149
  },
11291
12150
  types: {},
@@ -11293,27 +12152,11 @@ export const patterns = [
11293
12152
  {
11294
12153
  schemaVersion: 2,
11295
12154
  pattern: {
11296
- type: 'PaywallSubscribeButton',
11297
- children: 'string',
12155
+ type: 'RadioButton',
12156
+ children: 'never',
11298
12157
  attributes: {
11299
- title: 'title',
11300
- description: 'description',
12158
+ scrollable: 'boolean',
11301
12159
  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
12160
  flexDirection: ['row', 'column'],
11318
12161
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11319
12162
  alignItems: [
@@ -11362,35 +12205,44 @@ export const patterns = [
11362
12205
  right: 'size',
11363
12206
  zIndex: 'number',
11364
12207
  },
11365
- scrollable: 'boolean',
12208
+ title: 'title',
12209
+ description: 'description',
12210
+ selected: 'boolean',
12211
+ color: 'color',
12212
+ size: 'number',
11366
12213
  },
11367
12214
  },
11368
12215
  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,
12216
+ desiredParent: ['all'],
12217
+ label: 'Radio Button',
12218
+ description: 'Generic radio button icon.',
12219
+ specialCategories: {
12220
+ padding: {
12221
+ label: 'Padding',
12222
+ description: 'Uniform padding on all sides.',
12223
+ category: 'container',
11378
12224
  sort: 1,
11379
12225
  },
11380
- fontSize: {
11381
- label: 'Font Size',
11382
- description: 'Text size of the button.',
11383
- category: 'style',
11384
- specialCategory: null,
12226
+ margin: {
12227
+ label: 'Margin',
12228
+ description: 'Uniform margin on all sides.',
12229
+ category: 'container',
11385
12230
  sort: 2,
11386
12231
  },
11387
- fontWeight: {
11388
- label: 'Font Weight',
11389
- description: 'Text weight of the button.',
11390
- category: 'style',
11391
- specialCategory: null,
12232
+ size: {
12233
+ label: 'Size',
12234
+ description: 'Fixed dimensions.',
12235
+ category: 'container',
11392
12236
  sort: 3,
11393
12237
  },
12238
+ offset: {
12239
+ label: 'Offset',
12240
+ description: 'Absolute positioning offsets.',
12241
+ category: 'container',
12242
+ sort: 4,
12243
+ },
12244
+ },
12245
+ styles: {
11394
12246
  backgroundColor: {
11395
12247
  label: 'Background Color',
11396
12248
  description: 'Background fill color.',
@@ -11406,31 +12258,19 @@ export const patterns = [
11406
12258
  sort: 21,
11407
12259
  preferredScale: 's',
11408
12260
  },
11409
- },
11410
- specialCategories: {
11411
- padding: {
11412
- label: 'Padding',
11413
- description: 'Uniform padding on all sides.',
11414
- category: 'container',
12261
+ color: {
12262
+ label: 'Color',
12263
+ description: 'Radio color.',
12264
+ category: 'style',
12265
+ specialCategory: null,
11415
12266
  sort: 1,
11416
12267
  },
11417
- margin: {
11418
- label: 'Margin',
11419
- description: 'Uniform margin on all sides.',
11420
- category: 'container',
11421
- sort: 2,
11422
- },
11423
12268
  size: {
11424
12269
  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,
12270
+ description: 'Radio size in px.',
12271
+ category: 'style',
12272
+ specialCategory: null,
12273
+ sort: 2,
11434
12274
  },
11435
12275
  },
11436
12276
  attributes: {
@@ -11690,26 +12530,23 @@ export const patterns = [
11690
12530
  specialCategory: null,
11691
12531
  sort: 26,
11692
12532
  },
12533
+ selected: {
12534
+ label: 'Selected',
12535
+ description: 'Whether the radio is selected.',
12536
+ category: 'other',
12537
+ specialCategory: null,
12538
+ sort: 0,
12539
+ },
11693
12540
  },
11694
12541
  },
11695
12542
  defaults: {
11696
12543
  style: {
11697
- display: 'flex',
11698
- alignItems: 'center',
11699
- justifyContent: 'center',
11700
- backgroundColor: '#6495ED',
11701
12544
  flexDirection: 'column',
11702
12545
  position: 'relative',
11703
12546
  zIndex: 1,
11704
12547
  alignSelf: 'flex-start',
11705
12548
  flexGrow: 0,
11706
12549
  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
12550
  },
11714
12551
  },
11715
12552
  types: {},
@@ -11717,7 +12554,62 @@ export const patterns = [
11717
12554
  {
11718
12555
  schemaVersion: 2,
11719
12556
  pattern: {
11720
- type: 'RadioButton',
12557
+ type: 'Separator',
12558
+ children: 'never',
12559
+ attributes: {
12560
+ title: 'title',
12561
+ description: 'description',
12562
+ style: {
12563
+ backgroundColor: 'color',
12564
+ width: 'size',
12565
+ height: 'size',
12566
+ marginHorizontal: 'size',
12567
+ marginVertical: 'size',
12568
+ marginTop: 'size',
12569
+ marginBottom: 'size',
12570
+ },
12571
+ },
12572
+ },
12573
+ meta: {
12574
+ desiredParent: ['all'],
12575
+ label: 'Separator',
12576
+ description: 'Horizontal line separator.',
12577
+ styles: {
12578
+ backgroundColor: {
12579
+ label: 'Color',
12580
+ description: 'Separator line color.',
12581
+ category: 'style',
12582
+ specialCategory: null,
12583
+ sort: 1,
12584
+ },
12585
+ },
12586
+ attributes: {
12587
+ width: {
12588
+ label: 'Width',
12589
+ description: 'Separator width.',
12590
+ category: 'container',
12591
+ specialCategory: null,
12592
+ sort: 1,
12593
+ preferredScale: 's',
12594
+ },
12595
+ height: {
12596
+ label: 'Height',
12597
+ description: 'Separator thickness.',
12598
+ category: 'container',
12599
+ specialCategory: null,
12600
+ sort: 2,
12601
+ preferredScale: 'vs',
12602
+ },
12603
+ },
12604
+ },
12605
+ defaults: {
12606
+ style: { width: '100%', height: 2, backgroundColor: '#000000' },
12607
+ },
12608
+ },
12609
+ {
12610
+ schemaVersion: 2,
12611
+ pattern: {
12612
+ type: 'StatusBarColor',
11721
12613
  children: 'never',
11722
12614
  attributes: {
11723
12615
  scrollable: 'boolean',
@@ -11772,15 +12664,12 @@ export const patterns = [
11772
12664
  },
11773
12665
  title: 'title',
11774
12666
  description: 'description',
11775
- selected: 'boolean',
11776
- color: 'color',
11777
- size: 'number',
11778
12667
  },
11779
12668
  },
11780
12669
  meta: {
11781
12670
  desiredParent: ['all'],
11782
- label: 'Radio Button',
11783
- description: 'Generic radio button icon.',
12671
+ label: 'Status Bar Color',
12672
+ description: 'Sets the OS status bar background color.',
11784
12673
  specialCategories: {
11785
12674
  padding: {
11786
12675
  label: 'Padding',
@@ -11810,10 +12699,10 @@ export const patterns = [
11810
12699
  styles: {
11811
12700
  backgroundColor: {
11812
12701
  label: 'Background Color',
11813
- description: 'Background fill color.',
12702
+ description: 'Status bar background color.',
11814
12703
  category: 'style',
11815
12704
  specialCategory: null,
11816
- sort: 20,
12705
+ sort: 1,
11817
12706
  },
11818
12707
  borderRadius: {
11819
12708
  label: 'Border Radius',
@@ -11823,20 +12712,6 @@ export const patterns = [
11823
12712
  sort: 21,
11824
12713
  preferredScale: 's',
11825
12714
  },
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
12715
  },
11841
12716
  attributes: {
11842
12717
  scrollable: {
@@ -12095,13 +12970,6 @@ export const patterns = [
12095
12970
  specialCategory: null,
12096
12971
  sort: 26,
12097
12972
  },
12098
- selected: {
12099
- label: 'Selected',
12100
- description: 'Whether the radio is selected.',
12101
- category: 'other',
12102
- specialCategory: null,
12103
- sort: 0,
12104
- },
12105
12973
  },
12106
12974
  },
12107
12975
  defaults: {
@@ -12112,6 +12980,7 @@ export const patterns = [
12112
12980
  alignSelf: 'flex-start',
12113
12981
  flexGrow: 0,
12114
12982
  flexShrink: 0,
12983
+ backgroundColor: 'THEME_COLORS.BACKGROUND',
12115
12984
  },
12116
12985
  },
12117
12986
  types: {},
@@ -12182,6 +13051,13 @@ export const patterns = [
12182
13051
  adjustsFontSizeToFit: 'boolean',
12183
13052
  showEllipsis: 'boolean',
12184
13053
  },
13054
+ defaults: {
13055
+ style: {
13056
+ color: 'THEME_COLORS.TEXT',
13057
+ fontSize: '16@fs',
13058
+ fontWeight: '400',
13059
+ },
13060
+ },
12185
13061
  },
12186
13062
  meta: {
12187
13063
  desiredParent: ['all'],
@@ -12229,6 +13105,42 @@ export const patterns = [
12229
13105
  sort: 21,
12230
13106
  preferredScale: 's',
12231
13107
  },
13108
+ color: {
13109
+ label: 'Color',
13110
+ description: 'Text color.',
13111
+ category: 'style',
13112
+ specialCategory: null,
13113
+ sort: 1,
13114
+ },
13115
+ fontSize: {
13116
+ label: 'Font Size',
13117
+ description: 'Text size.',
13118
+ category: 'style',
13119
+ specialCategory: null,
13120
+ sort: 2,
13121
+ preferredScale: 's',
13122
+ },
13123
+ fontFamily: {
13124
+ label: 'Font Family',
13125
+ description: 'Font family used for the text.',
13126
+ category: 'style',
13127
+ specialCategory: null,
13128
+ sort: 3,
13129
+ },
13130
+ fontWeight: {
13131
+ label: 'Font Weight',
13132
+ description: 'Text weight.',
13133
+ category: 'style',
13134
+ specialCategory: null,
13135
+ sort: 4,
13136
+ },
13137
+ textAlign: {
13138
+ label: 'Text Align',
13139
+ description: 'Text alignment.',
13140
+ category: 'style',
13141
+ specialCategory: null,
13142
+ sort: 5,
13143
+ },
12232
13144
  },
12233
13145
  attributes: {
12234
13146
  scrollable: {
@@ -12487,44 +13399,6 @@ export const patterns = [
12487
13399
  specialCategory: null,
12488
13400
  sort: 26,
12489
13401
  },
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
13402
  adjustsFontSizeToFit: {
12529
13403
  label: 'Adjust Font Size To Fit',
12530
13404
  description:
@@ -12551,6 +13425,9 @@ export const patterns = [
12551
13425
  alignSelf: 'flex-start',
12552
13426
  flexGrow: 0,
12553
13427
  flexShrink: 0,
13428
+ color: 'THEME_COLORS.TEXT',
13429
+ fontSize: '16@fs',
13430
+ fontWeight: '400',
12554
13431
  },
12555
13432
  },
12556
13433
  types: {},