@developer_tribe/react-builder 1.0.7 → 1.0.9

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 (217) hide show
  1. package/dist/build-components/BIcon/BIconProps.generated.d.ts +3 -0
  2. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +1 -0
  3. package/dist/build-components/Button/ButtonProps.generated.d.ts +1 -0
  4. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +5 -0
  5. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +1 -0
  6. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +1 -0
  7. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +1 -0
  8. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +1 -0
  9. package/dist/build-components/Image/ImageProps.generated.d.ts +1 -0
  10. package/dist/build-components/Main/MainProps.generated.d.ts +1 -1
  11. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +1 -0
  12. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +1 -0
  13. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +1 -0
  14. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +1 -0
  15. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +3 -0
  16. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +1 -0
  17. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +1 -0
  18. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +3 -0
  19. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +3 -0
  20. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +3 -0
  21. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +1 -1
  22. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +3 -1
  23. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +1 -1
  24. package/dist/build-components/PaywallProvider/PaywallContext.d.ts +12 -0
  25. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +1 -1
  26. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +1 -0
  27. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +1 -1
  28. package/dist/build-components/Text/TextProps.generated.d.ts +3 -0
  29. package/dist/build-components/View/ViewProps.generated.d.ts +1 -0
  30. package/dist/build-components/patterns.generated.d.ts +372 -374
  31. package/dist/components/BuilderProvider.d.ts +2 -0
  32. package/dist/components/ParamsProvider.d.ts +5 -0
  33. package/dist/components/RenderErrorBoundary.d.ts +28 -0
  34. package/dist/hooks/useSyncHtmlThemeClass.d.ts +7 -0
  35. package/dist/index.cjs.js +5 -5
  36. package/dist/index.cjs.js.map +1 -1
  37. package/dist/index.d.ts +2 -0
  38. package/dist/index.esm.js +3 -3
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.native.cjs.js +4 -4
  41. package/dist/index.native.cjs.js.map +1 -1
  42. package/dist/index.native.d.ts +1 -0
  43. package/dist/index.native.esm.js +4 -4
  44. package/dist/index.native.esm.js.map +1 -1
  45. package/dist/migrations/migratePipe.d.ts +14 -0
  46. package/dist/migrations/migrations/1.1.0_normalize_style_attributes.d.ts +2 -0
  47. package/dist/migrations/semver.d.ts +8 -0
  48. package/dist/migrations/types.d.ts +8 -0
  49. package/dist/mockOS/components/SubscriptionModal.d.ts +7 -0
  50. package/dist/mockOS/context/MockOSContextBase.d.ts +1 -0
  51. package/dist/mockOS/hooks/useMockIap.d.ts +3 -0
  52. package/dist/mockOS/index.d.ts +4 -0
  53. package/dist/mockOS/managers/mockOSIapManager.d.ts +6 -0
  54. package/dist/mockOS/managers/subscriptionManager.d.ts +10 -0
  55. package/dist/pages/ProjectDebug.d.ts +14 -0
  56. package/dist/pages/ProjectMigrationPage.d.ts +23 -0
  57. package/dist/pages/ProjectValidationPage.d.ts +15 -0
  58. package/dist/styles.css +1 -1
  59. package/dist/types/Device.d.ts +5 -0
  60. package/dist/utils/__special_exceptions.d.ts +7 -0
  61. package/dist/utils/getImage.d.ts +23 -0
  62. package/dist/utils/pasteNode.d.ts +15 -0
  63. package/dist/utils/patterns.d.ts +1 -2
  64. package/package.json +6 -2
  65. package/scripts/migrate-patterns-to-v2.mjs +131 -0
  66. package/scripts/migrate-samples-to-current.ts +79 -0
  67. package/scripts/prebuild/utils/createGeneratedProps.js +4 -5
  68. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +32 -21
  69. package/scripts/prebuild/utils/validatePatternJson.js +12 -10
  70. package/src/.DS_Store +0 -0
  71. package/src/AttributesEditor.tsx +41 -11
  72. package/src/RenderPage.tsx +55 -0
  73. package/src/assets/.DS_Store +0 -0
  74. package/src/assets/devices.json +91 -0
  75. package/src/assets/samples/carousel-sample.json +141 -29
  76. package/src/assets/samples/getSamples.ts +9 -0
  77. package/src/assets/samples/paywall-1.json +119 -71
  78. package/src/assets/samples/simple-1.json +28 -16
  79. package/src/assets/samples/simple-2.json +157 -82
  80. package/src/assets/samples/unmigrated-builder1.json +42 -0
  81. package/src/assets/samples/unvalidated-builder1.json +49 -0
  82. package/src/assets/samples/unvalidated-crash1.json +19 -0
  83. package/src/assets/samples/unvalidated-crashcomponent1.json +16 -0
  84. package/src/assets/samples/vpn-onboard-1.json +91 -51
  85. package/src/assets/samples/vpn-onboard-2.json +318 -278
  86. package/src/assets/samples/vpn-onboard-3.json +286 -252
  87. package/src/assets/samples/vpn-onboard-4.json +286 -252
  88. package/src/assets/samples/vpn-onboard-5.json +434 -374
  89. package/src/assets/samples/vpn-onboard-6.json +290 -250
  90. package/src/attributes-editor/Field.tsx +1 -1
  91. package/src/attributes-editor/LayoutPreviewPicker.tsx +5 -2
  92. package/src/build-components/BIcon/BIconProps.generated.ts +3 -0
  93. package/src/build-components/BIcon/pattern.json +12 -9
  94. package/src/build-components/BackgroundImage/BackgroundImage.tsx +3 -1
  95. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +1 -0
  96. package/src/build-components/BackgroundImage/pattern.json +25 -16
  97. package/src/build-components/Button/Button.tsx +26 -3
  98. package/src/build-components/Button/ButtonProps.generated.ts +1 -0
  99. package/src/build-components/Button/pattern.json +10 -6
  100. package/src/build-components/Carousel/CarouselProps.generated.ts +5 -0
  101. package/src/build-components/Carousel/pattern.json +19 -8
  102. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +1 -0
  103. package/src/build-components/CarouselButtons/pattern.json +11 -5
  104. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +1 -0
  105. package/src/build-components/CarouselDots/pattern.json +5 -4
  106. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +1 -0
  107. package/src/build-components/CarouselItem/pattern.json +5 -4
  108. package/src/build-components/CarouselProvider/CarouselProvider.tsx +44 -2
  109. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +1 -0
  110. package/src/build-components/Image/Image.tsx +2 -1
  111. package/src/build-components/Image/ImageProps.generated.ts +1 -0
  112. package/src/build-components/Image/pattern.json +11 -5
  113. package/src/build-components/Main/MainProps.generated.ts +1 -1
  114. package/src/build-components/Main/pattern.json +12 -9
  115. package/src/build-components/Onboard/OnboardProps.generated.ts +1 -0
  116. package/src/build-components/Onboard/pattern.json +14 -9
  117. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +1 -0
  118. package/src/build-components/OnboardButton/pattern.json +5 -4
  119. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +1 -0
  120. package/src/build-components/OnboardButtons/pattern.json +5 -4
  121. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +1 -0
  122. package/src/build-components/OnboardDot/pattern.json +5 -4
  123. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +3 -0
  124. package/src/build-components/OnboardFooter/pattern.json +8 -5
  125. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +1 -0
  126. package/src/build-components/OnboardImage/pattern.json +7 -4
  127. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +1 -0
  128. package/src/build-components/OnboardItem/pattern.json +18 -9
  129. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +3 -0
  130. package/src/build-components/OnboardProvider/pattern.json +21 -6
  131. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +3 -0
  132. package/src/build-components/OnboardSubtitle/pattern.json +10 -6
  133. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +3 -0
  134. package/src/build-components/OnboardTitle/pattern.json +11 -7
  135. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +1 -1
  136. package/src/build-components/PaywallBackground/pattern.json +5 -4
  137. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +6 -1
  138. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +3 -1
  139. package/src/build-components/PaywallCloseButton/pattern.json +15 -12
  140. package/src/build-components/PaywallOptions/PaywallOptionButton.tsx +0 -1
  141. package/src/build-components/PaywallOptions/PaywallOptions.tsx +3 -2
  142. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +1 -1
  143. package/src/build-components/PaywallOptions/pattern.json +14 -11
  144. package/src/build-components/PaywallProvider/PaywallContext.ts +25 -0
  145. package/src/build-components/PaywallProvider/PaywallProvider.tsx +102 -5
  146. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +1 -1
  147. package/src/build-components/PaywallProvider/pattern.json +11 -8
  148. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButton.tsx +7 -0
  149. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +1 -0
  150. package/src/build-components/PaywallSubscribeButton/pattern.json +16 -13
  151. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +1 -1
  152. package/src/build-components/RadioButton/pattern.json +5 -4
  153. package/src/build-components/Text/Text.tsx +107 -4
  154. package/src/build-components/Text/TextProps.generated.ts +3 -0
  155. package/src/build-components/Text/pattern.json +19 -4
  156. package/src/build-components/View/ViewProps.generated.ts +1 -0
  157. package/src/build-components/View/pattern.json +28 -13
  158. package/src/build-components/other.tsx +15 -0
  159. package/src/build-components/patterns.generated.ts +340 -235
  160. package/src/build-components/useNode.ts +22 -3
  161. package/src/components/BottomBar.tsx +45 -45
  162. package/src/components/Builder.tsx +20 -6
  163. package/src/components/BuilderButton.tsx +75 -38
  164. package/src/components/BuilderProvider.tsx +22 -2
  165. package/src/components/DeviceButton.tsx +12 -5
  166. package/src/components/EditorHeader.tsx +296 -38
  167. package/src/components/ParamsProvider.tsx +7 -0
  168. package/src/components/RenderErrorBoundary.tsx +200 -0
  169. package/src/hooks/useParams.ts +5 -1
  170. package/src/hooks/useSyncHtmlThemeClass.ts +19 -0
  171. package/src/index.native.ts +7 -0
  172. package/src/index.ts +8 -0
  173. package/src/migrations/migratePipe.ts +59 -0
  174. package/src/migrations/migrations/1.1.0_normalize_style_attributes.ts +80 -0
  175. package/src/migrations/semver.ts +24 -0
  176. package/src/migrations/types.ts +9 -0
  177. package/src/mockOS/components/PermissionModal.tsx +3 -2
  178. package/src/mockOS/components/SubscriptionModal.tsx +400 -0
  179. package/src/mockOS/context/MockOSContext.tsx +61 -10
  180. package/src/mockOS/context/MockOSContextBase.ts +1 -0
  181. package/src/mockOS/hooks/useMockIap.ts +11 -0
  182. package/src/mockOS/index.ts +7 -0
  183. package/src/mockOS/managers/mockOSIapManager.ts +10 -0
  184. package/src/mockOS/managers/subscriptionManager.ts +36 -0
  185. package/src/modals/IconPickerModal.tsx +1 -1
  186. package/src/pages/ProjectDebug.tsx +331 -0
  187. package/src/pages/ProjectMigrationPage.tsx +92 -0
  188. package/src/pages/ProjectPage.tsx +318 -166
  189. package/src/pages/ProjectValidationPage.tsx +54 -0
  190. package/src/styles/base/_global.scss +58 -11
  191. package/src/styles/components/_attributes-editor.scss +1 -1
  192. package/src/styles/components/_bottom-bar.scss +7 -4
  193. package/src/styles/components/_editor-shell.scss +126 -4
  194. package/src/styles/components/_mockos-router.scss +3 -2
  195. package/src/styles/components/_ui-components.scss +10 -5
  196. package/src/styles/foundation/_colors.scss +78 -11
  197. package/src/styles/foundation/_mixins.scss +4 -1
  198. package/src/styles/foundation/_sizes.scss +4 -2
  199. package/src/styles/index.scss +1 -0
  200. package/src/styles/layout/_builder.scss +61 -0
  201. package/src/styles/layout/_project-validation.scss +214 -0
  202. package/src/styles/modals/_add-component.scss +4 -2
  203. package/src/styles/modals/_color-modal.scss +4 -2
  204. package/src/styles/modals/_modal-shell.scss +3 -1
  205. package/src/types/Device.ts +5 -0
  206. package/src/utils/__special_exceptions.ts +88 -0
  207. package/src/utils/analyseNode.ts +8 -2
  208. package/src/utils/analyseNodeByPatterns.ts +43 -9
  209. package/src/utils/extractTextStyle.ts +19 -6
  210. package/src/utils/extractViewStyle.ts +68 -59
  211. package/src/utils/getImage.ts +76 -0
  212. package/src/utils/novaToJson.ts +2 -1
  213. package/src/utils/pasteNode.ts +172 -0
  214. package/src/utils/patterns.ts +4 -3
  215. package/dist/android.svg +0 -43
  216. package/dist/apple.svg +0 -16
  217. package/dist/background.jpg +0 -0
