@developer_tribe/react-builder 1.2.24 → 1.2.26

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 (193) hide show
  1. package/dist/attributes-editor/AttributesEditorFields.d.ts +1 -1
  2. package/dist/attributes-editor/SpecialCategorySection.d.ts +2 -1
  3. package/dist/attributes-editor/attributesEditorModelTypes.d.ts +2 -0
  4. package/dist/build-components/BIcon/BIconProps.generated.d.ts +0 -2
  5. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +0 -2
  6. package/dist/build-components/Button/ButtonProps.generated.d.ts +0 -2
  7. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +0 -2
  8. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +0 -2
  9. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +0 -2
  10. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +0 -2
  11. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +0 -2
  12. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +3 -6
  13. package/dist/build-components/Image/ImageProps.generated.d.ts +0 -2
  14. package/dist/build-components/Main/MainProps.generated.d.ts +0 -2
  15. package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +0 -2
  16. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +0 -2
  17. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +0 -2
  18. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +0 -2
  19. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +0 -2
  20. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +0 -2
  21. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +0 -2
  22. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +0 -2
  23. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +0 -2
  24. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +0 -2
  25. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +0 -2
  26. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +0 -2
  27. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +0 -2
  28. package/dist/build-components/PaywallOptions/PaywallOptionButton.d.ts +1 -1
  29. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +0 -2
  30. package/dist/build-components/PaywallProvider/PaywallContext.d.ts +1 -2
  31. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +0 -2
  32. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +0 -2
  33. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +0 -2
  34. package/dist/build-components/Separator/SeparatorProps.generated.d.ts +0 -2
  35. package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +0 -2
  36. package/dist/build-components/Text/TextProps.generated.d.ts +0 -2
  37. package/dist/build-components/index.d.ts +1 -3
  38. package/dist/build-components/patterns.generated.d.ts +818 -1690
  39. package/dist/index.cjs.js +3 -3
  40. package/dist/index.cjs.js.map +1 -1
  41. package/dist/index.d.ts +1 -1
  42. package/dist/index.esm.js +4 -4
  43. package/dist/index.esm.js.map +1 -1
  44. package/dist/index.web.cjs.js +4 -4
  45. package/dist/index.web.cjs.js.map +1 -1
  46. package/dist/index.web.esm.js +3 -3
  47. package/dist/index.web.esm.js.map +1 -1
  48. package/dist/pages/ProjectPage.d.ts +2 -2
  49. package/dist/pages/projectPageUtils.d.ts +7 -1
  50. package/dist/paywall/hooks/index.d.ts +0 -1
  51. package/dist/styles.css +1 -1
  52. package/dist/types/Project.d.ts +6 -0
  53. package/dist/utils/index.d.ts +1 -0
  54. package/dist/utils/patterns.d.ts +2 -0
  55. package/dist/utils/projectColors.d.ts +7 -0
  56. package/package.json +3 -3
  57. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +11 -2
  58. package/src/AttributesEditor.tsx +15 -4
  59. package/src/DeviceMockFrame.tsx +0 -2
  60. package/src/RenderPage.tsx +0 -9
  61. package/src/assets/.DS_Store +0 -0
  62. package/src/assets/meta.json +1 -1
  63. package/src/assets/samples/paywall-1.json +0 -1
  64. package/src/assets/samples/paywall-2.json +2 -3
  65. package/src/assets/samples/paywall-app-delete-offer.json +2 -4
  66. package/src/assets/samples/paywall-app-open-offer.json +2 -4
  67. package/src/assets/samples/paywall-back-offer.json +2 -4
  68. package/src/assets/samples/paywall-notification-offer.json +2 -4
  69. package/src/assets/samples/simple-2.json +0 -1
  70. package/src/assets/samples/vpn-onboard-1.json +15 -15
  71. package/src/assets/samples/vpn-onboard-2.json +15 -15
  72. package/src/assets/samples/vpn-onboard-3.json +15 -15
  73. package/src/assets/samples/vpn-onboard-4.json +15 -15
  74. package/src/assets/samples/vpn-onboard-5.json +21 -21
  75. package/src/assets/samples/vpn-onboard-6.json +15 -15
  76. package/src/attributes-editor/AttributesEditorFields.tsx +0 -1
  77. package/src/attributes-editor/AttributesEditorView.tsx +43 -38
  78. package/src/attributes-editor/Field.tsx +1 -1
  79. package/src/attributes-editor/SpecialCategorySection.tsx +5 -4
  80. package/src/attributes-editor/attributesEditorModelTypes.ts +2 -0
  81. package/src/attributes-editor/useAttributesEditorModel.ts +24 -8
  82. package/src/build-components/BIcon/BIcon.tsx +1 -1
  83. package/src/build-components/BIcon/BIconProps.generated.ts +0 -2
  84. package/src/build-components/BIcon/pattern.json +2 -2
  85. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +0 -2
  86. package/src/build-components/BackgroundImage/pattern.json +2 -2
  87. package/src/build-components/Button/ButtonProps.generated.ts +0 -2
  88. package/src/build-components/Button/pattern.json +2 -2
  89. package/src/build-components/Carousel/Carousel.tsx +1 -1
  90. package/src/build-components/Carousel/CarouselProps.generated.ts +0 -2
  91. package/src/build-components/Carousel/pattern.json +3 -3
  92. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +0 -2
  93. package/src/build-components/CarouselButtons/pattern.json +2 -2
  94. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +0 -2
  95. package/src/build-components/CarouselDots/pattern.json +2 -2
  96. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +0 -2
  97. package/src/build-components/CarouselItem/pattern.json +3 -5
  98. package/src/build-components/CarouselProvider/CarouselProvider.tsx +1 -1
  99. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +0 -2
  100. package/src/build-components/CarouselProvider/pattern.json +2 -4
  101. package/src/build-components/CountDown/CountDown.tsx +25 -1
  102. package/src/build-components/CountDown/CountDownProps.generated.ts +3 -6
  103. package/src/build-components/CountDown/pattern.json +10 -2
  104. package/src/build-components/Image/ImageProps.generated.ts +0 -2
  105. package/src/build-components/Image/pattern.json +5 -3
  106. package/src/build-components/Main/MainProps.generated.ts +0 -2
  107. package/src/build-components/Main/pattern.json +2 -2
  108. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +0 -2
  109. package/src/build-components/NavigationBarColor/pattern.json +2 -2
  110. package/src/build-components/Onboard/OnboardProps.generated.ts +0 -2
  111. package/src/build-components/Onboard/pattern.json +3 -5
  112. package/src/build-components/OnboardButton/OnboardButton.tsx +1 -4
  113. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +0 -2
  114. package/src/build-components/OnboardButton/pattern.json +2 -2
  115. package/src/build-components/OnboardButtons/OnboardButtons.tsx +1 -9
  116. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +0 -2
  117. package/src/build-components/OnboardButtons/pattern.json +2 -2
  118. package/src/build-components/OnboardDot/OnboardDot.tsx +2 -1
  119. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +0 -2
  120. package/src/build-components/OnboardDot/pattern.json +2 -2
  121. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +0 -2
  122. package/src/build-components/OnboardFooter/pattern.json +2 -2
  123. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +0 -2
  124. package/src/build-components/OnboardImage/pattern.json +2 -2
  125. package/src/build-components/OnboardItem/OnboardItem.tsx +1 -1
  126. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +0 -2
  127. package/src/build-components/OnboardItem/pattern.json +2 -2
  128. package/src/build-components/OnboardProvider/OnboardProvider.tsx +0 -1
  129. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +0 -2
  130. package/src/build-components/OnboardProvider/pattern.json +2 -2
  131. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +0 -2
  132. package/src/build-components/OnboardSubtitle/pattern.json +3 -5
  133. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +0 -2
  134. package/src/build-components/OnboardTitle/pattern.json +3 -5
  135. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +0 -2
  136. package/src/build-components/PaywallBackground/pattern.json +2 -4
  137. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +0 -2
  138. package/src/build-components/PaywallCloseButton/pattern.json +3 -5
  139. package/src/build-components/PaywallOptions/PaywallOptionButton.tsx +1 -2
  140. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +0 -2
  141. package/src/build-components/PaywallOptions/pattern.json +3 -5
  142. package/src/build-components/PaywallProvider/PaywallContext.ts +1 -1
  143. package/src/build-components/PaywallProvider/PaywallProvider.tsx +0 -10
  144. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +0 -2
  145. package/src/build-components/PaywallProvider/pattern.json +2 -2
  146. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButton.tsx +1 -1
  147. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +0 -2
  148. package/src/build-components/PaywallSubscribeButton/pattern.json +3 -5
  149. package/src/build-components/RadioButton/RadioButton.tsx +1 -1
  150. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +0 -2
  151. package/src/build-components/RadioButton/pattern.json +2 -2
  152. package/src/build-components/RenderNode.generated.tsx +0 -10
  153. package/src/build-components/Separator/SeparatorProps.generated.ts +0 -2
  154. package/src/build-components/Separator/pattern.json +2 -2
  155. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +0 -2
  156. package/src/build-components/StatusBarColor/pattern.json +2 -2
  157. package/src/build-components/Text/TextProps.generated.ts +0 -2
  158. package/src/build-components/Text/pattern.json +2 -3
  159. package/src/build-components/View/pattern.json +2 -0
  160. package/src/build-components/index.ts +0 -10
  161. package/src/build-components/patterns.generated.ts +850 -1759
  162. package/src/components/AttributesEditorPanel.tsx +48 -32
  163. package/src/components/Builder.tsx +9 -1
  164. package/src/components/BuilderProvider.tsx +2 -37
  165. package/src/hooks/useSafeAreaViewStyle.ts +1 -3
  166. package/src/index.ts +1 -1
  167. package/src/mockOS/managers/navigationManager.ts +1 -1
  168. package/src/pages/ProjectPage.tsx +47 -22
  169. package/src/pages/projectPageUtils.ts +15 -1
  170. package/src/pages/tabs/SideTool.tsx +1 -22
  171. package/src/paywall/hooks/index.ts +0 -1
  172. package/src/store.ts +1 -6
  173. package/src/styles/base/_global.scss +2 -0
  174. package/src/types/Project.ts +7 -0
  175. package/src/utils/analyseNodeByPatterns.ts +4 -0
  176. package/src/utils/index.ts +1 -0
  177. package/src/utils/logRenderStore.ts +0 -1
  178. package/src/utils/novaToJson.ts +1 -5
  179. package/src/utils/parseColor.ts +1 -0
  180. package/src/utils/patterns.ts +2 -0
  181. package/src/utils/projectColors.ts +71 -0
  182. package/dist/build-components/Counter/Counter.d.ts +0 -2
  183. package/dist/build-components/Counter/CounterProps.generated.d.ts +0 -63
  184. package/dist/build-components/PaywallCounter/PaywallCounter.d.ts +0 -2
  185. package/dist/build-components/PaywallCounter/PaywallCounterProps.generated.d.ts +0 -63
  186. package/dist/paywall/hooks/useHandleGoBack.d.ts +0 -1
  187. package/src/build-components/Counter/Counter.tsx +0 -44
  188. package/src/build-components/Counter/CounterProps.generated.ts +0 -80
  189. package/src/build-components/Counter/pattern.json +0 -25
  190. package/src/build-components/PaywallCounter/PaywallCounter.tsx +0 -46
  191. package/src/build-components/PaywallCounter/PaywallCounterProps.generated.ts +0 -80
  192. package/src/build-components/PaywallCounter/pattern.json +0 -23
  193. package/src/paywall/hooks/useHandleGoBack.ts +0 -60
