@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
@@ -1,735 +0,0 @@
1
- {
2
- "name": "Global Onboard Flow",
3
- "version": "1.1.2",
4
- "type": "other",
5
- "data": {
6
- "type": "Main",
7
- "isMain": true,
8
- "attributes": {
9
- "useSafeAreaView": true,
10
- "description": "GlobalProvider flow: Terms → Onboard → Paywall",
11
- "title": "Main",
12
- "styles": {
13
- "flex": 1,
14
- "backgroundColor": "THEME_COLORS.BACKGROUND"
15
- },
16
- "testID": "GlobalFlow-Main"
17
- },
18
- "children": {
19
- "type": "GlobalProvider",
20
- "key": "main-global-onboard-flow",
21
- "attributes": {
22
- "initialPage": "terms",
23
- "persistProgress": true,
24
- "skipConditions": [
25
- { "pageKey": "terms", "conditionKey": "termsAccepted" }
26
- ],
27
- "testID": "GlobalFlow-Provider"
28
- },
29
- "children": [
30
- {
31
- "type": "TermsProvider",
32
- "key": "terms",
33
- "attributes": {
34
- "description": "Terms and Privacy page",
35
- "title": "TermsProvider",
36
- "styles": {
37
- "flex": 1,
38
- "backgroundColor": "THEME_COLORS.BACKGROUND"
39
- },
40
- "testID": "GlobalFlow-Terms"
41
- },
42
- "children": [
43
- {
44
- "type": "View",
45
- "attributes": {
46
- "description": "Header",
47
- "styles": {
48
- "padding": 16,
49
- "alignItems": "stretch",
50
- "borderBottomWidth": 1,
51
- "borderBottomColor": "THEME_COLORS.LINE",
52
- "backgroundColor": "THEME_COLORS.BACKGROUND"
53
- }
54
- },
55
- "children": [
56
- {
57
- "type": "Text",
58
- "children": "view.terms.header.title",
59
- "attributes": {
60
- "styles": {
61
- "fontSize": 20,
62
- "fontWeight": "700",
63
- "color": "THEME_COLORS.TEXT"
64
- }
65
- }
66
- }
67
- ]
68
- },
69
- {
70
- "type": "WebView",
71
- "attributes": {
72
- "iosUrl": "https://stage.vpn111.net/page/ios/privacy",
73
- "androidUrl": "https://stage.vpn111.net/page/android/privacy",
74
- "styles": {
75
- "flex": 1,
76
- "backgroundColor": "THEME_COLORS.BACKGROUND"
77
- },
78
- "testID": "GlobalFlow-Terms-WebView"
79
- }
80
- },
81
- {
82
- "type": "View",
83
- "attributes": {
84
- "description": "Footer",
85
- "styles": {
86
- "padding": 20,
87
- "backgroundColor": "THEME_COLORS.BACKGROUND",
88
- "borderTopWidth": 1,
89
- "borderTopColor": "THEME_COLORS.LINE",
90
- "gap": 16
91
- }
92
- },
93
- "children": [
94
- {
95
- "type": "FormProvider",
96
- "attributes": {
97
- "defaultValues": "{\"termsAccepted\": false}",
98
- "validationErrorMessageKey": "view.terms.error.must_accept"
99
- },
100
- "children": [
101
- {
102
- "type": "FormCheckbox",
103
- "attributes": {
104
- "name": "termsAccepted",
105
- "validation": ["required"],
106
- "checked": false,
107
- "label": "view.terms.checkbox.label",
108
- "checkedColor": "THEME_COLORS.CHECKBOX_ACTIVE_COLOR",
109
- "styles": {
110
- "marginBottom": 8
111
- },
112
- "testID": "GlobalFlow-Terms-Checkbox"
113
- }
114
- },
115
- {
116
- "type": "FormErrorText",
117
- "attributes": {
118
- "styles": {
119
- "marginBottom": 8
120
- },
121
- "testID": "GlobalFlow-Terms-FormErrorText"
122
- }
123
- },
124
- {
125
- "type": "FormSubmitButton",
126
- "attributes": {
127
- "labelKey": "view.terms.accept.button",
128
- "validationRequired": true,
129
- "disableIfUnvalidated": true,
130
- "events": [
131
- {
132
- "type": "SetCondition",
133
- "conditionKey": "termsAccepted",
134
- "value": true
135
- },
136
- {
137
- "type": "Navigate",
138
- "placementKey": "onboard"
139
- }
140
- ],
141
- "styles": {
142
- "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
143
- "color": "#FFFFFF",
144
- "height": 48,
145
- "borderRadius": 8,
146
- "alignItems": "center",
147
- "justifyContent": "center",
148
- "fontWeight": "600"
149
- },
150
- "testID": "GlobalFlow-Terms-AcceptButton"
151
- }
152
- }
153
- ]
154
- }
155
- ]
156
- }
157
- ]
158
- },
159
- {
160
- "type": "OnboardProvider",
161
- "key": "onboard",
162
- "attributes": {
163
- "theme": "dark",
164
- "description": "Onboard page",
165
- "title": "OnboardProvider",
166
- "animation": "slide_from_bottom",
167
- "testID": "GlobalFlow-OnboardProvider"
168
- },
169
- "children": [
170
- {
171
- "type": "Onboard",
172
- "attributes": {
173
- "description": "Onboard slides",
174
- "title": "Onboard",
175
- "styles": {
176
- "flex": 1
177
- },
178
- "testID": "GlobalFlow-Onboard"
179
- },
180
- "children": [
181
- {
182
- "type": "OnboardItem",
183
- "key": "global-onboard-page1",
184
- "attributes": {
185
- "description": "Slide 1",
186
- "title": "OnboardItem 1",
187
- "testID": "GlobalFlow-OnboardItem-1"
188
- },
189
- "children": [
190
- {
191
- "type": "OnboardTitle",
192
- "attributes": {
193
- "styles": {
194
- "color": "THEME_COLORS.ONBOARD_TITLE",
195
- "textAlign": "center",
196
- "marginTop": 40
197
- },
198
- "testID": "GlobalFlow-OnboardTitle-1"
199
- },
200
- "children": "base.onboard.title.one-page"
201
- },
202
- {
203
- "type": "OnboardSubtitle",
204
- "attributes": {
205
- "styles": {
206
- "color": "THEME_COLORS.ONBOARD_SUBTITLE",
207
- "fontSize": 16,
208
- "textAlign": "center"
209
- },
210
- "testID": "GlobalFlow-OnboardSubtitle-1"
211
- },
212
- "children": "base.onboard.subtitle.one-page"
213
- }
214
- ]
215
- },
216
- {
217
- "type": "OnboardItem",
218
- "key": "global-onboard-page2",
219
- "attributes": {
220
- "description": "Slide 2",
221
- "title": "OnboardItem 2",
222
- "testID": "GlobalFlow-OnboardItem-2"
223
- },
224
- "children": [
225
- {
226
- "type": "OnboardTitle",
227
- "attributes": {
228
- "styles": {
229
- "color": "THEME_COLORS.ONBOARD_TITLE",
230
- "textAlign": "center",
231
- "marginTop": 40
232
- },
233
- "testID": "GlobalFlow-OnboardTitle-2"
234
- },
235
- "children": "base.onboard.title.two-page"
236
- },
237
- {
238
- "type": "OnboardSubtitle",
239
- "attributes": {
240
- "styles": {
241
- "color": "THEME_COLORS.ONBOARD_SUBTITLE",
242
- "fontSize": 16,
243
- "textAlign": "center"
244
- },
245
- "testID": "GlobalFlow-OnboardSubtitle-2"
246
- },
247
- "children": "base.onboard.subtitle.two-page"
248
- }
249
- ]
250
- }
251
- ]
252
- },
253
- {
254
- "type": "OnboardDot",
255
- "attributes": {
256
- "dotType": "expanding_dot",
257
- "dot_thickness": 20,
258
- "inactive_dot_opacity": 0.3,
259
- "inactive_dot_color": "STATIC_COLORS.ONBOARD_DOT_INACTIVE",
260
- "active_dot_color": "STATIC_COLORS.ONBOARD_DOT_ACTIVE",
261
- "styles": {
262
- "paddingVertical": 12
263
- },
264
- "testID": "GlobalFlow-OnboardDot"
265
- }
266
- },
267
- {
268
- "type": "OnboardButtons",
269
- "attributes": {
270
- "buttons_direction": "row",
271
- "condition": "carousel-index",
272
- "conditionVariable": 0,
273
- "description": "Slide 1 buttons",
274
- "title": "OnboardButtons 1",
275
- "styles": {
276
- "height": 40,
277
- "marginVertical": 12,
278
- "flexShrink": 0
279
- },
280
- "testID": "GlobalFlow-OnboardButtons-1"
281
- },
282
- "children": [
283
- {
284
- "type": "OnboardButton",
285
- "attributes": {
286
- "labelKey": "base.onboard.skip.one-page",
287
- "events": [
288
- {
289
- "type": "Navigate",
290
- "navigate_to": null,
291
- "targetIndex": 1
292
- }
293
- ],
294
- "styles": {
295
- "flex": 1,
296
- "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
297
- "backgroundColor": "STATIC_COLORS.TRANSPARENT"
298
- },
299
- "testID": "onboardSkip"
300
- }
301
- },
302
- {
303
- "type": "OnboardButton",
304
- "attributes": {
305
- "labelKey": "base.onboard.next.one-page",
306
- "events": [
307
- {
308
- "type": "Navigate",
309
- "navigate_to": null,
310
- "targetIndex": 1
311
- }
312
- ],
313
- "styles": {
314
- "flex": 1,
315
- "color": "STATIC_COLORS.WHITE",
316
- "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
317
- },
318
- "testID": "onboardNext"
319
- }
320
- }
321
- ]
322
- },
323
- {
324
- "type": "OnboardButtons",
325
- "attributes": {
326
- "buttons_direction": "row",
327
- "condition": "carousel-index",
328
- "conditionVariable": 1,
329
- "description": "Slide 2 buttons (last) — navigate to paywall",
330
- "title": "OnboardButtons 2",
331
- "styles": {
332
- "height": 40,
333
- "marginVertical": 12,
334
- "flexShrink": 0
335
- },
336
- "testID": "GlobalFlow-OnboardButtons-2"
337
- },
338
- "children": [
339
- {
340
- "type": "OnboardButton",
341
- "attributes": {
342
- "labelKey": "base.onboard.allow.four-page",
343
- "events": [
344
- {
345
- "type": "Permission",
346
- "permission": "notification"
347
- },
348
- {
349
- "type": "Navigate",
350
- "placementKey": "paywall"
351
- }
352
- ],
353
- "styles": {
354
- "flex": 1,
355
- "color": "STATIC_COLORS.WHITE",
356
- "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
357
- },
358
- "testID": "onboardNext"
359
- }
360
- }
361
- ]
362
- }
363
- ]
364
- },
365
- {
366
- "type": "PaywallProvider",
367
- "key": "paywall",
368
- "attributes": {
369
- "scrollable": true,
370
- "description": "Paywall page",
371
- "title": "PaywallProvider",
372
- "animation": "none",
373
- "styles": {
374
- "flexDirection": "column",
375
- "alignItems": "stretch",
376
- "justifyContent": "flex-start",
377
- "position": "relative",
378
- "backgroundColor": "THEME_COLORS.BACKGROUND"
379
- },
380
- "testID": "GlobalFlow-PaywallProvider"
381
- },
382
- "children": [
383
- {
384
- "type": "PaywallBackground",
385
- "attributes": {
386
- "src": "https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80",
387
- "resizeMode": "cover",
388
- "description": "Paywall arka planı",
389
- "testID": "GlobalFlow-PaywallBackground"
390
- },
391
- "children": null
392
- },
393
- {
394
- "type": "View",
395
- "attributes": {
396
- "title": "Paywall Inner",
397
- "styles": {
398
- "paddingTop": 56,
399
- "paddingHorizontal": 16,
400
- "paddingBottom": 16,
401
- "gap": 12,
402
- "flex": 1
403
- },
404
- "testID": "GlobalFlow-Paywall-Inner"
405
- },
406
- "children": [
407
- {
408
- "type": "PaywallCloseButton",
409
- "attributes": {
410
- "styles": {
411
- "width": 32,
412
- "height": 32,
413
- "borderRadius": 16,
414
- "backgroundColor": "STATIC_COLORS.WHITE",
415
- "color": "STATIC_COLORS.BLACK",
416
- "zIndex": 10,
417
- "alignItems": "center",
418
- "justifyContent": "center"
419
- },
420
- "testID": "GlobalFlow-PaywallCloseButton"
421
- },
422
- "children": null
423
- },
424
- {
425
- "type": "View",
426
- "attributes": {
427
- "description": "Benefits",
428
- "title": "Benefits",
429
- "styles": {
430
- "flexDirection": "column",
431
- "gap": 0,
432
- "marginTop": "4%"
433
- },
434
- "testID": "GlobalFlow-Paywall-Benefits"
435
- },
436
- "children": [
437
- {
438
- "type": "View",
439
- "attributes": {
440
- "title": "Benefit #1",
441
- "styles": {
442
- "flexDirection": "row",
443
- "alignItems": "center",
444
- "gap": 8,
445
- "paddingVertical": 8,
446
- "paddingHorizontal": 12
447
- },
448
- "testID": "GlobalFlow-Benefit-1"
449
- },
450
- "children": [
451
- {
452
- "type": "BIcon",
453
- "attributes": {
454
- "iconType": "check",
455
- "strokeWidth": 3,
456
- "styles": {
457
- "color": "THEME_COLORS.ICON",
458
- "fontSize": "16",
459
- "flex": 0
460
- },
461
- "testID": "GlobalFlow-BIcon-1"
462
- },
463
- "children": null
464
- },
465
- {
466
- "type": "Text",
467
- "attributes": {
468
- "styles": {
469
- "flex": 1,
470
- "color": "STATIC_COLORS.WHITE",
471
- "fontWeight": "700"
472
- },
473
- "testID": "GlobalFlow-BenefitText-1"
474
- },
475
- "children": "@benefit1 — Unlimited access"
476
- }
477
- ]
478
- },
479
- {
480
- "type": "View",
481
- "attributes": {
482
- "title": "Benefit #2",
483
- "styles": {
484
- "flexDirection": "row",
485
- "alignItems": "center",
486
- "gap": 8,
487
- "paddingVertical": 8,
488
- "paddingHorizontal": 12
489
- },
490
- "testID": "GlobalFlow-Benefit-2"
491
- },
492
- "children": [
493
- {
494
- "type": "BIcon",
495
- "attributes": {
496
- "iconType": "check",
497
- "strokeWidth": 3,
498
- "styles": {
499
- "color": "THEME_COLORS.ICON",
500
- "fontSize": "16",
501
- "flex": 0
502
- },
503
- "testID": "GlobalFlow-BIcon-2"
504
- },
505
- "children": null
506
- },
507
- {
508
- "type": "Text",
509
- "attributes": {
510
- "styles": {
511
- "flex": 1,
512
- "color": "STATIC_COLORS.WHITE",
513
- "fontWeight": "700"
514
- },
515
- "testID": "GlobalFlow-BenefitText-2"
516
- },
517
- "children": "@benefit2 — 7-day free trial"
518
- }
519
- ]
520
- },
521
- {
522
- "type": "View",
523
- "attributes": {
524
- "title": "Benefit #3",
525
- "styles": {
526
- "flexDirection": "row",
527
- "alignItems": "center",
528
- "gap": 8,
529
- "paddingVertical": 8,
530
- "paddingHorizontal": 12
531
- },
532
- "testID": "GlobalFlow-Benefit-3"
533
- },
534
- "children": [
535
- {
536
- "type": "BIcon",
537
- "attributes": {
538
- "iconType": "check",
539
- "strokeWidth": 3,
540
- "styles": {
541
- "color": "THEME_COLORS.ICON",
542
- "fontSize": "16",
543
- "flex": 0
544
- },
545
- "testID": "GlobalFlow-BIcon-3"
546
- },
547
- "children": null
548
- },
549
- {
550
- "type": "Text",
551
- "attributes": {
552
- "styles": {
553
- "flex": 1,
554
- "color": "STATIC_COLORS.WHITE",
555
- "fontWeight": "700"
556
- },
557
- "testID": "GlobalFlow-BenefitText-3"
558
- },
559
- "children": "@benefit3 — Cancel anytime"
560
- }
561
- ]
562
- }
563
- ]
564
- },
565
- {
566
- "type": "PaywallOptions",
567
- "attributes": {
568
- "description": "Abonelik seçenekleri",
569
- "styles": {
570
- "borderRadius": 12,
571
- "backgroundColor": "THEME_COLORS.BACKGROUND"
572
- },
573
- "testID": "GlobalFlow-PaywallOptions"
574
- },
575
- "children": [
576
- {
577
- "type": "RadioButton",
578
- "attributes": {
579
- "title": "Product Radio(s)",
580
- "styles": { "flex": 1 },
581
- "testID": "GlobalFlow-RadioButton"
582
- },
583
- "children": null
584
- },
585
- {
586
- "type": "Text",
587
- "attributes": {
588
- "title": "Product Desc(s)",
589
- "styles": { "flex": 6 },
590
- "testID": "GlobalFlow-ProductDesc"
591
- },
592
- "children": "@productDescription"
593
- },
594
- {
595
- "type": "View",
596
- "attributes": {
597
- "title": "Price Column",
598
- "styles": {
599
- "flexDirection": "column",
600
- "flex": 2,
601
- "alignItems": "flex-end"
602
- },
603
- "testID": "GlobalFlow-PriceColumn"
604
- },
605
- "children": [
606
- {
607
- "type": "PriceTag",
608
- "attributes": {
609
- "title": "Promo Price",
610
- "styles": {
611
- "textAlign": "right",
612
- "fontWeight": "700"
613
- },
614
- "testID": "GlobalFlow-PriceTag-Promo"
615
- },
616
- "children": "@localizedCalculatedPrice"
617
- },
618
- {
619
- "type": "PriceTag",
620
- "attributes": {
621
- "title": "Original Price",
622
- "hideIfItsNotDiscount": true,
623
- "styles": {
624
- "textAlign": "right",
625
- "textDecorationLine": "line-through",
626
- "fontSize": "12@fs",
627
- "fontWeight": "400",
628
- "color": "#999999"
629
- },
630
- "testID": "GlobalFlow-PriceTag-Original"
631
- },
632
- "children": "@localizedPrice"
633
- }
634
- ]
635
- },
636
- {
637
- "type": "BIcon",
638
- "attributes": {
639
- "iconType": "chevron-right",
640
- "size": 16,
641
- "title": "Product BIcon(s)",
642
- "styles": {
643
- "marginRight": 4,
644
- "flex": 0,
645
- "width": 32,
646
- "color": "STATIC_COLORS.BLACK"
647
- },
648
- "testID": "GlobalFlow-Chevron"
649
- },
650
- "children": null
651
- }
652
- ]
653
- },
654
- {
655
- "type": "View",
656
- "attributes": {
657
- "description": "Subscription button container",
658
- "title": "Subs Container",
659
- "styles": {
660
- "flex": 1,
661
- "flexDirection": "column",
662
- "justifyContent": "flex-end",
663
- "alignItems": "stretch",
664
- "gap": 8,
665
- "paddingBottom": "50px"
666
- },
667
- "testID": "GlobalFlow-SubsContainer"
668
- },
669
- "children": [
670
- {
671
- "type": "Pricing",
672
- "attributes": {
673
- "description": "Pricing breakdown",
674
- "title": "Pricing Detail",
675
- "testID": "GlobalFlow-Pricing"
676
- },
677
- "children": "@baseLocalizedPricingText"
678
- },
679
- {
680
- "type": "Text",
681
- "attributes": {
682
- "title": "Trial Full",
683
- "styles": {
684
- "textAlign": "center",
685
- "fontSize": 12,
686
- "color": "rgba(255,255,255,0.6)"
687
- },
688
- "testID": "GlobalFlow-TrialText"
689
- },
690
- "children": "@trialPeriod days free, then @price/@period"
691
- },
692
- {
693
- "type": "PaywallSubscribeButton",
694
- "children": "@subscribe",
695
- "attributes": {
696
- "title": "Subscribe",
697
- "testID": "GlobalFlow-SubscribeButton"
698
- }
699
- },
700
- {
701
- "type": "Promo",
702
- "attributes": {
703
- "description": "Discount badge",
704
- "title": "Promo Badge",
705
- "testID": "GlobalFlow-Promo"
706
- },
707
- "children": "@baseLocalizedPromoText"
708
- },
709
- {
710
- "type": "PaywallFooter",
711
- "attributes": {
712
- "textLocalizationKey": "base.builder.paywall.footer.description",
713
- "linkedWordFirstLocalizationKey": "base.builder.paywall.btnPrivacy",
714
- "linkedWordFirstColor": "STATIC_COLORS.ONBOARD_LINK_COLOR",
715
- "linkedWordFirstPage": "privacy",
716
- "linkedWordSecondLocalizationKey": "base.builder.paywall.btnTerms",
717
- "linkedWordSecondColor": "STATIC_COLORS.ONBOARD_LINK_COLOR",
718
- "linkedWordSecondPage": "terms",
719
- "styles": {
720
- "gap": 8,
721
- "color": "THEME_COLORS.ONBOARD_FOOTER_TEXT"
722
- },
723
- "testID": "GlobalFlow-PaywallFooter"
724
- }
725
- }
726
- ]
727
- }
728
- ]
729
- }
730
- ]
731
- }
732
- ]
733
- }
734
- }
735
- }