@developer_tribe/react-builder 1.2.18 → 1.2.20

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 (62) hide show
  1. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +2 -1
  2. package/dist/build-components/patterns.generated.d.ts +23 -8
  3. package/dist/index.cjs.js +3 -3
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.js +1 -1
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.web.cjs.js +4 -4
  8. package/dist/index.web.cjs.js.map +1 -1
  9. package/dist/index.web.esm.js +3 -3
  10. package/dist/index.web.esm.js.map +1 -1
  11. package/dist/pages/ProjectDebug.d.ts +9 -1
  12. package/dist/pages/ProjectMigrationPage.d.ts +3 -1
  13. package/dist/pages/ProjectValidationPage.d.ts +3 -2
  14. package/dist/styles.css +1 -1
  15. package/dist/utils/applyJsonTransform.d.ts +13 -0
  16. package/dist/utils/repairNodeKeys.d.ts +11 -0
  17. package/dist/utils/safeJsonStringify.d.ts +1 -0
  18. package/dist/utils/wrapNodeInMain.d.ts +2 -0
  19. package/package.json +1 -1
  20. package/src/RenderPage.tsx +17 -46
  21. package/src/assets/meta.json +1 -1
  22. package/src/assets/samples/carousel-sample.json +51 -51
  23. package/src/assets/samples/paywall-1.json +77 -77
  24. package/src/assets/samples/paywall-2.json +76 -76
  25. package/src/assets/samples/simple-1.json +13 -13
  26. package/src/assets/samples/simple-2.json +97 -97
  27. package/src/assets/samples/unmigrated-builder-1.1.1.json +25 -25
  28. package/src/assets/samples/unmigrated-builder1.json +1 -1
  29. package/src/assets/samples/unvalidated-builder1.json +15 -15
  30. package/src/assets/samples/unvalidated-crash1.json +4 -4
  31. package/src/assets/samples/vpn-onboard-1.json +100 -78
  32. package/src/assets/samples/vpn-onboard-2.json +97 -75
  33. package/src/assets/samples/vpn-onboard-3.json +103 -79
  34. package/src/assets/samples/vpn-onboard-4.json +103 -79
  35. package/src/assets/samples/vpn-onboard-5.json +139 -108
  36. package/src/assets/samples/vpn-onboard-6.json +100 -81
  37. package/src/build-components/CarouselDots/CarouselDots.tsx +112 -12
  38. package/src/build-components/OnboardDot/OnboardDot.tsx +74 -40
  39. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +2 -1
  40. package/src/build-components/OnboardDot/pattern.json +28 -10
  41. package/src/build-components/PaywallProvider/PaywallProvider.tsx +2 -3
  42. package/src/build-components/Text/Text.tsx +4 -9
  43. package/src/build-components/patterns.generated.ts +23 -8
  44. package/src/build-components/useNode.ts +20 -4
  45. package/src/components/AttributesEditorPanel.tsx +13 -1
  46. package/src/components/Builder.tsx +19 -5
  47. package/src/components/EditorHeader.tsx +16 -6
  48. package/src/components/JsonTextEditor.tsx +41 -0
  49. package/src/pages/DebugJsonPage.tsx +104 -4
  50. package/src/pages/ProjectDebug.tsx +66 -28
  51. package/src/pages/ProjectMigrationPage.tsx +15 -0
  52. package/src/pages/ProjectPage.tsx +160 -23
  53. package/src/pages/ProjectValidationPage.tsx +64 -1
  54. package/src/styles/layout/_project-validation.scss +29 -0
  55. package/src/styles/utilities/_carousel.scss +0 -32
  56. package/src/utils/__special_exceptions.ts +9 -3
  57. package/src/utils/analyseNodeByPatterns.ts +16 -6
  58. package/src/utils/applyJsonTransform.ts +19 -0
  59. package/src/utils/novaToJson.ts +7 -3
  60. package/src/utils/repairNodeKeys.ts +90 -0
  61. package/src/utils/safeJsonStringify.ts +18 -0
  62. package/src/utils/wrapNodeInMain.ts +67 -0
