@developer_tribe/react-builder 1.2.30 → 1.2.31

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 (49) hide show
  1. package/dist/build-components/BIcon/BIcon.d.ts +1 -1
  2. package/dist/build-components/BackgroundImage/BackgroundImage.d.ts +1 -1
  3. package/dist/build-components/Button/Button.d.ts +1 -1
  4. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +4 -0
  5. package/dist/build-components/OnboardButton/OnboardButton.d.ts +1 -1
  6. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +0 -2
  7. package/dist/build-components/OnboardDot/OnboardDot.d.ts +1 -1
  8. package/dist/build-components/PaywallCloseButton/PaywallCloseButton.d.ts +1 -1
  9. package/dist/build-components/Text/Text.d.ts +1 -1
  10. package/dist/build-components/patterns.generated.d.ts +11 -17
  11. package/dist/index.cjs.js +1 -1
  12. package/dist/index.cjs.js.map +1 -1
  13. package/dist/index.esm.js +1 -1
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/index.web.cjs.js +4 -4
  16. package/dist/index.web.cjs.js.map +1 -1
  17. package/dist/index.web.esm.js +4 -4
  18. package/dist/index.web.esm.js.map +1 -1
  19. package/dist/utils/useMergedStyle.d.ts +1 -1
  20. package/package.json +1 -1
  21. package/src/assets/meta.json +1 -1
  22. package/src/assets/samples/vpn-onboard-1.json +21 -21
  23. package/src/assets/samples/vpn-onboard-2.json +21 -45
  24. package/src/assets/samples/vpn-onboard-3.json +21 -53
  25. package/src/assets/samples/vpn-onboard-4.json +21 -21
  26. package/src/assets/samples/vpn-onboard-5.json +33 -33
  27. package/src/assets/samples/vpn-onboard-6.json +21 -21
  28. package/src/assets/samples/vpn-onboard-7.json +21 -21
  29. package/src/build-components/BIcon/BIcon.tsx +1 -1
  30. package/src/build-components/BackgroundImage/BackgroundImage.tsx +1 -1
  31. package/src/build-components/Button/Button.tsx +1 -1
  32. package/src/build-components/CarouselDots/CarouselDots.tsx +8 -17
  33. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +4 -0
  34. package/src/build-components/CarouselDots/pattern.json +12 -1
  35. package/src/build-components/Main/Main.tsx +1 -0
  36. package/src/build-components/OnboardButton/OnboardButton.tsx +11 -9
  37. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +0 -2
  38. package/src/build-components/OnboardButton/pattern.json +0 -16
  39. package/src/build-components/OnboardDot/OnboardDot.tsx +10 -22
  40. package/src/build-components/OnboardDot/pattern.json +2 -1
  41. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +1 -1
  42. package/src/build-components/RadioButton/RadioButton.tsx +6 -3
  43. package/src/build-components/RenderNode.generated.tsx +7 -7
  44. package/src/build-components/Text/Text.tsx +1 -1
  45. package/src/build-components/patterns.generated.ts +11 -17
  46. package/src/components/BuilderProvider.tsx +1 -1
  47. package/src/hooks/useLocalize.ts +1 -1
  48. package/src/utils/projectColors.ts +3 -2
  49. package/src/utils/useMergedStyle.ts +9 -7
@@ -350,8 +350,6 @@
350
350
  "type": "OnboardButton",
351
351
  "attributes": {
352
352
  "labelKey": "onboard.skip.one-page",
353
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
354
- "button_background_color": "THEME_COLORS.LINE",
355
353
  "events": [
356
354
  {
357
355
  "type": "Navigate",
@@ -360,7 +358,9 @@
360
358
  }
361
359
  ],
362
360
  "styles": {
363
- "flex": 1
361
+ "flex": 1,
362
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
363
+ "backgroundColor": "THEME_COLORS.LINE"
364
364
  }
365
365
  }
366
366
  },
@@ -368,8 +368,6 @@
368
368
  "type": "OnboardButton",