@@ -3,8 +3,7 @@
3
3
  // Export resolved patterns (after extends resolution)
4
4
  export const patterns = [
5
5
  {
6
- schemaVersion: 1,
7
- allowUnknownAttributes: false,
6
+ schemaVersion: 2,
8
7
  pattern: {
9
8
  type: 'BIcon',
10
9
  children: 'never',
@@ -25,6 +24,8 @@ export const patterns = [
25
24
  '900',
26
25
  ],
27
26
  textAlign: ['left', 'center', 'right', 'justify'],
27
+ adjustsFontSizeToFit: 'boolean',
28
+ showEllipsis: 'boolean',
28
29
  scrollable: 'boolean',
29
30
  flexDirection: ['row', 'column'],
30
31
  alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
@@ -69,13 +70,12 @@ export const patterns = [
69
70
  size: 'number',
70
71
  strokeWidth: 'number',
71
72
  },
72
- defaults: { iconType: 'activity', fontSize: '16', strokeWidth: 1.5 },
73
73
  },
74
74
  meta: {
75
75
  desiredParent: ['all'],
76
76
  label: 'BIcon',
77
77
  description: 'Renders an icon from the icon set.',
78
- attributes: {
78
+ styles: {
79
79
  color: {
80
80
  label: 'Color',
81
81
  description: 'Text color.',
@@ -105,6 +105,22 @@ export const patterns = [
105
105
  specialCategory: null,
106
106
  sort: 4,
107
107
  },
108
+ adjustsFontSizeToFit: {
109
+ label: 'Adjust Font Size To Fit',
110
+ description:
111
+ 'Automatically reduces font size to fit the available space.',
112
+ category: 'style',
113
+ specialCategory: null,
114
+ sort: 5,
115
+ },
116
+ showEllipsis: {
117
+ label: 'Show Ellipsis',
118
+ description:
119
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
120
+ category: 'style',
121
+ specialCategory: null,
122
+ sort: 6,
123
+ },
108
124
  scrollable: {
109
125
  label: 'Scrollable',
110
126
  description: 'Turns scroll interaction on.',
@@ -418,19 +434,20 @@ export const patterns = [
418
434
  },
419
435
  },
420
436
  },
421
- types: {},
422
437
  defaults: {
438
+ style: {
439
+ flexDirection: 'column',
440
+ position: 'relative',
441
+ zIndex: 1,
442
+ fontSize: '16',
443
+ },
423
444
  iconType: 'activity',
424
- fontSize: '16',
425
445
  strokeWidth: 1.5,
426
- flexDirection: 'column',
427
- position: 'relative',
428
- zIndex: 1,
429
446
  },
447
+ types: {},
430
448
  },
431
449
  {
432
- schemaVersion: 1,
433
- allowUnknownAttributes: false,
450
+ schemaVersion: 2,
434
451
  pattern: {
435
452
  type: 'BackgroundImage',
436
453
  children: 'never',
@@ -478,17 +495,6 @@ export const patterns = [
478
495
  src: 'string',
479
496
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
480
497
  },
481
- defaults: {
482
- resizeMode: 'cover',
483
- width: '100%',
484
- height: '100%',
485
- position: 'absolute',
486
- top: 0,
487
- left: 0,
488
- right: 0,
489
- bottom: 0,
490
- zIndex: 0,
491
- },
492
498
  },
493
499
  meta: {
494
500
  desiredParent: ['all', 'background'],
@@ -520,7 +526,7 @@ export const patterns = [
520
526
  sort: 4,
521
527
  },
522
528
  },
523
- attributes: {
529
+ styles: {
524
530
  scrollable: {
525
531
  label: 'Scrollable',
526
532
  description: 'Turns scroll interaction on.',
@@ -801,23 +807,24 @@ export const patterns = [
801
807
  },
802
808
  },
803
809
  },
804
- types: {},
805
810
  defaults: {
811
+ style: {
812
+ flexDirection: 'column',
813
+ position: 'absolute',
814
+ zIndex: 0,
815
+ width: '100%',
816
+ height: '100%',
817
+ top: 0,
818
+ left: 0,
819
+ right: 0,
820
+ bottom: 0,
821
+ },
806
822
  resizeMode: 'cover',
807
- width: '100%',
808
- height: '100%',
809
- position: 'absolute',
810
- top: 0,
811
- left: 0,
812
- right: 0,
813
- bottom: 0,
814
- zIndex: 0,
815
- flexDirection: 'column',
816
823
  },
824
+ types: {},
817
825
  },
818
826
  {
819
- schemaVersion: 1,
820
- allowUnknownAttributes: false,
827
+ schemaVersion: 2,
821
828
  pattern: {
822
829
  type: 'Button',
823
830
  children: 'string',
@@ -878,7 +885,6 @@ export const patterns = [
878
885
  '900',
879
886
  ],
880
887
  },
881
- defaults: { backgroundColor: 'transparent' },
882
888
  },
883
889
  meta: {
884
890
  desiredParent: ['all'],
@@ -910,7 +916,7 @@ export const patterns = [
910
916
  sort: 4,
911
917
  },
912
918
  },
913
- attributes: {
919
+ styles: {
914
920
  scrollable: {
915
921
  label: 'Scrollable',
916
922
  description: 'Turns scroll interaction on.',
@@ -1198,20 +1204,24 @@ export const patterns = [
1198
1204
  },
1199
1205
  },
1200
1206
  },
1201
- types: {},
1202
1207
  defaults: {
1203
- backgroundColor: 'transparent',
1204
- flexDirection: 'column',
1205
- position: 'relative',
1206
- zIndex: 1,
1208
+ style: {
1209
+ flexDirection: 'column',
1210
+ position: 'relative',
1211
+ zIndex: 1,
1212
+ display: 'flex',
1213
+ alignItems: 'center',
1214
+ justifyContent: 'center',
1215
+ backgroundColor: 'transparent',
1216
+ },
1207
1217
  },
1218
+ types: {},
1208
1219
  },
1209
1220
  {
1210
- schemaVersion: 1,
1211
- allowUnknownAttributes: false,
1221
+ schemaVersion: 2,
1212
1222
  pattern: {
1213
1223
  type: 'Carousel',
1214
- children: 'CarouselItem',
1224
+ children: 'node',
1215
1225
  attributes: {
1216
1226
  scrollable: 'boolean',
1217
1227
  flexDirection: ['row', 'column'],
@@ -1253,8 +1263,10 @@ export const patterns = [
1253
1263
  left: 'size',
1254
1264
  right: 'size',
1255
1265
  zIndex: 'number',
1266
+ loop: 'boolean',
1267
+ dragFree: 'boolean',
1268
+ align: ['start', 'center', 'end'],
1256
1269
  },
1257
- defaults: { flexDirection: 'row' },
1258
1270
  },
1259
1271
  meta: {
1260
1272
  desiredParent: ['=CarouselProvider'],
@@ -1286,7 +1298,7 @@ export const patterns = [
1286
1298
  sort: 4,
1287
1299
  },
1288
1300
  },
1289
- attributes: {
1301
+ styles: {
1290
1302
  scrollable: {
1291
1303
  label: 'Scrollable',
1292
1304
  description: 'Turns scroll interaction on.',
@@ -1553,12 +1565,13 @@ export const patterns = [
1553
1565
  },
1554
1566
  },
1555
1567
  },
1568
+ defaults: {
1569
+ style: { flexDirection: 'row', position: 'relative', zIndex: 1 },
1570
+ },
1556
1571
  types: {},
1557
- defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },
1558
1572
  },
1559
1573
  {
1560
- schemaVersion: 1,
1561
- allowUnknownAttributes: false,
1574
+ schemaVersion: 2,
1562
1575
  pattern: {
1563
1576
  type: 'CarouselButtons',
1564
1577
  children: 'never',
@@ -1606,7 +1619,6 @@ export const patterns = [
1606
1619
  buttonType: ['previous_button', 'next_button', 'skip_button'],
1607
1620
  skipNumber: 'number',
1608
1621
  },
1609
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
1610
1622
  },
1611
1623
  meta: {
1612
1624
  desiredParent: ['>OnboardProvider', '>CarouselProvider'],
@@ -1638,7 +1650,7 @@ export const patterns = [
1638
1650
  sort: 4,
1639
1651
  },
1640
1652
  },
1641
- attributes: {
1653
+ styles: {
1642
1654
  scrollable: {
1643
1655
  label: 'Scrollable',
1644
1656
  description: 'Turns scroll interaction on.',
@@ -1919,12 +1931,13 @@ export const patterns = [
1919
1931
  },
1920
1932
  },
1921
1933
  },
1934
+ defaults: {
1935
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
1936
+ },
1922
1937
  types: {},
1923
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
1924
1938
  },
1925
1939
  {
1926
- schemaVersion: 1,
1927
- allowUnknownAttributes: false,
1940
+ schemaVersion: 2,
1928
1941
  pattern: {
1929
1942
  type: 'CarouselDots',
1930
1943
  children: 'never',
@@ -1978,7 +1991,6 @@ export const patterns = [
1978
1991
  'liquid_like',
1979
1992
  ],
1980
1993
  },
1981
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
1982
1994
  },
1983
1995
  meta: {
1984
1996
  desiredParent: ['>CarouselProvider'],
@@ -2010,7 +2022,7 @@ export const patterns = [
2010
2022
  sort: 4,
2011
2023
  },
2012
2024
  },
2013
- attributes: {
2025
+ styles: {
2014
2026
  scrollable: {
2015
2027
  label: 'Scrollable',
2016
2028
  description: 'Turns scroll interaction on.',
@@ -2284,12 +2296,13 @@ export const patterns = [
2284
2296
  },
2285
2297
  },
2286
2298
  },
2299
+ defaults: {
2300
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2301
+ },
2287
2302
  types: {},
2288
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2289
2303
  },
2290
2304
  {
2291
- schemaVersion: 1,
2292
- allowUnknownAttributes: false,
2305
+ schemaVersion: 2,
2293
2306
  pattern: {
2294
2307
  type: 'CarouselItem',
2295
2308
  children: 'node',
@@ -2335,7 +2348,6 @@ export const patterns = [
2335
2348
  right: 'size',
2336
2349
  zIndex: 'number',
2337
2350
  },
2338
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2339
2351
  },
2340
2352
  meta: {
2341
2353
  desiredParent: ['=Carousel'],
@@ -2367,7 +2379,7 @@ export const patterns = [
2367
2379
  sort: 4,
2368
2380
  },
2369
2381
  },
2370
- attributes: {
2382
+ styles: {
2371
2383
  scrollable: {
2372
2384
  label: 'Scrollable',
2373
2385
  description: 'Turns scroll interaction on.',
@@ -2634,12 +2646,13 @@ export const patterns = [
2634
2646
  },
2635
2647
  },
2636
2648
  },
2649
+ defaults: {
2650
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2651
+ },
2637
2652
  types: {},
2638
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2639
2653
  },
2640
2654
  {
2641
2655
  schemaVersion: 1,
2642
- allowUnknownAttributes: false,
2643
2656
  pattern: {
2644
2657
  type: 'CarouselProvider',
2645
2658
  children: 'node',
@@ -2685,7 +2698,6 @@ export const patterns = [
2685
2698
  right: 'size',
2686
2699
  zIndex: 'number',
2687
2700
  },
2688
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2689
2701
  },
2690
2702
  meta: {
2691
2703
  desiredParent: ['root', '>View'],
@@ -2717,7 +2729,7 @@ export const patterns = [
2717
2729
  sort: 4,
2718
2730
  },
2719
2731
  },
2720
- attributes: {
2732
+ styles: {
2721
2733
  scrollable: {
2722
2734
  label: 'Scrollable',
2723
2735
  description: 'Turns scroll interaction on.',
@@ -2983,13 +2995,16 @@ export const patterns = [
2983
2995
  sort: 26,
2984
2996
  },
2985
2997
  },
2998
+ attributes: {},
2986
2999
  },
3000
+ defaults: {
3001
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
3002
+ },
3003
+ allowUnknownAttributes: false,
2987
3004
  types: {},
2988
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
2989
3005
  },
2990
3006
  {
2991
- schemaVersion: 1,
2992
- allowUnknownAttributes: false,
3007
+ schemaVersion: 2,
2993
3008
  pattern: {
2994
3009
  type: 'Image',
2995
3010
  children: 'never',
@@ -3037,7 +3052,6 @@ export const patterns = [
3037
3052
  src: 'string',
3038
3053
  resizeMode: ['cover', 'contain', 'stretch', 'center'],
3039
3054
  },
3040
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
3041
3055
  },
3042
3056
  meta: {
3043
3057
  desiredParent: ['all'],
@@ -3069,7 +3083,7 @@ export const patterns = [
3069
3083
  sort: 4,
3070
3084
  },
3071
3085
  },
3072
- attributes: {
3086
+ styles: {
3073
3087
  scrollable: {
3074
3088
  label: 'Scrollable',
3075
3089
  description: 'Turns scroll interaction on.',
@@ -3348,15 +3362,16 @@ export const patterns = [
3348
3362
  },
3349
3363
  },
3350
3364
  },
3365
+ defaults: {
3366
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
3367
+ },
3351
3368
  types: {},
3352
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
3353
3369
  },
3354
3370
  {
3355
- schemaVersion: 1,
3356
- allowUnknownAttributes: true,
3371
+ schemaVersion: 2,
3357
3372
  pattern: {
3358
3373
  type: 'Main',
3359
- children: ['node', 'array'],
3374
+ children: 'node',
3360
3375
  attributes: {
3361
3376
  scrollable: 'boolean',
3362
3377
  flexDirection: ['row', 'column'],
@@ -3400,7 +3415,6 @@ export const patterns = [
3400
3415
  zIndex: 'number',
3401
3416
  useSafeAreaView: 'boolean',
3402
3417
  },
3403
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
3404
3418
  },
3405
3419
  meta: {
3406
3420
  desiredParent: ['root'],
@@ -3432,7 +3446,7 @@ export const patterns = [
3432
3446
  sort: 4,
3433
3447
  },
3434
3448
  },
3435
- attributes: {
3449
+ styles: {
3436
3450
  scrollable: {
3437
3451
  label: 'Scrollable',
3438
3452
  description: 'Turns scroll interaction on.',
@@ -3710,19 +3724,20 @@ export const patterns = [
3710
3724
  hideAllAttributes: true,
3711
3725
  },
3712
3726
  defaults: {
3713
- flexDirection: 'column',
3714
- position: 'relative',
3715
- zIndex: 1,
3727
+ style: {
3728
+ flexDirection: 'column',
3729
+ position: 'relative',
3730
+ zIndex: 1,
3731
+ width: '100%',
3732
+ height: '100%',
3733
+ flex: 1,
3734
+ },
3716
3735
  useSafeAreaView: true,
3717
- width: '100%',
3718
- height: '100%',
3719
- flex: 1,
3720
3736
  },
3721
3737
  types: {},
3722
3738
  },
3723
3739
  {
3724
- schemaVersion: 1,
3725
- allowUnknownAttributes: false,
3740
+ schemaVersion: 2,
3726
3741
  pattern: {
3727
3742
  type: 'Onboard',
3728
3743
  children: 'node',
@@ -3768,7 +3783,6 @@ export const patterns = [
3768
3783
  right: 'size',
3769
3784
  zIndex: 'number',
3770
3785
  },
3771
- defaults: { flexDirection: 'row' },
3772
3786
  },
3773
3787
  meta: {
3774
3788
  desiredParent: ['=OnboardProvider'],
@@ -3800,7 +3814,7 @@ export const patterns = [
3800
3814
  sort: 4,
3801
3815
  },
3802
3816
  },
3803
- attributes: {
3817
+ styles: {
3804
3818
  scrollable: {
3805
3819
  label: 'Scrollable',
3806
3820
  description: 'Turns scroll interaction on.',
@@ -4068,12 +4082,13 @@ export const patterns = [
4068
4082
  },
4069
4083
  desiredChildren: ['=OnboardItem'],
4070
4084
  },
4085
+ defaults: {
4086
+ style: { flexDirection: 'row', position: 'relative', zIndex: 1 },
4087
+ },
4071
4088
  types: {},
4072
- defaults: { flexDirection: 'row', position: 'relative', zIndex: 1 },
4073
4089
  },
4074
4090
  {
4075
- schemaVersion: 1,
4076
- allowUnknownAttributes: false,
4091
+ schemaVersion: 2,
4077
4092
  pattern: {
4078
4093
  type: 'OnboardButton',
4079
4094
  children: 'never',
@@ -4131,7 +4146,6 @@ export const patterns = [
4131
4146
  button_background_color: 'color',
4132
4147
  events: 'EventObject[]',
4133
4148
  },
4134
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4135
4149
  },
4136
4150
  meta: {
4137
4151
  desiredParent: ['=OnboardButtons'],
@@ -4163,7 +4177,7 @@ export const patterns = [
4163
4177
  sort: 4,
4164
4178
  },
4165
4179
  },
4166
- attributes: {
4180
+ styles: {
4167
4181
  scrollable: {
4168
4182
  label: 'Scrollable',
4169
4183
  description: 'Turns scroll interaction on.',
@@ -4472,6 +4486,9 @@ export const patterns = [
4472
4486
  },
4473
4487
  },
4474
4488
  },
4489
+ defaults: {
4490
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4491
+ },
4475
4492
  types: {
4476
4493
  EventObject: {
4477
4494
  type: ['Permission', 'Navigate'],
@@ -4480,11 +4497,9 @@ export const patterns = [
4480
4497
  targetIndex: 'number',
4481
4498
  },
4482
4499
  },
4483
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4484
4500
  },
4485
4501
  {
4486
- schemaVersion: 1,
4487
- allowUnknownAttributes: false,
4502
+ schemaVersion: 2,
4488
4503
  pattern: {
4489
4504
  type: 'OnboardButtons',
4490
4505
  children: 'node',
@@ -4537,7 +4552,6 @@ export const patterns = [
4537
4552
  condition: ['carousel-index'],
4538
4553
  conditionVariable: 'number',
4539
4554
  },
4540
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4541
4555
  },
4542
4556
  meta: {
4543
4557
  desiredParent: ['=OnboardItem'],
@@ -4569,7 +4583,7 @@ export const patterns = [
4569
4583
  sort: 4,
4570
4584
  },
4571
4585
  },
4572
- attributes: {
4586
+ styles: {
4573
4587
  scrollable: {
4574
4588
  label: 'Scrollable',
4575
4589
  description: 'Turns scroll interaction on.',
@@ -4885,12 +4899,13 @@ export const patterns = [
4885
4899
  },
4886
4900
  },
4887
4901
  },
4902
+ defaults: {
4903
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4904
+ },
4888
4905
  types: {},
4889
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4890
4906
  },
4891
4907
  {
4892
- schemaVersion: 1,
4893
- allowUnknownAttributes: false,
4908
+ schemaVersion: 2,
4894
4909
  pattern: {
4895
4910
  type: 'OnboardDot',
4896
4911
  children: 'never',
@@ -4940,7 +4955,6 @@ export const patterns = [
4940
4955
  expanding_dot_width: 'size',
4941
4956
  active_dot_color: 'color',
4942
4957
  },
4943
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
4944
4958
  },
4945
4959
  meta: {
4946
4960
  desiredParent: ['>OnboardProvider'],
@@ -4972,7 +4986,7 @@ export const patterns = [
4972
4986
  sort: 4,
4973
4987
  },
4974
4988
  },
4975
- attributes: {
4989
+ styles: {
4976
4990
  scrollable: {
4977
4991
  label: 'Scrollable',
4978
4992
  description: 'Turns scroll interaction on.',
@@ -5267,12 +5281,13 @@ export const patterns = [
5267
5281
  },
5268
5282
  },
5269
5283
  },
5284
+ defaults: {
5285
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
5286
+ },
5270
5287
  types: {},
5271
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
5272
5288
  },
5273
5289
  {
5274
- schemaVersion: 1,
5275
- allowUnknownAttributes: false,
5290
+ schemaVersion: 2,
5276
5291
  pattern: {
5277
5292
  type: 'OnboardFooter',
5278
5293
  children: 'node',
@@ -5293,6 +5308,8 @@ export const patterns = [
5293
5308
  '900',
5294
5309
  ],
5295
5310
  textAlign: ['left', 'center', 'right', 'justify'],
5311
+ adjustsFontSizeToFit: 'boolean',
5312
+ showEllipsis: 'boolean',
5296
5313
  scrollable: 'boolean',
5297
5314
  flexDirection: ['row', 'column'],
5298
5315
  alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
@@ -5341,13 +5358,12 @@ export const patterns = [
5341
5358
  linkedWordSecondColor: 'color',
5342
5359
  linkedWordSecondPage: 'string',
5343
5360
  },
5344
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
5345
5361
  },
5346
5362
  meta: {
5347
5363
  desiredParent: ['>OnboardItem'],
5348
5364
  label: 'Onboard Footer',
5349
5365
  description: 'Footer text with optional links.',
5350
- attributes: {
5366
+ styles: {
5351
5367
  color: {
5352
5368
  label: 'Color',
5353
5369
  description: 'Text color.',
@@ -5377,6 +5393,22 @@ export const patterns = [
5377
5393
  specialCategory: null,
5378
5394
  sort: 4,
5379
5395
  },
5396
+ adjustsFontSizeToFit: {
5397
+ label: 'Adjust Font Size To Fit',
5398
+ description:
5399
+ 'Automatically reduces font size to fit the available space.',
5400
+ category: 'style',
5401
+ specialCategory: null,
5402
+ sort: 5,
5403
+ },
5404
+ showEllipsis: {
5405
+ label: 'Show Ellipsis',
5406
+ description:
5407
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
5408
+ category: 'style',
5409
+ specialCategory: null,
5410
+ sort: 6,
5411
+ },
5380
5412
  scrollable: {
5381
5413
  label: 'Scrollable',
5382
5414
  description: 'Turns scroll interaction on.',
@@ -5719,16 +5751,17 @@ export const patterns = [
5719
5751
  },
5720
5752
  },
5721
5753
  defaults: {
5722
- flexDirection: 'column',
5723
- position: 'relative',
5724
- zIndex: 1,
5725
- paddingHorizontal: '24@s',
5754
+ style: {
5755
+ flexDirection: 'column',
5756
+ position: 'relative',
5757
+ zIndex: 1,
5758
+ paddingHorizontal: '24@s',
5759
+ },
5726
5760
  },
5727
5761
  types: {},
5728
5762
  },
5729
5763
  {
5730
- schemaVersion: 1,
5731
- allowUnknownAttributes: false,
5764
+ schemaVersion: 2,
5732
5765
  pattern: {
5733
5766
  type: 'OnboardImage',
5734
5767
  children: 'node',
@@ -5778,13 +5811,12 @@ export const patterns = [
5778
5811
  video_url: 'string',
5779
5812
  lottie: 'string',
5780
5813
  },
5781
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
5782
5814
  },
5783
5815
  meta: {
5784
5816
  desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
5785
5817
  label: 'Onboard Image',
5786
5818
  description: 'Onboarding hero image with media.',
5787
- attributes: {
5819
+ styles: {
5788
5820
  src: {
5789
5821
  label: 'Src',
5790
5822
  description: 'Image source URL.',
@@ -6105,12 +6137,13 @@ export const patterns = [
6105
6137
  },
6106
6138
  },
6107
6139
  },
6140
+ defaults: {
6141
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
6142
+ },
6108
6143
  types: {},
6109
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
6110
6144
  },
6111
6145
  {
6112
- schemaVersion: 1,
6113
- allowUnknownAttributes: false,
6146
+ schemaVersion: 2,
6114
6147
  pattern: {
6115
6148
  type: 'OnboardItem',
6116
6149
  children: 'node',
@@ -6157,7 +6190,6 @@ export const patterns = [
6157
6190
  zIndex: 'number',
6158
6191
  display: ['flex', 'block'],
6159
6192
  },
6160
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
6161
6193
  },
6162
6194
  meta: {
6163
6195
  desiredParent: ['=Onboard'],
@@ -6189,7 +6221,7 @@ export const patterns = [
6189
6221
  sort: 4,
6190
6222
  },
6191
6223
  },
6192
- attributes: {
6224
+ styles: {
6193
6225
  scrollable: {
6194
6226
  label: 'Scrollable',
6195
6227
  description: 'Turns scroll interaction on.',
@@ -6462,18 +6494,19 @@ export const patterns = [
6462
6494
  },
6463
6495
  },
6464
6496
  defaults: {
6465
- flexDirection: 'column',
6466
- position: 'relative',
6467
- zIndex: 1,
6468
- gap: '16@vs',
6497
+ style: {
6498
+ flexDirection: 'column',
6499
+ position: 'relative',
6500
+ zIndex: 1,
6501
+ gap: '16@vs',
6502
+ paddingHorizontal: '24@s',
6503
+ },
6469
6504
  display: 'flex',
6470
- paddingHorizontal: '24@s',
6471
6505
  },
6472
6506
  types: {},
6473
6507
  },
6474
6508
  {
6475
- schemaVersion: 1,
6476
- allowUnknownAttributes: false,
6509
+ schemaVersion: 2,
6477
6510
  pattern: {
6478
6511
  type: 'OnboardProvider',
6479
6512
  children: 'node',
@@ -6518,8 +6551,8 @@ export const patterns = [
6518
6551
  left: 'size',
6519
6552
  right: 'size',
6520
6553
  zIndex: 'number',
6554
+ theme: ['light', 'dark', 'all'],
6521
6555
  },
6522
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
6523
6556
  },
6524
6557
  meta: {
6525
6558
  desiredParent: ['root'],
@@ -6551,7 +6584,7 @@ export const patterns = [
6551
6584
  sort: 4,
6552
6585
  },
6553
6586
  },
6554
- attributes: {
6587
+ styles: {
6555
6588
  scrollable: {
6556
6589
  label: 'Scrollable',
6557
6590
  description: 'Turns scroll interaction on.',
@@ -6812,20 +6845,29 @@ export const patterns = [
6812
6845
  specialCategory: null,
6813
6846
  sort: 26,
6814
6847
  },
6848
+ theme: {
6849
+ label: 'Theme',
6850
+ description:
6851
+ 'Controls which app theme(s) this onboarding is intended for.',
6852
+ category: 'other',
6853
+ specialCategory: null,
6854
+ sort: -10,
6855
+ },
6815
6856
  },
6816
6857
  },
6817
6858
  defaults: {
6818
- flexDirection: 'column',
6819
- position: 'relative',
6820
- zIndex: 1,
6821
- width: '100%',
6822
- height: '100%',
6859
+ style: {
6860
+ flexDirection: 'column',
6861
+ position: 'relative',
6862
+ zIndex: 1,
6863
+ width: '100%',
6864
+ height: '100%',
6865
+ },
6823
6866
  },
6824
6867
  types: {},
6825
6868
  },
6826
6869
  {
6827
- schemaVersion: 1,
6828
- allowUnknownAttributes: false,
6870
+ schemaVersion: 2,
6829
6871
  pattern: {
6830
6872
  type: 'OnboardSubtitle',
6831
6873
  children: 'string',
@@ -6846,6 +6888,8 @@ export const patterns = [
6846
6888
  '900',
6847
6889
  ],
6848
6890
  textAlign: ['left', 'center', 'right', 'justify'],
6891
+ adjustsFontSizeToFit: 'boolean',
6892
+ showEllipsis: 'boolean',
6849
6893
  scrollable: 'boolean',
6850
6894
  flexDirection: ['row', 'column'],
6851
6895
  alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
@@ -6887,13 +6931,12 @@ export const patterns = [
6887
6931
  right: 'size',
6888
6932
  zIndex: 'number',
6889
6933
  },
6890
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
6891
6934
  },
6892
6935
  meta: {
6893
6936
  desiredParent: ['>OnboardProvider', '>OnboardItem'],
6894
6937
  label: 'Onboard Subtitle',
6895
6938
  description: 'Subtitle text for an onboarding step.',
6896
- attributes: {
6939
+ styles: {
6897
6940
  color: {
6898
6941
  label: 'Color',
6899
6942
  description: 'Text color.',
@@ -6923,6 +6966,22 @@ export const patterns = [
6923
6966
  specialCategory: null,
6924
6967
  sort: 4,
6925
6968
  },
6969
+ adjustsFontSizeToFit: {
6970
+ label: 'Adjust Font Size To Fit',
6971
+ description:
6972
+ 'Automatically reduces font size to fit the available space.',
6973
+ category: 'style',
6974
+ specialCategory: null,
6975
+ sort: 5,
6976
+ },
6977
+ showEllipsis: {
6978
+ label: 'Show Ellipsis',
6979
+ description:
6980
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
6981
+ category: 'style',
6982
+ specialCategory: null,
6983
+ sort: 6,
6984
+ },
6926
6985
  scrollable: {
6927
6986
  label: 'Scrollable',
6928
6987
  description: 'Turns scroll interaction on.',
@@ -7216,17 +7275,18 @@ export const patterns = [
7216
7275
  },
7217
7276
  },
7218
7277
  defaults: {
7219
- flexDirection: 'column',
7220
- position: 'relative',
7221
- zIndex: 1,
7222
- fontSize: '14@fs',
7223
- fontWeight: '600',
7278
+ style: {
7279
+ flexDirection: 'column',
7280
+ position: 'relative',
7281
+ zIndex: 1,
7282
+ fontSize: '14@fs',
7283
+ fontWeight: '600',
7284
+ },
7224
7285
  },
7225
7286
  types: {},
7226
7287
  },
7227
7288
  {
7228
- schemaVersion: 1,
7229
- allowUnknownAttributes: false,
7289
+ schemaVersion: 2,
7230
7290
  pattern: {
7231
7291
  type: 'OnboardTitle',
7232
7292
  children: 'string',
@@ -7247,6 +7307,8 @@ export const patterns = [
7247
7307
  '900',
7248
7308
  ],
7249
7309
  textAlign: ['left', 'center', 'right', 'justify'],
7310
+ adjustsFontSizeToFit: 'boolean',
7311
+ showEllipsis: 'boolean',
7250
7312
  scrollable: 'boolean',
7251
7313
  flexDirection: ['row', 'column'],
7252
7314
  alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
@@ -7288,13 +7350,12 @@ export const patterns = [
7288
7350
  right: 'size',
7289
7351
  zIndex: 'number',
7290
7352
  },
7291
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
7292
7353
  },
7293
7354
  meta: {
7294
7355
  desiredParent: ['>OnboardItem', '>OnboardProvider'],
7295
7356
  label: 'Onboard Title',
7296
7357
  description: 'Title text for an onboarding step.',
7297
- attributes: {
7358
+ styles: {
7298
7359
  color: {
7299
7360
  label: 'Color',
7300
7361
  description: 'Text color.',
@@ -7324,6 +7385,22 @@ export const patterns = [
7324
7385
  specialCategory: null,
7325
7386
  sort: 4,
7326
7387
  },
7388
+ adjustsFontSizeToFit: {
7389
+ label: 'Adjust Font Size To Fit',
7390
+ description:
7391
+ 'Automatically reduces font size to fit the available space.',
7392
+ category: 'style',
7393
+ specialCategory: null,
7394
+ sort: 5,
7395
+ },
7396
+ showEllipsis: {
7397
+ label: 'Show Ellipsis',
7398
+ description:
7399
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7400
+ category: 'style',
7401
+ specialCategory: null,
7402
+ sort: 6,
7403
+ },
7327
7404
  scrollable: {
7328
7405
  label: 'Scrollable',
7329
7406
  description: 'Turns scroll interaction on.',
@@ -7617,18 +7694,19 @@ export const patterns = [
7617
7694
  },
7618
7695
  },
7619
7696
  defaults: {
7620
- flexDirection: 'column',
7621
- position: 'relative',
7622
- zIndex: 1,
7623
- fontSize: '24@fs',
7624
- fontWeight: '700',
7625
- textAlign: 'center',
7697
+ style: {
7698
+ flexDirection: 'column',
7699
+ position: 'relative',
7700
+ zIndex: 1,
7701
+ fontSize: '24@fs',
7702
+ fontWeight: '700',
7703
+ textAlign: 'center',
7704
+ },
7626
7705
  },
7627
7706
  types: {},
7628
7707
  },
7629
7708
  {
7630
- schemaVersion: 1,
7631
- allowUnknownAttributes: true,
7709
+ schemaVersion: 2,
7632
7710
  pattern: {
7633
7711
  type: 'PaywallBackground',
7634
7712
  children: 'never',
@@ -7674,7 +7752,6 @@ export const patterns = [
7674
7752
  right: 'size',
7675
7753
  zIndex: 'number',
7676
7754
  },
7677
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
7678
7755
  },
7679
7756
  meta: {
7680
7757
  desiredParent: ['>PaywallProvider'],
@@ -7706,7 +7783,7 @@ export const patterns = [
7706
7783
  sort: 4,
7707
7784
  },
7708
7785
  },
7709
- attributes: {
7786
+ styles: {
7710
7787
  scrollable: {
7711
7788
  label: 'Scrollable',
7712
7789
  description: 'Turns scroll interaction on.',
@@ -7973,12 +8050,13 @@ export const patterns = [
7973
8050
  },
7974
8051
  },
7975
8052
  },
8053
+ defaults: {
8054
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
8055
+ },
7976
8056
  types: {},
7977
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
7978
8057
  },
7979
8058
  {
7980
- schemaVersion: 1,
7981
- allowUnknownAttributes: true,
8059
+ schemaVersion: 2,
7982
8060
  pattern: {
7983
8061
  type: 'PaywallCloseButton',
7984
8062
  children: 'never',
@@ -8002,6 +8080,8 @@ export const patterns = [
8002
8080
  '900',
8003
8081
  ],
8004
8082
  textAlign: ['left', 'center', 'right', 'justify'],
8083
+ adjustsFontSizeToFit: 'boolean',
8084
+ showEllipsis: 'boolean',
8005
8085
  scrollable: 'boolean',
8006
8086
  flexDirection: ['row', 'column'],
8007
8087
  alignItems: ['flex-start', 'center', 'flex-end', 'stretch', 'baseline'],
@@ -8043,19 +8123,12 @@ export const patterns = [
8043
8123
  right: 'size',
8044
8124
  zIndex: 'number',
8045
8125
  },
8046
- defaults: {
8047
- iconType: 'close',
8048
- size: 24,
8049
- flexDirection: 'row',
8050
- justifyContent: 'center',
8051
- alignItems: 'center',
8052
- },
8053
8126
  },
8054
8127
  meta: {
8055
8128
  desiredParent: ['>PaywallProvider'],
8056
8129
  label: 'Paywall Close Button',
8057
8130
  description: 'Paywall Close Button component.',
8058
- attributes: {
8131
+ styles: {
8059
8132
  iconType: {
8060
8133
  label: 'Icon',
8061
8134
  description: 'Which icon to render.',
@@ -8106,6 +8179,22 @@ export const patterns = [
8106
8179
  specialCategory: null,
8107
8180
  sort: 4,
8108
8181
  },
8182
+ adjustsFontSizeToFit: {
8183
+ label: 'Adjust Font Size To Fit',
8184
+ description:
8185
+ 'Automatically reduces font size to fit the available space.',
8186
+ category: 'style',
8187
+ specialCategory: null,
8188
+ sort: 5,
8189
+ },
8190
+ showEllipsis: {
8191
+ label: 'Show Ellipsis',
8192
+ description:
8193
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8194
+ category: 'style',
8195
+ specialCategory: null,
8196
+ sort: 6,
8197
+ },
8109
8198
  scrollable: {
8110
8199
  label: 'Scrollable',
8111
8200
  description: 'Turns scroll interaction on.',
@@ -8398,25 +8487,26 @@ export const patterns = [
8398
8487
  },
8399
8488
  },
8400
8489
  },
8401
- types: {},
8402
8490
  defaults: {
8403
8491
  iconType: 'close',
8404
- size: 24,
8405
- flexDirection: 'row',
8406
- justifyContent: 'center',
8407
- alignItems: 'center',
8408
- fontSize: '16',
8409
8492
  strokeWidth: 1.5,
8410
- position: 'relative',
8411
- zIndex: 1,
8493
+ style: {
8494
+ fontSize: '16',
8495
+ flexDirection: 'row',
8496
+ position: 'relative',
8497
+ zIndex: 1,
8498
+ justifyContent: 'center',
8499
+ alignItems: 'center',
8500
+ },
8501
+ size: 24,
8412
8502
  },
8503
+ types: {},
8413
8504
  },
8414
8505
  {
8415
- schemaVersion: 1,
8416
- allowUnknownAttributes: true,
8506
+ schemaVersion: 2,
8417
8507
  pattern: {
8418
8508
  type: 'PaywallOptions',
8419
- children: ['node', 'array'],
8509
+ children: 'node',
8420
8510
  attributes: {
8421
8511
  scrollable: 'boolean',
8422
8512
  flexDirection: ['row', 'column'],
@@ -8459,12 +8549,6 @@ export const patterns = [
8459
8549
  right: 'size',
8460
8550
  zIndex: 'number',
8461
8551
  },
8462
- defaults: {
8463
- flexDirection: 'row',
8464
- justifyContent: 'space-between',
8465
- alignItems: 'center',
8466
- minHeight: '60px',
8467
- },
8468
8552
  },
8469
8553
  meta: {
8470
8554
  desiredParent: ['>PaywallProvider'],
@@ -8496,7 +8580,7 @@ export const patterns = [
8496
8580
  sort: 4,
8497
8581
  },
8498
8582
  },
8499
- attributes: {
8583
+ styles: {
8500
8584
  scrollable: {
8501
8585
  label: 'Scrollable',
8502
8586
  description: 'Turns scroll interaction on.',
@@ -8763,22 +8847,23 @@ export const patterns = [
8763
8847
  },
8764
8848
  },
8765
8849
  },
8766
- types: {},
8767
8850
  defaults: {
8768
- flexDirection: 'row',
8769
- justifyContent: 'space-between',
8770
- alignItems: 'center',
8771
- minHeight: '60px',
8772
- position: 'relative',
8773
- zIndex: 1,
8851
+ style: {
8852
+ flexDirection: 'row',
8853
+ position: 'relative',
8854
+ zIndex: 1,
8855
+ justifyContent: 'space-between',
8856
+ alignItems: 'center',
8857
+ minHeight: '60px',
8858
+ },
8774
8859
  },
8860
+ types: {},
8775
8861
  },
8776
8862
  {
8777
- schemaVersion: 1,
8778
- allowUnknownAttributes: true,
8863
+ schemaVersion: 2,
8779
8864
  pattern: {
8780
8865
  type: 'PaywallProvider',
8781
- children: ['node', 'array'],
8866
+ children: 'node',
8782
8867
  attributes: {
8783
8868
  scrollable: 'boolean',
8784
8869
  flexDirection: ['row', 'column'],
@@ -8821,7 +8906,6 @@ export const patterns = [
8821
8906
  right: 'size',
8822
8907
  zIndex: 'number',
8823
8908
  },
8824
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
8825
8909
  },
8826
8910
  meta: {
8827
8911
  desiredParent: ['all'],
@@ -8853,7 +8937,7 @@ export const patterns = [
8853
8937
  sort: 4,
8854
8938
  },
8855
8939
  },
8856
- attributes: {
8940
+ styles: {
8857
8941
  scrollable: {
8858
8942
  label: 'Scrollable',
8859
8943
  description: 'Turns scroll interaction on.',
@@ -9122,17 +9206,18 @@ export const patterns = [
9122
9206
  mockableFeatures: { products: true, benefits: true },
9123
9207
  },
9124
9208
  defaults: {
9125
- flexDirection: 'column',
9126
- position: 'relative',
9127
- zIndex: 1,
9128
- width: '100%',
9129
- height: '100%',
9209
+ style: {
9210
+ flexDirection: 'column',
9211
+ position: 'relative',
9212
+ zIndex: 1,
9213
+ width: '100%',
9214
+ height: '100%',
9215
+ },
9130
9216
  },
9131
9217
  types: {},
9132
9218
  },
9133
9219
  {
9134
- schemaVersion: 1,
9135
- allowUnknownAttributes: false,
9220
+ schemaVersion: 2,
9136
9221
  pattern: {
9137
9222
  type: 'PaywallSubscribeButton',
9138
9223
  children: 'string',
@@ -9193,13 +9278,12 @@ export const patterns = [
9193
9278
  right: 'size',
9194
9279
  zIndex: 'number',
9195
9280
  },
9196
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
9197
9281
  },
9198
9282
  meta: {
9199
9283
  desiredParent: ['>PaywallProvider'],
9200
9284
  label: 'Paywall Subscribe Button',
9201
9285
  description: 'Paywall subscribe call-to-action button. Extends Button.',
9202
- attributes: {
9286
+ styles: {
9203
9287
  color: {
9204
9288
  label: 'Color',
9205
9289
  description: 'Text color of the button.',
@@ -9514,24 +9598,26 @@ export const patterns = [
9514
9598
  },
9515
9599
  },
9516
9600
  defaults: {
9517
- flexDirection: 'column',
9518
- position: 'relative',
9519
- zIndex: 1,
9520
- backgroundColor: '#6495ED',
9521
- paddingHorizontal: '20@s',
9522
- paddingVertical: '12@vs',
9523
- borderRadius: '12@s',
9524
- color: '#FFFFFF',
9525
- fontSize: '16@fs',
9526
- fontWeight: '700',
9527
- justifyContent: 'center',
9528
- alignItems: 'center',
9601
+ style: {
9602
+ display: 'flex',
9603
+ alignItems: 'center',
9604
+ justifyContent: 'center',
9605
+ backgroundColor: '#6495ED',
9606
+ flexDirection: 'column',
9607
+ position: 'relative',
9608
+ zIndex: 1,
9609
+ paddingHorizontal: '20@s',
9610
+ paddingVertical: '12@vs',
9611
+ borderRadius: '12@s',
9612
+ color: '#FFFFFF',
9613
+ fontSize: '16@fs',
9614
+ fontWeight: '700',
9615
+ },
9529
9616
  },
9530
9617
  types: {},
9531
9618
  },
9532
9619
  {
9533
- schemaVersion: 1,
9534
- allowUnknownAttributes: true,
9620
+ schemaVersion: 2,
9535
9621
  pattern: {
9536
9622
  type: 'RadioButton',
9537
9623
  children: 'never',
@@ -9580,7 +9666,6 @@ export const patterns = [
9580
9666
  color: 'color',
9581
9667
  size: 'number',
9582
9668
  },
9583
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
9584
9669
  },
9585
9670
  meta: {
9586
9671
  desiredParent: ['all'],
@@ -9612,7 +9697,7 @@ export const patterns = [
9612
9697
  sort: 4,
9613
9698
  },
9614
9699
  },
9615
- attributes: {
9700
+ styles: {
9616
9701
  scrollable: {
9617
9702
  label: 'Scrollable',
9618
9703
  description: 'Turns scroll interaction on.',
@@ -9900,12 +9985,13 @@ export const patterns = [
9900
9985
  },
9901
9986
  },
9902
9987
  },
9988
+ defaults: {
9989
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
9990
+ },
9903
9991
  types: {},
9904
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
9905
9992
  },
9906
9993
  {
9907
- schemaVersion: 1,
9908
- allowUnknownAttributes: false,
9994
+ schemaVersion: 2,
9909
9995
  pattern: {
9910
9996
  type: 'Text',
9911
9997
  children: 'string',
@@ -9966,8 +10052,9 @@ export const patterns = [
9966
10052
  '900',
9967
10053
  ],
9968
10054
  textAlign: ['left', 'center', 'right', 'justify'],
10055
+ adjustsFontSizeToFit: 'boolean',
10056
+ showEllipsis: 'boolean',
9969
10057
  },
9970
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
9971
10058
  },
9972
10059
  meta: {
9973
10060
  desiredParent: ['all'],
@@ -9999,7 +10086,7 @@ export const patterns = [
9999
10086
  sort: 4,
10000
10087
  },
10001
10088
  },
10002
- attributes: {
10089
+ styles: {
10003
10090
  scrollable: {
10004
10091
  label: 'Scrollable',
10005
10092
  description: 'Turns scroll interaction on.',
@@ -10293,17 +10380,34 @@ export const patterns = [
10293
10380
  specialCategory: null,
10294
10381
  sort: 4,
10295
10382
  },
10383
+ adjustsFontSizeToFit: {
10384
+ label: 'Adjust Font Size To Fit',
10385
+ description:
10386
+ 'Automatically reduces font size to fit the available space.',
10387
+ category: 'style',
10388
+ specialCategory: null,
10389
+ sort: 5,
10390
+ },
10391
+ showEllipsis: {
10392
+ label: 'Show Ellipsis',
10393
+ description:
10394
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10395
+ category: 'style',
10396
+ specialCategory: null,
10397
+ sort: 6,
10398
+ },
10296
10399
  },
10297
10400
  },
10401
+ defaults: {
10402
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
10403
+ },
10298
10404
  types: {},
10299
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
10300
10405
  },
10301
10406
  {
10302
- schemaVersion: 1,
10303
- allowUnknownAttributes: false,
10407
+ schemaVersion: 2,
10304
10408
  pattern: {
10305
10409
  type: 'View',
10306
- children: ['node', 'array'],
10410
+ children: 'node',
10307
10411
  attributes: {
10308
10412
  scrollable: 'boolean',
10309
10413
  flexDirection: ['row', 'column'],
@@ -10346,7 +10450,6 @@ export const patterns = [
10346
10450
  right: 'size',
10347
10451
  zIndex: 'number',
10348
10452
  },
10349
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
10350
10453
  },
10351
10454
  meta: {
10352
10455
  desiredParent: ['all'],
@@ -10378,7 +10481,7 @@ export const patterns = [
10378
10481
  sort: 4,
10379
10482
  },
10380
10483
  },
10381
- attributes: {
10484
+ styles: {
10382
10485
  scrollable: {
10383
10486
  label: 'Scrollable',
10384
10487
  description: 'Turns scroll interaction on.',
@@ -10645,6 +10748,8 @@ export const patterns = [
10645
10748
  },
10646
10749
  },
10647
10750
  },
10648
- defaults: { flexDirection: 'column', position: 'relative', zIndex: 1 },
10751
+ defaults: {
10752
+ style: { flexDirection: 'column', position: 'relative', zIndex: 1 },
10753
+ },
10649
10754
  },
10650
10755
  ] as const;