@developer_tribe/react-builder 1.2.25 → 1.2.27

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 (119) hide show
  1. package/dist/attributes-editor/AttributesEditorFields.d.ts +1 -1
  2. package/dist/attributes-editor/SpecialCategorySection.d.ts +1 -1
  3. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +3 -4
  4. package/dist/build-components/PaywallOptions/PaywallOptionButton.d.ts +1 -1
  5. package/dist/build-components/PaywallProvider/PaywallContext.d.ts +1 -2
  6. package/dist/build-components/index.d.ts +1 -3
  7. package/dist/build-components/patterns.generated.d.ts +759 -1637
  8. package/dist/index.cjs.js +4 -4
  9. package/dist/index.cjs.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.esm.js +4 -4
  12. package/dist/index.esm.js.map +1 -1
  13. package/dist/index.web.cjs.js +3 -3
  14. package/dist/index.web.cjs.js.map +1 -1
  15. package/dist/index.web.esm.js +3 -3
  16. package/dist/index.web.esm.js.map +1 -1
  17. package/dist/paywall/hooks/index.d.ts +0 -1
  18. package/dist/styles.css +1 -1
  19. package/dist/utils/index.d.ts +1 -0
  20. package/dist/utils/projectColors.d.ts +7 -0
  21. package/package.json +3 -3
  22. package/src/DeviceMockFrame.tsx +0 -2
  23. package/src/RenderPage.tsx +0 -9
  24. package/src/assets/.DS_Store +0 -0
  25. package/src/assets/meta.json +1 -1
  26. package/src/assets/samples/paywall-1.json +0 -1
  27. package/src/assets/samples/paywall-2.json +2 -3
  28. package/src/assets/samples/paywall-app-delete-offer.json +2 -3
  29. package/src/assets/samples/paywall-app-open-offer.json +2 -3
  30. package/src/assets/samples/paywall-back-offer.json +2 -3
  31. package/src/assets/samples/paywall-notification-offer.json +2 -3
  32. package/src/assets/samples/vpn-onboard-1.json +15 -15
  33. package/src/assets/samples/vpn-onboard-2.json +15 -15
  34. package/src/assets/samples/vpn-onboard-3.json +15 -15
  35. package/src/assets/samples/vpn-onboard-4.json +15 -15
  36. package/src/assets/samples/vpn-onboard-5.json +21 -21
  37. package/src/assets/samples/vpn-onboard-6.json +15 -15
  38. package/src/attributes-editor/AttributesEditorFields.tsx +0 -1
  39. package/src/attributes-editor/AttributesEditorView.tsx +0 -2
  40. package/src/attributes-editor/Field.tsx +1 -1
  41. package/src/attributes-editor/SpecialCategorySection.tsx +0 -1
  42. package/src/attributes-editor/useAttributesEditorModel.ts +18 -8
  43. package/src/build-components/BIcon/BIcon.tsx +1 -1
  44. package/src/build-components/BIcon/pattern.json +1 -3
  45. package/src/build-components/BackgroundImage/pattern.json +2 -10
  46. package/src/build-components/Button/pattern.json +1 -3
  47. package/src/build-components/Carousel/Carousel.tsx +1 -1
  48. package/src/build-components/Carousel/pattern.json +2 -8
  49. package/src/build-components/CarouselButtons/pattern.json +2 -9
  50. package/src/build-components/CarouselDots/pattern.json +1 -3
  51. package/src/build-components/CarouselItem/pattern.json +1 -3
  52. package/src/build-components/CarouselProvider/CarouselProvider.tsx +1 -1
  53. package/src/build-components/CarouselProvider/pattern.json +1 -4
  54. package/src/build-components/CountDown/CountDown.tsx +25 -1
  55. package/src/build-components/CountDown/CountDownProps.generated.ts +3 -4
  56. package/src/build-components/CountDown/pattern.json +9 -4
  57. package/src/build-components/Main/pattern.json +1 -3
  58. package/src/build-components/NavigationBarColor/pattern.json +1 -3
  59. package/src/build-components/Onboard/pattern.json +2 -6
  60. package/src/build-components/OnboardButton/OnboardButton.tsx +1 -4
  61. package/src/build-components/OnboardButton/pattern.json +3 -14
  62. package/src/build-components/OnboardButtons/OnboardButtons.tsx +1 -9
  63. package/src/build-components/OnboardButtons/pattern.json +4 -15
  64. package/src/build-components/OnboardDot/OnboardDot.tsx +2 -1
  65. package/src/build-components/OnboardDot/pattern.json +1 -3
  66. package/src/build-components/OnboardFooter/pattern.json +1 -3
  67. package/src/build-components/OnboardImage/pattern.json +1 -5
  68. package/src/build-components/OnboardItem/OnboardItem.tsx +1 -1
  69. package/src/build-components/OnboardItem/pattern.json +3 -11
  70. package/src/build-components/OnboardProvider/OnboardProvider.tsx +0 -1
  71. package/src/build-components/OnboardProvider/pattern.json +2 -8
  72. package/src/build-components/OnboardSubtitle/pattern.json +1 -4
  73. package/src/build-components/OnboardTitle/pattern.json +1 -4
  74. package/src/build-components/PaywallBackground/pattern.json +1 -3
  75. package/src/build-components/PaywallCloseButton/pattern.json +1 -3
  76. package/src/build-components/PaywallOptions/PaywallOptionButton.tsx +1 -2
  77. package/src/build-components/PaywallOptions/pattern.json +1 -3
  78. package/src/build-components/PaywallProvider/PaywallContext.ts +1 -1
  79. package/src/build-components/PaywallProvider/PaywallProvider.tsx +0 -10
  80. package/src/build-components/PaywallProvider/pattern.json +1 -3
  81. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButton.tsx +1 -1
  82. package/src/build-components/PaywallSubscribeButton/pattern.json +1 -3
  83. package/src/build-components/RadioButton/RadioButton.tsx +1 -1
  84. package/src/build-components/RadioButton/pattern.json +1 -3
  85. package/src/build-components/RenderNode.generated.tsx +0 -10
  86. package/src/build-components/Separator/pattern.json +1 -3
  87. package/src/build-components/StatusBarColor/pattern.json +1 -3
  88. package/src/build-components/Text/pattern.json +2 -9
  89. package/src/build-components/View/pattern.json +4 -16
  90. package/src/build-components/index.ts +0 -10
  91. package/src/build-components/patterns.generated.ts +789 -1700
  92. package/src/components/Builder.tsx +5 -0
  93. package/src/components/BuilderProvider.tsx +2 -37
  94. package/src/hooks/useSafeAreaViewStyle.ts +1 -3
  95. package/src/index.ts +4 -0
  96. package/src/mockOS/managers/navigationManager.ts +1 -1
  97. package/src/pages/ProjectPage.tsx +2 -0
  98. package/src/pages/tabs/SideTool.tsx +1 -22
  99. package/src/paywall/hooks/index.ts +0 -1
  100. package/src/store.ts +1 -6
  101. package/src/styles/base/_global.scss +2 -0
  102. package/src/utils/analyseNodeByPatterns.ts +4 -0
  103. package/src/utils/index.ts +1 -0
  104. package/src/utils/logRenderStore.ts +0 -1
  105. package/src/utils/novaToJson.ts +1 -5
  106. package/src/utils/parseColor.ts +1 -0
  107. package/src/utils/projectColors.ts +71 -0
  108. package/dist/build-components/Counter/Counter.d.ts +0 -2
  109. package/dist/build-components/Counter/CounterProps.generated.d.ts +0 -61
  110. package/dist/build-components/PaywallCounter/PaywallCounter.d.ts +0 -2
  111. package/dist/build-components/PaywallCounter/PaywallCounterProps.generated.d.ts +0 -61
  112. package/dist/paywall/hooks/useHandleGoBack.d.ts +0 -1
  113. package/src/build-components/Counter/Counter.tsx +0 -44
  114. package/src/build-components/Counter/CounterProps.generated.ts +0 -78
  115. package/src/build-components/Counter/pattern.json +0 -29
  116. package/src/build-components/PaywallCounter/PaywallCounter.tsx +0 -46
  117. package/src/build-components/PaywallCounter/PaywallCounterProps.generated.ts +0 -78
  118. package/src/build-components/PaywallCounter/pattern.json +0 -26
  119. package/src/paywall/hooks/useHandleGoBack.ts +0 -60