369
369
  "attributes": {
370
370
  "labelKey": "onboard.next.one-page",
371
- "button_text_color": "STATIC_COLORS.WHITE",
372
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
373
371
  "events": [
374
372
  {
375
373
  "type": "Navigate",
@@ -378,7 +376,9 @@
378
376
  }
379
377
  ],
380
378
  "styles": {
381
- "flex": 1
379
+ "flex": 1,
380
+ "color": "STATIC_COLORS.WHITE",
381
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
382
382
  }
383
383
  }
384
384
  }
@@ -403,8 +403,6 @@
403
403
  "type": "OnboardButton",
404
404
  "attributes": {
405
405
  "labelKey": "onboard.skip.two-page",
406
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
407
- "button_background_color": "THEME_COLORS.LINE",
408
406
  "events": [
409
407
  {
410
408
  "type": "Navigate",
@@ -413,7 +411,9 @@
413
411
  }
414
412
  ],
415
413
  "styles": {
416
- "flex": 1
414
+ "flex": 1,
415
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
416
+ "backgroundColor": "THEME_COLORS.LINE"
417
417
  }
418
418
  }
419
419
  },
@@ -421,8 +421,6 @@
421
421
  "type": "OnboardButton",
422
422
  "attributes": {
423
423
  "labelKey": "onboard.next.two-page",
424
- "button_text_color": "STATIC_COLORS.WHITE",
425
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
426
424
  "events": [
427
425
  {
428
426
  "type": "Navigate",
@@ -431,7 +429,9 @@
431
429
  }
432
430
  ],
433
431
  "styles": {
434
- "flex": 1
432
+ "flex": 1,
433
+ "color": "STATIC_COLORS.WHITE",
434
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
435
435
  }
436
436
  }
437
437
  }
@@ -456,8 +456,6 @@
456
456
  "type": "OnboardButton",
457
457
  "attributes": {
458
458
  "labelKey": "onboard.skip.three-page",
459
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
460
- "button_background_color": "THEME_COLORS.LINE",
461
459
  "events": [
462
460
  {
463
461
  "type": "Navigate",
@@ -466,7 +464,9 @@
466
464
  }
467
465
  ],
468
466
  "styles": {
469
- "flex": 1
467
+ "flex": 1,
468
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
469
+ "backgroundColor": "THEME_COLORS.LINE"
470
470
  }
471
471
  }
472
472
  },
@@ -474,8 +474,6 @@
474
474
  "type": "OnboardButton",
475
475
  "attributes": {
476
476
  "labelKey": "onboard.next.three-page",
477
- "button_text_color": "STATIC_COLORS.WHITE",
478
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
479
477
  "events": [
480
478
  {
481
479
  "type": "Navigate",
@@ -484,7 +482,9 @@
484
482
  }
485
483
  ],
486
484
  "styles": {
487
- "flex": 1
485
+ "flex": 1,
486
+ "color": "STATIC_COLORS.WHITE",
487
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
488
488
  }
489
489
  }
490
490
  }
@@ -509,8 +509,6 @@
509
509
  "type": "OnboardButton",
510
510
  "attributes": {
511
511
  "labelKey": "onboard.skip.five-page",
512
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
513
- "button_background_color": "THEME_COLORS.LINE",
514
512
  "events": [
515
513
  {
516
514
  "type": "Navigate",
@@ -519,7 +517,9 @@
519
517
  }
520
518
  ],
521
519
  "styles": {
522
- "flex": 1
520
+ "flex": 1,
521
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
522
+ "backgroundColor": "THEME_COLORS.LINE"
523
523
  }
524
524
  }
525
525
  },
@@ -527,8 +527,6 @@
527
527
  "type": "OnboardButton",
528
528
  "attributes": {
529
529
  "labelKey": "onboard.next.five-page",
530
- "button_text_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT",
531
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
532
530
  "events": [
533
531
  {
534
532
  "type": "Permission",
@@ -541,7 +539,9 @@
541
539
  }
542
540
  ],
543
541
  "styles": {
544
- "flex": 1
542
+ "flex": 1,
543
+ "color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_TEXT",
544
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
545
545
  }
546
546
  }