@@ -21,9 +21,9 @@
21
21
  "onboard.title.two-page": "Access content worldwide",
22
22
  "onboard.title.three-page": "Fast and reliable",
23
23
  "onboard.title.four-page": "Stay notified and safe",
24
- "onboard.subtitle.one-page": "Encrypt your traffic and protect your privacy on public Wi\u2011Fi.",
25
- "onboard.subtitle.two-page": "Connect to high\u2011speed servers in many countries with one tap.",
26
- "onboard.subtitle.three-page": "Auto\u2011connect to the best server for speed and stability.",
24
+ "onboard.subtitle.one-page": "Encrypt your traffic and protect your privacy on public Wi‑Fi.",
25
+ "onboard.subtitle.two-page": "Connect to high‑speed servers in many countries with one tap.",
26
+ "onboard.subtitle.three-page": "Auto‑connect to the best server for speed and stability.",
27
27
  "onboard.subtitle.four-page": "Enable notifications for connection status and security tips.",
28
28
  "onboard.next.one-page": "Next",
29
29
  "onboard.next.two-page": "Next",
@@ -37,24 +37,24 @@
37
37
  "view.onboarding.btnTerms": "Terms of Service"
38
38
  },
39
39
  "ar": {
40
- "onboard.title.one-page": "\u0623\u0645\u0651\u0646 \u0627\u062a\u0635\u0627\u0644\u0643",
41
- "onboard.title.two-page": "\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u062d\u0648\u0644 \u0627\u0644\u0639\u0627\u0644\u0645",
42
- "onboard.title.three-page": "\u0633\u0631\u0639\u0629 \u0648\u0627\u0639\u062a\u0645\u0627\u062f\u064a\u0629",
43
- "onboard.title.four-page": "\u0625\u0634\u0639\u0627\u0631\u0627\u062a \u0648\u062d\u0645\u0627\u064a\u0629 \u062f\u0627\u0626\u0645\u0629",
44
- "onboard.subtitle.one-page": "\u0642\u0645 \u0628\u062a\u0634\u0641\u064a\u0631 \u062d\u0631\u0643\u0629 \u0627\u0644\u0645\u0631\u0648\u0631 \u0648\u062d\u0645\u0627\u064a\u0629 \u062e\u0635\u0648\u0635\u064a\u062a\u0643 \u0639\u0644\u0649 \u0634\u0628\u0643\u0627\u062a Wi\u2011Fi \u0627\u0644\u0639\u0627\u0645\u0629.",
45
- "onboard.subtitle.two-page": "\u0627\u062a\u0635\u0644 \u0628\u062e\u0648\u0627\u062f\u0645 \u0639\u0627\u0644\u064a\u0629 \u0627\u0644\u0633\u0631\u0639\u0629 \u0641\u064a \u0628\u0644\u062f\u0627\u0646 \u0645\u062a\u0639\u062f\u062f\u0629 \u0628\u0636\u063a\u0637\u0629 \u0648\u0627\u062d\u062f\u0629.",
46
- "onboard.subtitle.three-page": "\u064a\u062a\u0635\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b \u0628\u0623\u0641\u0636\u0644 \u062e\u0627\u062f\u0645 \u0644\u0633\u0631\u0639\u0629 \u0648\u062b\u0628\u0627\u062a \u0623\u0639\u0644\u0649.",
47
- "onboard.subtitle.four-page": "\u0641\u0639\u0651\u0644 \u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062a \u0644\u0645\u0639\u0631\u0641\u0629 \u062d\u0627\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0648\u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0646\u0635\u0627\u0626\u062d \u0627\u0644\u0623\u0645\u0627\u0646.",
48
- "onboard.next.one-page": "\u0627\u0644\u062a\u0627\u0644\u064a",
49
- "onboard.next.two-page": "\u0627\u0644\u062a\u0627\u0644\u064a",
50
- "onboard.next.three-page": "\u0627\u0644\u062a\u0627\u0644\u064a",
51
- "onboard.skip.one-page": "\u062a\u062e\u0637\u064a",
52
- "onboard.skip.two-page": "\u062a\u062e\u0637\u064a",
53
- "onboard.skip.three-page": "\u062a\u062e\u0637\u064a",
54
- "onboard.allow.four-page": "\u0627\u0644\u0633\u0645\u0627\u062d",
55
- "view.onboarding.footer.description": "\u0628\u0627\u0644\u0645\u062a\u0627\u0628\u0639\u0629\u060c \u0641\u0625\u0646\u0643 \u062a\u0648\u0627\u0641\u0642 \u0639\u0644\u0649",
56
- "view.onboarding.btnPrivacy": "\u0633\u064a\u0627\u0633\u0629 \u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629",
57
- "view.onboarding.btnTerms": "\u0634\u0631\u0648\u0637 \u0627\u0644\u062e\u062f\u0645\u0629"
40
+ "onboard.title.one-page": "أمّن اتصالك",
41
+ "onboard.title.two-page": "وصول إلى المحتوى حول العالم",
42
+ "onboard.title.three-page": "سرعة واعتمادية",
43
+ "onboard.title.four-page": "إشعارات وحماية دائمة",
44
+ "onboard.subtitle.one-page": "قم بتشفير حركة المرور وحماية خصوصيتك على شبكات Wi‑Fi العامة.",
45
+ "onboard.subtitle.two-page": "اتصل بخوادم عالية السرعة في بلدان متعددة بضغطة واحدة.",
46
+ "onboard.subtitle.three-page": "يتصل التطبيق تلقائياً بأفضل خادم لسرعة وثبات أعلى.",
47
+ "onboard.subtitle.four-page": "فعّل الإشعارات لمعرفة حالة الاتصال والحصول على نصائح الأمان.",
48
+ "onboard.next.one-page": "التالي",
49
+ "onboard.next.two-page": "التالي",
50
+ "onboard.next.three-page": "التالي",
51
+ "onboard.skip.one-page": "تخطي",
52
+ "onboard.skip.two-page": "تخطي",
53
+ "onboard.skip.three-page": "تخطي",
54
+ "onboard.allow.four-page": "السماح",
55
+ "view.onboarding.footer.description": "بالمتابعة، فإنك توافق على",
56
+ "view.onboarding.btnPrivacy": "سياسة الخصوصية",
57
+ "view.onboarding.btnTerms": "شروط الخدمة"
58
58
  }