@@ -3242,7 +3242,6 @@ export const patterns = [
3242
3242
  description: 'description',
3243
3243
  children: 'never',
3244
3244
  attributes: {
3245
- count: 'number',
3246
3245
  adjustsFontSizeToFit: 'boolean',
3247
3246
  showEllipsis: 'boolean',
3248
3247
  style: {
@@ -3250,7 +3249,7 @@ export const patterns = [
3250
3249
  fontSize: 'size',
3251
3250
  fontFamily: 'fontFamily',
3252
3251
  fontWeight: 'fontWeight',
3253
- textAlign: ['left', 'center', 'right', 'justify'],
3252
+ textAlign: 'never',
3254
3253
  flexDirection: ['row', 'column'],
3255
3254
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
3256
3255
  alignItems: [
@@ -3285,7 +3284,7 @@ export const patterns = [
3285
3284
  marginRight: 'size',
3286
3285
  backgroundColor: 'color',
3287
3286
  borderRadius: 'size',
3288
- width: 'size',
3287
+ width: 'never',
3289
3288
  minWidth: 'size',
3290
3289
  maxWidth: 'size',
3291
3290
  height: 'size',
@@ -3300,6 +3299,7 @@ export const patterns = [
3300
3299
  zIndex: 'number',
3301
3300
  },
3302
3301
  scrollable: 'boolean',
3302
+ count: 'number',
3303
3303
  },
3304
3304
  defaults: {
3305
3305
  style: {
@@ -3313,14 +3313,60 @@ export const patterns = [
3313
3313
  desiredParent: ['all'],
3314
3314
  label: 'Count Down',
3315
3315
  description: 'Displays a countdown timer.',
3316
- attributes: {
3317
- count: {
3318
- label: 'Count (ms)',
3319
- description: 'Countdown duration in milliseconds.',
3320
- category: 'other',
3316
+ styles: {
3317
+ color: {
3318
+ label: 'Color',
3319
+ description: 'Text color.',
3320
+ category: 'style',
3321
3321
  specialCategory: null,
3322
3322
  sort: 1,
3323
3323
  },
3324
+ fontSize: {
3325
+ label: 'Font Size',
3326
+ description: 'Text size.',
3327
+ category: 'style',
3328
+ specialCategory: null,
3329
+ sort: 2,
3330
+ preferredScale: 's',
3331
+ },
3332
+ fontFamily: {
3333
+ label: 'Font Family',
3334
+ description: 'Font family used for the text.',
3335
+ category: 'style',
3336
+ specialCategory: null,
3337
+ sort: 3,
3338
+ },
3339
+ fontWeight: {
3340
+ label: 'Font Weight',
3341
+ description: 'Text weight.',
3342
+ category: 'style',
3343
+ specialCategory: null,
3344
+ sort: 4,
3345
+ },
3346
+ textAlign: {
3347
+ label: 'Text Align',
3348
+ description: 'Text alignment.',
3349
+ category: 'style',
3350
+ specialCategory: null,
3351
+ sort: 5,
3352
+ },
3353
+ backgroundColor: {
3354
+ label: 'Background Color',
3355
+ description: 'Background fill color.',
3356
+ category: 'style',
3357
+ specialCategory: null,
3358
+ sort: 20,
3359
+ },
3360
+ borderRadius: {
3361
+ label: 'Border Radius',
3362
+ description: 'Corner rounding amount.',
3363
+ category: 'style',
3364
+ specialCategory: null,
3365
+ sort: 21,
3366
+ preferredScale: 's',
3367
+ },
3368
+ },
3369
+ attributes: {
3324
3370
  adjustsFontSizeToFit: {
3325
3371
  label: 'Adjust Font Size To Fit',
3326
3372
  description:
@@ -3593,59 +3639,13 @@ export const patterns = [
3593
3639
  specialCategory: null,
3594
3640
  sort: 26,
3595
3641
  },
3596
- },
3597
- styles: {
3598
- color: {
3599
- label: 'Color',
3600
- description: 'Text color.',
3601
- category: 'style',
3642
+ count: {
3643
+ label: 'Count (ms)',
3644
+ description: 'Countdown duration in milliseconds.',
3645
+ category: 'other',
3602
3646
  specialCategory: null,
3603
3647
  sort: 1,
3604
3648
  },
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
3649
  },
3650
3650
  specialCategories: {
3651
3651
  padding: {
@@ -3692,19 +3692,13 @@ export const patterns = [
3692
3692
  {
3693
3693
  schemaVersion: 2,
3694
3694
  pattern: {
3695
- type: 'Counter',
3695
+ type: 'Image',
3696
3696
  title: 'title',
3697
3697
  description: 'description',
3698
3698
  children: 'never',
3699
3699
  attributes: {
3700
- adjustsFontSizeToFit: 'boolean',
3701
- showEllipsis: 'boolean',
3700
+ scrollable: 'boolean',
3702
3701
  style: {
3703
- color: 'color',
3704
- fontSize: 'size',
3705
- fontFamily: 'fontFamily',
3706
- fontWeight: 'fontWeight',
3707
- textAlign: ['left', 'center', 'right', 'justify'],
3708
3702
  flexDirection: ['row', 'column'],
3709
3703
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
3710
3704
  alignItems: [
@@ -3752,59 +3746,43 @@ export const patterns = [
3752
3746
  left: 'size',
3753
3747
  right: 'size',
3754
3748
  zIndex: 'number',
3749
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
3755
3750
  },
3756
- scrollable: 'boolean',
3757
- count: 'number',
3758
- },
3759
- defaults: {
3760
- style: {
3761
- color: 'THEME_COLORS.TEXT',
3762
- fontSize: '16@fs',
3763
- fontWeight: '400',
3764
- },
3751
+ src: 'string',
3765
3752
  },
3753
+ defaults: { style: { resizeMode: 'contain' } },
3766
3754
  },
3767
3755
  meta: {
3768
3756
  desiredParent: ['all'],
3769
- label: 'Counter',
3770
- description: 'Displays a numeric counter.',
3771
- styles: {
3772
- color: {
3773
- label: 'Color',
3774
- description: 'Text color.',
3775
- category: 'style',
3776
- specialCategory: null,
3757
+ label: 'Image',
3758
+ description: 'Shows an image or graphic.',
3759
+ specialCategories: {
3760
+ padding: {
3761
+ label: 'Padding',
3762
+ description: 'Uniform padding on all sides.',
3763
+ category: 'container',
3777
3764
  sort: 1,
3778
3765
  },
3779
- fontSize: {
3780
- label: 'Font Size',
3781
- description: 'Text size.',
3782
- category: 'style',
3783
- specialCategory: null,
3766
+ margin: {
3767
+ label: 'Margin',
3768
+ description: 'Uniform margin on all sides.',
3769
+ category: 'container',
3784
3770
  sort: 2,
3785
- preferredScale: 's',
3786
3771
  },
3787
- fontFamily: {
3788
- label: 'Font Family',
3789
- description: 'Font family used for the text.',
3790
- category: 'style',
3791
- specialCategory: null,
3772
+ size: {
3773
+ label: 'Size',
3774
+ description: 'Fixed dimensions.',
3775
+ category: 'container',
3792
3776
  sort: 3,
3793
3777
  },
3794
- fontWeight: {
3795
- label: 'Font Weight',
3796
- description: 'Text weight.',
3797
- category: 'style',
3798
- specialCategory: null,
3778
+ offset: {
3779
+ label: 'Offset',
3780
+ description: 'Absolute positioning offsets.',
3781
+ category: 'container',
3799
3782
  sort: 4,
3800
3783
  },
3801
- textAlign: {
3802
- label: 'Text Align',
3803
- description: 'Text alignment.',
3804
- category: 'style',
3805
- specialCategory: null,
3806
- sort: 5,
3807
- },
3784
+ },
3785
+ styles: {
3808
3786
  backgroundColor: {
3809
3787
  label: 'Background Color',
3810
3788
  description: 'Background fill color.',
@@ -3820,24 +3798,15 @@ export const patterns = [
3820
3798
  sort: 21,
3821
3799
  preferredScale: 's',
3822
3800
  },
3823
- },
3824
- attributes: {
3825
- adjustsFontSizeToFit: {
3826
- label: 'Adjust Font Size To Fit',
3827
- description:
3828
- 'Automatically reduces font size to fit the available space.',
3829
- category: 'other',
3830
- specialCategory: null,
3831
- sort: 1,
3832
- },
3833
- showEllipsis: {
3834
- label: 'Show Ellipsis',
3835
- description:
3836
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
3837
- category: 'other',
3801
+ resizeMode: {
3802
+ label: 'Resize Mode',
3803
+ description: 'How the image fits the frame.',
3804
+ category: 'style',
3838
3805
  specialCategory: null,
3839
- sort: 2,
3806
+ sort: 4,
3840
3807
  },
3808
+ },
3809
+ attributes: {
3841
3810
  scrollable: {
3842
3811
  label: 'Scrollable',
3843
3812
  description: 'Turns scroll interaction on.',
@@ -4094,52 +4063,24 @@ export const patterns = [
4094
4063
  specialCategory: null,
4095
4064
  sort: 26,
4096
4065
  },
4097
- count: {
4098
- label: 'Count',
4099
- description: 'Numeric value to display.',
4066
+ src: {
4067
+ label: 'Src',
4068
+ description: 'Image source URL.',
4100
4069
  category: 'other',
4101
4070
  specialCategory: null,
4102
4071
  sort: 1,
4103
4072
  },
4104
4073
  },
4105
- specialCategories: {
4106
- padding: {
4107
- label: 'Padding',
4108
- description: 'Uniform padding on all sides.',
4109
- category: 'container',
4110
- sort: 1,
4111
- },
4112
- margin: {
4113
- label: 'Margin',
4114
- description: 'Uniform margin on all sides.',
4115
- category: 'container',
4116
- sort: 2,
4117
- },
4118
- size: {
4119
- label: 'Size',
4120
- description: 'Fixed dimensions.',
4121
- category: 'container',
4122
- sort: 3,
4123
- },
4124
- offset: {
4125
- label: 'Offset',
4126
- description: 'Absolute positioning offsets.',
4127
- category: 'container',
4128
- sort: 4,
4129
- },
4130
- },
4131
4074
  },
4132
4075
  defaults: {
4133
4076
  style: {
4134
- color: 'THEME_COLORS.TEXT',
4135
- fontSize: '16@fs',
4136
- fontWeight: '400',
4137
4077
  flexDirection: 'column',
4138
4078
  position: 'relative',
4139
4079
  zIndex: 1,
4140
4080
  alignSelf: 'flex-start',
4141
4081
  flexGrow: 0,
4142
4082
  flexShrink: 0,
4083
+ resizeMode: 'contain',
4143
4084
  },
4144
4085
  },
4145
4086
  types: {},
@@ -4147,10 +4088,10 @@ export const patterns = [
4147
4088
  {
4148
4089
  schemaVersion: 2,
4149
4090
  pattern: {
4150
- type: 'Image',
4091
+ type: 'Main',
4151
4092
  title: 'title',
4152
4093
  description: 'description',
4153
- children: 'never',
4094
+ children: 'node',
4154
4095
  attributes: {
4155
4096
  scrollable: 'boolean',
4156
4097
  style: {
@@ -4201,16 +4142,14 @@ export const patterns = [
4201
4142
  left: 'size',
4202
4143
  right: 'size',
4203
4144
  zIndex: 'number',
4204
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
4205
4145
  },
4206
- src: 'string',
4146
+ useSafeAreaView: 'boolean',
4207
4147
  },
4208
- defaults: { style: { resizeMode: 'contain' } },
4209
4148
  },
4210
4149
  meta: {
4211
- desiredParent: ['all'],
4212
- label: 'Image',
4213
- description: 'Shows an image or graphic.',
4150
+ desiredParent: ['root'],
4151
+ label: 'Main',
4152
+ description: 'Top-level screen wrapper (safe area, base layout).',
4214
4153
  specialCategories: {
4215
4154
  padding: {
4216
4155
  label: 'Padding',
@@ -4253,13 +4192,6 @@ export const patterns = [
4253
4192
  sort: 21,
4254
4193
  preferredScale: 's',
4255
4194
  },
4256
- resizeMode: {
4257
- label: 'Resize Mode',
4258
- description: 'How the image fits the frame.',
4259
- category: 'style',
4260
- specialCategory: null,
4261
- sort: 4,
4262
- },
4263
4195
  },
4264
4196
  attributes: {
4265
4197
  scrollable: {
@@ -4518,14 +4450,17 @@ export const patterns = [
4518
4450
  specialCategory: null,
4519
4451
  sort: 26,
4520
4452
  },
4521
- src: {
4522
- label: 'Src',
4523
- description: 'Image source URL.',
4524
- category: 'other',
4453
+ useSafeAreaView: {
4454
+ label: 'Use Safe Area View',
4455
+ description:
4456
+ 'Wraps content with a safe-area-aware container (when supported by the target).',
4457
+ category: 'container',
4525
4458
  specialCategory: null,
4526
4459
  sort: 1,
4460
+ forceVisible: true,
4527
4461
  },
4528
4462
  },
4463
+ hideAllAttributes: true,
4529
4464
  },
4530
4465
  defaults: {
4531
4466
  style: {
@@ -4535,18 +4470,21 @@ export const patterns = [
4535
4470
  alignSelf: 'flex-start',
4536
4471
  flexGrow: 0,
4537
4472
  flexShrink: 0,
4538
- resizeMode: 'contain',
4473
+ width: '100%',
4474
+ height: '100%',
4475
+ flex: 1,
4539
4476
  },
4477
+ useSafeAreaView: true,
4540
4478
  },
4541
4479
  types: {},
4542
4480
  },
4543
4481
  {
4544
4482
  schemaVersion: 2,
4545
4483
  pattern: {
4546
- type: 'Main',
4484
+ type: 'NavigationBarColor',
4547
4485
  title: 'title',
4548
4486
  description: 'description',
4549
- children: 'node',
4487
+ children: 'never',
4550
4488
  attributes: {
4551
4489
  scrollable: 'boolean',
4552
4490
  style: {
@@ -4598,13 +4536,12 @@ export const patterns = [
4598
4536
  right: 'size',
4599
4537
  zIndex: 'number',
4600
4538
  },
4601
- useSafeAreaView: 'boolean',
4602
4539
  },
4603
4540
  },
4604
4541
  meta: {
4605
- desiredParent: ['root'],
4606
- label: 'Main',
4607
- description: 'Top-level screen wrapper (safe area, base layout).',
4542
+ desiredParent: ['all'],
4543
+ label: 'Navigation Bar Color',
4544
+ description: 'Sets the OS navigation bar background color.',
4608
4545
  specialCategories: {
4609
4546
  padding: {
4610
4547
  label: 'Padding',
@@ -4634,10 +4571,10 @@ export const patterns = [
4634
4571
  styles: {
4635
4572
  backgroundColor: {
4636
4573
  label: 'Background Color',
4637
- description: 'Background fill color.',
4574
+ description: 'Navigation bar background color.',
4638
4575
  category: 'style',
4639
4576
  specialCategory: null,
4640
- sort: 20,
4577
+ sort: 1,
4641
4578
  },
4642
4579
  borderRadius: {
4643
4580
  label: 'Border Radius',
@@ -4905,17 +4842,7 @@ export const patterns = [
4905
4842
  specialCategory: null,
4906
4843
  sort: 26,
4907
4844
  },
4908
- useSafeAreaView: {
4909
- label: 'Use Safe Area View',
4910
- description:
4911
- 'Wraps content with a safe-area-aware container (when supported by the target).',
4912
- category: 'container',
4913
- specialCategory: null,
4914
- sort: 1,
4915
- forceVisible: true,
4916
- },
4917
4845
  },
4918
- hideAllAttributes: true,
4919
4846
  },
4920
4847
  defaults: {
4921
4848
  style: {
@@ -4925,21 +4852,18 @@ export const patterns = [
4925
4852
  alignSelf: 'flex-start',
4926
4853
  flexGrow: 0,
4927
4854
  flexShrink: 0,
4928
- width: '100%',
4929
- height: '100%',
4930
- flex: 1,
4855
+ backgroundColor: 'THEME_COLORS.BACKGROUND',
4931
4856
  },
4932
- useSafeAreaView: true,
4933
4857
  },
4934
4858
  types: {},
4935
4859
  },
4936
4860
  {
4937
4861
  schemaVersion: 2,
4938
4862
  pattern: {
4939
- type: 'NavigationBarColor',
4863
+ type: 'Onboard',
4940
4864
  title: 'title',
4941
4865
  description: 'description',
4942
- children: 'never',
4866
+ children: 'node',
4943
4867
  attributes: {
4944
4868
  scrollable: 'boolean',
4945
4869
  style: {
@@ -4994,9 +4918,9 @@ export const patterns = [
4994
4918
  },
4995
4919
  },
4996
4920
  meta: {
4997
- desiredParent: ['all'],
4998
- label: 'Navigation Bar Color',
4999
- description: 'Sets the OS navigation bar background color.',
4921
+ desiredParent: ['=OnboardProvider'],
4922
+ label: 'Onboard',
4923
+ description: 'Wraps the onboarding flow.',
5000
4924
  specialCategories: {
5001
4925
  padding: {
5002
4926
  label: 'Padding',
@@ -5026,10 +4950,10 @@ export const patterns = [
5026
4950
  styles: {
5027
4951
  backgroundColor: {
5028
4952
  label: 'Background Color',
5029
- description: 'Navigation bar background color.',
4953
+ description: 'Background fill color.',
5030
4954
  category: 'style',
5031
4955
  specialCategory: null,
5032
- sort: 1,
4956
+ sort: 20,
5033
4957
  },
5034
4958
  borderRadius: {
5035
4959
  label: 'Border Radius',
@@ -5298,16 +5222,16 @@ export const patterns = [
5298
5222
  sort: 26,
5299
5223
  },
5300
5224
  },
5225
+ desiredChildren: ['=OnboardItem'],
5301
5226
  },
5302
5227
  defaults: {
5303
5228
  style: {
5304
- flexDirection: 'column',
5229
+ flexDirection: 'row',
5305
5230
  position: 'relative',
5306
5231
  zIndex: 1,
5307
5232
  alignSelf: 'flex-start',
5308
5233
  flexGrow: 0,
5309
5234
  flexShrink: 0,
5310
- backgroundColor: 'THEME_COLORS.BACKGROUND',
5311
5235
  },
5312
5236
  },
5313
5237
  types: {},
@@ -5315,10 +5239,10 @@ export const patterns = [
5315
5239
  {
5316
5240
  schemaVersion: 2,
5317
5241
  pattern: {
5318
- type: 'Onboard',
5242
+ type: 'OnboardButton',
5319
5243
  title: 'title',
5320
5244
  description: 'description',
5321
- children: 'node',
5245
+ children: 'never',
5322
5246
  attributes: {
5323
5247
  scrollable: 'boolean',
5324
5248
  style: {
@@ -5370,12 +5294,26 @@ export const patterns = [
5370
5294
  right: 'size',
5371
5295
  zIndex: 'number',
5372
5296
  },
5297
+ labelKey: 'string',
5298
+ button_text_color: 'color',
5299
+ animation: [
5300
+ 'simple-animation',
5301
+ 'line-animation',
5302
+ 'blur',
5303
+ 'blur-animation',
5304
+ 'blur-line-animation',
5305
+ ],
5306
+ animation_color: 'color',
5307
+ button_background_color: 'color',
5308
+ flex: 'number',
5309
+ events: 'EventObject[]',
5373
5310
  },
5311
+ defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5374
5312
  },
5375
5313
  meta: {
5376
- desiredParent: ['=OnboardProvider'],
5377
- label: 'Onboard',
5378
- description: 'Wraps the onboarding flow.',
5314
+ desiredParent: ['=OnboardButtons'],
5315
+ label: 'Onboard Button',
5316
+ description: 'Single action button for onboarding.',
5379
5317
  specialCategories: {
5380
5318
  padding: {
5381
5319
  label: 'Padding',
@@ -5418,6 +5356,34 @@ export const patterns = [
5418
5356
  sort: 21,
5419
5357
  preferredScale: 's',
5420
5358
  },
5359
+ button_text_color: {
5360
+ label: 'Button Text Color',
5361
+ description: 'Text color of the button.',
5362
+ category: 'style',
5363
+ specialCategory: null,
5364
+ sort: 2,
5365
+ },
5366
+ animation: {
5367
+ label: 'Animation',
5368
+ description: 'Animation style for the button.',
5369
+ category: 'style',
5370
+ specialCategory: null,
5371
+ sort: 3,
5372
+ },
5373
+ animation_color: {
5374
+ label: 'Animation Color',
5375
+ description: 'Color used by the animation.',
5376
+ category: 'style',
5377
+ specialCategory: null,
5378
+ sort: 4,
5379
+ },
5380
+ button_background_color: {
5381
+ label: 'Button Background Color',
5382
+ description: 'Background color of the button.',
5383
+ category: 'style',
5384
+ specialCategory: null,
5385
+ sort: 5,
5386
+ },
5421
5387
  },
5422
5388
  attributes: {
5423
5389
  scrollable: {
@@ -5625,9 +5591,9 @@ export const patterns = [
5625
5591
  },
5626
5592
  flex: {
5627
5593
  label: 'Flex',
5628
- description: 'Flex grow factor (e.g. 1 fills available space).',
5594
+ description: 'Flex grow value in layout.',
5629
5595
  category: 'container',
5630
- specialCategory: 'size',
5596
+ specialCategory: null,
5631
5597
  sort: 6,
5632
5598
  },
5633
5599
  position: {
@@ -5676,28 +5642,50 @@ export const patterns = [
5676
5642
  specialCategory: null,
5677
5643
  sort: 26,
5678
5644
  },
5645
+ labelKey: {
5646
+ label: 'Label Key',
5647
+ description: 'Localization key for the button text.',
5648
+ category: 'other',
5649
+ specialCategory: null,
5650
+ sort: 1,
5651
+ },
5652
+ events: {
5653
+ label: 'Events',
5654
+ description: 'List of events fired by the button.',
5655
+ category: 'other',
5656
+ specialCategory: null,
5657
+ sort: 7,
5658
+ },
5679
5659
  },
5680
- desiredChildren: ['=OnboardItem'],
5681
5660
  },
5682
5661
  defaults: {
5683
5662
  style: {
5684
- flexDirection: 'row',
5663
+ flexDirection: 'column',
5685
5664
  position: 'relative',
5686
5665
  zIndex: 1,
5687
5666
  alignSelf: 'flex-start',
5688
5667
  flexGrow: 0,
5689
5668
  flexShrink: 0,
5669
+ height: '40@vs',
5670
+ borderRadius: '12@s',
5671
+ },
5672
+ },
5673
+ types: {
5674
+ EventObject: {
5675
+ type: ['Permission', 'Navigate'],
5676
+ permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
5677
+ navigate_to: 'string',
5678
+ targetIndex: 'number',
5690
5679
  },
5691
5680
  },
5692
- types: {},
5693
5681
  },
5694
5682
  {
5695
5683
  schemaVersion: 2,
5696
5684
  pattern: {
5697
- type: 'OnboardButton',
5685
+ type: 'OnboardButtons',
5698
5686
  title: 'title',
5699
5687
  description: 'description',
5700
- children: 'never',
5688
+ children: 'node',
5701
5689
  attributes: {
5702
5690
  scrollable: 'boolean',
5703
5691
  style: {
@@ -5749,26 +5737,30 @@ export const patterns = [
5749
5737
  right: 'size',
5750
5738
  zIndex: 'number',
5751
5739
  },
5752
- labelKey: 'string',
5753
- button_text_color: 'color',
5754
- animation: [
5755
- 'simple-animation',
5756
- 'line-animation',
5757
- 'blur',
5758
- 'blur-animation',
5759
- 'blur-line-animation',
5760
- ],
5761
- animation_color: 'color',
5762
- button_background_color: 'color',
5763
- flex: 'number',
5764
- events: 'EventObject[]',
5740
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
5741
+ skipNumber: 'number',
5742
+ buttons_direction: ['row', 'column'],
5743
+ forIndex: 'number',
5744
+ seperatorColor: 'color',
5745
+ condition: ['carousel-index'],
5746
+ conditionVariable: 'number',
5747
+ },
5748
+ defaults: {
5749
+ style: {
5750
+ display: 'flex',
5751
+ flexDirection: 'row',
5752
+ gap: 12,
5753
+ alignItems: 'center',
5754
+ justifyContent: 'center',
5755
+ marginVertical: '12@vs',
5756
+ marginHorizontal: '24@s',
5757
+ },
5765
5758
  },
5766
- defaults: { style: { height: '40@vs', borderRadius: '12@s' } },
5767
5759
  },
5768
5760
  meta: {
5769
- desiredParent: ['=OnboardButtons'],
5770
- label: 'Onboard Button',
5771
- description: 'Single action button for onboarding.',
5761
+ desiredParent: ['=OnboardItem'],
5762
+ label: 'Onboard Buttons',
5763
+ description: 'Wrapper for onboarding button set.',
5772
5764
  specialCategories: {
5773
5765
  padding: {
5774
5766
  label: 'Padding',
@@ -5811,30 +5803,9 @@ export const patterns = [
5811
5803
  sort: 21,
5812
5804
  preferredScale: 's',
5813
5805
  },
5814
- button_text_color: {
5815
- label: 'Button Text Color',
5816
- description: 'Text color of the button.',
5817
- category: 'style',
5818
- specialCategory: null,
5819
- sort: 2,
5820
- },
5821
- animation: {
5822
- label: 'Animation',
5823
- description: 'Animation style for the button.',
5824
- category: 'style',
5825
- specialCategory: null,
5826
- sort: 3,
5827
- },
5828
- animation_color: {
5829
- label: 'Animation Color',
5830
- description: 'Color used by the animation.',
5831
- category: 'style',
5832
- specialCategory: null,
5833
- sort: 4,
5834
- },
5835
- button_background_color: {
5836
- label: 'Button Background Color',
5837
- description: 'Background color of the button.',
5806
+ seperatorColor: {
5807
+ label: 'Seperator Color',
5808
+ description: 'Color of the divider line.',
5838
5809
  category: 'style',
5839
5810
  specialCategory: null,
5840
5811
  sort: 5,
@@ -6046,9 +6017,9 @@ export const patterns = [
6046
6017
  },
6047
6018
  flex: {
6048
6019
  label: 'Flex',
6049
- description: 'Flex grow value in layout.',
6020
+ description: 'Flex grow factor (e.g. 1 fills available space).',
6050
6021
  category: 'container',
6051
- specialCategory: null,
6022
+ specialCategory: 'size',
6052
6023
  sort: 6,
6053
6024
  },
6054
6025
  position: {
@@ -6097,50 +6068,75 @@ export const patterns = [
6097
6068
  specialCategory: null,
6098
6069
  sort: 26,
6099
6070
  },
6100
- labelKey: {
6101
- label: 'Label Key',
6102
- description: 'Localization key for the button text.',
6071
+ buttonType: {
6072
+ label: 'Button Type',
6073
+ description: 'Which onboard button to show.',
6103
6074
  category: 'other',
6104
6075
  specialCategory: null,
6105
6076
  sort: 1,
6106
6077
  },
6107
- events: {
6108
- label: 'Events',
6109
- description: 'List of events fired by the button.',
6078
+ skipNumber: {
6079
+ label: 'Skip Number',
6080
+ description: 'Slide index to skip to.',
6110
6081
  category: 'other',
6111
6082
  specialCategory: null,
6112
- sort: 7,
6083
+ sort: 2,
6113
6084
  },
6085
+ buttons_direction: {
6086
+ label: 'Buttons Direction',
6087
+ description: 'Direction to lay out buttons.',
6088
+ category: 'container',
6089
+ specialCategory: null,
6090
+ sort: 3,
6091
+ },
6092
+ forIndex: {
6093
+ label: 'For Index',
6094
+ description: 'Show only for this slide index.',
6095
+ category: 'other',
6096
+ specialCategory: null,
6097
+ sort: 4,
6098
+ },
6099
+ condition: {
6100
+ label: 'Condition',
6101
+ description: 'Built-in condition to check.',
6102
+ category: 'other',
6103
+ specialCategory: null,
6104
+ sort: 6,
6105
+ },
6106
+ conditionVariable: {
6107
+ label: 'Condition Variable',
6108
+ description: 'Value used when checking the condition.',
6109
+ category: 'other',
6110
+ specialCategory: null,
6111
+ sort: 7,
6112
+ },
6113
+ },
6114
+ },
6115
+ defaults: {
6116
+ style: {
6117
+ flexDirection: 'row',
6118
+ position: 'relative',
6119
+ zIndex: 1,
6120
+ alignSelf: 'flex-start',
6121
+ flexGrow: 0,
6122
+ flexShrink: 0,
6123
+ display: 'flex',
6124
+ gap: 12,
6125
+ alignItems: 'center',
6126
+ justifyContent: 'center',
6127
+ marginVertical: '12@vs',
6128
+ marginHorizontal: '24@s',
6114
6129
  },
6115
6130
  },
6116
- defaults: {
6117
- style: {
6118
- flexDirection: 'column',
6119
- position: 'relative',
6120
- zIndex: 1,
6121
- alignSelf: 'flex-start',
6122
- flexGrow: 0,
6123
- flexShrink: 0,
6124
- height: '40@vs',
6125
- borderRadius: '12@s',
6126
- },
6127
- },
6128
- types: {
6129
- EventObject: {
6130
- type: ['Permission', 'Navigate'],
6131
- permission: ['att', 'notification', 'rating', 'GDPR', 'null'],
6132
- navigate_to: 'string',
6133
- targetIndex: 'number',
6134
- },
6135
- },
6131
+ types: {},
6136
6132
  },
6137
6133
  {
6138
6134
  schemaVersion: 2,
6139
6135
  pattern: {
6140
- type: 'OnboardButtons',
6136
+ type: 'OnboardDot',
6141
6137
  title: 'title',
6142
6138
  description: 'description',
6143
- children: 'node',
6139
+ children: 'never',
6144
6140
  attributes: {
6145
6141
  scrollable: 'boolean',
6146
6142
  style: {
@@ -6192,30 +6188,27 @@ export const patterns = [
6192
6188
  right: 'size',
6193
6189
  zIndex: 'number',
6194
6190
  },
6195
- buttonType: ['previous_button', 'next_button', 'skip_button'],
6196
- skipNumber: 'number',
6197
- buttons_direction: ['row', 'column'],
6198
- forIndex: 'number',
6199
- seperatorColor: 'color',
6200
- condition: ['carousel-index'],
6201
- conditionVariable: 'number',
6202
- },
6203
- defaults: {
6204
- style: {
6205
- display: 'flex',
6206
- flexDirection: 'row',
6207
- gap: 12,
6208
- alignItems: 'center',
6209
- justifyContent: 'center',
6210
- marginVertical: '12@vs',
6211
- marginHorizontal: '24@s',
6212
- },
6191
+ dotType: [
6192
+ 'expanding_dot',
6193
+ 'normal_dot',
6194
+ 'scaling_dot',
6195
+ 'sliding_border',
6196
+ 'sliding_dot',
6197
+ 'liquid_like',
6198
+ ],
6199
+ dot_thickness: 'size',
6200
+ inactive_dot_opacity: 'number',
6201
+ inactive_dot_color: 'color',
6202
+ active_dot_color: 'color',
6203
+ flexDirection: 'never',
6204
+ alignItems: 'never',
6205
+ justifyContent: 'never',
6213
6206
  },
6214
6207
  },
6215
6208
  meta: {
6216
- desiredParent: ['=OnboardItem'],
6217
- label: 'Onboard Buttons',
6218
- description: 'Wrapper for onboarding button set.',
6209
+ desiredParent: ['>OnboardProvider'],
6210
+ label: 'Onboard Dot',
6211
+ description: 'Renders onboarding progress dots.',
6219
6212
  specialCategories: {
6220
6213
  padding: {
6221
6214
  label: 'Padding',
@@ -6258,9 +6251,37 @@ export const patterns = [
6258
6251
  sort: 21,
6259
6252
  preferredScale: 's',
6260
6253
  },
6261
- seperatorColor: {
6262
- label: 'Seperator Color',
6263
- description: 'Color of the divider line.',
6254
+ dotType: {
6255
+ label: 'Dot Type',
6256
+ description: 'Dot animation style.',
6257
+ category: 'style',
6258
+ specialCategory: null,
6259
+ sort: 1,
6260
+ },
6261
+ inactive_dot_opacity: {
6262
+ label: 'Inactive Dot Opacity',
6263
+ description: 'Opacity for inactive dots.',
6264
+ category: 'style',
6265
+ specialCategory: null,
6266
+ sort: 3,
6267
+ },
6268
+ inactive_dot_color: {
6269
+ label: 'Inactive Dot Color',
6270
+ description: 'Color of inactive dots.',
6271
+ category: 'style',
6272
+ specialCategory: null,
6273
+ sort: 4,
6274
+ },
6275
+ dot_thickness: {
6276
+ label: 'Dot Thickness',
6277
+ description: 'Dot size/diameter.',
6278
+ category: 'style',
6279
+ specialCategory: null,
6280
+ sort: 2,
6281
+ },
6282
+ active_dot_color: {
6283
+ label: 'Active Dot Color',
6284
+ description: 'Color of the active dot.',
6264
6285
  category: 'style',
6265
6286
  specialCategory: null,
6266
6287
  sort: 5,
@@ -6523,48 +6544,6 @@ export const patterns = [
6523
6544
  specialCategory: null,
6524
6545
  sort: 26,
6525
6546
  },
6526
- buttonType: {
6527
- label: 'Button Type',
6528
- description: 'Which onboard button to show.',
6529
- category: 'other',
6530
- specialCategory: null,
6531
- sort: 1,
6532
- },
6533
- skipNumber: {
6534
- label: 'Skip Number',
6535
- description: 'Slide index to skip to.',
6536
- category: 'other',
6537
- specialCategory: null,
6538
- sort: 2,
6539
- },
6540
- buttons_direction: {
6541
- label: 'Buttons Direction',
6542
- description: 'Direction to lay out buttons.',
6543
- category: 'container',
6544
- specialCategory: null,
6545
- sort: 3,
6546
- },
6547
- forIndex: {
6548
- label: 'For Index',
6549
- description: 'Show only for this slide index.',
6550
- category: 'other',
6551
- specialCategory: null,
6552
- sort: 4,
6553
- },
6554
- condition: {
6555
- label: 'Condition',
6556
- description: 'Built-in condition to check.',
6557
- category: 'other',
6558
- specialCategory: null,
6559
- sort: 6,
6560
- },
6561
- conditionVariable: {
6562
- label: 'Condition Variable',
6563
- description: 'Value used when checking the condition.',
6564
- category: 'other',
6565
- specialCategory: null,
6566
- sort: 7,
6567
- },
6568
6547
  },
6569
6548
  },
6570
6549
  defaults: {
@@ -6575,26 +6554,33 @@ export const patterns = [
6575
6554
  alignSelf: 'flex-start',
6576
6555
  flexGrow: 0,
6577
6556
  flexShrink: 0,
6578
- display: 'flex',
6579
- gap: 12,
6580
6557
  alignItems: 'center',
6581
6558
  justifyContent: 'center',
6582
- marginVertical: '12@vs',
6583
- marginHorizontal: '24@s',
6559
+ gap: '12@s',
6584
6560
  },
6561
+ dotType: 'expanding_dot',
6562
+ dot_thickness: 10,
6563
+ inactive_dot_opacity: 0.3,
6564
+ active_dot_color: '#007AFF',
6585
6565
  },
6586
6566
  types: {},
6587
6567
  },
6588
6568
  {
6589
6569
  schemaVersion: 2,
6590
6570
  pattern: {
6591
- type: 'OnboardDot',
6571
+ type: 'OnboardFooter',
6592
6572
  title: 'title',
6593
6573
  description: 'description',
6594
- children: 'never',
6574
+ children: 'node',
6595
6575
  attributes: {
6596
- scrollable: 'boolean',
6576
+ adjustsFontSizeToFit: 'boolean',
6577
+ showEllipsis: 'boolean',
6597
6578
  style: {
6579
+ color: 'color',
6580
+ fontSize: 'size',
6581
+ fontFamily: 'fontFamily',
6582
+ fontWeight: 'fontWeight',
6583
+ textAlign: ['left', 'center', 'right', 'justify'],
6598
6584
  flexDirection: ['row', 'column'],
6599
6585
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6600
6586
  alignItems: [
@@ -6643,967 +6629,63 @@ export const patterns = [
6643
6629
  right: 'size',
6644
6630
  zIndex: 'number',
6645
6631
  },
6646
- dotType: [
6647
- 'expanding_dot',
6648
- 'normal_dot',
6649
- 'scaling_dot',
6650
- 'sliding_border',
6651
- 'sliding_dot',
6652
- 'liquid_like',
6653
- ],
6654
- dot_thickness: 'size',
6655
- inactive_dot_opacity: 'number',
6656
- inactive_dot_color: 'color',
6657
- active_dot_color: 'color',
6658
- flexDirection: 'never',
6659
- alignItems: 'never',
6660
- justifyContent: 'never',
6632
+ scrollable: 'boolean',
6633
+ textLocalizationKey: 'string',
6634
+ linkedWordFirstLocalizationKey: 'string',
6635
+ linkedWordFirstColor: 'color',
6636
+ linkedWordFirstPage: 'string',
6637
+ linkedWordSecondLocalizationKey: 'string',
6638
+ linkedWordSecondColor: 'color',
6639
+ linkedWordSecondPage: 'string',
6640
+ },
6641
+ defaults: {
6642
+ style: {
6643
+ color: 'THEME_COLORS.TEXT',
6644
+ fontSize: '16@fs',
6645
+ fontWeight: '400',
6646
+ },
6661
6647
  },
6662
6648
  },
6663
6649
  meta: {
6664
- desiredParent: ['>OnboardProvider'],
6665
- label: 'Onboard Dot',
6666
- description: 'Renders onboarding progress dots.',
6667
- specialCategories: {
6668
- padding: {
6669
- label: 'Padding',
6670
- description: 'Uniform padding on all sides.',
6671
- category: 'container',
6650
+ desiredParent: ['>OnboardItem'],
6651
+ label: 'Onboard Footer',
6652
+ description: 'Footer text with optional links.',
6653
+ styles: {
6654
+ color: {
6655
+ label: 'Color',
6656
+ description: 'Text color.',
6657
+ category: 'style',
6658
+ specialCategory: null,
6672
6659
  sort: 1,
6673
6660
  },
6674
- margin: {
6675
- label: 'Margin',
6676
- description: 'Uniform margin on all sides.',
6677
- category: 'container',
6661
+ fontSize: {
6662
+ label: 'Font Size',
6663
+ description: 'Text size.',
6664
+ category: 'style',
6665
+ specialCategory: null,
6678
6666
  sort: 2,
6667
+ preferredScale: 's',
6679
6668
  },
6680
- size: {
6681
- label: 'Size',
6682
- description: 'Fixed dimensions.',
6683
- category: 'container',
6684
- sort: 3,
6685
- },
6686
- offset: {
6687
- label: 'Offset',
6688
- description: 'Absolute positioning offsets.',
6689
- category: 'container',
6690
- sort: 4,
6691
- },
6692
- },
6693
- styles: {
6694
- backgroundColor: {
6695
- label: 'Background Color',
6696
- description: 'Background fill color.',
6697
- category: 'style',
6698
- specialCategory: null,
6699
- sort: 20,
6700
- },
6701
- borderRadius: {
6702
- label: 'Border Radius',
6703
- description: 'Corner rounding amount.',
6704
- category: 'style',
6705
- specialCategory: null,
6706
- sort: 21,
6707
- preferredScale: 's',
6708
- },
6709
- dotType: {
6710
- label: 'Dot Type',
6711
- description: 'Dot animation style.',
6712
- category: 'style',
6713
- specialCategory: null,
6714
- sort: 1,
6715
- },
6716
- inactive_dot_opacity: {
6717
- label: 'Inactive Dot Opacity',
6718
- description: 'Opacity for inactive dots.',
6719
- category: 'style',
6720
- specialCategory: null,
6721
- sort: 3,
6722
- },
6723
- inactive_dot_color: {
6724
- label: 'Inactive Dot Color',
6725
- description: 'Color of inactive dots.',
6726
- category: 'style',
6727
- specialCategory: null,
6728
- sort: 4,
6729
- },
6730
- dot_thickness: {
6731
- label: 'Dot Thickness',
6732
- description: 'Dot size/diameter.',
6733
- category: 'style',
6734
- specialCategory: null,
6735
- sort: 2,
6736
- },
6737
- active_dot_color: {
6738
- label: 'Active Dot Color',
6739
- description: 'Color of the active dot.',
6740
- category: 'style',
6741
- specialCategory: null,
6742
- sort: 5,
6743
- },
6744
- },
6745
- attributes: {
6746
- scrollable: {
6747
- label: 'Scrollable',
6748
- description: 'Turns scroll interaction on.',
6749
- category: 'container',
6750
- specialCategory: null,
6751
- sort: -1,
6752
- },
6753
- flexDirection: {
6754
- label: 'Flex Direction',
6755
- description: 'Sets row or column layout.',
6756
- category: 'container',
6757
- specialCategory: null,
6758
- sort: 4,
6759
- },
6760
- flexWrap: {
6761
- label: 'Flex Wrap',
6762
- description: 'Controls whether flex items wrap to multiple lines.',
6763
- category: 'container',
6764
- specialCategory: null,
6765
- sort: 4.5,
6766
- },
6767
- alignItems: {
6768
- label: 'Align Items',
6769
- description: 'Controls cross-axis alignment.',
6770
- category: 'container',
6771
- specialCategory: null,
6772
- sort: 3,
6773
- },
6774
- justifyContent: {
6775
- label: 'Justify Content',
6776
- description: 'Controls main-axis alignment.',
6777
- category: 'container',
6778
- specialCategory: null,
6779
- sort: 5,
6780
- },
6781
- gap: {
6782
- label: 'Gap',
6783
- description: 'Space between children.',
6784
- category: 'container',
6785
- specialCategory: null,
6786
- sort: 10,
6787
- preferredScale: 's',
6788
- },
6789
- padding: {
6790
- label: 'Padding',
6791
- description: 'Uniform padding on all sides.',
6792
- category: 'container',
6793
- specialCategory: 'padding',
6794
- sort: 6,
6795
- preferredScale: 's',
6796
- },
6797
- paddingHorizontal: {
6798
- label: 'Padding Horizontal',
6799
- description: 'Left and right padding.',
6800
- category: 'container',
6801
- specialCategory: 'padding',
6802
- sort: 7,
6803
- preferredScale: 's',
6804
- },
6805
- paddingVertical: {
6806
- label: 'Padding Vertical',
6807
- description: 'Top and bottom padding.',
6808
- category: 'container',
6809
- specialCategory: 'padding',
6810
- sort: 8,
6811
- preferredScale: 'vs',
6812
- },
6813
- paddingTop: {
6814
- label: 'Padding Top',
6815
- description: 'Top padding only.',
6816
- category: 'container',
6817
- specialCategory: 'padding',
6818
- sort: 9,
6819
- preferredScale: 'vs',
6820
- },
6821
- paddingBottom: {
6822
- label: 'Padding Bottom',
6823
- description: 'Bottom padding only.',
6824
- category: 'container',
6825
- specialCategory: 'padding',
6826
- sort: 10,
6827
- preferredScale: 'vs',
6828
- },
6829
- paddingLeft: {
6830
- label: 'Padding Left',
6831
- description: 'Left padding only.',
6832
- category: 'container',
6833
- specialCategory: 'padding',
6834
- sort: 11,
6835
- preferredScale: 's',
6836
- },
6837
- paddingRight: {
6838
- label: 'Padding Right',
6839
- description: 'Right padding only.',
6840
- category: 'container',
6841
- specialCategory: 'padding',
6842
- sort: 12,
6843
- preferredScale: 's',
6844
- },
6845
- margin: {
6846
- label: 'Margin',
6847
- description: 'Uniform margin on all sides.',
6848
- category: 'container',
6849
- specialCategory: 'margin',
6850
- sort: 13,
6851
- preferredScale: 's',
6852
- },
6853
- marginHorizontal: {
6854
- label: 'Margin Horizontal',
6855
- description: 'Left and right margin.',
6856
- category: 'container',
6857
- specialCategory: 'margin',
6858
- sort: 14,
6859
- preferredScale: 's',
6860
- },
6861
- marginVertical: {
6862
- label: 'Margin Vertical',
6863
- description: 'Top and bottom margin.',
6864
- category: 'container',
6865
- specialCategory: 'margin',
6866
- sort: 15,
6867
- preferredScale: 'vs',
6868
- },
6869
- marginTop: {
6870
- label: 'Margin Top',
6871
- description: 'Top margin only.',
6872
- category: 'container',
6873
- specialCategory: 'margin',
6874
- sort: 16,
6875
- preferredScale: 'vs',
6876
- },
6877
- marginBottom: {
6878
- label: 'Margin Bottom',
6879
- description: 'Bottom margin only.',
6880
- category: 'container',
6881
- specialCategory: 'margin',
6882
- sort: 17,
6883
- preferredScale: 'vs',
6884
- },
6885
- marginLeft: {
6886
- label: 'Margin Left',
6887
- description: 'Left margin only.',
6888
- category: 'container',
6889
- specialCategory: 'margin',
6890
- sort: 18,
6891
- preferredScale: 's',
6892
- },
6893
- marginRight: {
6894
- label: 'Margin Right',
6895
- description: 'Right margin only.',
6896
- category: 'container',
6897
- specialCategory: 'margin',
6898
- sort: 19,
6899
- preferredScale: 's',
6900
- },
6901
- width: {
6902
- label: 'Width',
6903
- description: 'Fixed width value.',
6904
- category: 'container',
6905
- specialCategory: 'size',
6906
- sort: 0,
6907
- preferredScale: 's',
6908
- },
6909
- minWidth: {
6910
- label: 'Min Width',
6911
- description: 'Minimum width constraint.',
6912
- category: 'container',
6913
- specialCategory: 'size',
6914
- sort: 1,
6915
- preferredScale: 's',
6916
- },
6917
- maxWidth: {
6918
- label: 'Max Width',
6919
- description: 'Maximum width constraint.',
6920
- category: 'container',
6921
- specialCategory: 'size',
6922
- sort: 2,
6923
- preferredScale: 's',
6924
- },
6925
- height: {
6926
- label: 'Height',
6927
- description: 'Fixed height value.',
6928
- category: 'container',
6929
- specialCategory: 'size',
6930
- sort: 3,
6931
- preferredScale: 'vs',
6932
- },
6933
- minHeight: {
6934
- label: 'Min Height',
6935
- description: 'Minimum height constraint.',
6936
- category: 'container',
6937
- specialCategory: 'size',
6938
- sort: 4,
6939
- preferredScale: 'vs',
6940
- },
6941
- maxHeight: {
6942
- label: 'Max Height',
6943
- description: 'Maximum height constraint.',
6944
- category: 'container',
6945
- specialCategory: 'size',
6946
- sort: 5,
6947
- preferredScale: 'vs',
6948
- },
6949
- flex: {
6950
- label: 'Flex',
6951
- description: 'Flex grow factor (e.g. 1 fills available space).',
6952
- category: 'container',
6953
- specialCategory: 'size',
6954
- sort: 6,
6955
- },
6956
- position: {
6957
- label: 'Position',
6958
- description: 'Sets layout positioning mode.',
6959
- category: 'container',
6960
- specialCategory: null,
6961
- sort: 3,
6962
- },
6963
- top: {
6964
- label: 'Top',
6965
- description: 'Offset from the top edge.',
6966
- category: 'container',
6967
- specialCategory: 'offset',
6968
- sort: 22,
6969
- preferredScale: 'vs',
6970
- },
6971
- bottom: {
6972
- label: 'Bottom',
6973
- description: 'Offset from the bottom edge.',
6974
- category: 'container',
6975
- specialCategory: 'offset',
6976
- sort: 23,
6977
- preferredScale: 'vs',
6978
- },
6979
- left: {
6980
- label: 'Left',
6981
- description: 'Offset from the left edge.',
6982
- category: 'container',
6983
- specialCategory: 'offset',
6984
- sort: 24,
6985
- preferredScale: 's',
6986
- },
6987
- right: {
6988
- label: 'Right',
6989
- description: 'Offset from the right edge.',
6990
- category: 'container',
6991
- specialCategory: 'offset',
6992
- sort: 25,
6993
- preferredScale: 's',
6994
- },
6995
- zIndex: {
6996
- label: 'Z-Index',
6997
- description: 'Controls stacking order.',
6998
- category: 'container',
6999
- specialCategory: null,
7000
- sort: 26,
7001
- },
7002
- },
7003
- },
7004
- defaults: {
7005
- style: {
7006
- flexDirection: 'row',
7007
- position: 'relative',
7008
- zIndex: 1,
7009
- alignSelf: 'flex-start',
7010
- flexGrow: 0,
7011
- flexShrink: 0,
7012
- alignItems: 'center',
7013
- justifyContent: 'center',
7014
- gap: '12@s',
7015
- },
7016
- dotType: 'expanding_dot',
7017
- dot_thickness: 10,
7018
- inactive_dot_opacity: 0.3,
7019
- active_dot_color: '#007AFF',
7020
- },
7021
- types: {},
7022
- },
7023
- {
7024
- schemaVersion: 2,
7025
- pattern: {
7026
- type: 'OnboardFooter',
7027
- title: 'title',
7028
- description: 'description',
7029
- children: 'node',
7030
- attributes: {
7031
- adjustsFontSizeToFit: 'boolean',
7032
- showEllipsis: 'boolean',
7033
- style: {
7034
- color: 'color',
7035
- fontSize: 'size',
7036
- fontFamily: 'fontFamily',
7037
- fontWeight: 'fontWeight',
7038
- textAlign: ['left', 'center', 'right', 'justify'],
7039
- flexDirection: ['row', 'column'],
7040
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7041
- alignItems: [
7042
- 'flex-start',
7043
- 'center',
7044
- 'flex-end',
7045
- 'stretch',
7046
- 'baseline',
7047
- ],
7048
- justifyContent: [
7049
- 'flex-start',
7050
- 'center',
7051
- 'flex-end',
7052
- 'space-between',
7053
- 'space-around',
7054
- 'space-evenly',
7055
- ],
7056
- gap: 'size',
7057
- padding: 'size',
7058
- paddingHorizontal: 'size',
7059
- paddingVertical: 'size',
7060
- paddingTop: 'size',
7061
- paddingBottom: 'size',
7062
- paddingLeft: 'size',
7063
- paddingRight: 'size',
7064
- margin: 'size',
7065
- marginHorizontal: 'size',
7066
- marginVertical: 'size',
7067
- marginTop: 'size',
7068
- marginBottom: 'size',
7069
- marginLeft: 'size',
7070
- marginRight: 'size',
7071
- backgroundColor: 'color',
7072
- borderRadius: 'size',
7073
- width: 'size',
7074
- minWidth: 'size',
7075
- maxWidth: 'size',
7076
- height: 'size',
7077
- minHeight: 'size',
7078
- maxHeight: 'size',
7079
- flex: 'number',
7080
- position: ['relative', 'absolute'],
7081
- top: 'size',
7082
- bottom: 'size',
7083
- left: 'size',
7084
- right: 'size',
7085
- zIndex: 'number',
7086
- },
7087
- scrollable: 'boolean',
7088
- textLocalizationKey: 'string',
7089
- linkedWordFirstLocalizationKey: 'string',
7090
- linkedWordFirstColor: 'color',
7091
- linkedWordFirstPage: 'string',
7092
- linkedWordSecondLocalizationKey: 'string',
7093
- linkedWordSecondColor: 'color',
7094
- linkedWordSecondPage: 'string',
7095
- },
7096
- defaults: {
7097
- style: {
7098
- color: 'THEME_COLORS.TEXT',
7099
- fontSize: '16@fs',
7100
- fontWeight: '400',
7101
- },
7102
- },
7103
- },
7104
- meta: {
7105
- desiredParent: ['>OnboardItem'],
7106
- label: 'Onboard Footer',
7107
- description: 'Footer text with optional links.',
7108
- styles: {
7109
- color: {
7110
- label: 'Color',
7111
- description: 'Text color.',
7112
- category: 'style',
7113
- specialCategory: null,
7114
- sort: 1,
7115
- },
7116
- fontSize: {
7117
- label: 'Font Size',
7118
- description: 'Text size.',
7119
- category: 'style',
7120
- specialCategory: null,
7121
- sort: 2,
7122
- preferredScale: 's',
7123
- },
7124
- fontFamily: {
7125
- label: 'Font Family',
7126
- description: 'Font family used for the text.',
7127
- category: 'style',
7128
- specialCategory: null,
7129
- sort: 3,
7130
- },
7131
- fontWeight: {
7132
- label: 'Font Weight',
7133
- description: 'Text weight.',
7134
- category: 'style',
7135
- specialCategory: null,
7136
- sort: 4,
7137
- },
7138
- textAlign: {
7139
- label: 'Text Align',
7140
- description: 'Text alignment.',
7141
- category: 'style',
7142
- specialCategory: null,
7143
- sort: 5,
7144
- },
7145
- backgroundColor: {
7146
- label: 'Background Color',
7147
- description: 'Background fill color.',
7148
- category: 'style',
7149
- specialCategory: null,
7150
- sort: 20,
7151
- },
7152
- borderRadius: {
7153
- label: 'Border Radius',
7154
- description: 'Corner rounding amount.',
7155
- category: 'style',
7156
- specialCategory: null,
7157
- sort: 21,
7158
- preferredScale: 's',
7159
- },
7160
- linkedWordFirstColor: {
7161
- label: 'Linked Word First Color',
7162
- description: 'Color of the first linked word.',
7163
- category: 'style',
7164
- specialCategory: null,
7165
- sort: 3,
7166
- },
7167
- linkedWordSecondColor: {
7168
- label: 'Linked Word Second Color',
7169
- description: 'Color of the second linked word.',
7170
- category: 'style',
7171
- specialCategory: null,
7172
- sort: 6,
7173
- },
7174
- },
7175
- attributes: {
7176
- adjustsFontSizeToFit: {
7177
- label: 'Adjust Font Size To Fit',
7178
- description:
7179
- 'Automatically reduces font size to fit the available space.',
7180
- category: 'other',
7181
- specialCategory: null,
7182
- sort: 1,
7183
- },
7184
- showEllipsis: {
7185
- label: 'Show Ellipsis',
7186
- description:
7187
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7188
- category: 'other',
7189
- specialCategory: null,
7190
- sort: 2,
7191
- },
7192
- scrollable: {
7193
- label: 'Scrollable',
7194
- description: 'Turns scroll interaction on.',
7195
- category: 'container',
7196
- specialCategory: null,
7197
- sort: -1,
7198
- },
7199
- flexDirection: {
7200
- label: 'Flex Direction',
7201
- description: 'Sets row or column layout.',
7202
- category: 'container',
7203
- specialCategory: null,
7204
- sort: 4,
7205
- },
7206
- flexWrap: {
7207
- label: 'Flex Wrap',
7208
- description: 'Controls whether flex items wrap to multiple lines.',
7209
- category: 'container',
7210
- specialCategory: null,
7211
- sort: 4.5,
7212
- },
7213
- alignItems: {
7214
- label: 'Align Items',
7215
- description: 'Controls cross-axis alignment.',
7216
- category: 'container',
7217
- specialCategory: null,
7218
- sort: 3,
7219
- },
7220
- justifyContent: {
7221
- label: 'Justify Content',
7222
- description: 'Controls main-axis alignment.',
7223
- category: 'container',
7224
- specialCategory: null,
7225
- sort: 5,
7226
- },
7227
- gap: {
7228
- label: 'Gap',
7229
- description: 'Space between children.',
7230
- category: 'container',
7231
- specialCategory: null,
7232
- sort: 10,
7233
- preferredScale: 's',
7234
- },
7235
- padding: {
7236
- label: 'Padding',
7237
- description: 'Uniform padding on all sides.',
7238
- category: 'container',
7239
- specialCategory: 'padding',
7240
- sort: 6,
7241
- preferredScale: 's',
7242
- },
7243
- paddingHorizontal: {
7244
- label: 'Padding Horizontal',
7245
- description: 'Left and right padding.',
7246
- category: 'container',
7247
- specialCategory: 'padding',
7248
- sort: 7,
7249
- preferredScale: 's',
7250
- },
7251
- paddingVertical: {
7252
- label: 'Padding Vertical',
7253
- description: 'Top and bottom padding.',
7254
- category: 'container',
7255
- specialCategory: 'padding',
7256
- sort: 8,
7257
- preferredScale: 'vs',
7258
- },
7259
- paddingTop: {
7260
- label: 'Padding Top',
7261
- description: 'Top padding only.',
7262
- category: 'container',
7263
- specialCategory: 'padding',
7264
- sort: 9,
7265
- preferredScale: 'vs',
7266
- },
7267
- paddingBottom: {
7268
- label: 'Padding Bottom',
7269
- description: 'Bottom padding only.',
7270
- category: 'container',
7271
- specialCategory: 'padding',
7272
- sort: 10,
7273
- preferredScale: 'vs',
7274
- },
7275
- paddingLeft: {
7276
- label: 'Padding Left',
7277
- description: 'Left padding only.',
7278
- category: 'container',
7279
- specialCategory: 'padding',
7280
- sort: 11,
7281
- preferredScale: 's',
7282
- },
7283
- paddingRight: {
7284
- label: 'Padding Right',
7285
- description: 'Right padding only.',
7286
- category: 'container',
7287
- specialCategory: 'padding',
7288
- sort: 12,
7289
- preferredScale: 's',
7290
- },
7291
- margin: {
7292
- label: 'Margin',
7293
- description: 'Uniform margin on all sides.',
7294
- category: 'container',
7295
- specialCategory: 'margin',
7296
- sort: 13,
7297
- preferredScale: 's',
7298
- },
7299
- marginHorizontal: {
7300
- label: 'Margin Horizontal',
7301
- description: 'Left and right margin.',
7302
- category: 'container',
7303
- specialCategory: 'margin',
7304
- sort: 14,
7305
- preferredScale: 's',
7306
- },
7307
- marginVertical: {
7308
- label: 'Margin Vertical',
7309
- description: 'Top and bottom margin.',
7310
- category: 'container',
7311
- specialCategory: 'margin',
7312
- sort: 15,
7313
- preferredScale: 'vs',
7314
- },
7315
- marginTop: {
7316
- label: 'Margin Top',
7317
- description: 'Top margin only.',
7318
- category: 'container',
7319
- specialCategory: 'margin',
7320
- sort: 16,
7321
- preferredScale: 'vs',
7322
- },
7323
- marginBottom: {
7324
- label: 'Margin Bottom',
7325
- description: 'Bottom margin only.',
7326
- category: 'container',
7327
- specialCategory: 'margin',
7328
- sort: 17,
7329
- preferredScale: 'vs',
7330
- },
7331
- marginLeft: {
7332
- label: 'Margin Left',
7333
- description: 'Left margin only.',
7334
- category: 'container',
7335
- specialCategory: 'margin',
7336
- sort: 18,
7337
- preferredScale: 's',
7338
- },
7339
- marginRight: {
7340
- label: 'Margin Right',
7341
- description: 'Right margin only.',
7342
- category: 'container',
7343
- specialCategory: 'margin',
7344
- sort: 19,
7345
- preferredScale: 's',
7346
- },
7347
- width: {
7348
- label: 'Width',
7349
- description: 'Fixed width value.',
7350
- category: 'container',
7351
- specialCategory: 'size',
7352
- sort: 0,
7353
- preferredScale: 's',
7354
- },
7355
- minWidth: {
7356
- label: 'Min Width',
7357
- description: 'Minimum width constraint.',
7358
- category: 'container',
7359
- specialCategory: 'size',
7360
- sort: 1,
7361
- preferredScale: 's',
7362
- },
7363
- maxWidth: {
7364
- label: 'Max Width',
7365
- description: 'Maximum width constraint.',
7366
- category: 'container',
7367
- specialCategory: 'size',
7368
- sort: 2,
7369
- preferredScale: 's',
7370
- },
7371
- height: {
7372
- label: 'Height',
7373
- description: 'Fixed height value.',
7374
- category: 'container',
7375
- specialCategory: 'size',
7376
- sort: 3,
7377
- preferredScale: 'vs',
7378
- },
7379
- minHeight: {
7380
- label: 'Min Height',
7381
- description: 'Minimum height constraint.',
7382
- category: 'container',
7383
- specialCategory: 'size',
7384
- sort: 4,
7385
- preferredScale: 'vs',
7386
- },
7387
- maxHeight: {
7388
- label: 'Max Height',
7389
- description: 'Maximum height constraint.',
7390
- category: 'container',
7391
- specialCategory: 'size',
7392
- sort: 5,
7393
- preferredScale: 'vs',
7394
- },
7395
- flex: {
7396
- label: 'Flex',
7397
- description: 'Flex grow factor (e.g. 1 fills available space).',
7398
- category: 'container',
7399
- specialCategory: 'size',
7400
- sort: 6,
7401
- },
7402
- position: {
7403
- label: 'Position',
7404
- description: 'Sets layout positioning mode.',
7405
- category: 'container',
6669
+ fontFamily: {
6670
+ label: 'Font Family',
6671
+ description: 'Font family used for the text.',
6672
+ category: 'style',
7406
6673
  specialCategory: null,
7407
6674
  sort: 3,
7408
6675
  },
7409
- top: {
7410
- label: 'Top',
7411
- description: 'Offset from the top edge.',
7412
- category: 'container',
7413
- specialCategory: 'offset',
7414
- sort: 22,
7415
- preferredScale: 'vs',
7416
- },
7417
- bottom: {
7418
- label: 'Bottom',
7419
- description: 'Offset from the bottom edge.',
7420
- category: 'container',
7421
- specialCategory: 'offset',
7422
- sort: 23,
7423
- preferredScale: 'vs',
7424
- },
7425
- left: {
7426
- label: 'Left',
7427
- description: 'Offset from the left edge.',
7428
- category: 'container',
7429
- specialCategory: 'offset',
7430
- sort: 24,
7431
- preferredScale: 's',
7432
- },
7433
- right: {
7434
- label: 'Right',
7435
- description: 'Offset from the right edge.',
7436
- category: 'container',
7437
- specialCategory: 'offset',
7438
- sort: 25,
7439
- preferredScale: 's',
7440
- },
7441
- zIndex: {
7442
- label: 'Z-Index',
7443
- description: 'Controls stacking order.',
7444
- category: 'container',
7445
- specialCategory: null,
7446
- sort: 26,
7447
- },
7448
- textLocalizationKey: {
7449
- label: 'Text Localization Key',
7450
- description: 'Localization key for the footer text.',
7451
- category: 'other',
7452
- specialCategory: null,
7453
- sort: 1,
7454
- },
7455
- linkedWordFirstLocalizationKey: {
7456
- label: 'Linked Word First Localization Key',
7457
- description: 'Key for the first linked word.',
7458
- category: 'other',
7459
- specialCategory: null,
7460
- sort: 2,
7461
- },
7462
- linkedWordFirstPage: {
7463
- label: 'Linked Word First Page',
7464
- description: 'Page opened by the first link.',
7465
- category: 'other',
7466
- specialCategory: null,
7467
- sort: 4,
7468
- },
7469
- linkedWordSecondLocalizationKey: {
7470
- label: 'Linked Word Second Localization Key',
7471
- description: 'Key for the second linked word.',
7472
- category: 'other',
7473
- specialCategory: null,
7474
- sort: 5,
7475
- },
7476
- linkedWordSecondPage: {
7477
- label: 'Linked Word Second Page',
7478
- description: 'Page opened by the second link.',
7479
- category: 'other',
6676
+ fontWeight: {
6677
+ label: 'Font Weight',
6678
+ description: 'Text weight.',
6679
+ category: 'style',
7480
6680
  specialCategory: null,
7481
- sort: 7,
7482
- },
7483
- },
7484
- specialCategories: {
7485
- padding: {
7486
- label: 'Padding',
7487
- description: 'Uniform padding on all sides.',
7488
- category: 'container',
7489
- sort: 1,
7490
- },
7491
- margin: {
7492
- label: 'Margin',
7493
- description: 'Uniform margin on all sides.',
7494
- category: 'container',
7495
- sort: 2,
7496
- },
7497
- size: {
7498
- label: 'Size',
7499
- description: 'Fixed dimensions.',
7500
- category: 'container',
7501
- sort: 3,
7502
- },
7503
- offset: {
7504
- label: 'Offset',
7505
- description: 'Absolute positioning offsets.',
7506
- category: 'container',
7507
6681
  sort: 4,
7508
6682
  },
7509
- },
7510
- },
7511
- defaults: {
7512
- style: {
7513
- color: 'THEME_COLORS.TEXT',
7514
- fontSize: '16@fs',
7515
- fontWeight: '400',
7516
- flexDirection: 'row',
7517
- position: 'relative',
7518
- zIndex: 1,
7519
- alignSelf: 'flex-start',
7520
- flexGrow: 0,
7521
- flexShrink: 0,
7522
- flexWrap: 'wrap',
7523
- alignItems: 'center',
7524
- justifyContent: 'center',
7525
- textAlign: 'center',
7526
- paddingHorizontal: '24@s',
7527
- },
7528
- },
7529
- types: {},
7530
- },
7531
- {
7532
- schemaVersion: 2,
7533
- pattern: {
7534
- type: 'OnboardImage',
7535
- title: 'title',
7536
- description: 'description',
7537
- children: 'node',
7538
- attributes: {
7539
- src: 'string',
7540
- style: {
7541
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
7542
- flexDirection: ['row', 'column'],
7543
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7544
- alignItems: [
7545
- 'flex-start',
7546
- 'center',
7547
- 'flex-end',
7548
- 'stretch',
7549
- 'baseline',
7550
- ],
7551
- justifyContent: [
7552
- 'flex-start',
7553
- 'center',
7554
- 'flex-end',
7555
- 'space-between',
7556
- 'space-around',
7557
- 'space-evenly',
7558
- ],
7559
- gap: 'size',
7560
- padding: 'size',
7561
- paddingHorizontal: 'size',
7562
- paddingVertical: 'size',
7563
- paddingTop: 'size',
7564
- paddingBottom: 'size',
7565
- paddingLeft: 'size',
7566
- paddingRight: 'size',
7567
- margin: 'size',
7568
- marginHorizontal: 'size',
7569
- marginVertical: 'size',
7570
- marginTop: 'size',
7571
- marginBottom: 'size',
7572
- marginLeft: 'size',
7573
- marginRight: 'size',
7574
- backgroundColor: 'color',
7575
- borderRadius: 'size',
7576
- width: 'size',
7577
- minWidth: 'size',
7578
- maxWidth: 'size',
7579
- height: 'size',
7580
- minHeight: 'size',
7581
- maxHeight: 'size',
7582
- flex: 'number',
7583
- position: ['relative', 'absolute'],
7584
- top: 'size',
7585
- bottom: 'size',
7586
- left: 'size',
7587
- right: 'size',
7588
- zIndex: 'number',
7589
- },
7590
- scrollable: 'boolean',
7591
- video_url: 'string',
7592
- lottie: 'string',
7593
- },
7594
- defaults: { style: { resizeMode: 'contain' } },
7595
- },
7596
- meta: {
7597
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7598
- label: 'Onboard Image',
7599
- description: 'Onboarding hero image with media.',
7600
- styles: {
7601
- resizeMode: {
7602
- label: 'Resize Mode',
7603
- description: 'How the image fits the frame.',
6683
+ textAlign: {
6684
+ label: 'Text Align',
6685
+ description: 'Text alignment.',
7604
6686
  category: 'style',
7605
6687
  specialCategory: null,
7606
- sort: 4,
6688
+ sort: 5,
7607
6689
  },
7608
6690
  backgroundColor: {
7609
6691
  label: 'Background Color',
@@ -7620,15 +6702,38 @@ export const patterns = [
7620
6702
  sort: 21,
7621
6703
  preferredScale: 's',
7622
6704
  },
6705
+ linkedWordFirstColor: {
6706
+ label: 'Linked Word First Color',
6707
+ description: 'Color of the first linked word.',
6708
+ category: 'style',
6709
+ specialCategory: null,
6710
+ sort: 3,
6711
+ },
6712
+ linkedWordSecondColor: {
6713
+ label: 'Linked Word Second Color',
6714
+ description: 'Color of the second linked word.',
6715
+ category: 'style',
6716
+ specialCategory: null,
6717
+ sort: 6,
6718
+ },
7623
6719
  },
7624
- attributes: {
7625
- src: {
7626
- label: 'Src',
7627
- description: 'Image source URL.',
6720
+ attributes: {
6721
+ adjustsFontSizeToFit: {
6722
+ label: 'Adjust Font Size To Fit',
6723
+ description:
6724
+ 'Automatically reduces font size to fit the available space.',
7628
6725
  category: 'other',
7629
6726
  specialCategory: null,
7630
6727
  sort: 1,
7631
6728
  },
6729
+ showEllipsis: {
6730
+ label: 'Show Ellipsis',
6731
+ description:
6732
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
6733
+ category: 'other',
6734
+ specialCategory: null,
6735
+ sort: 2,
6736
+ },
7632
6737
  scrollable: {
7633
6738
  label: 'Scrollable',
7634
6739
  description: 'Turns scroll interaction on.',
@@ -7885,20 +6990,41 @@ export const patterns = [
7885
6990
  specialCategory: null,
7886
6991
  sort: 26,
7887
6992
  },
7888
- video_url: {
7889
- label: 'Video Url',
7890
- description: 'URL for the onboarding video.',
6993
+ textLocalizationKey: {
6994
+ label: 'Text Localization Key',
6995
+ description: 'Localization key for the footer text.',
7891
6996
  category: 'other',
7892
6997
  specialCategory: null,
7893
6998
  sort: 1,
7894
6999
  },
7895
- lottie: {
7896
- label: 'Lottie',
7897
- description: 'Path to the lottie animation.',
7000
+ linkedWordFirstLocalizationKey: {
7001
+ label: 'Linked Word First Localization Key',
7002
+ description: 'Key for the first linked word.',
7898
7003
  category: 'other',
7899
7004
  specialCategory: null,
7900
7005
  sort: 2,
7901
7006
  },
7007
+ linkedWordFirstPage: {
7008
+ label: 'Linked Word First Page',
7009
+ description: 'Page opened by the first link.',
7010
+ category: 'other',
7011
+ specialCategory: null,
7012
+ sort: 4,
7013
+ },
7014
+ linkedWordSecondLocalizationKey: {
7015
+ label: 'Linked Word Second Localization Key',
7016
+ description: 'Key for the second linked word.',
7017
+ category: 'other',
7018
+ specialCategory: null,
7019
+ sort: 5,
7020
+ },
7021
+ linkedWordSecondPage: {
7022
+ label: 'Linked Word Second Page',
7023
+ description: 'Page opened by the second link.',
7024
+ category: 'other',
7025
+ specialCategory: null,
7026
+ sort: 7,
7027
+ },
7902
7028
  },
7903
7029
  specialCategories: {
7904
7030
  padding: {
@@ -7929,13 +7055,20 @@ export const patterns = [
7929
7055
  },
7930
7056
  defaults: {
7931
7057
  style: {
7932
- resizeMode: 'contain',
7933
- flexDirection: 'column',
7058
+ color: 'THEME_COLORS.TEXT',
7059
+ fontSize: '16@fs',
7060
+ fontWeight: '400',
7061
+ flexDirection: 'row',
7934
7062
  position: 'relative',
7935
7063
  zIndex: 1,
7936
7064
  alignSelf: 'flex-start',
7937
7065
  flexGrow: 0,
7938
7066
  flexShrink: 0,
7067
+ flexWrap: 'wrap',
7068
+ alignItems: 'center',
7069
+ justifyContent: 'center',
7070
+ textAlign: 'center',
7071
+ paddingHorizontal: '24@s',
7939
7072
  },
7940
7073
  },
7941
7074
  types: {},
@@ -7943,13 +7076,14 @@ export const patterns = [
7943
7076
  {
7944
7077
  schemaVersion: 2,
7945
7078
  pattern: {
7946
- type: 'OnboardItem',
7079
+ type: 'OnboardImage',
7947
7080
  title: 'title',
7948
7081
  description: 'description',
7949
7082
  children: 'node',
7950
7083
  attributes: {
7951
- scrollable: 'boolean',
7084
+ src: 'string',
7952
7085
  style: {
7086
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
7953
7087
  flexDirection: ['row', 'column'],
7954
7088
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7955
7089
  alignItems: [
@@ -7998,43 +7132,24 @@ export const patterns = [
7998
7132
  right: 'size',
7999
7133
  zIndex: 'number',
8000
7134
  },
8001
- display: ['flex', 'block'],
8002
- gap: 'size',
8003
- flexDirection: ['row', 'column'],
8004
- paddingHorizontal: 'size',
7135
+ scrollable: 'boolean',
7136
+ video_url: 'string',
7137
+ lottie: 'string',
8005
7138
  },
7139
+ defaults: { style: { resizeMode: 'contain' } },
8006
7140
  },
8007
7141
  meta: {
8008
- desiredParent: ['=Onboard'],
8009
- label: 'Onboard Item',
8010
- description: 'Single onboarding screen section.',
8011
- specialCategories: {
8012
- padding: {
8013
- label: 'Padding',
8014
- description: 'Uniform padding on all sides.',
8015
- category: 'container',
8016
- sort: 1,
8017
- },
8018
- margin: {
8019
- label: 'Margin',
8020
- description: 'Uniform margin on all sides.',
8021
- category: 'container',
8022
- sort: 2,
8023
- },
8024
- size: {
8025
- label: 'Size',
8026
- description: 'Fixed dimensions.',
8027
- category: 'container',
8028
- sort: 3,
8029
- },
8030
- offset: {
8031
- label: 'Offset',
8032
- description: 'Absolute positioning offsets.',
8033
- category: 'container',
7142
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
7143
+ label: 'Onboard Image',
7144
+ description: 'Onboarding hero image with media.',
7145
+ styles: {
7146
+ resizeMode: {
7147
+ label: 'Resize Mode',
7148
+ description: 'How the image fits the frame.',
7149
+ category: 'style',
7150
+ specialCategory: null,
8034
7151
  sort: 4,
8035
7152
  },
8036
- },
8037
- styles: {
8038
7153
  backgroundColor: {
8039
7154
  label: 'Background Color',
8040
7155
  description: 'Background fill color.',
@@ -8052,6 +7167,13 @@ export const patterns = [
8052
7167
  },
8053
7168
  },
8054
7169
  attributes: {
7170
+ src: {
7171
+ label: 'Src',
7172
+ description: 'Image source URL.',
7173
+ category: 'other',
7174
+ specialCategory: null,
7175
+ sort: 1,
7176
+ },
8055
7177
  scrollable: {
8056
7178
  label: 'Scrollable',
8057
7179
  description: 'Turns scroll interaction on.',
@@ -8061,10 +7183,10 @@ export const patterns = [
8061
7183
  },
8062
7184
  flexDirection: {
8063
7185
  label: 'Flex Direction',
8064
- description: 'Order of child stacking.',
7186
+ description: 'Sets row or column layout.',
8065
7187
  category: 'container',
8066
7188
  specialCategory: null,
8067
- sort: 3,
7189
+ sort: 4,
8068
7190
  },
8069
7191
  flexWrap: {
8070
7192
  label: 'Flex Wrap',
@@ -8089,10 +7211,11 @@ export const patterns = [
8089
7211
  },
8090
7212
  gap: {
8091
7213
  label: 'Gap',
8092
- description: 'Space between child blocks.',
7214
+ description: 'Space between children.',
8093
7215
  category: 'container',
8094
7216
  specialCategory: null,
8095
- sort: 2,
7217
+ sort: 10,
7218
+ preferredScale: 's',
8096
7219
  },
8097
7220
  padding: {
8098
7221
  label: 'Padding',
@@ -8107,7 +7230,8 @@ export const patterns = [
8107
7230
  description: 'Left and right padding.',
8108
7231
  category: 'container',
8109
7232
  specialCategory: 'padding',
8110
- sort: 4,
7233
+ sort: 7,
7234
+ preferredScale: 's',
8111
7235
  },
8112
7236
  paddingVertical: {
8113
7237
  label: 'Padding Vertical',
@@ -8306,34 +7430,65 @@ export const patterns = [
8306
7430
  specialCategory: null,
8307
7431
  sort: 26,
8308
7432
  },
8309
- display: {
8310
- label: 'Display',
8311
- description: 'Controls layout display mode.',
8312
- category: 'container',
7433
+ video_url: {
7434
+ label: 'Video Url',
7435
+ description: 'URL for the onboarding video.',
7436
+ category: 'other',
7437
+ specialCategory: null,
7438
+ sort: 1,
7439
+ },
7440
+ lottie: {
7441
+ label: 'Lottie',
7442
+ description: 'Path to the lottie animation.',
7443
+ category: 'other',
8313
7444
  specialCategory: null,
7445
+ sort: 2,
7446
+ },
7447
+ },
7448
+ specialCategories: {
7449
+ padding: {
7450
+ label: 'Padding',
7451
+ description: 'Uniform padding on all sides.',
7452
+ category: 'container',
8314
7453
  sort: 1,
8315
7454
  },
7455
+ margin: {
7456
+ label: 'Margin',
7457
+ description: 'Uniform margin on all sides.',
7458
+ category: 'container',
7459
+ sort: 2,
7460
+ },
7461
+ size: {
7462
+ label: 'Size',
7463
+ description: 'Fixed dimensions.',
7464
+ category: 'container',
7465
+ sort: 3,
7466
+ },
7467
+ offset: {
7468
+ label: 'Offset',
7469
+ description: 'Absolute positioning offsets.',
7470
+ category: 'container',
7471
+ sort: 4,
7472
+ },
8316
7473
  },
8317
7474
  },
8318
7475
  defaults: {
8319
7476
  style: {
7477
+ resizeMode: 'contain',
8320
7478
  flexDirection: 'column',
8321
7479
  position: 'relative',
8322
7480
  zIndex: 1,
8323
7481
  alignSelf: 'flex-start',
8324
7482
  flexGrow: 0,
8325
7483
  flexShrink: 0,
8326
- gap: '16@vs',
8327
- paddingHorizontal: '24@s',
8328
7484
  },
8329
- display: 'flex',
8330
7485
  },
8331
7486
  types: {},
8332
7487
  },
8333
7488
  {
8334
7489
  schemaVersion: 2,
8335
7490
  pattern: {
8336
- type: 'OnboardProvider',
7491
+ type: 'OnboardItem',
8337
7492
  title: 'title',
8338
7493
  description: 'description',
8339
7494
  children: 'node',
@@ -8388,14 +7543,16 @@ export const patterns = [
8388
7543
  right: 'size',
8389
7544
  zIndex: 'number',
8390
7545
  },
8391
- theme: ['light', 'dark', 'all'],
8392
- borderRadius: 'never',
7546
+ display: ['flex', 'block'],
7547
+ gap: 'size',
7548
+ flexDirection: ['row', 'column'],
7549
+ paddingHorizontal: 'size',
8393
7550
  },
8394
7551
  },
8395
7552
  meta: {
8396
- desiredParent: ['root'],
8397
- label: 'Onboard Provider',
8398
- description: 'Provides shared settings for onboarding.',
7553
+ desiredParent: ['=Onboard'],
7554
+ label: 'Onboard Item',
7555
+ description: 'Single onboarding screen section.',
8399
7556
  specialCategories: {
8400
7557
  padding: {
8401
7558
  label: 'Padding',
@@ -8449,10 +7606,10 @@ export const patterns = [
8449
7606
  },
8450
7607
  flexDirection: {
8451
7608
  label: 'Flex Direction',
8452
- description: 'Sets row or column layout.',
7609
+ description: 'Order of child stacking.',
8453
7610
  category: 'container',
8454
7611
  specialCategory: null,
8455
- sort: 4,
7612
+ sort: 3,
8456
7613
  },
8457
7614
  flexWrap: {
8458
7615
  label: 'Flex Wrap',
@@ -8477,11 +7634,10 @@ export const patterns = [
8477
7634
  },
8478
7635
  gap: {
8479
7636
  label: 'Gap',
8480
- description: 'Space between children.',
7637
+ description: 'Space between child blocks.',
8481
7638
  category: 'container',
8482
7639
  specialCategory: null,
8483
- sort: 10,
8484
- preferredScale: 's',
7640
+ sort: 2,
8485
7641
  },
8486
7642
  padding: {
8487
7643
  label: 'Padding',
@@ -8496,8 +7652,7 @@ export const patterns = [
8496
7652
  description: 'Left and right padding.',
8497
7653
  category: 'container',
8498
7654
  specialCategory: 'padding',
8499
- sort: 7,
8500
- preferredScale: 's',
7655
+ sort: 4,
8501
7656
  },
8502
7657
  paddingVertical: {
8503
7658
  label: 'Padding Vertical',
@@ -8509,31 +7664,35 @@ export const patterns = [
8509
7664
  },
8510
7665
  paddingTop: {
8511
7666
  label: 'Padding Top',
8512
- description: 'Top padding for the provider.',
7667
+ description: 'Top padding only.',
8513
7668
  category: 'container',
8514
7669
  specialCategory: 'padding',
8515
- sort: 1,
7670
+ sort: 9,
7671
+ preferredScale: 'vs',
8516
7672
  },
8517
7673
  paddingBottom: {
8518
7674
  label: 'Padding Bottom',
8519
- description: 'Bottom padding for the provider.',
7675
+ description: 'Bottom padding only.',
8520
7676
  category: 'container',
8521
7677
  specialCategory: 'padding',
8522
- sort: 3,
7678
+ sort: 10,
7679
+ preferredScale: 'vs',
8523
7680
  },
8524
7681
  paddingLeft: {
8525
7682
  label: 'Padding Left',
8526
- description: 'Left padding for the provider.',
7683
+ description: 'Left padding only.',
8527
7684
  category: 'container',
8528
7685
  specialCategory: 'padding',
8529
- sort: 4,
7686
+ sort: 11,
7687
+ preferredScale: 's',
8530
7688
  },
8531
7689
  paddingRight: {
8532
7690
  label: 'Padding Right',
8533
- description: 'Right padding for the provider.',
7691
+ description: 'Right padding only.',
8534
7692
  category: 'container',
8535
7693
  specialCategory: 'padding',
8536
- sort: 2,
7694
+ sort: 12,
7695
+ preferredScale: 's',
8537
7696
  },
8538
7697
  margin: {
8539
7698
  label: 'Margin',
@@ -8692,13 +7851,12 @@ export const patterns = [
8692
7851
  specialCategory: null,
8693
7852
  sort: 26,
8694
7853
  },
8695
- theme: {
8696
- label: 'Theme',
8697
- description:
8698
- 'Controls which app theme(s) this onboarding is intended for.',
8699
- category: 'other',
7854
+ display: {
7855
+ label: 'Display',
7856
+ description: 'Controls layout display mode.',
7857
+ category: 'container',
8700
7858
  specialCategory: null,
8701
- sort: -10,
7859
+ sort: 1,
8702
7860
  },
8703
7861
  },
8704
7862
  },
@@ -8710,28 +7868,23 @@ export const patterns = [
8710
7868
  alignSelf: 'flex-start',
8711
7869
  flexGrow: 0,
8712
7870
  flexShrink: 0,
8713
- width: '100%',
8714
- height: '100%',
7871
+ gap: '16@vs',
7872
+ paddingHorizontal: '24@s',
8715
7873
  },
7874
+ display: 'flex',
8716
7875
  },
8717
7876
  types: {},
8718
7877
  },
8719
7878
  {
8720
7879
  schemaVersion: 2,
8721
7880
  pattern: {
8722
- type: 'OnboardSubtitle',
7881
+ type: 'OnboardProvider',
8723
7882
  title: 'title',
8724
7883
  description: 'description',
8725
- children: 'string',
7884
+ children: 'node',
8726
7885
  attributes: {
8727
- adjustsFontSizeToFit: 'boolean',
8728
- showEllipsis: 'boolean',
7886
+ scrollable: 'boolean',
8729
7887
  style: {
8730
- color: 'color',
8731
- fontSize: 'size',
8732
- fontFamily: 'fontFamily',
8733
- fontWeight: 'fontWeight',
8734
- textAlign: ['left', 'center', 'right', 'justify'],
8735
7888
  flexDirection: ['row', 'column'],
8736
7889
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8737
7890
  alignItems: [
@@ -8776,61 +7929,45 @@ export const patterns = [
8776
7929
  position: ['relative', 'absolute'],
8777
7930
  top: 'size',
8778
7931
  bottom: 'size',
8779
- left: 'size',
8780
- right: 'size',
8781
- zIndex: 'number',
8782
- },
8783
- scrollable: 'boolean',
8784
- },
8785
- defaults: {
8786
- style: {
8787
- color: 'THEME_COLORS.TEXT',
8788
- fontSize: '16@fs',
8789
- fontWeight: '400',
7932
+ left: 'size',
7933
+ right: 'size',
7934
+ zIndex: 'number',
8790
7935
  },
7936
+ theme: ['light', 'dark', 'all'],
7937
+ borderRadius: 'never',
8791
7938
  },
8792
7939
  },
8793
7940
  meta: {
8794
- desiredParent: ['>OnboardProvider', '>OnboardItem'],
8795
- label: 'Onboard Subtitle',
8796
- description: 'Subtitle text for an onboarding step.',
8797
- styles: {
8798
- color: {
8799
- label: 'Color',
8800
- description: 'Text color.',
8801
- category: 'style',
8802
- specialCategory: null,
7941
+ desiredParent: ['root'],
7942
+ label: 'Onboard Provider',
7943
+ description: 'Provides shared settings for onboarding.',
7944
+ specialCategories: {
7945
+ padding: {
7946
+ label: 'Padding',
7947
+ description: 'Uniform padding on all sides.',
7948
+ category: 'container',
8803
7949
  sort: 1,
8804
7950
  },
8805
- fontSize: {
8806
- label: 'Font Size',
8807
- description: 'Text size.',
8808
- category: 'style',
8809
- specialCategory: null,
7951
+ margin: {
7952
+ label: 'Margin',
7953
+ description: 'Uniform margin on all sides.',
7954
+ category: 'container',
8810
7955
  sort: 2,
8811
- preferredScale: 's',
8812
7956
  },
8813
- fontFamily: {
8814
- label: 'Font Family',
8815
- description: 'Font family used for the text.',
8816
- category: 'style',
8817
- specialCategory: null,
7957
+ size: {
7958
+ label: 'Size',
7959
+ description: 'Fixed dimensions.',
7960
+ category: 'container',
8818
7961
  sort: 3,
8819
7962
  },
8820
- fontWeight: {
8821
- label: 'Font Weight',
8822
- description: 'Text weight.',
8823
- category: 'style',
8824
- specialCategory: null,
7963
+ offset: {
7964
+ label: 'Offset',
7965
+ description: 'Absolute positioning offsets.',
7966
+ category: 'container',
8825
7967
  sort: 4,
8826
7968
  },
8827
- textAlign: {
8828
- label: 'Text Align',
8829
- description: 'Text alignment.',
8830
- category: 'style',
8831
- specialCategory: null,
8832
- sort: 5,
8833
- },
7969
+ },
7970
+ styles: {
8834
7971
  backgroundColor: {
8835
7972
  label: 'Background Color',
8836
7973
  description: 'Background fill color.',
@@ -8848,22 +7985,6 @@ export const patterns = [
8848
7985
  },
8849
7986
  },
8850
7987
  attributes: {
8851
- adjustsFontSizeToFit: {
8852
- label: 'Adjust Font Size To Fit',
8853
- description:
8854
- 'Automatically reduces font size to fit the available space.',
8855
- category: 'other',
8856
- specialCategory: null,
8857
- sort: 1,
8858
- },
8859
- showEllipsis: {
8860
- label: 'Show Ellipsis',
8861
- description:
8862
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8863
- category: 'other',
8864
- specialCategory: null,
8865
- sort: 2,
8866
- },
8867
7988
  scrollable: {
8868
7989
  label: 'Scrollable',
8869
7990
  description: 'Turns scroll interaction on.',
@@ -8933,35 +8054,31 @@ export const patterns = [
8933
8054
  },
8934
8055
  paddingTop: {
8935
8056
  label: 'Padding Top',
8936
- description: 'Top padding only.',
8057
+ description: 'Top padding for the provider.',
8937
8058
  category: 'container',
8938
8059
  specialCategory: 'padding',
8939
- sort: 9,
8940
- preferredScale: 'vs',
8060
+ sort: 1,
8941
8061
  },
8942
8062
  paddingBottom: {
8943
8063
  label: 'Padding Bottom',
8944
- description: 'Bottom padding only.',
8064
+ description: 'Bottom padding for the provider.',
8945
8065
  category: 'container',
8946
8066
  specialCategory: 'padding',
8947
- sort: 10,
8948
- preferredScale: 'vs',
8067
+ sort: 3,
8949
8068
  },
8950
8069
  paddingLeft: {
8951
8070
  label: 'Padding Left',
8952
- description: 'Left padding only.',
8071
+ description: 'Left padding for the provider.',
8953
8072
  category: 'container',
8954
8073
  specialCategory: 'padding',
8955
- sort: 11,
8956
- preferredScale: 's',
8074
+ sort: 4,
8957
8075
  },
8958
8076
  paddingRight: {
8959
8077
  label: 'Padding Right',
8960
- description: 'Right padding only.',
8078
+ description: 'Right padding for the provider.',
8961
8079
  category: 'container',
8962
8080
  specialCategory: 'padding',
8963
- sort: 12,
8964
- preferredScale: 's',
8081
+ sort: 2,
8965
8082
  },
8966
8083
  margin: {
8967
8084
  label: 'Margin',
@@ -9120,45 +8237,26 @@ export const patterns = [
9120
8237
  specialCategory: null,
9121
8238
  sort: 26,
9122
8239
  },
9123
- },
9124
- specialCategories: {
9125
- padding: {
9126
- label: 'Padding',
9127
- description: 'Uniform padding on all sides.',
9128
- category: 'container',
9129
- sort: 1,
9130
- },
9131
- margin: {
9132
- label: 'Margin',
9133
- description: 'Uniform margin on all sides.',
9134
- category: 'container',
9135
- sort: 2,
9136
- },
9137
- size: {
9138
- label: 'Size',
9139
- description: 'Fixed dimensions.',
9140
- category: 'container',
9141
- sort: 3,
9142
- },
9143
- offset: {
9144
- label: 'Offset',
9145
- description: 'Absolute positioning offsets.',
9146
- category: 'container',
9147
- sort: 4,
8240
+ theme: {
8241
+ label: 'Theme',
8242
+ description:
8243
+ 'Controls which app theme(s) this onboarding is intended for.',
8244
+ category: 'other',
8245
+ specialCategory: null,
8246
+ sort: -10,
9148
8247
  },
9149
8248
  },
9150
8249
  },
9151
8250
  defaults: {
9152
8251
  style: {
9153
- color: 'THEME_COLORS.TEXT',
9154
- fontSize: '14@fs',
9155
- fontWeight: '600',
9156
8252
  flexDirection: 'column',
9157
8253
  position: 'relative',
9158
8254
  zIndex: 1,
9159
8255
  alignSelf: 'flex-start',
9160
8256
  flexGrow: 0,
9161
8257
  flexShrink: 0,
8258
+ width: '100%',
8259
+ height: '100%',
9162
8260
  },
9163
8261
  },
9164
8262
  types: {},
@@ -9166,7 +8264,7 @@ export const patterns = [
9166
8264
  {
9167
8265
  schemaVersion: 2,
9168
8266
  pattern: {
9169
- type: 'OnboardTitle',
8267
+ type: 'OnboardSubtitle',
9170
8268
  title: 'title',
9171
8269
  description: 'description',
9172
8270
  children: 'string',
@@ -9238,9 +8336,9 @@ export const patterns = [
9238
8336
  },
9239
8337
  },
9240
8338
  meta: {
9241
- desiredParent: ['>OnboardItem', '>OnboardProvider'],
9242
- label: 'Onboard Title',
9243
- description: 'Title text for an onboarding step.',
8339
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
8340
+ label: 'Onboard Subtitle',
8341
+ description: 'Subtitle text for an onboarding step.',
9244
8342
  styles: {
9245
8343
  color: {
9246
8344
  label: 'Color',
@@ -9598,15 +8696,14 @@ export const patterns = [
9598
8696
  defaults: {
9599
8697
  style: {
9600
8698
  color: 'THEME_COLORS.TEXT',
9601
- fontSize: '24@fs',
9602
- fontWeight: '700',
8699
+ fontSize: '14@fs',
8700
+ fontWeight: '600',
9603
8701
  flexDirection: 'column',
9604
8702
  position: 'relative',
9605
8703
  zIndex: 1,
9606
8704
  alignSelf: 'flex-start',
9607
8705
  flexGrow: 0,
9608
8706
  flexShrink: 0,
9609
- textAlign: 'center',
9610
8707
  },
9611
8708
  },
9612
8709
  types: {},
@@ -9614,15 +8711,19 @@ export const patterns = [
9614
8711
  {
9615
8712
  schemaVersion: 2,
9616
8713
  pattern: {
9617
- type: 'PaywallBackground',
8714
+ type: 'OnboardTitle',
9618
8715
  title: 'title',
9619
8716
  description: 'description',
9620
- children: 'never',
8717
+ children: 'string',
9621
8718
  attributes: {
9622
- src: 'string',
9623
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
9624
- scrollable: 'boolean',
8719
+ adjustsFontSizeToFit: 'boolean',
8720
+ showEllipsis: 'boolean',
9625
8721
  style: {
8722
+ color: 'color',
8723
+ fontSize: 'size',
8724
+ fontFamily: 'fontFamily',
8725
+ fontWeight: 'fontWeight',
8726
+ textAlign: ['left', 'center', 'right', 'justify'],
9626
8727
  flexDirection: ['row', 'column'],
9627
8728
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9628
8729
  alignItems: [
@@ -9671,32 +8772,57 @@ export const patterns = [
9671
8772
  right: 'size',
9672
8773
  zIndex: 'number',
9673
8774
  },
8775
+ scrollable: 'boolean',
9674
8776
  },
9675
8777
  defaults: {
9676
- resizeMode: 'cover',
9677
8778
  style: {
9678
- width: '100%',
9679
- height: '100%',
9680
- position: 'absolute',
9681
- top: 0,
9682
- left: 0,
9683
- right: 0,
9684
- bottom: 0,
8779
+ color: 'THEME_COLORS.TEXT',
8780
+ fontSize: '16@fs',
8781
+ fontWeight: '400',
9685
8782
  },
9686
8783
  },
9687
8784
  },
9688
8785
  meta: {
9689
- desiredParent: ['>PaywallProvider'],
9690
- label: 'Paywall Background',
9691
- description: 'Paywall Background component.',
8786
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
8787
+ label: 'Onboard Title',
8788
+ description: 'Title text for an onboarding step.',
9692
8789
  styles: {
9693
- resizeMode: {
9694
- label: 'Resize Mode',
9695
- description: 'How the image fits its container.',
8790
+ color: {
8791
+ label: 'Color',
8792
+ description: 'Text color.',
8793
+ category: 'style',
8794
+ specialCategory: null,
8795
+ sort: 1,
8796
+ },
8797
+ fontSize: {
8798
+ label: 'Font Size',
8799
+ description: 'Text size.',
8800
+ category: 'style',
8801
+ specialCategory: null,
8802
+ sort: 2,
8803
+ preferredScale: 's',
8804
+ },
8805
+ fontFamily: {
8806
+ label: 'Font Family',
8807
+ description: 'Font family used for the text.',
8808
+ category: 'style',
8809
+ specialCategory: null,
8810
+ sort: 3,
8811
+ },
8812
+ fontWeight: {
8813
+ label: 'Font Weight',
8814
+ description: 'Text weight.',
9696
8815
  category: 'style',
9697
8816
  specialCategory: null,
9698
8817
  sort: 4,
9699
8818
  },
8819
+ textAlign: {
8820
+ label: 'Text Align',
8821
+ description: 'Text alignment.',
8822
+ category: 'style',
8823
+ specialCategory: null,
8824
+ sort: 5,
8825
+ },
9700
8826
  backgroundColor: {
9701
8827
  label: 'Background Color',
9702
8828
  description: 'Background fill color.',
@@ -9714,13 +8840,22 @@ export const patterns = [
9714
8840
  },
9715
8841
  },
9716
8842
  attributes: {
9717
- src: {
9718
- label: 'Src',
9719
- description: 'Image source URL.',
8843
+ adjustsFontSizeToFit: {
8844
+ label: 'Adjust Font Size To Fit',
8845
+ description:
8846
+ 'Automatically reduces font size to fit the available space.',
9720
8847
  category: 'other',
9721
8848
  specialCategory: null,
9722
8849
  sort: 1,
9723
8850
  },
8851
+ showEllipsis: {
8852
+ label: 'Show Ellipsis',
8853
+ description:
8854
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8855
+ category: 'other',
8856
+ specialCategory: null,
8857
+ sort: 2,
8858
+ },
9724
8859
  scrollable: {
9725
8860
  label: 'Scrollable',
9726
8861
  description: 'Turns scroll interaction on.',
@@ -10006,20 +9141,17 @@ export const patterns = [
10006
9141
  },
10007
9142
  },
10008
9143
  defaults: {
10009
- resizeMode: 'cover',
10010
9144
  style: {
10011
- width: '100%',
10012
- height: '100%',
10013
- position: 'absolute',
10014
- top: 0,
10015
- left: 0,
10016
- right: 0,
10017
- bottom: 0,
10018
- zIndex: 1,
9145
+ color: 'THEME_COLORS.TEXT',
9146
+ fontSize: '24@fs',
9147
+ fontWeight: '700',
10019
9148
  flexDirection: 'column',
9149
+ position: 'relative',
9150
+ zIndex: 1,
10020
9151
  alignSelf: 'flex-start',
10021
9152
  flexGrow: 0,
10022
9153
  flexShrink: 0,
9154
+ textAlign: 'center',
10023
9155
  },
10024
9156
  },
10025
9157
  types: {},
@@ -10027,22 +9159,15 @@ export const patterns = [
10027
9159
  {
10028
9160
  schemaVersion: 2,
10029
9161
  pattern: {
10030
- type: 'PaywallCloseButton',
9162
+ type: 'PaywallBackground',
10031
9163
  title: 'title',
10032
9164
  description: 'description',
10033
9165
  children: 'never',
10034
9166
  attributes: {
10035
- iconType: 'iconType',
10036
- size: 'number',
10037
- strokeWidth: 'number',
10038
- adjustsFontSizeToFit: 'boolean',
10039
- showEllipsis: 'boolean',
10040
- style: {
10041
- color: 'color',
10042
- fontSize: 'size',
10043
- fontFamily: 'fontFamily',
10044
- fontWeight: 'fontWeight',
10045
- textAlign: ['left', 'center', 'right', 'justify'],
9167
+ src: 'string',
9168
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9169
+ scrollable: 'boolean',
9170
+ style: {
10046
9171
  flexDirection: ['row', 'column'],
10047
9172
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10048
9173
  alignItems: [
@@ -10091,57 +9216,32 @@ export const patterns = [
10091
9216
  right: 'size',
10092
9217
  zIndex: 'number',
10093
9218
  },
10094
- scrollable: 'boolean',
10095
9219
  },
10096
9220
  defaults: {
9221
+ resizeMode: 'cover',
10097
9222
  style: {
10098
- color: 'THEME_COLORS.TEXT',
10099
- fontSize: '16@fs',
10100
- fontWeight: '400',
9223
+ width: '100%',
9224
+ height: '100%',
9225
+ position: 'absolute',
9226
+ top: 0,
9227
+ left: 0,
9228
+ right: 0,
9229
+ bottom: 0,
10101
9230
  },
10102
9231
  },
10103
9232
  },
10104
9233
  meta: {
10105
9234
  desiredParent: ['>PaywallProvider'],
10106
- label: 'Paywall Close Button',
10107
- description: 'Paywall Close Button component.',
9235
+ label: 'Paywall Background',
9236
+ description: 'Paywall Background component.',
10108
9237
  styles: {
10109
- color: {
10110
- label: 'Color',
10111
- description: 'Text color.',
10112
- category: 'style',
10113
- specialCategory: null,
10114
- sort: 1,
10115
- },
10116
- fontSize: {
10117
- label: 'Font Size',
10118
- description: 'Text size.',
10119
- category: 'style',
10120
- specialCategory: null,
10121
- sort: 2,
10122
- preferredScale: 's',
10123
- },
10124
- fontFamily: {
10125
- label: 'Font Family',
10126
- description: 'Font family used for the text.',
10127
- category: 'style',
10128
- specialCategory: null,
10129
- sort: 3,
10130
- },
10131
- fontWeight: {
10132
- label: 'Font Weight',
10133
- description: 'Text weight.',
9238
+ resizeMode: {
9239
+ label: 'Resize Mode',
9240
+ description: 'How the image fits its container.',
10134
9241
  category: 'style',
10135
9242
  specialCategory: null,
10136
9243
  sort: 4,
10137
9244
  },
10138
- textAlign: {
10139
- label: 'Text Align',
10140
- description: 'Text alignment.',
10141
- category: 'style',
10142
- specialCategory: null,
10143
- sort: 5,
10144
- },
10145
9245
  backgroundColor: {
10146
9246
  label: 'Background Color',
10147
9247
  description: 'Background fill color.',
@@ -10159,43 +9259,13 @@ export const patterns = [
10159
9259
  },
10160
9260
  },
10161
9261
  attributes: {
10162
- iconType: {
10163
- label: 'Icon',
10164
- description: 'Which icon to render.',
10165
- category: 'other',
10166
- specialCategory: null,
10167
- sort: 1,
10168
- },
10169
- size: {
10170
- label: 'Size',
10171
- description: 'Icon size (px).',
10172
- category: 'other',
10173
- specialCategory: null,
10174
- sort: 2,
10175
- },
10176
- strokeWidth: {
10177
- label: 'Stroke Width',
10178
- description: 'SVG stroke width override (applied to the icon paths).',
10179
- category: 'other',
10180
- specialCategory: null,
10181
- sort: 3,
10182
- },
10183
- adjustsFontSizeToFit: {
10184
- label: 'Adjust Font Size To Fit',
10185
- description:
10186
- 'Automatically reduces font size to fit the available space.',
9262
+ src: {
9263
+ label: 'Src',
9264
+ description: 'Image source URL.',
10187
9265
  category: 'other',
10188
9266
  specialCategory: null,
10189
9267
  sort: 1,
10190
9268
  },
10191
- showEllipsis: {
10192
- label: 'Show Ellipsis',
10193
- description:
10194
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10195
- category: 'other',
10196
- specialCategory: null,
10197
- sort: 2,
10198
- },
10199
9269
  scrollable: {
10200
9270
  label: 'Scrollable',
10201
9271
  description: 'Turns scroll interaction on.',
@@ -10481,36 +9551,35 @@ export const patterns = [
10481
9551
  },
10482
9552
  },
10483
9553
  defaults: {
9554
+ resizeMode: 'cover',
10484
9555
  style: {
10485
- fontSize: '16@fs',
10486
- color: 'THEME_COLORS.TEXT',
10487
- fontWeight: '400',
10488
- flexDirection: 'row',
9556
+ width: '100%',
9557
+ height: '100%',
10489
9558
  position: 'absolute',
9559
+ top: 0,
9560
+ left: 0,
9561
+ right: 0,
9562
+ bottom: 0,
10490
9563
  zIndex: 1,
9564
+ flexDirection: 'column',
10491
9565
  alignSelf: 'flex-start',
10492
9566
  flexGrow: 0,
10493
9567
  flexShrink: 0,
10494
- top: '35@vs',
10495
- left: '24@s',
10496
- justifyContent: 'center',
10497
- alignItems: 'center',
10498
9568
  },
10499
- iconType: 'close',
10500
- strokeWidth: 1.5,
10501
- size: 24,
10502
9569
  },
10503
9570
  types: {},
10504
9571
  },
10505
9572
  {
10506
9573
  schemaVersion: 2,
10507
9574
  pattern: {
10508
- type: 'PaywallCounter',
9575
+ type: 'PaywallCloseButton',
10509
9576
  title: 'title',
10510
9577
  description: 'description',
10511
9578
  children: 'never',
10512
9579
  attributes: {
10513
- count: 'number',
9580
+ iconType: 'iconType',
9581
+ size: 'number',
9582
+ strokeWidth: 'number',
10514
9583
  adjustsFontSizeToFit: 'boolean',
10515
9584
  showEllipsis: 'boolean',
10516
9585
  style: {
@@ -10578,18 +9647,84 @@ export const patterns = [
10578
9647
  },
10579
9648
  },
10580
9649
  meta: {
10581
- desiredParent: ['all'],
10582
- label: 'Paywall Counter',
10583
- description: 'Displays the paywall counter value.',
9650
+ desiredParent: ['>PaywallProvider'],
9651
+ label: 'Paywall Close Button',
9652
+ description: 'Paywall Close Button component.',
9653
+ styles: {
9654
+ color: {
9655
+ label: 'Color',
9656
+ description: 'Text color.',
9657
+ category: 'style',
9658
+ specialCategory: null,
9659
+ sort: 1,
9660
+ },
9661
+ fontSize: {
9662
+ label: 'Font Size',
9663
+ description: 'Text size.',
9664
+ category: 'style',
9665
+ specialCategory: null,
9666
+ sort: 2,
9667
+ preferredScale: 's',
9668
+ },
9669
+ fontFamily: {
9670
+ label: 'Font Family',
9671
+ description: 'Font family used for the text.',
9672
+ category: 'style',
9673
+ specialCategory: null,
9674
+ sort: 3,
9675
+ },
9676
+ fontWeight: {
9677
+ label: 'Font Weight',
9678
+ description: 'Text weight.',
9679
+ category: 'style',
9680
+ specialCategory: null,
9681
+ sort: 4,
9682
+ },
9683
+ textAlign: {
9684
+ label: 'Text Align',
9685
+ description: 'Text alignment.',
9686
+ category: 'style',
9687
+ specialCategory: null,
9688
+ sort: 5,
9689
+ },
9690
+ backgroundColor: {
9691
+ label: 'Background Color',
9692
+ description: 'Background fill color.',
9693
+ category: 'style',
9694
+ specialCategory: null,
9695
+ sort: 20,
9696
+ },
9697
+ borderRadius: {
9698
+ label: 'Border Radius',
9699
+ description: 'Corner rounding amount.',
9700
+ category: 'style',
9701
+ specialCategory: null,
9702
+ sort: 21,
9703
+ preferredScale: 's',
9704
+ },
9705
+ },
10584
9706
  attributes: {
10585
- count: {
10586
- label: 'Fallback Count',
10587
- description:
10588
- 'Used only when the paywall counter hook returns no value.',
9707
+ iconType: {
9708
+ label: 'Icon',
9709
+ description: 'Which icon to render.',
10589
9710
  category: 'other',
10590
9711
  specialCategory: null,
10591
9712
  sort: 1,
10592
9713
  },
9714
+ size: {
9715
+ label: 'Size',
9716
+ description: 'Icon size (px).',
9717
+ category: 'other',
9718
+ specialCategory: null,
9719
+ sort: 2,
9720
+ },
9721
+ strokeWidth: {
9722
+ label: 'Stroke Width',
9723
+ description: 'SVG stroke width override (applied to the icon paths).',
9724
+ category: 'other',
9725
+ specialCategory: null,
9726
+ sort: 3,
9727
+ },
10593
9728
  adjustsFontSizeToFit: {
10594
9729
  label: 'Adjust Font Size To Fit',
10595
9730
  description:
@@ -10863,59 +9998,6 @@ export const patterns = [
10863
9998
  sort: 26,
10864
9999
  },
10865
10000
  },
10866
- styles: {
10867
- color: {
10868
- label: 'Color',
10869
- description: 'Text color.',
10870
- category: 'style',
10871
- specialCategory: null,
10872
- sort: 1,
10873
- },
10874
- fontSize: {
10875
- label: 'Font Size',
10876
- description: 'Text size.',
10877
- category: 'style',
10878
- specialCategory: null,
10879
- sort: 2,
10880
- preferredScale: 's',
10881
- },
10882
- fontFamily: {
10883
- label: 'Font Family',
10884
- description: 'Font family used for the text.',
10885
- category: 'style',
10886
- specialCategory: null,
10887
- sort: 3,
10888
- },
10889
- fontWeight: {
10890
- label: 'Font Weight',
10891
- description: 'Text weight.',
10892
- category: 'style',
10893
- specialCategory: null,
10894
- sort: 4,
10895
- },
10896
- textAlign: {
10897
- label: 'Text Align',
10898
- description: 'Text alignment.',
10899
- category: 'style',
10900
- specialCategory: null,
10901
- sort: 5,
10902
- },
10903
- backgroundColor: {
10904
- label: 'Background Color',
10905
- description: 'Background fill color.',
10906
- category: 'style',
10907
- specialCategory: null,
10908
- sort: 20,
10909
- },
10910
- borderRadius: {
10911
- label: 'Border Radius',
10912
- description: 'Corner rounding amount.',
10913
- category: 'style',
10914
- specialCategory: null,
10915
- sort: 21,
10916
- preferredScale: 's',
10917
- },
10918
- },
10919
10001
  specialCategories: {
10920
10002
  padding: {
10921
10003
  label: 'Padding',
@@ -10945,16 +10027,23 @@ export const patterns = [
10945
10027
  },
10946
10028
  defaults: {
10947
10029
  style: {
10948
- color: 'THEME_COLORS.TEXT',
10949
10030
  fontSize: '16@fs',
10031
+ color: 'THEME_COLORS.TEXT',
10950
10032
  fontWeight: '400',
10951
- flexDirection: 'column',
10952
- position: 'relative',
10033
+ flexDirection: 'row',
10034
+ position: 'absolute',
10953
10035
  zIndex: 1,
10954
10036
  alignSelf: 'flex-start',
10955
10037
  flexGrow: 0,
10956
10038
  flexShrink: 0,
10039
+ top: '35@vs',
10040
+ left: '24@s',
10041
+ justifyContent: 'center',
10042
+ alignItems: 'center',
10957
10043
  },
10044
+ iconType: 'close',
10045
+ strokeWidth: 1.5,
10046
+ size: 24,
10958
10047
  },
10959
10048
  types: {},
10960
10049
  },