@useinsider/guido 1.0.2-beta.b3c5fc9 → 1.0.2-beta.bcbaabf

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 (216) hide show
  1. package/README.md +51 -1
  2. package/dist/@types/events.d.ts +6 -0
  3. package/dist/@types/generic.d.ts +5 -0
  4. package/dist/components/Guido.vue.d.ts +3 -0
  5. package/dist/components/Guido.vue.js +9 -9
  6. package/dist/components/Guido.vue2.js +79 -59
  7. package/dist/components/organisms/LoadingWrapper.vue.d.ts +2 -0
  8. package/dist/components/organisms/LoadingWrapper.vue.js +18 -0
  9. package/dist/components/organisms/LoadingWrapper.vue2.js +12 -0
  10. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +12 -12
  11. package/dist/components/organisms/email-preview/PreviewContainer.vue2.js +7 -8
  12. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +3 -2
  13. package/dist/components/organisms/header/HeaderWrapper.vue.d.ts +3 -1
  14. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
  15. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -9
  16. package/dist/components/organisms/header/LeftSlot.vue.js +10 -9
  17. package/dist/components/organisms/header/MiddleSlot.vue.js +6 -6
  18. package/dist/components/organisms/header/MiddleSlot.vue2.js +15 -16
  19. package/dist/components/organisms/header/RightSlot.vue.d.ts +3 -1
  20. package/dist/components/organisms/header/RightSlot.vue.js +6 -4
  21. package/dist/components/organisms/header/RightSlot.vue2.js +26 -28
  22. package/dist/components/organisms/header/ViewOptions.vue.js +11 -11
  23. package/dist/components/organisms/header/ViewOptions.vue2.js +14 -15
  24. package/dist/components/organisms/header/version-history/ViewOptions.vue.js +11 -11
  25. package/dist/components/organisms/header/version-history/ViewOptions.vue2.js +5 -5
  26. package/dist/components/organisms/onboarding/AMPOnboarding.vue.d.ts +2 -0
  27. package/dist/components/organisms/onboarding/AMPOnboarding.vue.js +20 -0
  28. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +37 -0
  29. package/dist/components/organisms/onboarding/GenericOnboarding.vue.d.ts +2 -0
  30. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +21 -0
  31. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +83 -0
  32. package/dist/components/organisms/onboarding/NewVersionPopup.vue.d.ts +2 -0
  33. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +17 -0
  34. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -0
  35. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +2 -0
  36. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +19 -0
  37. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +43 -0
  38. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.d.ts +2 -0
  39. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +21 -0
  40. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +74 -0
  41. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +2 -0
  42. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue.js +20 -0
  43. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +37 -0
  44. package/dist/composables/useCustomInterfaceAppearance.js +25 -19
  45. package/dist/composables/useHtmlCompiler.js +17 -9
  46. package/dist/composables/useHtmlValidator.d.ts +3 -0
  47. package/dist/composables/useHtmlValidator.js +129 -0
  48. package/dist/composables/usePartner.d.ts +1 -0
  49. package/dist/composables/usePartner.js +16 -9
  50. package/dist/composables/usePreviewMode.js +13 -13
  51. package/dist/composables/useRecommendation.d.ts +19 -0
  52. package/dist/composables/useRecommendation.js +27 -0
  53. package/dist/composables/useSave.d.ts +4 -0
  54. package/dist/composables/useSave.js +15 -0
  55. package/dist/composables/useStripo.js +56 -52
  56. package/dist/composables/useStripoEventHandler.d.ts +3 -0
  57. package/dist/composables/useStripoEventHandler.js +20 -0
  58. package/dist/composables/useToaster.js +17 -17
  59. package/dist/config/compiler/outlookCompilerRules.d.ts +2 -0
  60. package/dist/config/compiler/outlookCompilerRules.js +36 -0
  61. package/dist/config/compiler/recommendationCompilerRules.d.ts +2 -0
  62. package/dist/config/compiler/recommendationCompilerRules.js +83 -0
  63. package/dist/config/compiler/socialCompilerRules.d.ts +2 -0
  64. package/dist/config/compiler/socialCompilerRules.js +21 -0
  65. package/dist/config/compiler/unsubscribeCompilerRules.d.ts +2 -0
  66. package/dist/config/compiler/unsubscribeCompilerRules.js +64 -0
  67. package/dist/config/migrator/checkboxMigrator.d.ts +1 -0
  68. package/dist/config/migrator/checkboxMigrator.js +83 -0
  69. package/dist/config/migrator/index.d.ts +1 -0
  70. package/dist/config/migrator/index.js +5 -0
  71. package/dist/enums/defaults.d.ts +6 -1
  72. package/dist/enums/defaults.js +47 -10
  73. package/dist/enums/html-validator.d.ts +6 -0
  74. package/dist/enums/html-validator.js +7 -0
  75. package/dist/enums/onboarding.d.ts +1 -0
  76. package/dist/enums/onboarding.js +8 -0
  77. package/dist/enums/recommendation.d.ts +54 -0
  78. package/dist/enums/recommendation.js +56 -0
  79. package/dist/enums/unsubscribe.d.ts +15 -0
  80. package/dist/enums/unsubscribe.js +17 -0
  81. package/dist/extensions/Blocks/Checkbox/block.d.ts +10 -0
  82. package/dist/extensions/Blocks/Checkbox/block.js +39 -0
  83. package/dist/extensions/Blocks/Checkbox/control.d.ts +22 -0
  84. package/dist/extensions/Blocks/Checkbox/control.js +104 -0
  85. package/dist/extensions/Blocks/Checkbox/extension.d.ts +2 -0
  86. package/dist/extensions/Blocks/Checkbox/extension.js +20 -0
  87. package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +4 -0
  88. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +38 -0
  89. package/dist/extensions/Blocks/Checkbox/template.d.ts +6 -0
  90. package/dist/extensions/Blocks/Checkbox/template.js +75 -0
  91. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +10 -0
  92. package/dist/extensions/Blocks/_Boilerplate/control.d.ts +17 -0
  93. package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  94. package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  95. package/dist/extensions/Blocks/_Boilerplate/template.d.ts +6 -0
  96. package/dist/extensions/DynamicContent/dynamic-content.js +41 -27
  97. package/dist/extensions/DynamicContent/extension.js +18 -6
  98. package/dist/guido.css +1 -1
  99. package/dist/mock/api/unsubscribe.d.ts +2 -0
  100. package/dist/mock/api/user-modal-state.d.ts +2 -0
  101. package/dist/mock/api/validator.d.ts +2 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +72 -48
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +74 -49
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +120 -38
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +5 -11
  106. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +5 -11
  107. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +12 -0
  108. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +5 -11
  109. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +116 -101
  110. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +5 -11
  111. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +5 -11
  112. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +5 -11
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +12 -0
  114. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +5 -11
  115. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +5 -11
  116. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +5 -11
  117. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +22 -43
  118. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +21 -17
  119. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +8 -15
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +30 -29
  121. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +19 -23
  122. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +37 -19
  123. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +2 -15
  124. package/dist/services/onboardingApi.d.ts +4 -0
  125. package/dist/services/onboardingApi.js +23 -0
  126. package/dist/static/assets/onboarding-img.svg.js +4 -0
  127. package/dist/static/styles/components/alert-message.css.js +32 -2
  128. package/dist/static/styles/components/button.css.js +32 -2
  129. package/dist/static/styles/components/loader.css.js +10 -0
  130. package/dist/static/styles/components/notification.css.js +55 -0
  131. package/dist/static/styles/components/popup.css.js +68 -0
  132. package/dist/static/styles/components/wide-panel.css.js +15 -2
  133. package/dist/static/styles/customEditorStyle.css.js +24 -0
  134. package/dist/static/styles/variables.css.js +10 -0
  135. package/dist/stores/dynamic-content.d.ts +12 -0
  136. package/dist/stores/dynamic-content.js +7 -6
  137. package/dist/stores/editor.d.ts +194 -1
  138. package/dist/stores/editor.js +18 -2
  139. package/dist/stores/onboarding.d.ts +1068 -0
  140. package/dist/stores/onboarding.js +95 -0
  141. package/dist/stores/preview.d.ts +0 -8
  142. package/dist/stores/preview.js +12 -20
  143. package/dist/stores/recommendation.d.ts +10 -0
  144. package/dist/stores/recommendation.js +9 -0
  145. package/dist/stores/unsubscribe.d.ts +8 -0
  146. package/dist/stores/unsubscribe.js +9 -0
  147. package/dist/utils/genericUtil.js +9 -6
  148. package/dist/utils/templatePreparation.js +21 -14
  149. package/package.json +5 -3
  150. package/dist/_virtual/AddCustomFont.js +0 -4
  151. package/dist/_virtual/AiAssistantValueType.js +0 -4
  152. package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
  153. package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
  154. package/dist/_virtual/Block.js +0 -4
  155. package/dist/_virtual/BlockAttributes.js +0 -4
  156. package/dist/_virtual/BlockCompositionType.js +0 -4
  157. package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
  158. package/dist/_virtual/BlockRenderer.js +0 -4
  159. package/dist/_virtual/BlockType.js +0 -4
  160. package/dist/_virtual/BlocksPanel.js +0 -4
  161. package/dist/_virtual/BuiltInControl.js +0 -4
  162. package/dist/_virtual/BuiltInControlTypes.js +0 -4
  163. package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
  164. package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
  165. package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
  166. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
  167. package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
  168. package/dist/_virtual/ContextAction.js +0 -4
  169. package/dist/_virtual/ContextActionType.js +0 -4
  170. package/dist/_virtual/Control.js +0 -4
  171. package/dist/_virtual/EditorStatePropertyType.js +0 -4
  172. package/dist/_virtual/Extension.js +0 -4
  173. package/dist/_virtual/ExtensionBuilder.js +0 -4
  174. package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
  175. package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
  176. package/dist/_virtual/ModificationDescription.js +0 -4
  177. package/dist/_virtual/PanelPosition.js +0 -4
  178. package/dist/_virtual/PreviewDeviceMode.js +0 -4
  179. package/dist/_virtual/SettingsPanelRegistry.js +0 -4
  180. package/dist/_virtual/SettingsPanelTab.js +0 -4
  181. package/dist/_virtual/SettingsTab.js +0 -4
  182. package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
  183. package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
  184. package/dist/_virtual/TextColorBuiltInControl.js +0 -4
  185. package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
  186. package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
  187. package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
  188. package/dist/_virtual/UIElement.js +0 -4
  189. package/dist/_virtual/UIElementTagRegistry.js +0 -4
  190. package/dist/_virtual/UIElementType.js +0 -4
  191. package/dist/_virtual/UIElementsAttributes.js +0 -4
  192. package/dist/_virtual/index.js +0 -5
  193. package/dist/_virtual/index2.js +0 -4
  194. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
  195. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
  196. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
  197. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
  198. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
  199. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
  200. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
  201. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
  202. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
  203. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
  204. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
  205. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
  206. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
  207. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
  208. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
  209. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
  210. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
  211. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
  212. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
  213. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
  214. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
  215. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
  216. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