59
59
  },
60
60
  "defaultLanguage": "en"
@@ -65,7 +65,7 @@
65
65
  "key": "c92tR8J5wbTb3fav",
66
66
  "attributes": {
67
67
  "useSafeAreaView": true,
68
- "description": "Ekran\u0131n ana kapsay\u0131c\u0131s\u0131. (#1)",
68
+ "description": "Ekranın ana kapsayıcısı. (#1)",
69
69
  "title": "Main 1"
70
70
  },
71
71
  "children": [
@@ -82,13 +82,13 @@
82
82
  {
83
83
  "type": "OnboardTitle",
84
84
  "attributes": {
85
- "style": {
85
+ "description": "Sayfa başlığı. (#1)",
86
+ "title": "OnboardTitle 1",
87
+ "styles": {
86
88
  "color": "#FDFDFD",
87
89
  "textAlign": "center",
88
90
  "marginTop": 40
89
- },
90
- "description": "Sayfa ba\u015fl\u0131\u011f\u0131. (#1)",
91
- "title": "OnboardTitle 1"
91
+ }
92
92
  },
93
93
  "children": "onboard.title.one-page"
94
94
  },
@@ -97,7 +97,7 @@
97
97
  "attributes": {
98
98
  "src": "https://textcall-dev.s3.amazonaws.com/onboard/high/6c89e0da17a2d6fe2997e97a2b8a00a1.png",
99
99
  "resizeMode": "contain",
100
- "style": {
100
+ "styles": {
101
101
  "height": 350
102
102
  }
103
103
  }
@@ -105,19 +105,19 @@
105
105
  {
106
106
  "type": "OnboardSubtitle",
107
107
  "attributes": {
108
- "style": {
108
+ "description": "Sayfa alt başlığı. (#1)",
109
+ "title": "OnboardSubtitle 1",
110
+ "styles": {
109
111
  "color": "#C7C7C7",
110
112
  "fontSize": 16,
111
113
  "textAlign": "center"
112
- },
113
- "description": "Sayfa alt ba\u015fl\u0131\u011f\u0131. (#1)",
114
- "title": "OnboardSubtitle 1"
114
+ }
115
115
  },
116
116
  "children": "onboard.subtitle.one-page"
117
117
  }
118
118
  ],
119
119
  "attributes": {
120
- "description": "Onboarding sayfas\u0131. (#1)",
120
+ "description": "Onboarding sayfası. (#1)",
121
121
  "title": "OnboardItem 1"
122
122
  }
123
123
  },
