@useinsider/guido 1.0.0-beta.a3ed027 → 1.0.0-beta.a9e37bf

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 (177) hide show
  1. package/README.md +42 -395
  2. package/dist/@types/generic.d.ts +0 -12
  3. package/dist/App.vue.d.ts +1 -1
  4. package/dist/components/Guido.vue.d.ts +3 -17
  5. package/dist/components/Guido.vue.js +8 -8
  6. package/dist/components/Guido.vue2.js +24 -64
  7. package/dist/components/organisms/header/LeftSlot.vue.js +5 -5
  8. package/dist/components/organisms/header/LeftSlot.vue2.js +8 -10
  9. package/dist/components/organisms/header/MiddleSlot.vue.js +4 -4
  10. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -17
  11. package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
  12. package/dist/components/organisms/header/RightSlot.vue.js +1 -1
  13. package/dist/components/organisms/header/RightSlot.vue2.js +14 -28
  14. package/dist/components/organisms/header/ViewOptions.vue.d.ts +1 -1
  15. package/dist/components/organisms/header/ViewOptions.vue.js +6 -6
  16. package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +1 -1
  17. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +1 -1
  18. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +1 -1
  19. package/dist/components/organisms/header/version-history/ViewOptions.vue.d.ts +1 -1
  20. package/dist/composables/useActionsApi.d.ts +0 -3
  21. package/dist/composables/useActionsApi.js +34 -47
  22. package/dist/composables/useCustomInterfaceAppearance.js +6 -8
  23. package/dist/composables/useExport.d.ts +1 -1
  24. package/dist/composables/useExport.js +20 -35
  25. package/dist/composables/useStripo.js +52 -44
  26. package/dist/composables/useTemplates.d.ts +5 -0
  27. package/dist/composables/useTemplates.js +27 -0
  28. package/dist/guido.css +1 -1
  29. package/dist/node_modules/pinia/dist/pinia.js +317 -0
  30. package/dist/node_modules/pinia/node_modules/vue-demi/lib/index.js +11 -0
  31. package/dist/static/styles/components/dropdown-menu.css.js +0 -8
  32. package/dist/static/templates/default/index.html.js +5 -0
  33. package/dist/static/templates/default/style.css.js +119 -0
  34. package/dist/stores/editor.d.ts +0 -4
  35. package/dist/stores/editor.js +4 -8
  36. package/dist/stores/version-history.js +1 -1
  37. package/package.json +5 -6
  38. package/dist/_virtual/AddCustomFont.js +0 -4
  39. package/dist/_virtual/AiAssistantValueType.js +0 -4
  40. package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
  41. package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
  42. package/dist/_virtual/Block.js +0 -4
  43. package/dist/_virtual/BlockAttributes.js +0 -4
  44. package/dist/_virtual/BlockCompositionType.js +0 -4
  45. package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
  46. package/dist/_virtual/BlockRenderer.js +0 -4
  47. package/dist/_virtual/BlockType.js +0 -4
  48. package/dist/_virtual/BlocksPanel.js +0 -4
  49. package/dist/_virtual/BuiltInControl.js +0 -4
  50. package/dist/_virtual/BuiltInControlTypes.js +0 -4
  51. package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
  52. package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
  53. package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
  54. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
  55. package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
  56. package/dist/_virtual/ContextAction.js +0 -4
  57. package/dist/_virtual/ContextActionType.js +0 -4
  58. package/dist/_virtual/Control.js +0 -4
  59. package/dist/_virtual/EditorStatePropertyType.js +0 -4
  60. package/dist/_virtual/Extension.js +0 -4
  61. package/dist/_virtual/ExtensionBuilder.js +0 -4
  62. package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
  63. package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
  64. package/dist/_virtual/ModificationDescription.js +0 -4
  65. package/dist/_virtual/PanelPosition.js +0 -4
  66. package/dist/_virtual/PreviewDeviceMode.js +0 -4
  67. package/dist/_virtual/SettingsPanelRegistry.js +0 -4
  68. package/dist/_virtual/SettingsPanelTab.js +0 -4
  69. package/dist/_virtual/SettingsTab.js +0 -4
  70. package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
  71. package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
  72. package/dist/_virtual/TextColorBuiltInControl.js +0 -4
  73. package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
  74. package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
  75. package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
  76. package/dist/_virtual/UIElement.js +0 -4
  77. package/dist/_virtual/UIElementTagRegistry.js +0 -4
  78. package/dist/_virtual/UIElementType.js +0 -4
  79. package/dist/_virtual/UIElementsAttributes.js +0 -4
  80. package/dist/_virtual/index.js +0 -5
  81. package/dist/_virtual/index2.js +0 -4
  82. package/dist/components/organisms/design-preview/AmpErrorModal.vue.d.ts +0 -16
  83. package/dist/components/organisms/design-preview/AmpErrorModal.vue.js +0 -21
  84. package/dist/components/organisms/design-preview/AmpErrorModal.vue2.js +0 -30
  85. package/dist/components/organisms/design-preview/DesktopPreview.vue.d.ts +0 -16
  86. package/dist/components/organisms/design-preview/DesktopPreview.vue.js +0 -22
  87. package/dist/components/organisms/design-preview/DesktopPreview.vue2.js +0 -43
  88. package/dist/components/organisms/design-preview/EmailPreview.vue.d.ts +0 -16
  89. package/dist/components/organisms/design-preview/EmailPreview.vue.js +0 -17
  90. package/dist/components/organisms/design-preview/EmailPreview.vue2.js +0 -33
  91. package/dist/components/organisms/design-preview/EmailView.vue.d.ts +0 -18
  92. package/dist/components/organisms/design-preview/EmailView.vue.js +0 -19
  93. package/dist/components/organisms/design-preview/EmailView.vue2.js +0 -24
  94. package/dist/components/organisms/design-preview/InboxView.vue.d.ts +0 -17
  95. package/dist/components/organisms/design-preview/InboxView.vue.js +0 -19
  96. package/dist/components/organisms/design-preview/InboxView.vue2.js +0 -23
  97. package/dist/components/organisms/design-preview/MobilePreview.vue.d.ts +0 -17
  98. package/dist/components/organisms/design-preview/MobilePreview.vue.js +0 -17
  99. package/dist/components/organisms/design-preview/MobilePreview.vue2.js +0 -23
  100. package/dist/components/organisms/header/AmpToggle.vue.d.ts +0 -2
  101. package/dist/components/organisms/header/AmpToggle.vue.js +0 -17
  102. package/dist/components/organisms/header/AmpToggle.vue2.js +0 -48
  103. package/dist/composables/useDebounce.d.ts +0 -4
  104. package/dist/composables/useDebounce.js +0 -12
  105. package/dist/composables/useGuidoActions.d.ts +0 -46
  106. package/dist/composables/useGuidoActions.js +0 -37
  107. package/dist/composables/useHtmlCompiler.d.ts +0 -4
  108. package/dist/composables/useHtmlCompiler.js +0 -16
  109. package/dist/composables/useMobileGmailFit.d.ts +0 -5
  110. package/dist/composables/useMobileGmailFit.js +0 -69
  111. package/dist/composables/useProvideInject.d.ts +0 -14
  112. package/dist/composables/useProvideInject.js +0 -17
  113. package/dist/config/compiler/htmlCompilerRules.d.ts +0 -2
  114. package/dist/config/compiler/htmlCompilerRules.js +0 -145
  115. package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
  116. package/dist/enums/emailPreview.d.ts +0 -3
  117. package/dist/enums/emailPreview.js +0 -6
  118. package/dist/enums/gmailMobilePreview.d.ts +0 -7
  119. package/dist/enums/gmailMobilePreview.js +0 -17
  120. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +0 -6
  121. package/dist/extensions/DynamicContent/dynamic-content-modal.js +0 -27
  122. package/dist/extensions/DynamicContent/dynamic-content.css.js +0 -24
  123. package/dist/extensions/DynamicContent/dynamic-content.d.ts +0 -16
  124. package/dist/extensions/DynamicContent/dynamic-content.js +0 -63
  125. package/dist/extensions/DynamicContent/extension.d.ts +0 -2
  126. package/dist/extensions/DynamicContent/extension.js +0 -11
  127. package/dist/inbox-mockup.svg +0 -39
  128. package/dist/mock/api/default-template.d.ts +0 -2
  129. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +0 -51
  130. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +0 -52
  131. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +0 -41
  132. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
  133. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
  134. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
  135. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
  136. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +0 -13
  137. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
  138. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +0 -13
  139. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +0 -13
  140. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +0 -104
  141. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +0 -13
  142. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +0 -13
  143. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +0 -13
  144. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +0 -13
  145. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +0 -13
  146. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +0 -13
  147. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +0 -45
  148. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
  149. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
  150. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
  151. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
  152. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
  153. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
  154. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
  155. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
  156. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
  157. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +0 -20
  158. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
  159. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
  160. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +0 -18
  161. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +0 -32
  162. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
  163. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
  164. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
  165. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
  166. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
  167. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
  168. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
  169. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +0 -26
  170. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +0 -22
  171. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +0 -18
  172. package/dist/phone-mockup.svg +0 -31
  173. package/dist/services/stripoApi.d.ts +0 -8
  174. package/dist/services/stripoApi.js +0 -49
  175. package/dist/static/styles/components/version-history.css.js +0 -30
  176. package/dist/utils/htmlCompiler.d.ts +0 -12
  177. package/dist/utils/htmlCompiler.js +0 -70
