@useinsider/guido 2.0.0-beta.a4f9fa2 → 2.0.0-beta.ab9d733

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 (101) hide show
  1. package/README.md +0 -2
  2. package/dist/@types/config/schemas.js +1 -3
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +17 -15
  5. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  6. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +8 -8
  7. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
  8. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +7 -8
  9. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +10 -14
  11. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +18 -22
  12. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  13. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +12 -11
  14. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
  15. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
  16. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
  17. package/dist/components/organisms/header/HeaderWrapper.vue.js +5 -5
  18. package/dist/components/organisms/header/LeftSlot.vue.js +9 -9
  19. package/dist/components/organisms/header/LeftSlot.vue2.js +13 -14
  20. package/dist/components/organisms/header/MiddleSlot.vue.js +5 -4
  21. package/dist/components/organisms/header/MiddleSlot.vue2.js +14 -13
  22. package/dist/components/organisms/header/RightSlot.vue.js +12 -12
  23. package/dist/components/organisms/header/RightSlot.vue2.js +27 -21
  24. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  25. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  26. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
  27. package/dist/composables/useStripo.js +40 -40
  28. package/dist/config/migrator/index.js +8 -9
  29. package/dist/enums/academy.js +8 -0
  30. package/dist/enums/onboarding.js +1 -2
  31. package/dist/enums/unsubscribe.js +20 -21
  32. package/dist/extensions/Blocks/Items/block.js +40 -39
  33. package/dist/extensions/Blocks/Items/controls/button/link.js +29 -22
  34. package/dist/extensions/Blocks/Items/controls/cardComposition.js +46 -66
  35. package/dist/extensions/Blocks/Items/controls/image/link.js +30 -23
  36. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  37. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +17 -19
  38. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +29 -31
  39. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +36 -36
  40. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +19 -21
  41. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +27 -29
  42. package/dist/extensions/Blocks/Items/controls/settingsControl.js +143 -152
  43. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  44. package/dist/extensions/Blocks/Items/enums/productEnums.js +45 -43
  45. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +3 -4
  46. package/dist/extensions/Blocks/Items/extension.js +6 -7
  47. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +49 -58
  48. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +59 -48
  49. package/dist/extensions/Blocks/Items/settingsPanel.js +26 -27
  50. package/dist/extensions/Blocks/Items/store/items-block.js +7 -11
  51. package/dist/extensions/Blocks/Items/template.js +129 -366
  52. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  53. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  54. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  55. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  56. package/dist/extensions/Blocks/Recommendation/control.js +1 -1
  57. package/dist/extensions/Blocks/common-control.js +30 -29
  58. package/dist/extensions/Blocks/controlFactories.js +45 -55
  59. package/dist/guido.css +1 -1
  60. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +285 -364
  61. package/dist/package.json.js +1 -1
  62. package/dist/services/stripoApi.js +10 -6
  63. package/dist/src/@types/config/schemas.d.ts +0 -4
  64. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  65. package/dist/src/composables/useConfig.d.ts +0 -2
  66. package/dist/src/enums/academy.d.ts +12 -0
  67. package/dist/src/enums/onboarding.d.ts +0 -1
  68. package/dist/src/enums/unsubscribe.d.ts +0 -1
  69. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +2 -0
  70. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -9
  71. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +2 -0
  72. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  73. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  74. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
  75. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +26 -24
  76. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -1
  77. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -2
  78. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -22
  79. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  80. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  81. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  82. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  83. package/dist/src/extensions/Blocks/common-control.d.ts +10 -9
  84. package/dist/src/stores/config.d.ts +0 -17
  85. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  86. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  87. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  88. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  89. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  90. package/dist/utils/pairProductVariables.js +58 -61
  91. package/package.json +3 -3
  92. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  93. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  94. package/dist/config/migrator/itemsBlockMigrator.js +0 -342
  95. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +0 -93
  96. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -184
  97. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  98. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -18
  99. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -73
  100. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  101. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -0,0 +1,76 @@
