@useinsider/guido 3.1.1-beta.dee5e9c → 3.1.1-beta.e00a22b

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/README.md +1 -0
  2. package/dist/@types/config/schemas.js +69 -59
  3. package/dist/components/Guido.vue.js +4 -4
  4. package/dist/components/Guido.vue2.js +81 -91
  5. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +7 -7
  6. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +12 -20
  7. package/dist/components/organisms/header/EditorActions.vue.js +2 -2
  8. package/dist/components/organisms/header/EditorActions.vue2.js +45 -35
  9. package/dist/components/organisms/header/RightSlot.vue.js +10 -10
  10. package/dist/components/organisms/header/RightSlot.vue2.js +16 -13
  11. package/dist/composables/useHtmlCompiler.js +23 -21
  12. package/dist/composables/usePreviewMode.js +20 -16
  13. package/dist/composables/useSave.js +23 -15
  14. package/dist/composables/useStripo.js +44 -41
  15. package/dist/composables/validators/useLiquidValidator.js +42 -0
  16. package/dist/config/compiler/liquidCompilerRules.js +15 -0
  17. package/dist/config/migrator/checkboxMigrator.js +5 -3
  18. package/dist/config/migrator/radioButtonMigrator.js +14 -12
  19. package/dist/extensions/Blocks/CouponBlock/template.js +24 -13
  20. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +27 -11
  21. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +185 -172
  22. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +94 -92
  23. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +31 -31
  24. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +7 -5
  25. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +30 -29
  26. package/dist/extensions/Blocks/Recommendation/templates/index.js +7 -7
  27. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +3 -1
  28. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +20 -20
  29. package/dist/extensions/Blocks/Recommendation/templates/utils.js +57 -50
  30. package/dist/extensions/DynamicContent/dynamic-content.js +17 -12
  31. package/dist/guido.css +1 -1
  32. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +218 -324
  33. package/dist/package.json.js +1 -1
  34. package/dist/services/recommendationApi.js +13 -11
  35. package/dist/src/@types/config/index.d.ts +1 -1
  36. package/dist/src/@types/config/schemas.d.ts +24 -0
  37. package/dist/src/@types/config/types.d.ts +3 -1
  38. package/dist/src/@types/generic.d.ts +0 -1
  39. package/dist/src/composables/useConfig.d.ts +10 -0
  40. package/dist/src/composables/validators/useLiquidValidator.d.ts +3 -0
  41. package/dist/src/config/compiler/liquidCompilerRules.d.ts +2 -0
  42. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +2 -0
  43. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
  44. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +5 -0
  45. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +5 -0
  46. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +4 -4
  47. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +3 -3
  48. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +20 -3
  49. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +3 -3
  50. package/dist/src/stores/config.d.ts +90 -0
  51. package/dist/src/stores/preview.d.ts +3 -0
  52. package/dist/src/utils/genericUtil.d.ts +1 -1
  53. package/dist/src/utils/htmlCompiler.d.ts +2 -1
  54. package/dist/static/styles/base.css.js +2 -7
  55. package/dist/static/styles/components/button.css.js +7 -13
  56. package/dist/static/styles/components/narrow-panel.css.js +0 -52
  57. package/dist/stores/preview.js +4 -3
  58. package/dist/utils/genericUtil.js +42 -20
  59. package/dist/utils/htmlCompiler.js +48 -41
  60. package/dist/utils/templatePreparation.js +20 -20
  61. package/dist/utils/tooltipUtils.js +4 -5
  62. package/package.json +5 -4
@@ -22,6 +22,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
22
22
  productType: 60 | 49 | 97;
23
23
  messageType: 1 | 2;
24
24
  username: string;
25
+ fallbackFont?: {
26
+ name: string;
27
+ family: string;
28
+ } | undefined;
25
29
  };
26
30
  template: {
27
31
  html: string;
@@ -62,6 +66,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
62
66
  displayConditions: boolean;
63
67
  unsubscribe: boolean;
64
68
  modulesDisabled: boolean;
69
+ liquidSyntax: boolean;
65
70
  };