@@ -0,0 +1,95 @@
1
+ import { useOnboardingApi as t } from "../services/onboardingApi.js";
2
+ import { defineStore as s } from "pinia";
3
+ const e = () => ({
4
+ cardIndex: 0,
5
+ isActive: !1,
6
+ config: []
7
+ }), a = () => ({
8
+ onboardings: {
9
+ newVersionPopup: e(),
10
+ genericOnboarding: e(),
11
+ textBlockOnboarding: e(),
12
+ versionHistoryOnboarding: e(),
13
+ ampOnboarding: e()
14
+ },
15
+ userModalState: {},
16
+ isFetched: !1
17
+ }), g = s("onboarding", {
18
+ state: () => a(),
19
+ getters: {
20
+ getOnboarding: (n) => (o) => n.onboardings[o],
21
+ isActive: (n) => (o) => n.onboardings[o].isActive,
22
+ getCurrentCard: (n) => (o) => {
23
+ const i = n.onboardings[o];
24
+ return i.config[i.cardIndex];
25
+ },
26
+ getGenericCurrentCard: (n) => {
27
+ const { genericOnboarding: o } = n.onboardings;
28
+ return o.config[o.cardIndex];
29
+ },
30
+ getTextBlockCurrentCard: (n) => {
31
+ const { textBlockOnboarding: o } = n.onboardings;
32
+ return o.config[o.cardIndex];
33
+ },
34
+ getVersionHistoryCurrentCard: (n) => {
35
+ const { versionHistoryOnboarding: o } = n.onboardings;
36
+ return o.config[o.cardIndex];
37
+ },
38
+ getAmpCurrentCard: (n) => {
39
+ const { ampOnboarding: o } = n.onboardings;
40
+ return o.config[o.cardIndex];
41
+ },
42
+ shouldShowOnboarding: (n) => (o) => {
43
+ const i = n.userModalState.Guido;
44
+ return o === "newVersionPopup" && (i != null && i.genericOnboarding) ? !1 : i ? !i[o] : !0;
45
+ }
46
+ },
47
+ actions: {
48
+ closeOtherOnboardings(n) {
49
+ Object.keys(this.onboardings).forEach((o) => {
50
+ const i = o;
51
+ i !== n && this.onboardings[i].isActive && (this.onboardings[i].isActive = !1, this.onboardings[i].cardIndex = 0, this.onboardings[i].config = []);
52
+ });
53
+ },
54
+ start(n) {
55
+ this.closeOtherOnboardings(n), this.onboardings[n].cardIndex = 0, this.onboardings[n].isActive = !0;
56
+ },
57
+ async close(n) {
58
+ await this.setUserModalState(n, "true", "Guido"), this.onboardings[n].isActive = !1, this.onboardings[n].cardIndex = 0, this.onboardings[n].config = [];
59
+ },
60
+ next(n) {
61
+ this.onboardings[n].cardIndex < this.onboardings[n].config.length - 1 && this.onboardings[n].cardIndex++;
62
+ },
63
+ previous(n) {
64
+ this.onboardings[n].cardIndex > 0 && this.onboardings[n].cardIndex--;
65
+ },
66
+ setConfig(n, o) {
67
+ this.onboardings[n].config = o ?? [], this.onboardings[n].cardIndex >= this.onboardings[n].config.length && (this.onboardings[n].cardIndex = 0);
68
+ },
69
+ async onDiscoverNowClicked() {
70
+ await this.setUserModalState("newVersionPopup", "true", "Guido"), await this.setUserModalState("genericOnboarding", "true", "Guido"), this.start("genericOnboarding");
71
+ },
72
+ onRemindMeLater() {
73
+ sessionStorage.setItem("newVersionPopupDismissed", "true");
74
+ },
75
+ async onNewVersionPopupClose() {
76
+ await this.setUserModalState("newVersionPopup", "true", "Guido");
77
+ },
78
+ isOnboardingActive() {
79
+ return Object.values(this.onboardings).some((n) => n.isActive);
80
+ },
81
+ async fetchUserModalState() {
82
+ if (this.isFetched)
83
+ return;
84
+ const { fetchUserModalState: n } = t(), o = await n();
85
+ this.userModalState = o, this.isFetched = !0;
86
+ },
87
+ async setUserModalState(n, o, i) {
88
+ const { setUserModalState: r } = t();
89
+ await r(n, o, i), this.isFetched = !1, await this.fetchUserModalState();
90
+ }
91
+ }
92
+ });
93
+ export {
94
+ g as useOnboardingStore
95
+ };
@@ -5,10 +5,8 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
5
5
  ampHtml: string;