@@ -128,13 +128,13 @@
128
128
  {
129
129
  "type": "OnboardTitle",
130
130
  "attributes": {
131
- "style": {
131
+ "description": "Sayfa başlığı. (#2)",
132
+ "title": "OnboardTitle 2",
133
+ "styles": {
132
134
  "color": "#FDFDFD",
133
135
  "textAlign": "center",
134
136
  "marginTop": 40
135
- },
136
- "description": "Sayfa ba\u015fl\u0131\u011f\u0131. (#2)",
137
- "title": "OnboardTitle 2"
137
+ }
138
138
  },
139
139
  "children": "onboard.title.two-page"
140
140
  },
@@ -143,7 +143,7 @@
143
143
  "attributes": {
144
144
  "src": "https://textcall-dev.s3.amazonaws.com/onboard/high/497a627b30ab4a0daaafa3d648a26b07.png",
145
145
  "resizeMode": "contain",
146
- "style": {
146
+ "styles": {
147
147
  "height": 350
148
148
  }
149
149
  }
@@ -151,19 +151,19 @@
151
151
  {
152
152
  "type": "OnboardSubtitle",
153
153
  "attributes": {
154
- "style": {
154
+ "description": "Sayfa alt başlığı. (#2)",
155
+ "title": "OnboardSubtitle 2",
156
+ "styles": {
155
157
  "color": "#C7C7C7",
156
158
  "fontSize": 16,
157
159
  "textAlign": "center"
158
- },
159
- "description": "Sayfa alt ba\u015fl\u0131\u011f\u0131. (#2)",
160
- "title": "OnboardSubtitle 2"
160
+ }
161
161
  },
162
162
  "children": "onboard.subtitle.two-page"
163
163
  }
164
164
  ],
165
165
  "attributes": {
166
- "description": "Onboarding sayfas\u0131. (#2)",
166
+ "description": "Onboarding sayfası. (#2)",
167
167
  "title": "OnboardItem 2"
168
168
  }
169
169
  },
@@ -174,13 +174,13 @@
174
174
  {
175
175
  "type": "OnboardTitle",
176
176
  "attributes": {
177
- "style": {
177
+ "description": "Sayfa başlığı. (#3)",
178
+ "title": "OnboardTitle 3",
179
+ "styles": {
178
180
  "color": "#FDFDFD",
179
181
  "textAlign": "center",
180
182
  "marginTop": 40
181
- },
182
- "description": "Sayfa ba\u015fl\u0131\u011f\u0131. (#3)",
183
- "title": "OnboardTitle 3"
183
+ }
184
184
  },
185
185
  "children": "onboard.title.three-page"
186
186
  },
