@useinsider/guido 1.0.2-beta.86f7e79 → 1.0.2-beta.91efff4

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 (184) hide show
  1. package/README.md +32 -2
  2. package/dist/@types/generic.d.ts +4 -0
  3. package/dist/components/Guido.vue.d.ts +3 -1
  4. package/dist/components/Guido.vue.js +5 -5
  5. package/dist/components/Guido.vue2.js +75 -63
  6. package/dist/components/organisms/LoadingWrapper.vue.js +1 -1
  7. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +3 -2
  8. package/dist/components/organisms/header/HeaderWrapper.vue.d.ts +3 -1
  9. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -6
  10. package/dist/components/organisms/header/HeaderWrapper.vue2.js +15 -9
  11. package/dist/components/organisms/header/RightSlot.vue.d.ts +3 -1
  12. package/dist/components/organisms/header/RightSlot.vue.js +5 -3
  13. package/dist/components/organisms/header/RightSlot.vue2.js +26 -27
  14. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +11 -11
  15. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +1 -1
  16. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +8 -8
  17. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +1 -1
  18. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +40 -28
  19. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +6 -6
  20. package/dist/composables/useCustomInterfaceAppearance.js +22 -18
  21. package/dist/composables/useHtmlCompiler.js +17 -9
  22. package/dist/composables/useHtmlValidator.d.ts +4 -0
  23. package/dist/composables/useHtmlValidator.js +139 -0
  24. package/dist/composables/useRecommendation.d.ts +19 -0
  25. package/dist/composables/useRecommendation.js +27 -0
  26. package/dist/composables/useSave.d.ts +4 -0
  27. package/dist/composables/useSave.js +15 -0
  28. package/dist/composables/useStripo.js +40 -36
  29. package/dist/composables/useToaster.js +17 -17
  30. package/dist/config/compiler/outlookCompilerRules.d.ts +2 -0
  31. package/dist/config/compiler/outlookCompilerRules.js +36 -0
  32. package/dist/config/compiler/recommendationCompilerRules.d.ts +2 -0
  33. package/dist/config/compiler/recommendationCompilerRules.js +83 -0
  34. package/dist/config/compiler/socialCompilerRules.d.ts +2 -0
  35. package/dist/config/compiler/socialCompilerRules.js +21 -0
  36. package/dist/config/compiler/unsubscribeCompilerRules.d.ts +2 -0
  37. package/dist/config/compiler/unsubscribeCompilerRules.js +64 -0
  38. package/dist/config/migrator/checkboxMigrator.d.ts +1 -0
  39. package/dist/config/migrator/checkboxMigrator.js +83 -0
  40. package/dist/config/migrator/index.d.ts +1 -0
  41. package/dist/config/migrator/index.js +5 -0
  42. package/dist/enums/defaults.d.ts +5 -1
  43. package/dist/enums/defaults.js +14 -10
  44. package/dist/enums/html-validator.d.ts +6 -0
  45. package/dist/enums/html-validator.js +7 -0
  46. package/dist/enums/recommendation.d.ts +54 -0
  47. package/dist/enums/recommendation.js +56 -0
  48. package/dist/enums/unsubscribe.d.ts +15 -0
  49. package/dist/enums/unsubscribe.js +17 -0
  50. package/dist/extensions/Blocks/Checkbox/block.d.ts +10 -0
  51. package/dist/extensions/Blocks/Checkbox/block.js +39 -0
  52. package/dist/extensions/Blocks/Checkbox/control.d.ts +22 -0
  53. package/dist/extensions/Blocks/Checkbox/control.js +104 -0
  54. package/dist/extensions/Blocks/Checkbox/extension.d.ts +2 -0
  55. package/dist/extensions/Blocks/Checkbox/extension.js +20 -0
  56. package/dist/extensions/Blocks/Checkbox/settingsPanel.d.ts +4 -0
  57. package/dist/extensions/Blocks/Checkbox/settingsPanel.js +38 -0
  58. package/dist/extensions/Blocks/Checkbox/template.d.ts +6 -0
  59. package/dist/extensions/Blocks/Checkbox/template.js +75 -0
  60. package/dist/extensions/Blocks/CouponBlock/block.d.ts +11 -0
  61. package/dist/extensions/Blocks/CouponBlock/block.js +42 -0
  62. package/dist/extensions/Blocks/CouponBlock/extension.d.ts +2 -0
  63. package/dist/extensions/Blocks/CouponBlock/extension.js +19 -0
  64. package/dist/extensions/Blocks/CouponBlock/settingsPanel.d.ts +4 -0
  65. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +37 -0
  66. package/dist/extensions/Blocks/CouponBlock/template.d.ts +3 -0
  67. package/dist/extensions/Blocks/CouponBlock/template.js +13 -0
  68. package/dist/extensions/Blocks/_Boilerplate/block.d.ts +10 -0
  69. package/dist/extensions/Blocks/_Boilerplate/control.d.ts +17 -0
  70. package/dist/extensions/Blocks/_Boilerplate/extension.d.ts +2 -0
  71. package/dist/extensions/Blocks/_Boilerplate/settingsPanel.d.ts +4 -0
  72. package/dist/extensions/Blocks/_Boilerplate/template.d.ts +6 -0
  73. package/dist/extensions/DynamicContent/dynamic-content.js +41 -27
  74. package/dist/extensions/DynamicContent/extension.js +18 -6
  75. package/dist/guido.css +1 -1
  76. package/dist/icons/coupon.svg +3 -0
  77. package/dist/mock/api/unsubscribe.d.ts +2 -0
  78. package/dist/mock/api/validator.d.ts +2 -0
  79. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/Extension.js +72 -48
  80. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ExtensionBuilder.js +74 -49
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/Block.js +120 -38
  82. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AiAssistantValueType.js +5 -11
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockCompositionType.js +5 -11
  84. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockName.js +12 -0
  85. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockType.js +5 -11
  86. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BuiltInControlTypes.js +116 -101
  87. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/ContextActionType.js +5 -11
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/EditorStatePropertyType.js +5 -11
  89. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PanelPosition.js +5 -11
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/Popover.js +12 -0
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/PreviewDeviceMode.js +5 -11
  92. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/SettingsTab.js +5 -11
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementType.js +5 -11
  94. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/UIElementsAttributes.js +22 -43
  95. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/Control.js +21 -17
  96. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelRegistry.js +8 -15
  97. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/SettingsPanelTab.js +30 -29
  98. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/modifications/ModificationDescription.js +19 -23
  99. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElement.js +37 -19
  100. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/ui-elements/UIElementTagRegistry.js +2 -15
  101. package/dist/static/styles/components/alert-message.css.js +32 -2
  102. package/dist/static/styles/components/button.css.js +32 -2
  103. package/dist/static/styles/components/notification.css.js +55 -0
  104. package/dist/static/styles/components/popup.css.js +68 -0
  105. package/dist/static/styles/components/wide-panel.css.js +5 -1
  106. package/dist/static/styles/customEditorStyle.css.js +6 -0
  107. package/dist/static/styles/variables.css.js +10 -0
  108. package/dist/stores/dynamic-content.d.ts +12 -0
  109. package/dist/stores/dynamic-content.js +7 -6
  110. package/dist/stores/recommendation.d.ts +10 -0
  111. package/dist/stores/recommendation.js +9 -0
  112. package/dist/stores/unsubscribe.d.ts +8 -0
  113. package/dist/stores/unsubscribe.js +9 -0
  114. package/dist/utils/genericUtil.d.ts +5 -0
  115. package/dist/utils/genericUtil.js +9 -6
  116. package/dist/utils/templatePreparation.js +21 -14
  117. package/package.json +2 -2
  118. package/dist/_virtual/AddCustomFont.js +0 -4
  119. package/dist/_virtual/AiAssistantValueType.js +0 -4
  120. package/dist/_virtual/BackgroundColorBuiltInControl.js +0 -4
  121. package/dist/_virtual/BackgroundImageBuiltInControl.js +0 -4
  122. package/dist/_virtual/Block.js +0 -4
  123. package/dist/_virtual/BlockAttributes.js +0 -4
  124. package/dist/_virtual/BlockCompositionType.js +0 -4
  125. package/dist/_virtual/BlockPaddingsBuiltInControl.js +0 -4
  126. package/dist/_virtual/BlockRenderer.js +0 -4
  127. package/dist/_virtual/BlockType.js +0 -4
  128. package/dist/_virtual/BlocksPanel.js +0 -4
  129. package/dist/_virtual/BuiltInControl.js +0 -4
  130. package/dist/_virtual/BuiltInControlTypes.js +0 -4
  131. package/dist/_virtual/ButtonBorderBuiltInControl.js +0 -4
  132. package/dist/_virtual/ButtonColorBuiltInControl.js +0 -4
  133. package/dist/_virtual/ButtonFontColorBuiltInControl.js +0 -4
  134. package/dist/_virtual/ButtonInternalIndentsBuiltInControl.js +0 -4
  135. package/dist/_virtual/ButtonTextBuiltInControl.js +0 -4
  136. package/dist/_virtual/ContextAction.js +0 -4
  137. package/dist/_virtual/ContextActionType.js +0 -4
  138. package/dist/_virtual/Control.js +0 -4
  139. package/dist/_virtual/EditorStatePropertyType.js +0 -4
  140. package/dist/_virtual/Extension.js +0 -4
  141. package/dist/_virtual/ExtensionBuilder.js +0 -4
  142. package/dist/_virtual/FontFamilyBuiltInControl.js +0 -4
  143. package/dist/_virtual/LinkColorBuiltInControl.js +0 -4
  144. package/dist/_virtual/ModificationDescription.js +0 -4
  145. package/dist/_virtual/PanelPosition.js +0 -4
  146. package/dist/_virtual/PreviewDeviceMode.js +0 -4
  147. package/dist/_virtual/SettingsPanelRegistry.js +0 -4
  148. package/dist/_virtual/SettingsPanelTab.js +0 -4
  149. package/dist/_virtual/SettingsTab.js +0 -4
  150. package/dist/_virtual/StructureBorderBuiltInControl.js +0 -4
  151. package/dist/_virtual/StructurePaddingsBuiltInControl.js +0 -4
  152. package/dist/_virtual/TextColorBuiltInControl.js +0 -4
  153. package/dist/_virtual/TextLineSpacingBuiltInControl.js +0 -4
  154. package/dist/_virtual/TextSizeBuiltInControl.js +0 -4
  155. package/dist/_virtual/TextStyleBuiltInControl.js +0 -4
  156. package/dist/_virtual/UIElement.js +0 -4
  157. package/dist/_virtual/UIElementTagRegistry.js +0 -4
  158. package/dist/_virtual/UIElementType.js +0 -4
  159. package/dist/_virtual/UIElementsAttributes.js +0 -4
  160. package/dist/_virtual/index.js +0 -5
  161. package/dist/_virtual/index2.js +0 -4
  162. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlockRenderer.js +0 -18
  163. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/BlocksPanel.js +0 -32
  164. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/blocks/ContextAction.js +0 -18
  165. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/AddCustomFont.js +0 -8
  166. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/constants/BlockAttributes.js +0 -34
  167. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundColorBuiltInControl.js +0 -43
  168. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BackgroundImageBuiltInControl.js +0 -46
  169. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BlockPaddingsBuiltInControl.js +0 -44
  170. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/BuiltInControl.js +0 -22
  171. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonBorderBuiltInControl.js +0 -46
  172. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonColorBuiltInControl.js +0 -46
  173. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonFontColorBuiltInControl.js +0 -45
  174. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonInternalIndentsBuiltInControl.js +0 -45
  175. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/ButtonTextBuiltInControl.js +0 -45
  176. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/FontFamilyBuiltInControl.js +0 -43
  177. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/LinkColorBuiltInControl.js +0 -45
  178. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructureBorderBuiltInControl.js +0 -46
  179. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/StructurePaddingsBuiltInControl.js +0 -44
  180. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextColorBuiltInControl.js +0 -43
  181. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextLineSpacingBuiltInControl.js +0 -43
  182. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextSizeBuiltInControl.js +0 -45
  183. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/controls/TextStyleBuiltInControl.js +0 -43
  184. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/index.js +0 -266
