@useinsider/guido 1.0.0-beta.c214e7f → 1.0.0-beta.c2acdd4

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 (155) hide show
  1. package/README.md +384 -24
  2. package/dist/@types/generic.d.ts +8 -0
  3. package/dist/App.vue.d.ts +1 -1
  4. package/dist/_virtual/AddCustomFont.js +4 -0
  5. package/dist/_virtual/AiAssistantValueType.js +4 -0
  6. package/dist/_virtual/BackgroundColorBuiltInControl.js +4 -0
  7. package/dist/_virtual/BackgroundImageBuiltInControl.js +4 -0
  8. package/dist/_virtual/Block.js +4 -0
  9. package/dist/_virtual/BlockAttributes.js +4 -0
  10. package/dist/_virtual/BlockCompositionType.js +4 -0
  11. package/dist/_virtual/BlockPaddingsBuiltInControl.js +4 -0
  12. package/dist/_virtual/BlockRenderer.js +4 -0
  13. package/dist/_virtual/BlockType.js +4 -0
  14. package/dist/_virtual/BlocksPanel.js +4 -0
  15. package/dist/_virtual/BuiltInControl.js +4 -0
  16. package/dist/_virtual/BuiltInControlTypes.js +4 -0
  17. package/dist/_virtual/ButtonBorderBuiltInControl.js +4 -0
  18. package/dist/_virtual/ButtonColorBuiltInControl.js +4 -0
  19. package/dist/_virtual/ButtonFontColorBuiltInControl.js +4 -0
  20. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +4 -0
  21. package/dist/_virtual/ButtonTextBuiltInControl.js +4 -0
  22. package/dist/_virtual/ContextAction.js +4 -0
  23. package/dist/_virtual/ContextActionType.js +4 -0
  24. package/dist/_virtual/Control.js +4 -0
  25. package/dist/_virtual/EditorStatePropertyType.js +4 -0
  26. package/dist/_virtual/Extension.js +4 -0
  27. package/dist/_virtual/ExtensionBuilder.js +4 -0
  28. package/dist/_virtual/FontFamilyBuiltInControl.js +4 -0
  29. package/dist/_virtual/LinkColorBuiltInControl.js +4 -0
  30. package/dist/_virtual/ModificationDescription.js +4 -0
  31. package/dist/_virtual/PanelPosition.js +4 -0
  32. package/dist/_virtual/PreviewDeviceMode.js +4 -0
  33. package/dist/_virtual/SettingsPanelRegistry.js +4 -0
  34. package/dist/_virtual/SettingsPanelTab.js +4 -0
  35. package/dist/_virtual/SettingsTab.js +4 -0
  36. package/dist/_virtual/StructureBorderBuiltInControl.js +4 -0
  37. package/dist/_virtual/StructurePaddingsBuiltInControl.js +4 -0
  38. package/dist/_virtual/TextColorBuiltInControl.js +4 -0
  39. package/dist/_virtual/TextLineSpacingBuiltInControl.js +4 -0
  40. package/dist/_virtual/TextSizeBuiltInControl.js +4 -0
  41. package/dist/_virtual/TextStyleBuiltInControl.js +4 -0
  42. package/dist/_virtual/UIElement.js +4 -0
  43. package/dist/_virtual/UIElementTagRegistry.js +4 -0
  44. package/dist/_virtual/UIElementType.js +4 -0
  45. package/dist/_virtual/UIElementsAttributes.js +4 -0
  46. package/dist/_virtual/index.js +5 -0
  47. package/dist/_virtual/index2.js +4 -0
  48. package/dist/components/Guido.vue.d.ts +16 -3
  49. package/dist/components/Guido.vue.js +1 -1
  50. package/dist/components/Guido.vue2.js +64 -27
  51. package/dist/components/organisms/header/LeftSlot.vue.js +5 -5
  52. package/dist/components/organisms/header/LeftSlot.vue2.js +10 -8
  53. package/dist/components/organisms/header/MiddleSlot.vue.js +1 -1
  54. package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
  55. package/dist/components/organisms/header/RightSlot.vue.js +5 -5
  56. package/dist/components/organisms/header/RightSlot.vue2.js +29 -15
  57. package/dist/components/organisms/header/ViewOptions.vue.d.ts +1 -1
  58. package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +1 -1
  59. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +1 -1
  60. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +1 -1
  61. package/dist/components/organisms/header/version-history/ViewOptions.vue.d.ts +1 -1
  62. package/dist/components/organisms/save-template/SaveTemplateModal.vue.d.ts +3 -3
  63. package/dist/components/organisms/save-template/SaveTemplateModal.vue.js +9 -11
  64. package/dist/components/organisms/save-template/SaveTemplateModal.vue2.js +59 -67
  65. package/dist/components/{organisms/base → wrappers}/ModalWrapper.vue.d.ts +1 -1
  66. package/dist/components/{organisms/base → wrappers}/ModalWrapper.vue.js +1 -1
  67. package/dist/components/{organisms/base → wrappers}/ModalWrapper.vue2.js +1 -1
  68. package/dist/composables/useActionsApi.d.ts +3 -1
  69. package/dist/composables/useActionsApi.js +46 -34
  70. package/dist/composables/useExport.d.ts +1 -1
  71. package/dist/composables/useExport.js +35 -20
  72. package/dist/composables/useGuidoActions.d.ts +46 -0
  73. package/dist/composables/useGuidoActions.js +37 -0
  74. package/dist/composables/useHtmlCompiler.d.ts +4 -0
  75. package/dist/composables/useHtmlCompiler.js +16 -0
  76. package/dist/composables/useHttp.js +23 -21
  77. package/dist/composables/useProvideInject.d.ts +14 -0
  78. package/dist/composables/useProvideInject.js +17 -0
  79. package/dist/composables/useSaveAsTemplate.d.ts +2 -12
  80. package/dist/composables/useSaveAsTemplate.js +22 -15
  81. package/dist/composables/useStripo.js +41 -29
  82. package/dist/composables/useTemplateNameValidation.d.ts +6 -12
  83. package/dist/composables/useTemplateNameValidation.js +28 -52
  84. package/dist/config/compiler/htmlCompilerRules.d.ts +2 -0
  85. package/dist/config/compiler/htmlCompilerRules.js +145 -0
  86. package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
  87. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +6 -0
  88. package/dist/extensions/DynamicContent/dynamic-content-modal.js +27 -0
  89. package/dist/extensions/DynamicContent/dynamic-content.css.js +24 -0
  90. package/dist/extensions/DynamicContent/dynamic-content.d.ts +16 -0
  91. package/dist/extensions/DynamicContent/dynamic-content.js +63 -0
  92. package/dist/extensions/DynamicContent/extension.d.ts +2 -0
  93. package/dist/extensions/DynamicContent/extension.js +11 -0
  94. package/dist/guido.css +1 -1
  95. package/dist/mock/api/default-template.d.ts +2 -0
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +51 -0
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +52 -0
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +41 -0
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +18 -0
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +32 -0
  101. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +18 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +8 -0
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +13 -0
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +34 -0
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +13 -0
  106. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +13 -0
  107. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +104 -0
  108. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +13 -0
  109. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +13 -0
  110. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +13 -0
  111. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +13 -0
  112. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +13 -0
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +13 -0
  114. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +45 -0
  115. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +43 -0
  116. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +46 -0
  117. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +44 -0
  118. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +22 -0
  119. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +46 -0
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +46 -0
  121. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +45 -0
  122. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +45 -0
  123. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +45 -0
  124. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +20 -0
  125. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +43 -0
  126. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +45 -0
  127. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +18 -0
  128. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +32 -0
  129. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +46 -0
  130. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +44 -0
  131. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +43 -0
  132. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +43 -0
  133. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +45 -0
  134. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +43 -0
  135. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +266 -0
  136. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +26 -0
  137. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +22 -0
  138. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +18 -0
  139. package/dist/services/stripoApi.d.ts +2 -1
  140. package/dist/services/stripoApi.js +27 -7
  141. package/dist/stores/template-categories.d.ts +41 -0
  142. package/dist/stores/template-categories.js +91 -0
  143. package/dist/utils/base64.d.ts +1 -0
  144. package/dist/utils/generic.d.ts +1 -0
  145. package/dist/utils/generic.js +7 -0
  146. package/dist/utils/htmlCompiler.d.ts +12 -0
  147. package/dist/utils/htmlCompiler.js +70 -0
  148. package/dist/utils/textUtil.d.ts +2 -0
  149. package/package.json +6 -7
  150. package/dist/composables/useTemplateCategories.d.ts +0 -35
  151. package/dist/composables/useTemplateCategories.js +0 -78
  152. package/dist/composables/useTemplates.d.ts +0 -5
  153. package/dist/composables/useTemplates.js +0 -27
  154. package/dist/static/templates/default/index.html.js +0 -5
  155. package/dist/static/templates/default/style.css.js +0 -119