547
547
  }
@@ -566,8 +566,6 @@
566
566
  "type": "OnboardButton",
567
567
  "attributes": {
568
568
  "labelKey": "onboard.skip.five-page",
569
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
570
- "button_background_color": "THEME_COLORS.LINE",
571
569
  "events": [
572
570
  {
573
571
  "type": "Navigate",
@@ -576,7 +574,9 @@
576
574
  }
577
575
  ],
578
576
  "styles": {
579
- "flex": 1
577
+ "flex": 1,
578
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
579
+ "backgroundColor": "THEME_COLORS.LINE"
580
580
  }
581
581
  }
582
582
  },
@@ -584,8 +584,6 @@
584
584
  "type": "OnboardButton",
585
585
  "attributes": {
586
586
  "labelKey": "onboard.next.five-page",
587
- "button_text_color": "STATIC_COLORS.WHITE",
588
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
589
587
  "events": [
590
588
  {
591
589
  "type": "Permission",
@@ -598,7 +596,9 @@
598
596
  }
599
597
  ],
600
598
  "styles": {
601
- "flex": 1
599
+ "flex": 1,
600
+ "color": "STATIC_COLORS.WHITE",
601
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
602
602
  }
603
603
  }
604
604
  }
@@ -623,8 +623,6 @@
623
623
  "type": "OnboardButton",
624
624
  "attributes": {
625
625
  "labelKey": "onboard.allow.four-page",
626
- "button_text_color": "STATIC_COLORS.WHITE",
627
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
628
626
  "events": [
629
627
  {
630
628
  "type": "Permission",
@@ -636,7 +634,9 @@
636
634
  }
637
635
  ],
638
636
  "styles": {
639
- "flex": 1
637
+ "flex": 1,
638
+ "color": "STATIC_COLORS.WHITE",
639
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
640
640
  }
641
641
  }
642
642
  }
@@ -264,8 +264,6 @@
264
264
  "type": "OnboardButton",
265
265
  "attributes": {
266
266
  "labelKey": "onboard.skip.one-page",
267
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
268
- "button_background_color": "THEME_COLORS.TEXT",
269
267
  "events": [
270
268
  {
271
269
  "type": "Navigate",
@@ -274,7 +272,9 @@
274
272
  }
275
273
  ],
276
274
  "styles": {
277
- "flex": 1
275
+ "flex": 1,
276
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
277
+ "backgroundColor": "THEME_COLORS.TEXT"
278
278
  }
279
279
  }
280
280
  },
@@ -282,8 +282,6 @@
282
282
  "type": "OnboardButton",
283
283
  "attributes": {
284
284
  "labelKey": "onboard.next.one-page",
285
- "button_text_color": "STATIC_COLORS.WHITE",
286
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
287
285
  "events": [
288
286
  {
289
287
  "type": "Navigate",
@@ -292,7 +290,9 @@
292
290
  }
293
291
  ],
294
292
  "styles": {
295
- "flex": 1
293
+ "flex": 1,
294
+ "color": "STATIC_COLORS.WHITE",
295
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
296
296
  }
297
297
  }
298
298
  }
@@ -317,8 +317,6 @@
317
317
  "type": "OnboardButton",
318
318
  "attributes": {
319
319
  "labelKey": "onboard.skip.two-page",
320
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
321
- "button_background_color": "THEME_COLORS.TEXT",
322
320
  "events": [
323
321
  {
324
322
  "type": "Navigate",
@@ -327,7 +325,9 @@
327
325
  }
328
326
  ],
329
327
  "styles": {
330
- "flex": 1
328
+ "flex": 1,
329
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
330
+ "backgroundColor": "THEME_COLORS.TEXT"
331
331
  }
332
332
  }
333
333
  },
@@ -335,8 +335,6 @@
335
335
  "type": "OnboardButton",