@@ -1,26 +1,22 @@
1
- import { __exports as i } from "../../../../../_virtual/ModificationDescription.js";
2
- var r;
3
- function a() {
4
- if (r) return i;
5
- r = 1, Object.defineProperty(i, "__esModule", { value: !0 }), i.ModificationDescription = void 0;
6
- var e = (
7
- /** @class */
8
- (function() {
9
- function t(o) {
10
- this.key = o;
11
- }
12
- return t.prototype.withParams = function(o) {
13
- return this.params = o, this;
14
- }, t.prototype.getValue = function() {
15
- return {
16
- key: this.key,
17
- params: this.params
18
- };
19
- }, t;
20
- })()
21
- );
22
- return i.ModificationDescription = e, i;
1
+ var i = Object.defineProperty;
2
+ var e = (t, s, a) => s in t ? i(t, s, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[s] = a;
3
+ var r = (t, s, a) => e(t, typeof s != "symbol" ? s + "" : s, a);
4
+ class o {
5
+ constructor(s) {
6
+ r(this, "key");
7
+ r(this, "params");
8
+ this.key = s;
9
+ }
10
+ withParams(s) {
11
+ return this.params = s, this;
12
+ }
13
+ getValue() {
14
+ return {
15
+ key: this.key,
16
+ params: this.params
17
+ };
18
+ }
23
19
  }
24
20
  export {
25
- a as __require
21
+ o as ModificationDescription
26
22
  };
@@ -1,22 +1,40 @@
1
- import { __exports as t } from "../../../../../_virtual/UIElement.js";
2
- var n;
3
- function l() {
4
- if (n) return t;
5
- n = 1, Object.defineProperty(t, "__esModule", { value: !0 }), t.UIElement = void 0;
6
- var r = (
7
- /** @class */
8
- (function() {
9
- function e() {
10
- }
11
- return e.prototype.onDestroy = function() {
12
- }, e.prototype.getValue = function() {
13
- }, e.prototype.setValue = function(o) {
14
- }, e.prototype.onAttributeUpdated = function(o, u) {
15
- }, e;
16
- })()
17
- );
18
- return t.UIElement = r, t;
1
+ var u = Object.defineProperty;
2
+ var n = (t, e, a) => e in t ? u(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a;
3
+ var l = (t, e, a) => n(t, typeof e != "symbol" ? e + "" : e, a);
4
+ class s {
5
+ constructor() {
6
+ /** Provides access to editor functionalities specific to this UI element instance. */
7
+ l(this, "api");
8
+ }
9
+ /**
10
+ * Optional cleanup hook called when the UI element is being destroyed.
11
+ * Use this to remove event listeners or perform other cleanup tasks.
12
+ */
13
+ onDestroy() {
14
+ }
15
+ /**
16
+ * Optional method to get the current value of the UI element.
17
+ * Implement this if the element manages a state or value (e.g., input fields).
18
+ * @returns The current value of the element.
19
+ */
20
+ getValue() {
21
+ }
22
+ /**
23
+ * Optional method to set the value of the UI element.
24
+ * Implement this if the element manages a state or value and needs to be updated externally.
25
+ * @param value - The new value to set.
26
+ */
27
+ setValue(e) {
28
+ }
29
+ /**
30
+ * @description Optional hook called when one of the element's supported attributes ({@link UEAttr}) gets updated externally.
31
+ * Implement this to react to attribute changes (e.g., visibility, disabled state).
32
+ * @param name - The name of the attribute that was updated.
33
+ * @param value - The new value of the attribute.
34
+ */
35
+ onAttributeUpdated(e, a) {
36
+ }
19
37
  }
20
38
  export {
21
- l as __require
39
+ s as UIElement
22
40
  };
@@ -1,18 +1,5 @@
1
- import { __exports as e } from "../../../../../_virtual/UIElementTagRegistry.js";
2
- var r;
3
- function g() {
4
- if (r) return e;
5
- r = 1, Object.defineProperty(e, "__esModule", { value: !0 }), e.UIElementTagRegistry = void 0;
6
- var t = (
7
- /** @class */
8
- /* @__PURE__ */ (function() {
9
- function i() {
10
- }
11
- return i;
12
- })()
13
- );
14
- return e.UIElementTagRegistry = t, e;
1
+ class s {
15
2
  }
16
3
  export {
17
- g as __require
4
+ s as UIElementTagRegistry
18
5
  };
@@ -1,4 +1,4 @@
1
- const n = `.alert-message-wrapper {
1
+ const r = `.alert-message-wrapper {
2
2
  box-shadow: none;
3
3
  border: 1px solid var(--guido-color-gray-300);
4
4
  color: var(--guido-color-gray-600);
@@ -16,6 +16,36 @@ const n = `.alert-message-wrapper {
16
16
  color: var(--guido-color-border-onpage-message-info);
17
17
  }
18
18
 
19
+ .alert-message-wrapper.warn {
20
+ background: var(--guido-color-background-onpage-message-warn);
21
+ border-color: var(--guido-color-border-onpage-message-warn);
22
+ color: inherit;
23
+ }
24
+
25
+ .alert-message-wrapper.warn ue-icon-component.icon {
26
+ color: var(--guido-color-border-onpage-message-warn);
27
+ }
28
+
29
+ .alert-message-wrapper.success {
30
+ background: var(--guido-color-background-onpage-message-success);
31
+ border-color: var(--guido-color-border-onpage-message-success);
32
+ color: inherit;
33
+ }
34
+
35
+ .alert-message-wrapper.success ue-icon-component.icon {
36
+ color: var(--guido-color-border-onpage-message-success);
37
+ }
38
+
39
+ .alert-message-wrapper.error {
40
+ background: var(--guido-color-background-onpage-message-error);
41
+ border-color: var(--guido-color-border-onpage-message-error);
42
+ color: inherit;
43
+ }
44
+
45
+ .alert-message-wrapper.error ue-icon-component.icon {
46
+ color: var(--guido-color-border-onpage-message-error);
47
+ }
48
+
19
49
  .alert-message-wrapper ue-button {
20
50
  padding: 0;
21
51
  }
@@ -35,5 +65,5 @@ const n = `.alert-message-wrapper {
35
65
  }
36
66
  `;
37
67
  export {
38
- n as default
68
+ r as default
39
69
  };
@@ -60,8 +60,28 @@ const o = `.control-shadow-wrapper:has(.button) {
60
60
  color: var(--guido-color-primary-500);
61
61
  }
62
62
 
63
- .flat-white > .button:hover:not(:disabled,.disabled) {
64
- color: var(--guido-color-primary-500);
63
+ .primary > .button {
64
+ border: none;
65
+ background-color: var(--guido-color-neutral-200);
66
+ color: var(--guido-color-neutral-800);
67
+ }
68
+
69
+ .primary > .button .icon-button {
70
+ color: var(--guido-color-neutral-800);
71
+ }
72
+
73
+ .primary > .button:hover:not(:disabled,.disabled) {
74
+ background-color: var(--guido-color-neutral-100);
75
+ }
76
+
77
+ .danger > .button {
78
+ background-color: var(--guido-color-danger-500);
79
+ color: var(--guido-color-white);
80
+ border: none;
81
+ }
82
+
83
+ .danger > .button:hover:not(:disabled,.disabled) {
84
+ background-color: var(--guido-color-danger-300);
65
85
  }
66
86
 
67
87
  ue-check-button.checked:not(.flat-white) input:checked + label {
@@ -100,6 +120,16 @@ ue-color {
100
120
  ue-color .base-input {
101
121
  width: 100%;
102
122
  }
123
+
124
+ ue-select-text-input .select-text-input-toggle {
125
+ top: 0;
126
+ right: 0;
127
+ }
128
+
129
+ ue-select-text-input .select-text-input-toggle .button {
130
+ justify-content: center;
131
+ background-color: transparent !important;
132
+ }
103
133
  `;
104
134
  export {
105
135
  o as default
@@ -0,0 +1,55 @@
1
+ const n = `ue-notifications-container {
2
+ left: 96px;
3
+ margin: 0;
4
+ bottom: 32px;
5
+ top: unset;
6
+ width: unset;
7
+ }
8
+
9
+ ue-notifications-container ue-message + ue-message {
10
+ margin-bottom: 24px;
11
+ }
12
+
13
+ ue-notifications-container .alert-message-wrapper {
14
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.07);
15
+ border: none;
16
+ padding: 16px 24px;
17
+ }
18
+
19
+ ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-content {
20
+ width: calc(100% - 64px);
21
+ }
22
+
23
+ ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-text {
24
+ font-size: 15px;
25
+ font-weight: 600;
26
+ }
27
+
28
+ ue-notifications-container .alert-message-text,
29
+ ue-notifications-container .alert-message-wrapper ue-icon-component.icon,
30
+ ue-notifications-container .alert-message-wrapper ue-icon-component.icon-button {
31
+ color: var(--guido-color-white);
32
+ }
33
+
34
+ ue-notifications-container ue-message ue-button.close {
35
+ margin: 0 0 0 16px;
36
+ }
37
+
38
+ ue-notifications-container .alert-message-wrapper.success {
39
+ background: var(--guido-color-background-toaster-success);
40
+ color: inherit;
41
+ }
42
+
43
+ ue-notifications-container .alert-message-wrapper.error {
44
+ background: var(--guido-color-background-toaster-error);
45
+ color: inherit;
46
+ }
47
+
48
+ ue-notifications-container .alert-message-wrapper.warn {
49
+ background: var(--guido-color-background-toaster-warn);
50
+ color: inherit;
51
+ }
52
+ `;
53
+ export {
54
+ n as default
55
+ };
@@ -0,0 +1,68 @@
1
+ const n = `ue-popup {
2
+ -webkit-backdrop-filter: unset;
3
+ backdrop-filter: unset;
4
+ background-color: rgba(44, 53, 70, 0.5);
5
+ }
6
+
7
+ ue-popup .popup-wrapper {
8
+ max-width: 400px;
9
+ border: 1px solid var(--guido-color-neutral-200);
10
+ box-shadow: none;
11
+ background: var(--guido-color-white);
12
+ font-size: 15px;
13
+ line-height: 24px;
14
+ }
15
+
16
+ ue-popup .popup-title {
17
+ padding: 32px 56px 0 32px;
18
+ line-height: 24px;
19
+ font-size: 20px;
20
+ font-weight: 400;
21
+ border-bottom: none;
22
+ }
23
+
24
+ ue-popup .confirmation .confirmation-wrapper {
25
+ padding: 32px;
26
+ gap: 16px;
27
+ }
28
+
29
+ ue-popup .confirmation .confirmation-actions {
30
+ flex-direction: row-reverse;
31
+ justify-content: space-between;
32
+ }
33
+
34
+ ue-popup .danger > .button {
35
+ font-size: 15px;
36
+ padding: 8px 16px;
37
+ }
38
+
39
+ ue-popup .e2e-cancel {
40
+ margin-left: unset;
41
+ }
42
+
43
+ ue-popup .e2e-cancel .button {
44
+ background-color: transparent;
45
+ border: none;
46
+ padding: 8px 0;
47
+ font-size: 15px;
48
+ }
49
+
50
+ ue-popup .e2e-cancel .button:hover:not(:disabled,.disabled) {
51
+ text-decoration: underline;
52
+ background-color: transparent;
53
+ }
54
+
55
+ ue-popup .popup-close {
56
+ top: 32px;
57
+ right: 32px;
58
+ }
59
+
60
+ ue-popup .popup-close .button {
61
+ padding: 0;
62
+ min-width: unset;
63
+ min-height: unset;
64
+ }
65
+ `;
66
+ export {
67
+ n as default
68
+ };
@@ -2,6 +2,10 @@ const n = `ue-wide-panel {
2
2
  width: 425px;
3
3
  }
4
4
 
5
+ ue-main-editor-container[panel-position=SETTINGS_BLOCKS] ue-wide-panel {
6
+ right: calc(100% - calc(var(--ue-spacing-step, 5px) * 3) - 425px);
7
+ }
8
+
5
9
  ue-main-tabs-panel-component .fixed-panel-header {
6
10
  display: none;
7
11
  }
@@ -17,7 +21,7 @@ ue-description a {
17
21
  }
18
22
 
19
23
  .stacked-panel {
20
- overflow: scroll;
24
+ overflow: auto;
21
25
  }
22
26
 
23
27
  .stacked-panel-title {
@@ -12,6 +12,12 @@ const n = `.esd-x,
12
12
  .ue-preview-control-wrapper ue-icon-component:not([disabled=true]):not(.stripo-static-icon):hover {
13
13
  background: none;
14
14
  }
15
+
16
+ .ue-email-wrapper-rounded,
17
+ .ue-email-wrapper-rounded-top {
18
+ border-radius: 0;
19
+ box-shadow: none;
20
+ }
15
21
  `;
16
22
  export {
17
23
  n as default
@@ -12,10 +12,20 @@ const o = `:host {
12
12
  --guido-color-neutral-800: #222938;
13
13
  --guido-color-neutral-200: #DCDFE6;
14
14
  --guido-color-neutral-100: #EFF2F4;
15
+ --guido-color-danger-300: #e84342;
15
16
  --guido-color-danger-500: #DC2A2A;
16
17
  --guido-box-shadow: 0 4px 12px 0 rgba(44,53,70,0.15);
17
18
  --guido-color-background-onpage-message-info: #D3EEF8;
18
19
  --guido-color-border-onpage-message-info: #258DDE;
20
+ --guido-color-background-onpage-message-warn: #FCEFE5;
21
+ --guido-color-border-onpage-message-warn: #D37400;
22
+ --guido-color-background-onpage-message-success: #E9F9EB;
23
+ --guido-color-border-onpage-message-success: #128745;
24
+ --guido-color-background-onpage-message-error: #FCECEC;
25
+ --guido-color-border-onpage-message-error: var(--guido-color-danger-500);
26
+ --guido-color-background-toaster-success: #128745;
27
+ --guido-color-background-toaster-error: var(--guido-color-danger-500);
28
+ --guido-color-background-toaster-warn: #D37400;
19
29
  }
20
30
  `;
21
31
  export {
@@ -8,11 +8,19 @@ export declare const useDynamicContentStore: import("pinia").StoreDefinition<"dy
8
8
  value: string;
9
9
  text: string;
10
10
  fallback?: string | undefined;
11
+ format?: {
12
+ key: string;
13
+ value: string;
14
+ } | undefined;
11
15
  };
12
16
  selectedDynamicContentList: {
13
17
  value: string;
14
18
  text: string;
15
19
  fallback?: string | undefined;
20
+ format?: {
21
+ key: string;
22
+ value: string;
23
+ } | undefined;
16
24
  }[];
17
25
  } & import("pinia").PiniaCustomStateProperties<{
18
26
  selectedDynamicContent: DynamicContent;
@@ -21,6 +29,10 @@ export declare const useDynamicContentStore: import("pinia").StoreDefinition<"dy
21
29
  text: string;
22
30
  value: string;
23
31
  fallback: string | undefined;
32
+ format: {
33
+ key: string;
34
+ value: string;
35
+ } | undefined;
24
36
  }[];
25
37
  }, {
26
38
  setSelectedDynamicContent(dynamicContent: DynamicContent): void;
@@ -6,15 +6,16 @@ const s = a("dynamicContent", {
6
6
  selectedDynamicContentList: []
7
7
  }),
8
8
  actions: {
9
- setSelectedDynamicContent(e) {
10
- this.selectedDynamicContent = e, this.selectedDynamicContentList.push(e);
9
+ setSelectedDynamicContent(t) {
10
+ this.selectedDynamicContent = t, this.selectedDynamicContentList.push(t);
11
11
  }
12
12
  },
13
13
  getters: {
14
- getSelectedDynamicContentList: (e) => n(e.selectedDynamicContentList).map((t) => ({
15
- text: t.text,
16
- value: t.value,
17
- fallback: t.fallback
14
+ getSelectedDynamicContentList: (t) => n(t.selectedDynamicContentList).map((e) => ({
15
+ text: e.text,
16
+ value: e.value,
17
+ fallback: e.fallback,
18
+ format: e.format
18
19
  })) || []
19
20
  }
20
21
  });
@@ -0,0 +1,10 @@
1
+ type RecommendationConfig = {
2
+ filters: {
3
+ value: string;
4
+ }[];
5
+ };
6
+ interface StoreState {
7
+ recommendationConfigs: RecommendationConfig[];
8
+ }
9
+ export declare const useRecommendationStore: import("pinia").StoreDefinition<"recommendation", StoreState, {}, {}>;
10
+ export {};
@@ -0,0 +1,9 @@
1
+ import { defineStore as e } from "pinia";
2
+ const t = () => ({
3
+ recommendationConfigs: []
4
+ }), n = e("recommendation", {
5
+ state: () => t()
6
+ });
7
+ export {
8
+ n as useRecommendationStore
9
+ };
@@ -0,0 +1,8 @@
1
+ type UnsubscribePage = {
2
+ type: number;
3
+ };
4
+ interface StoreState {
5
+ selectedUnsubscribePages: UnsubscribePage[];
6
+ }
7
+ export declare const useUnsubscribeStore: import("pinia").StoreDefinition<"unsubscribe", StoreState, {}, {}>;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ import { defineStore as e } from "pinia";
2
+ const t = () => ({
3
+ selectedUnsubscribePages: []
4
+ }), r = e("unsubscribe", {
5
+ state: () => t()
6
+ });
7
+ export {
8
+ r as useUnsubscribeStore
9
+ };
@@ -1,3 +1,8 @@
1
1
  import type { DynamicContent, MergeTag } from '@@/Types/generic';
2
2
  export declare const dynamicContentToMergeTags: (dynamicContentList: DynamicContent[]) => MergeTag[];
3
3
  export declare const getCsrfToken: () => string;
4
+ /**
5
+ * URL Parameter utilities
6
+ */
7
+ export declare const getUrlParams: () => URLSearchParams;
8
+ export declare const getUrlParam: (paramName: string, defaultValue?: string) => string;
@@ -1,11 +1,14 @@
1
- const l = (e) => e.map((a) => ({
1
+ const e = (l) => l.map((a) => a.format ? {
2
+ label: `${a.text} | ${a.format.key}=${a.format.value}`,
3
+ value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
4
+ } : {
2
5
  label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
3
6
  value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
4
- })), t = () => {
5
- var e;
6
- return ((e = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : e.getAttribute("content")) ?? "";
7
+ }), r = () => {
8
+ var l;
9
+ return ((l = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : l.getAttribute("content")) ?? "";
7
10
  };
8
11
  export {
9
- l as dynamicContentToMergeTags,
10
- t as getCsrfToken
12
+ e as dynamicContentToMergeTags,
13
+ r as getCsrfToken
11
14
  };
@@ -1,21 +1,28 @@
1
- import { useActionsApi as c } from "../composables/useActionsApi.js";
2
- import { useDynamicContentStore as l } from "../stores/dynamic-content.js";
3
- const y = () => {
4
- const t = l(), { getCompiledEmail: e, getTemplateData: a } = c();
1
+ import { useActionsApi as g } from "../composables/useActionsApi.js";
2
+ import { useHtmlCompiler as S } from "../composables/useHtmlCompiler.js";
3
+ import { useDynamicContentStore as f } from "../stores/dynamic-content.js";
4
+ const H = () => {
5
+ const t = f(), { getCompiledEmail: i, getTemplateData: o } = g(), { compileHtml: n } = S();
5
6
  return {
6
7
  prepareTemplateDetails: async () => {
7
- const { html: n, ampHtml: s = "", ampErrors: o = [] } = await e({
8
+ const { html: a, ampHtml: s = "", ampErrors: m = [] } = await i({
8
9
  minimize: !0,
9
10
  resetDataSavedFlag: !1
10
- }), { html: m, css: i, syncModulesIds: r = [] } = await a();
11
- return {
12
- dynamicContentList: t.getSelectedDynamicContentList,
13
- compiledHtml: n,
14
- rawHtml: m,
15
- css: i,
11
+ }), { html: r, css: c, syncModulesIds: l = [] } = await o(), { compiledHtml: p, stats: e, appliedRules: d } = n(a), u = t.getSelectedDynamicContentList;
12
+ return console.debug("HTML Compilation Stats:", {
13
+ originalSize: e.originalSize,
14
+ compiledSize: e.compiledSize,
15
+ reduction: `${e.reductionPercentage.toFixed(2)}%`,
16
+ appliedRules: d,
17
+ executionTime: `${e.executionTime.toFixed(2)}ms`
18
+ }), {
19
+ dynamicContentList: u,
20
+ compiledHtml: p,
21
+ rawHtml: r,
22
+ css: c,
16
23
  ampHtml: s,
17
- ampErrors: o,
18
- modules: r,
24
+ ampErrors: m,
25
+ modules: l,
19
26
  recommendation: {
20
27
  campaignUrls: {},
21
28
  configs: {}
@@ -29,5 +36,5 @@ const y = () => {
29
36
  };
30
37
  };
31
38
  export {
32
- y as useTemplatePreparation
39
+ H as useTemplatePreparation
33
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.2-beta.86f7e79",
3
+ "version": "1.0.2-beta.91efff4",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",
@@ -31,7 +31,7 @@
31
31
  "author": "",
32
32
  "license": "ISC",
33
33
  "dependencies": {
34
- "@stripoinc/ui-editor-extensions": "1.0.6",
34
+ "@stripoinc/ui-editor-extensions": "2.0.2",
35
35
  "@useinsider/design-system-vue": "0.14.8",
36
36
  "@vueuse/core": "11.3.0",
37
37
  "lodash-es": "4.17.21",
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var s = {};
2
- export {
3
- s as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var t = {};
2
- export {
3
- t as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var o = {};
2
- export {
3
- o as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var e = {};
2
- export {
3
- e as __exports
4
- };
@@ -1,4 +0,0 @@
1
- var a = {};
2
- export {
3
- a as __exports
4
- };