@useinsider/guido 1.0.2-beta.80ac5e8 → 1.0.2-beta.833da0e

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 (65) hide show
  1. package/README.md +31 -1
  2. package/dist/components/Guido.vue.d.ts +3 -1
  3. package/dist/components/Guido.vue.js +2 -2
  4. package/dist/components/Guido.vue2.js +66 -55
  5. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  6. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +3 -2
  7. package/dist/components/organisms/header/HeaderWrapper.vue.d.ts +3 -1
  8. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
  9. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -9
  10. package/dist/components/organisms/header/RightSlot.vue.d.ts +3 -1
  11. package/dist/components/organisms/header/RightSlot.vue.js +5 -3
  12. package/dist/components/organisms/header/RightSlot.vue2.js +26 -27
  13. package/dist/components/organisms/header/ViewOptions.vue.js +5 -5
  14. package/dist/components/organisms/header/ViewOptions.vue2.js +5 -5
  15. package/dist/components/organisms/header/version-history/ViewOptions.vue.js +5 -5
  16. package/dist/components/organisms/header/version-history/ViewOptions.vue2.js +5 -5
  17. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +11 -11
  18. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +1 -1
  19. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +7 -7
  20. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +5 -5
  21. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +5 -5
  22. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +6 -6
  23. package/dist/composables/useCustomInterfaceAppearance.js +22 -18
  24. package/dist/composables/useHtmlCompiler.js +17 -9
  25. package/dist/composables/useHtmlValidator.d.ts +3 -0
  26. package/dist/composables/useHtmlValidator.js +120 -0
  27. package/dist/composables/usePreviewMode.js +13 -13
  28. package/dist/composables/useRecommendation.d.ts +19 -0
  29. package/dist/composables/useRecommendation.js +27 -0
  30. package/dist/composables/useSave.d.ts +4 -0
  31. package/dist/composables/useSave.js +15 -0
  32. package/dist/composables/useStripo.js +27 -25
  33. package/dist/composables/useToaster.js +17 -17
  34. package/dist/config/compiler/outlookCompilerRules.d.ts +2 -0
  35. package/dist/config/compiler/outlookCompilerRules.js +36 -0
  36. package/dist/config/compiler/recommendationCompilerRules.d.ts +2 -0
  37. package/dist/config/compiler/recommendationCompilerRules.js +83 -0
  38. package/dist/config/compiler/socialCompilerRules.d.ts +2 -0
  39. package/dist/config/compiler/socialCompilerRules.js +21 -0
  40. package/dist/config/compiler/unsubscribeCompilerRules.d.ts +2 -0
  41. package/dist/config/compiler/unsubscribeCompilerRules.js +64 -0
  42. package/dist/enums/defaults.d.ts +5 -1
  43. package/dist/enums/defaults.js +14 -10
  44. package/dist/enums/html-validator.d.ts +6 -0
  45. package/dist/enums/html-validator.js +7 -0
  46. package/dist/enums/recommendation.d.ts +54 -0
  47. package/dist/enums/recommendation.js +56 -0
  48. package/dist/enums/unsubscribe.d.ts +15 -0
  49. package/dist/enums/unsubscribe.js +17 -0
  50. package/dist/guido.css +1 -1
  51. package/dist/mock/api/validator.d.ts +2 -0
  52. package/dist/static/styles/components/alert-message.css.js +32 -2
  53. package/dist/static/styles/components/button.css.js +32 -2
  54. package/dist/static/styles/components/notification.css.js +55 -0
  55. package/dist/static/styles/components/popup.css.js +68 -0
  56. package/dist/static/styles/components/wide-panel.css.js +5 -1
  57. package/dist/static/styles/customEditorStyle.css.js +6 -0
  58. package/dist/static/styles/variables.css.js +10 -0
  59. package/dist/stores/onboarding.d.ts +72 -8
  60. package/dist/stores/recommendation.d.ts +10 -0
  61. package/dist/stores/recommendation.js +9 -0
  62. package/dist/stores/unsubscribe.d.ts +8 -0
  63. package/dist/stores/unsubscribe.js +9 -0
  64. package/dist/utils/templatePreparation.js +21 -14
  65. package/package.json +1 -1
