@useinsider/guido 2.0.0-beta.5ccd854 → 2.0.0-beta.5da4dde

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 (138) hide show
  1. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
  2. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
  3. package/dist/composables/useStripo.js +37 -35
  4. package/dist/config/migrator/index.js +8 -9
  5. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  6. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  7. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  8. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  9. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  10. package/dist/extensions/Blocks/Items/block.js +40 -39
  11. package/dist/extensions/Blocks/Items/controls/cardComposition.js +49 -46
  12. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +26 -28
  13. package/dist/extensions/Blocks/Items/controls/settingsControl.js +127 -132
  14. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +2 -2
  15. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +48 -58
  16. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +58 -48
  17. package/dist/extensions/Blocks/Items/store/items-block.js +2 -2
  18. package/dist/extensions/Blocks/Items/template.js +123 -296
  19. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +20 -11
  20. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  21. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  22. package/dist/extensions/Blocks/Recommendation/control.js +74 -59
  23. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  24. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  25. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  26. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  27. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  28. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  29. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  30. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  31. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  32. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  33. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  34. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  35. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  36. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  37. package/dist/extensions/Blocks/common-control.js +53 -64
  38. package/dist/extensions/Blocks/controlFactories.js +122 -111
  39. package/dist/guido.css +1 -1
  40. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +289 -368
  41. package/dist/package.json.js +7 -0
  42. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  43. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  44. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  45. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  46. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  47. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -20
  48. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  49. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  50. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  51. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  52. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  53. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  54. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  55. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  56. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  57. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  58. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  59. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  60. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  61. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  62. package/dist/src/extensions/Blocks/common-control.d.ts +8 -13
  63. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  64. package/dist/static/styles/components/wide-panel.css.js +0 -4
  65. package/dist/static/styles/customEditorStyle.css.js +13 -0
  66. package/package.json +3 -3
  67. package/dist/config/migrator/itemsBlockMigrator.js +0 -283
  68. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -172
  69. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  95. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  96. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  97. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  98. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  99. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  100. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  101. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  102. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  103. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  104. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -71
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  111. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  115. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  116. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -1,283 +0,0 @@
1
- var B = Object.defineProperty;
2
- var q = (o, t, r) => t in o ? B(o, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[t] = r;
3
- var A = (o, t, r) => q(o, typeof t != "symbol" ? t + "" : t, r);
4
- import { productPairs as L } from "../../extensions/Blocks/Items/enums/productEnums.js";
5
- import { ItemInCartOptions as I, DefaultConfigValues as m, SETTINGS_ENUMS as l } from "../../extensions/Blocks/Items/enums/settingsEnums.js";
6
- import { getDefaultTemplate as K } from "../../extensions/Blocks/Items/template.js";
7
- const V = {
8
- ins_apr_img: {
9
- pairsKey: "imageSrc",
10
- defaultKey: "DEFAULT",
11
- isArray: !0
12
- },
13
- ins_apr_name: {
14
- pairsKey: "name",
15
- defaultKey: "DEFAULT",
16
- isArray: !0
17
- },
18
- ins_apr_url: {
19
- pairsKey: "button",
20
- defaultKey: "DEFAULT_HREF",
21
- isArray: !1
22
- },
23
- ins_apr_formattedprice: {
24
- pairsKey: "price",
25
- defaultKey: "DEFAULT_PRICE_FORMATTED",
26
- isArray: !1
27
- },
28
- ins_apr_productcurrency: {
29
- pairsKey: "price",
30
- defaultKey: "DEFAULT_CURRENCY",
31
- isArray: !1
32
- },
33
- ins_apr_quantity: {
34
- pairsKey: "quantity",
35
- defaultKey: "DEFAULT",
36
- isArray: !1
37
- },
38
- ins_apr_price: {
39
- pairsKey: "price",
40
- defaultKey: "DEFAULT_PRICE",
41
- isArray: !1
42
- },
43
- ins_apr_originalprice: {
44
- pairsKey: "originalPrice",
45
- defaultKey: "DEFAULT_PRICE",
46
- isArray: !1
47
- },
48
- ins_apr_originalformattedprice: {
49
- pairsKey: "originalPrice",
50
- defaultKey: "DEFAULT_PRICE_FORMATTED",
51
- isArray: !1
52
- }
53
- };
54
- function U() {
55
- return String(Date.now() + Math.floor(Math.random() * 1e3));
56
- }
57
- function F(o) {
58
- return o ? {
59
- CartItems: l.ITEMS_TYPE.CART_ITEMS,
60
- BrowsedItems: l.ITEMS_TYPE.BROWSED_ITEMS,
61
- PurchasedItems: l.ITEMS_TYPE.PURCHASED_ITEMS,
62
- CART_ITEMS: l.ITEMS_TYPE.CART_ITEMS,
63
- BROWSED_ITEMS: l.ITEMS_TYPE.BROWSED_ITEMS,
64
- PURCHASED_ITEMS: l.ITEMS_TYPE.PURCHASED_ITEMS
65
- }[o] || l.ITEMS_TYPE.CART_ITEMS : l.ITEMS_TYPE.CART_ITEMS;
66
- }
67
- function D(o) {
68
- const t = (e, a) => e == null ? a : e === "1" || e === "true", r = (e, a) => e || a, c = o["data-type"] || o["data-source"], n = F(c);
69
- let i = o["data-cart_items_select_control_value"] || m.cartItemsSelectControlValue;
70
- if (i && !i.includes("{{") && /^\d+$/.test(i)) {
71
- const e = parseInt(i) - 1, a = I[n];
72
- a && a[e] && (i = a[e].value);
73
- }
74
- return {
75
- initialized: !0,
76
- blockInstanceId: r(o["data-block-instance-id"], U()),
77
- source: n,
78
- type: n,
79
- itemsSelectValue: i,
80
- orientation: o["data-card_orientation_control_value"] || l.ORIENTATION.VERTICAL,
81
- nameTrimming: t(o["data-product_name_trimming"], !0),
82
- nameControlEnabled: t(o["data-product_name_control_enabled"], !0),
83
- priceHideDiscount: t(o["data-product_price_hide_discount"], !1),
84
- priceFormatted: t(o["data-product_price_formatted"], !0),
85
- priceCurrencySymbol: r(
86
- o["data-product_price_currency_symbol"],
87
- m.productPriceCurrencySymbolControlValue
88
- ),
89
- priceCurrencyLocation: r(
90
- o["data-product_price_currency_location"],
91
- m.productPriceCurrencyLocationControlValue
92
- ),
93
- priceControlOpened: t(o["data-product_price_control_opened"], !0),
94
- priceOrientation: o["data-product_original_price_control_orientation"] || "horizontal",
95
- quantityControlEnabled: t(o["data-product_quantity_control_enabled"], !0),
96
- buttonLink: r(o["data-product_button_link"], m.productButtonLinkControlValue),
97
- imageLink: r(o["data-product_image_link"], m.productImageLinkControlValue),
98
- buttonLabel: r(o["data-product_button_control_label"], "Buy"),
99
- imageVisible: t(o["data-product_image_visible"], !0),
100
- nameVisible: t(o["data-product_name_visible"], !0),
101
- quantityVisible: t(o["data-product_quantity_visible"], !0),
102
- priceVisible: t(o["data-product_price_visible"], !0),
103
- originalPriceVisible: t(o["data-product_original_price_control_enabled"], !0),
104
- buttonVisible: t(o["data-product_button_visible"], !0)
105
- };
106
- }
107
- class w {
108
- constructor() {
109
- A(this, "parser");
110
- A(this, "DATA_TYPE", "CART_ITEMS");
111
- this.parser = new DOMParser();
112
- }
113
- migrate(t) {
114
- try {
115
- let r = this.removeJinjaConditionals(t);
116
- r = this.replaceTemplateVariables(r);
117
- const c = this.parser.parseFromString(r, "text/html"), n = c.querySelectorAll("td.esd-cart-items-block");
118
- return n.length === 0 ? (console.warn('ItemsBlockMigrator: No blocks found with selector "td.esd-cart-items-block"'), r) : (n.forEach((i) => {
119
- const e = this.extractConfiguration(i), a = K({
120
- orientation: e.orientation,
121
- itemsType: e.itemsType,
122
- itemId: e.itemId,
123
- currencySymbol: e.currencySymbol,
124
- currencyLocation: e.currencyLocation,
125
- formattedPrice: e.formattedPrice,
126
- configBlockAttributes: e.configBlockAttributes,
127
- migrate: !0,
128
- nameStyles: e.nameStyles,
129
- buttonStyles: e.buttonStyles,
130
- priceStyles: e.priceStyles,
131
- originalPriceStyles: e.originalPriceStyles,
132
- quantityStyles: e.quantityStyles,
133
- nodeConfig: D(e.configBlockAttributes)
134
- }), u = this.parser.parseFromString(
135
- `<table><tbody><tr>${a}</tr></tbody></table>`,
136
- "text/html"
137
- ).querySelector("td");
138
- if (u && i.parentNode) {
139
- const s = D(e.configBlockAttributes);
140
- u.setAttribute("esd-ext-config", JSON.stringify(s));
141
- const p = u.querySelector("esd-config-block");
142
- p && p.remove(), i.parentNode.replaceChild(u, i);
143
- }
144
- }), c.documentElement.outerHTML);
145
- } catch (r) {
146
- return console.error("ItemsBlockMigrator failed:", r), t;
147
- }
148
- }
149
- /**
150
- * Extracts configuration from legacy HTML block
151
- * Parses data attributes and structure to determine:
152
- * - orientation, itemsType, itemNumber, currency settings, esd-config-block attributes
153
- * - UI styles from product elements (name, price, button, quantity, etc.)
154
- */
155
- extractConfiguration(t) {
156
- var E, C, P;
157
- const r = ((E = t.querySelector("[data-type]")) == null ? void 0 : E.getAttribute("data-type")) || "CART_ITEMS", c = ((C = t.querySelector("[data-number]")) == null ? void 0 : C.getAttribute("data-number")) || "1", n = parseInt(c) - 1, i = I[r], e = ((P = i == null ? void 0 : i[n]) == null ? void 0 : P.value) || i[0].value, a = t.querySelector('[product-attr="price"]'), _ = (a == null ? void 0 : a.getAttribute("data-currency_symbol")) || void 0, s = ((a == null ? void 0 : a.getAttribute("data-curency")) || "before") === "after" ? "1" : "0", p = (a == null ? void 0 : a.getAttribute("data-formated")) !== "false", y = this.extractConfigBlockAttributes(t, r), f = y["data-product_original_price_control_orientation"] === "vertical" ? "vertical" : "horizontal", d = t.querySelector('a[product-attr="name"]'), v = (d == null ? void 0 : d.getAttribute("style")) || void 0, b = t.querySelector('a[product-attr="button"]'), M = (b == null ? void 0 : b.getAttribute("style")) || void 0, h = (a == null ? void 0 : a.getAttribute("style")) || void 0, S = t.querySelector('[product-attr="originalPrice"]'), R = (S == null ? void 0 : S.getAttribute("style")) || void 0, T = t.querySelector('[product-attr="quantity"]'), k = (T == null ? void 0 : T.getAttribute("style")) || void 0;
158
- return {
159
- orientation: f,
160
- itemsType: r,
161
- itemId: e,
162
- currencySymbol: _,
163
- currencyLocation: s,
164
- formattedPrice: p,
165
- configBlockAttributes: y,
166
- nameStyles: v,
167
- buttonStyles: M,
168
- priceStyles: h,
169
- originalPriceStyles: R,
170
- quantityStyles: k
171
- };
172
- }
173
- /**
174
- * Extracts all data-* attributes from the esd-config-block element
175
- * Returns a key-value mapping of all configuration attributes
176
- * @param block - The block element containing the esd-config-block
177
- * @param itemsType - The type of items (CART_ITEMS, BROWSED_ITEMS, PURCHASED_ITEMS)
178
- */
179
- extractConfigBlockAttributes(t, r) {
180
- const c = t.querySelector("esd-config-block"), n = {};
181
- if (!c)
182
- return this.getDefaultConfigBlockAttributes();
183
- if (Array.from(c.attributes).forEach((e) => {
184
- e.name.startsWith("data-") && (n[e.name] = e.value);
185
- }), n["data-cart_items_select_control_value"]) {
186
- const e = n["data-cart_items_select_control_value"];
187
- if (/^\d+$/.test(e)) {
188
- const a = parseInt(e) - 1, _ = I[r];
189
- _ && _[a] && (n["data-cart_items_select_control_value"] = _[a].value);
190
- }
191
- }
192
- if (n["data-product_price_control_curency"]) {
193
- const e = n["data-product_price_control_curency"];
194
- e === "before" ? n["data-product_price_control_curency"] = "0" : e === "after" && (n["data-product_price_control_curency"] = "1");
195
- }
196
- (!n["data-product_price_currency_symbol"] || n["data-product_price_currency_symbol"].trim() === "") && (n["data-product_price_currency_symbol"] = "USD");
197
- const i = { ...this.getDefaultConfigBlockAttributes(), ...n };
198
- return i["data-type"] = r, i["data-source"] = r, i;
199
- }
200
- /**
201
- * Returns default esd-config-block attributes based on the old template structure
202
- * These serve as fallbacks when attributes are missing
203
- */
204
- getDefaultConfigBlockAttributes() {
205
- return {
206
- "data-type": "CART_ITEMS",
207
- "data-product_image_control_opened": "false",
208
- "data-product_image_control_image-width": "250",
209
- "data-product_image_control_image-height": "250",
210
- "data-product_image_control_align_button": "true",
211
- "data-product_image_control_padding_mobile": "true",
212
- "data-product_name_control_opened": "false",
213
- "data-product_quantity_control_opened": "true",
214
- // DONE
215
- "data-product_quantity_control_enabled": "false",
216
- "data-product_name_control_font_font_size": "20",
217
- "data-product_price_control_opened": "false",
218
- "data-product_price_control_font_font_size": "20",
219
- "data-product_price_control_color": "#060606",
220
- "data-product_price_control_curency": "0",
221
- "data-product_price_currency_symbol": "USD",
222
- "data-product_original_price_control_opened": "false",
223
- "data-product_original_price_control_font_font_size": "19",
224
- "data-product_original_price_control_align_align_desktop": "center",
225
- "data-product_original_price_control_orientation": "vertical",
226
- "data-product_button_control_opened": "true",
227
- "data-product_button_control_label": "Comprar",
228
- // DONE
229
- "data-product_button_control_font_font_size": "17",
230
- "data-product_button_control_color": "#ffffff",
231
- "data-product_button_control_background": "#010101",
232
- "data-product_button_control_atw": "false",
233
- "data-product_original_price_control_enabled": "false"
234
- };
235
- }
236
- /**
237
- * Removes Jinja2 conditional statements from HTML
238
- * - Removes {% if ins_apr_total_product_kind > N %}
239
- * - Removes {% if ins_apr_price_N != ins_apr_originalprice_N %}
240
- * - Removes {% endif %}
241
- */
242
- removeJinjaConditionals(t) {
243
- let r = t.replace(/\{%\s*if\s+ins_apr_total_product_kind\s*(&gt;|>)\s*\d+\s*%\}/g, "");
244
- return r = r.replace(/\{%\s*if\s+ins_apr_price_\d+\s*(!&#61;|!=)\s*ins_apr_originalprice_\d+\s*%\}/g, ""), r = r.replace(/\{%\s*endif\s*%\}/g, ""), r = r.replace(/\n\s*\n\s*\n/g, `
245
-
246
- `), r;
247
- }
248
- /**
249
- * Replaces template variables with default values from productPairs
250
- *
251
- * Examples:
252
- * - {{ins_apr_img_1}} → https://s3.../ins_apr_img_1.jpeg (array-based, uses index 0)
253
- * - {{ins_apr_name_2}} → 'Set of Sprite Yoga Straps' (array-based, uses index 1)
254
- * - {{ins_apr_formattedprice_1}} → '1,100.00' (single value, ignores index)
255
- * - {{ins_apr_url_3}} → '#!' (single value, ignores index)
256
- */
257
- replaceTemplateVariables(t) {
258
- const { PAIRS_FOR_EXTENSION: r } = L;
259
- return t.replace(/{{([^}]+)}}/g, (c, n) => {
260
- const i = n.match(/^(ins_apr_[a-z]+)_(\d+)$/);
261
- if (!i)
262
- return c;
263
- const [, e, a] = i, _ = V[e];
264
- if (!_)
265
- return console.warn(`Unknown variable mapping for: ${e}`), c;
266
- const { pairsKey: u, defaultKey: s, isArray: p } = _, y = r[u][this.DATA_TYPE];
267
- if (!y)
268
- return console.warn(`No data found for: ${u}.${this.DATA_TYPE}`), c;
269
- if (p) {
270
- const f = parseInt(a) - 1, d = y[s];
271
- return Array.isArray(d) && d[f] ? d[f] : (console.warn(`Array value not found: ${u}.${this.DATA_TYPE}.${s}[${f}]`), c);
272
- }
273
- const g = y[s];
274
- return g !== void 0 ? String(g) : (console.warn(`Default value not found: ${u}.${this.DATA_TYPE}.${s}`), c);
275
- });
276
- }
277
- }
278
- function $(o) {
279
- return new w().migrate(o);
280
- }
281
- export {
282
- $ as migrateItemsBlock
283
- };
@@ -1,172 +0,0 @@
1
- import { ModificationDescription as _ } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { DefaultConfigValues as e, SETTINGS_ENUMS as n, ItemInCartOptions as g } from "../enums/settingsEnums.js";
3
- function d() {
4
- return String(Date.now() + Math.floor(Math.random() * 1e3));
5
- }
6
- function f() {
7
- return {
8
- initialized: !0,
9
- blockInstanceId: d(),
10
- source: n.ITEMS_TYPE.CART_ITEMS,
11
- type: n.ITEMS_TYPE.CART_ITEMS,
12
- itemsSelectValue: e.cartItemsSelectControlValue,
13
- orientation: n.ORIENTATION.VERTICAL,
14
- nameTrimming: e.productNameTrimmingControlValue === "1",
15
- nameControlEnabled: e.productNameControlEnabled === "1",
16
- priceHideDiscount: e.productPriceHideDiscountControlValue === "1",
17
- priceFormatted: e.productPriceFormattedControlValue === "1",
18
- priceCurrencySymbol: e.productPriceCurrencySymbolControlValue,
19
- priceCurrencyLocation: e.productPriceCurrencyLocationControlValue,
20
- priceControlOpened: e.productPriceControlOpened === "1",
21
- priceOrientation: "horizontal",
22
- quantityControlEnabled: e.productQuantityControlEnabled === "1",
23
- buttonLink: e.productButtonLinkControlValue,
24
- imageLink: e.productImageLinkControlValue,
25
- buttonLabel: "Buy",
26
- imageVisible: e.productImageVisible === "1",
27
- nameVisible: e.productNameVisible === "1",
28
- quantityVisible: e.productQuantityVisible === "1",
29
- priceVisible: e.productPriceVisible === "1",
30
- originalPriceVisible: e.productOriginalPriceVisible === "1",
31
- buttonVisible: e.productButtonVisible === "1"
32
- };
33
- }
34
- function s(r) {
35
- if (!r)
36
- return null;
37
- const t = r.closest(".items-block-v2");
38
- return t || r.closest(".esd-cart-items-block");
39
- }
40
- function m(r) {
41
- return r ? {
42
- CartItems: n.ITEMS_TYPE.CART_ITEMS,
43
- BrowsedItems: n.ITEMS_TYPE.BROWSED_ITEMS,
44
- PurchasedItems: n.ITEMS_TYPE.PURCHASED_ITEMS,
45
- // Also handle already correct formats
46
- CART_ITEMS: n.ITEMS_TYPE.CART_ITEMS,
47
- BROWSED_ITEMS: n.ITEMS_TYPE.BROWSED_ITEMS,
48
- PURCHASED_ITEMS: n.ITEMS_TYPE.PURCHASED_ITEMS
49
- }[r] || n.ITEMS_TYPE.CART_ITEMS : n.ITEMS_TYPE.CART_ITEMS;
50
- }
51
- function C(r, t) {
52
- if (!r)
53
- return e.cartItemsSelectControlValue;
54
- if (r.includes("{{"))
55
- return r;
56
- if (/^\d+$/.test(r)) {
57
- const i = parseInt(r) - 1, o = g[t];
58
- if (o && o[i])
59
- return o[i].value;
60
- }
61
- return e.cartItemsSelectControlValue;
62
- }
63
- function I(r) {
64
- const t = r.querySelector("esd-config-block");
65
- if (!t)
66
- return null;
67
- const i = (c, a) => c == null ? a : c === "1" || c === "true", o = (c, a) => c || a, l = t.getAttribute("data-type"), u = m(l), p = t.getAttribute("data-cart_items_select_control_value"), b = C(p, u);
68
- return {
69
- initialized: i(t.getAttribute("data-initialized"), !1),
70
- blockInstanceId: o(
71
- t.getAttribute("data-block-instance-id"),
72
- d()
73
- ),
74
- source: u,
75
- type: u,
76
- itemsSelectValue: b,
77
- orientation: t.getAttribute("data-card_orientation_control_value") || n.ORIENTATION.VERTICAL,
78
- nameTrimming: i(
79
- t.getAttribute("data-product_name_trimming"),
80
- !0
81
- ),
82
- nameControlEnabled: i(
83
- t.getAttribute("data-product_name_control_enabled"),
84
- !0
85
- ),
86
- priceHideDiscount: i(
87
- t.getAttribute("data-product_price_hide_discount"),
88
- !0
89
- ),
90
- priceFormatted: i(
91
- t.getAttribute("data-product_price_formatted"),
92
- !0
93
- ),
94
- priceCurrencySymbol: o(
95
- t.getAttribute("data-product_price_currency_symbol"),
96
- e.productPriceCurrencySymbolControlValue
97
- ),
98
- priceCurrencyLocation: o(
99
- t.getAttribute("data-product_price_currency_location"),
100
- e.productPriceCurrencyLocationControlValue
101
- ),
102
- priceControlOpened: i(
103
- t.getAttribute("data-product_price_control_opened"),
104
- !0
105
- ),
106
- priceOrientation: t.getAttribute("data-product_original_price_control_orientation") || "horizontal",
107
- quantityControlEnabled: i(
108
- t.getAttribute("data-product_quantity_control_enabled"),
109
- !0
110
- ),
111
- buttonLink: o(
112
- t.getAttribute("data-product_button_link"),
113
- e.productButtonLinkControlValue
114
- ),
115
- imageLink: o(
116
- t.getAttribute("data-product_image_link"),
117
- e.productImageLinkControlValue
118
- ),
119
- buttonLabel: o(
120
- t.getAttribute("data-product_button_control_label"),
121
- "Buy"
122
- ),
123
- imageVisible: i(
124
- t.getAttribute("data-product_image_visible"),
125
- !0
126
- ),
127
- nameVisible: i(
128
- t.getAttribute("data-product_name_visible"),
129
- !0
130
- ),
131
- quantityVisible: i(
132
- t.getAttribute("data-product_quantity_visible"),
133
- !0
134
- ),
135
- priceVisible: i(
136
- t.getAttribute("data-product_price_visible"),
137
- !0
138
- ),
139
- originalPriceVisible: i(
140
- t.getAttribute("data-product_original_price_control_enabled"),
141
- !0
142
- ),
143
- buttonVisible: i(
144
- t.getAttribute("data-product_button_visible"),
145
- !0
146
- )
147
- };
148
- }
149
- function S(r) {
150
- const t = s(r);
151
- if (!t)
152
- return null;
153
- const i = t.getNodeConfig();
154
- if (i && i.initialized)
155
- return i;
156
- const o = I(t);
157
- return o || null;
158
- }
159
- function y(r, t, i) {
160
- const o = s(r);
161
- if (!o)
162
- return;
163
- const u = { ...o.getNodeConfig() || {}, ...i };
164
- t.getDocumentModifier().modifyHtml(o).setNodeConfig(u).apply(new _("Update Items block configuration"));
165
- }
166
- export {
167
- d as generateBlockInstanceId,
168
- f as getDefaultItemsBlockConfig,
169
- S as getItemsBlockConfig,
170
- s as getItemsBlockContainer,
171
- y as setItemsBlockConfig
172
- };
@@ -1,13 +0,0 @@
1
- import { ButtonAlignBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends t {
4
- getId() {
5
- return e.BUTTON_ALIGN;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonAlignControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonBorderBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends t {
4
- getId() {
5
- return e.BUTTON_BORDER;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonBorderControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonBorderRadiusBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class i extends t {
4
- getId() {
5
- return e.BUTTON_BORDER_RADIUS;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- i as ButtonBorderRadiusControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonColorBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends t {
4
- getId() {
5
- return e.BUTTON_COLOR;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonColorControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonFitToContainerBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return e.BUTTON_FIT_TO_CONTENT;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonFitToContentControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonFontFamilyBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return e.BUTTON_FONT_FAMILY;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonFontFamilyControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class m extends o {
4
- getId() {
5
- return e.BUTTON_MARGINS;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- m as ButtonMarginsControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonPaddingsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class i extends o {
4
- getId() {
5
- return e.BUTTON_PADDINGS;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- i as ButtonPaddingsControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonTextBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends o {
4
- getId() {
5
- return e.BUTTON_TEXT;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonTextControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonTextSizeBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as o, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends e {
4
- getId() {
5
- return o.BUTTON_TEXT_SIZE;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonTextSizeControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonTextStyleAndFontColorBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return e.BUTTON_TEXT_STYLE_AND_FONT_COLOR;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonTextStyleAndFontColorControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ImageMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
- class l extends o {
4
- getId() {
5
- return t.IMAGE_MARGINS;
6
- }
7
- getTargetNodes(e) {
8
- return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.IMAGE}"]`);
9
- }
10
- }
11
- export {
12
- l as ImageMarginsControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ImageSizeBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return t.IMAGE_SIZE;
6
- }
7
- getTargetNodes(e) {
8
- return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.IMAGE}"]`);
9
- }
10
- }
11
- export {
12
- s as ImageSizeControl
13
- };
@@ -1,13 +0,0 @@
1
- import { TextAlignBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as t, RecommendationBlockId as n } from "../../constants.js";
3
- class m extends o {
4
- getId() {
5
- return t.NAME_ALIGN;
6
- }
7
- getTargetNodes(e) {
8
- return e.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.NAME}"]`);
9
- }
10
- }
11
- export {
12
- m as NameAlignControl
13
- };
@@ -1,13 +0,0 @@
1
- import { TextBlockBackgroundBuiltInControl as e } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as t, RecommendationBlockId as r } from "../../constants.js";
3
- class m extends e {
4
- getId() {
5
- return t.NAME_BACKGROUND;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${r.NAME}"]`);
9
- }
10
- }
11
- export {
12
- m as NameBackgroundControl
13
- };