6
6
  ampErrors: string[];
7
7
  templateHtml: string;
8
- isLoading: boolean;
9
8
  isLoaded: boolean;
10
9
  isAMPErrorModalVisible: boolean;
11
- isPreviewModeOpen: boolean;
12
10
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
13
11
  previewHtml(): string;
14
12
  hasAMP: (state: {
@@ -16,20 +14,16 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
16
14
  ampHtml: string;
17
15
  ampErrors: string[];
18
16
  templateHtml: string;
19
- isLoading: boolean;
20
17
  isLoaded: boolean;
21
18
  isAMPErrorModalVisible: boolean;
22
- isPreviewModeOpen: boolean;
23
19
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
24
20
  hasAMPErrors: (state: {
25
21
  emailFormat: EmailFormat;
26
22
  ampHtml: string;
27
23
  ampErrors: string[];
28
24
  templateHtml: string;
29
- isLoading: boolean;
30
25
  isLoaded: boolean;
31
26
  isAMPErrorModalVisible: boolean;
32
- isPreviewModeOpen: boolean;
33
27
  } & import("pinia").PiniaCustomStateProperties<PreviewState>) => boolean;
34
28
  showAMPErrorButton(): boolean;
35
29
  isAMPResponsive(): boolean;
@@ -41,6 +35,4 @@ export declare const usePreviewStore: import("pinia").StoreDefinition<"preview",
41
35
  setEmailFormat(format: EmailFormat): void;
42
36
  closeErrorModal(): void;
43
37
  openErrorModal(): void;
44
- openPreviewMode(): void;
45
- closePreviewMode(): void;
46
38
  }>;
@@ -1,25 +1,23 @@
1
- import { defineStore as t } from "pinia";
1
+ import { defineStore as e } from "pinia";
2
2
  const s = () => ({
3
3
  emailFormat: "html",
4
4
  ampHtml: "",
5
5
  ampErrors: [],
6
6
  templateHtml: "",
7
- isLoading: !1,
8
7
  isLoaded: !1,
9
- isAMPErrorModalVisible: !1,
10
- isPreviewModeOpen: !1
11
- }), o = t("preview", {
8
+ isAMPErrorModalVisible: !1
9
+ }), a = e("preview", {
12
10
  state: () => s(),
13
11
  getters: {
14
- isAMPModeEnabled: (e) => e.emailFormat === "AMP",
12
+ isAMPModeEnabled: (t) => t.emailFormat === "AMP",
15
13
  previewHtml() {
16
14
  return this.isAMPModeEnabled ? this.ampHtml : this.templateHtml;
17
15
  },
18
- hasAMP: (e) => {
16
+ hasAMP: (t) => {
19
17
  var r;
20
- return !!((r = e.ampHtml) != null && r.trim());
18
+ return !!((r = t.ampHtml) != null && r.trim());
21
19
  },
22
- hasAMPErrors: (e) => e.ampErrors.length > 0,
20
+ hasAMPErrors: (t) => t.ampErrors.length > 0,
23
21
  showAMPErrorButton() {
24
22
  return this.isAMPModeEnabled && this.hasAMPErrors;
25
23
  },
@@ -28,26 +26,20 @@ const s = () => ({
28
26
  }
29
27
  },
30
28
  actions: {
31
- updateAMPData(e) {
32
- this.ampHtml = e.ampHtml ?? "", this.ampErrors = e.ampErrors ?? [], this.emailFormat = e.ampHtml ? "AMP" : "html";
29
+ updateAMPData(t) {
30
+ this.ampHtml = t.ampHtml ?? "", this.ampErrors = t.ampErrors ?? [], this.emailFormat = t.ampHtml ? "AMP" : "html";
33
31
  },
34
- setEmailFormat(e) {
35
- this.emailFormat = e;
32
+ setEmailFormat(t) {
33
+ this.emailFormat = t;
36
34
  },
37
35
  closeErrorModal() {
38
36
  this.isAMPErrorModalVisible = !1;
39
37
  },
40
38
  openErrorModal() {
41
39
  this.isAMPErrorModalVisible = !0;
42
- },
43
- openPreviewMode() {
44
- this.isPreviewModeOpen = !0;
45
- },
46
- closePreviewMode() {
47
- this.isPreviewModeOpen = !1;
48
40
  }
49
41
  }
50
42
  });
51
43
  export {
52
- o as usePreviewStore
44
+ a as usePreviewStore
53
45
  };
@@ -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,11 +1,14 @@
1
- const l = (e) => e.map((a) => ({
1
+ const e = (l) => l.map((a) => a.format ? {
2
+ label: `${a.text} | ${a.format.key}=${a.format.value}`,
3
+ value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
4
+ } : {
2
5
  label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
3
6
  value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
4
- })), t = () => {
5
- var e;
6
- return ((e = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : e.getAttribute("content")) ?? "";
7
+ }), r = () => {
8
+ var l;
9
+ return ((l = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : l.getAttribute("content")) ?? "";
7
10
  };
8
11
  export {
9
- l as dynamicContentToMergeTags,
10
- t as getCsrfToken
12
+ e as dynamicContentToMergeTags,
13
+ r as getCsrfToken
11
14
  };
@@ -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.b3c5fc9",
3
+ "version": "1.0.2-beta.bcbaabf",
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",
@@ -24,13 +24,14 @@
24
24
  "lint": "NODE_OPTIONS=--max-old-space-size=2048 eslint ./ && bun run type-check",
25
25
  "lint:fix": "NODE_OPTIONS=--max-old-space-size=2048 eslint --fix ./",
26
26
  "type-check": "vue-tsc --noEmit --project tsconfig.config.json && vue-tsc --noEmit --project tsconfig.app.json",
27
- "test:visual-update": "npx playwright test --update-snapshots --reporter html"
27
+ "test:visual-update": "npx playwright test --update-snapshots --reporter html",
28
+ "prepare": "husky"
28
29
  },
29
30
  "keywords": [],
30
31
  "author": "",
31
32
  "license": "ISC",
32
33
  "dependencies": {
33
- "@stripoinc/ui-editor-extensions": "1.0.6",
34
+ "@stripoinc/ui-editor-extensions": "2.0.2",
34
35
  "@useinsider/design-system-vue": "0.14.8",
35
36
  "@vueuse/core": "11.3.0",
36
37
  "lodash-es": "4.17.21",
@@ -65,6 +66,7 @@
65
66
  "eslint-plugin-vue": "10.1.0",
66
67
  "eslint-plugin-vue-scoped-css": "2.6.1",
67
68
  "globals": "16.0.0",
69
+ "husky": "9.1.7",
68
70
  "msw": "2.10.3",
69
71
  "sass": "1.69.7",
70
72
  "typescript": "5.5.4",
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var s = {};
2
- export {
3
- s as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var a = {};
2
- export {
3
- a as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var i = {};
2
- export {
3
- i as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var a = {};
2
- export {
3
- a as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,5 +0,0 @@
1
- import { __require as r } from "../node_modules/@stripoinc/ui-editor-extensions/dist/index.js";
2
- var i = r();
3
- export {
4
- i as d
5
- };
@@ -1,4 +0,0 @@
1
- var r = {};
2
- export {
3
- r as __exports
4
- };
@@ -1,18 +0,0 @@
1
- import { __exports as e } from "../../../../../_virtual/BlockRenderer.js";
2
- var r;
3
- function u() {
4
- if (r) return e;
5
- r = 1, Object.defineProperty(e, "__esModule", { value: !0 }), e.BlockRenderer = void 0;
6
- var n = (
7
- /** @class */
8
- /* @__PURE__ */ (function() {
9
- function o() {
10
- }
11
- return o;
12
- })()
13
- );
14
- return e.BlockRenderer = n, e;
15
- }
16
- export {
17
- u as __require
18
- };