@@ -0,0 +1,68 @@
1
+ const n = `ue-popup {
2
+ -webkit-backdrop-filter: unset;
3
+ backdrop-filter: unset;
4
+ background-color: rgba(44, 53, 70, 0.5);
5
+ }
6
+
7
+ ue-popup .popup-wrapper {
8
+ max-width: 400px;
9
+ border: 1px solid var(--guido-color-neutral-200);
10
+ box-shadow: none;
11
+ background: var(--guido-color-white);
12
+ font-size: 15px;
13
+ line-height: 24px;
14
+ }
15
+
16
+ ue-popup .popup-title {
17
+ padding: 32px 56px 0 32px;
18
+ line-height: 24px;
19
+ font-size: 20px;
20
+ font-weight: 400;
21
+ border-bottom: none;
22
+ }
23
+
24
+ ue-popup .confirmation .confirmation-wrapper {
25
+ padding: 32px;
26
+ gap: 16px;
27
+ }
28
+
29
+ ue-popup .confirmation .confirmation-actions {
30
+ flex-direction: row-reverse;
31
+ justify-content: space-between;
32
+ }
33
+
34
+ ue-popup .danger > .button {
35
+ font-size: 15px;
36
+ padding: 8px 16px;
37
+ }
38
+
39
+ ue-popup .e2e-cancel {
40
+ margin-left: unset;
41
+ }
42
+
43
+ ue-popup .e2e-cancel .button {
44
+ background-color: transparent;
45
+ border: none;
46
+ padding: 8px 0;
47
+ font-size: 15px;
48
+ }
49
+
50
+ ue-popup .e2e-cancel .button:hover:not(:disabled,.disabled) {
51
+ text-decoration: underline;
52
+ background-color: transparent;
53
+ }
54
+
55
+ ue-popup .popup-close {
56
+ top: 32px;
57
+ right: 32px;
58
+ }
59
+
60
+ ue-popup .popup-close .button {
61
+ padding: 0;
62
+ min-width: unset;
63
+ min-height: unset;
64
+ }
65
+ `;
66
+ export {
67
+ n as default
68
+ };
@@ -2,6 +2,10 @@ const n = `ue-wide-panel {
2
2
  width: 425px;
3
3
  }
4
4
 
5
+ ue-main-editor-container[panel-position=SETTINGS_BLOCKS] ue-wide-panel {
6
+ right: calc(100% - calc(var(--ue-spacing-step, 5px) * 3) - 425px);
7
+ }
8
+
5
9
  ue-main-tabs-panel-component .fixed-panel-header {
6
10
  display: none;
7
11
  }
@@ -17,7 +21,7 @@ ue-description a {
17
21
  }
18
22
 
19
23
  .stacked-panel {
20
- overflow: scroll;
24
+ overflow: auto;
21
25
  }
22
26
 
23
27
  .stacked-panel-title {
@@ -12,6 +12,12 @@ const n = `.esd-x,
12
12
  .ue-preview-control-wrapper ue-icon-component:not([disabled=true]):not(.stripo-static-icon):hover {
13
13
  background: none;
14
14
  }
15
+
16
+ .ue-email-wrapper-rounded,
17
+ .ue-email-wrapper-rounded-top {
18
+ border-radius: 0;
19
+ box-shadow: none;
20
+ }
15
21
  `;
16
22
  export {
17
23
  n as default
@@ -12,10 +12,20 @@ const o = `:host {
12
12
  --guido-color-neutral-800: #222938;
13
13
  --guido-color-neutral-200: #DCDFE6;
14
14
  --guido-color-neutral-100: #EFF2F4;
15
+ --guido-color-danger-300: #e84342;
15
16
  --guido-color-danger-500: #DC2A2A;
16
17
  --guido-box-shadow: 0 4px 12px 0 rgba(44,53,70,0.15);
17
18
  --guido-color-background-onpage-message-info: #D3EEF8;
18
19
  --guido-color-border-onpage-message-info: #258DDE;
20
+ --guido-color-background-onpage-message-warn: #FCEFE5;
21
+ --guido-color-border-onpage-message-warn: #D37400;
22
+ --guido-color-background-onpage-message-success: #E9F9EB;
23
+ --guido-color-border-onpage-message-success: #128745;
24
+ --guido-color-background-onpage-message-error: #FCECEC;
25
+ --guido-color-border-onpage-message-error: var(--guido-color-danger-500);
26
+ --guido-color-background-toaster-success: #128745;
27
+ --guido-color-background-toaster-error: var(--guido-color-danger-500);
28
+ --guido-color-background-toaster-warn: #D37400;
19
29
  }