336
336
  "attributes": {
337
337
  "labelKey": "onboard.next.two-page",
338
- "button_text_color": "STATIC_COLORS.WHITE",
339
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
340
338
  "events": [
341
339
  {
342
340
  "type": "Navigate",
@@ -345,7 +343,9 @@
345
343
  }
346
344
  ],
347
345
  "styles": {
348
- "flex": 1
346
+ "flex": 1,
347
+ "color": "STATIC_COLORS.WHITE",
348
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
349
349
  }
350
350
  }
351
351
  }
@@ -370,8 +370,6 @@
370
370
  "type": "OnboardButton",
371
371
  "attributes": {
372
372
  "labelKey": "onboard.skip.three-page",
373
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
374
- "button_background_color": "THEME_COLORS.TEXT",
375
373
  "events": [
376
374
  {
377
375
  "type": "Navigate",
@@ -380,7 +378,9 @@
380
378
  }
381
379
  ],
382
380
  "styles": {
383
- "flex": 1
381
+ "flex": 1,
382
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
383
+ "backgroundColor": "THEME_COLORS.TEXT"
384
384
  }
385
385
  }
386
386
  },
@@ -388,8 +388,6 @@
388
388
  "type": "OnboardButton",
389
389
  "attributes": {
390
390
  "labelKey": "onboard.next.three-page",
391
- "button_text_color": "STATIC_COLORS.WHITE",
392
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
393
391
  "events": [
394
392
  {
395
393
  "type": "Permission",
@@ -402,7 +400,9 @@
402
400
  }
403
401
  ],
404
402
  "styles": {
405
- "flex": 1
403
+ "flex": 1,
404
+ "color": "STATIC_COLORS.WHITE",
405
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
406
406
  }
407
407
  }
408
408
  }
@@ -427,8 +427,6 @@
427
427
  "type": "OnboardButton",
428
428
  "attributes": {
429
429
  "labelKey": "onboard.allow.four-page",
430
- "button_text_color": "STATIC_COLORS.WHITE",
431
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
432
430
  "events": [
433
431
  {
434
432
  "type": "Permission",
@@ -440,7 +438,9 @@
440
438
  }
441
439
  ],
442
440
  "styles": {
443
- "flex": 1
441
+ "flex": 1,
442
+ "color": "STATIC_COLORS.WHITE",
443
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
444
444
  }
445
445
  }
446
446
  }
@@ -288,8 +288,6 @@
288
288
  "type": "OnboardButton",
289
289
  "attributes": {
290
290
  "labelKey": "onboard.skip.one-page",
291
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
292
- "button_background_color": "STATIC_COLORS.TRANSPARENT",
293
291
  "events": [
294
292
  {
295
293
  "type": "Navigate",
@@ -298,7 +296,9 @@
298
296
  }
299
297
  ],
300
298
  "styles": {
301
- "flex": 1
299
+ "flex": 1,
300
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
301
+ "backgroundColor": "STATIC_COLORS.TRANSPARENT"
302
302
  }
303
303
  }
304
304
  },
@@ -306,8 +306,6 @@
306
306
  "type": "OnboardButton",
307
307
  "attributes": {
308
308
  "labelKey": "onboard.next.one-page",
309
- "button_text_color": "STATIC_COLORS.WHITE",
310
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
311
309
  "events": [
312
310
  {
313
311
  "type": "Navigate",
@@ -316,7 +314,9 @@
316
314
  }
317
315
  ],
318
316
  "styles": {
319
- "flex": 1
317
+ "flex": 1,
318
+ "color": "STATIC_COLORS.WHITE",
319
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
320
320
  }
321
321
  }
322
322
  }
@@ -343,8 +343,6 @@
343
343
  "type": "OnboardButton",
344
344
  "attributes": {
345
345
  "labelKey": "onboard.skip.two-page",
346
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
347
- "button_background_color": "STATIC_COLORS.TRANSPARENT",
348
346
  "events": [
349
347
  {
350
348
  "type": "Permission",
@@ -357,7 +355,9 @@
357
355
  }
358
356
  ],
359
357
  "styles": {
360
- "flex": 1
358
+ "flex": 1,
359
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
360
+ "backgroundColor": "STATIC_COLORS.TRANSPARENT"
361
361
  }
362
362
  }
363
363
  },