@@ -189,7 +189,7 @@
189
189
  "attributes": {
190
190
  "src": "https://textcall-dev.s3.amazonaws.com/onboard/high/6e2bc370d38695f6845007fd302034c2.png",
191
191
  "resizeMode": "contain",
192
- "style": {
192
+ "styles": {
193
193
  "height": 350
194
194
  }
195
195
  }
@@ -197,19 +197,19 @@
197
197
  {
198
198
  "type": "OnboardSubtitle",
199
199
  "attributes": {
200
- "style": {
200
+ "description": "Sayfa alt başlığı. (#3)",
201
+ "title": "OnboardSubtitle 3",
202
+ "styles": {
201
203
  "color": "#C7C7C7",
202
204
  "fontSize": 16,
203
205
  "textAlign": "center"
204
- },
205
- "description": "Sayfa alt ba\u015fl\u0131\u011f\u0131. (#3)",
206
- "title": "OnboardSubtitle 3"
206
+ }
207
207
  },
208
208
  "children": "onboard.subtitle.three-page"
209
209
  }
210
210
  ],
211
211
  "attributes": {
212
- "description": "Onboarding sayfas\u0131. (#3)",
212
+ "description": "Onboarding sayfası. (#3)",
213
213
  "title": "OnboardItem 3"
214
214
  }
215
215
  },
@@ -220,13 +220,13 @@
220
220
  {
221
221
  "type": "OnboardTitle",
222
222
  "attributes": {
223
- "style": {
223
+ "description": "Sayfa başlığı. (#4)",
224
+ "title": "OnboardTitle 4",
225
+ "styles": {
224
226
  "color": "#FDFDFD",
225
227
  "textAlign": "center",
226
228
  "marginTop": 40
227
- },
228
- "description": "Sayfa ba\u015fl\u0131\u011f\u0131. (#4)",
229
- "title": "OnboardTitle 4"
229
+ }
230
230
  },
231
231
  "children": "onboard.title.four-page"
232
232
  },
@@ -235,7 +235,7 @@
235
235
  "attributes": {
236
236
  "src": "https://textcall-dev.s3.amazonaws.com/onboard/high/b6e978fe3362e857212163486c22cc7c.png",
237
237
  "resizeMode": "contain",
238
- "style": {
238
+ "styles": {
239
239
  "height": 350
240
240
  }
241
241
  }
@@ -243,25 +243,25 @@
243
243
  {
244
244
  "type": "OnboardSubtitle",
245
245
  "attributes": {
246
- "style": {
246
+ "description": "Sayfa alt başlığı. (#4)",
247
+ "title": "OnboardSubtitle 4",
248
+ "styles": {
247
249
  "color": "#C7C7C7",
248
250
  "fontSize": 16,
249
251
  "textAlign": "center"
250
- },
251
- "description": "Sayfa alt ba\u015fl\u0131\u011f\u0131. (#4)",
252
- "title": "OnboardSubtitle 4"
252
+ }
253
253
  },
254
254
  "children": "onboard.subtitle.four-page"
255
255
  }
256
256
  ],
257
257
  "attributes": {
258
- "description": "Onboarding sayfas\u0131. (#4)",
258
+ "description": "Onboarding sayfası. (#4)",
259
259
  "title": "OnboardItem 4"
260
260
  }
261
261
  }
262
262
  ],
263
263
  "attributes": {
264
- "description": "Onboarding ana yap\u0131s\u0131. (#1)",
264
+ "description": "Onboarding ana yapısı. (#1)",
265
265
  "title": "Onboard 1"
266
266
  }
267
267
  },
@@ -269,8 +269,13 @@
269
269
  "type": "OnboardDot",
270
270
  "attributes": {
271
271
  "dotType": "expanding_dot",
272
- "expanding_dot_width": 20,
273
- "active_dot_color": "#007AFF"
272
+ "dot_thickness": 20,
273
+ "inactive_dot_opacity": 0.3,
274
+ "inactive_dot_color": "#E4E5E7",
275
+ "active_dot_color": "#007AFF",
276
+ "styles": {
277
+ "flex": 2
278
+ }
274
279
  }
275
280
  },
276
281
  {
@@ -280,7 +285,11 @@
280
285
  "condition": "carousel-index",
281
286
  "conditionVariable": 0,
282
287
  "description": "Sayfa buton grubu. (#1)",
283
- "title": "OnboardButtons 1"
288
+ "title": "OnboardButtons 1",
289
+ "styles": {
290
+ "flex": 2,
291
+ "justifyContent": "flex-end"
292
+ }
284
293
  },