@@ -0,0 +1,4 @@
1
+ var t = {};
2
+ export {
3
+ t as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var r = {};
2
+ export {
3
+ r as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var r = {};
2
+ export {
3
+ r as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var o = {};
2
+ export {
3
+ o as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var t = {};
2
+ export {
3
+ t as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var t = {};
2
+ export {
3
+ t as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var t = {};
2
+ export {
3
+ t as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var e = {};
2
+ export {
3
+ e as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var e = {};
2
+ export {
3
+ e as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var e = {};
2
+ export {
3
+ e as __exports
4
+ };
@@ -0,0 +1,4 @@
1
+ var t = {};
2
+ export {
3
+ t as __exports
4
+ };
@@ -0,0 +1,5 @@
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
+ };
@@ -0,0 +1,4 @@
1
+ var r = {};
2
+ export {
3
+ r as __exports
4
+ };
@@ -1,13 +1,26 @@
1
- import type { GuidoConfig } from '@@/Types/generic';
1
+ import type { DynamicContent, GuidoConfig } from '@@/Types/generic';
2
+ import type { Template } from '@@/Types/stripo';
2
3
  type __VLS_Props = {
3
- emailId: string;
4
+ templateId: string;
4
5
  userId: string;
5
6
  partnerName?: string;
6
7
  productType?: string;
7
8
  username?: string;
9
+ html?: string;
10
+ css?: string;
8
11
  guidoConfig: GuidoConfig;
9
12
  };
10
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
13
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
14
+ dynamicContent: {
15
+ insert: (data: DynamicContent) => void;
16
+ close: () => void;
17
+ };
18
+ }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
19
+ "dynamic-content:open": (detail: DynamicContent | null) => void;
20
+ back: () => void;
21
+ "save:start": () => void;
22
+ "save:complete": (template: Omit<Template, "forceRecreate">) => void;
23
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
11
24
  export default _default;
12
25
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
13
26
  type __VLS_TypePropsToOption<T> = {
@@ -10,7 +10,7 @@ var s = function() {
10
10
  i,
11
11
  !1,
12
12
  null,
13
- "69c35c60"
13
+ "66fa3f35"
14
14
  );
15
15
  const c = n.exports;
16
16
  export {
@@ -1,47 +1,84 @@
1
- import { defineComponent as g, onMounted as T } from "vue";
2
- import { usePartner as S } from "../composables/usePartner.js";
3
- import { useStripo as C } from "../composables/useStripo.js";
4
- import { useTemplates as _ } from "../composables/useTemplates.js";
5
- import { DefaultUsername as y, DefaultGuidoConfig as w } from "../enums/defaults.js";
6
- import I from "./organisms/header/HeaderWrapper.vue.js";
1
+ import { defineComponent as w, onMounted as E } from "vue";
2
+ import { provideGuidoActions as T } from "../composables/useGuidoActions.js";
3
+ import { usePartner as D } from "../composables/usePartner.js";
4
+ import { useStripo as _ } from "../composables/useStripo.js";
5
+ import { DefaultUsername as G, DefaultGuidoConfig as I } from "../enums/defaults.js";
6
+ import k from "./organisms/header/HeaderWrapper.vue.js";
7
7
  import M from "./organisms/save-template/SaveTemplateModal.vue.js";
8
- import { useEditorStore as P } from "../stores/editor.js";
9
- const F = /* @__PURE__ */ g({
8
+ import { useStripoApi as P } from "../services/stripoApi.js";
9
+ import { useEditorStore as N } from "../stores/editor.js";
10
+ const O = /* @__PURE__ */ w({
10
11
  __name: "Guido",
11
12
  props: {
12
- emailId: null,
13
+ templateId: null,
13
14
  userId: null,
14
15
  partnerName: null,
15
16
  productType: null,
16
17
  username: null,
18
+ html: null,
19
+ css: null,
17
20
  guidoConfig: null
18
21
  },
19
- setup(f) {
20
- const o = f, { getPartnerName: t, getProductType: r } = S(), {
21
- emailId: a,
22
- userId: n,
23
- guidoConfig: i,
24
- partnerName: l = t(),
25
- productType: m = r(),
26
- username: p = y
27
- } = o;
22
+ emits: ["dynamic-content:open", "back", "save:start", "save:complete"],
23
+ setup(b, { expose: S, emit: o }) {
24
+ const t = b, { getPartnerName: n, getProductType: a } = D(), {
25
+ templateId: c,
26
+ userId: s,
27
+ guidoConfig: r,
28
+ html: i = "",
29
+ css: l = "",
30
+ partnerName: d = n(),
31
+ productType: m = a(),
32
+ username: u = G
33
+ } = t;
28
34
  window.GuidoConfig = {
29
- ...w,
30
- ...i
35
+ ...I,
36
+ ...r
31
37
  };
32
- const { initPlugin: u } = C({ emailId: a, userId: n, username: p, partnerName: l, productType: m }), { getDefaultTemplate: s } = _(), d = P(), c = () => {
33
- d.isSaveTemplateModalOpen = !1;
38
+ const { initPlugin: p } = _({ emailId: c, userId: s, username: u, partnerName: d, productType: m }), { getDefaultTemplate: f } = P();
39
+ T({
40
+ onBack: () => {
41
+ console.debug("guido:back"), o("back");
42
+ },
43
+ onSaveStart: () => {
44
+ console.debug("guido:save:start"), o("save:start");
45
+ },
46
+ onSaveComplete: (e) => {
47
+ console.debug("guido:save:complete", e), o("save:complete", e);
48
+ }
49
+ });
50
+ const g = N(), h = () => {
51
+ g.isSaveTemplateModalOpen = !1;
52
+ }, v = (e) => {
53
+ console.debug("dynamic-content:close", e), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: e }));
54
+ }, y = () => {
55
+ console.debug("dynamic-content:close", "Without Data"), document.dispatchEvent(new CustomEvent("dynamic-content:close", { detail: { text: "", value: "" } }));
34
56
  };
35
- return T(async () => {
57
+ return E(async () => {
58
+ console.debug("Guido says happy coding 🎉"), console.debug("🚗 Ka-Chow");
36
59
  try {
37
- const e = await s();
38
- await u(e);
60
+ let e = {
61
+ html: i,
62
+ css: l,
63
+ forceRecreate: !0
64
+ // TODO: It should be false for old templates. We will communicate with Stripo
65
+ };
66
+ e.html || (e = await f()), await p(e);
39
67
  } catch (e) {
40
68
  console.error("Failed to initialize Stripo editor:", e);
41
69
  }
42
- }), { __sfc: !0, props: o, getPartnerName: t, getProductType: r, emailId: a, userId: n, guidoConfig: i, partnerName: l, productType: m, username: p, initPlugin: u, getDefaultTemplate: s, editorStore: d, handleCloseSaveTemplateModal: c, HeaderWrapper: I, SaveTemplateModal: M };
70
+ document.addEventListener("dynamic-content:open", (e) => {
71
+ const C = e;
72
+ console.debug("dynamic-content:open", C.detail), o("dynamic-content:open", C.detail);
73
+ });
74
+ }), S({
75
+ dynamicContent: {
76
+ insert: v,
77
+ close: y
78
+ }
79
+ }), { __sfc: !0, props: t, getPartnerName: n, getProductType: a, templateId: c, userId: s, guidoConfig: r, html: i, css: l, partnerName: d, productType: m, username: u, emit: o, initPlugin: p, getDefaultTemplate: f, editorStore: g, handleCloseSaveTemplateModal: h, insertDynamicContent: v, closeDynamicContent: y, HeaderWrapper: k, SaveTemplateModal: M };
43
80
  }
44
81
  });
45
82
  export {
46
- F as default
83
+ O as default
47
84
  };
@@ -1,11 +1,11 @@
1
- import r from "./LeftSlot.vue2.js";
1
+ import n from "./LeftSlot.vue2.js";
2
2
  import o from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var n = function() {
4
- var t = this, e = t._self._c, s = t._self._setupProxy;
5
- return e("div", { staticClass: "d-f a-i-c" }, [e(s.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" } }), s.editorStore.isVersionHistoryOpen ? e(s.RestoreButton, { staticClass: "ml-3" }) : t._e()], 1);
3
+ var r = function() {
4
+ var e = this, s = e._self._c, t = e._self._setupProxy;
5
+ return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "label-text": "Back", "left-icon": "line-arrow-left", styling: "text", type: "secondary" }, on: { click: t.handleBack } }), t.editorStore.isVersionHistoryOpen ? s(t.RestoreButton, { staticClass: "ml-3" }) : e._e()], 1);
6
6
  }, a = [], i = /* @__PURE__ */ o(
7
- r,
8
7
  n,
8
+ r,
9
9
  a,
10
10
  !1,
11
11
  null,
@@ -1,13 +1,15 @@
1
- import { defineComponent as t } from "vue";
2
- import { useEditorStore as o } from "../../../stores/editor.js";
3
- import { InButtonV2 as r } from "@useinsider/design-system-vue";
4
- import e from "./version-history/RestoreButton.vue.js";
5
- const _ = /* @__PURE__ */ t({
1
+ import { defineComponent as r } from "vue";
2
+ import { useBack as e } from "../../../composables/useGuidoActions.js";
3
+ import { useEditorStore as m } from "../../../stores/editor.js";
4
+ import { InButtonV2 as n } from "@useinsider/design-system-vue";
5
+ import s from "./version-history/RestoreButton.vue.js";
6
+ const c = /* @__PURE__ */ r({
6
7
  __name: "LeftSlot",
7
- setup(m) {
8
- return { __sfc: !0, editorStore: o(), InButtonV2: r, RestoreButton: e };
8
+ setup(f) {
9
+ const o = m(), t = e();
10
+ return { __sfc: !0, editorStore: o, handleBack: t, InButtonV2: n, RestoreButton: s };
9
11
  }
10
12
  });
11
13
  export {
12
- _ as default
14
+ c as default
13
15
  };
@@ -2,7 +2,7 @@ import s from "./MiddleSlot.vue2.js";
2
2
  import i from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var n = function() {
4
4
  var e = this, o = e._self._c, t = e._self._setupProxy;
5
- return t.editorStore.isVersionHistoryOpen ? o("div", { staticClass: "d-f" }, [o(t.VersionHistory), o(t.VersionHistoryViewOptions)], 1) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "left-icon": "line-code", styling: "ghost", "tooltip-text": "Code Editor", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button") } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.trans("newsletter.email-preview") } }), o(t.ViewOptions, { staticClass: "ml-3" })], 1);
5
+ return t.editorStore.isVersionHistoryOpen ? o("div", { staticClass: "d-f" }, [o(t.VersionHistory), o(t.VersionHistoryViewOptions)], 1) : o("div", { staticClass: "d-f" }, [o(t.InButtonV2, { attrs: { id: "guido__undo-button", "left-icon": "line-undo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__redo-button", "left-icon": "line-redo", styling: "ghost", type: "secondary", "label-text-status": !1 } }), o(t.InButtonV2, { attrs: { id: "guido__code-button", "data-testid": "Code Editor", "left-icon": "line-code", styling: "ghost", "tooltip-text": "Code Editor", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isCodeEditorOpen, "tooltip-options": t.getTooltipOptions("guido__code-button") } }), o(t.InButtonV2, { attrs: { id: "guido__preview-button", "left-icon": "line-show-on", styling: "ghost", type: "secondary", "label-text-status": !1, "tooltip-options": t.getTooltipOptions("guido__preview-button"), "tooltip-text": t.trans("newsletter.email-preview") } }), o(t.ViewOptions, { staticClass: "ml-3" })], 1);
6
6
  }, l = [], r = /* @__PURE__ */ i(
7
7
  s,
8
8
  n,
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -2,16 +2,16 @@ import o from "./RightSlot.vue2.js";
2
2
  import i from "../../../_virtual/_plugin-vue2_normalizer.js";
3
3
  var n = function() {
4
4
  var s = this, e = s._self._c, t = s._self._setupProxy;
5
- return e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.exportHtml } }), e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.handleSaveAsTemplate } }), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": t.editorStore.isVersionHistoryOpen } })], 1);
6
- }, r = [], a = /* @__PURE__ */ i(
5
+ return e("div", { staticClass: "d-f" }, [e(t.InButtonV2, { attrs: { id: "guido__history-button", "left-icon": "line-architect-version-history", styling: "ghost", type: "secondary", "label-text-status": !1, "selected-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleVersionHistory } }), e(t.InButtonV2, { attrs: { id: "guido__export-button", "left-icon": "line-export", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.exportHtml } }), e(t.InButtonV2, { attrs: { id: "guido__save-as-button", "left-icon": "line-newsletter-save-as-template", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 }, on: { click: t.handleSaveAsTemplate } }), e(t.InButtonV2, { attrs: { id: "guido__test-button", "left-icon": "line-architect-test-journey", styling: "ghost", type: "secondary", "disabled-status": t.editorStore.isVersionHistoryOpen, "label-text-status": !1 } }), e(t.InButtonV2, { staticClass: "ml-3", attrs: { id: "guido__save-button", "label-text": "Save", "disabled-status": t.editorStore.isVersionHistoryOpen }, on: { click: t.handleSave } })], 1);
6
+ }, a = [], r = /* @__PURE__ */ i(
7
7
  o,
8
8
  n,
9
- r,
9
+ a,
10
10
  !1,
11
11
  null,
12
12
  null
13
13
  );
14
- const c = a.exports;
14
+ const u = r.exports;
15
15
  export {
16
- c as default
16
+ u as default
17
17
  };
@@ -1,23 +1,37 @@
1
- import { defineComponent as s } from "vue";
2
- import { useExport as n } from "../../../composables/useExport.js";
3
- import { useVersionHistoryApi as i } from "../../../composables/useVersionHistoryApi.js";
4
- import { useEditorStore as p } from "../../../stores/editor.js";
5
- import { InButtonV2 as m } from "@useinsider/design-system-vue";
6
- const H = /* @__PURE__ */ s({
1
+ import { defineComponent as m } from "vue";
2
+ import { useActionsApi as p } from "../../../composables/useActionsApi.js";
3
+ import { useExport as l } from "../../../composables/useExport.js";
4
+ import { useSaveStart as c, useSaveComplete as d } from "../../../composables/useGuidoActions.js";
5
+ import { useVersionHistoryApi as f } from "../../../composables/useVersionHistoryApi.js";
6
+ import { useEditorStore as u } from "../../../stores/editor.js";
7
+ import { InButtonV2 as S } from "@useinsider/design-system-vue";
8
+ const T = /* @__PURE__ */ m({
7
9
  __name: "RightSlot",
8
- setup(a) {
9
- const { exportHtml: r } = n(), { openVersionHistory: e, closeVersionHistory: t } = i(), o = p();
10
- return { __sfc: !0, exportHtml: r, openVersionHistory: e, closeVersionHistory: t, editorStore: o, handleVersionHistory: () => {
11
- if (o.isVersionHistoryOpen) {
12
- t();
10
+ setup(h) {
11
+ const { exportHtml: i } = l(), { getCompiledEmail: o } = p(), r = c(), s = d(), { openVersionHistory: n, closeVersionHistory: a } = f(), e = u();
12
+ return { __sfc: !0, exportHtml: i, getCompiledEmail: o, saveStart: r, saveComplete: s, openVersionHistory: n, closeVersionHistory: a, editorStore: e, handleVersionHistory: () => {
13
+ if (e.isVersionHistoryOpen) {
14
+ a();
13
15
  return;
14
16
  }
15
- e();
17
+ n();
16
18
  }, handleSaveAsTemplate: async () => {
17
- o.isSaveTemplateModalOpen = !0;
18
- }, InButtonV2: m };
19
+ e.isSaveTemplateModalOpen = !0;
20
+ }, handleSave: async () => {
21
+ r();
22
+ try {
23
+ const { html: t } = await o();
24
+ s({
25
+ html: t || "",
26
+ css: ""
27
+ // CSS is embedded in HTML from Stripo
28
+ });
29
+ } catch (t) {
30
+ console.error("Failed to get template data for save:", t);
31
+ }
32
+ }, InButtonV2: S };
19
33
  }
20
34
  });
21
35
  export {
22
- H as default
36
+ T as default
23
37
  };
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -3,7 +3,7 @@ type __VLS_Props = {
3
3
  date: number;
4
4
  textAlign: string;
5
5
  };
6
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
6
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
7
7
  export default _default;
8
8
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
9
  type __VLS_TypePropsToOption<T> = {
@@ -10,7 +10,7 @@ var i = function() {
10
10
  a,
11
11
  !1,
12
12
  null,
13
- "0e2ff42d"
13
+ "ee4b9c3f"
14
14
  );
15
15
  const d = n.exports;
16
16
  export {
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
2
  export default _default;
@@ -1,9 +1,9 @@
1
- interface TemplateModalProps {
1
+ interface Props {
2
2
  isOpen: boolean;
3
3
  }
4
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<TemplateModalProps>, {}, {}, {}, {}, import("vue/types/v3-component-options").ComponentOptionsMixin, import("vue/types/v3-component-options").ComponentOptionsMixin, {
4
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
5
5
  close: () => void;
6
- }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<TemplateModalProps>>>, {}>;
6
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>>, {}>;
7
7
  export default _default;
8
8
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
9
  type __VLS_TypePropsToOption<T> = {
@@ -1,22 +1,20 @@
1
1
  import s from "./SaveTemplateModal.vue2.js";
2
- import l from "../../../_virtual/_plugin-vue2_normalizer.js";
3
- var n = function() {
4
- var r = this, e = r._self._c, t = r._self._setupProxy;
5
- return e(t.ModalWrapper, { attrs: { "cancel-button-text": t.trans("products.cancel"), description: t.trans("newsletter.save-template-description"), "is-open": t.props.isOpen, "primary-button-loading": t.saveState.saving || t.isLoadingHtml, "primary-button-text": t.trans("products.save"), title: t.trans("products.save-template") }, on: { cancel: t.closeModal, close: t.closeModal, save: t.saveTemplate } }, [e(t.InTextInput, { staticClass: "mb-5 w-1", attrs: { id: "template-name-input", "with-label": "", name: "templateName", invalid: !!t.validationError, "invalid-message": t.validationError, label: t.trans("products.template-name"), placeholder: t.trans("newsletter.enter-template-name") }, model: { value: t.templateNameInput, callback: function(a) {
6
- t.templateNameInput = typeof a == "string" ? a.trim() : a;
7
- }, expression: "templateNameInput" } }), e(t.InMultiSelect, { staticClass: "template-category-dropdown mb-5 w-1", attrs: { "create-option-status": "", "search-status": "", "button-status": !1, "character-limit-validation-text": t.trans("validation-v2.duration-value", {
2
+ import r from "../../../_virtual/_plugin-vue2_normalizer.js";
3
+ var o = function() {
4
+ var a = this, t = a._self._c, e = a._self._setupProxy;
5
+ return t(e.ModalWrapper, { attrs: { "cancel-button-text": e.trans("products.cancel"), description: e.trans("newsletter.save-template-description"), "is-open": e.props.isOpen, "primary-button-loading": e.saveState.saving, "primary-button-text": e.trans(e.saveState.saving ? "newsletter.saving" : "products.save"), title: e.trans("products.save-template") }, on: { cancel: e.closeModal, close: e.closeModal, save: e.saveTemplate } }, [t(e.InBasicTextInput, { staticClass: "mb-5 w-1", attrs: { id: "template-name-input", name: "templateName", "character-counter-status": !1, "disabled-status": e.saveState.saving, "label-text": e.trans("products.template-name"), "placeholder-text": e.trans("newsletter.enter-template-name"), "state-message": e.getValidationMessage(), states: e.hasError() ? "error" : "", "tooltip-status": !1, value: e.templateName }, on: { input: e.templateNameInputHandler } }), t(e.InMultiSelect, { staticClass: "template-category-dropdown mb-5 w-1", attrs: { "create-option-status": "", "search-status": "", "button-status": !1, "character-limit-validation-text": e.trans("validation-v2.duration-value", {
8
6
  min: 1,
9
- max: t.templateCategorySearchInputLimit
10
- }), "create-button-label": t.trans("products.create-new-category"), "label-text": t.trans("products.template-category"), "loading-state": t.categoriesData.loading || t.categoriesData.loadingCreate, "max-character-limit": t.templateCategorySearchInputLimit, options: t.categoriesData.mappedCategories, "placeholder-text": t.trans("products.select-template-category"), value: t.categoriesData.selectedCategories }, on: { addOption: t.addOption, change: t.setSelectedCategories, resetAllOptions: t.setSelectedCategories, selectAllOptions: t.setSelectedCategories } })], 1);
11
- }, o = [], i = /* @__PURE__ */ l(
7
+ max: e.templateCategorySearchInputLimit
8
+ }), "create-button-label": e.trans("products.create-new-category"), "disabled-status": e.saveState.saving, "label-text": e.trans("products.template-category"), "loading-state": e.categoriesStore.loading || e.categoriesStore.loadingCreate, "max-character-limit": e.templateCategorySearchInputLimit, options: e.categoriesStore.mappedCategories, "placeholder-text": e.trans("products.select-template-category"), value: e.categoriesStore.selectedCategories }, on: { addOption: e.addOption, change: e.categoriesStore.setSelectedCategories, resetAllOptions: e.categoriesStore.setSelectedCategories, selectAllOptions: e.categoriesStore.setSelectedCategories } })], 1);
9
+ }, n = [], l = /* @__PURE__ */ r(
12
10
  s,
13
- n,
14
11
  o,
12
+ n,
15
13
  !1,
16
14
  null,
17
15
  null
18
16
  );
19
- const d = i.exports;
17
+ const d = l.exports;
20
18
  export {
21
19
  d as default
22
20
  };