1
+ import { useItemsBlockStore as e } from "../store/items-block.js";
2
+ import { syncAttributeFromConfigBlock as r, createBooleanSyncConfig as i, createStringSyncConfig as s } from "./syncAttributeFromConfigBlock.js";
3
+ function m(t) {
4
+ const o = e(), n = i(
5
+ "PRODUCT_NAME_TRIMMING",
6
+ (c) => o.setNameTrimming(c),
7
+ !1
8
+ );
9
+ r(t, n);
10
+ }
11
+ function f(t) {
12
+ const o = e(), n = i(
13
+ "PRODUCT_PRICE_HIDE_DISCOUNT",
14
+ (c) => o.setHideDiscount(c),
15
+ !1
16
+ );
17
+ r(t, n);
18
+ }
19
+ function R(t) {
20
+ const o = e(), n = i(
21
+ "PRODUCT_PRICE_FORMATTED",
22
+ (c) => o.setFormattedPrice(c),
23
+ !0
24
+ );
25
+ r(t, n);
26
+ }
27
+ function O(t) {
28
+ const o = e(), n = s(
29
+ "PRODUCT_PRICE_CURRENCY_SYMBOL",
30
+ (c) => o.setCurrencySymbol(c),
31
+ ""
32
+ );
33
+ r(t, n);
34
+ }
35
+ function _(t) {
36
+ const o = e(), n = s(
37
+ "PRODUCT_PRICE_CURRENCY_LOCATION",
38
+ (c) => o.setCurrencyLocation(c),
39
+ "0"
40
+ );
41
+ r(t, n);
42
+ }
43
+ function I(t) {
44
+ const o = e(), n = s(
45
+ "PRODUCT_BUTTON_LINK",
46
+ (c) => o.setButtonLink(c),
47
+ ""
48
+ );
49
+ r(t, n);
50
+ }
51
+ function T(t) {
52
+ const o = e(), n = s(
53
+ "PRODUCT_IMAGE_LINK",
54
+ (c) => o.setImageLink(c),
55
+ ""
56
+ );
57
+ r(t, n);
58
+ }
59
+ function y(t) {
60
+ const o = e(), n = s(
61
+ "PRODUCT_ORIGINAL_PRICE_CONTROL_ORIENTATION",
62
+ (c) => o.setPriceOrientation(c),
63
+ "horizontal"
64
+ );
65
+ r(t, n);
66
+ }
67
+ export {
68
+ I as syncButtonLinkFromAttributes,
69
+ _ as syncCurrencyLocationFromAttributes,
70
+ O as syncCurrencySymbolFromAttributes,
71
+ R as syncFormattedPriceFromAttributes,
72
+ f as syncHideDiscountFromAttributes,
73
+ T as syncImageLinkFromAttributes,
74
+ m as syncNameTrimmingFromAttributes,
75
+ y as syncPriceOrientationFromAttributes
76
+ };
@@ -0,0 +1,46 @@
1
+ import { ModificationDescription as p } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { configAttributes as t } from "../enums/productEnums.js";
3
+ import { DefaultConfigValues as i } from "../enums/settingsEnums.js";
4
+ import { useItemsBlockStore as s } from "../store/items-block.js";
5
+ import { getConfigBlock as P } from "./configBlockUtils.js";
6
+ function M(n, O) {
7
+ const e = P(n);
8
+ if (!e)
9
+ return;
10
+ const c = s(), {
11
+ itemsType: r,
12
+ itemIds: C,
13
+ orientation: T,
14
+ nameTrimming: _,
15
+ hideDiscount: E,
16
+ formattedPrice: R,
17
+ currencySymbol: N,
18
+ currencyLocation: m,
19
+ priceOrientation: I,
20
+ buttonLink: a,
21
+ imageLink: f
22
+ } = c, u = {
23
+ "data-source": r,
24
+ [t.TYPE]: r,
25
+ [t.ITEMS_INDEX_SELECT_CONTROL_VALUE]: C,
26
+ [t.ORIENTATION]: T,
27
+ [t.PRODUCT_NAME_TRIMMING]: _ ? "1" : "0",
28
+ [t.PRODUCT_PRICE_HIDE_DISCOUNT]: E ? "1" : "0",
29
+ [t.PRODUCT_PRICE_FORMATTED]: R ? "1" : "0",
30
+ [t.PRODUCT_PRICE_CURRENCY_SYMBOL]: N || "",
31
+ [t.PRODUCT_PRICE_CURRENCY_LOCATION]: m || "0",
32
+ [t.PRODUCT_ORIGINAL_PRICE_CONTROL_ORIENTATION]: I || "horizontal",
33
+ [t.PRODUCT_BUTTON_LINK]: a || "",
34
+ [t.PRODUCT_IMAGE_LINK]: f || "",
35
+ [t.NAME_CONTROL_ENABLED]: i.productNameControlEnabled,
36
+ [t.QUANTITY_CONTROL_ENABLED]: i.productQuantityControlEnabled,
37
+ [t.PRICE_CONTROL_OPENED]: i.productPriceControlOpened
38
+ };
39
+ let o = O.getDocumentModifier().modifyHtml(e);
40
+ Object.entries(u).forEach(([D, l]) => {
41
+ o = o.setAttribute(D, l);
42
+ }), o.apply(new p("Update config block attributes from control"));
43
+ }
44
+ export {
45
+ M as updateConfigBlockAttributes
46
+ };
@@ -289,7 +289,7 @@ class b extends g {
289
289
  t.CURRENCY_DECIMAL_COUNT
290
290
  ].forEach((i) => {
291
291
  this.api.onValueChanged(i, (a) => this._onCurrencyConfigChange(i, a));
292
- }), this.api.onValueChanged(t.PRODUCT_COUNT, (i) => this._onDataChange(t.PRODUCT_COUNT, String(i))), this.api.onValueChanged(t.PRODUCT_IN_ROW, (i) => this._onDataChange(t.PRODUCT_IN_ROW, i)), this.api.onValueChanged(t.SHUFFLE_PRODUCTS, (i) => this._onDataChange(t.SHUFFLE_PRODUCTS, i)), this.api.onValueChanged(t.RESPONSIVE, (i) => this._onDataChange(t.RESPONSIVE, i)), this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), (o = this.addFilterButton) == null || o.addEventListener("click", this.addFilterListener);
292
+ }), this.api.onValueChanged(t.PRODUCT_COUNT, (i) => this._onDataChange(t.PRODUCT_COUNT, i.toString())), this.api.onValueChanged(t.PRODUCT_IN_ROW, (i) => this._onDataChange(t.PRODUCT_IN_ROW, i)), this.api.onValueChanged(t.SHUFFLE_PRODUCTS, (i) => this._onDataChange(t.SHUFFLE_PRODUCTS, i)), this.api.onValueChanged(t.RESPONSIVE, (i) => this._onDataChange(t.RESPONSIVE, i)), this.addFilterListener = this._onFilterSelectClick.bind(this), this.addFilterButton = this.getContainer().querySelector("#guido__btn-add-filter"), (o = this.addFilterButton) == null || o.addEventListener("click", this.addFilterListener);
293
293
  }