66
71
  blocks: {
67
72
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -120,6 +125,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
120
125
  productType: 60 | 49 | 97;
121
126
  messageType: 1 | 2;
122
127
  username: string;
128
+ fallbackFont?: {
129
+ name: string;
130
+ family: string;
131
+ } | undefined;
123
132
  };
124
133
  template: {
125
134
  html: string;
@@ -160,6 +169,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
160
169
  displayConditions: boolean;
161
170
  unsubscribe: boolean;
162
171
  modulesDisabled: boolean;
172
+ liquidSyntax: boolean;
163
173
  };
164
174
  blocks: {
165
175
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -218,6 +228,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
218
228
  productType: 60 | 49 | 97;
219
229
  messageType: 1 | 2;
220
230
  username: string;
231
+ fallbackFont?: {
232
+ name: string;
233
+ family: string;
234
+ } | undefined;
221
235
  };
222
236
  template: {
223
237
  html: string;
@@ -258,6 +272,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
258
272
  displayConditions: boolean;
259
273
  unsubscribe: boolean;
260
274
  modulesDisabled: boolean;
275
+ liquidSyntax: boolean;
261
276
  };
262
277
  blocks: {
263
278
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -316,6 +331,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
316
331
  productType: 60 | 49 | 97;
317
332
  messageType: 1 | 2;
318
333
  username: string;
334
+ fallbackFont?: {
335
+ name: string;
336
+ family: string;
337
+ } | undefined;
319
338
  };
320
339
  template: {
321
340
  html: string;
@@ -356,6 +375,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
356
375
  displayConditions: boolean;
357
376
  unsubscribe: boolean;
358
377
  modulesDisabled: boolean;
378
+ liquidSyntax: boolean;
359
379
  };
360
380
  blocks: {
361
381
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -414,6 +434,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
414
434
  productType: 60 | 49 | 97;
415
435
  messageType: 1 | 2;
416
436
  username: string;
437
+ fallbackFont?: {
438
+ name: string;
439
+ family: string;
440
+ } | undefined;
417
441
  };
418
442
  template: {
419
443
  html: string;
@@ -454,6 +478,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
454
478
  displayConditions: boolean;
455
479
  unsubscribe: boolean;
456
480
  modulesDisabled: boolean;
481
+ liquidSyntax: boolean;
457
482
  };
458
483
  blocks: {
459
484
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -512,6 +537,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
512
537
  productType: 60 | 49 | 97;
513
538
  messageType: 1 | 2;
514
539
  username: string;
540
+ fallbackFont?: {
541
+ name: string;
542
+ family: string;
543
+ } | undefined;
515
544
  };
516
545
  template: {
517
546
  html: string;
@@ -552,6 +581,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
552
581
  displayConditions: boolean;
553
582
  unsubscribe: boolean;
554
583
  modulesDisabled: boolean;
584
+ liquidSyntax: boolean;
555
585
  };
556
586
  blocks: {
557
587
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -610,6 +640,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
610
640
  productType: 60 | 49 | 97;
611
641
  messageType: 1 | 2;
612
642
  username: string;
643
+ fallbackFont?: {
644
+ name: string;
645
+ family: string;
646
+ } | undefined;
613
647
  };
614
648
  template: {
615
649
  html: string;
@@ -650,6 +684,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
650
684
  displayConditions: boolean;
651
685
  unsubscribe: boolean;
652
686
  modulesDisabled: boolean;
687
+ liquidSyntax: boolean;
653
688
  };
654
689
  blocks: {
655
690
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -708,6 +743,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
708
743
  productType: 60 | 49 | 97;
709
744
  messageType: 1 | 2;
710
745
  username: string;
746
+ fallbackFont?: {
747
+ name: string;
748
+ family: string;
749
+ } | undefined;
711
750
  };
712
751
  template: {
713
752
  html: string;
@@ -748,6 +787,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
748
787
  displayConditions: boolean;
749
788
  unsubscribe: boolean;
750
789
  modulesDisabled: boolean;
790
+ liquidSyntax: boolean;
751
791
  };
