@useinsider/guido 1.0.0-beta.7f477db → 1.0.0-beta.80693fc

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 (147) hide show
  1. package/README.md +259 -11
  2. package/dist/@types/generic.d.ts +14 -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 +9 -2
  49. package/dist/components/Guido.vue.js +8 -8
  50. package/dist/components/Guido.vue2.js +38 -27
  51. package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
  52. package/dist/components/organisms/header/MiddleSlot.vue2.js +19 -17
  53. package/dist/components/organisms/header/RightSlot.vue.d.ts +1 -1
  54. package/dist/components/organisms/header/RightSlot.vue.js +7 -7
  55. package/dist/components/organisms/header/RightSlot.vue2.js +17 -15
  56. package/dist/components/organisms/header/ViewOptions.vue.d.ts +1 -1
  57. package/dist/components/organisms/header/version-history/RestoreButton.vue.d.ts +1 -1
  58. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.d.ts +1 -1
  59. package/dist/components/organisms/header/version-history/VersionHistoryItem.vue.js +1 -1
  60. package/dist/components/organisms/header/version-history/ViewOptions.vue.d.ts +1 -1
  61. package/dist/composables/useActionsApi.d.ts +2 -2
  62. package/dist/composables/useActionsApi.js +36 -43
  63. package/dist/composables/useExport.d.ts +1 -1
  64. package/dist/composables/useExport.js +35 -20
  65. package/dist/composables/useHtmlCompiler.d.ts +4 -0
  66. package/dist/composables/useHtmlCompiler.js +16 -0
  67. package/dist/composables/useHttp.js +21 -23
  68. package/dist/composables/useStripo.js +39 -28
  69. package/dist/config/compiler/htmlCompilerRules.d.ts +2 -0
  70. package/dist/config/compiler/htmlCompilerRules.js +145 -0
  71. package/dist/config/compiler/outlookCompilerRules.d.ts +0 -0
  72. package/dist/extensions/DynamicContent/dynamic-content-modal.d.ts +6 -0
  73. package/dist/extensions/DynamicContent/dynamic-content-modal.js +27 -0
  74. package/dist/extensions/DynamicContent/dynamic-content.css.js +24 -0
  75. package/dist/extensions/DynamicContent/dynamic-content.d.ts +16 -0
  76. package/dist/extensions/DynamicContent/dynamic-content.js +63 -0
  77. package/dist/extensions/DynamicContent/extension.d.ts +2 -0
  78. package/dist/extensions/DynamicContent/extension.js +11 -0
  79. package/dist/guido.css +1 -1
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +51 -0
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +52 -0
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +41 -0
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +18 -0
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +32 -0
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +18 -0
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +8 -0
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +13 -0
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +34 -0
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +13 -0
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +13 -0
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +104 -0
  92. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +13 -0
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +13 -0
  94. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +13 -0
  95. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +13 -0
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +13 -0
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +13 -0
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +45 -0
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +43 -0
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +46 -0
  101. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +44 -0
  102. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +22 -0
  103. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +46 -0
  104. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +46 -0
  105. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +45 -0
  106. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +45 -0
  107. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +45 -0
  108. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +20 -0
  109. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +43 -0
  110. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +45 -0
  111. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +18 -0
  112. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +32 -0
  113. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +46 -0
  114. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +44 -0
  115. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +43 -0
  116. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +43 -0
  117. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +45 -0
  118. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +43 -0
  119. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +266 -0
  120. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +26 -0
  121. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +22 -0
  122. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +18 -0
  123. package/dist/stores/editor.d.ts +1 -1
  124. package/dist/stores/editor.js +4 -4
  125. package/dist/utils/htmlCompiler.d.ts +12 -0
  126. package/dist/utils/htmlCompiler.js +70 -0
  127. package/dist/utils/tooltipUtils.d.ts +2 -0
  128. package/dist/utils/tooltipUtils.js +9 -0
  129. package/package.json +4 -1
  130. package/dist/components/organisms/save-template/SaveTemplateModal.vue.d.ts +0 -16
  131. package/dist/components/organisms/save-template/SaveTemplateModal.vue.js +0 -20
  132. package/dist/components/organisms/save-template/SaveTemplateModal.vue2.js +0 -78
  133. package/dist/components/wrappers/ModalWrapper.vue.d.ts +0 -72
  134. package/dist/components/wrappers/ModalWrapper.vue.js +0 -19
  135. package/dist/components/wrappers/ModalWrapper.vue2.js +0 -43
  136. package/dist/composables/useSaveAsTemplate.d.ts +0 -7
  137. package/dist/composables/useSaveAsTemplate.js +0 -51
  138. package/dist/composables/useTemplateNameValidation.d.ts +0 -7
  139. package/dist/composables/useTemplateNameValidation.js +0 -33
  140. package/dist/mock/api/template-library.d.ts +0 -2
  141. package/dist/stores/template-categories.d.ts +0 -41
  142. package/dist/stores/template-categories.js +0 -91
  143. package/dist/utils/base64.d.ts +0 -2
  144. package/dist/utils/base64.js +0 -14
  145. package/dist/utils/generic.d.ts +0 -1
  146. package/dist/utils/generic.js +0 -7
  147. package/dist/utils/textUtil.d.ts +0 -2
