@developer_tribe/react-builder 1.2.44-test.2 → 1.2.45

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 (92) hide show
  1. package/dist/attributes-editor/Field.d.ts +1 -3
  2. package/dist/attributes-editor/attributesEditorModelTypes.d.ts +0 -3
  3. package/dist/attributes-editor/useAttributesEditorModel.d.ts +1 -1
  4. package/dist/build-components/FormSubmitButton/FormSubmitButtonProps.generated.d.ts +3 -8
  5. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +3 -8
  6. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +0 -2
  7. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +0 -2
  8. package/dist/build-components/SystemButton/SystemButtonProps.generated.d.ts +3 -8
  9. package/dist/build-components/SystemButton/usePlacementButtonEvents.d.ts +2 -15
  10. package/dist/build-components/index.d.ts +1 -3
  11. package/dist/build-components/patterns.generated.d.ts +1334 -2129
  12. package/dist/components/DeviceButton.d.ts +2 -1
  13. package/dist/index.cjs.js +28 -1
  14. package/dist/index.cjs.js.map +1 -1
  15. package/dist/index.esm.js +28 -1
  16. package/dist/index.esm.js.map +1 -1
  17. package/dist/index.web.cjs.js +4 -4
  18. package/dist/index.web.cjs.js.map +1 -1
  19. package/dist/index.web.esm.js +3 -3
  20. package/dist/index.web.esm.js.map +1 -1
  21. package/dist/modals/CreateDeviceModal.d.ts +8 -0
  22. package/dist/product-base/periodLocalizationKeys.d.ts +16 -0
  23. package/dist/store/customDeviceStore.d.ts +21 -0
  24. package/dist/store.d.ts +1 -1
  25. package/dist/styles.css +1 -1
  26. package/dist/utils/nodeTree.d.ts +0 -18
  27. package/package.json +1 -1
  28. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +4 -68
  29. package/src/.DS_Store +0 -0
  30. package/src/assets/.DS_Store +0 -0
  31. package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
  32. package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
  33. package/src/assets/samples/getSamples.ts +0 -2
  34. package/src/assets/samples/terms-and-privacy-no-form.json +1 -1
  35. package/src/assets/samples/terms-and-privacy.json +1 -1
  36. package/src/attributes-editor/AttributesEditorView.tsx +0 -3
  37. package/src/attributes-editor/Field.tsx +2 -91
  38. package/src/attributes-editor/attributesEditorModelTypes.ts +0 -3
  39. package/src/attributes-editor/useAttributesEditorModel.ts +0 -8
  40. package/src/build-components/FormCheckbox/FormCheckbox.tsx +3 -3
  41. package/src/build-components/FormSubmitButton/FormSubmitButton.tsx +0 -6
  42. package/src/build-components/FormSubmitButton/FormSubmitButtonProps.generated.ts +3 -26
  43. package/src/build-components/OnboardButton/OnboardButton.tsx +1 -8
  44. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +3 -26
  45. package/src/build-components/OnboardButton/pattern.json +3 -5
  46. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +0 -12
  47. package/src/build-components/OnboardProvider/pattern.json +1 -9
  48. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +0 -12
  49. package/src/build-components/PaywallProvider/pattern.json +1 -9
  50. package/src/build-components/RenderNode.generated.tsx +0 -10
  51. package/src/build-components/SystemButton/SystemButton.tsx +0 -6
  52. package/src/build-components/SystemButton/SystemButtonProps.generated.ts +3 -26
  53. package/src/build-components/SystemButton/pattern.json +3 -5
  54. package/src/build-components/SystemButton/usePlacementButtonEvents.ts +27 -51
  55. package/src/build-components/Text/Text.tsx +2 -3
  56. package/src/build-components/index.ts +0 -10
  57. package/src/build-components/patterns.generated.ts +1379 -2270
  58. package/src/components/AttributesEditorPanel.tsx +0 -1
  59. package/src/components/DeviceButton.tsx +34 -1
  60. package/src/components/EditorHeader.tsx +22 -4
  61. package/src/modals/CreateDeviceModal.tsx +264 -0
  62. package/src/modals/DeviceSelectorModal.tsx +44 -7
  63. package/src/product-base/extractIOSParams.ts +10 -4
  64. package/src/product-base/periodLocalizationKeys.ts +46 -0
  65. package/src/store/customDeviceStore.ts +38 -0
  66. package/src/styles/components/_editor-shell.scss +12 -2
  67. package/src/styles/index.scss +1 -1
  68. package/src/styles/modals/_create-device.scss +113 -0
  69. package/src/utils/__special_exceptions.ts +8 -0
  70. package/src/utils/analyseNodeByPatterns.ts +10 -6
  71. package/src/utils/nodeTree.ts +0 -115
  72. package/dist/build-components/GlobalProvider/GlobalContext.d.ts +0 -28
  73. package/dist/build-components/GlobalProvider/GlobalProvider.d.ts +0 -5
  74. package/dist/build-components/GlobalProvider/GlobalProviderProps.generated.d.ts +0 -60
  75. package/dist/build-components/GlobalProvider/globalProviderUtils.d.ts +0 -28
  76. package/dist/build-components/GlobalProvider/useGlobalNavigation.d.ts +0 -19
  77. package/dist/build-components/GlobalProvider/useGlobalProviderLogic.d.ts +0 -15
  78. package/dist/build-components/TermsProvider/TermsProvider.d.ts +0 -5
  79. package/dist/build-components/TermsProvider/TermsProviderProps.generated.d.ts +0 -55
  80. package/src/assets/samples/global-onboard-flow.json +0 -735
  81. package/src/build-components/GlobalProvider/GlobalContext.ts +0 -48
  82. package/src/build-components/GlobalProvider/GlobalProvider.tsx +0 -51
  83. package/src/build-components/GlobalProvider/GlobalProviderProps.generated.ts +0 -78
  84. package/src/build-components/GlobalProvider/globalProviderUtils.ts +0 -204
  85. package/src/build-components/GlobalProvider/pattern.json +0 -55
  86. package/src/build-components/GlobalProvider/useGlobalNavigation.ts +0 -65
  87. package/src/build-components/GlobalProvider/useGlobalProviderLogic.ts +0 -172
  88. package/src/build-components/TermsProvider/TermsProvider.tsx +0 -45
  89. package/src/build-components/TermsProvider/TermsProviderProps.generated.ts +0 -82
  90. package/src/build-components/TermsProvider/pattern.json +0 -35
  91. package/src/patterns/event-constants.json +0 -19
  92. package/src/styles/components/_global-provider.scss +0 -131
@@ -5621,23 +5621,11 @@ export const patterns = [
5621
5621
  },
5622
5622
  types: {
5623
5623
  EventObject: {
5624
- type: ['Permission', 'Navigate', 'Placement', 'SetCondition'],
5625
- permission: [
5626
- 'notification',
5627
- 'camera',
5628
- 'microphone',
5629
- 'location',
5630
- 'photos',
5631
- 'contacts',
5632
- 'att',
5633
- 'rating',
5634
- 'GDPR',
5635
- ],
5624
+ type: ['Permission', 'Navigate', 'Placement'],
5625
+ permission: 'string',
5636
5626
  navigate_to: 'string',
5637
5627
  targetIndex: 'number',
5638
- placementKey: ['terms', 'onboard', 'paywall', 'subscription', 'home'],
5639
- conditionKey: ['termsAccepted'],
5640
- value: 'boolean',
5628
+ placementKey: 'string',
5641
5629
  },
5642
5630
  },