@@ -365,8 +365,6 @@
365
365
  "type": "OnboardButton",
366
366
  "attributes": {
367
367
  "labelKey": "onboard.next.two-page",
368
- "button_text_color": "STATIC_COLORS.WHITE",
369
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
370
368
  "events": [
371
369
  {
372
370
  "type": "Permission",
@@ -379,7 +377,9 @@
379
377
  }
380
378
  ],
381
379
  "styles": {
382
- "flex": 1
380
+ "flex": 1,
381
+ "color": "STATIC_COLORS.WHITE",
382
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
383
383
  }
384
384
  }
385
385
  }
@@ -406,8 +406,6 @@
406
406
  "type": "OnboardButton",
407
407
  "attributes": {
408
408
  "labelKey": "onboard.skip.three-page",
409
- "button_text_color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
410
- "button_background_color": "STATIC_COLORS.TRANSPARENT",
411
409
  "events": [
412
410
  {
413
411
  "type": "Navigate",
@@ -416,7 +414,9 @@
416
414
  }
417
415
  ],
418
416
  "styles": {
419
- "flex": 1
417
+ "flex": 1,
418
+ "color": "THEME_COLORS.ONBOARD_BUTTON_SECONDARY_TEXT",
419
+ "backgroundColor": "STATIC_COLORS.TRANSPARENT"
420
420
  }
421
421
  }
422
422
  },
@@ -424,8 +424,6 @@
424
424
  "type": "OnboardButton",
425
425
  "attributes": {
426
426
  "labelKey": "onboard.next.three-page",
427
- "button_text_color": "STATIC_COLORS.WHITE",
428
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
429
427
  "events": [
430
428
  {
431
429
  "type": "Permission",
@@ -438,7 +436,9 @@
438
436
  }
439
437
  ],
440
438
  "styles": {
441
- "flex": 1
439
+ "flex": 1,
440
+ "color": "STATIC_COLORS.WHITE",
441
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
442
442
  }
443
443
  }
444
444
  }
@@ -465,8 +465,6 @@
465
465
  "type": "OnboardButton",
466
466
  "attributes": {
467
467
  "labelKey": "onboard.allow.four-page",
468
- "button_text_color": "STATIC_COLORS.WHITE",
469
- "button_background_color": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND",
470
468
  "events": [
471
469
  {
472
470
  "type": "Permission",
@@ -478,7 +476,9 @@
478
476
  }
479
477
  ],
480
478
  "styles": {
481
- "flex": 1
479
+ "flex": 1,
480
+ "color": "STATIC_COLORS.WHITE",
481
+ "backgroundColor": "STATIC_COLORS.ONBOARD_BUTTON_PRIMARY_BACKGROUND"
482
482
  }
483
483
  }
484
484
  }
@@ -9,7 +9,7 @@ import { Icon } from '../../components/Icon.generated';
9
9
  import { IconsType } from '../../types/Icons.generated';
10
10
  import { useExtractTextStyle } from '../../attribute-analyser/style/web/useExtractTextStyle';
11
11
 