@@ -1,36 +1,46 @@
1
- import { useActionsApi as g } from "./useActionsApi.js";
2
1
  import { useCustomInterfaceAppearance as f } from "./useCustomInterfaceAppearance.js";
2
+ import { useHttp as y } from "./useHttp.js";
3
3
  import { useToaster as E } from "./useToaster.js";
4
- import { displayConditions as S } from "../enums/displayConditions.js";
5
- import y from "../extensions/DynamicContent/extension.js";
6
- import { useStripoApi as C } from "../services/stripoApi.js";
4
+ import { displayConditions as h } from "../enums/displayConditions.js";
7
5
  import { useEditorStore as w } from "../stores/editor.js";
8
- const A = (a) => {
9
- const { handleError: d } = E(), { getToken: c, getCustomFonts: u } = C(), l = (e, r = []) => {
10
- const i = w(), { html: t, css: s, forceRecreate: m } = e;
6
+ const I = (c) => {
7
+ const { get: a, post: u } = y(), { handleError: i } = E(), l = async () => {
8
+ try {
9
+ return (await u("/v2/stripo/get-user-token", {
10
+ pluginId: void 0,
11
+ secretKey: void 0,
12
+ role: void 0,
13
+ userId: c.emailId
14
+ })).data.token;
15
+ } catch (t) {
16
+ return i(t, "Failed to fetch token"), "";
17
+ }
18
+ }, p = async () => {
19
+ try {
20
+ return ((await a("/stripo/get-partner-custom-fonts")).data || []).map((n) => ({
21
+ ...n,
22
+ active: !0
23
+ }));
24
+ } catch (t) {
25
+ return i(t, "Failed to fetch custom fonts"), [];
26
+ }
27
+ }, m = (t, r = []) => {
28
+ const n = w(), { html: e, css: s } = t;
11
29
  window.UIEditor.initEditor(
12
30
  document.querySelector("#guido-editor"),
13
31
  {
14
- metadata: a,
15
- html: t,
32
+ metadata: c,
33
+ html: e,
16
34
  css: s,
17
- forceRecreate: m,
18
35
  locale: "en",
19
36
  undoButtonSelector: "#guido__undo-button",
20
37
  redoButtonSelector: "#guido__redo-button",
21
38
  mobileViewButtonSelector: ".guido__view-option-selection-mobile",
22
39
  desktopViewButtonSelector: ".guido__view-option-selection-desktop",
23
40
  codeEditorButtonSelector: "#guido__code-button",
24
- customAppearanceMergetags: !0,
25
- customAppearanceMergetagsBorderColor: "#f1f3fe",
26
- customAppearanceMergetagsBackgroundColor: "#f1f3fe",
27
- customViewStyles: `
28
- .esd-x, .esd-merge-tag {color: #0a2ecc !important; box-shadow: none !important;}
29
- .esd-merge-tag {border: 1px solid #b5c1f1; border-radius: 4px !important;}
30
- `,
31
41
  conditionsEnabled: !0,
32
42
  customConditionsEnabled: !0,
33
- conditionCategories: S,
43
+ conditionCategories: h,
34
44
  messageSettingsEnabled: !1,
35
45
  editorFonts: {
36
46
  showDefaultStandardFonts: !0,
@@ -39,53 +49,51 @@ const A = (a) => {
39
49
  },
40
50
  async onTokenRefreshRequest(o) {
41
51
  try {
42
- const n = await c();
43
- o(n);
44
- } catch (n) {
45
- d(n, "Failed to refresh token");
52
+ const d = await l();
53
+ o(d);
54
+ } catch (d) {
55
+ i(d, "Failed to refresh token");
46
56
  }
47
57
  },
48
58
  onTemplateLoaded() {
49
59
  try {
50
- const { importCss: o } = f(), { activateCustomViewStyles: n } = g();
51
- o(), n();
60
+ const { importCss: o } = f();
61
+ o();
52
62
  } catch (o) {
53
- d(o, "Failed to load custom interface appearance");
63
+ i(o, "Failed to load custom interface appearance");
54
64
  }
55
65
  },
56
66
  onCodeEditorVisibilityChanged(o) {
57
- i.isCodeEditorOpen = o;
67
+ n.isCodeEditorOpen = o;
58
68
  },
59
69
  onEditorVisualModeChanged(o) {
60
- i.editorVisualMode = o.toLowerCase();
70
+ n.editorVisualMode = o.toLowerCase();
61
71
  },
62
72
  onVersionHistoryVisibilityChanged(o) {
63
- i.isVersionHistoryOpen = o;
64
- },
65
- ignoreClickOutsideSelectors: ["#guido-dynamic-content-modal"],
66
- extensions: [y]
73
+ n.isVersionHistoryOpen = o;
74
+ }
67
75
  }
68
76
  );
69
- }, p = (e) => new Promise((r, i) => {
77
+ }, g = (t) => new Promise((r, n) => {
70
78
  if (document.getElementById("UiEditorScript")) {
71
- e(), r();
79
+ t(), r();
72
80
  return;
73
81
  }
74
- const t = document.createElement("script");
75
- t.id = "UiEditorScript", t.type = "module", t.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", t.onload = () => {
76
- e(), r();
77
- }, t.onerror = () => {
82
+ const e = document.createElement("script");
83
+ e.id = "UiEditorScript", e.type = "module", e.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", e.onload = () => {
84
+ t(), r();
85
+ }, e.onerror = () => {
78
86
  const s = new Error("Failed to load Stripo UIEditor script");
79
- i(s);
80
- }, document.body.appendChild(t);
87
+ n(s);
88
+ }, document.body.appendChild(e);
81
89
  });
82
- return { initPlugin: async (e) => {
83
- await p(async () => {
84
- const r = await u();
85
- l(e, r);
90
+ return { initPlugin: async (t) => {
91
+ await g(async () => {
92
+ const r = await p();
93
+ m(t, r);
86
94
  });
87
95
  } };
88
96
  };
89
97
  export {
90
- A as useStripo
98
+ I as useStripo
91
99
  };
@@ -0,0 +1,5 @@
1
+ import type { Template } from '@@/Types/stripo';
2
+ export declare const useTemplates: () => {
3
+ getDefaultTemplate: () => Promise<Template>;
4
+ getTemplate: (templateName: string) => Promise<Template>;
5
+ };
@@ -0,0 +1,27 @@
1
+ const s = () => {
2
+ const t = async () => {
3
+ const [e, a] = await Promise.all([
4
+ // eslint-disable-next-line import/extensions
5
+ import("../static/templates/default/index.html.js"),
6
+ import("../static/templates/default/style.css.js")
7
+ ]);
8
+ return {
9
+ html: e.default,
10
+ css: a.default
11
+ };
12
+ };
13
+ return {
14
+ getDefaultTemplate: t,
15
+ getTemplate: async (e) => {
16
+ switch (e) {
17
+ case "default":
18
+ return t();
19
+ default:
20
+ return t();
21
+ }
22
+ }
23
+ };
24
+ };
25
+ export {
26
+ s as useTemplates
27
+ };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- [data-v-95dad178] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-95dad178],[data-v-95dad178] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}[data-v-6a2bde67] .guido__verion-history-view-option-selection-desktop svg,[data-v-6a2bde67] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-6a2bde67] .in-segments-wrapper__button_selected,[data-v-6a2bde67] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-f90d31ea] .guido__view-option-selection-desktop svg,[data-v-f90d31ea] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-f90d31ea] .in-segments-wrapper__button_selected,[data-v-f90d31ea] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.guido-editor__wrapper[data-v-7836f831],.guido-editor__container[data-v-7836f831]{width:100%;height:calc(100vh - 75px)}
1
+ .version-history-item[data-v-0e2ff42d]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}[data-v-6a2bde67] .guido__verion-history-view-option-selection-desktop svg,[data-v-6a2bde67] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-6a2bde67] .in-segments-wrapper__button_selected,[data-v-6a2bde67] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-0fff376c] .guido__view-option-selection-desktop svg,[data-v-0fff376c] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-0fff376c] .in-segments-wrapper__button_selected,[data-v-0fff376c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.guido-editor__wrapper[data-v-8e229594],.guido-editor__container[data-v-8e229594]{width:100%;height:calc(100vh - 75px)}
@@ -0,0 +1,317 @@
1
+ import { hasInjectionContext as ut } from "../node_modules/vue-demi/lib/index.js";
2
+ import { inject as at, getCurrentInstance as it, set as O, ref as K, reactive as ft, markRaw as j, effectScope as _t, isRef as x, isReactive as J, toRef as T, del as A, nextTick as B, computed as tt, getCurrentScope as lt, onScopeDispose as Et, watch as pt, toRefs as Q } from "vue";
3
+ /*!
4
+ * pinia v2.3.1
5
+ * (c) 2025 Eduardo San Martin Morote
6
+ * @license MIT
7
+ */
8
+ let R;
9
+ const L = (t) => R = t, dt = process.env.NODE_ENV !== "production" ? Symbol("pinia") : (
10
+ /* istanbul ignore next */
11
+ Symbol()
12
+ );
13
+ function V(t) {
14
+ return t && typeof t == "object" && Object.prototype.toString.call(t) === "[object Object]" && typeof t.toJSON != "function";
15
+ }
16
+ var w;
17
+ (function(t) {
18
+ t.direct = "direct", t.patchObject = "patch object", t.patchFunction = "patch function";
19
+ })(w || (w = {}));
20
+ const C = typeof window < "u";
21
+ function et(t, u) {
22
+ for (const r in u) {
23
+ const o = u[r];
24
+ if (!(r in t))
25
+ continue;
26
+ const c = t[r];
27
+ V(c) && V(o) && !x(o) && !J(o) ? t[r] = et(c, o) : O(t, r, o);
28
+ }
29
+ return t;
30
+ }
31
+ const ot = () => {
32
+ };
33
+ function X(t, u, r, o = ot) {
34
+ t.push(u);
35
+ const c = () => {
36
+ const f = t.indexOf(u);
37
+ f > -1 && (t.splice(f, 1), o());
38
+ };
39
+ return !r && lt() && Et(c), c;
40
+ }
41
+ function g(t, ...u) {
42
+ t.slice().forEach((r) => {
43
+ r(...u);
44
+ });
45
+ }
46
+ const ht = (t) => t(), Y = Symbol(), W = Symbol();
47
+ function H(t, u) {
48
+ t instanceof Map && u instanceof Map ? u.forEach((r, o) => t.set(o, r)) : t instanceof Set && u instanceof Set && u.forEach(t.add, t);
49
+ for (const r in u) {
50
+ if (!u.hasOwnProperty(r))
51
+ continue;
52
+ const o = u[r], c = t[r];
53
+ V(c) && V(o) && t.hasOwnProperty(r) && !x(o) && !J(o) ? t[r] = H(c, o) : t[r] = o;
54
+ }
55
+ return t;
56
+ }
57
+ const Nt = process.env.NODE_ENV !== "production" ? Symbol("pinia:skipHydration") : (
58
+ /* istanbul ignore next */
59
+ Symbol()
60
+ );
61
+ function vt(t) {
62
+ return !V(t) || !t.hasOwnProperty(Nt);
63
+ }
64
+ const { assign: y } = Object;
65
+ function Z(t) {
66
+ return !!(x(t) && t.effect);
67
+ }
68
+ function G(t, u, r, o) {
69
+ const { state: c, actions: f, getters: E } = u, i = r.state.value[t];
70
+ let b;
71
+ function N() {
72
+ !i && (process.env.NODE_ENV === "production" || !o) && O(r.state.value, t, c ? c() : {});
73
+ const p = process.env.NODE_ENV !== "production" && o ? (
74
+ // use ref() to unwrap refs inside state TODO: check if this is still necessary
75
+ Q(K(c ? c() : {}).value)
76
+ ) : Q(r.state.value[t]);
77
+ return y(p, f, Object.keys(E || {}).reduce((_, l) => (process.env.NODE_ENV !== "production" && l in p && console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with "${l}" in store "${t}".`), _[l] = j(tt(() => {
78
+ L(r);
79
+ const v = r._s.get(t);
80
+ if (v._r)
81
+ return E[l].call(v, v);
82
+ })), _), {}));
83
+ }
84
+ return b = M(t, N, u, r, o, !0), b;
85
+ }
86
+ function M(t, u, r = {}, o, c, f) {
87
+ let E;
88
+ const i = y({ actions: {} }, r);
89
+ if (process.env.NODE_ENV !== "production" && !o._e.active)
90
+ throw new Error("Pinia destroyed");
91
+ const b = { deep: !0 };
92
+ process.env.NODE_ENV;
93
+ let N, p, _ = [], l = [], v;
94
+ const D = o.state.value[t];
95
+ !f && !D && (process.env.NODE_ENV === "production" || !c) && O(o.state.value, t, {});
96
+ const $ = K({});
97
+ let q;
98
+ function z(s) {
99
+ let e;
100
+ N = p = !1, process.env.NODE_ENV !== "production" && (v = []), typeof s == "function" ? (s(o.state.value[t]), e = {
101
+ type: w.patchFunction,
102
+ storeId: t,
103
+ events: v
104
+ }) : (H(o.state.value[t], s), e = {
105
+ type: w.patchObject,
106
+ payload: s,
107
+ storeId: t,
108
+ events: v
109
+ });
110
+ const a = q = Symbol();
111
+ B().then(() => {
112
+ q === a && (N = !0);
113
+ }), p = !0, g(_, e, o.state.value[t]);
114
+ }
115
+ const st = f ? function() {
116
+ const { state: e } = r, a = e ? e() : {};
117
+ this.$patch((d) => {
118
+ y(d, a);
119
+ });
120
+ } : (
121
+ /* istanbul ignore next */
122
+ process.env.NODE_ENV !== "production" ? () => {
123
+ throw new Error(`🍍: Store "${t}" is built using the setup syntax and does not implement $reset().`);
124
+ } : ot
125
+ );
126
+ function nt() {
127
+ E.stop(), _ = [], l = [], o._s.delete(t);
128
+ }
129
+ const k = (s, e = "") => {
130
+ if (Y in s)
131
+ return s[W] = e, s;
132
+ const a = function() {
133
+ L(o);
134
+ const d = Array.from(arguments), P = [], F = [];
135
+ function rt(h) {
136
+ P.push(h);
137
+ }
138
+ function ct(h) {
139
+ F.push(h);
140
+ }
141
+ g(l, {
142
+ args: d,
143
+ name: a[W],
144
+ store: n,
145
+ after: rt,
146
+ onError: ct
147
+ });
148
+ let S;
149
+ try {
150
+ S = s.apply(this && this.$id === t ? this : n, d);
151
+ } catch (h) {
152
+ throw g(F, h), h;
153
+ }
154
+ return S instanceof Promise ? S.then((h) => (g(P, h), h)).catch((h) => (g(F, h), Promise.reject(h))) : (g(P, S), S);
155
+ };
156
+ return a[Y] = !0, a[W] = e, a;
157
+ }, I = /* @__PURE__ */ j({
158
+ actions: {},
159
+ getters: {},
160
+ state: [],
161
+ hotState: $
162
+ }), U = {
163
+ _p: o,
164
+ // _s: scope,
165
+ $id: t,
166
+ $onAction: X.bind(null, l),
167
+ $patch: z,
168
+ $reset: st,
169
+ $subscribe(s, e = {}) {
170
+ const a = X(_, s, e.detached, () => d()), d = E.run(() => pt(() => o.state.value[t], (P) => {
171
+ (e.flush === "sync" ? p : N) && s({
172
+ storeId: t,
173
+ type: w.direct,
174
+ events: v
175
+ }, P);
176
+ }, y({}, b, e)));
177
+ return a;
178
+ },
179
+ $dispose: nt
180
+ };
181
+ U._r = !1;
182
+ const n = ft(process.env.NODE_ENV !== "production" || (process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ < "u" && __VUE_PROD_DEVTOOLS__) && process.env.NODE_ENV !== "test" && C ? y(
183
+ {
184
+ _hmrPayload: I,
185
+ _customProperties: j(/* @__PURE__ */ new Set())
186
+ // devtools custom properties
187
+ },
188
+ U
189
+ // must be added later
190
+ // setupStore
191
+ ) : U);
192
+ o._s.set(t, n);
193
+ const m = (o._a && o._a.runWithContext || ht)(() => o._e.run(() => (E = _t()).run(() => u({ action: k }))));
194
+ for (const s in m) {
195
+ const e = m[s];
196
+ if (x(e) && !Z(e) || J(e))
197
+ process.env.NODE_ENV !== "production" && c ? O($.value, s, T(m, s)) : f || (D && vt(e) && (x(e) ? e.value = D[s] : H(e, D[s])), O(o.state.value[t], s, e)), process.env.NODE_ENV !== "production" && I.state.push(s);
198
+ else if (typeof e == "function") {
199
+ const a = process.env.NODE_ENV !== "production" && c ? e : k(e, s);
200
+ O(m, s, a), process.env.NODE_ENV !== "production" && (I.actions[s] = e), i.actions[s] = e;
201
+ } else process.env.NODE_ENV !== "production" && Z(e) && (I.getters[s] = f ? (
202
+ // @ts-expect-error
203
+ r.getters[s]
204
+ ) : e, C && (m._getters || // @ts-expect-error: same
205
+ (m._getters = j([]))).push(s));
206
+ }
207
+ if (Object.keys(m).forEach((s) => {
208
+ O(n, s, m[s]);
209
+ }), Object.defineProperty(n, "$state", {
210
+ get: () => process.env.NODE_ENV !== "production" && c ? $.value : o.state.value[t],
211
+ set: (s) => {
212
+ if (process.env.NODE_ENV !== "production" && c)
213
+ throw new Error("cannot set hotState");
214
+ z((e) => {
215
+ y(e, s);
216
+ });
217
+ }
218
+ }), process.env.NODE_ENV !== "production" && (n._hotUpdate = j((s) => {
219
+ n._hotUpdating = !0, s._hmrPayload.state.forEach((e) => {
220
+ if (e in n.$state) {
221
+ const a = s.$state[e], d = n.$state[e];
222
+ typeof a == "object" && V(a) && V(d) ? et(a, d) : s.$state[e] = d;
223
+ }
224
+ O(n, e, T(s.$state, e));
225
+ }), Object.keys(n.$state).forEach((e) => {
226
+ e in s.$state || A(n, e);
227
+ }), N = !1, p = !1, o.state.value[t] = T(s._hmrPayload, "hotState"), p = !0, B().then(() => {
228
+ N = !0;
229
+ });
230
+ for (const e in s._hmrPayload.actions) {
231
+ const a = s[e];
232
+ O(n, e, k(a, e));
233
+ }
234
+ for (const e in s._hmrPayload.getters) {
235
+ const a = s._hmrPayload.getters[e], d = f ? (
236
+ // special handling of options api
237
+ tt(() => (L(o), a.call(n, n)))
238
+ ) : a;
239
+ O(n, e, d);
240
+ }
241
+ Object.keys(n._hmrPayload.getters).forEach((e) => {
242
+ e in s._hmrPayload.getters || A(n, e);
243
+ }), Object.keys(n._hmrPayload.actions).forEach((e) => {
244
+ e in s._hmrPayload.actions || A(n, e);
245
+ }), n._hmrPayload = s._hmrPayload, n._getters = s._getters, n._hotUpdating = !1;
246
+ })), (process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ < "u" && __VUE_PROD_DEVTOOLS__) && process.env.NODE_ENV !== "test" && C) {
247
+ const s = {
248
+ writable: !0,
249
+ configurable: !0,
250
+ // avoid warning on devtools trying to display this property
251
+ enumerable: !1
252
+ };
253
+ ["_p", "_hmrPayload", "_getters", "_customProperties"].forEach((e) => {
254
+ Object.defineProperty(n, e, y({ value: n[e] }, s));
255
+ });
256
+ }
257
+ return n._r = !0, o._p.forEach((s) => {
258
+ if ((process.env.NODE_ENV !== "production" || typeof __VUE_PROD_DEVTOOLS__ < "u" && __VUE_PROD_DEVTOOLS__) && process.env.NODE_ENV !== "test" && C) {
259
+ const e = E.run(() => s({
260
+ store: n,
261
+ app: o._a,
262
+ pinia: o,
263
+ options: i
264
+ }));
265
+ Object.keys(e || {}).forEach((a) => n._customProperties.add(a)), y(n, e);
266
+ } else
267
+ y(n, E.run(() => s({
268
+ store: n,
269
+ app: o._a,
270
+ pinia: o,
271
+ options: i
272
+ })));
273
+ }), process.env.NODE_ENV !== "production" && n.$state && typeof n.$state == "object" && typeof n.$state.constructor == "function" && !n.$state.constructor.toString().includes("[native code]") && console.warn(`[🍍]: The "state" must be a plain object. It cannot be
274
+ state: () => new MyClass()
275
+ Found in store "${n.$id}".`), D && f && r.hydrate && r.hydrate(n.$state, D), N = !0, p = !0, n;
276
+ }
277
+ /*! #__NO_SIDE_EFFECTS__ */
278
+ // @__NO_SIDE_EFFECTS__
279
+ function mt(t, u, r) {
280
+ let o, c;
281
+ const f = typeof u == "function";
282
+ if (typeof t == "string")
283
+ o = t, c = f ? r : u;
284
+ else if (c = t, o = t.id, process.env.NODE_ENV !== "production" && typeof o != "string")
285
+ throw new Error('[🍍]: "defineStore()" must be passed a store id as its first argument.');
286
+ function E(i, b) {
287
+ const N = ut();
288
+ if (i = // in test mode, ignore the argument provided as we can always retrieve a
289
+ // pinia instance with getActivePinia()
290
+ (process.env.NODE_ENV === "test" && R && R._testing ? null : i) || (N ? at(dt, null) : null), i && L(i), process.env.NODE_ENV !== "production" && !R)
291
+ throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
292
+ See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
293
+ This will fail in production.`);
294
+ i = R, i._s.has(o) || (f ? M(o, u, c, i) : G(o, c, i), process.env.NODE_ENV !== "production" && (E._pinia = i));
295
+ const p = i._s.get(o);
296
+ if (process.env.NODE_ENV !== "production" && b) {
297
+ const _ = "__hot:" + o, l = f ? M(_, u, c, i, !0) : G(_, y({}, c), i, !0);
298
+ b._hotUpdate(l), delete i.state.value[_], i._s.delete(_);
299
+ }
300
+ if (process.env.NODE_ENV !== "production" && C) {
301
+ const _ = it();
302
+ if (_ && _.proxy && // avoid adding stores that are just built for hot module replacement
303
+ !b) {
304
+ const l = _.proxy, v = "_pStores" in l ? l._pStores : l._pStores = {};
305
+ v[o] = p;
306
+ }
307
+ }
308
+ return p;
309
+ }
310
+ return E.$id = o, E;
311
+ }
312
+ export {
313
+ w as MutationType,
314
+ mt as defineStore,
315
+ L as setActivePinia,
316
+ vt as shouldHydrate
317
+ };
@@ -0,0 +1,11 @@
1
+ import t, { getCurrentInstance as e } from "vue";
2
+ export * from "vue";
3
+ import { default as f } from "vue";
4
+ t.util.warn;
5
+ function n() {
6
+ return !!e();
7
+ }
8
+ export {
9
+ f as Vue,
10
+ n as hasInjectionContext
11
+ };
@@ -38,14 +38,6 @@ ue-dropdown .service-element.padding-t-3 {
38
38
  .dropdown__menu ue-icon-component.icon-button {
39
39
  color: var(--guido-color-primary-500);
40
40
  }
41
-
42
- .menu {
43
- padding: 8px 0px;
44
- }
45
-
46
- .menu .menu-item {
47
- padding: 8px;
48
- }
49
41
  `;
50
42
  export {
51
43
  n as default
@@ -0,0 +1,5 @@
1
+ const t = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1" name="viewport"><meta name="x-apple-disable-message-reformatting"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="telephone=no" name="format-detection"><title></title><!--[if (mso 16)]><style type="text/css">a{text-decoration:none;}</style><![endif]--><!--[if gte mso 9]><style>sup{font-size:100% !important;}</style><![endif]--><!--[if gte mso 9]><noscript><xml><o:OfficeDocumentSettings><o:AllowPNG></o:AllowPNG><o:PixelsPerInch>96</o:PixelsPerInch></o:OfficeDocumentSettings></xml></noscript><![endif]--><!--[if mso]><xml><w:WordDocument xmlns:w="urn:schemas-microsoft-com:office:word"><w:DontUseAdvancedTypographyReadingMail></w:DontUseAdvancedTypographyReadingMail></w:WordDocument></xml><![endif]--></head><body><div class="es-wrapper-color"> <!--[if gte mso 9]> <v:background xmlns:v="urn:schemas-microsoft-com:vml" fill="t"> <v:fill type="tile" color="#f6f6f6"></v:fill> </v:background> <![endif]--><table class="es-wrapper" width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-email-paddings" valign="top"><table class="es-content esd-header-popover" cellspacing="0" cellpadding="0" align="center"><tbody><tr><td class="esd-stripe" align="center"><table class="es-content-body" width="600" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center"><tbody><tr><td class="esd-structure es-p20" align="left" bgcolor="#91949F" style="background-color: #91949f;"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-container-frame" width="560" valign="top" align="center"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td align="center" class="esd-block-image es-p15" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/logo.png" alt style="display: block;" height="30"></a></td></tr><tr><td class="esd-block-text" align="center"><h2 style="color: #ffffff; font-size: 30px;"><strong>Time for great email design</strong></h2></td></tr><tr><td class="esd-block-text es-m-txt-c es-p10t" align="center"><p style="color: #ffffff;">I'm a new text block ready for your message content.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><table class="es-content" cellspacing="0" cellpadding="0" align="center"><tbody><tr><td class="esd-stripe" align="center"><table class="es-content-body" width="600" cellspacing="0" cellpadding="0" bgcolor="#ffffff" align="center"><tbody><tr><td class="esd-structure es-p30t es-p20b es-p20r es-p20l" align="left" bgcolor="#F9F9F9" style="background-color: #f9f9f9;"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image es-p30t es-p20r" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="138"></a></td></tr><tr><td align="center" class="esd-block-text es-p10t es-p40b"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td class="esd-structure es-p20t es-p20r es-p20l" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-text"><p style="font-size: 24px; color: #2c3546;"><strong>This is a sample heading</strong><br></p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #2c3546;">I'm a new text block ready for your message content.</p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #959aa3; font-size: 10px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor<br> incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud<br>&nbsp;exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table><table class="es-content esd-footer-popover" cellspacing="0" cellpadding="0" align="center"><tbody><tr></tr><tr><td class="esd-stripe" esd-custom-block-id="8631" align="center"><table class="es-footer-body" style="background-color: #ffffff;" width="600" cellspacing="0" cellpadding="0" align="center" bgcolor="#fff"><tbody><tr><td class="esd-structure es-p20t es-p15b es-p20r es-p20l" align="left"> <!--[if mso]><table width="560" cellpadding="0" cellspacing="0"><tr><td width="270" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-left" align="left"><tbody><tr><td width="270" class="es-m-p20b esd-container-frame" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="right" class="esd-block-button"><span class="es-button-border" style="border-radius: 4px; border-color: #5d6980; background: #5d6980; border-width: 1px;"><a href class="es-button" target="_blank" style="color: #ffffff; background: #5d6980; border-color: #5d6980; border-radius: 4px; border-width: 10px 15px;"> Button </a></span></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td><td width="20"></td><td width="270" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-right" align="right"><tbody><tr><td width="270" align="left" class="esd-container-frame"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" class="esd-block-button"><span class="es-button-border" style="border-radius: 4px; border-color: #5d6980; background: #ffffff; border-width: 1px;"><a href class="es-button" target="_blank" style="background: #ffffff; border-color: #ffffff; color: #5d6980; border-radius: 4px; border-width: 10px 15px;"> Button </a></span></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td class="esd-structure es-p30t es-p35b es-p40r es-p40l" align="left" bgcolor="#F9F9F9" style="background-color: #f9f9f9;"> <!--[if mso]><table width="520" cellpadding="0" cellspacing="0"><tr><td width="257" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-left" align="left"><tbody><tr><td width="257" class="es-m-p20b esd-container-frame" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="96"></a></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td><td width="0"></td><td width="263" valign="top"><![endif]--><table cellpadding="0" cellspacing="0" class="es-right" align="right"><tbody><tr><td width="263" align="left" class="esd-container-frame"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="center" class="esd-block-image" style="font-size: 0px;"><a target="_blank"><img class="adapt-img" src="https://web-image.useinsider.com/email-template/image-placeholder.png" alt style="display: block;" width="96"></a></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #c5c6cc;">Image Placeholder</p></td></tr></tbody></table></td></tr></tbody></table> <!--[if mso]></td></tr></table><![endif]--></td></tr><tr><td class="esd-structure es-p20t es-p15b es-p20r es-p20l" align="left"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td width="560" class="esd-container-frame" align="center" valign="top"><table cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td align="left" class="esd-block-text"><p>Text</p></td></tr></tbody></table></td></tr></tbody></table></td></tr><tr><td class="esd-structure es-p20t es-p20b es-p20r es-p20l" align="left" bgcolor="#2C3546" style="background-color: #2c3546;"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td class="esd-container-frame" width="560" valign="top" align="center"><table width="100%" cellspacing="0" cellpadding="0"><tbody><tr><td align="center" class="esd-block-social" style="font-size:0"><table cellpadding="0" cellspacing="0" class="es-table-not-adapt es-social"><tbody><tr><td align="center" valign="top" class="es-p20r" esd-tmp-icon-type="facebook"><a target="_blank" href="https://facebook.com"><img title="Facebook" src="https://web-image.useinsider.com/email-template/facebook.png" alt="Facebook" width="24" height="24"></a></td><td align="center" valign="top" class="es-p20r" esd-tmp-icon-type="twitter"><a target="_blank" href="https://instagram.com"><img title="Instagram" src="https://web-image.useinsider.com/email-template/instagram.png" alt="Instagram" width="24" height="24"></a></td><td align="center" valign="top" esd-tmp-icon-type="instagram"><a target="_blank" href="https://twitter.com"><img title="Twitter" src="https://web-image.useinsider.com/email-template/twitter.png" alt="Twitter" width="24" height="24"></a></td></tr></tbody></table></td></tr><tr><td align="center" class="esd-block-text es-p20"><p style="font-size: 10px;">ADDRESS LINE, PROVINCE, CITY, COUNTRY - 999999</p></td></tr><tr><td align="center" class="esd-block-text"><p style="color: #959aa2; font-size: 10px;">You can <u>unsubscribe</u> from our emails, if you need to.</p></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div></body></html>
2
+ `;
3
+ export {
4
+ t as default
5
+ };