5643
5631
  meta: {
@@ -6031,10 +6019,10 @@ export const patterns = [
6031
6019
  {
6032
6020
  schemaVersion: 2,
6033
6021
  pattern: {
6034
- type: 'GlobalProvider',
6022
+ type: 'Image',
6035
6023
  title: 'title',
6036
6024
  description: 'description',
6037
- children: 'node',
6025
+ children: 'never',
6038
6026
  attributes: {
6039
6027
  scrollable: 'boolean',
6040
6028
  styles: {
@@ -6085,18 +6073,17 @@ export const patterns = [
6085
6073
  left: 'size',
6086
6074
  right: 'size',
6087
6075
  zIndex: 'number',
6076
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
6088
6077
  },
6089
6078
  testID: 'string',
6090
- initialPage: 'string',
6091
- persistProgress: 'boolean',
6092
- skipConditions: 'SkipConditionEntry[]',
6079
+ src: 'string',
6080
+ fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
6093
6081
  },
6094
6082
  },
6095
6083
  meta: {
6096
- desiredParent: ['root'],
6097
- label: 'Global Provider',
6098
- description:
6099
- 'Top-level provider that manages multi-page flow (Terms → Onboard → Paywall). Each direct child is treated as a page.',
6084
+ desiredParent: ['all'],
6085
+ label: 'Image',
6086
+ description: 'Shows an image or graphic.',
6100
6087
  specialCategories: {
6101
6088
  padding: {
6102
6089
  label: 'Padding',
@@ -6397,32 +6384,31 @@ export const patterns = [
6397
6384
  sort: 26,
6398
6385
  },
6399
6386
  },
6400
- initialPage: {
6401
- label: 'Initial Page Key',
6402
- description:
6403
- 'The page key to show first. Defaults to the first child.',
6387
+ src: {
6388
+ label: 'Src',
6389
+ description: 'Image source URL.',
6404
6390
  category: 'other',
6405
6391
  specialCategory: null,
6406
6392
  sort: 1,
6407
6393
  },
6408
- persistProgress: {
6409
- label: 'Persist Progress',
6394
+ fetchStrategy: {
6395
+ label: 'Fetch Strategy',
6410
6396
  description:
6411
- 'Save current page and conditions to localStorage so the user continues from where they left off.',
6397
+ "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
6412
6398
  category: 'other',
6413
6399
  specialCategory: null,
6414
6400
  sort: 2,
6415
6401
  },
6416
- skipConditions: {
6417
- label: 'Skip Conditions',
6418
- description:
6419
- 'List of page skip rules. Each entry maps a pageKey to a conditionKey: when conditions[conditionKey] is true, that page is skipped on navigate.',
6420
- category: 'other',
6402
+ },
6403
+ styles: {
6404
+ resizeMode: {
6405
+ label: 'Resize Mode',
6406
+ description: 'How the image fits the frame.',
6407
+ category: 'style',
6421
6408
  specialCategory: null,
6422
- sort: 3,
6409
+ sort: 4,
6423
6410
  },
6424
6411
  },
6425
- styles: {},
6426
6412
  },
6427
6413
  defaults: {
6428
6414
  styles: {
@@ -6432,20 +6418,19 @@ export const patterns = [
6432
6418
  alignSelf: 'flex-start',
6433
6419
  flexGrow: 0,
6434
6420
  flexShrink: 0,
6435
- flex: 1,
6421
+ resizeMode: 'contain',
6436
6422
  },
6423
+ fetchStrategy: 'normal',
6437
6424
  },
6438
- types: {
6439
- SkipConditionEntry: { pageKey: 'string', conditionKey: 'string' },
6440
- },
6425
+ types: {},
6441
6426
  },
6442
6427
  {
6443
6428
  schemaVersion: 2,
6444
6429
  pattern: {
6445
- type: 'Image',
6430
+ type: 'Main',
6446
6431
  title: 'title',
6447
6432
  description: 'description',
6448
- children: 'never',
6433
+ children: 'node',
6449
6434
  attributes: {
6450
6435
  scrollable: 'boolean',
6451
6436
  styles: {
@@ -6496,17 +6481,15 @@ export const patterns = [
6496
6481
  left: 'size',
6497
6482
  right: 'size',
6498
6483
  zIndex: 'number',
6499
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
6500
6484
  },
6501
6485
  testID: 'string',
6502
- src: 'string',
6503
- fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
6486
+ useSafeAreaView: 'boolean',
6504
6487
  },
6505
6488
  },
6506
6489
  meta: {
6507
- desiredParent: ['all'],
6508
- label: 'Image',
6509
- description: 'Shows an image or graphic.',
6490
+ desiredParent: ['root'],
6491
+ label: 'Main',
6492
+ description: 'Top-level screen wrapper (safe area, base layout).',
6510
6493
  specialCategories: {
6511
6494
  padding: {
6512
6495
  label: 'Padding',
@@ -6807,31 +6790,18 @@ export const patterns = [
6807
6790
  sort: 26,
6808
6791
  },
6809
6792
  },
6810
- src: {
6811
- label: 'Src',
6812
- description: 'Image source URL.',
6813
- category: 'other',
6814
- specialCategory: null,
6815
- sort: 1,
6816
- },
6817
- fetchStrategy: {
6818
- label: 'Fetch Strategy',
6793
+ useSafeAreaView: {
6794
+ label: 'Use Safe Area View',
6819
6795
  description:
6820
- "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
6821
- category: 'other',
6822
- specialCategory: null,
6823
- sort: 2,
6824
- },
6825
- },
6826
- styles: {
6827
- resizeMode: {
6828
- label: 'Resize Mode',
6829
- description: 'How the image fits the frame.',
6830
- category: 'style',
6796
+ 'Wraps content with a safe-area-aware container (when supported by the target).',
6797
+ category: 'container',
6831
6798
  specialCategory: null,
6832
- sort: 4,
6799
+ sort: 1,
6800
+ forceVisible: true,
6833
6801
  },
6834
6802
  },
6803
+ hideAllAttributes: true,
6804
+ styles: {},
6835
6805
  },
6836
6806
  defaults: {
6837
6807
  styles: {
@@ -6841,16 +6811,55 @@ export const patterns = [
6841
6811
  alignSelf: 'flex-start',
6842
6812
  flexGrow: 0,
6843
6813
  flexShrink: 0,
6844
- resizeMode: 'contain',
6814
+ width: '100%',
6815
+ height: '100%',
6816
+ flex: 1,
6845
6817
  },
6846
- fetchStrategy: 'normal',
6818
+ useSafeAreaView: true,
6847
6819
  },
6848
6820
  types: {},
6849
6821
  },
6850
6822
  {
6851
6823
  schemaVersion: 2,
6852
6824
  pattern: {
6853
- type: 'Main',
6825
+ type: 'NavigationBarColor',
6826
+ title: 'title',
6827
+ description: 'description',
6828
+ children: 'never',
6829
+ attributes: {
6830
+ styles: { backgroundColor: 'color' },
6831
+ translucent: 'boolean',
6832
+ },
6833
+ },
6834
+ meta: {
6835
+ desiredParent: ['all'],
6836
+ label: 'Navigation Bar Color',
6837
+ description: 'Sets the OS navigation bar background color.',
6838
+ styles: {
6839
+ backgroundColor: {
6840
+ label: 'Background Color',
6841
+ description: 'Navigation bar background color.',
6842
+ category: 'style',
6843
+ specialCategory: null,
6844
+ sort: 1,
6845
+ },
6846
+ },
6847
+ attributes: {
6848
+ translucent: {
6849
+ label: 'Translucent',
6850
+ description: 'Sets the navigation bar to translucent.',
6851
+ category: 'style',
6852
+ specialCategory: null,
6853
+ sort: 2,
6854
+ },
6855
+ },
6856
+ },
6857
+ defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
6858
+ },
6859
+ {
6860
+ schemaVersion: 2,
6861
+ pattern: {
6862
+ type: 'Onboard',
6854
6863
  title: 'title',
6855
6864
  description: 'description',
6856
6865
  children: 'node',
@@ -6906,13 +6915,12 @@ export const patterns = [
6906
6915
  zIndex: 'number',
6907
6916
  },
6908
6917
  testID: 'string',
6909
- useSafeAreaView: 'boolean',
6910
6918
  },
6911
6919
  },
6912
6920
  meta: {
6913
- desiredParent: ['root'],
6914
- label: 'Main',
6915
- description: 'Top-level screen wrapper (safe area, base layout).',
6921
+ desiredParent: ['=OnboardProvider'],
6922
+ label: 'Onboard',
6923
+ description: 'Wraps the onboarding flow.',
6916
6924
  specialCategories: {
6917
6925
  padding: {
6918
6926
  label: 'Padding',
@@ -7213,82 +7221,42 @@ export const patterns = [
7213
7221
  sort: 26,
7214
7222
  },
7215
7223
  },
7216
- useSafeAreaView: {
7217
- label: 'Use Safe Area View',
7218
- description:
7219
- 'Wraps content with a safe-area-aware container (when supported by the target).',
7220
- category: 'container',
7221
- specialCategory: null,
7222
- sort: 1,
7223
- forceVisible: true,
7224
- },
7225
7224
  },
7226
- hideAllAttributes: true,
7225
+ desiredChildren: ['=OnboardItem'],
7227
7226
  styles: {},
7228
7227
  },
7229
7228
  defaults: {
7230
7229
  styles: {
7231
- flexDirection: 'column',
7230
+ flexDirection: 'row',
7232
7231
  position: 'relative',
7233
7232
  zIndex: 1,
7234
7233
  alignSelf: 'flex-start',
7235
7234
  flexGrow: 0,
7236
7235
  flexShrink: 0,
7237
- width: '100%',
7238
- height: '100%',
7239
- flex: 1,
7240
7236
  },
7241
- useSafeAreaView: true,
7242
7237
  },
7243
7238
  types: {},
7244
7239
  },
7245
7240
  {
7246
7241
  schemaVersion: 2,
7247
7242
  pattern: {
7248
- type: 'NavigationBarColor',
7243
+ type: 'OnboardButton',
7249
7244
  title: 'title',
7250
7245
  description: 'description',
7251
7246
  children: 'never',
7252
7247
  attributes: {
7253
- styles: { backgroundColor: 'color' },
7254
- translucent: 'boolean',
7255
- },
7256
- },
7257
- meta: {
7258
- desiredParent: ['all'],
7259
- label: 'Navigation Bar Color',
7260
- description: 'Sets the OS navigation bar background color.',
7261
- styles: {
7262
- backgroundColor: {
7263
- label: 'Background Color',
7264
- description: 'Navigation bar background color.',
7265
- category: 'style',
7266
- specialCategory: null,
7267
- sort: 1,
7268
- },
7269
- },
7270
- attributes: {
7271
- translucent: {
7272
- label: 'Translucent',
7273
- description: 'Sets the navigation bar to translucent.',
7274
- category: 'style',
7275
- specialCategory: null,
7276
- sort: 2,
7277
- },
7278
- },
7279
- },
7280
- defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
7281
- },
7282
- {
7283
- schemaVersion: 2,
7284
- pattern: {
7285
- type: 'Onboard',
7286
- title: 'title',
7287
- description: 'description',
7288
- children: 'node',
7289
- attributes: {
7290
- scrollable: 'boolean',
7248
+ labelKey: 'string',
7249
+ events: 'EventObject[]',
7250
+ testID: ['onboardSkip', 'onboardNext'],
7291
7251
  styles: {
7252
+ color: 'color',
7253
+ backgroundColor: 'color',
7254
+ height: 'size',
7255
+ borderRadius: 'size',
7256
+ fontSize: 'size',
7257
+ fontWeight: 'fontWeight',
7258
+ fontFamily: 'fontFamily',
7259
+ textAlign: 'string',
7292
7260
  flexDirection: ['row', 'column'],
7293
7261
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7294
7262
  alignItems: [
@@ -7321,12 +7289,9 @@ export const patterns = [
7321
7289
  marginBottom: 'size',
7322
7290
  marginLeft: 'size',
7323
7291
  marginRight: 'size',
7324
- backgroundColor: 'color',
7325
- borderRadius: 'size',
7326
7292
  width: 'size',
7327
7293
  minWidth: 'size',
7328
7294
  maxWidth: 'size',
7329
- height: 'size',
7330
7295
  minHeight: 'size',
7331
7296
  maxHeight: 'size',
7332
7297
  flex: 'number',
@@ -7337,40 +7302,82 @@ export const patterns = [
7337
7302
  right: 'size',
7338
7303
  zIndex: 'number',
7339
7304
  },
7340
- testID: 'string',
7305
+ adjustsFontSizeToFit: 'boolean',
7306
+ numberOfLines: 'number',
7307
+ translateCounter: 'number',
7308
+ scrollable: 'boolean',
7309
+ animation: [
7310
+ 'simple-animation',
7311
+ 'line-animation',
7312
+ 'blur',
7313
+ 'blur-animation',
7314
+ 'blur-line-animation',
7315
+ ],
7316
+ animation_color: 'color',
7317
+ },
7318
+ },
7319
+ defaults: {
7320
+ attributes: { labelKey: 'Button' },
7321
+ styles: {
7322
+ height: '40@vs',
7323
+ borderRadius: '12@s',
7324
+ backgroundColor: 'THEME_COLORS.SYSTEM_BUTTON_BACKGROUND',
7325
+ color: 'THEME_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT',
7326
+ fontSize: '16@fs',
7327
+ fontWeight: '400',
7328
+ flexDirection: 'column',
7329
+ position: 'relative',
7330
+ zIndex: 1,
7331
+ alignSelf: 'flex-start',
7332
+ flexGrow: 0,
7333
+ flexShrink: 0,
7334
+ },
7335
+ translateCounter: 1,
7336
+ numberOfLines: 1,
7337
+ },
7338
+ types: {
7339
+ EventObject: {
7340
+ type: ['Permission', 'Navigate', 'Placement'],
7341
+ permission: 'string',
7342
+ navigate_to: 'string',
7343
+ targetIndex: 'number',
7344
+ placementKey: 'string',
7341
7345
  },
7342
7346
  },
7343
7347
  meta: {
7344
- desiredParent: ['=OnboardProvider'],
7345
- label: 'Onboard',
7346
- description: 'Wraps the onboarding flow.',
7347
- specialCategories: {
7348
- padding: {
7349
- label: 'Padding',
7350
- description: 'Uniform padding on all sides.',
7351
- category: 'container',
7348
+ label: 'Onboard Button',
7349
+ description: 'Single action button for onboard.',
7350
+ attributes: {
7351
+ labelKey: {
7352
+ label: 'Label Key',
7353
+ description: 'Localization key for the button text.',
7354
+ category: 'other',
7355
+ specialCategory: null,
7352
7356
  sort: 1,
7353
7357
  },
7354
- margin: {
7355
- label: 'Margin',
7356
- description: 'Uniform margin on all sides.',
7357
- category: 'container',
7358
- sort: 2,
7358
+ events: {
7359
+ label: 'Events',
7360
+ description: 'List of events fired by the button.',
7361
+ category: 'other',
7362
+ specialCategory: null,
7363
+ sort: 7,
7359
7364
  },
7360
- size: {
7361
- label: 'Size',
7362
- description: 'Fixed dimensions.',
7363
- category: 'container',
7364
- sort: 3,
7365
+ adjustsFontSizeToFit: {
7366
+ label: 'Adjust Font Size To Fit',
7367
+ description:
7368
+ 'Automatically reduces font size to fit the available space.',
7369
+ category: 'other',
7370
+ specialCategory: null,
7371
+ sort: 1,
7365
7372
  },
7366
- offset: {
7367
- label: 'Offset',
7368
- description: 'Absolute positioning offsets.',
7369
- category: 'container',
7370
- sort: 4,
7373
+ showEllipsis: {
7374
+ label: 'Show Ellipsis',
7375
+ description:
7376
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7377
+ category: 'other',
7378
+ specialCategory: null,
7379
+ sort: 2,
7371
7380
  },
7372
- },
7373
- attributes: {
7374
7381
  scrollable: {
7375
7382
  label: 'Scrollable',
7376
7383
  description: 'Turns scroll interaction on.',
@@ -7643,43 +7650,106 @@ export const patterns = [
7643
7650
  specialCategory: null,
7644
7651
  sort: 26,
7645
7652
  },
7653
+ color: {
7654
+ label: 'Color',
7655
+ description: 'Text color.',
7656
+ category: 'style',
7657
+ specialCategory: null,
7658
+ sort: 1,
7659
+ },
7660
+ },
7661
+ animation: {
7662
+ label: 'Animation',
7663
+ description: 'Animation style for the button.',
7664
+ category: 'style',
7665
+ specialCategory: null,
7666
+ sort: 3,
7667
+ },
7668
+ animation_color: {
7669
+ label: 'Animation Color',
7670
+ description: 'Color used by the animation.',
7671
+ category: 'style',
7672
+ specialCategory: null,
7673
+ sort: 4,
7646
7674
  },
7647
7675
  },
7648
- desiredChildren: ['=OnboardItem'],
7649
- styles: {},
7650
- },
7651
- defaults: {
7676
+ desiredParent: ['=OnboardButtons'],
7652
7677
  styles: {
7653
- flexDirection: 'row',
7654
- position: 'relative',
7655
- zIndex: 1,
7656
- alignSelf: 'flex-start',
7657
- flexGrow: 0,
7658
- flexShrink: 0,
7678
+ color: {
7679
+ label: 'Color',
7680
+ description: 'Text color.',
7681
+ category: 'style',
7682
+ specialCategory: null,
7683
+ sort: 1,
7684
+ },
7685
+ fontSize: {
7686
+ label: 'Font Size',
7687
+ description: 'Text size.',
7688
+ category: 'style',
7689
+ specialCategory: null,
7690
+ sort: 2,
7691
+ preferredScale: 'f',
7692
+ },
7693
+ fontFamily: {
7694
+ label: 'Font Family',
7695
+ description: 'Font family used for the text.',
7696
+ category: 'style',
7697
+ specialCategory: null,
7698
+ sort: 3,
7699
+ },
7700
+ fontWeight: {
7701
+ label: 'Font Weight',
7702
+ description: 'Text weight.',
7703
+ category: 'style',
7704
+ specialCategory: null,
7705
+ sort: 4,
7706
+ },
7707
+ textAlign: {
7708
+ label: 'Text Align',
7709
+ description: 'Text alignment.',
7710
+ category: 'style',
7711
+ specialCategory: null,
7712
+ sort: 5,
7713
+ },
7714
+ },
7715
+ specialCategories: {
7716
+ padding: {
7717
+ label: 'Padding',
7718
+ description: 'Uniform padding on all sides.',
7719
+ category: 'container',
7720
+ sort: 1,
7721
+ },
7722
+ margin: {
7723
+ label: 'Margin',
7724
+ description: 'Uniform margin on all sides.',
7725
+ category: 'container',
7726
+ sort: 2,
7727
+ },
7728
+ size: {
7729
+ label: 'Size',
7730
+ description: 'Fixed dimensions.',
7731
+ category: 'container',
7732
+ sort: 3,
7733
+ },
7734
+ offset: {
7735
+ label: 'Offset',
7736
+ description: 'Absolute positioning offsets.',
7737
+ category: 'container',
7738
+ sort: 4,
7739
+ },
7659
7740
  },
7660
7741
  },
7661
- types: {},
7662
7742
  },
7663
7743
  {
7664
7744
  schemaVersion: 2,
7665
7745
  pattern: {
7666
- type: 'OnboardButton',
7746
+ type: 'OnboardButtons',
7667
7747
  title: 'title',
7668
7748
  description: 'description',
7669
- children: 'never',
7749
+ children: 'node',
7670
7750
  attributes: {
7671
- labelKey: 'string',
7672
- events: 'EventObject[]',
7673
- testID: ['onboardSkip', 'onboardNext'],
7751
+ scrollable: 'boolean',
7674
7752
  styles: {
7675
- color: 'color',
7676
- backgroundColor: 'color',
7677
- height: 'size',
7678
- borderRadius: 'size',
7679
- fontSize: 'size',
7680
- fontWeight: 'fontWeight',
7681
- fontFamily: 'fontFamily',
7682
- textAlign: 'string',
7683
7753
  flexDirection: ['row', 'column'],
7684
7754
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
7685
7755
  alignItems: [
@@ -7712,9 +7782,12 @@ export const patterns = [
7712
7782
  marginBottom: 'size',
7713
7783
  marginLeft: 'size',
7714
7784
  marginRight: 'size',
7785
+ backgroundColor: 'color',
7786
+ borderRadius: 'size',
7715
7787
  width: 'size',
7716
7788
  minWidth: 'size',
7717
7789
  maxWidth: 'size',
7790
+ height: 'size',
7718
7791
  minHeight: 'size',
7719
7792
  maxHeight: 'size',
7720
7793
  flex: 'number',
@@ -7725,94 +7798,47 @@ export const patterns = [
7725
7798
  right: 'size',
7726
7799
  zIndex: 'number',
7727
7800
  },
7728
- adjustsFontSizeToFit: 'boolean',
7729
- numberOfLines: 'number',
7730
- translateCounter: 'number',
7731
- scrollable: 'boolean',
7732
- animation: [
7733
- 'simple-animation',
7734
- 'line-animation',
7735
- 'blur',
7736
- 'blur-animation',
7737
- 'blur-line-animation',
7738
- ],
7739
- animation_color: 'color',
7740
- },
7741
- },
7742
- defaults: {
7743
- attributes: { labelKey: 'Button' },
7744
- styles: {
7745
- height: '40@vs',
7746
- borderRadius: '12@s',
7747
- backgroundColor: 'THEME_COLORS.SYSTEM_BUTTON_BACKGROUND',
7748
- color: 'THEME_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT',
7749
- fontSize: '16@fs',
7750
- fontWeight: '400',
7751
- flexDirection: 'column',
7752
- position: 'relative',
7753
- zIndex: 1,
7754
- alignSelf: 'flex-start',
7755
- flexGrow: 0,
7756
- flexShrink: 0,
7757
- },
7758
- translateCounter: 1,
7759
- numberOfLines: 1,
7760
- },
7761
- types: {
7762
- EventObject: {
7763
- type: ['Permission', 'Navigate', 'Placement', 'SetCondition'],
7764
- permission: [
7765
- 'notification',
7766
- 'camera',
7767
- 'microphone',
7768
- 'location',
7769
- 'photos',
7770
- 'contacts',
7771
- 'att',
7772
- 'rating',
7773
- 'GDPR',
7774
- ],
7775
- navigate_to: 'string',
7776
- targetIndex: 'number',
7777
- placementKey: ['terms', 'onboard', 'paywall', 'subscription', 'home'],
7778
- conditionKey: ['termsAccepted'],
7779
- value: 'boolean',
7801
+ testID: 'string',
7802
+ buttonType: ['previous_button', 'next_button', 'skip_button'],
7803
+ skipNumber: 'number',
7804
+ buttons_direction: ['row', 'column'],
7805
+ forIndex: 'number',
7806
+ seperatorColor: 'color',
7807
+ condition: ['carousel-index'],
7808
+ conditionVariable: 'number',
7780
7809
  },
7781
7810
  },
7782
7811
  meta: {
7783
- label: 'Onboard Button',
7784
- description: 'Single action button for onboard.',
7785
- attributes: {
7786
- labelKey: {
7787
- label: 'Label Key',
7788
- description: 'Localization key for the button text.',
7789
- category: 'other',
7790
- specialCategory: null,
7812
+ desiredParent: ['=OnboardItem'],
7813
+ label: 'Onboard Buttons',
7814
+ description: 'Wrapper for onboarding button set.',
7815
+ specialCategories: {
7816
+ padding: {
7817
+ label: 'Padding',
7818
+ description: 'Uniform padding on all sides.',
7819
+ category: 'container',
7791
7820
  sort: 1,
7792
7821
  },
7793
- events: {
7794
- label: 'Events',
7795
- description: 'List of events fired by the button.',
7796
- category: 'other',
7797
- specialCategory: null,
7798
- sort: 7,
7822
+ margin: {
7823
+ label: 'Margin',
7824
+ description: 'Uniform margin on all sides.',
7825
+ category: 'container',
7826
+ sort: 2,
7799
7827
  },
7800
- adjustsFontSizeToFit: {
7801
- label: 'Adjust Font Size To Fit',
7802
- description:
7803
- 'Automatically reduces font size to fit the available space.',
7804
- category: 'other',
7805
- specialCategory: null,
7806
- sort: 1,
7828
+ size: {
7829
+ label: 'Size',
7830
+ description: 'Fixed dimensions.',
7831
+ category: 'container',
7832
+ sort: 3,
7807
7833
  },
7808
- showEllipsis: {
7809
- label: 'Show Ellipsis',
7810
- description:
7811
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
7812
- category: 'other',
7813
- specialCategory: null,
7814
- sort: 2,
7834
+ offset: {
7835
+ label: 'Offset',
7836
+ description: 'Absolute positioning offsets.',
7837
+ category: 'container',
7838
+ sort: 4,
7815
7839
  },
7840
+ },
7841
+ attributes: {
7816
7842
  scrollable: {
7817
7843
  label: 'Scrollable',
7818
7844
  description: 'Turns scroll interaction on.',
@@ -8085,103 +8111,84 @@ export const patterns = [
8085
8111
  specialCategory: null,
8086
8112
  sort: 26,
8087
8113
  },
8088
- color: {
8089
- label: 'Color',
8090
- description: 'Text color.',
8091
- category: 'style',
8092
- specialCategory: null,
8093
- sort: 1,
8094
- },
8095
- },
8096
- animation: {
8097
- label: 'Animation',
8098
- description: 'Animation style for the button.',
8099
- category: 'style',
8100
- specialCategory: null,
8101
- sort: 3,
8102
8114
  },
8103
- animation_color: {
8104
- label: 'Animation Color',
8105
- description: 'Color used by the animation.',
8115
+ seperatorColor: {
8116
+ label: 'Seperator Color',
8117
+ description: 'Color of the divider line.',
8106
8118
  category: 'style',
8107
8119
  specialCategory: null,
8108
- sort: 4,
8120
+ sort: 5,
8109
8121
  },
8110
- },
8111
- desiredParent: ['=OnboardButtons'],
8112
- styles: {
8113
- color: {
8114
- label: 'Color',
8115
- description: 'Text color.',
8116
- category: 'style',
8122
+ buttonType: {
8123
+ label: 'Button Type',
8124
+ description: 'Which onboard button to show.',
8125
+ category: 'other',
8117
8126
  specialCategory: null,
8118
8127
  sort: 1,
8119
8128
  },
8120
- fontSize: {
8121
- label: 'Font Size',
8122
- description: 'Text size.',
8123
- category: 'style',
8129
+ skipNumber: {
8130
+ label: 'Skip Number',
8131
+ description: 'Slide index to skip to.',
8132
+ category: 'other',
8124
8133
  specialCategory: null,
8125
8134
  sort: 2,
8126
- preferredScale: 'f',
8127
8135
  },
8128
- fontFamily: {
8129
- label: 'Font Family',
8130
- description: 'Font family used for the text.',
8131
- category: 'style',
8136
+ buttons_direction: {
8137
+ label: 'Buttons Direction',
8138
+ description: 'Direction to lay out buttons.',
8139
+ category: 'container',
8132
8140
  specialCategory: null,
8133
8141
  sort: 3,
8134
8142
  },
8135
- fontWeight: {
8136
- label: 'Font Weight',
8137
- description: 'Text weight.',
8138
- category: 'style',
8143
+ forIndex: {
8144
+ label: 'For Index',
8145
+ description: 'Show only for this slide index.',
8146
+ category: 'other',
8139
8147
  specialCategory: null,
8140
8148
  sort: 4,
8141
8149
  },
8142
- textAlign: {
8143
- label: 'Text Align',
8144
- description: 'Text alignment.',
8145
- category: 'style',
8150
+ condition: {
8151
+ label: 'Condition',
8152
+ description: 'Built-in condition to check.',
8153
+ category: 'other',
8146
8154
  specialCategory: null,
8147
- sort: 5,
8148
- },
8149
- },
8150
- specialCategories: {
8151
- padding: {
8152
- label: 'Padding',
8153
- description: 'Uniform padding on all sides.',
8154
- category: 'container',
8155
- sort: 1,
8156
- },
8157
- margin: {
8158
- label: 'Margin',
8159
- description: 'Uniform margin on all sides.',
8160
- category: 'container',
8161
- sort: 2,
8162
- },
8163
- size: {
8164
- label: 'Size',
8165
- description: 'Fixed dimensions.',
8166
- category: 'container',
8167
- sort: 3,
8155
+ sort: 6,
8168
8156
  },
8169
- offset: {
8170
- label: 'Offset',
8171
- description: 'Absolute positioning offsets.',
8172
- category: 'container',
8173
- sort: 4,
8157
+ conditionVariable: {
8158
+ label: 'Condition Variable',
8159
+ description: 'Value used when checking the condition.',
8160
+ category: 'other',
8161
+ specialCategory: null,
8162
+ sort: 7,
8174
8163
  },
8175
8164
  },
8165
+ styles: {},
8166
+ },
8167
+ defaults: {
8168
+ styles: {
8169
+ flexDirection: 'row',
8170
+ position: 'relative',
8171
+ zIndex: 1,
8172
+ alignSelf: 'flex-start',
8173
+ flexGrow: 0,
8174
+ flexShrink: 0,
8175
+ display: 'flex',
8176
+ gap: 12,
8177
+ alignItems: 'center',
8178
+ justifyContent: 'center',
8179
+ marginVertical: '12@vs',
8180
+ marginHorizontal: '24@s',
8181
+ },
8176
8182
  },
8183
+ types: {},
8177
8184
  },
8178
8185
  {
8179
8186
  schemaVersion: 2,
8180
8187
  pattern: {
8181
- type: 'OnboardButtons',
8188
+ type: 'OnboardDot',
8182
8189
  title: 'title',
8183
8190
  description: 'description',
8184
- children: 'node',
8191
+ children: 'never',
8185
8192
  attributes: {
8186
8193
  scrollable: 'boolean',
8187
8194
  styles: {
@@ -8234,19 +8241,27 @@ export const patterns = [
8234
8241
  zIndex: 'number',
8235
8242
  },
8236
8243
  testID: 'string',
8237
- buttonType: ['previous_button', 'next_button', 'skip_button'],
8238
- skipNumber: 'number',
8239
- buttons_direction: ['row', 'column'],
8240
- forIndex: 'number',
8241
- seperatorColor: 'color',
8242
- condition: ['carousel-index'],
8243
- conditionVariable: 'number',
8244
+ dotType: [
8245
+ 'expanding_dot',
8246
+ 'normal_dot',
8247
+ 'scaling_dot',
8248
+ 'sliding_border',
8249
+ 'sliding_dot',
8250
+ 'liquid_like',
8251
+ ],
8252
+ flexDirection: 'never',
8253
+ alignItems: 'never',
8254
+ justifyContent: 'never',
8255
+ dot_thickness: 'size',
8256
+ inactive_dot_opacity: 'number',
8257
+ inactive_dot_color: 'color',
8258
+ active_dot_color: 'color',
8244
8259
  },
8245
8260
  },
8246
8261
  meta: {
8247
- desiredParent: ['=OnboardItem'],
8248
- label: 'Onboard Buttons',
8249
- description: 'Wrapper for onboarding button set.',
8262
+ desiredParent: ['>OnboardProvider'],
8263
+ label: 'Onboard Dot',
8264
+ description: 'Renders onboarding progress dots.',
8250
8265
  specialCategories: {
8251
8266
  padding: {
8252
8267
  label: 'Padding',
@@ -8547,54 +8562,40 @@ export const patterns = [
8547
8562
  sort: 26,
8548
8563
  },
8549
8564
  },
8550
- seperatorColor: {
8551
- label: 'Seperator Color',
8552
- description: 'Color of the divider line.',
8565
+ dotType: {
8566
+ label: 'Dot Type',
8567
+ description: 'Dot animation style.',
8553
8568
  category: 'style',
8554
8569
  specialCategory: null,
8555
- sort: 5,
8556
- },
8557
- buttonType: {
8558
- label: 'Button Type',
8559
- description: 'Which onboard button to show.',
8560
- category: 'other',
8561
- specialCategory: null,
8562
8570
  sort: 1,
8563
8571
  },
8564
- skipNumber: {
8565
- label: 'Skip Number',
8566
- description: 'Slide index to skip to.',
8567
- category: 'other',
8572
+ dot_thickness: {
8573
+ label: 'Dot Thickness',
8574
+ description: 'Dot size/diameter.',
8575
+ category: 'style',
8568
8576
  specialCategory: null,
8569
8577
  sort: 2,
8570
8578
  },
8571
- buttons_direction: {
8572
- label: 'Buttons Direction',
8573
- description: 'Direction to lay out buttons.',
8574
- category: 'container',
8579
+ inactive_dot_opacity: {
8580
+ label: 'Inactive Dot Opacity',
8581
+ description: 'Opacity for inactive dots.',
8582
+ category: 'style',
8575
8583
  specialCategory: null,
8576
8584
  sort: 3,
8577
8585
  },
8578
- forIndex: {
8579
- label: 'For Index',
8580
- description: 'Show only for this slide index.',
8581
- category: 'other',
8586
+ inactive_dot_color: {
8587
+ label: 'Inactive Dot Color',
8588
+ description: 'Color of inactive dots.',
8589
+ category: 'style',
8582
8590
  specialCategory: null,
8583
8591
  sort: 4,
8584
8592
  },
8585
- condition: {
8586
- label: 'Condition',
8587
- description: 'Built-in condition to check.',
8588
- category: 'other',
8589
- specialCategory: null,
8590
- sort: 6,
8591
- },
8592
- conditionVariable: {
8593
- label: 'Condition Variable',
8594
- description: 'Value used when checking the condition.',
8595
- category: 'other',
8593
+ active_dot_color: {
8594
+ label: 'Active Dot Color',
8595
+ description: 'Color of the active dot.',
8596
+ category: 'style',
8596
8597
  specialCategory: null,
8597
- sort: 7,
8598
+ sort: 5,
8598
8599
  },
8599
8600
  },
8600
8601
  styles: {},
@@ -8607,26 +8608,35 @@ export const patterns = [
8607
8608
  alignSelf: 'flex-start',
8608
8609
  flexGrow: 0,
8609
8610
  flexShrink: 0,
8610
- display: 'flex',
8611
- gap: 12,
8612
8611
  alignItems: 'center',
8613
8612
  justifyContent: 'center',
8614
- marginVertical: '12@vs',
8615
- marginHorizontal: '24@s',
8613
+ gap: '12@s',
8616
8614
  },
8615
+ dotType: 'expanding_dot',
8616
+ dot_thickness: 10,
8617
+ inactive_dot_opacity: 0.3,
8618
+ active_dot_color: 'STATIC_COLORS.ONBOARD_DOT_ACTIVE',
8619
+ inactive_dot_color: 'THEME_COLORS.BACKGROUND',
8617
8620
  },
8618
8621
  types: {},
8619
8622
  },
8620
8623
  {
8621
8624
  schemaVersion: 2,
8622
8625
  pattern: {
8623
- type: 'OnboardDot',
8626
+ type: 'OnboardFooter',
8624
8627
  title: 'title',
8625
8628
  description: 'description',
8626
8629
  children: 'never',
8627
8630
  attributes: {
8628
- scrollable: 'boolean',
8631
+ adjustsFontSizeToFit: 'boolean',
8632
+ numberOfLines: 'number',
8633
+ translateCounter: 'number',
8629
8634
  styles: {
8635
+ color: 'color',
8636
+ fontSize: 'size',
8637
+ fontFamily: 'fontFamily',
8638
+ fontWeight: 'fontWeight',
8639
+ textAlign: 'string',
8630
8640
  flexDirection: ['row', 'column'],
8631
8641
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
8632
8642
  alignItems: [
@@ -8675,55 +8685,76 @@ export const patterns = [
8675
8685
  right: 'size',
8676
8686
  zIndex: 'number',
8677
8687
  },
8688
+ scrollable: 'boolean',
8678
8689
  testID: 'string',
8679
- dotType: [
8680
- 'expanding_dot',
8681
- 'normal_dot',
8682
- 'scaling_dot',
8683
- 'sliding_border',
8684
- 'sliding_dot',
8685
- 'liquid_like',
8686
- ],
8687
- flexDirection: 'never',
8688
- alignItems: 'never',
8689
- justifyContent: 'never',
8690
- dot_thickness: 'size',
8691
- inactive_dot_opacity: 'number',
8692
- inactive_dot_color: 'color',
8693
- active_dot_color: 'color',
8690
+ textLocalizationKey: 'string',
8691
+ linkedWordFirstLocalizationKey: 'string',
8692
+ linkedWordFirstColor: 'color',
8693
+ linkedWordFirstPage: 'string',
8694
+ linkedWordSecondLocalizationKey: 'string',
8695
+ linkedWordSecondColor: 'color',
8696
+ linkedWordSecondPage: 'string',
8694
8697
  },
8695
8698
  },
8696
8699
  meta: {
8697
- desiredParent: ['>OnboardProvider'],
8698
- label: 'Onboard Dot',
8699
- description: 'Renders onboarding progress dots.',
8700
- specialCategories: {
8701
- padding: {
8702
- label: 'Padding',
8703
- description: 'Uniform padding on all sides.',
8704
- category: 'container',
8705
- sort: 1,
8706
- },
8707
- margin: {
8708
- label: 'Margin',
8709
- description: 'Uniform margin on all sides.',
8710
- category: 'container',
8711
- sort: 2,
8700
+ desiredParent: ['>OnboardItem'],
8701
+ label: 'Onboard Footer',
8702
+ description: 'Footer text with optional links.',
8703
+ styles: {
8704
+ color: {
8705
+ label: 'Color',
8706
+ description: 'Text color.',
8707
+ category: 'style',
8708
+ specialCategory: null,
8709
+ sort: 1,
8712
8710
  },
8713
- size: {
8714
- label: 'Size',
8715
- description: 'Fixed dimensions.',
8716
- category: 'container',
8711
+ fontSize: {
8712
+ label: 'Font Size',
8713
+ description: 'Text size.',
8714
+ category: 'style',
8715
+ specialCategory: null,
8716
+ sort: 2,
8717
+ preferredScale: 'f',
8718
+ },
8719
+ fontFamily: {
8720
+ label: 'Font Family',
8721
+ description: 'Font family used for the text.',
8722
+ category: 'style',
8723
+ specialCategory: null,
8717
8724
  sort: 3,
8718
8725
  },
8719
- offset: {
8720
- label: 'Offset',
8721
- description: 'Absolute positioning offsets.',
8722
- category: 'container',
8726
+ fontWeight: {
8727
+ label: 'Font Weight',
8728
+ description: 'Text weight.',
8729
+ category: 'style',
8730
+ specialCategory: null,
8723
8731
  sort: 4,
8724
8732
  },
8733
+ textAlign: {
8734
+ label: 'Text Align',
8735
+ description: 'Text alignment.',
8736
+ category: 'style',
8737
+ specialCategory: null,
8738
+ sort: 5,
8739
+ },
8725
8740
  },
8726
8741
  attributes: {
8742
+ adjustsFontSizeToFit: {
8743
+ label: 'Adjust Font Size To Fit',
8744
+ description:
8745
+ 'Automatically reduces font size to fit the available space.',
8746
+ category: 'other',
8747
+ specialCategory: null,
8748
+ sort: 1,
8749
+ },
8750
+ showEllipsis: {
8751
+ label: 'Show Ellipsis',
8752
+ description:
8753
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
8754
+ category: 'other',
8755
+ specialCategory: null,
8756
+ sort: 2,
8757
+ },
8727
8758
  scrollable: {
8728
8759
  label: 'Scrollable',
8729
8760
  description: 'Turns scroll interaction on.',
@@ -8997,81 +9028,118 @@ export const patterns = [
8997
9028
  sort: 26,
8998
9029
  },
8999
9030
  },
9000
- dotType: {
9001
- label: 'Dot Type',
9002
- description: 'Dot animation style.',
9003
- category: 'style',
9031
+ textLocalizationKey: {
9032
+ label: 'Text Localization Key',
9033
+ description: 'Localization key for the footer text.',
9034
+ category: 'other',
9004
9035
  specialCategory: null,
9005
9036
  sort: 1,
9006
9037
  },
9007
- dot_thickness: {
9008
- label: 'Dot Thickness',
9009
- description: 'Dot size/diameter.',
9010
- category: 'style',
9038
+ linkedWordFirstLocalizationKey: {
9039
+ label: 'Linked Word First Localization Key',
9040
+ description: 'Key for the first linked word.',
9041
+ category: 'other',
9011
9042
  specialCategory: null,
9012
9043
  sort: 2,
9013
9044
  },
9014
- inactive_dot_opacity: {
9015
- label: 'Inactive Dot Opacity',
9016
- description: 'Opacity for inactive dots.',
9017
- category: 'style',
9045
+ linkedWordFirstColor: {
9046
+ label: 'Linked Word First Color',
9047
+ description: 'Color of the first linked word.',
9048
+ category: 'other',
9018
9049
  specialCategory: null,
9019
9050
  sort: 3,
9020
9051
  },
9021
- inactive_dot_color: {
9022
- label: 'Inactive Dot Color',
9023
- description: 'Color of inactive dots.',
9024
- category: 'style',
9052
+ linkedWordFirstPage: {
9053
+ label: 'Linked Word First Page',
9054
+ description: 'Page opened by the first link.',
9055
+ category: 'other',
9025
9056
  specialCategory: null,
9026
9057
  sort: 4,
9027
9058
  },
9028
- active_dot_color: {
9029
- label: 'Active Dot Color',
9030
- description: 'Color of the active dot.',
9031
- category: 'style',
9059
+ linkedWordSecondLocalizationKey: {
9060
+ label: 'Linked Word Second Localization Key',
9061
+ description: 'Key for the second linked word.',
9062
+ category: 'other',
9032
9063
  specialCategory: null,
9033
9064
  sort: 5,
9034
9065
  },
9066
+ linkedWordSecondColor: {
9067
+ label: 'Linked Word Second Color',
9068
+ description: 'Color of the second linked word.',
9069
+ category: 'other',
9070
+ specialCategory: null,
9071
+ sort: 6,
9072
+ },
9073
+ linkedWordSecondPage: {
9074
+ label: 'Linked Word Second Page',
9075
+ description: 'Page opened by the second link.',
9076
+ category: 'other',
9077
+ specialCategory: null,
9078
+ sort: 7,
9079
+ },
9080
+ },
9081
+ specialCategories: {
9082
+ padding: {
9083
+ label: 'Padding',
9084
+ description: 'Uniform padding on all sides.',
9085
+ category: 'container',
9086
+ sort: 1,
9087
+ },
9088
+ margin: {
9089
+ label: 'Margin',
9090
+ description: 'Uniform margin on all sides.',
9091
+ category: 'container',
9092
+ sort: 2,
9093
+ },
9094
+ size: {
9095
+ label: 'Size',
9096
+ description: 'Fixed dimensions.',
9097
+ category: 'container',
9098
+ sort: 3,
9099
+ },
9100
+ offset: {
9101
+ label: 'Offset',
9102
+ description: 'Absolute positioning offsets.',
9103
+ category: 'container',
9104
+ sort: 4,
9105
+ },
9035
9106
  },
9036
- styles: {},
9037
9107
  },
9038
9108
  defaults: {
9109
+ translateCounter: 1,
9110
+ numberOfLines: 1,
9039
9111
  styles: {
9112
+ color: 'THEME_COLORS.TEXT',
9113
+ fontSize: '16@fs',
9114
+ fontWeight: '400',
9040
9115
  flexDirection: 'row',
9041
9116
  position: 'relative',
9042
9117
  zIndex: 1,
9043
9118
  alignSelf: 'flex-start',
9044
9119
  flexGrow: 0,
9045
9120
  flexShrink: 0,
9121
+ minHeight: '50@vs',
9122
+ flexWrap: 'wrap',
9046
9123
  alignItems: 'center',
9047
9124
  justifyContent: 'center',
9048
- gap: '12@s',
9125
+ textAlign: 'center',
9126
+ paddingHorizontal: '16@s',
9049
9127
  },
9050
- dotType: 'expanding_dot',
9051
- dot_thickness: 10,
9052
- inactive_dot_opacity: 0.3,
9053
- active_dot_color: 'STATIC_COLORS.ONBOARD_DOT_ACTIVE',
9054
- inactive_dot_color: 'THEME_COLORS.BACKGROUND',
9055
9128
  },
9056
9129
  types: {},
9057
9130
  },
9058
9131
  {
9059
9132
  schemaVersion: 2,
9060
9133
  pattern: {
9061
- type: 'OnboardFooter',
9134
+ type: 'OnboardImage',
9062
9135
  title: 'title',
9063
9136
  description: 'description',
9064
- children: 'never',
9137
+ children: 'node',
9065
9138
  attributes: {
9066
- adjustsFontSizeToFit: 'boolean',
9067
- numberOfLines: 'number',
9068
- translateCounter: 'number',
9139
+ src: 'string',
9140
+ fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
9069
9141
  styles: {
9070
- color: 'color',
9071
- fontSize: 'size',
9072
- fontFamily: 'fontFamily',
9073
- fontWeight: 'fontWeight',
9074
- textAlign: 'string',
9142
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
9075
9143
  flexDirection: ['row', 'column'],
9076
9144
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9077
9145
  alignItems: [
@@ -9122,70 +9190,35 @@ export const patterns = [
9122
9190
  },
9123
9191
  scrollable: 'boolean',
9124
9192
  testID: 'string',
9125
- textLocalizationKey: 'string',
9126
- linkedWordFirstLocalizationKey: 'string',
9127
- linkedWordFirstColor: 'color',
9128
- linkedWordFirstPage: 'string',
9129
- linkedWordSecondLocalizationKey: 'string',
9130
- linkedWordSecondColor: 'color',
9131
- linkedWordSecondPage: 'string',
9193
+ video_url: 'string',
9194
+ lottie: 'string',
9132
9195
  },
9133
9196
  },
9134
9197
  meta: {
9135
- desiredParent: ['>OnboardItem'],
9136
- label: 'Onboard Footer',
9137
- description: 'Footer text with optional links.',
9198
+ desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
9199
+ label: 'Onboard Image',
9200
+ description: 'Onboarding hero image with media.',
9138
9201
  styles: {
9139
- color: {
9140
- label: 'Color',
9141
- description: 'Text color.',
9142
- category: 'style',
9143
- specialCategory: null,
9144
- sort: 1,
9145
- },
9146
- fontSize: {
9147
- label: 'Font Size',
9148
- description: 'Text size.',
9149
- category: 'style',
9150
- specialCategory: null,
9151
- sort: 2,
9152
- preferredScale: 'f',
9153
- },
9154
- fontFamily: {
9155
- label: 'Font Family',
9156
- description: 'Font family used for the text.',
9157
- category: 'style',
9158
- specialCategory: null,
9159
- sort: 3,
9160
- },
9161
- fontWeight: {
9162
- label: 'Font Weight',
9163
- description: 'Text weight.',
9202
+ resizeMode: {
9203
+ label: 'Resize Mode',
9204
+ description: 'How the image fits the frame.',
9164
9205
  category: 'style',
9165
9206
  specialCategory: null,
9166
9207
  sort: 4,
9167
9208
  },
9168
- textAlign: {
9169
- label: 'Text Align',
9170
- description: 'Text alignment.',
9171
- category: 'style',
9172
- specialCategory: null,
9173
- sort: 5,
9174
- },
9175
9209
  },
9176
9210
  attributes: {
9177
- adjustsFontSizeToFit: {
9178
- label: 'Adjust Font Size To Fit',
9179
- description:
9180
- 'Automatically reduces font size to fit the available space.',
9211
+ src: {
9212
+ label: 'Src',
9213
+ description: 'Image source URL.',
9181
9214
  category: 'other',
9182
9215
  specialCategory: null,
9183
9216
  sort: 1,
9184
9217
  },
9185
- showEllipsis: {
9186
- label: 'Show Ellipsis',
9218
+ fetchStrategy: {
9219
+ label: 'Fetch Strategy',
9187
9220
  description:
9188
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
9221
+ "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
9189
9222
  category: 'other',
9190
9223
  specialCategory: null,
9191
9224
  sort: 2,
@@ -9463,55 +9496,20 @@ export const patterns = [
9463
9496
  sort: 26,
9464
9497
  },
9465
9498
  },
9466
- textLocalizationKey: {
9467
- label: 'Text Localization Key',
9468
- description: 'Localization key for the footer text.',
9499
+ video_url: {
9500
+ label: 'Video Url',
9501
+ description: 'URL for the onboarding video.',
9469
9502
  category: 'other',
9470
9503
  specialCategory: null,
9471
9504
  sort: 1,
9472
9505
  },
9473
- linkedWordFirstLocalizationKey: {
9474
- label: 'Linked Word First Localization Key',
9475
- description: 'Key for the first linked word.',
9506
+ lottie: {
9507
+ label: 'Lottie',
9508
+ description: 'Path to the lottie animation.',
9476
9509
  category: 'other',
9477
9510
  specialCategory: null,
9478
9511
  sort: 2,
9479
9512
  },
9480
- linkedWordFirstColor: {
9481
- label: 'Linked Word First Color',
9482
- description: 'Color of the first linked word.',
9483
- category: 'other',
9484
- specialCategory: null,
9485
- sort: 3,
9486
- },
9487
- linkedWordFirstPage: {
9488
- label: 'Linked Word First Page',
9489
- description: 'Page opened by the first link.',
9490
- category: 'other',
9491
- specialCategory: null,
9492
- sort: 4,
9493
- },
9494
- linkedWordSecondLocalizationKey: {
9495
- label: 'Linked Word Second Localization Key',
9496
- description: 'Key for the second linked word.',
9497
- category: 'other',
9498
- specialCategory: null,
9499
- sort: 5,
9500
- },
9501
- linkedWordSecondColor: {
9502
- label: 'Linked Word Second Color',
9503
- description: 'Color of the second linked word.',
9504
- category: 'other',
9505
- specialCategory: null,
9506
- sort: 6,
9507
- },
9508
- linkedWordSecondPage: {
9509
- label: 'Linked Word Second Page',
9510
- description: 'Page opened by the second link.',
9511
- category: 'other',
9512
- specialCategory: null,
9513
- sort: 7,
9514
- },
9515
9513
  },
9516
9514
  specialCategories: {
9517
9515
  padding: {
@@ -9541,24 +9539,15 @@ export const patterns = [
9541
9539
  },
9542
9540
  },
9543
9541
  defaults: {
9544
- translateCounter: 1,
9545
- numberOfLines: 1,
9542
+ fetchStrategy: 'normal',
9546
9543
  styles: {
9547
- color: 'THEME_COLORS.TEXT',
9548
- fontSize: '16@fs',
9549
- fontWeight: '400',
9550
- flexDirection: 'row',
9544
+ resizeMode: 'contain',
9545
+ flexDirection: 'column',
9551
9546
  position: 'relative',
9552
9547
  zIndex: 1,
9553
9548
  alignSelf: 'flex-start',
9554
9549
  flexGrow: 0,
9555
9550
  flexShrink: 0,
9556
- minHeight: '50@vs',
9557
- flexWrap: 'wrap',
9558
- alignItems: 'center',
9559
- justifyContent: 'center',
9560
- textAlign: 'center',
9561
- paddingHorizontal: '16@s',
9562
9551
  },
9563
9552
  },
9564
9553
  types: {},
@@ -9566,15 +9555,13 @@ export const patterns = [
9566
9555
  {
9567
9556
  schemaVersion: 2,
9568
9557
  pattern: {
9569
- type: 'OnboardImage',
9558
+ type: 'OnboardItem',
9570
9559
  title: 'title',
9571
9560
  description: 'description',
9572
9561
  children: 'node',
9573
9562
  attributes: {
9574
- src: 'string',
9575
- fetchStrategy: ['highIfItsAppLaunch', 'normal', 'lazy', 'none'],
9563
+ scrollable: 'boolean',
9576
9564
  styles: {
9577
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
9578
9565
  flexDirection: ['row', 'column'],
9579
9566
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
9580
9567
  alignItems: [
@@ -9623,41 +9610,41 @@ export const patterns = [
9623
9610
  right: 'size',
9624
9611
  zIndex: 'number',
9625
9612
  },
9626
- scrollable: 'boolean',
9627
9613
  testID: 'string',
9628
- video_url: 'string',
9629
- lottie: 'string',
9614
+ display: ['flex', 'block'],
9630
9615
  },
9631
9616
  },
9632
9617
  meta: {
9633
- desiredParent: ['>OnboardProvider', '>OnboardItem', '!=Onboard'],
9634
- label: 'Onboard Image',
9635
- description: 'Onboarding hero image with media.',
9636
- styles: {
9637
- resizeMode: {
9638
- label: 'Resize Mode',
9639
- description: 'How the image fits the frame.',
9640
- category: 'style',
9641
- specialCategory: null,
9642
- sort: 4,
9643
- },
9644
- },
9645
- attributes: {
9646
- src: {
9647
- label: 'Src',
9648
- description: 'Image source URL.',
9649
- category: 'other',
9650
- specialCategory: null,
9618
+ desiredParent: ['=Onboard'],
9619
+ label: 'Onboard Item',
9620
+ description: 'Single onboarding screen section.',
9621
+ specialCategories: {
9622
+ padding: {
9623
+ label: 'Padding',
9624
+ description: 'Uniform padding on all sides.',
9625
+ category: 'container',
9651
9626
  sort: 1,
9652
9627
  },
9653
- fetchStrategy: {
9654
- label: 'Fetch Strategy',
9655
- description:
9656
- "highIfItsAppLaunch ilk başta yükleniyor eğer app_launch placeholder'i ile gelirse\nnormal sonra bütün hepsi toplanıp prefetch ediniyor\nlazy builder açılır açılmaz\nnone ise os'a bırakıldı",
9657
- category: 'other',
9658
- specialCategory: null,
9628
+ margin: {
9629
+ label: 'Margin',
9630
+ description: 'Uniform margin on all sides.',
9631
+ category: 'container',
9659
9632
  sort: 2,
9660
9633
  },
9634
+ size: {
9635
+ label: 'Size',
9636
+ description: 'Fixed dimensions.',
9637
+ category: 'container',
9638
+ sort: 3,
9639
+ },
9640
+ offset: {
9641
+ label: 'Offset',
9642
+ description: 'Absolute positioning offsets.',
9643
+ category: 'container',
9644
+ sort: 4,
9645
+ },
9646
+ },
9647
+ attributes: {
9661
9648
  scrollable: {
9662
9649
  label: 'Scrollable',
9663
9650
  description: 'Turns scroll interaction on.',
@@ -9683,10 +9670,10 @@ export const patterns = [
9683
9670
  },
9684
9671
  flexDirection: {
9685
9672
  label: 'Flex Direction',
9686
- description: 'Sets row or column layout.',
9673
+ description: 'Order of child stacking.',
9687
9674
  category: 'container',
9688
9675
  specialCategory: null,
9689
- sort: 4,
9676
+ sort: 3,
9690
9677
  },
9691
9678
  flexWrap: {
9692
9679
  label: 'Flex Wrap',
@@ -9711,11 +9698,10 @@ export const patterns = [
9711
9698
  },
9712
9699
  gap: {
9713
9700
  label: 'Gap',
9714
- description: 'Space between children.',
9701
+ description: 'Space between child blocks.',
9715
9702
  category: 'container',
9716
9703
  specialCategory: null,
9717
- sort: 10,
9718
- preferredScale: 's',
9704
+ sort: 2,
9719
9705
  },
9720
9706
  padding: {
9721
9707
  label: 'Padding',
@@ -9730,8 +9716,7 @@ export const patterns = [
9730
9716
  description: 'Left and right padding.',
9731
9717
  category: 'container',
9732
9718
  specialCategory: 'padding',
9733
- sort: 7,
9734
- preferredScale: 's',
9719
+ sort: 4,
9735
9720
  },
9736
9721
  paddingVertical: {
9737
9722
  label: 'Padding Vertical',
@@ -9931,66 +9916,35 @@ export const patterns = [
9931
9916
  sort: 26,
9932
9917
  },
9933
9918
  },
9934
- video_url: {
9935
- label: 'Video Url',
9936
- description: 'URL for the onboarding video.',
9937
- category: 'other',
9938
- specialCategory: null,
9939
- sort: 1,
9940
- },
9941
- lottie: {
9942
- label: 'Lottie',
9943
- description: 'Path to the lottie animation.',
9944
- category: 'other',
9945
- specialCategory: null,
9946
- sort: 2,
9947
- },
9948
- },
9949
- specialCategories: {
9950
- padding: {
9951
- label: 'Padding',
9952
- description: 'Uniform padding on all sides.',
9919
+ display: {
9920
+ label: 'Display',
9921
+ description: 'Controls layout display mode.',
9953
9922
  category: 'container',
9923
+ specialCategory: null,
9954
9924
  sort: 1,
9955
9925
  },
9956
- margin: {
9957
- label: 'Margin',
9958
- description: 'Uniform margin on all sides.',
9959
- category: 'container',
9960
- sort: 2,
9961
- },
9962
- size: {
9963
- label: 'Size',
9964
- description: 'Fixed dimensions.',
9965
- category: 'container',
9966
- sort: 3,
9967
- },
9968
- offset: {
9969
- label: 'Offset',
9970
- description: 'Absolute positioning offsets.',
9971
- category: 'container',
9972
- sort: 4,
9973
- },
9974
9926
  },
9927
+ styles: {},
9975
9928
  },
9976
9929
  defaults: {
9977
- fetchStrategy: 'normal',
9978
9930
  styles: {
9979
- resizeMode: 'contain',
9980
9931
  flexDirection: 'column',
9981
9932
  position: 'relative',
9982
9933
  zIndex: 1,
9983
9934
  alignSelf: 'flex-start',
9984
9935
  flexGrow: 0,
9985
9936
  flexShrink: 0,
9937
+ gap: '16@vs',
9938
+ paddingHorizontal: '24@s',
9986
9939
  },
9940
+ display: 'flex',
9987
9941
  },
9988
9942
  types: {},
9989
9943
  },
9990
9944
  {
9991
9945
  schemaVersion: 2,
9992
9946
  pattern: {
9993
- type: 'OnboardItem',
9947
+ type: 'OnboardProvider',
9994
9948
  title: 'title',
9995
9949
  description: 'description',
9996
9950
  children: 'node',
@@ -10046,13 +10000,14 @@ export const patterns = [
10046
10000
  zIndex: 'number',
10047
10001
  },
10048
10002
  testID: 'string',
10049
- display: ['flex', 'block'],
10003
+ theme: ['light', 'dark', 'all'],
10004
+ borderRadius: 'never',
10050
10005
  },
10051
10006
  },
10052
10007
  meta: {
10053
- desiredParent: ['=Onboard'],
10054
- label: 'Onboard Item',
10055
- description: 'Single onboarding screen section.',
10008
+ desiredParent: ['root'],
10009
+ label: 'Onboard Provider',
10010
+ description: 'Provides shared settings for onboard.',
10056
10011
  specialCategories: {
10057
10012
  padding: {
10058
10013
  label: 'Padding',
@@ -10105,10 +10060,10 @@ export const patterns = [
10105
10060
  },
10106
10061
  flexDirection: {
10107
10062
  label: 'Flex Direction',
10108
- description: 'Order of child stacking.',
10063
+ description: 'Sets row or column layout.',
10109
10064
  category: 'container',
10110
10065
  specialCategory: null,
10111
- sort: 3,
10066
+ sort: 4,
10112
10067
  },
10113
10068
  flexWrap: {
10114
10069
  label: 'Flex Wrap',
@@ -10133,10 +10088,11 @@ export const patterns = [
10133
10088
  },
10134
10089
  gap: {
10135
10090
  label: 'Gap',
10136
- description: 'Space between child blocks.',
10091
+ description: 'Space between children.',
10137
10092
  category: 'container',
10138
10093
  specialCategory: null,
10139
- sort: 2,
10094
+ sort: 10,
10095
+ preferredScale: 's',
10140
10096
  },
10141
10097
  padding: {
10142
10098
  label: 'Padding',
@@ -10151,7 +10107,8 @@ export const patterns = [
10151
10107
  description: 'Left and right padding.',
10152
10108
  category: 'container',
10153
10109
  specialCategory: 'padding',
10154
- sort: 4,
10110
+ sort: 7,
10111
+ preferredScale: 's',
10155
10112
  },
10156
10113
  paddingVertical: {
10157
10114
  label: 'Padding Vertical',
@@ -10163,35 +10120,31 @@ export const patterns = [
10163
10120
  },
10164
10121
  paddingTop: {
10165
10122
  label: 'Padding Top',
10166
- description: 'Top padding only.',
10123
+ description: 'Top padding for the provider.',
10167
10124
  category: 'container',
10168
10125
  specialCategory: 'padding',
10169
- sort: 9,
10170
- preferredScale: 'vs',
10126
+ sort: 1,
10171
10127
  },
10172
10128
  paddingBottom: {
10173
10129
  label: 'Padding Bottom',
10174
- description: 'Bottom padding only.',
10130
+ description: 'Bottom padding for the provider.',
10175
10131
  category: 'container',
10176
10132
  specialCategory: 'padding',
10177
- sort: 10,
10178
- preferredScale: 'vs',
10133
+ sort: 3,
10179
10134
  },
10180
10135
  paddingLeft: {
10181
10136
  label: 'Padding Left',
10182
- description: 'Left padding only.',
10137
+ description: 'Left padding for the provider.',
10183
10138
  category: 'container',
10184
10139
  specialCategory: 'padding',
10185
- sort: 11,
10186
- preferredScale: 's',
10140
+ sort: 4,
10187
10141
  },
10188
10142
  paddingRight: {
10189
10143
  label: 'Padding Right',
10190
- description: 'Right padding only.',
10144
+ description: 'Right padding for the provider.',
10191
10145
  category: 'container',
10192
10146
  specialCategory: 'padding',
10193
- sort: 12,
10194
- preferredScale: 's',
10147
+ sort: 2,
10195
10148
  },
10196
10149
  margin: {
10197
10150
  label: 'Margin',
@@ -10351,12 +10304,13 @@ export const patterns = [
10351
10304
  sort: 26,
10352
10305
  },
10353
10306
  },
10354
- display: {
10355
- label: 'Display',
10356
- description: 'Controls layout display mode.',
10357
- category: 'container',
10307
+ theme: {
10308
+ label: 'Theme',
10309
+ description:
10310
+ 'Controls which app theme(s) this onboarding is intended for.',
10311
+ category: 'other',
10358
10312
  specialCategory: null,
10359
- sort: 1,
10313
+ sort: -10,
10360
10314
  },
10361
10315
  },
10362
10316
  styles: {},
@@ -10369,23 +10323,29 @@ export const patterns = [
10369
10323
  alignSelf: 'flex-start',
10370
10324
  flexGrow: 0,
10371
10325
  flexShrink: 0,
10372
- gap: '16@vs',
10373
- paddingHorizontal: '24@s',
10326
+ width: '100%',
10327
+ height: '100%',
10374
10328
  },
10375
- display: 'flex',
10376
10329
  },
10377
10330
  types: {},
10378
10331
  },
10379
10332
  {
10380
10333
  schemaVersion: 2,
10381
10334
  pattern: {
10382
- type: 'OnboardProvider',
10335
+ type: 'OnboardSubtitle',
10383
10336
  title: 'title',
10384
10337
  description: 'description',
10385
- children: 'node',
10338
+ children: 'string',
10386
10339
  attributes: {
10387
- scrollable: 'boolean',
10340
+ adjustsFontSizeToFit: 'boolean',
10341
+ numberOfLines: 'number',
10342
+ translateCounter: 'number',
10388
10343
  styles: {
10344
+ color: 'color',
10345
+ fontSize: 'size',
10346
+ fontFamily: 'fontFamily',
10347
+ fontWeight: 'fontWeight',
10348
+ textAlign: 'string',
10389
10349
  flexDirection: ['row', 'column'],
10390
10350
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
10391
10351
  alignItems: [
@@ -10434,54 +10394,69 @@ export const patterns = [
10434
10394
  right: 'size',
10435
10395
  zIndex: 'number',
10436
10396
  },
10397
+ scrollable: 'boolean',
10437
10398
  testID: 'string',
10438
- theme: ['light', 'dark', 'all'],
10439
- borderRadius: 'never',
10440
- animation: [
10441
- 'default',
10442
- 'fade',
10443
- 'fade_from_bottom',
10444
- 'fade_from_right',
10445
- 'reveal_from_bottom',
10446
- 'scale_from_center',
10447
- 'slide_from_right',
10448
- 'slide_from_left',
10449
- 'slide_from_bottom',
10450
- 'none',
10451
- ],
10452
10399
  },
10453
10400
  },
10454
10401
  meta: {
10455
- desiredParent: ['root'],
10456
- label: 'Onboard Provider',
10457
- description: 'Provides shared settings for onboard.',
10458
- specialCategories: {
10459
- padding: {
10460
- label: 'Padding',
10461
- description: 'Uniform padding on all sides.',
10462
- category: 'container',
10402
+ desiredParent: ['>OnboardProvider', '>OnboardItem'],
10403
+ label: 'Onboard Subtitle',
10404
+ description: 'Subtitle text for an onboarding step.',
10405
+ styles: {
10406
+ color: {
10407
+ label: 'Color',
10408
+ description: 'Text color.',
10409
+ category: 'style',
10410
+ specialCategory: null,
10463
10411
  sort: 1,
10464
10412
  },
10465
- margin: {
10466
- label: 'Margin',
10467
- description: 'Uniform margin on all sides.',
10468
- category: 'container',
10413
+ fontSize: {
10414
+ label: 'Font Size',
10415
+ description: 'Text size.',
10416
+ category: 'style',
10417
+ specialCategory: null,
10469
10418
  sort: 2,
10419
+ preferredScale: 'f',
10470
10420
  },
10471
- size: {
10472
- label: 'Size',
10473
- description: 'Fixed dimensions.',
10474
- category: 'container',
10421
+ fontFamily: {
10422
+ label: 'Font Family',
10423
+ description: 'Font family used for the text.',
10424
+ category: 'style',
10425
+ specialCategory: null,
10475
10426
  sort: 3,
10476
10427
  },
10477
- offset: {
10478
- label: 'Offset',
10479
- description: 'Absolute positioning offsets.',
10480
- category: 'container',
10428
+ fontWeight: {
10429
+ label: 'Font Weight',
10430
+ description: 'Text weight.',
10431
+ category: 'style',
10432
+ specialCategory: null,
10481
10433
  sort: 4,
10482
10434
  },
10435
+ textAlign: {
10436
+ label: 'Text Align',
10437
+ description: 'Text alignment.',
10438
+ category: 'style',
10439
+ specialCategory: null,
10440
+ sort: 5,
10441
+ },
10483
10442
  },
10484
10443
  attributes: {
10444
+ adjustsFontSizeToFit: {
10445
+ label: 'Adjust Font Size To Fit',
10446
+ description:
10447
+ 'Automatically reduces font size to fit the available space.',
10448
+ category: 'other',
10449
+ specialCategory: null,
10450
+ sort: 1,
10451
+ },
10452
+ showEllipsis: {
10453
+ label: 'Show Ellipsis',
10454
+ description:
10455
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
10456
+ category: 'other',
10457
+ specialCategory: null,
10458
+ sort: 2,
10459
+ },
10485
10460
  scrollable: {
10486
10461
  label: 'Scrollable',
10487
10462
  description: 'Turns scroll interaction on.',
@@ -10567,31 +10542,35 @@ export const patterns = [
10567
10542
  },
10568
10543
  paddingTop: {
10569
10544
  label: 'Padding Top',
10570
- description: 'Top padding for the provider.',
10545
+ description: 'Top padding only.',
10571
10546
  category: 'container',
10572
10547
  specialCategory: 'padding',
10573
- sort: 1,
10548
+ sort: 9,
10549
+ preferredScale: 'vs',
10574
10550
  },
10575
10551
  paddingBottom: {
10576
10552
  label: 'Padding Bottom',
10577
- description: 'Bottom padding for the provider.',
10553
+ description: 'Bottom padding only.',
10578
10554
  category: 'container',
10579
10555
  specialCategory: 'padding',
10580
- sort: 3,
10556
+ sort: 10,
10557
+ preferredScale: 'vs',
10581
10558
  },
10582
10559
  paddingLeft: {
10583
10560
  label: 'Padding Left',
10584
- description: 'Left padding for the provider.',
10561
+ description: 'Left padding only.',
10585
10562
  category: 'container',
10586
10563
  specialCategory: 'padding',
10587
- sort: 4,
10564
+ sort: 11,
10565
+ preferredScale: 's',
10588
10566
  },
10589
10567
  paddingRight: {
10590
10568
  label: 'Padding Right',
10591
- description: 'Right padding for the provider.',
10569
+ description: 'Right padding only.',
10592
10570
  category: 'container',
10593
10571
  specialCategory: 'padding',
10594
- sort: 2,
10572
+ sort: 12,
10573
+ preferredScale: 's',
10595
10574
  },
10596
10575
  margin: {
10597
10576
  label: 'Margin',
@@ -10751,35 +10730,47 @@ export const patterns = [
10751
10730
  sort: 26,
10752
10731
  },
10753
10732
  },
10754
- theme: {
10755
- label: 'Theme',
10756
- description:
10757
- 'Controls which app theme(s) this onboarding is intended for.',
10758
- category: 'other',
10759
- specialCategory: null,
10760
- sort: -10,
10733
+ },
10734
+ specialCategories: {
10735
+ padding: {
10736
+ label: 'Padding',
10737
+ description: 'Uniform padding on all sides.',
10738
+ category: 'container',
10739
+ sort: 1,
10761
10740
  },
10762
- animation: {
10763
- label: 'Page transition animation',
10764
- description:
10765
- 'When this component is a GlobalProvider page: animation used when navigating to this screen.',
10766
- category: 'other',
10767
- specialCategory: null,
10741
+ margin: {
10742
+ label: 'Margin',
10743
+ description: 'Uniform margin on all sides.',
10744
+ category: 'container',
10768
10745
  sort: 2,
10769
10746
  },
10747
+ size: {
10748
+ label: 'Size',
10749
+ description: 'Fixed dimensions.',
10750
+ category: 'container',
10751
+ sort: 3,
10752
+ },
10753
+ offset: {
10754
+ label: 'Offset',
10755
+ description: 'Absolute positioning offsets.',
10756
+ category: 'container',
10757
+ sort: 4,
10758
+ },
10770
10759
  },
10771
- styles: {},
10772
10760
  },
10773
10761
  defaults: {
10762
+ translateCounter: 1,
10763
+ numberOfLines: 1,
10774
10764
  styles: {
10765
+ color: 'THEME_COLORS.TEXT',
10766
+ fontSize: '14@fs',
10767
+ fontWeight: '600',
10775
10768
  flexDirection: 'column',
10776
10769
  position: 'relative',
10777
10770
  zIndex: 1,
10778
10771
  alignSelf: 'flex-start',
10779
10772
  flexGrow: 0,
10780
10773
  flexShrink: 0,
10781
- width: '100%',
10782
- height: '100%',
10783
10774
  },
10784
10775
  },
10785
10776
  types: {},
@@ -10787,7 +10778,7 @@ export const patterns = [
10787
10778
  {
10788
10779
  schemaVersion: 2,
10789
10780
  pattern: {
10790
- type: 'OnboardSubtitle',
10781
+ type: 'OnboardTitle',
10791
10782
  title: 'title',
10792
10783
  description: 'description',
10793
10784
  children: 'string',
@@ -10854,9 +10845,9 @@ export const patterns = [
10854
10845
  },
10855
10846
  },
10856
10847
  meta: {
10857
- desiredParent: ['>OnboardProvider', '>OnboardItem'],
10858
- label: 'Onboard Subtitle',
10859
- description: 'Subtitle text for an onboarding step.',
10848
+ desiredParent: ['>OnboardItem', '>OnboardProvider'],
10849
+ label: 'Onboard Title',
10850
+ description: 'Title text for an onboarding step.',
10860
10851
  styles: {
10861
10852
  color: {
10862
10853
  label: 'Color',
@@ -11218,14 +11209,15 @@ export const patterns = [
11218
11209
  numberOfLines: 1,
11219
11210
  styles: {
11220
11211
  color: 'THEME_COLORS.TEXT',
11221
- fontSize: '14@fs',
11222
- fontWeight: '600',
11212
+ fontSize: '24@fs',
11213
+ fontWeight: '700',
11223
11214
  flexDirection: 'column',
11224
11215
  position: 'relative',
11225
11216
  zIndex: 1,
11226
11217
  alignSelf: 'flex-start',
11227
11218
  flexGrow: 0,
11228
11219
  flexShrink: 0,
11220
+ textAlign: 'center',
11229
11221
  },
11230
11222
  },
11231
11223
  types: {},
@@ -11233,20 +11225,15 @@ export const patterns = [
11233
11225
  {
11234
11226
  schemaVersion: 2,
11235
11227
  pattern: {
11236
- type: 'OnboardTitle',
11228
+ type: 'PaywallBackground',
11237
11229
  title: 'title',
11238
11230
  description: 'description',
11239
- children: 'string',
11231
+ children: 'never',
11240
11232
  attributes: {
11241
- adjustsFontSizeToFit: 'boolean',
11242
- numberOfLines: 'number',
11243
- translateCounter: 'number',
11233
+ src: 'string',
11234
+ resizeMode: ['cover', 'contain', 'stretch', 'center'],
11235
+ scrollable: 'boolean',
11244
11236
  styles: {
11245
- color: 'color',
11246
- fontSize: 'size',
11247
- fontFamily: 'fontFamily',
11248
- fontWeight: 'fontWeight',
11249
- textAlign: 'string',
11250
11237
  flexDirection: ['row', 'column'],
11251
11238
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11252
11239
  alignItems: [
@@ -11295,68 +11282,28 @@ export const patterns = [
11295
11282
  right: 'size',
11296
11283
  zIndex: 'number',
11297
11284
  },
11298
- scrollable: 'boolean',
11299
11285
  testID: 'string',
11300
11286
  },
11301
11287
  },
11302
11288
  meta: {
11303
- desiredParent: ['>OnboardItem', '>OnboardProvider'],
11304
- label: 'Onboard Title',
11305
- description: 'Title text for an onboarding step.',
11306
- styles: {
11307
- color: {
11308
- label: 'Color',
11309
- description: 'Text color.',
11310
- category: 'style',
11311
- specialCategory: null,
11312
- sort: 1,
11313
- },
11314
- fontSize: {
11315
- label: 'Font Size',
11316
- description: 'Text size.',
11317
- category: 'style',
11318
- specialCategory: null,
11319
- sort: 2,
11320
- preferredScale: 'f',
11321
- },
11322
- fontFamily: {
11323
- label: 'Font Family',
11324
- description: 'Font family used for the text.',
11325
- category: 'style',
11326
- specialCategory: null,
11327
- sort: 3,
11328
- },
11329
- fontWeight: {
11330
- label: 'Font Weight',
11331
- description: 'Text weight.',
11332
- category: 'style',
11333
- specialCategory: null,
11334
- sort: 4,
11335
- },
11336
- textAlign: {
11337
- label: 'Text Align',
11338
- description: 'Text alignment.',
11339
- category: 'style',
11340
- specialCategory: null,
11341
- sort: 5,
11342
- },
11343
- },
11289
+ desiredParent: ['>PaywallProvider'],
11290
+ label: 'Paywall Background',
11291
+ description: 'Paywall Background component.',
11292
+ styles: {},
11344
11293
  attributes: {
11345
- adjustsFontSizeToFit: {
11346
- label: 'Adjust Font Size To Fit',
11347
- description:
11348
- 'Automatically reduces font size to fit the available space.',
11294
+ src: {
11295
+ label: 'Src',
11296
+ description: 'Image source URL.',
11349
11297
  category: 'other',
11350
11298
  specialCategory: null,
11351
11299
  sort: 1,
11352
11300
  },
11353
- showEllipsis: {
11354
- label: 'Show Ellipsis',
11355
- description:
11356
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
11301
+ resizeMode: {
11302
+ label: 'Resize Mode',
11303
+ description: 'How the image fits its container.',
11357
11304
  category: 'other',
11358
11305
  specialCategory: null,
11359
- sort: 2,
11306
+ sort: 4,
11360
11307
  },
11361
11308
  scrollable: {
11362
11309
  label: 'Scrollable',
@@ -11660,19 +11607,20 @@ export const patterns = [
11660
11607
  },
11661
11608
  },
11662
11609
  defaults: {
11663
- translateCounter: 1,
11664
- numberOfLines: 1,
11610
+ resizeMode: 'cover',
11665
11611
  styles: {
11666
- color: 'THEME_COLORS.TEXT',
11667
- fontSize: '24@fs',
11668
- fontWeight: '700',
11669
- flexDirection: 'column',
11670
- position: 'relative',
11612
+ width: '100%',
11613
+ height: '100%',
11614
+ position: 'absolute',
11615
+ top: 0,
11616
+ left: 0,
11617
+ right: 0,
11618
+ bottom: 0,
11671
11619
  zIndex: 1,
11620
+ flexDirection: 'column',
11672
11621
  alignSelf: 'flex-start',
11673
11622
  flexGrow: 0,
11674
11623
  flexShrink: 0,
11675
- textAlign: 'center',
11676
11624
  },
11677
11625
  },
11678
11626
  types: {},
@@ -11680,15 +11628,23 @@ export const patterns = [
11680
11628
  {
11681
11629
  schemaVersion: 2,
11682
11630
  pattern: {
11683
- type: 'PaywallBackground',
11631
+ type: 'PaywallCloseButton',
11684
11632
  title: 'title',
11685
11633
  description: 'description',
11686
11634
  children: 'never',
11687
11635
  attributes: {
11688
- src: 'string',
11689
- resizeMode: ['cover', 'contain', 'stretch', 'center'],
11690
- scrollable: 'boolean',
11636
+ iconType: 'iconType',
11637
+ size: 'number',
11638
+ strokeWidth: 'number',
11639
+ adjustsFontSizeToFit: 'boolean',
11640
+ numberOfLines: 'number',
11641
+ translateCounter: 'number',
11691
11642
  styles: {
11643
+ color: 'color',
11644
+ fontSize: 'size',
11645
+ fontFamily: 'fontFamily',
11646
+ fontWeight: 'fontWeight',
11647
+ textAlign: 'string',
11692
11648
  flexDirection: ['row', 'column'],
11693
11649
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
11694
11650
  alignItems: [
@@ -11737,29 +11693,90 @@ export const patterns = [
11737
11693
  right: 'size',
11738
11694
  zIndex: 'number',
11739
11695
  },
11696
+ scrollable: 'boolean',
11740
11697
  testID: 'string',
11741
11698
  },
11742
11699
  },
11743
11700
  meta: {
11744
11701
  desiredParent: ['>PaywallProvider'],
11745
- label: 'Paywall Background',
11746
- description: 'Paywall Background component.',
11747
- styles: {},
11748
- attributes: {
11749
- src: {
11750
- label: 'Src',
11751
- description: 'Image source URL.',
11752
- category: 'other',
11702
+ label: 'Paywall Close Button',
11703
+ description: 'Paywall Close Button component.',
11704
+ styles: {
11705
+ color: {
11706
+ label: 'Color',
11707
+ description: 'Text color.',
11708
+ category: 'style',
11753
11709
  specialCategory: null,
11754
11710
  sort: 1,
11755
11711
  },
11756
- resizeMode: {
11757
- label: 'Resize Mode',
11758
- description: 'How the image fits its container.',
11759
- category: 'other',
11712
+ fontSize: {
11713
+ label: 'Font Size',
11714
+ description: 'Text size.',
11715
+ category: 'style',
11716
+ specialCategory: null,
11717
+ sort: 2,
11718
+ preferredScale: 'f',
11719
+ },
11720
+ fontFamily: {
11721
+ label: 'Font Family',
11722
+ description: 'Font family used for the text.',
11723
+ category: 'style',
11724
+ specialCategory: null,
11725
+ sort: 3,
11726
+ },
11727
+ fontWeight: {
11728
+ label: 'Font Weight',
11729
+ description: 'Text weight.',
11730
+ category: 'style',
11760
11731
  specialCategory: null,
11761
11732
  sort: 4,
11762
11733
  },
11734
+ textAlign: {
11735
+ label: 'Text Align',
11736
+ description: 'Text alignment.',
11737
+ category: 'style',
11738
+ specialCategory: null,
11739
+ sort: 5,
11740
+ },
11741
+ },
11742
+ attributes: {
11743
+ iconType: {
11744
+ label: 'Icon',
11745
+ description: 'Which icon to render.',
11746
+ category: 'other',
11747
+ specialCategory: null,
11748
+ sort: 1,
11749
+ },
11750
+ size: {
11751
+ label: 'Size',
11752
+ description: 'Icon size (px).',
11753
+ category: 'other',
11754
+ specialCategory: null,
11755
+ sort: 2,
11756
+ },
11757
+ strokeWidth: {
11758
+ label: 'Stroke Width',
11759
+ description: 'SVG stroke width override (applied to the icon paths).',
11760
+ category: 'other',
11761
+ specialCategory: null,
11762
+ sort: 3,
11763
+ },
11764
+ adjustsFontSizeToFit: {
11765
+ label: 'Adjust Font Size To Fit',
11766
+ description:
11767
+ 'Automatically reduces font size to fit the available space.',
11768
+ category: 'other',
11769
+ specialCategory: null,
11770
+ sort: 1,
11771
+ },
11772
+ showEllipsis: {
11773
+ label: 'Show Ellipsis',
11774
+ description:
11775
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
11776
+ category: 'other',
11777
+ specialCategory: null,
11778
+ sort: 2,
11779
+ },
11763
11780
  scrollable: {
11764
11781
  label: 'Scrollable',
11765
11782
  description: 'Turns scroll interaction on.',
@@ -12062,35 +12079,38 @@ export const patterns = [
12062
12079
  },
12063
12080
  },
12064
12081
  defaults: {
12065
- resizeMode: 'cover',
12082
+ iconType: 'close',
12083
+ strokeWidth: 1.5,
12066
12084
  styles: {
12067
- width: '100%',
12068
- height: '100%',
12085
+ fontSize: '16@fs',
12086
+ color: 'THEME_COLORS.TEXT',
12087
+ fontWeight: '400',
12088
+ flexDirection: 'row',
12069
12089
  position: 'absolute',
12070
- top: 0,
12071
- left: 0,
12072
- right: 0,
12073
- bottom: 0,
12074
12090
  zIndex: 1,
12075
- flexDirection: 'column',
12076
12091
  alignSelf: 'flex-start',
12077
12092
  flexGrow: 0,
12078
12093
  flexShrink: 0,
12094
+ top: '35@vs',
12095
+ left: '24@s',
12096
+ justifyContent: 'center',
12097
+ alignItems: 'center',
12079
12098
  },
12099
+ translateCounter: 1,
12100
+ numberOfLines: 1,
12101
+ testID: 'paywall-close-button',
12102
+ size: 24,
12080
12103
  },
12081
12104
  types: {},
12082
12105
  },
12083
12106
  {
12084
12107
  schemaVersion: 2,
12085
12108
  pattern: {
12086
- type: 'PaywallCloseButton',
12109
+ type: 'PaywallFooter',
12087
12110
  title: 'title',
12088
12111
  description: 'description',
12089
12112
  children: 'never',
12090
12113
  attributes: {
12091
- iconType: 'iconType',
12092
- size: 'number',
12093
- strokeWidth: 'number',
12094
12114
  adjustsFontSizeToFit: 'boolean',
12095
12115
  numberOfLines: 'number',
12096
12116
  translateCounter: 'number',
@@ -12150,12 +12170,19 @@ export const patterns = [
12150
12170
  },
12151
12171
  scrollable: 'boolean',
12152
12172
  testID: 'string',
12173
+ textLocalizationKey: 'string',
12174
+ linkedWordFirstLocalizationKey: 'string',
12175
+ linkedWordFirstColor: 'color',
12176
+ linkedWordFirstPage: 'string',
12177
+ linkedWordSecondLocalizationKey: 'string',
12178
+ linkedWordSecondColor: 'color',
12179
+ linkedWordSecondPage: 'string',
12153
12180
  },
12154
12181
  },
12155
12182
  meta: {
12156
12183
  desiredParent: ['>PaywallProvider'],
12157
- label: 'Paywall Close Button',
12158
- description: 'Paywall Close Button component.',
12184
+ label: 'Paywall Footer',
12185
+ description: 'Footer text with optional links for paywall screens.',
12159
12186
  styles: {
12160
12187
  color: {
12161
12188
  label: 'Color',
@@ -12195,27 +12222,6 @@ export const patterns = [
12195
12222
  },
12196
12223
  },
12197
12224
  attributes: {
12198
- iconType: {
12199
- label: 'Icon',
12200
- description: 'Which icon to render.',
12201
- category: 'other',
12202
- specialCategory: null,
12203
- sort: 1,
12204
- },
12205
- size: {
12206
- label: 'Size',
12207
- description: 'Icon size (px).',
12208
- category: 'other',
12209
- specialCategory: null,
12210
- sort: 2,
12211
- },
12212
- strokeWidth: {
12213
- label: 'Stroke Width',
12214
- description: 'SVG stroke width override (applied to the icon paths).',
12215
- category: 'other',
12216
- specialCategory: null,
12217
- sort: 3,
12218
- },
12219
12225
  adjustsFontSizeToFit: {
12220
12226
  label: 'Adjust Font Size To Fit',
12221
12227
  description:
@@ -12505,6 +12511,55 @@ export const patterns = [
12505
12511
  sort: 26,
12506
12512
  },
12507
12513
  },
12514
+ textLocalizationKey: {
12515
+ label: 'Text Localization Key',
12516
+ description: 'Localization key for the footer text.',
12517
+ category: 'other',
12518
+ specialCategory: null,
12519
+ sort: 1,
12520
+ },
12521
+ linkedWordFirstLocalizationKey: {
12522
+ label: 'Linked Word First Localization Key',
12523
+ description: 'Key for the first linked word.',
12524
+ category: 'other',
12525
+ specialCategory: null,
12526
+ sort: 2,
12527
+ },
12528
+ linkedWordFirstColor: {
12529
+ label: 'Linked Word First Color',
12530
+ description: 'Color of the first linked word.',
12531
+ category: 'other',
12532
+ specialCategory: null,
12533
+ sort: 3,
12534
+ },
12535
+ linkedWordFirstPage: {
12536
+ label: 'Linked Word First Page',
12537
+ description: 'Page opened by the first link.',
12538
+ category: 'other',
12539
+ specialCategory: null,
12540
+ sort: 4,
12541
+ },
12542
+ linkedWordSecondLocalizationKey: {
12543
+ label: 'Linked Word Second Localization Key',
12544
+ description: 'Key for the second linked word.',
12545
+ category: 'other',
12546
+ specialCategory: null,
12547
+ sort: 5,
12548
+ },
12549
+ linkedWordSecondColor: {
12550
+ label: 'Linked Word Second Color',
12551
+ description: 'Color of the second linked word.',
12552
+ category: 'other',
12553
+ specialCategory: null,
12554
+ sort: 6,
12555
+ },
12556
+ linkedWordSecondPage: {
12557
+ label: 'Linked Word Second Page',
12558
+ description: 'Page opened by the second link.',
12559
+ category: 'other',
12560
+ specialCategory: null,
12561
+ sort: 7,
12562
+ },
12508
12563
  },
12509
12564
  specialCategories: {
12510
12565
  padding: {
@@ -12534,47 +12589,38 @@ export const patterns = [
12534
12589
  },
12535
12590
  },
12536
12591
  defaults: {
12537
- iconType: 'close',
12538
- strokeWidth: 1.5,
12592
+ translateCounter: 1,
12593
+ numberOfLines: 1,
12539
12594
  styles: {
12540
- fontSize: '16@fs',
12541
12595
  color: 'THEME_COLORS.TEXT',
12596
+ fontSize: '16@fs',
12542
12597
  fontWeight: '400',
12543
12598
  flexDirection: 'row',
12544
- position: 'absolute',
12599
+ position: 'relative',
12545
12600
  zIndex: 1,
12546
12601
  alignSelf: 'flex-start',
12547
12602
  flexGrow: 0,
12548
12603
  flexShrink: 0,
12549
- top: '35@vs',
12550
- left: '24@s',
12551
- justifyContent: 'center',
12604
+ minHeight: '50@vs',
12605
+ flexWrap: 'wrap',
12552
12606
  alignItems: 'center',
12607
+ justifyContent: 'center',
12608
+ textAlign: 'center',
12609
+ paddingHorizontal: '16@s',
12553
12610
  },
12554
- translateCounter: 1,
12555
- numberOfLines: 1,
12556
- testID: 'paywall-close-button',
12557
- size: 24,
12558
12611
  },
12559
12612
  types: {},
12560
12613
  },
12561
12614
  {
12562
12615
  schemaVersion: 2,
12563
12616
  pattern: {
12564
- type: 'PaywallFooter',
12617
+ type: 'PaywallOptions',
12565
12618
  title: 'title',
12566
12619
  description: 'description',
12567
- children: 'never',
12620
+ children: 'node',
12568
12621
  attributes: {
12569
- adjustsFontSizeToFit: 'boolean',
12570
- numberOfLines: 'number',
12571
- translateCounter: 'number',
12622
+ scrollable: 'boolean',
12572
12623
  styles: {
12573
- color: 'color',
12574
- fontSize: 'size',
12575
- fontFamily: 'fontFamily',
12576
- fontWeight: 'fontWeight',
12577
- textAlign: 'string',
12578
12624
  flexDirection: ['row', 'column'],
12579
12625
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
12580
12626
  alignItems: [
@@ -12623,76 +12669,40 @@ export const patterns = [
12623
12669
  right: 'size',
12624
12670
  zIndex: 'number',
12625
12671
  },
12626
- scrollable: 'boolean',
12627
12672
  testID: 'string',
12628
- textLocalizationKey: 'string',
12629
- linkedWordFirstLocalizationKey: 'string',
12630
- linkedWordFirstColor: 'color',
12631
- linkedWordFirstPage: 'string',
12632
- linkedWordSecondLocalizationKey: 'string',
12633
- linkedWordSecondColor: 'color',
12634
- linkedWordSecondPage: 'string',
12635
12673
  },
12636
12674
  },
12637
12675
  meta: {
12638
12676
  desiredParent: ['>PaywallProvider'],
12639
- label: 'Paywall Footer',
12640
- description: 'Footer text with optional links for paywall screens.',
12641
- styles: {
12642
- color: {
12643
- label: 'Color',
12644
- description: 'Text color.',
12645
- category: 'style',
12646
- specialCategory: null,
12677
+ label: 'Paywall Options',
12678
+ description: 'Paywall options selector component.',
12679
+ specialCategories: {
12680
+ padding: {
12681
+ label: 'Padding',
12682
+ description: 'Uniform padding on all sides.',
12683
+ category: 'container',
12647
12684
  sort: 1,
12648
12685
  },
12649
- fontSize: {
12650
- label: 'Font Size',
12651
- description: 'Text size.',
12652
- category: 'style',
12653
- specialCategory: null,
12686
+ margin: {
12687
+ label: 'Margin',
12688
+ description: 'Uniform margin on all sides.',
12689
+ category: 'container',
12654
12690
  sort: 2,
12655
- preferredScale: 'f',
12656
12691
  },
12657
- fontFamily: {
12658
- label: 'Font Family',
12659
- description: 'Font family used for the text.',
12660
- category: 'style',
12661
- specialCategory: null,
12692
+ size: {
12693
+ label: 'Size',
12694
+ description: 'Fixed dimensions.',
12695
+ category: 'container',
12662
12696
  sort: 3,
12663
12697
  },
12664
- fontWeight: {
12665
- label: 'Font Weight',
12666
- description: 'Text weight.',
12667
- category: 'style',
12668
- specialCategory: null,
12698
+ offset: {
12699
+ label: 'Offset',
12700
+ description: 'Absolute positioning offsets.',
12701
+ category: 'container',
12669
12702
  sort: 4,
12670
12703
  },
12671
- textAlign: {
12672
- label: 'Text Align',
12673
- description: 'Text alignment.',
12674
- category: 'style',
12675
- specialCategory: null,
12676
- sort: 5,
12677
- },
12678
12704
  },
12679
12705
  attributes: {
12680
- adjustsFontSizeToFit: {
12681
- label: 'Adjust Font Size To Fit',
12682
- description:
12683
- 'Automatically reduces font size to fit the available space.',
12684
- category: 'other',
12685
- specialCategory: null,
12686
- sort: 1,
12687
- },
12688
- showEllipsis: {
12689
- label: 'Show Ellipsis',
12690
- description:
12691
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
12692
- category: 'other',
12693
- specialCategory: null,
12694
- sort: 2,
12695
- },
12696
12706
  scrollable: {
12697
12707
  label: 'Scrollable',
12698
12708
  description: 'Turns scroll interaction on.',
@@ -12966,102 +12976,20 @@ export const patterns = [
12966
12976
  sort: 26,
12967
12977
  },
12968
12978
  },
12969
- textLocalizationKey: {
12970
- label: 'Text Localization Key',
12971
- description: 'Localization key for the footer text.',
12972
- category: 'other',
12973
- specialCategory: null,
12974
- sort: 1,
12975
- },
12976
- linkedWordFirstLocalizationKey: {
12977
- label: 'Linked Word First Localization Key',
12978
- description: 'Key for the first linked word.',
12979
- category: 'other',
12980
- specialCategory: null,
12981
- sort: 2,
12982
- },
12983
- linkedWordFirstColor: {
12984
- label: 'Linked Word First Color',
12985
- description: 'Color of the first linked word.',
12986
- category: 'other',
12987
- specialCategory: null,
12988
- sort: 3,
12989
- },
12990
- linkedWordFirstPage: {
12991
- label: 'Linked Word First Page',
12992
- description: 'Page opened by the first link.',
12993
- category: 'other',
12994
- specialCategory: null,
12995
- sort: 4,
12996
- },
12997
- linkedWordSecondLocalizationKey: {
12998
- label: 'Linked Word Second Localization Key',
12999
- description: 'Key for the second linked word.',
13000
- category: 'other',
13001
- specialCategory: null,
13002
- sort: 5,
13003
- },
13004
- linkedWordSecondColor: {
13005
- label: 'Linked Word Second Color',
13006
- description: 'Color of the second linked word.',
13007
- category: 'other',
13008
- specialCategory: null,
13009
- sort: 6,
13010
- },
13011
- linkedWordSecondPage: {
13012
- label: 'Linked Word Second Page',
13013
- description: 'Page opened by the second link.',
13014
- category: 'other',
13015
- specialCategory: null,
13016
- sort: 7,
13017
- },
13018
- },
13019
- specialCategories: {
13020
- padding: {
13021
- label: 'Padding',
13022
- description: 'Uniform padding on all sides.',
13023
- category: 'container',
13024
- sort: 1,
13025
- },
13026
- margin: {
13027
- label: 'Margin',
13028
- description: 'Uniform margin on all sides.',
13029
- category: 'container',
13030
- sort: 2,
13031
- },
13032
- size: {
13033
- label: 'Size',
13034
- description: 'Fixed dimensions.',
13035
- category: 'container',
13036
- sort: 3,
13037
- },
13038
- offset: {
13039
- label: 'Offset',
13040
- description: 'Absolute positioning offsets.',
13041
- category: 'container',
13042
- sort: 4,
13043
- },
13044
12979
  },
12980
+ styles: {},
13045
12981
  },
13046
12982
  defaults: {
13047
- translateCounter: 1,
13048
- numberOfLines: 1,
13049
12983
  styles: {
13050
- color: 'THEME_COLORS.TEXT',
13051
- fontSize: '16@fs',
13052
- fontWeight: '400',
13053
12984
  flexDirection: 'row',
13054
12985
  position: 'relative',
13055
12986
  zIndex: 1,
13056
12987
  alignSelf: 'flex-start',
13057
12988
  flexGrow: 0,
13058
12989
  flexShrink: 0,
13059
- minHeight: '50@vs',
13060
- flexWrap: 'wrap',
12990
+ justifyContent: 'space-between',
13061
12991
  alignItems: 'center',
13062
- justifyContent: 'center',
13063
- textAlign: 'center',
13064
- paddingHorizontal: '16@s',
12992
+ minHeight: '60px',
13065
12993
  },
13066
12994
  },
13067
12995
  types: {},
@@ -13069,7 +12997,7 @@ export const patterns = [
13069
12997
  {
13070
12998
  schemaVersion: 2,
13071
12999
  pattern: {
13072
- type: 'PaywallOptions',
13000
+ type: 'PaywallProvider',
13073
13001
  title: 'title',
13074
13002
  description: 'description',
13075
13003
  children: 'node',
@@ -13125,12 +13053,13 @@ export const patterns = [
13125
13053
  zIndex: 'number',
13126
13054
  },
13127
13055
  testID: 'string',
13056
+ delay: 'number',
13128
13057
  },
13129
13058
  },
13130
13059
  meta: {
13131
- desiredParent: ['>PaywallProvider'],
13132
- label: 'Paywall Options',
13133
- description: 'Paywall options selector component.',
13060
+ desiredParent: ['all'],
13061
+ label: 'Paywall Provider',
13062
+ description: 'Provider/wrapper for paywall screen components.',
13134
13063
  specialCategories: {
13135
13064
  padding: {
13136
13065
  label: 'Padding',
@@ -13431,20 +13360,28 @@ export const patterns = [
13431
13360
  sort: 26,
13432
13361
  },
13433
13362
  },
13363
+ delay: {
13364
+ label: 'Back Delay (ms)',
13365
+ description:
13366
+ 'Milliseconds before the paywall can be dismissed via back/close.',
13367
+ category: 'other',
13368
+ specialCategory: null,
13369
+ sort: 1,
13370
+ },
13434
13371
  },
13372
+ mockableFeatures: { products: true, benefits: true },
13435
13373
  styles: {},
13436
13374
  },
13437
13375
  defaults: {
13438
13376
  styles: {
13439
- flexDirection: 'row',
13377
+ flexDirection: 'column',
13440
13378
  position: 'relative',
13441
13379
  zIndex: 1,
13442
13380
  alignSelf: 'flex-start',
13443
13381
  flexGrow: 0,
13444
13382
  flexShrink: 0,
13445
- justifyContent: 'space-between',
13446
- alignItems: 'center',
13447
- minHeight: '60px',
13383
+ width: '100%',
13384
+ height: '100%',
13448
13385
  },
13449
13386
  },
13450
13387
  types: {},
@@ -13452,13 +13389,27 @@ export const patterns = [
13452
13389
  {
13453
13390
  schemaVersion: 2,
13454
13391
  pattern: {
13455
- type: 'PaywallProvider',
13392
+ type: 'PaywallSubscribeButton',
13456
13393
  title: 'title',
13457
13394
  description: 'description',
13458
- children: 'node',
13395
+ children: 'string',
13459
13396
  attributes: {
13460
- scrollable: 'boolean',
13461
13397
  styles: {
13398
+ color: 'color',
13399
+ fontSize: 'size',
13400
+ fontWeight: [
13401
+ 'normal',
13402
+ 'bold',
13403
+ '100',
13404
+ '200',
13405
+ '300',
13406
+ '400',
13407
+ '500',
13408
+ '600',
13409
+ '700',
13410
+ '800',
13411
+ '900',
13412
+ ],
13462
13413
  flexDirection: ['row', 'column'],
13463
13414
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
13464
13415
  alignItems: [
@@ -13507,26 +13458,37 @@ export const patterns = [
13507
13458
  right: 'size',
13508
13459
  zIndex: 'number',
13509
13460
  },
13461
+ scrollable: 'boolean',
13510
13462
  testID: 'string',
13511
- delay: 'number',
13512
- animation: [
13513
- 'default',
13514
- 'fade',
13515
- 'fade_from_bottom',
13516
- 'fade_from_right',
13517
- 'reveal_from_bottom',
13518
- 'scale_from_center',
13519
- 'slide_from_right',
13520
- 'slide_from_left',
13521
- 'slide_from_bottom',
13522
- 'none',
13523
- ],
13524
13463
  },
13525
13464
  },
13526
13465
  meta: {
13527
- desiredParent: ['all'],
13528
- label: 'Paywall Provider',
13529
- description: 'Provider/wrapper for paywall screen components.',
13466
+ desiredParent: ['>PaywallProvider'],
13467
+ label: 'Paywall Subscribe Button',
13468
+ description: 'Paywall subscribe call-to-action button. Extends Button.',
13469
+ styles: {
13470
+ color: {
13471
+ label: 'Color',
13472
+ description: 'Text color of the button.',
13473
+ category: 'style',
13474
+ specialCategory: null,
13475
+ sort: 1,
13476
+ },
13477
+ fontSize: {
13478
+ label: 'Font Size',
13479
+ description: 'Text size of the button.',
13480
+ category: 'style',
13481
+ specialCategory: null,
13482
+ sort: 2,
13483
+ },
13484
+ fontWeight: {
13485
+ label: 'Font Weight',
13486
+ description: 'Text weight of the button.',
13487
+ category: 'style',
13488
+ specialCategory: null,
13489
+ sort: 3,
13490
+ },
13491
+ },
13530
13492
  specialCategories: {
13531
13493
  padding: {
13532
13494
  label: 'Padding',
@@ -13827,36 +13789,26 @@ export const patterns = [
13827
13789
  sort: 26,
13828
13790
  },
13829
13791
  },
13830
- delay: {
13831
- label: 'Back Delay (ms)',
13832
- description:
13833
- 'Milliseconds before the paywall can be dismissed via back/close.',
13834
- category: 'other',
13835
- specialCategory: null,
13836
- sort: 1,
13837
- },
13838
- animation: {
13839
- label: 'Page transition animation',
13840
- description:
13841
- 'When this component is a GlobalProvider page: animation used when navigating to this screen.',
13842
- category: 'other',
13843
- specialCategory: null,
13844
- sort: 2,
13845
- },
13846
13792
  },
13847
- mockableFeatures: { products: true, benefits: true },
13848
- styles: {},
13849
13793
  },
13850
13794
  defaults: {
13851
13795
  styles: {
13796
+ display: 'flex',
13797
+ alignItems: 'center',
13798
+ justifyContent: 'center',
13799
+ backgroundColor: '#6495ED',
13852
13800
  flexDirection: 'column',
13853
13801
  position: 'relative',
13854
13802
  zIndex: 1,
13855
13803
  alignSelf: 'flex-start',
13856
13804
  flexGrow: 0,
13857
13805
  flexShrink: 0,
13858
- width: '100%',
13859
- height: '100%',
13806
+ paddingHorizontal: '20@s',
13807
+ paddingVertical: '12@vs',
13808
+ borderRadius: '12@s',
13809
+ color: '#FFFFFF',
13810
+ fontSize: '16@fs',
13811
+ fontWeight: '700',
13860
13812
  },
13861
13813
  },
13862
13814
  types: {},
@@ -13864,27 +13816,20 @@ export const patterns = [
13864
13816
  {
13865
13817
  schemaVersion: 2,
13866
13818
  pattern: {
13867
- type: 'PaywallSubscribeButton',
13819
+ type: 'PriceTag',
13868
13820
  title: 'title',
13869
13821
  description: 'description',
13870
13822
  children: 'string',
13871
13823
  attributes: {
13824
+ adjustsFontSizeToFit: 'boolean',
13825
+ numberOfLines: 'number',
13826
+ translateCounter: 'number',
13872
13827
  styles: {
13873
13828
  color: 'color',
13874
13829
  fontSize: 'size',
13875
- fontWeight: [
13876
- 'normal',
13877
- 'bold',
13878
- '100',
13879
- '200',
13880
- '300',
13881
- '400',
13882
- '500',
13883
- '600',
13884
- '700',
13885
- '800',
13886
- '900',
13887
- ],
13830
+ fontFamily: 'fontFamily',
13831
+ fontWeight: 'fontWeight',
13832
+ textAlign: 'string',
13888
13833
  flexDirection: ['row', 'column'],
13889
13834
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
13890
13835
  alignItems: [
@@ -13932,65 +13877,81 @@ export const patterns = [
13932
13877
  left: 'size',
13933
13878
  right: 'size',
13934
13879
  zIndex: 'number',
13880
+ textDecorationLine: ['none', 'underline', 'line-through'],
13935
13881
  },
13936
13882
  scrollable: 'boolean',
13937
13883
  testID: 'string',
13884
+ showOriginalPricePossible: 'boolean',
13885
+ hideIfItsNotDiscount: 'boolean',
13938
13886
  },
13939
13887
  },
13940
13888
  meta: {
13941
13889
  desiredParent: ['>PaywallProvider'],
13942
- label: 'Paywall Subscribe Button',
13943
- description: 'Paywall subscribe call-to-action button. Extends Button.',
13890
+ label: 'Price Tag',
13891
+ description: 'Displays a price tag text. Extends Text.',
13944
13892
  styles: {
13945
13893
  color: {
13946
13894
  label: 'Color',
13947
- description: 'Text color of the button.',
13895
+ description: 'Text color.',
13948
13896
  category: 'style',
13949
13897
  specialCategory: null,
13950
13898
  sort: 1,
13951
13899
  },
13952
13900
  fontSize: {
13953
13901
  label: 'Font Size',
13954
- description: 'Text size of the button.',
13902
+ description: 'Text size.',
13955
13903
  category: 'style',
13956
13904
  specialCategory: null,
13957
13905
  sort: 2,
13906
+ preferredScale: 'f',
13958
13907
  },
13959
- fontWeight: {
13960
- label: 'Font Weight',
13961
- description: 'Text weight of the button.',
13908
+ fontFamily: {
13909
+ label: 'Font Family',
13910
+ description: 'Font family used for the text.',
13962
13911
  category: 'style',
13963
13912
  specialCategory: null,
13964
13913
  sort: 3,
13965
13914
  },
13966
- },
13967
- specialCategories: {
13968
- padding: {
13969
- label: 'Padding',
13970
- description: 'Uniform padding on all sides.',
13971
- category: 'container',
13972
- sort: 1,
13973
- },
13974
- margin: {
13975
- label: 'Margin',
13976
- description: 'Uniform margin on all sides.',
13977
- category: 'container',
13978
- sort: 2,
13915
+ fontWeight: {
13916
+ label: 'Font Weight',
13917
+ description: 'Text weight.',
13918
+ category: 'style',
13919
+ specialCategory: null,
13920
+ sort: 4,
13979
13921
  },
13980
- size: {
13981
- label: 'Size',
13982
- description: 'Fixed dimensions.',
13983
- category: 'container',
13984
- sort: 3,
13922
+ textAlign: {
13923
+ label: 'Text Align',
13924
+ description: 'Text alignment.',
13925
+ category: 'style',
13926
+ specialCategory: null,
13927
+ sort: 5,
13985
13928
  },
13986
- offset: {
13987
- label: 'Offset',
13988
- description: 'Absolute positioning offsets.',
13989
- category: 'container',
13990
- sort: 4,
13929
+ textDecorationLine: {
13930
+ label: 'Text Decoration',
13931
+ description:
13932
+ 'Text decoration line style (e.g. line-through for strikethrough).',
13933
+ category: 'style',
13934
+ specialCategory: null,
13935
+ sort: 6,
13991
13936
  },
13992
13937
  },
13993
13938
  attributes: {
13939
+ adjustsFontSizeToFit: {
13940
+ label: 'Adjust Font Size To Fit',
13941
+ description:
13942
+ 'Automatically reduces font size to fit the available space.',
13943
+ category: 'other',
13944
+ specialCategory: null,
13945
+ sort: 1,
13946
+ },
13947
+ showEllipsis: {
13948
+ label: 'Show Ellipsis',
13949
+ description:
13950
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
13951
+ category: 'other',
13952
+ specialCategory: null,
13953
+ sort: 2,
13954
+ },
13994
13955
  scrollable: {
13995
13956
  label: 'Scrollable',
13996
13957
  description: 'Turns scroll interaction on.',
@@ -14264,26 +14225,62 @@ export const patterns = [
14264
14225
  sort: 26,
14265
14226
  },
14266
14227
  },
14228
+ showOriginalPricePossible: {
14229
+ label: 'Show Original Price Possible',
14230
+ description: 'When enabled, shows the original price if available.',
14231
+ category: 'other',
14232
+ specialCategory: null,
14233
+ sort: 1,
14234
+ },
14235
+ hideIfItsNotDiscount: {
14236
+ label: 'Hide If No Discount',
14237
+ description:
14238
+ 'Hides this element when there is no active discount/promo.',
14239
+ category: 'other',
14240
+ specialCategory: null,
14241
+ sort: 2,
14242
+ },
14243
+ },
14244
+ specialCategories: {
14245
+ padding: {
14246
+ label: 'Padding',
14247
+ description: 'Uniform padding on all sides.',
14248
+ category: 'container',
14249
+ sort: 1,
14250
+ },
14251
+ margin: {
14252
+ label: 'Margin',
14253
+ description: 'Uniform margin on all sides.',
14254
+ category: 'container',
14255
+ sort: 2,
14256
+ },
14257
+ size: {
14258
+ label: 'Size',
14259
+ description: 'Fixed dimensions.',
14260
+ category: 'container',
14261
+ sort: 3,
14262
+ },
14263
+ offset: {
14264
+ label: 'Offset',
14265
+ description: 'Absolute positioning offsets.',
14266
+ category: 'container',
14267
+ sort: 4,
14268
+ },
14267
14269
  },
14268
14270
  },
14269
14271
  defaults: {
14272
+ translateCounter: 1,
14273
+ numberOfLines: 1,
14270
14274
  styles: {
14271
- display: 'flex',
14272
- alignItems: 'center',
14273
- justifyContent: 'center',
14274
- backgroundColor: '#6495ED',
14275
+ color: 'THEME_COLORS.TEXT',
14276
+ fontSize: '16@fs',
14277
+ fontWeight: '700',
14275
14278
  flexDirection: 'column',
14276
14279
  position: 'relative',
14277
14280
  zIndex: 1,
14278
14281
  alignSelf: 'flex-start',
14279
14282
  flexGrow: 0,
14280
14283
  flexShrink: 0,
14281
- paddingHorizontal: '20@s',
14282
- paddingVertical: '12@vs',
14283
- borderRadius: '12@s',
14284
- color: '#FFFFFF',
14285
- fontSize: '16@fs',
14286
- fontWeight: '700',
14287
14284
  },
14288
14285
  },
14289
14286
  types: {},
@@ -14291,9 +14288,9 @@ export const patterns = [
14291
14288
  {
14292
14289
  schemaVersion: 2,
14293
14290
  pattern: {
14294
- type: 'PriceTag',
14291
+ type: 'Pricing',
14295
14292
  title: 'title',
14296
- description: 'description',
14293
+ description: 'base.builder.paywall.pricing.default.text',
14297
14294
  children: 'string',
14298
14295
  attributes: {
14299
14296
  adjustsFontSizeToFit: 'boolean',
@@ -14352,18 +14349,16 @@ export const patterns = [
14352
14349
  left: 'size',
14353
14350
  right: 'size',
14354
14351
  zIndex: 'number',
14355
- textDecorationLine: ['none', 'underline', 'line-through'],
14356
14352
  },
14357
14353
  scrollable: 'boolean',
14358
14354
  testID: 'string',
14359
- showOriginalPricePossible: 'boolean',
14360
- hideIfItsNotDiscount: 'boolean',
14361
14355
  },
14362
14356
  },
14363
14357
  meta: {
14364
14358
  desiredParent: ['>PaywallProvider'],
14365
- label: 'Price Tag',
14366
- description: 'Displays a price tag text. Extends Text.',
14359
+ label: 'Pricing',
14360
+ description:
14361
+ 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
14367
14362
  styles: {
14368
14363
  color: {
14369
14364
  label: 'Color',
@@ -14401,14 +14396,6 @@ export const patterns = [
14401
14396
  specialCategory: null,
14402
14397
  sort: 5,
14403
14398
  },
14404
- textDecorationLine: {
14405
- label: 'Text Decoration',
14406
- description:
14407
- 'Text decoration line style (e.g. line-through for strikethrough).',
14408
- category: 'style',
14409
- specialCategory: null,
14410
- sort: 6,
14411
- },
14412
14399
  },
14413
14400
  attributes: {
14414
14401
  adjustsFontSizeToFit: {
@@ -14700,21 +14687,6 @@ export const patterns = [
14700
14687
  sort: 26,
14701
14688
  },
14702
14689
  },
14703
- showOriginalPricePossible: {
14704
- label: 'Show Original Price Possible',
14705
- description: 'When enabled, shows the original price if available.',
14706
- category: 'other',
14707
- specialCategory: null,
14708
- sort: 1,
14709
- },
14710
- hideIfItsNotDiscount: {
14711
- label: 'Hide If No Discount',
14712
- description:
14713
- 'Hides this element when there is no active discount/promo.',
14714
- category: 'other',
14715
- specialCategory: null,
14716
- sort: 2,
14717
- },
14718
14690
  },
14719
14691
  specialCategories: {
14720
14692
  padding: {
@@ -14744,18 +14716,19 @@ export const patterns = [
14744
14716
  },
14745
14717
  },
14746
14718
  defaults: {
14747
- translateCounter: 1,
14719
+ translateCounter: 2,
14748
14720
  numberOfLines: 1,
14749
14721
  styles: {
14750
- color: 'THEME_COLORS.TEXT',
14751
- fontSize: '16@fs',
14752
- fontWeight: '700',
14722
+ color: 'rgba(255,255,255,0.6)',
14723
+ fontSize: '12@fs',
14724
+ fontWeight: '400',
14753
14725
  flexDirection: 'column',
14754
14726
  position: 'relative',
14755
14727
  zIndex: 1,
14756
14728
  alignSelf: 'flex-start',
14757
14729
  flexGrow: 0,
14758
14730
  flexShrink: 0,
14731
+ textAlign: 'center',
14759
14732
  },
14760
14733
  },
14761
14734
  types: {},
@@ -14763,9 +14736,9 @@ export const patterns = [
14763
14736
  {
14764
14737
  schemaVersion: 2,
14765
14738
  pattern: {
14766
- type: 'Pricing',
14739
+ type: 'Promo',
14767
14740
  title: 'title',
14768
- description: 'base.builder.paywall.pricing.default.text',
14741
+ description: 'base.builder.paywall.promo.default.text',
14769
14742
  children: 'string',
14770
14743
  attributes: {
14771
14744
  adjustsFontSizeToFit: 'boolean',
@@ -14831,9 +14804,9 @@ export const patterns = [
14831
14804
  },
14832
14805
  meta: {
14833
14806
  desiredParent: ['>PaywallProvider'],
14834
- label: 'Pricing',
14807
+ label: 'Promo',
14835
14808
  description:
14836
- 'Displays pricing details (e.g. promo/trial breakdown). Extends Text.',
14809
+ 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
14837
14810
  styles: {
14838
14811
  color: {
14839
14812
  label: 'Color',
@@ -15194,9 +15167,9 @@ export const patterns = [
15194
15167
  translateCounter: 2,
15195
15168
  numberOfLines: 1,
15196
15169
  styles: {
15197
- color: 'rgba(255,255,255,0.6)',
15170
+ color: '#34D399',
15198
15171
  fontSize: '12@fs',
15199
- fontWeight: '400',
15172
+ fontWeight: '600',
15200
15173
  flexDirection: 'column',
15201
15174
  position: 'relative',
15202
15175
  zIndex: 1,
@@ -15211,20 +15184,13 @@ export const patterns = [
15211
15184
  {
15212
15185
  schemaVersion: 2,
15213
15186
  pattern: {
15214
- type: 'Promo',
15187
+ type: 'RadioButton',
15215
15188
  title: 'title',
15216
- description: 'base.builder.paywall.promo.default.text',
15217
- children: 'string',
15189
+ description: 'description',
15190
+ children: 'never',
15218
15191
  attributes: {
15219
- adjustsFontSizeToFit: 'boolean',
15220
- numberOfLines: 'number',
15221
- translateCounter: 'number',
15192
+ scrollable: 'boolean',
15222
15193
  styles: {
15223
- color: 'color',
15224
- fontSize: 'size',
15225
- fontFamily: 'fontFamily',
15226
- fontWeight: 'fontWeight',
15227
- textAlign: 'string',
15228
15194
  flexDirection: ['row', 'column'],
15229
15195
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
15230
15196
  alignItems: [
@@ -15273,70 +15239,43 @@ export const patterns = [
15273
15239
  right: 'size',
15274
15240
  zIndex: 'number',
15275
15241
  },
15276
- scrollable: 'boolean',
15277
15242
  testID: 'string',
15243
+ selected: 'boolean',
15244
+ color: 'color',
15245
+ size: 'number',
15278
15246
  },
15279
15247
  },
15280
15248
  meta: {
15281
- desiredParent: ['>PaywallProvider'],
15282
- label: 'Promo',
15283
- description:
15284
- 'Displays promotional badge/text (e.g. discount percentage). Extends Text.',
15285
- styles: {
15286
- color: {
15287
- label: 'Color',
15288
- description: 'Text color.',
15289
- category: 'style',
15290
- specialCategory: null,
15249
+ desiredParent: ['all'],
15250
+ label: 'Radio Button',
15251
+ description: 'Generic radio button icon.',
15252
+ specialCategories: {
15253
+ padding: {
15254
+ label: 'Padding',
15255
+ description: 'Uniform padding on all sides.',
15256
+ category: 'container',
15291
15257
  sort: 1,
15292
15258
  },
15293
- fontSize: {
15294
- label: 'Font Size',
15295
- description: 'Text size.',
15296
- category: 'style',
15297
- specialCategory: null,
15259
+ margin: {
15260
+ label: 'Margin',
15261
+ description: 'Uniform margin on all sides.',
15262
+ category: 'container',
15298
15263
  sort: 2,
15299
- preferredScale: 'f',
15300
15264
  },
15301
- fontFamily: {
15302
- label: 'Font Family',
15303
- description: 'Font family used for the text.',
15304
- category: 'style',
15305
- specialCategory: null,
15265
+ size: {
15266
+ label: 'Size',
15267
+ description: 'Fixed dimensions.',
15268
+ category: 'container',
15306
15269
  sort: 3,
15307
15270
  },
15308
- fontWeight: {
15309
- label: 'Font Weight',
15310
- description: 'Text weight.',
15311
- category: 'style',
15312
- specialCategory: null,
15271
+ offset: {
15272
+ label: 'Offset',
15273
+ description: 'Absolute positioning offsets.',
15274
+ category: 'container',
15313
15275
  sort: 4,
15314
15276
  },
15315
- textAlign: {
15316
- label: 'Text Align',
15317
- description: 'Text alignment.',
15318
- category: 'style',
15319
- specialCategory: null,
15320
- sort: 5,
15321
- },
15322
15277
  },
15323
15278
  attributes: {
15324
- adjustsFontSizeToFit: {
15325
- label: 'Adjust Font Size To Fit',
15326
- description:
15327
- 'Automatically reduces font size to fit the available space.',
15328
- category: 'other',
15329
- specialCategory: null,
15330
- sort: 1,
15331
- },
15332
- showEllipsis: {
15333
- label: 'Show Ellipsis',
15334
- description:
15335
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
15336
- category: 'other',
15337
- specialCategory: null,
15338
- sort: 2,
15339
- },
15340
15279
  scrollable: {
15341
15280
  label: 'Scrollable',
15342
15281
  description: 'Turns scroll interaction on.',
@@ -15610,1043 +15549,152 @@ export const patterns = [
15610
15549
  sort: 26,
15611
15550
  },
15612
15551
  },
15613
- },
15614
- specialCategories: {
15615
- padding: {
15616
- label: 'Padding',
15617
- description: 'Uniform padding on all sides.',
15618
- category: 'container',
15619
- sort: 1,
15620
- },
15621
- margin: {
15622
- label: 'Margin',
15623
- description: 'Uniform margin on all sides.',
15624
- category: 'container',
15625
- sort: 2,
15626
- },
15627
- size: {
15628
- label: 'Size',
15629
- description: 'Fixed dimensions.',
15630
- category: 'container',
15631
- sort: 3,
15632
- },
15633
- offset: {
15634
- label: 'Offset',
15635
- description: 'Absolute positioning offsets.',
15636
- category: 'container',
15637
- sort: 4,
15638
- },
15639
- },
15640
- },
15641
- defaults: {
15642
- translateCounter: 2,
15643
- numberOfLines: 1,
15644
- styles: {
15645
- color: '#34D399',
15646
- fontSize: '12@fs',
15647
- fontWeight: '600',
15648
- flexDirection: 'column',
15649
- position: 'relative',
15650
- zIndex: 1,
15651
- alignSelf: 'flex-start',
15652
- flexGrow: 0,
15653
- flexShrink: 0,
15654
- textAlign: 'center',
15655
- },
15656
- },
15657
- types: {},
15658
- },
15659
- {
15660
- schemaVersion: 2,
15661
- pattern: {
15662
- type: 'RadioButton',
15663
- title: 'title',
15664
- description: 'description',
15665
- children: 'never',
15666
- attributes: {
15667
- scrollable: 'boolean',
15668
- styles: {
15669
- flexDirection: ['row', 'column'],
15670
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
15671
- alignItems: [
15672
- 'flex-start',
15673
- 'center',
15674
- 'flex-end',
15675
- 'stretch',
15676
- 'baseline',
15677
- ],
15678
- justifyContent: [
15679
- 'flex-start',
15680
- 'center',
15681
- 'flex-end',
15682
- 'space-between',
15683
- 'space-around',
15684
- 'space-evenly',
15685
- ],
15686
- gap: 'size',
15687
- padding: 'size',
15688
- paddingHorizontal: 'size',
15689
- paddingVertical: 'size',
15690
- paddingTop: 'size',
15691
- paddingBottom: 'size',
15692
- paddingLeft: 'size',
15693
- paddingRight: 'size',
15694
- margin: 'size',
15695
- marginHorizontal: 'size',
15696
- marginVertical: 'size',
15697
- marginTop: 'size',
15698
- marginBottom: 'size',
15699
- marginLeft: 'size',
15700
- marginRight: 'size',
15701
- backgroundColor: 'color',
15702
- borderRadius: 'size',
15703
- width: 'size',
15704
- minWidth: 'size',
15705
- maxWidth: 'size',
15706
- height: 'size',
15707
- minHeight: 'size',
15708
- maxHeight: 'size',
15709
- flex: 'number',
15710
- position: ['relative', 'absolute'],
15711
- top: 'size',
15712
- bottom: 'size',
15713
- left: 'size',
15714
- right: 'size',
15715
- zIndex: 'number',
15716
- },
15717
- testID: 'string',
15718
- selected: 'boolean',
15719
- color: 'color',
15720
- size: 'number',
15721
- },
15722
- },
15723
- meta: {
15724
- desiredParent: ['all'],
15725
- label: 'Radio Button',
15726
- description: 'Generic radio button icon.',
15727
- specialCategories: {
15728
- padding: {
15729
- label: 'Padding',
15730
- description: 'Uniform padding on all sides.',
15731
- category: 'container',
15552
+ color: {
15553
+ label: 'Color',
15554
+ description: 'Radio color.',
15555
+ category: 'style',
15556
+ specialCategory: null,
15732
15557
  sort: 1,
15733
15558
  },
15734
- margin: {
15735
- label: 'Margin',
15736
- description: 'Uniform margin on all sides.',
15737
- category: 'container',
15738
- sort: 2,
15739
- },
15740
15559
  size: {
15741
15560
  label: 'Size',
15742
- description: 'Fixed dimensions.',
15743
- category: 'container',
15744
- sort: 3,
15745
- },
15746
- offset: {
15747
- label: 'Offset',
15748
- description: 'Absolute positioning offsets.',
15749
- category: 'container',
15750
- sort: 4,
15751
- },
15752
- },
15753
- attributes: {
15754
- scrollable: {
15755
- label: 'Scrollable',
15756
- description: 'Turns scroll interaction on.',
15757
- category: 'container',
15561
+ description: 'Radio size in px.',
15562
+ category: 'style',
15758
15563
  specialCategory: null,
15759
- sort: -1,
15760
- },
15761
- styles: {
15762
- backgroundColor: {
15763
- label: 'Background Color',
15764
- description: 'Background fill color.',
15765
- category: 'style',
15766
- specialCategory: null,
15767
- sort: 20,
15768
- },
15769
- borderRadius: {
15770
- label: 'Border Radius',
15771
- description: 'Corner rounding amount.',
15772
- category: 'style',
15773
- specialCategory: null,
15774
- sort: 21,
15775
- preferredScale: 's',
15776
- },
15777
- flexDirection: {
15778
- label: 'Flex Direction',
15779
- description: 'Sets row or column layout.',
15780
- category: 'container',
15781
- specialCategory: null,
15782
- sort: 4,
15783
- },
15784
- flexWrap: {
15785
- label: 'Flex Wrap',
15786
- description: 'Controls whether flex items wrap to multiple lines.',
15787
- category: 'container',
15788
- specialCategory: null,
15789
- sort: 4.5,
15790
- },
15791
- alignItems: {
15792
- label: 'Align Items',
15793
- description: 'Controls cross-axis alignment.',
15794
- category: 'container',
15795
- specialCategory: null,
15796
- sort: 3,
15797
- },
15798
- justifyContent: {
15799
- label: 'Justify Content',
15800
- description: 'Controls main-axis alignment.',
15801
- category: 'container',
15802
- specialCategory: null,
15803
- sort: 5,
15804
- },
15805
- gap: {
15806
- label: 'Gap',
15807
- description: 'Space between children.',
15808
- category: 'container',
15809
- specialCategory: null,
15810
- sort: 10,
15811
- preferredScale: 's',
15812
- },
15813
- padding: {
15814
- label: 'Padding',
15815
- description: 'Uniform padding on all sides.',
15816
- category: 'container',
15817
- specialCategory: 'padding',
15818
- sort: 6,
15819
- preferredScale: 's',
15820
- },
15821
- paddingHorizontal: {
15822
- label: 'Padding Horizontal',
15823
- description: 'Left and right padding.',
15824
- category: 'container',
15825
- specialCategory: 'padding',
15826
- sort: 7,
15827
- preferredScale: 's',
15828
- },
15829
- paddingVertical: {
15830
- label: 'Padding Vertical',
15831
- description: 'Top and bottom padding.',
15832
- category: 'container',
15833
- specialCategory: 'padding',
15834
- sort: 8,
15835
- preferredScale: 'vs',
15836
- },
15837
- paddingTop: {
15838
- label: 'Padding Top',
15839
- description: 'Top padding only.',
15840
- category: 'container',
15841
- specialCategory: 'padding',
15842
- sort: 9,
15843
- preferredScale: 'vs',
15844
- },
15845
- paddingBottom: {
15846
- label: 'Padding Bottom',
15847
- description: 'Bottom padding only.',
15848
- category: 'container',
15849
- specialCategory: 'padding',
15850
- sort: 10,
15851
- preferredScale: 'vs',
15852
- },
15853
- paddingLeft: {
15854
- label: 'Padding Left',
15855
- description: 'Left padding only.',
15856
- category: 'container',
15857
- specialCategory: 'padding',
15858
- sort: 11,
15859
- preferredScale: 's',
15860
- },
15861
- paddingRight: {
15862
- label: 'Padding Right',
15863
- description: 'Right padding only.',
15864
- category: 'container',
15865
- specialCategory: 'padding',
15866
- sort: 12,
15867
- preferredScale: 's',
15868
- },
15869
- margin: {
15870
- label: 'Margin',
15871
- description: 'Uniform margin on all sides.',
15872
- category: 'container',
15873
- specialCategory: 'margin',
15874
- sort: 13,
15875
- preferredScale: 's',
15876
- },
15877
- marginHorizontal: {
15878
- label: 'Margin Horizontal',
15879
- description: 'Left and right margin.',
15880
- category: 'container',
15881
- specialCategory: 'margin',
15882
- sort: 14,
15883
- preferredScale: 's',
15884
- },
15885
- marginVertical: {
15886
- label: 'Margin Vertical',
15887
- description: 'Top and bottom margin.',
15888
- category: 'container',
15889
- specialCategory: 'margin',
15890
- sort: 15,
15891
- preferredScale: 'vs',
15892
- },
15893
- marginTop: {
15894
- label: 'Margin Top',
15895
- description: 'Top margin only.',
15896
- category: 'container',
15897
- specialCategory: 'margin',
15898
- sort: 16,
15899
- preferredScale: 'vs',
15900
- },
15901
- marginBottom: {
15902
- label: 'Margin Bottom',
15903
- description: 'Bottom margin only.',
15904
- category: 'container',
15905
- specialCategory: 'margin',
15906
- sort: 17,
15907
- preferredScale: 'vs',
15908
- },
15909
- marginLeft: {
15910
- label: 'Margin Left',
15911
- description: 'Left margin only.',
15912
- category: 'container',
15913
- specialCategory: 'margin',
15914
- sort: 18,
15915
- preferredScale: 's',
15916
- },
15917
- marginRight: {
15918
- label: 'Margin Right',
15919
- description: 'Right margin only.',
15920
- category: 'container',
15921
- specialCategory: 'margin',
15922
- sort: 19,
15923
- preferredScale: 's',
15924
- },
15925
- width: {
15926
- label: 'Width',
15927
- description: 'Fixed width value.',
15928
- category: 'container',
15929
- specialCategory: 'size',
15930
- sort: 0,
15931
- preferredScale: 's',
15932
- },
15933
- minWidth: {
15934
- label: 'Min Width',
15935
- description: 'Minimum width constraint.',
15936
- category: 'container',
15937
- specialCategory: 'size',
15938
- sort: 1,
15939
- preferredScale: 's',
15940
- },
15941
- maxWidth: {
15942
- label: 'Max Width',
15943
- description: 'Maximum width constraint.',
15944
- category: 'container',
15945
- specialCategory: 'size',
15946
- sort: 2,
15947
- preferredScale: 's',
15948
- },
15949
- height: {
15950
- label: 'Height',
15951
- description: 'Fixed height value.',
15952
- category: 'container',
15953
- specialCategory: 'size',
15954
- sort: 3,
15955
- preferredScale: 'vs',
15956
- },
15957
- minHeight: {
15958
- label: 'Min Height',
15959
- description: 'Minimum height constraint.',
15960
- category: 'container',
15961
- specialCategory: 'size',
15962
- sort: 4,
15963
- preferredScale: 'vs',
15964
- },
15965
- maxHeight: {
15966
- label: 'Max Height',
15967
- description: 'Maximum height constraint.',
15968
- category: 'container',
15969
- specialCategory: 'size',
15970
- sort: 5,
15971
- preferredScale: 'vs',
15972
- },
15973
- flex: {
15974
- label: 'Flex',
15975
- description: 'Flex grow factor (e.g. 1 fills available space).',
15976
- category: 'container',
15977
- specialCategory: 'size',
15978
- sort: 6,
15979
- },
15980
- position: {
15981
- label: 'Position',
15982
- description: 'Sets layout positioning mode.',
15983
- category: 'container',
15984
- specialCategory: null,
15985
- sort: 3,
15986
- },
15987
- top: {
15988
- label: 'Top',
15989
- description: 'Offset from the top edge.',
15990
- category: 'container',
15991
- specialCategory: 'offset',
15992
- sort: 22,
15993
- preferredScale: 'vs',
15994
- },
15995
- bottom: {
15996
- label: 'Bottom',
15997
- description: 'Offset from the bottom edge.',
15998
- category: 'container',
15999
- specialCategory: 'offset',
16000
- sort: 23,
16001
- preferredScale: 'vs',
16002
- },
16003
- left: {
16004
- label: 'Left',
16005
- description: 'Offset from the left edge.',
16006
- category: 'container',
16007
- specialCategory: 'offset',
16008
- sort: 24,
16009
- preferredScale: 's',
16010
- },
16011
- right: {
16012
- label: 'Right',
16013
- description: 'Offset from the right edge.',
16014
- category: 'container',
16015
- specialCategory: 'offset',
16016
- sort: 25,
16017
- preferredScale: 's',
16018
- },
16019
- zIndex: {
16020
- label: 'Z-Index',
16021
- description: 'Controls stacking order.',
16022
- category: 'container',
16023
- specialCategory: null,
16024
- sort: 26,
16025
- },
16026
- },
16027
- color: {
16028
- label: 'Color',
16029
- description: 'Radio color.',
16030
- category: 'style',
16031
- specialCategory: null,
16032
- sort: 1,
16033
- },
16034
- size: {
16035
- label: 'Size',
16036
- description: 'Radio size in px.',
16037
- category: 'style',
16038
- specialCategory: null,
16039
- sort: 2,
15564
+ sort: 2,
16040
15565
  },
16041
15566
  selected: {
16042
15567
  label: 'Selected',
16043
- description: 'Whether the radio is selected.',
16044
- category: 'other',
16045
- specialCategory: null,
16046
- sort: 0,
16047
- },
16048
- },
16049
- styles: {},
16050
- },
16051
- defaults: {
16052
- styles: {
16053
- flexDirection: 'column',
16054
- position: 'relative',
16055
- zIndex: 1,
16056
- alignSelf: 'flex-start',
16057
- flexGrow: 0,
16058
- flexShrink: 0,
16059
- },
16060
- },
16061
- types: {},
16062
- },
16063
- {
16064
- schemaVersion: 2,
16065
- pattern: {
16066
- type: 'Separator',
16067
- title: 'title',
16068
- description: 'description',
16069
- children: 'never',
16070
- attributes: {
16071
- styles: {
16072
- backgroundColor: 'color',
16073
- width: 'size',
16074
- height: 'size',
16075
- marginHorizontal: 'size',
16076
- marginVertical: 'size',
16077
- marginTop: 'size',
16078
- marginBottom: 'size',
16079
- },
16080
- testID: 'string',
16081
- },
16082
- },
16083
- meta: {
16084
- desiredParent: ['all'],
16085
- label: 'Separator',
16086
- description: 'Horizontal line separator.',
16087
- attributes: {
16088
- styles: {
16089
- backgroundColor: {
16090
- label: 'Color',
16091
- description: 'Separator line color.',
16092
- category: 'style',
16093
- specialCategory: null,
16094
- sort: 1,
16095
- },
16096
- width: {
16097
- label: 'Width',
16098
- description: 'Separator width.',
16099
- category: 'container',
16100
- specialCategory: null,
16101
- sort: 1,
16102
- preferredScale: 's',
16103
- },
16104
- height: {
16105
- label: 'Height',
16106
- description: 'Separator thickness.',
16107
- category: 'container',
16108
- specialCategory: null,
16109
- sort: 2,
16110
- preferredScale: 'vs',
16111
- },
16112
- },
16113
- },
16114
- },
16115
- defaults: {
16116
- styles: { width: '100%', height: 2, backgroundColor: '#000000' },
16117
- },
16118
- },
16119
- {
16120
- schemaVersion: 2,
16121
- pattern: {
16122
- type: 'StatusBarColor',
16123
- title: 'title',
16124
- description: 'description',
16125
- children: 'never',
16126
- attributes: {
16127
- styles: { backgroundColor: 'color' },
16128
- translucent: 'boolean',
16129
- },
16130
- },
16131
- meta: {
16132
- desiredParent: ['all'],
16133
- label: 'Status Bar Color',
16134
- description: 'Sets the OS status bar background color.',
16135
- styles: {
16136
- backgroundColor: {
16137
- label: 'Background Color',
16138
- description: 'Status bar background color.',
16139
- category: 'style',
16140
- specialCategory: null,
16141
- sort: 1,
16142
- },
16143
- },
16144
- attributes: {
16145
- translucent: {
16146
- label: 'Translucent',
16147
- description: 'Sets the status bar to translucent.',
16148
- category: 'style',
16149
- specialCategory: null,
16150
- sort: 2,
16151
- },
16152
- },
16153
- },
16154
- defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
16155
- },
16156
- {
16157
- schemaVersion: 2,
16158
- pattern: {
16159
- type: 'SystemButton',
16160
- title: 'SystemButton',
16161
- description: 'A reusable button component for system actions.',
16162
- children: 'never',
16163
- attributes: {
16164
- adjustsFontSizeToFit: 'boolean',
16165
- numberOfLines: 'number',
16166
- translateCounter: 'number',
16167
- styles: {
16168
- color: 'color',
16169
- fontSize: 'number',
16170
- fontFamily: 'fontFamily',
16171
- fontWeight: 'string',
16172
- textAlign: 'string',
16173
- flexDirection: ['row', 'column'],
16174
- flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
16175
- alignItems: [
16176
- 'flex-start',
16177
- 'center',
16178
- 'flex-end',
16179
- 'stretch',
16180
- 'baseline',
16181
- ],
16182
- justifyContent: [
16183
- 'flex-start',
16184
- 'center',
16185
- 'flex-end',
16186
- 'space-between',
16187
- 'space-around',
16188
- 'space-evenly',
16189
- ],
16190
- gap: 'size',
16191
- padding: 'size',
16192
- paddingHorizontal: 'size',
16193
- paddingVertical: 'size',
16194
- paddingTop: 'size',
16195
- paddingBottom: 'size',
16196
- paddingLeft: 'size',
16197
- paddingRight: 'size',
16198
- margin: 'size',
16199
- marginHorizontal: 'size',
16200
- marginVertical: 'size',
16201
- marginTop: 'size',
16202
- marginBottom: 'size',
16203
- marginLeft: 'size',
16204
- marginRight: 'size',
16205
- backgroundColor: 'color',
16206
- borderRadius: 'number',
16207
- width: 'size',
16208
- minWidth: 'size',
16209
- maxWidth: 'size',
16210
- height: 'number',
16211
- minHeight: 'size',
16212
- maxHeight: 'size',
16213
- flex: 'number',
16214
- position: ['relative', 'absolute'],
16215
- top: 'size',
16216
- bottom: 'size',
16217
- left: 'size',
16218
- right: 'size',
16219
- zIndex: 'number',
16220
- },
16221
- scrollable: 'boolean',
16222
- testID: 'string',
16223
- labelKey: 'string',
16224
- events: 'EventObject[]',
16225
- },
16226
- },
16227
- meta: {
16228
- desiredParent: ['all'],
16229
- label: 'System Button',
16230
- description: 'Versatile button for navigation, permissions, and more.',
16231
- styles: {
16232
- color: {
16233
- label: 'Color',
16234
- description: 'Text color.',
16235
- category: 'style',
16236
- specialCategory: null,
16237
- sort: 1,
16238
- },
16239
- fontSize: {
16240
- label: 'Font Size',
16241
- description: 'Text size.',
16242
- category: 'style',
16243
- specialCategory: null,
16244
- sort: 2,
16245
- preferredScale: 'f',
16246
- },
16247
- fontFamily: {
16248
- label: 'Font Family',
16249
- description: 'Font family used for the text.',
16250
- category: 'style',
16251
- specialCategory: null,
16252
- sort: 3,
16253
- },
16254
- fontWeight: {
16255
- label: 'Font Weight',
16256
- description: 'Text weight.',
16257
- category: 'style',
16258
- specialCategory: null,
16259
- sort: 4,
16260
- },
16261
- textAlign: {
16262
- label: 'Text Align',
16263
- description: 'Text alignment.',
16264
- category: 'style',
16265
- specialCategory: null,
16266
- sort: 5,
16267
- },
16268
- },
16269
- attributes: {
16270
- adjustsFontSizeToFit: {
16271
- label: 'Adjust Font Size To Fit',
16272
- description:
16273
- 'Automatically reduces font size to fit the available space.',
16274
- category: 'other',
16275
- specialCategory: null,
16276
- sort: 1,
16277
- },
16278
- showEllipsis: {
16279
- label: 'Show Ellipsis',
16280
- description:
16281
- 'If text overflows, show ellipsis (…); applied as single-line truncation.',
16282
- category: 'other',
16283
- specialCategory: null,
16284
- sort: 2,
16285
- },
16286
- scrollable: {
16287
- label: 'Scrollable',
16288
- description: 'Turns scroll interaction on.',
16289
- category: 'container',
16290
- specialCategory: null,
16291
- sort: -1,
16292
- },
16293
- styles: {
16294
- backgroundColor: {
16295
- label: 'Background Color',
16296
- description: 'Background fill color.',
16297
- category: 'style',
16298
- specialCategory: null,
16299
- sort: 20,
16300
- },
16301
- borderRadius: {
16302
- label: 'Border Radius',
16303
- description: 'Corner rounding amount.',
16304
- category: 'style',
16305
- specialCategory: null,
16306
- sort: 21,
16307
- preferredScale: 's',
16308
- },
16309
- flexDirection: {
16310
- label: 'Flex Direction',
16311
- description: 'Sets row or column layout.',
16312
- category: 'container',
16313
- specialCategory: null,
16314
- sort: 4,
16315
- },
16316
- flexWrap: {
16317
- label: 'Flex Wrap',
16318
- description: 'Controls whether flex items wrap to multiple lines.',
16319
- category: 'container',
16320
- specialCategory: null,
16321
- sort: 4.5,
16322
- },
16323
- alignItems: {
16324
- label: 'Align Items',
16325
- description: 'Controls cross-axis alignment.',
16326
- category: 'container',
16327
- specialCategory: null,
16328
- sort: 3,
16329
- },
16330
- justifyContent: {
16331
- label: 'Justify Content',
16332
- description: 'Controls main-axis alignment.',
16333
- category: 'container',
16334
- specialCategory: null,
16335
- sort: 5,
16336
- },
16337
- gap: {
16338
- label: 'Gap',
16339
- description: 'Space between children.',
16340
- category: 'container',
16341
- specialCategory: null,
16342
- sort: 10,
16343
- preferredScale: 's',
16344
- },
16345
- padding: {
16346
- label: 'Padding',
16347
- description: 'Uniform padding on all sides.',
16348
- category: 'container',
16349
- specialCategory: 'padding',
16350
- sort: 6,
16351
- preferredScale: 's',
16352
- },
16353
- paddingHorizontal: {
16354
- label: 'Padding Horizontal',
16355
- description: 'Left and right padding.',
16356
- category: 'container',
16357
- specialCategory: 'padding',
16358
- sort: 7,
16359
- preferredScale: 's',
16360
- },
16361
- paddingVertical: {
16362
- label: 'Padding Vertical',
16363
- description: 'Top and bottom padding.',
16364
- category: 'container',
16365
- specialCategory: 'padding',
16366
- sort: 8,
16367
- preferredScale: 'vs',
16368
- },
16369
- paddingTop: {
16370
- label: 'Padding Top',
16371
- description: 'Top padding only.',
16372
- category: 'container',
16373
- specialCategory: 'padding',
16374
- sort: 9,
16375
- preferredScale: 'vs',
16376
- },
16377
- paddingBottom: {
16378
- label: 'Padding Bottom',
16379
- description: 'Bottom padding only.',
16380
- category: 'container',
16381
- specialCategory: 'padding',
16382
- sort: 10,
16383
- preferredScale: 'vs',
16384
- },
16385
- paddingLeft: {
16386
- label: 'Padding Left',
16387
- description: 'Left padding only.',
16388
- category: 'container',
16389
- specialCategory: 'padding',
16390
- sort: 11,
16391
- preferredScale: 's',
16392
- },
16393
- paddingRight: {
16394
- label: 'Padding Right',
16395
- description: 'Right padding only.',
16396
- category: 'container',
16397
- specialCategory: 'padding',
16398
- sort: 12,
16399
- preferredScale: 's',
16400
- },
16401
- margin: {
16402
- label: 'Margin',
16403
- description: 'Uniform margin on all sides.',
16404
- category: 'container',
16405
- specialCategory: 'margin',
16406
- sort: 13,
16407
- preferredScale: 's',
16408
- },
16409
- marginHorizontal: {
16410
- label: 'Margin Horizontal',
16411
- description: 'Left and right margin.',
16412
- category: 'container',
16413
- specialCategory: 'margin',
16414
- sort: 14,
16415
- preferredScale: 's',
16416
- },
16417
- marginVertical: {
16418
- label: 'Margin Vertical',
16419
- description: 'Top and bottom margin.',
16420
- category: 'container',
16421
- specialCategory: 'margin',
16422
- sort: 15,
16423
- preferredScale: 'vs',
16424
- },
16425
- marginTop: {
16426
- label: 'Margin Top',
16427
- description: 'Top margin only.',
16428
- category: 'container',
16429
- specialCategory: 'margin',
16430
- sort: 16,
16431
- preferredScale: 'vs',
16432
- },
16433
- marginBottom: {
16434
- label: 'Margin Bottom',
16435
- description: 'Bottom margin only.',
16436
- category: 'container',
16437
- specialCategory: 'margin',
16438
- sort: 17,
16439
- preferredScale: 'vs',
16440
- },
16441
- marginLeft: {
16442
- label: 'Margin Left',
16443
- description: 'Left margin only.',
16444
- category: 'container',
16445
- specialCategory: 'margin',
16446
- sort: 18,
16447
- preferredScale: 's',
16448
- },
16449
- marginRight: {
16450
- label: 'Margin Right',
16451
- description: 'Right margin only.',
16452
- category: 'container',
16453
- specialCategory: 'margin',
16454
- sort: 19,
16455
- preferredScale: 's',
16456
- },
16457
- width: {
16458
- label: 'Width',
16459
- description: 'Fixed width value.',
16460
- category: 'container',
16461
- specialCategory: 'size',
16462
- sort: 0,
16463
- preferredScale: 's',
16464
- },
16465
- minWidth: {
16466
- label: 'Min Width',
16467
- description: 'Minimum width constraint.',
16468
- category: 'container',
16469
- specialCategory: 'size',
16470
- sort: 1,
16471
- preferredScale: 's',
16472
- },
16473
- maxWidth: {
16474
- label: 'Max Width',
16475
- description: 'Maximum width constraint.',
16476
- category: 'container',
16477
- specialCategory: 'size',
16478
- sort: 2,
16479
- preferredScale: 's',
16480
- },
16481
- height: {
16482
- label: 'Height',
16483
- description: 'Fixed height value.',
16484
- category: 'container',
16485
- specialCategory: 'size',
16486
- sort: 3,
16487
- preferredScale: 'vs',
16488
- },
16489
- minHeight: {
16490
- label: 'Min Height',
16491
- description: 'Minimum height constraint.',
16492
- category: 'container',
16493
- specialCategory: 'size',
16494
- sort: 4,
16495
- preferredScale: 'vs',
16496
- },
16497
- maxHeight: {
16498
- label: 'Max Height',
16499
- description: 'Maximum height constraint.',
16500
- category: 'container',
16501
- specialCategory: 'size',
16502
- sort: 5,
16503
- preferredScale: 'vs',
16504
- },
16505
- flex: {
16506
- label: 'Flex',
16507
- description: 'Flex grow factor (e.g. 1 fills available space).',
16508
- category: 'container',
16509
- specialCategory: 'size',
16510
- sort: 6,
16511
- },
16512
- position: {
16513
- label: 'Position',
16514
- description: 'Sets layout positioning mode.',
16515
- category: 'container',
16516
- specialCategory: null,
16517
- sort: 3,
16518
- },
16519
- top: {
16520
- label: 'Top',
16521
- description: 'Offset from the top edge.',
16522
- category: 'container',
16523
- specialCategory: 'offset',
16524
- sort: 22,
16525
- preferredScale: 'vs',
16526
- },
16527
- bottom: {
16528
- label: 'Bottom',
16529
- description: 'Offset from the bottom edge.',
16530
- category: 'container',
16531
- specialCategory: 'offset',
16532
- sort: 23,
16533
- preferredScale: 'vs',
16534
- },
16535
- left: {
16536
- label: 'Left',
16537
- description: 'Offset from the left edge.',
16538
- category: 'container',
16539
- specialCategory: 'offset',
16540
- sort: 24,
16541
- preferredScale: 's',
16542
- },
16543
- right: {
16544
- label: 'Right',
16545
- description: 'Offset from the right edge.',
16546
- category: 'container',
16547
- specialCategory: 'offset',
16548
- sort: 25,
16549
- preferredScale: 's',
16550
- },
16551
- zIndex: {
16552
- label: 'Z-Index',
16553
- description: 'Controls stacking order.',
16554
- category: 'container',
16555
- specialCategory: null,
16556
- sort: 26,
16557
- },
16558
- },
16559
- labelKey: {
16560
- label: 'Label Key',
16561
- description: 'Localization key for button text.',
16562
- category: 'other',
16563
- sort: 1,
16564
- },
16565
- events: {
16566
- label: 'Events',
16567
- description: 'Actions to perform on click.',
16568
- category: 'other',
16569
- sort: 2,
16570
- },
16571
- },
16572
- specialCategories: {
16573
- padding: {
16574
- label: 'Padding',
16575
- description: 'Uniform padding on all sides.',
16576
- category: 'container',
16577
- sort: 1,
16578
- },
16579
- margin: {
16580
- label: 'Margin',
16581
- description: 'Uniform margin on all sides.',
16582
- category: 'container',
16583
- sort: 2,
16584
- },
16585
- size: {
16586
- label: 'Size',
16587
- description: 'Fixed dimensions.',
16588
- category: 'container',
16589
- sort: 3,
16590
- },
16591
- offset: {
16592
- label: 'Offset',
16593
- description: 'Absolute positioning offsets.',
16594
- category: 'container',
16595
- sort: 4,
15568
+ description: 'Whether the radio is selected.',
15569
+ category: 'other',
15570
+ specialCategory: null,
15571
+ sort: 0,
16596
15572
  },
16597
15573
  },
15574
+ styles: {},
16598
15575
  },
16599
15576
  defaults: {
16600
- translateCounter: 1,
16601
- numberOfLines: 1,
16602
15577
  styles: {
16603
- color: 'THEME_COLORS.SYSTEM_BUTTON_TEXT',
16604
- fontSize: '16@fs',
16605
- fontWeight: '400',
16606
15578
  flexDirection: 'column',
16607
15579
  position: 'relative',
16608
15580
  zIndex: 1,
16609
15581
  alignSelf: 'flex-start',
16610
15582
  flexGrow: 0,
16611
15583
  flexShrink: 0,
16612
- height: 48,
16613
- borderRadius: 8,
16614
- backgroundColor: 'THEME_COLORS.SYSTEM_BUTTON_BACKGROUND',
16615
15584
  },
16616
- attributes: { labelKey: 'Button' },
16617
15585
  },
16618
- types: {
16619
- EventObject: {
16620
- type: ['Permission', 'Navigate', 'Placement', 'SetCondition'],
16621
- permission: [
16622
- 'notification',
16623
- 'camera',
16624
- 'microphone',
16625
- 'location',
16626
- 'photos',
16627
- 'contacts',
16628
- 'att',
16629
- 'rating',
16630
- 'GDPR',
16631
- ],
16632
- navigate_to: 'string',
16633
- targetIndex: 'number',
16634
- placementKey: ['terms', 'onboard', 'paywall', 'subscription', 'home'],
16635
- conditionKey: ['termsAccepted'],
16636
- value: 'boolean',
15586
+ types: {},
15587
+ },
15588
+ {
15589
+ schemaVersion: 2,
15590
+ pattern: {
15591
+ type: 'Separator',
15592
+ title: 'title',
15593
+ description: 'description',
15594
+ children: 'never',
15595
+ attributes: {
15596
+ styles: {
15597
+ backgroundColor: 'color',
15598
+ width: 'size',
15599
+ height: 'size',
15600
+ marginHorizontal: 'size',
15601
+ marginVertical: 'size',
15602
+ marginTop: 'size',
15603
+ marginBottom: 'size',
15604
+ },
15605
+ testID: 'string',
15606
+ },
15607
+ },
15608
+ meta: {
15609
+ desiredParent: ['all'],
15610
+ label: 'Separator',
15611
+ description: 'Horizontal line separator.',
15612
+ attributes: {
15613
+ styles: {
15614
+ backgroundColor: {
15615
+ label: 'Color',
15616
+ description: 'Separator line color.',
15617
+ category: 'style',
15618
+ specialCategory: null,
15619
+ sort: 1,
15620
+ },
15621
+ width: {
15622
+ label: 'Width',
15623
+ description: 'Separator width.',
15624
+ category: 'container',
15625
+ specialCategory: null,
15626
+ sort: 1,
15627
+ preferredScale: 's',
15628
+ },
15629
+ height: {
15630
+ label: 'Height',
15631
+ description: 'Separator thickness.',
15632
+ category: 'container',
15633
+ specialCategory: null,
15634
+ sort: 2,
15635
+ preferredScale: 'vs',
15636
+ },
15637
+ },
16637
15638
  },
16638
15639
  },
15640
+ defaults: {
15641
+ styles: { width: '100%', height: 2, backgroundColor: '#000000' },
15642
+ },
16639
15643
  },
16640
15644
  {
16641
15645
  schemaVersion: 2,
16642
15646
  pattern: {
16643
- type: 'TermsProvider',
15647
+ type: 'StatusBarColor',
16644
15648
  title: 'title',
16645
15649
  description: 'description',
16646
- children: 'node',
15650
+ children: 'never',
16647
15651
  attributes: {
16648
- scrollable: 'boolean',
15652
+ styles: { backgroundColor: 'color' },
15653
+ translucent: 'boolean',
15654
+ },
15655
+ },
15656
+ meta: {
15657
+ desiredParent: ['all'],
15658
+ label: 'Status Bar Color',
15659
+ description: 'Sets the OS status bar background color.',
15660
+ styles: {
15661
+ backgroundColor: {
15662
+ label: 'Background Color',
15663
+ description: 'Status bar background color.',
15664
+ category: 'style',
15665
+ specialCategory: null,
15666
+ sort: 1,
15667
+ },
15668
+ },
15669
+ attributes: {
15670
+ translucent: {
15671
+ label: 'Translucent',
15672
+ description: 'Sets the status bar to translucent.',
15673
+ category: 'style',
15674
+ specialCategory: null,
15675
+ sort: 2,
15676
+ },
15677
+ },
15678
+ },
15679
+ defaults: { styles: { backgroundColor: 'THEME_COLORS.BACKGROUND' } },
15680
+ },
15681
+ {
15682
+ schemaVersion: 2,
15683
+ pattern: {
15684
+ type: 'SystemButton',
15685
+ title: 'SystemButton',
15686
+ description: 'A reusable button component for system actions.',
15687
+ children: 'never',
15688
+ attributes: {
15689
+ adjustsFontSizeToFit: 'boolean',
15690
+ numberOfLines: 'number',
15691
+ translateCounter: 'number',
16649
15692
  styles: {
15693
+ color: 'color',
15694
+ fontSize: 'number',
15695
+ fontFamily: 'fontFamily',
15696
+ fontWeight: 'string',
15697
+ textAlign: 'string',
16650
15698
  flexDirection: ['row', 'column'],
16651
15699
  flexWrap: ['nowrap', 'wrap', 'wrap-reverse'],
16652
15700
  alignItems: [
@@ -16680,11 +15728,11 @@ export const patterns = [
16680
15728
  marginLeft: 'size',
16681
15729
  marginRight: 'size',
16682
15730
  backgroundColor: 'color',
16683
- borderRadius: 'size',
15731
+ borderRadius: 'number',
16684
15732
  width: 'size',
16685
15733
  minWidth: 'size',
16686
15734
  maxWidth: 'size',
16687
- height: 'size',
15735
+ height: 'number',
16688
15736
  minHeight: 'size',
16689
15737
  maxHeight: 'size',
16690
15738
  flex: 'number',
@@ -16695,53 +15743,71 @@ export const patterns = [
16695
15743
  right: 'size',
16696
15744
  zIndex: 'number',
16697
15745
  },
15746
+ scrollable: 'boolean',
16698
15747
  testID: 'string',
16699
- animation: [
16700
- 'default',
16701
- 'fade',
16702
- 'fade_from_bottom',
16703
- 'fade_from_right',
16704
- 'reveal_from_bottom',
16705
- 'scale_from_center',
16706
- 'slide_from_right',
16707
- 'slide_from_left',
16708
- 'slide_from_bottom',
16709
- 'none',
16710
- ],
15748
+ labelKey: 'string',
15749
+ events: 'EventObject[]',
16711
15750
  },
16712
15751
  },
16713
15752
  meta: {
16714
- desiredParent: ['root', 'GlobalProvider'],
16715
- label: 'Terms Provider',
16716
- description:
16717
- 'Provider for terms & privacy page (e.g. WebView + form). Use as a GlobalProvider page.',
16718
- specialCategories: {
16719
- padding: {
16720
- label: 'Padding',
16721
- description: 'Uniform padding on all sides.',
16722
- category: 'container',
15753
+ desiredParent: ['all'],
15754
+ label: 'System Button',
15755
+ description: 'Versatile button for navigation, permissions, and more.',
15756
+ styles: {
15757
+ color: {
15758
+ label: 'Color',
15759
+ description: 'Text color.',
15760
+ category: 'style',
15761
+ specialCategory: null,
16723
15762
  sort: 1,
16724
15763
  },
16725
- margin: {
16726
- label: 'Margin',
16727
- description: 'Uniform margin on all sides.',
16728
- category: 'container',
15764
+ fontSize: {
15765
+ label: 'Font Size',
15766
+ description: 'Text size.',
15767
+ category: 'style',
15768
+ specialCategory: null,
16729
15769
  sort: 2,
15770
+ preferredScale: 'f',
16730
15771
  },
16731
- size: {
16732
- label: 'Size',
16733
- description: 'Fixed dimensions.',
16734
- category: 'container',
15772
+ fontFamily: {
15773
+ label: 'Font Family',
15774
+ description: 'Font family used for the text.',
15775
+ category: 'style',
15776
+ specialCategory: null,
16735
15777
  sort: 3,
16736
15778
  },
16737
- offset: {
16738
- label: 'Offset',
16739
- description: 'Absolute positioning offsets.',
16740
- category: 'container',
15779
+ fontWeight: {
15780
+ label: 'Font Weight',
15781
+ description: 'Text weight.',
15782
+ category: 'style',
15783
+ specialCategory: null,
16741
15784
  sort: 4,
16742
15785
  },
15786
+ textAlign: {
15787
+ label: 'Text Align',
15788
+ description: 'Text alignment.',
15789
+ category: 'style',
15790
+ specialCategory: null,
15791
+ sort: 5,
15792
+ },
16743
15793
  },
16744
15794
  attributes: {
15795
+ adjustsFontSizeToFit: {
15796
+ label: 'Adjust Font Size To Fit',
15797
+ description:
15798
+ 'Automatically reduces font size to fit the available space.',
15799
+ category: 'other',
15800
+ specialCategory: null,
15801
+ sort: 1,
15802
+ },
15803
+ showEllipsis: {
15804
+ label: 'Show Ellipsis',
15805
+ description:
15806
+ 'If text overflows, show ellipsis (…); applied as single-line truncation.',
15807
+ category: 'other',
15808
+ specialCategory: null,
15809
+ sort: 2,
15810
+ },
16745
15811
  scrollable: {
16746
15812
  label: 'Scrollable',
16747
15813
  description: 'Turns scroll interaction on.',
@@ -17015,31 +16081,74 @@ export const patterns = [
17015
16081
  sort: 26,
17016
16082
  },
17017
16083
  },
17018
- animation: {
17019
- label: 'Page transition animation',
17020
- description:
17021
- 'When this component is a GlobalProvider page: animation used when navigating to this screen.',
16084
+ labelKey: {
16085
+ label: 'Label Key',
16086
+ description: 'Localization key for button text.',
17022
16087
  category: 'other',
17023
- specialCategory: null,
17024
16088
  sort: 1,
17025
16089
  },
16090
+ events: {
16091
+ label: 'Events',
16092
+ description: 'Actions to perform on click.',
16093
+ category: 'other',
16094
+ sort: 2,
16095
+ },
16096
+ },
16097
+ specialCategories: {
16098
+ padding: {
16099
+ label: 'Padding',
16100
+ description: 'Uniform padding on all sides.',
16101
+ category: 'container',
16102
+ sort: 1,
16103
+ },
16104
+ margin: {
16105
+ label: 'Margin',
16106
+ description: 'Uniform margin on all sides.',
16107
+ category: 'container',
16108
+ sort: 2,
16109
+ },
16110
+ size: {
16111
+ label: 'Size',
16112
+ description: 'Fixed dimensions.',
16113
+ category: 'container',
16114
+ sort: 3,
16115
+ },
16116
+ offset: {
16117
+ label: 'Offset',
16118
+ description: 'Absolute positioning offsets.',
16119
+ category: 'container',
16120
+ sort: 4,
16121
+ },
17026
16122
  },
17027
- styles: {},
17028
16123
  },
17029
16124
  defaults: {
16125
+ translateCounter: 1,
16126
+ numberOfLines: 1,
17030
16127
  styles: {
16128
+ color: 'THEME_COLORS.SYSTEM_BUTTON_TEXT',
16129
+ fontSize: '16@fs',
16130
+ fontWeight: '400',
17031
16131
  flexDirection: 'column',
17032
16132
  position: 'relative',
17033
16133
  zIndex: 1,
17034
16134
  alignSelf: 'flex-start',
17035
16135
  flexGrow: 0,
17036
16136
  flexShrink: 0,
17037
- width: '100%',
17038
- height: '100%',
17039
- flex: 1,
16137
+ height: 48,
16138
+ borderRadius: 8,
16139
+ backgroundColor: 'THEME_COLORS.SYSTEM_BUTTON_BACKGROUND',
16140
+ },
16141
+ attributes: { labelKey: 'Button' },
16142
+ },
16143
+ types: {
16144
+ EventObject: {
16145
+ type: ['Permission', 'Navigate', 'Placement'],
16146
+ permission: 'string',
16147
+ navigate_to: 'string',
16148
+ targetIndex: 'number',
16149
+ placementKey: 'string',
17040
16150
  },
17041
16151
  },
17042
- types: {},
17043
16152
  },
17044
16153
  {
17045
16154
  schemaVersion: 2,