@@ -1,23 +1,32 @@
1
- import { useCustomInterfaceAppearance as m } from "./useCustomInterfaceAppearance.js";
2
- import { useToaster as g } from "./useToaster.js";
1
+ import { useActionsApi as m } from "./useActionsApi.js";
2
+ import { useCustomInterfaceAppearance as g } from "./useCustomInterfaceAppearance.js";
3
+ import { useToaster as f } from "./useToaster.js";
3
4
  import { displayConditions as E } from "../enums/displayConditions.js";
4
- import { useStripoApi as S } from "../services/stripoApi.js";
5
- import { useEditorStore as w } from "../stores/editor.js";
6
- const F = (c) => {
7
- const { handleError: d } = g(), { getToken: a, getCustomFonts: u } = S(), l = (e, i = []) => {
8
- const r = w(), { html: t, css: n } = e;
5
+ import S from "../extensions/DynamicContent/extension.js";
6
+ import { useStripoApi as y } from "../services/stripoApi.js";
7
+ import { useEditorStore as C } from "../stores/editor.js";
8
+ const x = (a) => {
9
+ const { handleError: d } = f(), { getToken: c, getCustomFonts: u } = y(), l = (e, r = []) => {
10
+ const i = C(), { html: t, css: s } = e;
9
11
  window.UIEditor.initEditor(
10
12
  document.querySelector("#guido-editor"),
11
13
  {
12
- metadata: c,
14
+ metadata: a,
13
15
  html: t,
14
- css: n,
16
+ css: s,
15
17
  locale: "en",
16
18
  undoButtonSelector: "#guido__undo-button",
17
19
  redoButtonSelector: "#guido__redo-button",
18
20
  mobileViewButtonSelector: ".guido__view-option-selection-mobile",
19
21
  desktopViewButtonSelector: ".guido__view-option-selection-desktop",
20
22
  codeEditorButtonSelector: "#guido__code-button",
23
+ customAppearanceMergetags: !0,
24
+ customAppearanceMergetagsBorderColor: "#f1f3fe",
25
+ customAppearanceMergetagsBackgroundColor: "#f1f3fe",
26
+ customViewStyles: `
27
+ .esd-x, .esd-merge-tag {color: #0a2ecc !important; box-shadow: none !important;}
28
+ .esd-merge-tag {border: 1px solid #b5c1f1; border-radius: 4px !important;}
29
+ `,
21
30
  conditionsEnabled: !0,
22
31
  customConditionsEnabled: !0,
23
32
  conditionCategories: E,
@@ -25,55 +34,57 @@ const F = (c) => {
25
34
  editorFonts: {
26
35
  showDefaultStandardFonts: !0,
27
36
  showDefaultNotStandardFonts: !0,
28
- customFonts: i
37
+ customFonts: r
29
38
  },
30
39
  async onTokenRefreshRequest(o) {
31
40
  try {
32
- const s = await a();
33
- o(s);
34
- } catch (s) {
35
- d(s, "Failed to refresh token");
41
+ const n = await c();
42
+ o(n);
43
+ } catch (n) {
44
+ d(n, "Failed to refresh token");
36
45
  }
37
46
  },
38
47
  onTemplateLoaded() {
39
48
  try {
40
- const { importCss: o } = m();
41
- o();
49
+ const { importCss: o } = g(), { activateCustomViewStyles: n } = m();
50
+ o(), n();
42
51
  } catch (o) {
43
52
  d(o, "Failed to load custom interface appearance");
44
53
  }
45
54
  },
46
55
  onCodeEditorVisibilityChanged(o) {
47
- r.isCodeEditorOpen = o;
56
+ i.isCodeEditorOpen = o;
48
57
  },
49
58
  onEditorVisualModeChanged(o) {
50
- r.editorVisualMode = o.toLowerCase();
59
+ i.editorVisualMode = o.toLowerCase();
51
60
  },
52
61
  onVersionHistoryVisibilityChanged(o) {
53
- r.isVersionHistoryOpen = o;
54
- }
62
+ i.isVersionHistoryOpen = o;
63
+ },
64
+ ignoreClickOutsideSelectors: ["#guido-dynamic-content-modal"],
65
+ extensions: [S]
55
66
  }
56
67
  );
57
- }, p = (e) => new Promise((i, r) => {
68
+ }, p = (e) => new Promise((r, i) => {
58
69
  if (document.getElementById("UiEditorScript")) {
59
- e(), i();
70
+ e(), r();
60
71
  return;
61
72
  }
62
73
  const t = document.createElement("script");
63
74
  t.id = "UiEditorScript", t.type = "module", t.src = "https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js", t.onload = () => {
64
- e(), i();
75
+ e(), r();
65
76
  }, t.onerror = () => {
66
- const n = new Error("Failed to load Stripo UIEditor script");
67
- r(n);
77
+ const s = new Error("Failed to load Stripo UIEditor script");
78
+ i(s);
68
79
  }, document.body.appendChild(t);
69
80
  });
70
81
  return { initPlugin: async (e) => {
71
82
  await p(async () => {
72
- const i = await u();
73
- l(e, i);
83
+ const r = await u();
84
+ l(e, r);
74
85
  });
75
86
  } };
76
87
  };
77
88
  export {
78
- F as useStripo
89
+ x as useStripo
79
90
  };
@@ -0,0 +1,2 @@
1
+ import type { CompilerRule } from '@@/Types/html-compiler';
2
+ export declare const defaultHtmlCompilerRules: CompilerRule[];
@@ -0,0 +1,145 @@
1
+ const a = [
2
+ {
3
+ id: "fix-url-encoding-start",
4
+ description: "Replace {%22 with %7B%22 to fix URL encoding",
5
+ type: "replace",
6
+ search: "{%22",
7
+ replacement: "%7B%22",
8
+ replaceAll: !0,
9
+ priority: 10
10
+ },
11
+ {
12
+ id: "fix-url-encoding-end",
13
+ description: "Replace %22} with %22%7D to fix URL encoding",
14
+ type: "replace",
15
+ search: "%22}",
16
+ replacement: "%22%7D",
17
+ replaceAll: !0,
18
+ priority: 10
19
+ },
20
+ {
21
+ id: "fix-tags-start",
22
+ description: "Replace %7B%7B with {{ to fix URL encoding",
23
+ type: "replace",
24
+ search: "%7B%7B",
25
+ replacement: "{{",
26
+ replaceAll: !0,
27
+ priority: 11
28
+ },
29
+ {
30
+ id: "fix-tags-end",
31
+ description: "Replace %7D%7D with }} to fix URL encoding",
32
+ type: "replace",
33
+ search: "%7D%7D",
34
+ replacement: "}}",
35
+ replaceAll: !0,
36
+ priority: 12
37
+ },
38
+ {
39
+ id: "unescape-inequality-operators-start",
40
+ description: "Replace &lt; with < to fix URL encoding",
41
+ type: "replace",
42
+ search: "&lt;",
43
+ replacement: "<",
44
+ replaceAll: !0,
45
+ priority: 13
46
+ },
47
+ {
48
+ id: "unescape-inequality-operators-end",
49
+ description: "Replace &gt; with > to fix URL encoding",
50
+ type: "replace",
51
+ search: "&gt;",
52
+ replacement: ">",
53
+ replaceAll: !0,
54
+ priority: 14
55
+ },
56
+ {
57
+ id: "remove-apty-iframe",
58
+ description: "Cleanup Apty Iframe Code",
59
+ type: "remove",
60
+ targets: [
61
+ '<iframe src="about:blank" id="letznav-iframe-script" allowtransparency="true" style="width:1px;height:1px"></iframe>',
62
+ 'src="about:blank" id="letznav-iframe-script" allowtransparency="true" style="width:1px;height:1px"></iframe>'
63
+ ],
64
+ priority: 20
65
+ },
66
+ {
67
+ id: "remove-apty-styles",
68
+ description: "Removing Apty Styles",
69
+ type: "regex",
70
+ pattern: '<styles*data-styles="apty_styles"s* type="text/css"s*>((s|.)*?)</style>',
71
+ replacement: "",
72
+ flags: "g",
73
+ priority: 21
74
+ },
75
+ {
76
+ id: "remove-mso-conditions",
77
+ description: "Removing MSO Conditions",
78
+ type: "remove",
79
+ targets: [
80
+ /<!--\[if\s\(mso 16\)\]>\s*<style\s*\S*>\s*a\s*\{\s*text-decoration\s*:\s*none\s*;*\s*\}\s*<\/style>\s*<!\[endif\]-->/g,
81
+ /<!--\[if\sgte mso 9\]>\s*<style\s*\S*>\s*sup\s*\{\s*font-size\s*:\s*100%\s*!important\s*;*\s*\}\s*<\/style>\s*<!\[endif\]-->/g,
82
+ /<!--\[if\sgte mso 9\]>\s*<noscript>\s*<xml>\s*<o:OfficeDocumentSettings>\s*<o:AllowPNG>\s*<\/o:AllowPNG>\s*<o:PixelsPerInch>\d+<\/o:PixelsPerInch>\s*<\/o:OfficeDocumentSettings>\s*<\/xml>\s*<\/noscript>\s*<!\[endif\]-->/g,
83
+ /<!--\[if mso\]>\s*<xml>\s*<w:WordDocument\s+xmlns:w="urn:schemas-microsoft-com:office:word">\s*<w:DontUseAdvancedTypographyReadingMail><\/w:DontUseAdvancedTypographyReadingMail>\s*<\/w:WordDocument>\s*<\/xml>\s*<!\[endif\]-->/g,
84
+ /<\!--\[if \!mso\]><\!--\s*\d*\s*-->\s*<\!--\[if \!mso\]><\!--\s*\d*\s*-->\s*<\!--<!\[endif\]-->/g,
85
+ /<!--\[if\s\!mso\]>\s*<!-- \d -->/g
86
+ ],
87
+ priority: 22
88
+ },
89
+ {
90
+ id: "add-mso-conditions",
91
+ description: "Adding MSO Conditions",
92
+ type: "custom",
93
+ processor: (e) => {
94
+ const t = [
95
+ `<!--[if gte mso 9]>
96
+ <style>sup {
97
+ font-size: 100% !important;
98
+ }</style><![endif]-->`,
99
+ `<!--[if gte mso 9]>
100
+ <noscript>
101
+ <xml>
102
+ <o:OfficeDocumentSettings>
103
+ <o:AllowPNG></o:AllowPNG>
104
+ <o:PixelsPerInch>96</o:PixelsPerInch>
105
+ </o:OfficeDocumentSettings>
106
+ </xml>
107
+ </noscript><![endif]-->`,
108
+ `<!--[if mso]>
109
+ <xml>
110
+ <w:WordDocument xmlns:w="urn:schemas-microsoft-com:office:word">
111
+ <w:DontUseAdvancedTypographyReadingMail></w:DontUseAdvancedTypographyReadingMail>
112
+ </w:WordDocument>
113
+ </xml><![endif]-->`
114
+ ], s = /<head>([\S\s]*)<\/head>/, o = new RegExp(s);
115
+ if (!e.match(o))
116
+ return e;
117
+ let i = e;
118
+ return t.forEach((r) => {
119
+ i = i.replace("</head>", `${r}</head>`);
120
+ }), i;
121
+ },
122
+ priority: 30
123
+ },
124
+ {
125
+ id: "replace-old-image-domain",
126
+ description: "Replacing old image domains",
127
+ type: "replace",
128
+ search: "stripo-editor-image.s3-eu-west-1.amazonaws.com",
129
+ replacement: "email-static.useinsider.com",
130
+ replaceAll: !0,
131
+ priority: 40
132
+ },
133
+ {
134
+ id: "replace-old-v2-image-domain",
135
+ description: "Replacing old image domains",
136
+ type: "replace",
137
+ search: "email.static.useinsider.com",
138
+ replacement: "email-static.useinsider.com",
139
+ replaceAll: !0,
140
+ priority: 41
141
+ }
142
+ ];
143
+ export {
144
+ a as defaultHtmlCompilerRules
145
+ };
File without changes
@@ -0,0 +1,6 @@
1
+ import type { DynamicContent } from '@@/Types/generic';
2
+ export declare class ExternalMergeTagsLibrary {
3
+ selectedDynamicContent: DynamicContent | null;
4
+ dataSelectCallback: (data: DynamicContent) => void;
5
+ openMergeTagsLibrary(dynamicContent: DynamicContent, onDataSelectCallback: (data: DynamicContent) => void): void;
6
+ }
@@ -0,0 +1,27 @@
1
+ var i = Object.defineProperty;
2
+ var d = (t, e, n) => e in t ? i(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var a = (t, e, n) => d(t, typeof e != "symbol" ? e + "" : e, n);
4
+ class y {
5
+ constructor() {
6
+ a(this, "selectedDynamicContent", null);
7
+ a(this, "dataSelectCallback", () => {
8
+ });
9
+ }
10
+ openMergeTagsLibrary(e, n) {
11
+ this.dataSelectCallback = n, this.selectedDynamicContent = e;
12
+ const s = new CustomEvent("dynamic-content:open", {
13
+ detail: {
14
+ attribute: e
15
+ }
16
+ });
17
+ document.dispatchEvent(s);
18
+ const o = (l) => {
19
+ const c = l.detail;
20
+ this.selectedDynamicContent = c, c.text && c.value && this.dataSelectCallback(c), document.removeEventListener("dynamic-content:close", o);
21
+ };
22
+ document.addEventListener("dynamic-content:close", o);
23
+ }
24
+ }
25
+ export {
26
+ y as ExternalMergeTagsLibrary
27
+ };
@@ -0,0 +1,24 @@
1
+ const n = `
2
+ #guido__btn-add-dynamic-content {
3
+ background-color: transparent;
4
+ }
5
+
6
+ #guido__btn-add-dynamic-content > button {
7
+ color: var(--guido-color-primary-500);
8
+ background-color: transparent;
9
+ box-shadow: none;
10
+ padding: 0;
11
+ border: none;
12
+ }
13
+
14
+ #guido__btn-add-dynamic-content > button:hover {
15
+ text-decoration: underline;
16
+ }
17
+
18
+ .color-primary {
19
+ color: var(--guido-color-primary-500) !important;
20
+ }
21
+ `;
22
+ export {
23
+ n as default
24
+ };
@@ -0,0 +1,16 @@
1
+ import { UIElementType, UIElement, UIElementTagRegistry } from '@stripoinc/ui-editor-extensions';
2
+ export declare class DynamicContentTagRegistry extends UIElementTagRegistry {
3
+ registerUiElements(uiElementsTagsMap: Record<UIElementType, string>): void;
4
+ }
5
+ export declare class DynamicContentUiElementExtension extends UIElement {
6
+ private mergeTagsButton;
7
+ private listener;
8
+ private mergeTagsLibrary;
9
+ private selectedDynamicContent;
10
+ getId(): string;
11
+ onRender(container: HTMLElement): void;
12
+ onDestroy(): void;
13
+ _onClick(): void;
14
+ openMergeTagLibrary(): void;
15
+ getTemplate(): string;
16
+ }
@@ -0,0 +1,63 @@
1
+ var l = Object.defineProperty;
2
+ var o = (i, t, e) => t in i ? l(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
+ var r = (i, t, e) => o(i, typeof t != "symbol" ? t + "" : t, e);
4
+ import { d as n } from "../../_virtual/index.js";
5
+ import { ExternalMergeTagsLibrary as c } from "./dynamic-content-modal.js";
6
+ const a = "external-dynamic-content-ui-element", m = "button-add-dynamic-content";
7
+ class d extends n.UIElementTagRegistry {
8
+ registerUiElements(t) {
9
+ t[n.UIElementType.MERGETAGS] = a;
10
+ }
11
+ }
12
+ class b extends n.UIElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ r(this, "mergeTagsButton", null);
16
+ r(this, "listener", () => {
17
+ });
18
+ r(this, "mergeTagsLibrary", null);
19
+ r(this, "selectedDynamicContent", { value: "", text: "" });
20
+ }
21
+ getId() {
22
+ return a;
23
+ }
24
+ onRender(e) {
25
+ var s;
26
+ this.listener = this._onClick.bind(this), this.mergeTagsButton = e.querySelector("#guido__btn-add-dynamic-content"), (s = this.mergeTagsButton) == null || s.addEventListener("click", this.listener);
27
+ }
28
+ onDestroy() {
29
+ var e;
30
+ (e = this.mergeTagsButton) == null || e.removeEventListener("click", this.listener);
31
+ }
32
+ _onClick() {
33
+ this.openMergeTagLibrary();
34
+ }
35
+ openMergeTagLibrary() {
36
+ this.mergeTagsLibrary || (this.mergeTagsLibrary = new c()), this.mergeTagsLibrary.openMergeTagsLibrary(
37
+ this.selectedDynamicContent,
38
+ (e) => {
39
+ this.api.onValueChanged({
40
+ label: e.fallback ? `${e.text} | ${e.fallback}` : e.text,
41
+ value: e.fallback ? `{{${e.value}|${e.fallback}}}` : `{{${e.value}}}`
42
+ });
43
+ }
44
+ );
45
+ }
46
+ getTemplate() {
47
+ return `
48
+ <div>
49
+ <${n.UIElementType.BUTTON}
50
+ id="guido__btn-add-dynamic-content"
51
+ class="btn btn-primary"
52
+ ${n.UEAttr.BUTTON.name}="${m}">
53
+ <${n.UIElementType.ICON} src="plus" class="icon icon-button color-primary">
54
+ </${n.UIElementType.ICON}>
55
+ ${this.api.translate("Add Dynamic Content")}
56
+ </${n.UIElementType.BUTTON}>
57
+ </div>`;
58
+ }
59
+ }
60
+ export {
61
+ d as DynamicContentTagRegistry,
62
+ b as DynamicContentUiElementExtension
63
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@stripoinc/ui-editor-extensions").Extension;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { d as t } from "../../_virtual/index.js";
2
+ import { DynamicContentUiElementExtension as n, DynamicContentTagRegistry as i } from "./dynamic-content.js";
3
+ import e from "./dynamic-content.css.js";
4
+ const s = new t.ExtensionBuilder().addUiElement(n).withStyles(e).withLocalization({
5
+ en: {
6
+ "Add Dynamic Content": "Add Dynamic Content"
7
+ }
8
+ }).withUiElementTagRegistry(i).build();
9
+ export {
10
+ s as default
11
+ };
package/dist/guido.css CHANGED
@@ -1 +1 @@
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-69c35c60],.guido-editor__container[data-v-69c35c60]{width:100%;height:calc(100vh - 75px)}
1
+ .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-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-89423288],.guido-editor__container[data-v-89423288]{width:100%;height:calc(100vh - 75px)}
@@ -0,0 +1,51 @@
1
+ import { __exports as e } from "../../../../_virtual/Extension.js";
2
+ var o;
3
+ function m() {
4
+ if (o) return e;
5
+ o = 1, Object.defineProperty(e, "__esModule", { value: !0 }), e.Extension = void 0;
6
+ var a = (
7
+ /** @class */
8
+ function() {
9
+ function t(u, l, i, y, n, p, r, s, h, g, c, f, x, E, d) {
10
+ i === void 0 && (i = []), n === void 0 && (n = []), r === void 0 && (r = []), s === void 0 && (s = []), this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = u, this.styles = l, this.previewStyles = c, this.uiElements = i, this.uiElementTagRegistry = y, this.controls = n, this.settingsPanelRegistry = p, this.contextActions = r, this.blocks = s, this.externalSmartElementsLibrary = h, this.externalImageLibrary = g, this.externalAiAssistant = f, this.externalDisplayConditionsLibrary = x, this.externalVideoLibrary = E, this.blocksPanel = d, this.id = Math.random().toString(36).substring(2);
11
+ }
12
+ return t.prototype.getI18n = function() {
13
+ return this.i18n;
14
+ }, t.prototype.getStyles = function() {
15
+ return this.styles;
16
+ }, t.prototype.getPreviewStyles = function() {
17
+ return this.previewStyles;
18
+ }, t.prototype.getUiElements = function() {
19
+ return this.uiElements;
20
+ }, t.prototype.getUiElementTagRegistry = function() {
21
+ return this.uiElementTagRegistry;
22
+ }, t.prototype.getControls = function() {
23
+ return this.controls;
24
+ }, t.prototype.getSettingsPanelRegistry = function() {
25
+ return this.settingsPanelRegistry;
26
+ }, t.prototype.getContextActions = function() {
27
+ return this.contextActions;
28
+ }, t.prototype.getBlocks = function() {
29
+ return this.blocks;
30
+ }, t.prototype.getId = function() {
31
+ return this.id;
32
+ }, t.prototype.getExternalSmartElementsLibrary = function() {
33
+ return this.externalSmartElementsLibrary;
34
+ }, t.prototype.getExternalImageLibrary = function() {
35
+ return this.externalImageLibrary;
36
+ }, t.prototype.getExternalAiAssistant = function() {
37
+ return this.externalAiAssistant;
38
+ }, t.prototype.getExternalDisplayConditionsLibrary = function() {
39
+ return this.externalDisplayConditionsLibrary;
40
+ }, t.prototype.getExternalVideoLibrary = function() {
41
+ return this.externalVideoLibrary;
42
+ }, t.prototype.getBlocksPanel = function() {
43
+ return this.blocksPanel;
44
+ }, t;
45
+ }()
46
+ );
47
+ return e.Extension = a, e;
48
+ }
49
+ export {
50
+ m as __require
51
+ };
@@ -0,0 +1,52 @@
1
+ import { __exports as e } from "../../../../_virtual/ExtensionBuilder.js";
2
+ import { __require as o } from "./Extension.js";
3
+ var n;
4
+ function l() {
5
+ if (n) return e;
6
+ n = 1, Object.defineProperty(e, "__esModule", { value: !0 }), e.ExtensionBuilder = void 0;
7
+ var r = o(), s = (
8
+ /** @class */
9
+ function() {
10
+ function i() {
11
+ this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [];
12
+ }
13
+ return i.prototype.withLocalization = function(t) {
14
+ return this.i18n = t, this;
15
+ }, i.prototype.withStyles = function(t) {
16
+ return this.styles = t, this;
17
+ }, i.prototype.withPreviewStyles = function(t) {
18
+ return this.previewStyles = t, this;
19
+ }, i.prototype.addContextAction = function(t) {
20
+ return this.contextActions.push(t), this;
21
+ }, i.prototype.addUiElement = function(t) {
22
+ return this.uiElements.push(t), this;
23
+ }, i.prototype.withUiElementTagRegistry = function(t) {
24
+ return this.uiElementTagRegistry = t, this;
25
+ }, i.prototype.addControl = function(t) {
26
+ return this.controls.push(t), this;
27
+ }, i.prototype.withSettingsPanelRegistry = function(t) {
28
+ return this.settingsPanelRegistry = t, this;
29
+ }, i.prototype.withExternalSmartElementsLibrary = function(t) {
30
+ return this.externalSmartElementsLibrary = t, this;
31
+ }, i.prototype.withExternalImageLibrary = function(t) {
32
+ return this.externalImageLibrary = t, this;
33
+ }, i.prototype.withExternalAiAssistant = function(t) {
34
+ return this.externalAiAssistant = t, this;
35
+ }, i.prototype.withExternalDisplayCondition = function(t) {
36
+ return this.externalDisplayConditionsLibrary = t, this;
37
+ }, i.prototype.withExternalVideosLibrary = function(t) {
38
+ return this.externalVideoLibrary = t, this;
39
+ }, i.prototype.withBlocksPanel = function(t) {
40
+ return this.blocksPanel = t, this;
41
+ }, i.prototype.addBlock = function(t) {
42
+ return this.blocks.push(t), this;
43
+ }, i.prototype.build = function() {
44
+ return new r.Extension(this.i18n, this.styles, this.uiElements, this.uiElementTagRegistry, this.controls, this.settingsPanelRegistry, this.contextActions, this.blocks, this.externalSmartElementsLibrary, this.externalImageLibrary, this.previewStyles, this.externalAiAssistant, this.externalDisplayConditionsLibrary, this.externalVideoLibrary, this.blocksPanel);
45
+ }, i;
46
+ }()
47
+ );
48
+ return e.ExtensionBuilder = s, e;
49
+ }
50
+ export {
51
+ l as __require
52
+ };
@@ -0,0 +1,41 @@
1
+ import { __exports as o } from "../../../../../_virtual/Block.js";
2
+ import { __require as i } from "../constants/BlockCompositionType.js";
3
+ var n;
4
+ function f() {
5
+ if (n) return o;
6
+ n = 1, Object.defineProperty(o, "__esModule", { value: !0 }), o.Block = void 0;
7
+ var r = i(), u = (
8
+ /** @class */
9
+ function() {
10
+ function e() {
11
+ }
12
+ return e.prototype.isEnabled = function() {
13
+ return !0;
14
+ }, e.prototype.canBeSavedAsModule = function() {
15
+ return !1;
16
+ }, e.prototype.getContextActionsIds = function() {
17
+ }, e.prototype.getCustomRenderer = function() {
18
+ }, e.prototype.getUniqueBlockClassname = function() {
19
+ return "esd-".concat(this.getId());
20
+ }, e.prototype.onDocumentInit = function() {
21
+ }, e.prototype.onSelect = function(t) {
22
+ }, e.prototype.onCopy = function(t, p) {
23
+ }, e.prototype.onDelete = function(t) {
24
+ }, e.prototype.onCreated = function(t) {
25
+ }, e.prototype.onDocumentChanged = function() {
26
+ }, e.prototype.getBlockCompositionType = function() {
27
+ return r.BlockCompositionType.BLOCK;
28
+ }, e.prototype.shouldDisplayQuickAddIcon = function() {
29
+ return !1;
30
+ }, e.prototype.allowInnerBlocksSelection = function() {
31
+ return !0;
32
+ }, e.prototype.allowInnerBlocksDND = function() {
33
+ return !0;
34
+ }, e;
35
+ }()
36
+ );
37
+ return o.Block = u, o;
38
+ }
39
+ export {
40
+ f as __require
41
+ };
@@ -0,0 +1,18 @@
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
+ };
@@ -0,0 +1,32 @@
1
+ import { __exports as t } from "../../../../../_virtual/BlocksPanel.js";
2
+ var o;
3
+ function l() {
4
+ if (o) return t;
5
+ o = 1, Object.defineProperty(t, "__esModule", { value: !0 }), t.BlocksPanel = void 0;
6
+ var r = (
7
+ /** @class */
8
+ function() {
9
+ function e() {
10
+ }
11
+ return e.prototype.getBlockItemHtml = function(n) {
12
+ }, e.prototype.isBlockHintVisible = function(n) {
13
+ return !0;
14
+ }, e.prototype.getBlockHint = function(n) {
15
+ return {
16
+ title: n.title,
17
+ description: n.description
18
+ };
19
+ }, e.prototype.getBlocksPanelHeaderHtml = function() {
20
+ }, e.prototype.getModulesPanelCollapsedHtml = function() {
21
+ }, e.prototype.isModulesPanelCollapsedHintVisible = function() {
22
+ return !0;
23
+ }, e.prototype.getHintDelay = function() {
24
+ }, e.prototype.getModulesPanelHint = function() {
25
+ }, e;
26
+ }()
27
+ );
28
+ return t.BlocksPanel = r, t;
29
+ }
30
+ export {
31
+ l as __require
32
+ };
@@ -0,0 +1,18 @@
1
+ import { __exports as t } from "../../../../../_virtual/ContextAction.js";
2
+ var e;
3
+ function i() {
4
+ if (e) return t;
5
+ e = 1, Object.defineProperty(t, "__esModule", { value: !0 }), t.ContextAction = void 0;
6
+ var n = (
7
+ /** @class */
8
+ /* @__PURE__ */ function() {
9
+ function o() {
10
+ }
11
+ return o;
12
+ }()
13
+ );
14
+ return t.ContextAction = n, t;
15
+ }
16
+ export {
17
+ i as __require
18
+ };
@@ -0,0 +1,8 @@
1
+ import { __exports as e } from "../../../../../_virtual/AddCustomFont.js";
2
+ var r;
3
+ function _() {
4
+ return r ? e : (r = 1, Object.defineProperty(e, "__esModule", { value: !0 }), e.ADD_CUSTOM_FONT_OPTION = void 0, e.ADD_CUSTOM_FONT_OPTION = "ADD_CUSTOM_FONT_OPTION", e);
5
+ }
6
+ export {
7
+ _ as __require
8
+ };