@useinsider/guido 2.1.0-beta.e717f71 → 2.1.0-beta.ebce76c

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 (159) hide show
  1. package/README.md +36 -0
  2. package/dist/@types/config/schemas.js +70 -65
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +69 -58
  5. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  6. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
  7. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
  8. package/dist/composables/useBlocksConfig.js +26 -16
  9. package/dist/composables/useHtmlValidator.js +114 -104
  10. package/dist/composables/useRecommendation.js +54 -21
  11. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  12. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  13. package/dist/config/migrator/itemsBlockMigrator.js +101 -97
  14. package/dist/config/migrator/recommendationMigrator.js +2 -2
  15. package/dist/enums/defaults.js +8 -4
  16. package/dist/enums/extensions/recommendationBlock.js +1 -1
  17. package/dist/enums/recommendation.js +16 -15
  18. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  19. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  20. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  21. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +66 -0
  22. package/dist/extensions/Blocks/Recommendation/constants/layout.js +22 -0
  23. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +21 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  31. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  32. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +250 -0
  33. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +160 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +307 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  43. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  44. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  46. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  47. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  49. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  50. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  51. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  52. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  53. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  54. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +254 -207
  55. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  56. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  57. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  58. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  59. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  60. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  61. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  62. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  63. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  64. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  65. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  66. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  67. package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
  68. package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
  69. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
  70. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
  71. package/dist/extensions/Blocks/controlFactories.js +125 -93
  72. package/dist/extensions/ModulesTabIcons/extension.js +17 -0
  73. package/dist/guido.css +1 -1
  74. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +317 -193
  75. package/dist/services/recommendationApi.js +11 -8
  76. package/dist/services/stripoApi.js +20 -17
  77. package/dist/services/templateLibraryApi.js +16 -13
  78. package/dist/src/@types/config/schemas.d.ts +8 -0
  79. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  80. package/dist/src/composables/useConfig.d.ts +4 -0
  81. package/dist/src/composables/useRecommendation.d.ts +1 -0
  82. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  83. package/dist/src/enums/defaults.d.ts +4 -0
  84. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  85. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  86. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  87. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  88. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  89. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +41 -0
  90. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +35 -0
  91. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  92. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  93. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  94. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  95. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  96. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  97. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  98. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  99. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  100. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +79 -0
  101. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  102. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  103. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +221 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  117. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  118. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  119. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  120. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +138 -468
  121. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  122. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  123. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  124. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
  125. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  126. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  127. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  128. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  129. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  130. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +166 -0
  131. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  132. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  133. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  134. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  135. package/dist/src/extensions/ModulesTabIcons/extension.d.ts +2 -0
  136. package/dist/src/stores/config.d.ts +36 -0
  137. package/dist/static/styles/components/version-history.css.js +10 -2
  138. package/dist/static/styles/components/wide-panel.css.js +3 -2
  139. package/dist/static/styles/customEditorStyle.css.js +35 -11
  140. package/dist/static/templates/empty/index.html.js +74 -0
  141. package/dist/static/templates/empty/style.css.js +779 -0
  142. package/dist/stores/unsubscribe.js +37 -34
  143. package/dist/utils/pairProductVariables.js +57 -56
  144. package/dist/utils/templatePreparation.js +15 -14
  145. package/package.json +2 -2
  146. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  147. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  148. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  149. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  150. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  151. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  152. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  153. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  154. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  155. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  156. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  157. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  158. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  159. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -1,18 +1,18 @@