12
- function BIcon({ node }: BIconComponentProps) {
12
+ export function BIcon({ node }: BIconComponentProps) {
13
13
  useLogRender('BIcon');
14
14
  node = useNode(node);
15
15
  const generatedId = useId();
@@ -8,7 +8,7 @@ import { useLogRender } from '../../utils/useLogRender';
8
8
  import { isNodeSelected, SELECTED_OUTLINE_STYLE } from '../../utils/selection';
9
9
  import { useMergedStyle } from '../../utils/useMergedStyle';
10
10
 
11
- function BackgroundImage({ node }: BackgroundImageComponentProps) {
11
+ export function BackgroundImage({ node }: BackgroundImageComponentProps) {
12
12
  useLogRender('BackgroundImage');
13
13
  node = useNode(node);
14
14
  const generatedId = useId();
@@ -9,7 +9,7 @@ import { isNodeSelected, SELECTED_OUTLINE_STYLE } from '../../utils/selection';
9
9
  import { useMergedStyle } from '../../utils/useMergedStyle';
10
10
  import { useLocalize } from '../../hooks/useLocalize';
11
11
 
12
- function Button({ node }: ButtonComponentProps) {
12
+ export function Button({ node }: ButtonComponentProps) {
13
13
  useLogRender('Button');
14
14
  node = useNode(node);
15
15
  const generatedId = useId();
@@ -34,9 +34,7 @@ function CarouselDots({ node }: CarouselDotsComponentProps) {
34
34
  const onboardApi = useContext(onboardContext);
35
35
  const emblaApi = isOnboard ? onboardApi?.emblaApi : carouselApi;
36
36
 
37
- // When used as OnboardDot (sourceType), support OnboardDot-specific attributes too.
38
- const GHOST_DOT_DARK_COLOR = '#E4E5E7';
39
- const GHOST_DOT_LIGHT_COLOR = '#F7F7F9';
37
+ const { mockTheme: theme, projectColors, baseSize } = useBuilderParams();
40
38
  const inactiveDotOpacity =
41
39
  (stylesBag?.inactive_dot_opacity as number | undefined) ??
42
40
  (attrRecord.inactive_dot_opacity as number | undefined) ??
@@ -51,23 +49,14 @@ function CarouselDots({ node }: CarouselDotsComponentProps) {
51
49
  (stylesBag?.dot_thickness as string | number | undefined) ??
52
50
  (attrRecord.dot_thickness as string | number | undefined);
53
51
 
54
- const { mockTheme: theme, projectColors, baseSize } = useBuilderParams();
55
- const isDark = theme === 'dark';
56
- const inactiveDotColorBase = isDark
57
- ? GHOST_DOT_DARK_COLOR
58
- : GHOST_DOT_LIGHT_COLOR;
59
-
60
52
  const resolvedActiveDotColor = useMemo(
61
53
  () => parseColor(activeDotColor, { theme, projectColors }),
62
54
  [activeDotColor, theme, projectColors],
63
55
  );
64
- const resolvedInactiveDotColor = useMemo(() => {
65
- const parsed = parseColor(inactiveDotColorOverride, {
66
- theme,
67
- projectColors,
68
- });
69
- return parsed ?? inactiveDotColorBase;
70
- }, [inactiveDotColorBase, inactiveDotColorOverride, theme, projectColors]);
56
+ const resolvedInactiveDotColor = useMemo(
57
+ () => parseColor(inactiveDotColorOverride, { theme, projectColors }),
58
+ [inactiveDotColorOverride, theme, projectColors],
59
+ );
71
60
 
72
61
  const dotSizeCss = useMemo(() => {
73
62
  const parsed = parseSize(dotThicknessRaw, baseSize);
@@ -132,7 +121,9 @@ function CarouselDots({ node }: CarouselDotsComponentProps) {
132
121
  isDotSelected && resolvedActiveDotColor
133
122
  ? resolvedActiveDotColor
134
123
  : resolvedInactiveDotColor;
135
- const activeFallback = '#007AFF';
124
+ const activeFallback =
125
+ resolvedActiveDotColor ??
126
+ parseColor('STATIC_COLORS.ONBOARD_DOT_ACTIVE', { projectColors });
136
127
  const dotColor = resolvedColor ?? activeFallback;
137
128
 
138
129
  return (
@@ -69,6 +69,10 @@ export interface CarouselDotsPropsGenerated {
69
69
  style?: CarouselDotsStyleGenerated;
70
70
  scrollable?: boolean;
71
71
  dotType?: DotTypeOptionType;
72
+ dot_thickness?: string;
73
+ inactive_dot_opacity?: number;
74
+ inactive_dot_color?: string;
75
+ active_dot_color?: string;
72
76
  };
73
77
  }
74
78
 
@@ -14,9 +14,20 @@
14
14
  "sliding_border",
15
15
  "sliding_dot",
16
16
  "liquid_like"
17
- ]
17
+ ],
18
+ "dot_thickness": "size",
19
+ "inactive_dot_opacity": "number",
20
+ "inactive_dot_color": "color",
21
+ "active_dot_color": "color"
18
22
  }
19
23
  },
24
+ "defaults": {
25
+ "dotType": "expanding_dot",
26
+ "dot_thickness": 10,
27
+ "inactive_dot_opacity": 0.3,
28
+ "active_dot_color": "STATIC_COLORS.ONBOARD_DOT_ACTIVE",
29
+ "inactive_dot_color": "THEME_COLORS.BACKGROUND"
30
+ },
20
31
  "meta": {
21
32
  "desiredParent": [">CarouselProvider"],
22
33
  "label": "Carousel Dots",
@@ -33,6 +33,7 @@ function Main({ node }: MainComponentProps) {
33
33
  const style = useMergedStyle(
34
34
  layoutStyle,
35
35
  isSelected ? SELECTED_OUTLINE_STYLE : undefined,
36
+ { boxSizing: 'content-box' },
36
37
  );
37
38
 
38
39
  return (
@@ -11,9 +11,10 @@ import { useExtractViewStyle } from '../../attribute-analyser/style/web/useExtra
11
11
  import { useMockOSContext, useMockPermission } from '../../mockOS';
12
12
  import { useLocalize } from '../../hooks/useLocalize';
13
13
  import { parseColor } from '../../utils/parseColor';
14
+ import { defaultProjectColors } from '../../utils/projectColors';
14
15
  import { getStyleBag, toAttributeRecord } from '../../utils/attributeStyle';
15
16
 
16
- function OnboardButton({ node }: OnboardButtonComponentProps) {
17
+ export function OnboardButton({ node }: OnboardButtonComponentProps) {
17
18
  useLogRender('OnboardButton');
18
19
  node = useNode(node);
19
20
  const attributeName = node.sourceType ?? node.type ?? 'OnboardButton';
@@ -35,17 +36,18 @@ function OnboardButton({ node }: OnboardButtonComponentProps) {
35
36
 
36
37
  const flex = (attrRecord.flex ?? styleBag?.flex ?? 1) as number;
37
38
 
38
- // The editor saves color attrs inside `styles` (meta category === 'style'),
39
- // but legacy JSON may have them at the top level.
40
- const rawTextColor = (attrRecord.button_text_color ??
41
- styleBag?.button_text_color) as string | undefined;
42
- const rawBgColor = (attrRecord.button_background_color ??
43
- styleBag?.button_background_color) as string | undefined;
39
+ // color and backgroundColor are now stored inside `styles`
40
+ const rawTextColor = styleBag?.color as string | undefined;
41
+ const rawBgColor = styleBag?.backgroundColor as string | undefined;
44
42
 
45
43
  const textColor =
46
- parseColor(rawTextColor, { projectColors, theme }) ?? '#FFFFFF';
44
+ parseColor(rawTextColor, { projectColors, theme }) ??
45
+ projectColors?.STATIC_COLORS?.ONBOARD_BUTTON_PRIMARY_TEXT ??
46
+ defaultProjectColors.STATIC_COLORS!.ONBOARD_BUTTON_PRIMARY_TEXT;
47
47
  const backgroundColor =
48
- parseColor(rawBgColor, { projectColors, theme }) ?? '#0066FF';
48
+ parseColor(rawBgColor, { projectColors, theme }) ??
49
+ projectColors?.STATIC_COLORS?.ONBOARD_BUTTON_PRIMARY_BACKGROUND ??
50
+ defaultProjectColors.STATIC_COLORS!.ONBOARD_BUTTON_PRIMARY_BACKGROUND;
49
51
  const viewStyle = useExtractViewStyle(node);
50
52
 
51
53
  const handleClick = () => {
@@ -77,10 +77,8 @@ export interface OnboardButtonPropsGenerated {
77
77
  style?: OnboardButtonStyleGenerated;
78
78
  scrollable?: boolean;
79
79
  labelKey?: string;
80
- button_text_color?: string;
81
80
  animation?: AnimationOptionType;
82
81
  animation_color?: string;
83
- button_background_color?: string;
84
82
  flex?: number;
85
83
  events?: EventObjectGenerated[];
86
84
  };