20
30
  `;
21
31
  export {
@@ -108,7 +108,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
108
108
  }[];
109
109
  };
110
110
  };
111
- userModalState: Record<string, Record<string, boolean>>;
111
+ userModalState: {
112
+ Guido?: {
113
+ newVersionPopup?: boolean | undefined;
114
+ genericOnboarding?: boolean | undefined;
115
+ textBlockOnboarding?: boolean | undefined;
116
+ versionHistoryOnboarding?: boolean | undefined;
117
+ ampOnboarding?: boolean | undefined;
118
+ } | undefined;
119
+ };
112
120
  isFetched: boolean;
113
121
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => (type: OnboardingType) => {
114
122
  cardIndex: number;
@@ -239,7 +247,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
239
247
  }[];
240
248
  };
241
249
  };
242
- userModalState: Record<string, Record<string, boolean>>;
250
+ userModalState: {
251
+ Guido?: {
252
+ newVersionPopup?: boolean | undefined;
253
+ genericOnboarding?: boolean | undefined;
254
+ textBlockOnboarding?: boolean | undefined;
255
+ versionHistoryOnboarding?: boolean | undefined;
256
+ ampOnboarding?: boolean | undefined;
257
+ } | undefined;
258
+ };
243
259
  isFetched: boolean;
244
260
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => (type: OnboardingType) => boolean;
245
261
  getCurrentCard: (state: {
@@ -350,7 +366,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
350
366
  }[];
351
367
  };
352
368
  };
353
- userModalState: Record<string, Record<string, boolean>>;
369
+ userModalState: {
370
+ Guido?: {
371
+ newVersionPopup?: boolean | undefined;
372
+ genericOnboarding?: boolean | undefined;
373
+ textBlockOnboarding?: boolean | undefined;
374
+ versionHistoryOnboarding?: boolean | undefined;
375
+ ampOnboarding?: boolean | undefined;
376
+ } | undefined;
377
+ };
354
378
  isFetched: boolean;
355
379
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => (type: OnboardingType) => {
356
380
  classes: string;
@@ -477,7 +501,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
477
501
  }[];
478
502
  };
479
503
  };
480
- userModalState: Record<string, Record<string, boolean>>;
504
+ userModalState: {
505
+ Guido?: {
506
+ newVersionPopup?: boolean | undefined;
507
+ genericOnboarding?: boolean | undefined;
508
+ textBlockOnboarding?: boolean | undefined;
509
+ versionHistoryOnboarding?: boolean | undefined;
510
+ ampOnboarding?: boolean | undefined;
511
+ } | undefined;
512
+ };
481
513
  isFetched: boolean;
482
514
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => {
483
515
  classes: string;
@@ -604,7 +636,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
604
636
  }[];
605
637
  };
606
638
  };
607
- userModalState: Record<string, Record<string, boolean>>;
639
+ userModalState: {
640
+ Guido?: {
641
+ newVersionPopup?: boolean | undefined;
642
+ genericOnboarding?: boolean | undefined;
643
+ textBlockOnboarding?: boolean | undefined;
644
+ versionHistoryOnboarding?: boolean | undefined;
645
+ ampOnboarding?: boolean | undefined;
646
+ } | undefined;
647
+ };
608
648
  isFetched: boolean;
609
649
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => {
610
650
  classes: string;
@@ -731,7 +771,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
731
771
  }[];
732
772
  };
733
773
  };
734
- userModalState: Record<string, Record<string, boolean>>;
774
+ userModalState: {
775
+ Guido?: {
776
+ newVersionPopup?: boolean | undefined;
777
+ genericOnboarding?: boolean | undefined;
778
+ textBlockOnboarding?: boolean | undefined;
779
+ versionHistoryOnboarding?: boolean | undefined;
780
+ ampOnboarding?: boolean | undefined;
781
+ } | undefined;
782
+ };
735
783
  isFetched: boolean;
736
784
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => {
737
785
  classes: string;
@@ -858,7 +906,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
858
906
  }[];
859
907
  };
860
908
  };
861
- userModalState: Record<string, Record<string, boolean>>;
909
+ userModalState: {
910
+ Guido?: {
911
+ newVersionPopup?: boolean | undefined;
912
+ genericOnboarding?: boolean | undefined;
913
+ textBlockOnboarding?: boolean | undefined;
914
+ versionHistoryOnboarding?: boolean | undefined;
915
+ ampOnboarding?: boolean | undefined;
916
+ } | undefined;
917
+ };
862
918
  isFetched: boolean;
863
919
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => {
864
920
  classes: string;
@@ -985,7 +1041,15 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"onboar
985
1041
  }[];
986
1042
  };
987
1043
  };
988
- userModalState: Record<string, Record<string, boolean>>;
1044
+ userModalState: {
1045
+ Guido?: {
1046
+ newVersionPopup?: boolean | undefined;
1047
+ genericOnboarding?: boolean | undefined;
1048
+ textBlockOnboarding?: boolean | undefined;
1049
+ versionHistoryOnboarding?: boolean | undefined;
1050
+ ampOnboarding?: boolean | undefined;
1051
+ } | undefined;
1052
+ };
989
1053
  isFetched: boolean;
990
1054
  } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => (type: OnboardingType) => boolean;
991
1055
  }, {
@@ -0,0 +1,10 @@
1
+ type RecommendationConfig = {
2
+ filters: {
3
+ value: string;
4
+ }[];
5
+ };
6
+ interface StoreState {
7
+ recommendationConfigs: RecommendationConfig[];
8
+ }
9
+ export declare const useRecommendationStore: import("pinia").StoreDefinition<"recommendation", StoreState, {}, {}>;
10
+ export {};
@@ -0,0 +1,9 @@
1
+ import { defineStore as e } from "pinia";
2
+ const t = () => ({
3
+ recommendationConfigs: []
4
+ }), n = e("recommendation", {
5
+ state: () => t()
6
+ });
7
+ export {
8
+ n as useRecommendationStore
9
+ };
@@ -0,0 +1,8 @@
1
+ type UnsubscribePage = {
2
+ type: number;
3
+ };
4
+ interface StoreState {
5
+ selectedUnsubscribePages: UnsubscribePage[];
6
+ }
7
+ export declare const useUnsubscribeStore: import("pinia").StoreDefinition<"unsubscribe", StoreState, {}, {}>;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { defineStore as e } from "pinia";
2
+ const t = () => ({
3
+ selectedUnsubscribePages: []
4
+ }), r = e("unsubscribe", {
5
+ state: () => t()
6
+ });
7
+ export {
8
+ r as useUnsubscribeStore
9
+ };
@@ -1,21 +1,28 @@
1
- import { useActionsApi as c } from "../composables/useActionsApi.js";
2
- import { useDynamicContentStore as l } from "../stores/dynamic-content.js";
3
- const y = () => {
4
- const t = l(), { getCompiledEmail: e, getTemplateData: a } = c();
1
+ import { useActionsApi as g } from "../composables/useActionsApi.js";
2
+ import { useHtmlCompiler as S } from "../composables/useHtmlCompiler.js";
3
+ import { useDynamicContentStore as f } from "../stores/dynamic-content.js";
4
+ const H = () => {
5
+ const t = f(), { getCompiledEmail: i, getTemplateData: o } = g(), { compileHtml: n } = S();
5
6
  return {
6
7
  prepareTemplateDetails: async () => {
7
- const { html: n, ampHtml: s = "", ampErrors: o = [] } = await e({
8
+ const { html: a, ampHtml: s = "", ampErrors: m = [] } = await i({
8
9
  minimize: !0,
9
10
  resetDataSavedFlag: !1
10
- }), { html: m, css: i, syncModulesIds: r = [] } = await a();
11
- return {
12
- dynamicContentList: t.getSelectedDynamicContentList,
13
- compiledHtml: n,
14
- rawHtml: m,
15
- css: i,
11
+ }), { html: r, css: c, syncModulesIds: l = [] } = await o(), { compiledHtml: p, stats: e, appliedRules: d } = n(a), u = t.getSelectedDynamicContentList;
12
+ return console.debug("HTML Compilation Stats:", {
13
+ originalSize: e.originalSize,
14
+ compiledSize: e.compiledSize,
15
+ reduction: `${e.reductionPercentage.toFixed(2)}%`,
16
+ appliedRules: d,
17
+ executionTime: `${e.executionTime.toFixed(2)}ms`
18
+ }), {
19
+ dynamicContentList: u,
20
+ compiledHtml: p,
21
+ rawHtml: r,
22
+ css: c,
16
23
  ampHtml: s,
17
- ampErrors: o,
18
- modules: r,
24
+ ampErrors: m,
25
+ modules: l,
19
26
  recommendation: {
20
27
  campaignUrls: {},
21
28
  configs: {}
@@ -29,5 +36,5 @@ const y = () => {
29
36
  };
30
37
  };
31
38
  export {
32
- y as useTemplatePreparation
39
+ H as useTemplatePreparation
33
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.2-beta.80ac5e8",
3
+ "version": "1.0.2-beta.833da0e",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",