1
- var h = Object.defineProperty;
2
- var d = (a, s, e) => s in a ? h(a, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[s] = e;
3
- var u = (a, s, e) => d(a, typeof s != "symbol" ? s + "" : s, e);
1
+ var d = Object.defineProperty;
2
+ var h = (a, s, e) => s in a ? d(a, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[s] = e;
3
+ var u = (a, s, e) => h(a, typeof s != "symbol" ? s + "" : s, e);
4
4
  import { useUnsubscribeStore as l } from "../../../stores/unsubscribe.js";
5
5
  import { Control as T, UEAttr as i, UIElementType as n } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
6
  import { DATA_ATTRIBUTES as p } from "./utils/constants.js";
7
7
  import { parsePageList as _ } from "./utils/utils.js";
8
- const g = "ui-elements-unsubscribe", r = {
8
+ const v = "ui-elements-unsubscribe", r = {
9
9
  SELECT_BUTTON: "selectTemplateButton",
10
10
  PREV_BUTTON: "prevButton",
11
11
  NEXT_BUTTON: "nextButton",
12
12
  COUNTER_TEXT: "counterText",
13
13
  PREVIEW_IMAGE: "previewImage"
14
14
  };
15
- class N extends T {
15
+ class B extends T {
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  u(this, "currentPreviewIndex", 0);
@@ -22,7 +22,7 @@ class N extends T {
22
22
  u(this, "lastParsedAttribute");
23
23
  }
24
24
  getId() {
25
- return g;
25
+ return v;
26
26
  }
27
27
  getTemplate() {
28
28
  return `
@@ -35,7 +35,7 @@ class N extends T {
35
35
  onTemplateNodeUpdated(e) {
36
36
  if (this.currentNode = e, "getAttribute" in this.currentNode) {
37
37
  const t = this.currentNode.getAttribute(p.PAGE_LIST);
38
- t && (t !== this.lastParsedAttribute && (this.currentPages = _(t), this.lastParsedAttribute = t, this.currentPreviewIndex = 0), this._updatePreview(), this._updateCounter());
38
+ t && (t !== this.lastParsedAttribute && (this.currentPages = _(t), this.lastParsedAttribute = t, this.currentPreviewIndex = 0), this._updateCounter(), this._loadAndUpdatePreview());
39
39
  }
40
40
  }
41
41
  onRender() {
@@ -73,6 +73,9 @@ class N extends T {
73
73
  _onNextClick() {
74
74
  this.currentPreviewIndex < this.totalTemplates - 1 && (this.currentPreviewIndex++, this._updatePreview(), this._updateCounter());
75
75
  }
76
+ async _loadAndUpdatePreview() {
77
+ await l().fetchTemplates(), this._updatePreview(), this._updateCounter();
78
+ }
76
79
  _updatePreview() {
77
80
  var e;
78
81
  if ((e = this.currentPages) != null && e.length)
@@ -162,6 +165,6 @@ class N extends T {
162
165
  }
163
166
  }
164
167
  export {
165
- g as UNSUBSCRIBE_CONTROL_ID,
166
- N as UnsubscribeControl
168
+ v as UNSUBSCRIBE_CONTROL_ID,
169
+ B as UnsubscribeControl
167
170
  };
@@ -1,12 +1,12 @@
1
- var r = Object.defineProperty;
2
- var n = (i, t, e) => t in i ? r(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var s = (i, t, e) => n(i, typeof t != "symbol" ? t + "" : t, e);
4
- import { UIElement as m } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- const E = "unsubscribe-preview", l = "img", c = "Unsubscribe page preview";
6
- class o extends m {
1
+ var n = Object.defineProperty;
2
+ var m = (s, i, e) => i in s ? n(s, i, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[i] = e;
3
+ var r = (s, i, e) => m(s, typeof i != "symbol" ? i + "" : i, e);
4
+ import { UIElement as l } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ const E = "unsubscribe-preview", c = "img", a = "Unsubscribe page preview", g = "is-loaded";
6
+ class d extends l {
7
7
  constructor() {
8
8
  super(...arguments);
9
- s(this, "imgElement");
9
+ r(this, "imgElement");
10
10
  }
11
11
  getId() {
12
12
  return E;
@@ -14,19 +14,21 @@ class o extends m {
14
14
  getTemplate() {
15
15
  return `
16
16
  <div class="unsubscribe-preview-image-container">
17
+ <div class="unsubscribe-preview-loader"></div>
17
18
  <img
18
19
  src=""
19
- alt="${c}"
20
+ alt="${a}"
20
21
  class="unsubscribe-preview-image"
21
22
  />
22
23
  </div>
23
24
  `;
24
25
  }
25
26
  onRender(e) {
26
- this.imgElement = e.querySelector(l);
27
+ this.imgElement = e.querySelector(c);
27
28
  }
28
29
  setValue(e) {
29
- this.imgElement && (this.imgElement.src = e);
30
+ var t;
31
+ this.imgElement && (this.imgElement.src = e, (t = this.imgElement.parentElement) == null || t.classList.add(g));
30
32
  }
31
33
  getValue() {
32
34
  var e;
@@ -38,5 +40,5 @@ class o extends m {
38
40
  }
39
41
  export {
40
42
  E as PREVIEW_UI_ELEMENT_ID,
41
- o as PreviewUIElement
43
+ d as PreviewUIElement
42
44
  };
@@ -29,12 +29,42 @@ const n = `/* Unsubscribe Extension Styles */
29
29
  display: flex;
30
30
  align-items: center;
31
31
  justify-content: center;
32
+ position: relative;
32
33
  }
33
34
 
34
- .unsubscribe-preview-image {
35
+ .unsubscribe-preview-image-container .unsubscribe-preview-image {
35
36
  object-fit: cover;
36
37
  width: 100%;
37
38
  height: auto;
39
+ display: none;
40
+ }
41
+
42
+ .unsubscribe-preview-image-container.is-loaded .unsubscribe-preview-image {
43
+ display: block;
44
+ }
45
+
46
+ .unsubscribe-preview-image-container.is-loaded .unsubscribe-preview-loader {
47
+ display: none;
48
+ }
49
+
50
+ /* Loading shimmer */
51
+ .unsubscribe-preview-loader {
52
+ width: 100%;
53
+ height: 200px;
54
+ border-radius: 4px;
55
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
56
+ background-size: 200% 100%;
57
+ animation: unsubscribe-shimmer 1.5s infinite;
58
+ }
59
+
60
+ @keyframes unsubscribe-shimmer {
61
+ 0% {
62
+ background-position: 200% 0;
63
+ }
64
+
65
+ 100% {
66
+ background-position: -200% 0;
67
+ }
38
68
  }
39
69
  `;
40
70
  export {
@@ -1,218 +1,250 @@
1
- import { TextAlignBuiltInControl as l, TextColorBuiltInControl as s, TextSizeBuiltInControl as u, TextStyleBuiltInControl as i, TextFontFamilyBuiltInControl as c, ButtonBackgroundColorBuiltInControl as d, TextPaddingsBuiltInControl as a, ImageSizeBuiltInControl as g, ImageMarginsBuiltInControl as x, ButtonAlignBuiltInControl as C, ButtonBorderBuiltInControl as B, ButtonBorderRadiusBuiltInControl as T, ButtonColorBuiltInControl as I, ButtonFontFamilyBuiltInControl as f, ButtonMarginsBuiltInControl as y, ButtonPaddingsBuiltInControl as m, ButtonTextBuiltInControl as A, ButtonTextSizeBuiltInControl as S, ButtonTextStyleAndFontColorBuiltInControl as N, ButtonFitToContainerBuiltInControl as b, TextLineSpacingBuiltInControl as q } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- function k(r, t, n) {
3
- return class extends l {
1
+ import { TextAlignBuiltInControl as s, TextColorBuiltInControl as l, TextSizeBuiltInControl as u, TextStyleBuiltInControl as i, TextFontFamilyBuiltInControl as c, ButtonBackgroundColorBuiltInControl as d, TextPaddingsBuiltInControl as a, ImageSizeBuiltInControl as g, ImageMarginsBuiltInControl as x, ButtonAlignBuiltInControl as C, ButtonBorderBuiltInControl as f, ButtonBorderRadiusBuiltInControl as B, ButtonColorBuiltInControl as T, ButtonFontFamilyBuiltInControl as I, ButtonMarginsBuiltInControl as y, ButtonPaddingsBuiltInControl as m, ButtonTextBuiltInControl as A, ButtonTextSizeBuiltInControl as S, ButtonTextStyleAndFontColorBuiltInControl as N, ButtonFitToContainerBuiltInControl as b, TextLineSpacingBuiltInControl as q } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ function k(o, n, r) {
3
+ return class extends s {
4
4
  getId() {
5
- return r;
5
+ return o;
6
6
  }
7
- getTargetNodes(e) {
8
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
7
+ getTargetNodes(t) {
8
+ if (!n || !r)
9
+ return [t];
10
+ const e = t.closest(r);
11
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
9
12
  }
10
13
  };
11
14
  }
12
- function p(r, t, n) {
13
- return class extends s {
15
+ function p(o, n, r) {
16
+ return class extends l {
14
17
  getId() {
15
- return r;
18
+ return o;
16
19
  }
17
- getTargetNodes(e) {
18
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
20
+ getTargetNodes(t) {
21
+ if (!n || !r)
22
+ return [t];
23
+ const e = t.closest(r);
24
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
19
25
  }
20
26
  };
21
27
  }
22
- function F(r, t, n) {
28
+ function F(o, n, r) {
23
29
  return class extends u {
24
30
  getId() {
25
- return r;
31
+ return o;
26
32
  }
27
- getTargetNodes(e) {
28
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
33
+ getTargetNodes(t) {
34
+ if (!n || !r)
35
+ return [t];
36
+ const e = t.closest(r);
37
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
29
38
  }
30
39
  };
31
40
  }
32
- function z(r, t, n) {
41
+ function z(o, n, r) {
33
42
  return class extends i {
34
43
  getId() {
35
- return r;
44
+ return o;
36
45
  }
37
- getTargetNodes(e) {
38
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
46
+ getTargetNodes(t) {
47
+ if (!n || !r)
48
+ return [t];
49
+ const e = t.closest(r);
50
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
39
51
  }
40
52
  };
41
53
  }
42
- function M(r, t, n) {
54
+ function M(o, n, r) {
43
55
  return class extends c {
44
56
  getId() {
45
- return r;
57
+ return o;
46
58
  }
47
- getTargetNodes(e) {
48
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
59
+ getTargetNodes(t) {
60
+ if (!n || !r)
61
+ return [t];
62
+ const e = t.closest(r);
63
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
49
64
  }
50
65
  };
51
66
  }
52
- function P(r, t, n) {
67
+ function P(o, n, r) {
53
68
  return class extends d {
54
69
  getId() {
55
- return r;
70
+ return o;
56
71
  }
57
- getTargetNodes(e) {
58
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
72
+ getTargetNodes(t) {
73
+ if (!n || !r)
74
+ return [t];
75
+ const e = t.closest(r);
76
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
59
77
  }
60
78
  };
61
79
  }
62
- function h(r, t, n) {
80
+ function h(o, n, r) {
63
81
  return class extends a {
64
82
  getId() {
65
- return r;
83
+ return o;
66
84
  }
67
- getTargetNodes(e) {
68
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
85
+ getTargetNodes(t) {
86
+ if (!n || !r)
87
+ return [t];
88
+ const e = t.closest(r);
89
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
69
90
  }
70
91
  };
71
92
  }
72
- function L(r, t, n) {
93
+ function L(o, n, r) {
73
94
  return class extends q {
74
95
  getId() {
75
- return r;
96
+ return o;
76
97
  }
77
- getTargetNodes(e) {
78
- return [e];
98
+ getTargetNodes(t) {
99
+ return [t];
79
100
  }
80
101
  };
81
102
  }
82
- function R(r, t, n = ".ins-recommendation-product-container") {
103
+ function R(o, n, r = ".ins-recommendation-product-container") {
83
104
  return class extends C {
84
105
  getId() {
85
- return r;
106
+ return o;
86
107
  }
87
- getTargetNodes(e) {
88
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
108
+ getTargetNodes(t) {
109
+ const e = t.closest(r);
110
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
89
111
  }
90
112
  };
91
113
  }
92
- function j(r, t, n = ".ins-recommendation-product-container") {
93
- return class extends I {
114
+ function j(o, n, r = ".ins-recommendation-product-container") {
115
+ return class extends T {
94
116
  getId() {
95
- return r;
117
+ return o;
96
118
  }
97
- getTargetNodes(e) {
98
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
119
+ getTargetNodes(t) {
120
+ const e = t.closest(r);
121
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
99
122
  }
100
123
  };
101
124
  }
102
- function v(r, t, n = ".ins-recommendation-product-container") {
103
- return class extends B {
125
+ function v(o, n, r = ".ins-recommendation-product-container") {
126
+ return class extends f {
104
127
  getId() {
105
- return r;
128
+ return o;
106
129
  }
107
- getTargetNodes(e) {
108
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
130
+ getTargetNodes(t) {
131
+ const e = t.closest(r);
132
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
109
133
  }
110
134
  };
111
135
  }
112
- function w(r, t, n = ".ins-recommendation-product-container") {
113
- return class extends T {
136
+ function w(o, n, r = ".ins-recommendation-product-container") {
137
+ return class extends B {
114
138
  getId() {
115
- return r;
139
+ return o;
116
140
  }
117
- getTargetNodes(e) {
118
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
141
+ getTargetNodes(t) {
142
+ const e = t.closest(r);
143
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
119
144
  }
120
145
  };
121
146
  }
122
- function D(r, t, n = ".ins-recommendation-product-container") {
123
- return class extends f {
147
+ function D(o, n, r = ".ins-recommendation-product-container") {
148
+ return class extends I {
124
149
  getId() {
125
- return r;
150
+ return o;
126
151
  }
127
- getTargetNodes(e) {
128
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
152
+ getTargetNodes(t) {
153
+ const e = t.closest(r);
154
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
129
155
  }
130
156
  };
131
157
  }
132
- function E(r, t, n = ".ins-recommendation-product-container") {
158
+ function E(o, n, r = ".ins-recommendation-product-container") {
133
159
  return class extends y {
134
160
  getId() {
135
- return r;
161
+ return o;
136
162
  }
137
- getTargetNodes(e) {
138
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
163
+ getTargetNodes(t) {
164
+ const e = t.closest(r);
165
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
139
166
  }
140
167
  };
141
168
  }
142
- function G(r, t, n = ".ins-recommendation-product-container") {
169
+ function G(o, n, r = ".ins-recommendation-product-container") {
143
170
  return class extends m {
144
171
  getId() {
145
- return r;
172
+ return o;
146
173
  }
147
- getTargetNodes(e) {
148
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
174
+ getTargetNodes(t) {
175
+ const e = t.closest(r);
176
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
149
177
  }
150
178
  };
151
179
  }
152
- function H(r, t, n = ".ins-recommendation-product-container") {
180
+ function H(o, n, r = ".ins-recommendation-product-container") {
153
181
  return class extends A {
154
182
  getId() {
155
- return r;
183
+ return o;
156
184
  }
157
- getTargetNodes(e) {
158
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
185
+ getTargetNodes(t) {
186
+ const e = t.closest(r);
187
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
159
188
  }
160
189
  };
161
190
  }
162
- function J(r, t, n = ".ins-recommendation-product-container") {
191
+ function J(o, n, r = ".ins-recommendation-product-container") {
163
192
  return class extends S {
164
193
  getId() {
165
- return r;
194
+ return o;
166
195
  }
167
- getTargetNodes(e) {
168
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
196
+ getTargetNodes(t) {
197
+ const e = t.closest(r);
198
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
169
199
  }
170
200
  };
171
201
  }
172
- function K(r, t, n) {
202
+ function K(o, n, r) {
173
203
  return class extends N {
174
204
  getId() {
175
- return r;
205
+ return o;
176
206
  }
177
- getTargetNodes(e) {
178
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
207
+ getTargetNodes(t) {
208
+ const e = t.closest(r);
209
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
179
210
  }
180
211
  };
181
212
  }
182
- function O(r, t, n) {
213
+ function O(o, n, r) {
183
214
  return class extends b {
184
215
  getId() {
185
- return r;
216
+ return o;
186
217
  }
187
- getTargetNodes(e) {
188
- return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
218
+ getTargetNodes(t) {
219
+ const e = t.closest(r);
220
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
189
221
  }
190
222
  };
191
223
  }
192
- function Q(r, t, n) {
224
+ function Q(o, n, r) {
193
225
  return class extends g {
194
226
  getId() {
195
- return r;
227
+ return o;
196
228
  }
197
- getTargetNodes(e) {
229
+ getTargetNodes(t) {
198
230
  try {
199
- const o = e.closest(n);
200
- return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
231
+ const e = t.closest(r);
232
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
201
233
  } catch {
202
234
  return [];
203
235
  }
204
236
  }
205
237
  };
206
238
  }
207
- function U(r, t, n) {
239
+ function U(o, n, r) {
208
240
  return class extends x {
209
241
  getId() {
210
- return r;
242
+ return o;
211
243
  }
212
- getTargetNodes(e) {
244
+ getTargetNodes(t) {
213
245
  try {
214
- const o = e.closest(n);
215
- return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
246
+ const e = t.closest(r);
247
+ return e ? e.querySelectorAll(`[esd-extension-block-id="${n}"]`) : [];
216
248
  } catch {
217
249
  return [];
218
250
  }
@@ -0,0 +1,17 @@
1
+ import { ModuleFolderDefaults as n } from "../../enums/defaults.js";
2
+ import { ExtensionBuilder as t, BlocksPanel as r } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ class u extends r {
4
+ getModulesTabIconName(o) {
5
+ const { key: e } = o, { SAVED_MODULES: l, DEFAULT_MODULES: s } = n;
6
+ if (e.includes(l))
7
+ return "user-profile";
8
+ if (e.includes(s))
9
+ return "modules";
10
+ if (e === "amp_modules")
11
+ return "mail-template";
12
+ }
13
+ }
14
+ const c = new t().withBlocksPanel(u).build();
15
+ export {
16
+ c as default
17
+ };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-cd76c125] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-17dd4d8b]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-890b5336]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-890b5336]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-890b5336]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-a86fc486]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-a86fc486]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-a86fc486]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-a86fc486]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-a86fc486]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}
1
+ .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-cd76c125] .in-button-v2__wrapper{line-height:0}[data-v-22226124] .in-segments-wrapper__button_selected,[data-v-22226124] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb;color:#0010ac;border-color:#0010ac}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.view-options-wrapper[data-v-195ab6d4]{position:relative;display:inline-block}.new-tag[data-v-195ab6d4]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-195ab6d4] .guido__view-option-selection-desktop svg,[data-v-195ab6d4] .guido__view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-195ab6d4] .in-segments-wrapper__button_selected,[data-v-195ab6d4] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-195ab6d4] .in-tooltip-wrapper__icon{cursor:pointer}.editor-toolbar[data-v-173c3a40]{gap:4px}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history[data-v-64c52560]{gap:8px}.version-history__toolbar[data-v-64c52560]{gap:4px}.view-options-wrapper[data-v-d405ca59]{position:relative;display:inline-block}.new-tag[data-v-d405ca59]{position:absolute;top:-8px;right:-16px;z-index:10}[data-v-d405ca59] .guido__verion-history-view-option-selection-desktop svg,[data-v-d405ca59] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-d405ca59] .in-segments-wrapper__button_selected,[data-v-d405ca59] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}[data-v-d405ca59] .in-tooltip-wrapper__icon{cursor:pointer}.editor-actions[data-v-17dd4d8b]{gap:4px}.header-wrapper[data-v-5c02dcc7]{min-width:1000px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-16abb398]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-16abb398]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-16abb398]{height:calc(100vh - 75px)}[data-v-293f1c47] .in-breadcrumb-wrapper__links{cursor:pointer}.templates-wrapper[data-v-df672485]{gap:16px;grid-template-columns:repeat(3,1fr)}.templates-wrapper .template-wrapper[data-v-df672485]{cursor:pointer}.templates-wrapper .template-wrapper .template-container[data-v-df672485]{height:274px;padding:2px;transition:none}.templates-wrapper .template-wrapper .template-container.selected[data-v-df672485]{padding:1px}.templates-wrapper .template-wrapper .template-container .thumbnail[data-v-df672485]{object-fit:cover;transform:scale(1)}[data-v-43c617a7] .guido__verion-history-view-option-selection-desktop svg,[data-v-43c617a7] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-43c617a7] .in-segments-wrapper__button_selected,[data-v-43c617a7] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-c3fd5d4b]{gap:16px}.desktop-browser-header[data-v-d86c5af5]{height:79px;min-height:79px}.desktop-browser-header__left[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:378px}.desktop-browser-header__center[data-v-d86c5af5]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-browser-header__right[data-v-d86c5af5]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview[data-v-988f8da6]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview iframe[data-v-988f8da6]{min-height:504px}.iframe-wrapper[data-v-e0424e99]{width:258px}.iframe-scaled[data-v-e0424e99]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-eb3d05d7]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-preview-wrapper__phone[data-v-3f472f96]{width:282px}.mobile-preview-wrapper__phone img[data-v-3f472f96]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-3f472f96]{width:258px;height:450px;left:12px}[data-v-d3c52b44] .vueperslides__bullets,[data-v-dd1a237a] .vueperslides__bullets{pointer-events:none!important}[data-v-dd1a237a] .vueperslides__parallax-wrapper{height:110px!important}[data-v-a408dcea] .vueperslides__bullets{pointer-events:none!important}[data-v-a408dcea] .vueperslides__parallax-wrapper{height:110px!important}