752
792
  blocks: {
753
793
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -806,6 +846,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
806
846
  productType: 60 | 49 | 97;
807
847
  messageType: 1 | 2;
808
848
  username: string;
849
+ fallbackFont?: {
850
+ name: string;
851
+ family: string;
852
+ } | undefined;
809
853
  };
810
854
  template: {
811
855
  html: string;
@@ -846,6 +890,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
846
890
  displayConditions: boolean;
847
891
  unsubscribe: boolean;
848
892
  modulesDisabled: boolean;
893
+ liquidSyntax: boolean;
849
894
  };
850
895
  blocks: {
851
896
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -904,6 +949,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
904
949
  productType: 60 | 49 | 97;
905
950
  messageType: 1 | 2;
906
951
  username: string;
952
+ fallbackFont?: {
953
+ name: string;
954
+ family: string;
955
+ } | undefined;
907
956
  };
908
957
  template: {
909
958
  html: string;
@@ -944,6 +993,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
944
993
  displayConditions: boolean;
945
994
  unsubscribe: boolean;
946
995
  modulesDisabled: boolean;
996
+ liquidSyntax: boolean;
947
997
  };
948
998
  blocks: {
949
999
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1002,6 +1052,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1002
1052
  productType: 60 | 49 | 97;
1003
1053
  messageType: 1 | 2;
1004
1054
  username: string;
1055
+ fallbackFont?: {
1056
+ name: string;
1057
+ family: string;
1058
+ } | undefined;
1005
1059
  };
1006
1060
  template: {
1007
1061
  html: string;
@@ -1042,6 +1096,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1042
1096
  displayConditions: boolean;
1043
1097
  unsubscribe: boolean;
1044
1098
  modulesDisabled: boolean;
1099
+ liquidSyntax: boolean;
1045
1100
  };
1046
1101
  blocks: {
1047
1102
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1100,6 +1155,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1100
1155
  productType: 60 | 49 | 97;
1101
1156
  messageType: 1 | 2;
1102
1157
  username: string;
1158
+ fallbackFont?: {
1159
+ name: string;
1160
+ family: string;
1161
+ } | undefined;
1103
1162
  };
1104
1163
  template: {
1105
1164
  html: string;
@@ -1140,6 +1199,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1140
1199
  displayConditions: boolean;
1141
1200
  unsubscribe: boolean;
1142
1201
  modulesDisabled: boolean;
1202
+ liquidSyntax: boolean;
1143
1203
  };
1144
1204
  blocks: {
1145
1205
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1198,6 +1258,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1198
1258
  productType: 60 | 49 | 97;
1199
1259
  messageType: 1 | 2;
1200
1260
  username: string;
1261
+ fallbackFont?: {
1262
+ name: string;
1263
+ family: string;
1264
+ } | undefined;
1201
1265
  };
1202
1266
  template: {
1203
1267
  html: string;
@@ -1238,6 +1302,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1238
1302
  displayConditions: boolean;
1239
1303
  unsubscribe: boolean;
1240
1304
  modulesDisabled: boolean;
1305
+ liquidSyntax: boolean;
1241
1306
  };
1242
1307
  blocks: {
1243
1308
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1296,6 +1361,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1296
1361
  productType: 60 | 49 | 97;
1297
1362
  messageType: 1 | 2;
1298
1363
  username: string;
1364
+ fallbackFont?: {
1365
+ name: string;
1366
+ family: string;
1367
+ } | undefined;
1299
1368
  };
1300
1369
  template: {
1301
1370
  html: string;
@@ -1336,6 +1405,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1336
1405
  displayConditions: boolean;
1337
1406
  unsubscribe: boolean;
1338
1407
  modulesDisabled: boolean;
1408
+ liquidSyntax: boolean;
1339
1409
  };
1340
1410
  blocks: {
1341
1411
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1394,6 +1464,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1394
1464
  productType: 60 | 49 | 97;
1395
1465
  messageType: 1 | 2;
1396
1466
  username: string;
1467
+ fallbackFont?: {
1468
+ name: string;
1469
+ family: string;
1470
+ } | undefined;
1397
1471
  };