@@ -6,10 +6,10 @@ export const patterns = [
6
6
  schemaVersion: 2,
7
7
  pattern: {
8
8
  type: 'BIcon',
9
+ title: 'title',
10
+ description: 'description',
9
11
  children: 'never',
10
12
  attributes: {
11
- title: 'title',
12
- description: 'description',
13
13
  adjustsFontSizeToFit: 'boolean',
14
14
  showEllipsis: 'boolean',
15
15
  style: {
@@ -479,6 +479,8 @@ export const patterns = [
479
479
  schemaVersion: 2,
480
480
  pattern: {
481
481
  type: 'BackgroundImage',
482
+ title: 'title',
483
+ description: 'description',
482
484
  children: 'never',
483
485
  attributes: {
484
486
  scrollable: 'boolean',
@@ -531,8 +533,6 @@ export const patterns = [
531
533
  right: 'size',
532
534
  zIndex: 'number',
533
535
  },
534
- title: 'title',
535
- description: 'description',
536
536
  src: 'string',
537
537
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
538
538
  },
@@ -892,6 +892,8 @@ export const patterns = [
892
892
  schemaVersion: 2,
893
893
  pattern: {
894
894
  type: 'Button',
895
+ title: 'title',
896
+ description: 'description',
895
897
  children: 'string',
896
898
  attributes: {
897
899
  scrollable: 'boolean',
@@ -959,8 +961,6 @@ export const patterns = [
959
961
  '900',
960
962
  ],
961
963
  },
962
- title: 'title',
963
- description: 'description',
964
964
  },
965
965
  },
966
966
  meta: {
@@ -1310,6 +1310,8 @@ export const patterns = [
1310
1310
  schemaVersion: 2,
1311
1311
  pattern: {
1312
1312
  type: 'Carousel',
1313
+ title: 'title',
1314
+ description: 'description',
1313
1315
  children: 'node',
1314
1316
  attributes: {
1315
1317
  scrollable: 'boolean',
@@ -1362,8 +1364,6 @@ export const patterns = [
1362
1364
  right: 'size',
1363
1365
  zIndex: 'number',
1364
1366
  },
1365
- title: 'title',
1366
- description: 'description',
1367
1367
  loop: 'boolean',
1368
1368
  dragFree: 'boolean',
1369
1369
  align: ['start', 'center', 'end'],
@@ -1691,6 +1691,8 @@ export const patterns = [
1691
1691
  schemaVersion: 2,
1692
1692
  pattern: {
1693
1693
  type: 'CarouselButtons',
1694
+ title: 'title',
1695
+ description: 'description',
1694
1696
  children: 'never',
1695
1697
  attributes: {
1696
1698
  scrollable: 'boolean',
@@ -1743,8 +1745,6 @@ export const patterns = [
1743
1745
  right: 'size',
1744
1746
  zIndex: 'number',
1745
1747
  },
1746
- title: 'title',
1747
- description: 'description',
1748
1748
  buttonType: ['previous_button', 'next_button', 'skip_button'],
1749
1749
  skipNumber: 'number',
1750
1750
  },
@@ -2085,6 +2085,8 @@ export const patterns = [
2085
2085
  schemaVersion: 2,
2086
2086
  pattern: {
2087
2087
  type: 'CarouselDots',
2088
+ title: 'title',
2089
+ description: 'description',
2088
2090
  children: 'never',
2089
2091
  attributes: {
2090
2092
  scrollable: 'boolean',
@@ -2137,8 +2139,6 @@ export const patterns = [
2137
2139
  right: 'size',
2138
2140
  zIndex: 'number',
2139
2141
  },
2140
- title: 'title',
2141
- description: 'description',
2142
2142
  dotType: [
2143
2143
  'expanding_dot',
2144
2144
  'normal_dot',
@@ -2478,6 +2478,8 @@ export const patterns = [
2478
2478
  schemaVersion: 2,
2479
2479
  pattern: {
2480
2480
  type: 'CarouselItem',
2481
+ title: 'title',
2482
+ description: 'description',
2481
2483
  children: 'node',
2482
2484
  attributes: {
2483
2485
  scrollable: 'boolean',
@@ -2530,8 +2532,6 @@ export const patterns = [
2530
2532
  right: 'size',
2531
2533
  zIndex: 'number',
2532
2534
  },
2533
- title: 'title',
2534
- description: 'description',
2535
2535
  },
2536
2536
  },
2537
2537
  meta: {
@@ -2856,6 +2856,8 @@ export const patterns = [
2856
2856
  schemaVersion: 1,
2857
2857
  pattern: {
2858
2858
  type: 'CarouselProvider',
2859
+ title: 'title',
2860
+ description: 'description',
2859
2861
  children: 'node',
2860
2862
  attributes: {
2861
2863
  scrollable: 'boolean',
@@ -2908,8 +2910,6 @@ export const patterns = [
2908
2910
  right: 'size',
2909
2911
  zIndex: 'number',
2910
2912
  },
2911
- title: 'title',
2912
- description: 'description',
2913
2913
  },
2914
2914
  defaults: { style: { width: '100%', height: '100%' } },
2915
2915
  },
@@ -3238,11 +3238,10 @@ export const patterns = [
3238
3238
  schemaVersion: 2,
3239
3239
  pattern: {
3240
3240
  type: 'CountDown',
3241
+ title: 'title',
3242
+ description: 'description',
3241
3243
  children: 'never',
3242
3244
  attributes: {
3243
- count: 'number',
3244
- title: 'title',
3245
- description: 'description',
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
+ title: 'title',
3697
+ description: 'description',
3696
3698
  children: 'never',
3697
3699
  attributes: {
3698
- title: 'title',
3699
- description: 'description',
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,8 +4088,10 @@ export const patterns = [
4147
4088
  {
4148
4089
  schemaVersion: 2,
4149
4090
  pattern: {
4150
- type: 'Image',
4151
- children: 'never',
4091
+ type: 'Main',
4092
+ title: 'title',
4093
+ description: 'description',
4094
+ children: 'node',
4152
4095
  attributes: {
4153
4096
  scrollable: 'boolean',
4154
4097
  style: {
@@ -4199,18 +4142,14 @@ export const patterns = [
4199
4142
  left: 'size',
4200
4143
  right: 'size',
4201
4144
  zIndex: 'number',
4202
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
4203
4145
  },
4204
- title: 'title',
4205
- description: 'description',
4206
- src: 'string',
4146
+ useSafeAreaView: 'boolean',
4207
4147
  },
4208
- defaults: { 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,17 +4450,19 @@ 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
- resizeMode: 'contain',
4532
4466
  style: {
4533
4467
  flexDirection: 'column',
4534
4468
  position: 'relative',
@@ -4536,15 +4470,21 @@ export const patterns = [
4536
4470
  alignSelf: 'flex-start',
4537
4471
  flexGrow: 0,
4538
4472
  flexShrink: 0,
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',
4547
- children: 'node',
4484
+ type: 'NavigationBarColor',
4485
+ title: 'title',
4486
+ description: 'description',
4487
+ children: 'never',
4548
4488
  attributes: {
4549
4489
  scrollable: 'boolean',
4550
4490
  style: {
@@ -4596,15 +4536,12 @@ export const patterns = [
4596
4536
  right: 'size',
4597
4537
  zIndex: 'number',
4598
4538
  },
4599
- title: 'title',
4600
- description: 'description',
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,19 +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',
4940
- children: 'never',
4863
+ type: 'Onboard',
4864
+ title: 'title',
4865
+ description: 'description',
4866
+ children: 'node',
4941
4867
  attributes: {
4942
4868
  scrollable: 'boolean',
4943
4869
  style: {
@@ -4989,14 +4915,12 @@ export const patterns = [
4989
4915
  right: 'size',
4990
4916
  zIndex: 'number',
4991
4917
  },
4992
- title: 'title',
4993
- description: 'description',
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,8 +5239,10 @@ export const patterns = [
5315
5239
  {
5316
5240
  schemaVersion: 2,
5317
5241
  pattern: {
5318
- type: 'Onboard',
5319
- children: 'node',
5242
+ type: 'OnboardButton',
5243
+ title: 'title',
5244
+ description: 'description',
5245
+ children: 'never',
5320
5246
  attributes: {
5321
5247
  scrollable: 'boolean',
5322
5248
  style: {
@@ -5368,14 +5294,26 @@ export const patterns = [
5368
5294
  right: 'size',
5369
5295
  zIndex: 'number',
5370
5296
  },
5371
- title: 'title',
5372
- description: 'description',
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,26 +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',
5698
- children: 'never',
5685
+ type: 'OnboardButtons',
5686
+ title: 'title',
5687
+ description: 'description',
5688
+ children: 'node',
5699
5689
  attributes: {
5700
5690
  scrollable: 'boolean',
5701
5691
  style: {
@@ -5747,28 +5737,30 @@ export const patterns = [
5747
5737
  right: 'size',
5748
5738
  zIndex: 'number',
5749
5739
  },
5750
- title: 'title',
5751
- description: 'description',
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,48 +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',
6141
- children: 'node',
6136
+ type: 'OnboardDot',
6137
+ title: 'title',
6138
+ description: 'description',
6139
+ children: 'never',
6142
6140
  attributes: {
6143
6141
  scrollable: 'boolean',
6144
6142
  style: {
@@ -6190,32 +6188,27 @@ export const patterns = [
6190
6188
  right: 'size',
6191
6189
  zIndex: 'number',
6192
6190
  },
6193
- title: 'title',
6194
- description: 'description',
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,24 +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',
6592
- children: 'never',
6571
+ type: 'OnboardFooter',
6572
+ title: 'title',
6573
+ description: 'description',
6574
+ children: 'node',
6593
6575
  attributes: {
6594
- scrollable: 'boolean',
6576
+ adjustsFontSizeToFit: 'boolean',
6577
+ showEllipsis: 'boolean',
6595
6578
  style: {
6579
+ color: 'color',
6580
+ fontSize: 'size',
6581
+ fontFamily: 'fontFamily',
6582
+ fontWeight: 'fontWeight',
6583
+ textAlign: ['left', 'center', 'right', 'justify'],
6596
6584
  flexDirection: ['row', 'column'],
6597
6585
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
6598
6586
  alignItems: [
@@ -6641,56 +6629,64 @@ export const patterns = [
6641
6629
  right: 'size',
6642
6630
  zIndex: 'number',
6643
6631
  },
6644
- title: 'title',
6645
- description: 'description',
6646
- dotType: [
6647
- 'expanding_dot',
6648
- 'normal_dot',
6649
- 'scaling_dot',
6650
- 'sliding_border',
6651
- 'sliding_dot',
6652
- 'liquid_like',
6653
- ],
6654
- dot_thickness: 'size',
6655
- inactive_dot_opacity: 'number',
6656
- inactive_dot_color: 'color',
6657
- active_dot_color: 'color',
6658
- flexDirection: 'never',
6659
- alignItems: 'never',
6660
- justifyContent: 'never',
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',
6669
+ fontFamily: {
6670
+ label: 'Font Family',
6671
+ description: 'Font family used for the text.',
6672
+ category: 'style',
6673
+ specialCategory: null,
6684
6674
  sort: 3,
6685
6675
  },
6686
- offset: {
6687
- label: 'Offset',
6688
- description: 'Absolute positioning offsets.',
6689
- category: 'container',
6676
+ fontWeight: {
6677
+ label: 'Font Weight',
6678
+ description: 'Text weight.',
6679
+ category: 'style',
6680
+ specialCategory: null,
6690
6681
  sort: 4,
6691
6682
  },
6692
- },
6693
- styles: {
6683
+ textAlign: {
6684
+ label: 'Text Align',
6685
+ description: 'Text alignment.',
6686
+ category: 'style',
6687
+ specialCategory: null,
6688
+ sort: 5,
6689
+ },
6694
6690
  backgroundColor: {
6695
6691
  label: 'Background Color',
6696
6692
  description: 'Background fill color.',
@@ -6706,929 +6702,38 @@ export const patterns = [
6706
6702
  sort: 21,
6707
6703
  preferredScale: 's',
6708
6704
  },
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.',
6705
+ linkedWordFirstColor: {
6706
+ label: 'Linked Word First Color',
6707
+ description: 'Color of the first linked word.',
6719
6708
  category: 'style',
6720
6709
  specialCategory: null,
6721
6710
  sort: 3,
6722
6711
  },
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.',
6712
+ linkedWordSecondColor: {
6713
+ label: 'Linked Word Second Color',
6714
+ description: 'Color of the second linked word.',
6740
6715
  category: 'style',
6741
6716
  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
- children: 'node',
7028
- attributes: {
7029
- title: 'title',
7030
- description: 'description',
7031
- adjustsFontSizeToFit: 'boolean',
7032
- showEllipsis: 'boolean',
7033
- style: {
7034
- color: 'color',
7035
- fontSize: 'size',
7036
- fontFamily: 'fontFamily',
7037
- fontWeight: 'fontWeight',
7038
- textAlign: ['left', 'center', 'right', 'justify'],
7039
- flexDirection: ['row', 'column'],
7040
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7041
- alignItems: [
7042
- 'flex-start',
7043
- 'center',
7044
- 'flex-end',
7045
- 'stretch',
7046
- 'baseline',
7047
- ],
7048
- justifyContent: [
7049
- 'flex-start',
7050
- 'center',
7051
- 'flex-end',
7052
- 'space-between',
7053
- 'space-around',
7054
- 'space-evenly',
7055
- ],
7056
- gap: 'size',
7057
- padding: 'size',
7058
- paddingHorizontal: 'size',
7059
- paddingVertical: 'size',
7060
- paddingTop: 'size',
7061
- paddingBottom: 'size',
7062
- paddingLeft: 'size',
7063
- paddingRight: 'size',
7064
- margin: 'size',
7065
- marginHorizontal: 'size',
7066
- marginVertical: 'size',
7067
- marginTop: 'size',
7068
- marginBottom: 'size',
7069
- marginLeft: 'size',
7070
- marginRight: 'size',
7071
- backgroundColor: 'color',
7072
- borderRadius: 'size',
7073
- width: 'size',
7074
- minWidth: 'size',
7075
- maxWidth: 'size',
7076
- height: 'size',
7077
- minHeight: 'size',
7078
- maxHeight: 'size',
7079
- flex: 'number',
7080
- position: ['relative', 'absolute'],
7081
- top: 'size',
7082
- bottom: 'size',
7083
- left: 'size',
7084
- right: 'size',
7085
- zIndex: 'number',
7086
- },
7087
- scrollable: 'boolean',
7088
- textLocalizationKey: 'string',
7089
- linkedWordFirstLocalizationKey: 'string',
7090
- linkedWordFirstColor: 'color',
7091
- linkedWordFirstPage: 'string',
7092
- linkedWordSecondLocalizationKey: 'string',
7093
- linkedWordSecondColor: 'color',
7094
- linkedWordSecondPage: 'string',
7095
- },
7096
- defaults: {
7097
- style: {
7098
- color: 'THEME_COLORS.TEXT',
7099
- fontSize: '16@fs',
7100
- fontWeight: '400',
7101
- },
7102
- },
7103
- },
7104
- meta: {
7105
- desiredParent: ['>OnboardItem'],
7106
- label: 'Onboard Footer',
7107
- description: 'Footer text with optional links.',
7108
- styles: {
7109
- color: {
7110
- label: 'Color',
7111
- description: 'Text color.',
7112
- category: 'style',
7113
- specialCategory: null,
7114
- sort: 1,
7115
- },
7116
- fontSize: {
7117
- label: 'Font Size',
7118
- description: 'Text size.',
7119
- category: 'style',
7120
- specialCategory: null,
7121
- sort: 2,
7122
- preferredScale: 's',
7123
- },
7124
- fontFamily: {
7125
- label: 'Font Family',
7126
- description: 'Font family used for the text.',
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',
7406
- specialCategory: null,
7407
- sort: 3,
7408
- },
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',
7480
- specialCategory: null,
7481
- sort: 7,
7482
- },
7483
- },
7484
- specialCategories: {
7485
- padding: {
7486
- label: 'Padding',
7487
- description: 'Uniform padding on all sides.',
7488
- category: 'container',
7489
- sort: 1,
7490
- },
7491
- margin: {
7492
- label: 'Margin',
7493
- description: 'Uniform margin on all sides.',
7494
- category: 'container',
7495
- sort: 2,
7496
- },
7497
- size: {
7498
- label: 'Size',
7499
- description: 'Fixed dimensions.',
7500
- category: 'container',
7501
- sort: 3,
7502
- },
7503
- offset: {
7504
- label: 'Offset',
7505
- description: 'Absolute positioning offsets.',
7506
- category: 'container',
7507
- sort: 4,
7508
- },
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
- children: 'node',
7536
- attributes: {
7537
- title: 'title',
7538
- description: 'description',
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: { 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.',
7604
- category: 'style',
7605
- specialCategory: null,
7606
- sort: 4,
7607
- },
7608
- backgroundColor: {
7609
- label: 'Background Color',
7610
- description: 'Background fill color.',
7611
- category: 'style',
7612
- specialCategory: null,
7613
- sort: 20,
7614
- },
7615
- borderRadius: {
7616
- label: 'Border Radius',
7617
- description: 'Corner rounding amount.',
7618
- category: 'style',
7619
- specialCategory: null,
7620
- sort: 21,
7621
- preferredScale: 's',
6717
+ sort: 6,
7622
6718
  },
7623
6719
  },
7624
6720
  attributes: {
7625
- src: {
7626
- label: 'Src',
7627
- description: 'Image source URL.',
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: {
@@ -7928,14 +7054,21 @@ export const patterns = [
7928
7054
  },
7929
7055
  },
7930
7056
  defaults: {
7931
- resizeMode: 'contain',
7932
7057
  style: {
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,11 +7076,14 @@ export const patterns = [
7943
7076
  {
7944
7077
  schemaVersion: 2,
7945
7078
  pattern: {
7946
- type: 'OnboardItem',
7079
+ type: 'OnboardImage',
7080
+ title: 'title',
7081
+ description: 'description',
7947
7082
  children: 'node',
7948
7083
  attributes: {
7949
- scrollable: 'boolean',
7084
+ src: 'string',
7950
7085
  style: {
7086
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
7951
7087
  flexDirection: ['row', 'column'],
7952
7088
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7953
7089
  alignItems: [
@@ -7996,45 +7132,24 @@ export const patterns = [
7996
7132
  right: 'size',
7997
7133
  zIndex: 'number',
7998
7134
  },
7999
- title: 'title',
8000
- description: 'description',
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,67 @@ 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',
7492
+ title: 'title',
7493
+ description: 'description',
8337
7494
  children: 'node',
8338
7495
  attributes: {
8339
7496
  scrollable: 'boolean',
@@ -8386,16 +7543,16 @@ export const patterns = [
8386
7543
  right: 'size',
8387
7544
  zIndex: 'number',
8388
7545
  },
8389
- title: 'title',
8390
- description: 'description',
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',
8723
- children: 'string',
7881
+ type: 'OnboardProvider',
7882
+ title: 'title',
7883
+ description: 'description',
7884
+ children: 'node',
8724
7885
  attributes: {
8725
- title: 'title',
8726
- description: 'description',
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,11 +8264,11 @@ export const patterns = [
9166
8264
  {
9167
8265
  schemaVersion: 2,
9168
8266
  pattern: {
9169
- type: 'OnboardTitle',
8267
+ type: 'OnboardSubtitle',
8268
+ title: 'title',
8269
+ description: 'description',
9170
8270
  children: 'string',
9171
8271
  attributes: {
9172
- title: 'title',
9173
- description: 'description',
9174
8272
  adjustsFontSizeToFit: 'boolean',
9175
8273
  showEllipsis: 'boolean',
9176
8274
  style: {
@@ -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',
9618
- children: 'never',
8714
+ type: 'OnboardTitle',
8715
+ title: 'title',
8716
+ description: 'description',
8717
+ children: 'string',
9619
8718
  attributes: {
9620
- title: 'title',
9621
- description: 'description',
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',
9163
+ title: 'title',
9164
+ description: 'description',
10031
9165
  children: 'never',
10032
9166
  attributes: {
10033
- title: 'title',
10034
- description: 'description',
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',
9576
+ title: 'title',
9577
+ description: 'description',
10509
9578
  children: 'never',
10510
9579
  attributes: {
10511
- count: 'number',
10512
- title: 'title',
10513
- description: 'description',
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
  },
@@ -10962,6 +10051,8 @@ export const patterns = [
10962
10051
  schemaVersion: 2,
10963
10052
  pattern: {
10964
10053
  type: 'PaywallOptions',
10054
+ title: 'title',
10055
+ description: 'description',
10965
10056
  children: 'node',
10966
10057
  attributes: {
10967
10058
  scrollable: 'boolean',
@@ -11014,8 +10105,6 @@ export const patterns = [
11014
10105
  right: 'size',
11015
10106
  zIndex: 'number',
11016
10107
  },
11017
- title: 'title',
11018
- description: 'description',
11019
10108
  },
11020
10109
  },
11021
10110
  meta: {
@@ -11343,6 +10432,8 @@ export const patterns = [
11343
10432
  schemaVersion: 2,
11344
10433
  pattern: {
11345
10434
  type: 'PaywallProvider',
10435
+ title: 'title',
10436
+ description: 'description',
11346
10437
  children: 'node',
11347
10438
  attributes: {
11348
10439
  scrollable: 'boolean',
@@ -11395,8 +10486,6 @@ export const patterns = [
11395
10486
  right: 'size',
11396
10487
  zIndex: 'number',
11397
10488
  },
11398
- title: 'title',
11399
- description: 'description',
11400
10489
  delay: 'number',
11401
10490
  },
11402
10491
  },
@@ -11733,10 +10822,10 @@ export const patterns = [
11733
10822
  schemaVersion: 2,
11734
10823
  pattern: {
11735
10824
  type: 'PaywallSubscribeButton',
10825
+ title: 'title',
10826
+ description: 'description',
11736
10827
  children: 'string',
11737
10828
  attributes: {
11738
- title: 'title',
11739
- description: 'description',
11740
10829
  style: {
11741
10830
  color: 'color',
11742
10831
  fontSize: 'size',
@@ -12157,6 +11246,8 @@ export const patterns = [
12157
11246
  schemaVersion: 2,
12158
11247
  pattern: {
12159
11248
  type: 'RadioButton',
11249
+ title: 'title',
11250
+ description: 'description',
12160
11251
  children: 'never',
12161
11252
  attributes: {
12162
11253
  scrollable: 'boolean',
@@ -12209,8 +11300,6 @@ export const patterns = [
12209
11300
  right: 'size',
12210
11301
  zIndex: 'number',
12211
11302
  },
12212
- title: 'title',
12213
- description: 'description',
12214
11303
  selected: 'boolean',
12215
11304
  color: 'color',
12216
11305
  size: 'number',
@@ -12559,10 +11648,10 @@ export const patterns = [
12559
11648
  schemaVersion: 2,
12560
11649
  pattern: {
12561
11650
  type: 'Separator',
11651
+ title: 'title',
11652
+ description: 'description',
12562
11653
  children: 'never',
12563
11654
  attributes: {
12564
- title: 'title',
12565
- description: 'description',
12566
11655
  style: {
12567
11656
  backgroundColor: 'color',
12568
11657
  width: 'size',
@@ -12614,6 +11703,8 @@ export const patterns = [
12614
11703
  schemaVersion: 2,
12615
11704
  pattern: {
12616
11705
  type: 'StatusBarColor',
11706
+ title: 'title',
11707
+ description: 'description',
12617
11708
  children: 'never',
12618
11709
  attributes: {
12619
11710
  scrollable: 'boolean',
@@ -12666,8 +11757,6 @@ export const patterns = [
12666
11757
  right: 'size',
12667
11758
  zIndex: 'number',
12668
11759
  },
12669
- title: 'title',
12670
- description: 'description',
12671
11760
  },
12672
11761
  },
12673
11762
  meta: {
@@ -12993,6 +12082,8 @@ export const patterns = [
12993
12082
  schemaVersion: 2,
12994
12083
  pattern: {
12995
12084
  type: 'Text',
12085
+ title: 'title',
12086
+ description: 'description',
12996
12087
  children: 'string',
12997
12088
  attributes: {
12998
12089
  scrollable: 'boolean',
@@ -13050,8 +12141,6 @@ export const patterns = [
13050
12141
  fontWeight: 'fontWeight',
13051
12142
  textAlign: ['left', 'center', 'right', 'justify'],
13052
12143
  },
13053
- title: 'title',
13054
- description: 'description',
13055
12144
  adjustsFontSizeToFit: 'boolean',
13056
12145
  showEllipsis: 'boolean',
13057
12146
  },
@@ -13440,6 +12529,8 @@ export const patterns = [
13440
12529
  schemaVersion: 2,
13441
12530
  pattern: {
13442
12531
  type: 'View',
12532
+ title: 'title',
12533
+ description: 'description',
13443
12534
  children: 'node',
13444
12535
  attributes: {
13445
12536
  scrollable: 'boolean',