285
294
  "children": [
286
295
  {
@@ -296,7 +305,7 @@
296
305
  "targetIndex": 3
297
306
  }
298
307
  ],
299
- "style": {
308
+ "styles": {
300
309
  "flex": 1
301
310
  }
302
311
  }
@@ -314,7 +323,7 @@
314
323
  "targetIndex": 1
315
324
  }
316
325
  ],
317
- "style": {
326
+ "styles": {
318
327
  "flex": 1
319
328
  }
320
329
  }
@@ -328,7 +337,11 @@
328
337
  "condition": "carousel-index",
329
338
  "conditionVariable": 1,
330
339
  "description": "Sayfa buton grubu. (#2)",
331
- "title": "OnboardButtons 2"
340
+ "title": "OnboardButtons 2",
341
+ "styles": {
342
+ "flex": 2,
343
+ "justifyContent": "flex-end"
344
+ }
332
345
  },
333
346
  "children": [
334
347
  {
@@ -348,7 +361,7 @@
348
361
  "targetIndex": 3
349
362
  }
350
363
  ],
351
- "style": {
364
+ "styles": {
352
365
  "flex": 1
353
366
  }
354
367
  }
@@ -370,7 +383,7 @@
370
383
  "targetIndex": 2
371
384
  }
372
385
  ],
373
- "style": {
386
+ "styles": {
374
387
  "flex": 1
375
388
  }
376
389
  }
@@ -384,7 +397,11 @@
384
397
  "condition": "carousel-index",
385
398
  "conditionVariable": 2,
386
399
  "description": "Sayfa buton grubu. (#3)",
387
- "title": "OnboardButtons 3"
400
+ "title": "OnboardButtons 3",
401
+ "styles": {
402
+ "flex": 2,
403
+ "justifyContent": "flex-end"
404
+ }
388
405
  },
389
406
  "children": [
390
407
  {
@@ -400,7 +417,7 @@
400
417
  "targetIndex": 3
401
418
  }
402
419
  ],
403
- "style": {
420
+ "styles": {
404
421
  "flex": 1
405
422
  }
406
423
  }
@@ -422,7 +439,7 @@
422
439
  "targetIndex": 3
423
440
  }
424
441
  ],
425
- "style": {
442
+ "styles": {
426
443
  "flex": 1
427
444
  }
428
445
  }
@@ -436,7 +453,11 @@
436
453
  "condition": "carousel-index",
437
454
  "conditionVariable": 3,
438
455
  "description": "Sayfa buton grubu. (#4)",
439
- "title": "OnboardButtons 4"
456
+ "title": "OnboardButtons 4",
457
+ "styles": {
458
+ "flex": 2,
459
+ "justifyContent": "flex-end"
460
+ }
440
461
  },
441
462
  "children": [
442
463
  {
@@ -455,7 +476,7 @@
455
476
  "navigate_to": "home"
456
477
  }
457
478
  ],
458
- "style": {
479
+ "styles": {
459
480
  "flex": 1
460
481
  }
461
482
  }
@@ -472,7 +493,8 @@
472
493
  "linkedWordSecondLocalizationKey": "view.onboarding.btnTerms",
473
494
  "linkedWordSecondColor": "#1778F2",
474
495
  "linkedWordSecondPage": "terms",
475
- "style": {
496
+ "styles": {
497
+ "flex": 2,
476
498
  "gap": 8,
477
499
  "color": "#A2A4B1"
478
500
  }
@@ -481,7 +503,7 @@
481
503
  ],
482
504
  "attributes": {
483
505
  "theme": "dark",
484
- "description": "Onboarding sa\u011flay\u0131c\u0131s\u0131. (#1)",
506
+ "description": "Onboarding sağlayıcısı. (#1)",
485
507
  "title": "OnboardProvider 1"
486
508
  }
487
509
  }