1398
1472
  template: {
1399
1473
  html: string;
@@ -1434,6 +1508,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1434
1508
  displayConditions: boolean;
1435
1509
  unsubscribe: boolean;
1436
1510
  modulesDisabled: boolean;
1511
+ liquidSyntax: boolean;
1437
1512
  };
1438
1513
  blocks: {
1439
1514
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1492,6 +1567,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1492
1567
  productType: 60 | 49 | 97;
1493
1568
  messageType: 1 | 2;
1494
1569
  username: string;
1570
+ fallbackFont?: {
1571
+ name: string;
1572
+ family: string;
1573
+ } | undefined;
1495
1574
  };
1496
1575
  template: {
1497
1576
  html: string;
@@ -1532,6 +1611,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1532
1611
  displayConditions: boolean;
1533
1612
  unsubscribe: boolean;
1534
1613
  modulesDisabled: boolean;
1614
+ liquidSyntax: boolean;
1535
1615
  };
1536
1616
  blocks: {
1537
1617
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1590,6 +1670,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1590
1670
  productType: 60 | 49 | 97;
1591
1671
  messageType: 1 | 2;
1592
1672
  username: string;
1673
+ fallbackFont?: {
1674
+ name: string;
1675
+ family: string;
1676
+ } | undefined;
1593
1677
  };
1594
1678
  template: {
1595
1679
  html: string;
@@ -1630,6 +1714,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1630
1714
  displayConditions: boolean;
1631
1715
  unsubscribe: boolean;
1632
1716
  modulesDisabled: boolean;
1717
+ liquidSyntax: boolean;
1633
1718
  };
1634
1719
  blocks: {
1635
1720
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1688,6 +1773,10 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1688
1773
  productType: 60 | 49 | 97;
1689
1774
  messageType: 1 | 2;
1690
1775
  username: string;
1776
+ fallbackFont?: {
1777
+ name: string;
1778
+ family: string;
1779
+ } | undefined;
1691
1780
  };
1692
1781
  template: {
1693
1782
  html: string;
@@ -1728,6 +1817,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1728
1817
  displayConditions: boolean;
1729
1818
  unsubscribe: boolean;
1730
1819
  modulesDisabled: boolean;
1820
+ liquidSyntax: boolean;
1731
1821
  };