294
294
  _listenStateUpdates() {
295
295
  this.storeUnsubscription = this.store.$subscribe((e) => {
@@ -1,12 +1,12 @@
1
- var I = Object.defineProperty;
2
- var c = (T, r, e) => r in T ? I(T, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : T[r] = e;
3
- var u = (T, r, e) => c(T, typeof r != "symbol" ? r + "" : r, e);
1
+ var c = Object.defineProperty;
2
+ var I = (a, r, e) => r in a ? c(a, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[r] = e;
3
+ var l = (a, r, e) => I(a, typeof r != "symbol" ? r + "" : r, e);
4
4
  import { Control as O, UIElementType as t, UEAttr as $ } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  class _ extends O {
6
6
  constructor() {
7
7
  super(...arguments);
8
- u(this, "currentNode");
9
- u(this, "lastBlockInstanceId", null);
8
+ l(this, "currentNode");
9
+ l(this, "lastBlockInstanceId", null);
10
10
  }
11
11
  getContainer() {
12
12
  var e;
@@ -19,37 +19,38 @@ class _ extends O {
19
19
  this.lastBlockInstanceId = null;
20
20
  }
21
21
  /**
22
- * Gets the Items block container element from the current node.
23
- * @returns The container element or null if not found
22
+ * Gets the config block element from the current node.
23
+ * @returns The config block element or null if not found
24
24
  */
25
- getItemsBlockContainer() {
26
- return this.currentNode ? this.currentNode.closest(".items-block-v2") : null;
25
+ getConfigBlock() {
26
+ if (!this.currentNode)
27
+ return null;
28
+ const e = this.currentNode.closest(".items-block-v2");
29
+ return e ? e.querySelector("esd-config-block") : null;
27
30
  }
28
31
  /**
29
- * Gets the current block instance ID from the node config (Stripo V2).
32
+ * Gets the current block instance ID from the config block.
33
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
30
34
  * @returns The block instance ID or null if not found
31
35
  */
32
- getBlockInstanceId() {
33
- const e = this.getItemsBlockContainer();
34
- if (!e)
35
- return null;
36
- const n = e.getNodeConfig();
37
- return n && typeof n.blockInstanceId == "string" ? n.blockInstanceId : null;
36
+ getBlockInstanceId(e = "data-block-instance-id") {
37
+ const n = this.getConfigBlock();
38
+ return n ? n.getAttribute(e) : null;
38
39
  }
39
40
  /**
40
41
  * Handles block instance change detection and syncing.
41
- * This is a helper method for controls that need to sync config when switching between block instances.
42
- * Uses Stripo V2 nodeConfig API for block instance tracking.
43
- * @param syncFunction - Function to call when block instance changes (to sync from node config)
42
+ * This is a helper method for controls that need to sync attributes when switching between block instances.
43
+ * @param syncFunction - Function to call when block instance changes (to sync from attributes)
44
44
  * @param updateUI - Function to call to update the UI (called both on change and when same block)
45
+ * @param blockInstanceIdAttribute - The attribute name for block instance ID (default: 'data-block-instance-id')
45
46
  * @returns true if block instance changed, false otherwise
46
47
  */
47
- handleBlockInstanceChange(e, n) {
48
- const E = this.getBlockInstanceId();
49
- if (!E)
48
+ handleBlockInstanceChange(e, n, E = "data-block-instance-id") {
49
+ const o = this.getBlockInstanceId(E);
50
+ if (!o)
50
51
  return !1;
51
- const o = E !== this.lastBlockInstanceId;
52
- return o ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = E) : n(), o;
52
+ const T = o !== this.lastBlockInstanceId;
53
+ return T ? (this.currentNode && e(this.currentNode), n(), this.lastBlockInstanceId = o) : n(), T;
53
54
  }
54
55
  _GuLabel({ text: e, name: n = "", position: E = "top" }) {
55
56
  return `
@@ -80,7 +81,7 @@ class _ extends O {
80
81
  class="${o}"
81
82
  ${$.SELECTPICKER.name}="${e}"
82
83
  ${$.SELECTPICKER.placeholder}="${n}">
83
- ${E.map((a) => this._GuSelectItem(a)).join("")}
84
+ ${E.map((T) => this._GuSelectItem(T)).join("")}
84
85
  </${t.SELECTPICKER}>
85
86
  `;
86
87
  }
@@ -168,11 +169,11 @@ class _ extends O {
168
169
  */
169
170
  _GuOrderable(e, n) {
170
171
  let E = "";
171
- n.forEach((a) => {
172
- const l = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
172
+ n.forEach((T) => {
173
+ const u = $.ORDERABLE_ITEM && "name" in $.ORDERABLE_ITEM ? $.ORDERABLE_ITEM.name : "name";
173
174
  E += `
174
- <${t.ORDERABLE_ITEM} ${l}="${a.key}">
175
- ${a.content}
175
+ <${t.ORDERABLE_ITEM} ${u}="${T.key}">
176
+ ${T.content}
176
177
  </${t.ORDERABLE_ITEM}>
177
178
  `;
178
179
  });
@@ -1,4 +1,14 @@
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";
1
+ import { TextAlignBuiltInControl as o, TextColorBuiltInControl as l, TextSizeBuiltInControl as s, TextStyleBuiltInControl as u, TextFontFamilyBuiltInControl as i, ButtonBackgroundColorBuiltInControl as c, TextPaddingsBuiltInControl as d, ImageSizeBuiltInControl as a, ImageMarginsBuiltInControl as g, ButtonAlignBuiltInControl as x, ButtonBorderBuiltInControl as C, ButtonBorderRadiusBuiltInControl as B, ButtonColorBuiltInControl as T, ButtonFontFamilyBuiltInControl as I, ButtonMarginsBuiltInControl as f, ButtonPaddingsBuiltInControl as m, ButtonTextBuiltInControl as y, ButtonTextSizeBuiltInControl as A, ButtonTextStyleAndFontColorBuiltInControl as S, ButtonFitToContainerBuiltInControl as N, TextLineSpacingBuiltInControl as b } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ function $(r, t, n) {
3
+ return class extends o {
4
+ getId() {
5
+ return r;
6
+ }
7
+ getTargetNodes(e) {
8
+ return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
9
+ }
10
+ };
11
+ }
2
12
  function k(r, t, n) {
3
13
  return class extends l {
4
14
  getId() {
@@ -59,28 +69,28 @@ function P(r, t, n) {
59
69
  }
60
70
  };
61
71
  }
62
- function h(r, t, n) {
63
- return class extends a {
72
+ function L(r, t, n) {
73
+ return class extends b {
64
74
  getId() {
65
75
  return r;
66
76
  }
67
77
  getTargetNodes(e) {
68
- return !t || !n ? [e] : e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
78
+ return [e];
69
79
  }
70
80
  };
71
81
  }
72
- function L(r, t, n) {
73
- return class extends q {
82
+ function R(r, t, n = ".ins-recommendation-product-container") {
83
+ return class extends x {
74
84
  getId() {
75
85
  return r;
76
86
  }
77
87
  getTargetNodes(e) {
78
- return [e];
88
+ return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
79
89
  }
80
90
  };
81
91
  }
82
- function R(r, t, n = ".ins-recommendation-product-container") {
83
- return class extends C {
92
+ function h(r, t, n = ".ins-recommendation-product-container") {
93
+ return class extends T {
84
94
  getId() {
85
95
  return r;
86
96
  }
@@ -90,7 +100,7 @@ function R(r, t, n = ".ins-recommendation-product-container") {
90
100
  };
91
101
  }
92
102
  function j(r, t, n = ".ins-recommendation-product-container") {
93
- return class extends I {
103
+ return class extends C {
94
104
  getId() {
95
105
  return r;
96
106
  }
@@ -110,7 +120,7 @@ function v(r, t, n = ".ins-recommendation-product-container") {
110
120
  };
111
121
  }
112
122
  function w(r, t, n = ".ins-recommendation-product-container") {
113
- return class extends T {
123
+ return class extends I {
114
124
  getId() {
115
125
  return r;
116
126
  }
@@ -130,7 +140,7 @@ function D(r, t, n = ".ins-recommendation-product-container") {
130
140
  };
131
141
  }
132
142
  function E(r, t, n = ".ins-recommendation-product-container") {
133
- return class extends y {
143
+ return class extends m {
134
144
  getId() {
135
145
  return r;
136
146
  }
@@ -140,7 +150,7 @@ function E(r, t, n = ".ins-recommendation-product-container") {
140
150
  };
141
151
  }
142
152
  function G(r, t, n = ".ins-recommendation-product-container") {
143
- return class extends m {
153
+ return class extends y {
144
154
  getId() {
145
155
  return r;
146
156
  }
@@ -159,7 +169,7 @@ function H(r, t, n = ".ins-recommendation-product-container") {
159
169
  }
160
170
  };
161
171
  }
162
- function J(r, t, n = ".ins-recommendation-product-container") {
172
+ function J(r, t, n) {
163
173
  return class extends S {
164
174
  getId() {
165
175
  return r;
@@ -180,7 +190,7 @@ function K(r, t, n) {
180
190
  };
181
191
  }
182
192
  function O(r, t, n) {
183
- return class extends b {
193
+ return class extends a {
184
194
  getId() {
185
195
  return r;
186
196
  }
@@ -195,50 +205,30 @@ function Q(r, t, n) {
195
205
  return r;
196
206
  }
197
207
  getTargetNodes(e) {
198
- try {
199
- const o = e.closest(n);
200
- return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
201
- } catch {
202
- return [];
203
- }
204
- }
205
- };
206
- }
207
- function U(r, t, n) {
208
- return class extends x {
209
- getId() {
210
- return r;
211
- }
212
- getTargetNodes(e) {
213
- try {
214
- const o = e.closest(n);
215
- return o ? o.querySelectorAll(`[esd-extension-block-id="${t}"]`) : [];
216
- } catch {
217
- return [];
218
- }
208
+ return e.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
219
209
  }
220
210
  };
221
211
  }
222
212
  export {
223
213
  R as createButtonAlignControl,
224
- v as createButtonBorderControl,
225
- w as createButtonBorderRadiusControl,
226
- j as createButtonColorControl,
227
- O as createButtonFitToContainerControl,
228
- D as createButtonFontFamilyControl,
229
- E as createButtonMarginsControl,
230
- G as createButtonPaddingsControl,
231
- H as createButtonTextControl,
232
- J as createButtonTextSizeControl,
233
- K as createButtonTextStyleAndFontColorControl,
234
- U as createImageMarginsControl,
235
- Q as createImageSizeControl,
236
- h as createPaddingsControl,
237
- k as createTextAlignControl,
238
- P as createTextBackgroundColorControl,
239
- p as createTextColorControl,
240
- M as createTextFontFamilyControl,
214
+ j as createButtonBorderControl,
215
+ v as createButtonBorderRadiusControl,
216
+ h as createButtonColorControl,
217
+ K as createButtonFitToContainerControl,
218
+ w as createButtonFontFamilyControl,
219
+ D as createButtonMarginsControl,
220
+ E as createButtonPaddingsControl,
221
+ G as createButtonTextControl,
222
+ H as createButtonTextSizeControl,
223
+ J as createButtonTextStyleAndFontColorControl,
224
+ Q as createImageMarginsControl,
225
+ O as createImageSizeControl,
226
+ P as createPaddingsControl,
227
+ $ as createTextAlignControl,
228
+ M as createTextBackgroundColorControl,
229
+ k as createTextColorControl,
230
+ z as createTextFontFamilyControl,
241
231
  L as createTextLineSpacingControl,
242
- F as createTextSizeControl,
243
- z as createTextStyleControl
232
+ p as createTextSizeControl,
233
+ F as createTextStyleControl
244
234
  };
package/dist/guido.css CHANGED
@@ -1 +1 @@
1
- .gap-16[data-v-6562e38c],.gap-16[data-v-1ccb6d4a]{gap:16px}[data-v-3bf5c743] .in-button-v2__wrapper{line-height:0}[data-v-b5997368] .in-segments-wrapper .in-tooltip-wrapper__box{text-align:left}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.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}.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}.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-bb3bb07c] .guido__verion-history-view-option-selection-desktop svg,[data-v-bb3bb07c] .guido__verion-history-view-option-selection-mobile svg{margin:0 0 0 2px}[data-v-bb3bb07c] .in-segments-wrapper__button_selected,[data-v-bb3bb07c] .in-segments-wrapper__button_selected:hover{background-color:#dae1fb}.error-list[data-v-7a09985c]{gap:16px}[data-v-c2adc57d] .in-progress-wrapper__progress p span:last-child{display:none!important}.desktop-preview-container[data-v-b37f3f6d],[data-v-b37f3f6d] .desktop-preview-container .in-container{min-height:720px!important;height:100%}.cropped-text[data-v-4b876c1b]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[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-aa6fa221] .in-button-v2__wrapper{line-height:0}[data-v-913a3417] .in-progress-wrapper__progress p span:last-child{display:none!important}.version-history-item[data-v-ee4b9c3f]{flex-basis:200px}.version-history-wrapper[data-v-52a77eec]{gap:8px}.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}.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}.middle-slot__buttons[data-v-1245a10c]{gap:4px}.guido-loading__wrapper[data-v-07c4b2d8]{height:100%;top:75px!important;bottom:0!important}.guido-editor__wrapper[data-v-282ca4d1]{position:relative;width:100%;height:calc(100vh - 128px)}.guido-editor__container[data-v-282ca4d1]{width:100%;height:calc(100vh - 128px)}.guido-editor__no-header[data-v-282ca4d1]{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-a00b5f5f]{gap:16px}.desktop-preview[data-v-c696a488]{min-width:602px;height:70vh;min-height:583px;border-radius:10px}.desktop-preview__browser-header[data-v-c696a488]{height:79px;min-height:79px}.desktop-preview__browser-header-left[data-v-c696a488]{-webkit-user-drag:none;height:79px;width:378px}.desktop-preview__browser-header-center[data-v-c696a488]{height:79px;background-repeat:repeat-x;background-size:auto 100%;background-position:left top}.desktop-preview__browser-header-right[data-v-c696a488]{-webkit-user-drag:none;height:79px;width:112px}.desktop-preview iframe[data-v-c696a488]{min-height:504px}.iframe-wrapper[data-v-f413124b]{width:258px}.iframe-scaled[data-v-f413124b]{width:320px;height:124.0310077519%;transform:scale(.80625);transform-origin:top left}.cropped-text[data-v-d0c87cb5]{width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-row[data-v-d0c87cb5]{height:64px}.mobile-preview-wrapper__phone[data-v-f9d20813]{width:282px}.mobile-preview-wrapper__phone img[data-v-f9d20813]{object-fit:cover;border-radius:44px}.mobile-preview-wrapper__content[data-v-f9d20813]{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}