1732
1822
  blocks: {
1733
1823
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -7,6 +7,7 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"guidoPrev
7
7
  templateHtml: string;
8
8
  isLoaded: boolean;
9
9
  isAMPErrorModalVisible: boolean;
10
+ emailSizeKB: number;
10
11
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
11
12
  previewHtml(): string;
12
13
  hasAMP: (state: {
@@ -16,6 +17,7 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"guidoPrev
16
17
  templateHtml: string;
17
18
  isLoaded: boolean;
18
19
  isAMPErrorModalVisible: boolean;
20
+ emailSizeKB: number;
19
21
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
20
22
  hasAMPErrors: (state: {
21
23
  emailFormat: EmailFormat;
@@ -24,6 +26,7 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"guidoPrev
24
26
  templateHtml: string;
25
27
  isLoaded: boolean;
26
28
  isAMPErrorModalVisible: boolean;
29
+ emailSizeKB: number;
27
30
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
28
31
  showAMPErrorButton(): boolean;
29
32
  isAMPResponsive(): boolean;
@@ -1,6 +1,6 @@
1
1
  import type { DynamicContent, MergeTag } from '@@/Types/generic';
2
2
  export declare const mergeTagToDynamicContent: (mergeTag: MergeTag) => DynamicContent;
3
- export declare const dynamicContentToMergeTags: (dynamicContentList: DynamicContent[]) => MergeTag[];
3
+ export declare const dynamicContentToMergeTags: (dynamicContentList: DynamicContent[], liquidSyntax?: boolean) => MergeTag[];
4
4
  export declare const getCsrfToken: () => string;
5
5
  /**
6
6
  * URL Parameter utilities
@@ -1,8 +1,9 @@
1
+ import type { FallbackFont } from '@@/Types/config';
1
2
  import type { CompilerRule, CompilationResult, HtmlCompiler } from '@@/Types/html-compiler';
2
3
  export declare class HtmlCompilerEngine implements HtmlCompiler {
3
4
  private rules;
4
5
  constructor(rules?: CompilerRule[]);
5
- compile(html: string, rules?: CompilerRule[]): CompilationResult;
6
+ compile(html: string, rules?: CompilerRule[], fallbackFont?: FallbackFont): CompilationResult;
6
7
  private applyRule;
7
8
  private applyReplaceRule;
8
9
  private applyRegexRule;
@@ -1,16 +1,11 @@
1
- const n = `.amp-input-list,
1
+ const t = `.amp-input-list,
2
2
  .button,
3
3
  .base-input,
4
4
  ue-stripe-thumb,
5
5
  .ue-stripe-thumb {
6
6
  transition: all .5s ease;
7
7
  }
8
-
9
- :host {
10
- height: 100% !important;
11
- min-height: 0 !important;
12
- }
13
8
  `;
14
9
  export {
15
- n as default
10
+ t as default
16
11
  };
@@ -99,12 +99,18 @@ ue-check-button.checked:not(.flat-white) input:checked + label .icon-button {
99
99
  color: var(--guido-color-primary-500);
100
100
  }
101
101
 
102
+ ue-select.full-width .button {
103
+ border: none !important;
104
+ background-color: var(--guido-color-neutral-200) !important;
105
+ color: var(--guido-color-neutral-800) !important;
106
+ }
107
+
102
108
  ue-select.full-width .button .icon-button {
103
109
  color: var(--guido-color-gray-600) !important;
104
110
  }
105
111
 
106
112
  ue-select.full-width .button:hover:not(:disabled,.disabled) {
107
- background-color: var(--guido-color-gray-0) !important;
113
+ background-color: var(--guido-color-neutral-100) !important;
108
114
  }
109
115
 
110
116
  ue-color {
@@ -124,18 +130,6 @@ ue-select-text-input .select-text-input-toggle .button {
124
130
  justify-content: center;
125
131
  background-color: transparent !important;
126
132
  }
127
-
128
- .control-shadow-wrapper,
129
- ue-button:not(.no-shadow,.flat-white),
130
- ue-toggle:not(.no-shadow,.flat-white),
131
- :is(ue-popover-toggler,ue-toggle-icon-picker,ue-emoji-toggle),
132
- .button-group,
133
- ue-counter:not(.no-shadow),
134
- :is(ue-select,ue-mergetags,ue-font-family-select):not(.no-shadow),
135
- ue-check-button:not(.no-shadow,.flat-white) {
136
- background: none;
137
- padding: 0;
138
- }
139
133
  `;
140
134
  export {
141
135
  o as default
@@ -28,58 +28,6 @@ ue-stripe-thumb:hover:not(.disabled),
28
28
  border-color: var(--guido-color-primary-500);
29
29
  }
30
30
 
31
- /* Module search — initial */
32
- .module-search-container {
33
- background-color: var(--guido-color-gray-0);
34
- border: 1px solid var(--guido-color-gray-300);
35
- border-radius: 4px;
36
- }
37
-
38
- .module-search-container .service-element {
39
- background-color: unset;
40
- }
41
-
42
- .module-filter-toggle {
43
- top: -1px !important;
44
- right: -1px !important;
45
- }
46
-
47
- .module-filter-toggle > .button,
48
- .module-search-container:hover .module-filter-toggle > .button {
49
- border: none;
50
- background: transparent;
51
- }
52
-
53
- /* Module search — hover */
54
- .module-search-container:has(.module-search-chip-input:hover) {
55
- border-color: var(--guido-color-primary-500);
56
- }
57
-
58
- .module-search-container .module-search-chip-input .service-element:hover {
59
- background-color: var(--guido-color-gray-0);
60
- border-radius: 4px;
61
- }
62
-
63
- .module-search-container .module-filter-toggle:hover > .button {
64
- background-color: var(--guido-color-gray-1);
65
- }
66
-
67
- /* Module search — selected (.on) */
68
- .module-search-container:has(.module-search-chip-input.on),
69
- .module-search-container:has(.module-search-chip-input.on):hover {
70
- border-color: var(--guido-color-primary-500);
71
- box-shadow: 0 0 0 3px var(--guido-color-primary-200) !important;
72
- }
73
-
74
- .module-search-container .module-search-chip-input.on .input-section {
75
- background-color: unset;
76
- box-shadow: unset;
77
- }
78
-
79
- .module-categories-list .menu-item {
80
- padding: 8px 20px !important;
81
- }
82
-
83
31
  .modules-layout-wrapper {
84
32
  padding: 0 16px 16px;
85
33
  grid-row-gap: 16px;
@@ -1,13 +1,14 @@
1
1
  import { defineStore as e } from "pinia";
2
- const s = () => ({
2
+ const i = () => ({
3
3
  emailFormat: "html",
4
4
  ampHtml: "",
5
5
  ampErrors: [],
6
6
  templateHtml: "",
7
7
  isLoaded: !1,
8
- isAMPErrorModalVisible: !1
8
+ isAMPErrorModalVisible: !1,
9
+ emailSizeKB: 0
9
10
  }), a = e("guidoPreview", {
10
- state: () => s(),
11
+ state: () => i(),
11
12
  getters: {
12
13
  isAMPModeEnabled: (t) => t.emailFormat === "AMP",
13
14
  previewHtml() {
@@ -1,25 +1,47 @@
1
- const f = (t) => {
2
- const n = t.value.match(/\{\{([^}]+)\}\}/)[1].split("|").map((l) => l.trim()), [r] = n, e = {
3
- text: t.label,
4
- value: r || ""
1
+ const s = (e) => {
2
+ const a = e.value.match(/\{\{([^}]+)\}\}/)[1].split("|").map((l) => l.trim()), [n] = a, c = {
3
+ text: e.label,
4
+ value: n || ""
5
5
  };
6
- if (n.length >= 2) {
7
- const [, l, o] = n, c = l.includes("=") ? { key: l.split("=")[0].trim(), value: l.split("=")[1].trim() } : null;
8
- c ? e.format = c : o || (e.fallback = l), o && (e.fallback = o);
6
+ if (a.length >= 2) {
7
+ const [, l, r] = a;
8
+ if (l.startsWith("default:")) {
9
+ let t = l.slice(8).trim();
10
+ t.startsWith('"') && t.endsWith('"') && (t = t.slice(1, -1)), c.fallback = t;
11
+ } else {
12
+ const t = l.includes("=") ? { key: l.split("=")[0].trim(), value: l.split("=")[1].trim() } : null;
13
+ t ? c.format = t : r || (c.fallback = l), r && (c.fallback = r);
14
+ }
9
15
  }
10
- return e;
11
- }, s = (t) => t.map((a) => a.format ? {
12
- label: `${a.text} | ${a.format.key}=${a.format.value}`,
13
- value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
14
- } : {
15
- label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
16
- value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
17
- }), u = () => {
18
- var t;
19
- return ((t = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : t.getAttribute("content")) ?? "";
16
+ return c;
17
+ }, u = (e, f = !1) => e.map((a) => {
18
+ if (a.format)
19
+ return {
20
+ label: `${a.text} | ${a.format.key}=${a.format.value}`,
21
+ value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
22
+ };
23
+ if (f) {
24
+ if (!a.fallback)
25
+ return {
26
+ label: a.text,
27
+ value: `{{ ${a.value} }}`
28
+ };
29
+ const c = !Number.isNaN(Number(a.fallback)) && a.fallback.trim() !== "" ? a.fallback : `"${a.fallback}"`;
30
+ return {
31
+ label: `${a.text} | ${a.fallback}`,
32
+ value: `{{ ${a.value} | default: ${c} }}`
33
+ };
34
+ }
35
+ return {
36
+ label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
37
+ value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
38
+ };
39
+ }), o = () => {
40
+ var e;
41
+ return ((e = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : e.getAttribute("content")) ?? "";
20
42
  };
21
43
  export {
22
- s as dynamicContentToMergeTags,
23
- u as getCsrfToken,
24
- f as mergeTagToDynamicContent
44
+ u as dynamicContentToMergeTags,
45
+ o as getCsrfToken,
46
+ s as mergeTagToDynamicContent
25
47
  };