@useinsider/guido 3.14.0-beta.1e474dd → 3.14.0-beta.38ec3aa

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 (27) hide show
  1. package/dist/composables/useEmailTemplateApplier.js +46 -32
  2. package/dist/composables/useHtmlValidator.js +50 -50
  3. package/dist/config/i18n/en/labels.json.js +3 -7
  4. package/dist/config/migrator/recommendation/compositionMapper.js +23 -26
  5. package/dist/config/migrator/recommendation/htmlBuilder.js +155 -156
  6. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +13 -15
  7. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +314 -346
  8. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +43 -44
  9. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +16 -16
  10. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +16 -16
  11. package/dist/extensions/Blocks/Recommendation/templates/utils.js +120 -120
  12. package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +54 -55
  13. package/dist/extensions/Blocks/common-control.js +35 -42
  14. package/dist/src/composables/useHtmlValidator.d.ts +2 -3
  15. package/dist/src/config/migrator/recommendation/types.d.ts +0 -1
  16. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
  17. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -4
  18. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +5 -22
  19. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +11 -12
  20. package/dist/src/extensions/Blocks/common-control.d.ts +1 -3
  21. package/dist/src/stores/dynamic-content.d.ts +8 -0
  22. package/dist/src/utils/registerUsedDynamicContent.d.ts +8 -0
  23. package/dist/stores/dynamic-content.js +12 -2
  24. package/dist/utils/registerUsedDynamicContent.js +23 -0
  25. package/package.json +1 -1
  26. package/dist/extensions/Blocks/Recommendation/utils/compositionKeys.js +0 -89
  27. package/dist/src/extensions/Blocks/Recommendation/utils/compositionKeys.d.ts +0 -52
@@ -1,9 +1,8 @@
1
- import { ATTR_PRODUCT_PRICE as l, ATTR_PRODUCT_OLD_PRICE as a, ATTR_CUSTOM_PREFIX as T, ATTR_PRODUCT_IMAGE as m, ATTR_PRODUCT_NAME as C, ATTR_PRODUCT_OMNIBUS_PRICE as _, ATTR_PRODUCT_OMNIBUS_DISCOUNT as p, ATTR_PRODUCT_BUTTON as y, PRODUCT_ATTRIBUTE_PREFIX as I } from "../constants/selectors.js";
2
- import { useRecommendationExtensionStore as L } from "../store/recommendation.js";
3
- import { compositionKeyToProductAttr as A, isDefaultProductAttr as b, bareAttributeName as S, findFilterByBareName as $, productAttrToCompositionKey as h } from "../utils/compositionKeys.js";
4
- import { formatPrice as B } from "../utils/priceFormatter.js";
5
- function k() {
6
- const t = L(), { currencySettings: e } = t.recommendationConfigs;
1
+ import { ATTR_PRODUCT_PRICE as c, ATTR_PRODUCT_OLD_PRICE as l, ATTR_CUSTOM_PREFIX as a, PRODUCT_ATTRIBUTE_PREFIX as u, ATTR_PRODUCT_IMAGE as f, ATTR_PRODUCT_NAME as T, ATTR_PRODUCT_OMNIBUS_PRICE as C, ATTR_PRODUCT_OMNIBUS_DISCOUNT as p, ATTR_PRODUCT_BUTTON as _ } from "../constants/selectors.js";
2
+ import { useRecommendationExtensionStore as D } from "../store/recommendation.js";
3
+ import { formatPrice as O } from "../utils/priceFormatter.js";
4
+ function E() {
5
+ const t = D(), { currencySettings: e } = t.recommendationConfigs;
7
6
  return {
8
7
  code: e.value,
9
8
  symbol: e.symbol,
@@ -13,136 +12,137 @@ function k() {
13
12
  thousandSeparator: e.thousandSeparator
14
13
  };
15
14
  }
16
- function f(t, e = "price") {
17
- const o = k(), n = t[e], c = (n == null ? void 0 : n[o.code]) ?? Object.values(n ?? {})[0] ?? 0;
18
- return B({
19
- price: c,
20
- currency: o
15
+ function m(t, e = "price") {
16
+ const n = E(), o = t[e], r = (o == null ? void 0 : o[n.code]) ?? Object.values(o ?? {})[0] ?? 0;
17
+ return O({
18
+ price: r,
19
+ currency: n
21
20
  });
22
21
  }
23
- function q(t) {
24
- return f(t, "price") === f(t, "original_price");
22
+ function Y(t) {
23
+ return m(t, "price") === m(t, "original_price");
25
24
  }
26
- function x(t) {
25
+ function I(t) {
27
26
  return t.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase());
28
27
  }
29
- function J(t) {
30
- const e = t.indexOf(l), o = t.indexOf(a), n = o !== -1 && (e === -1 || o < e);
28
+ function G(t) {
29
+ const e = t.indexOf(c), n = t.indexOf(l), o = n !== -1 && (e === -1 || n < e);
31
30
  return {
32
- originalFirst: n,
33
- anchor: n ? a : l,
34
- skip: n ? l : a
31
+ originalFirst: o,
32
+ anchor: o ? l : c,
33
+ skip: o ? c : l
35
34
  };
36
35
  }
37
- function N(t) {
36
+ function $(t) {
38
37
  const e = Array.isArray(t) ? t[t.length - 1] : t;
39
38
  if (typeof e == "string")
40
39
  return e;
41
40
  if (typeof e == "number")
42
41
  return String(e);
43
42
  }
44
- function w(t, e) {
45
- var o;
46
- return ((o = $(t, e)) == null ? void 0 : o.type) === "defaultAttribute";
43
+ function h(t, e) {
44
+ const n = Object.values(e).find((o) => o.attributeName === t);
45
+ return (n == null ? void 0 : n.type) === "defaultAttribute";
47
46
  }
48
- function F(t, e) {
49
- return w(t, e) ? t : `${I}${t}`;
47
+ function L(t, e) {
48
+ return h(t, e) ? t : `${u}${t}`;
50
49
  }
51
- function Q(t) {
52
- return h(t);
50
+ function j(t) {
51
+ const e = t.startsWith(u) ? t.substring(u.length) : t;
52
+ return `${a}${e}`;
53
53
  }
54
- const v = Symbol("customCellHtml");
55
- function Z(t, e, o = {}) {
56
- const n = t[v];
57
- if (!n)
54
+ const x = Symbol("customCellHtml");
55
+ function z(t, e, n = {}) {
56
+ const o = t[x];
57
+ if (!o)
58
58
  return { ...t };
59
- const c = { ...t };
60
- return e.filter((s) => s.startsWith(T) && !c[s]).forEach((s) => {
61
- const i = A(s), r = b(i) ? F(i, o) : i, u = S(r), R = x(u), D = b(r);
62
- c[s] = (d, U) => {
63
- var g;
64
- const E = D ? d[u] : (g = d.product_attributes) == null ? void 0 : g[u], O = N(E) ?? R;
65
- return n(r, O, U);
59
+ const r = { ...t };
60
+ return e.filter((s) => s.startsWith(a) && !r[s]).forEach((s) => {
61
+ const i = s.substring(a.length), d = I(i), S = L(i, n), A = h(i, n);
62
+ r[s] = (g, R) => {
63
+ var b;
64
+ const P = A ? g[i] : (b = g.product_attributes) == null ? void 0 : b[i], U = $(P) ?? d;
65
+ return o(S, U, R);
66
66
  };
67
- }), c;
67
+ }), r;
68
68
  }
69
- function tt(t, e, o = []) {
70
- const n = t.startsWith(T) ? h(S(A(t))) : t, s = n !== t && !o.includes(n) ? n : t, i = (r) => (r == null ? void 0 : r[t]) ?? (r == null ? void 0 : r[s]);
69
+ function V(t, e) {
70
+ var n, o, r, s, i;
71
71
  return {
72
72
  cellPadding: e.cellPadding,
73
73
  cardBackgroundColor: e.cardBackgroundColor,
74
- cellBackgroundColor: i(e.cellBackgroundColors),
75
- cellAlignment: i(e.cellAlignments),
76
- cellClasses: i(e.cellClasses),
77
- omnibusText: i(e.omnibusTexts),
78
- styleTemplate: i(e.styleTemplates)
74
+ cellBackgroundColor: (n = e.cellBackgroundColors) == null ? void 0 : n[t],
75
+ cellAlignment: (o = e.cellAlignments) == null ? void 0 : o[t],
76
+ cellClasses: (r = e.cellClasses) == null ? void 0 : r[t],
77
+ omnibusText: (s = e.omnibusTexts) == null ? void 0 : s[t],
78
+ styleTemplate: (i = e.styleTemplates) == null ? void 0 : i[t]
79
79
  };
80
80
  }
81
- const et = {
81
+ const X = {
82
82
  TITLE: "You May Also Like!"
83
- }, ot = [
84
- m,
85
- C,
86
- a,
83
+ }, K = [
84
+ f,
85
+ T,
87
86
  l,
88
- _,
87
+ c,
88
+ C,
89
89
  p,
90
- y
91
- ], nt = {
92
- [m]: !0,
93
- [C]: !0,
90
+ _
91
+ ], q = {
92
+ [f]: !0,
93
+ [T]: !0,
94
+ [c]: !0,
94
95
  [l]: !0,
95
- [a]: !0,
96
- [_]: !1,
96
+ [C]: !1,
97
97
  [p]: !1,
98
- [y]: !0
99
- }, M = 10;
100
- function W(t = M) {
98
+ [_]: !0
99
+ }, B = 10;
100
+ function k(t = B) {
101
101
  return `
102
102
  <tr>
103
103
  <td class="spacer" style="height: ${t}px;"></td>
104
104
  </tr>
105
105
  `;
106
106
  }
107
- const H = W();
108
- function V(t, e) {
107
+ const v = k();
108
+ function w(t, e) {
109
109
  return e ? e.pStyle ?? "" : t;
110
110
  }
111
- function rt(t, e, o) {
112
- const n = V(e.pStyle, o), c = o ? o.openTags ?? "" : e.openTags, s = o ? o.closeTags ?? "" : e.closeTags;
113
- return `<p contenteditable="false" style="${n}">${c}${t}${s}</p>`;
111
+ function J(t, e, n) {
112
+ const o = w(e.pStyle, n), r = n ? n.openTags ?? "" : e.openTags, s = n ? n.closeTags ?? "" : e.closeTags;
113
+ return `<p contenteditable="false" style="${o}">${r}${t}${s}</p>`;
114
114
  }
115
- function st(t, e) {
116
- const o = [];
117
- return t && o.push(t), e && o.push(`background-color: ${e};`), o.join(" ");
115
+ function Q(t, e) {
116
+ const n = [];
117
+ return t && n.push(t), e && n.push(`background-color: ${e};`), n.join(" ");
118
118
  }
119
- function Y(t) {
119
+ function N(t) {
120
120
  return t ? ` background-color: ${t};` : "";
121
121
  }
122
- function it(t) {
123
- const e = Y(t);
122
+ function Z(t) {
123
+ const e = N(t);
124
124
  return e ? ` style="${e.trim()}"` : "";
125
125
  }
126
- function ct(t, e = "") {
126
+ function tt(t, e = "") {
127
127
  return {
128
128
  before: (t == null ? void 0 : t.before) ?? e,
129
129
  after: (t == null ? void 0 : t.after) ?? ""
130
130
  };
131
131
  }
132
- function lt(t, e) {
132
+ function et(t, e) {
133
133
  return `${(e == null ? void 0 : e.openTags) ?? ""}${t}${(e == null ? void 0 : e.closeTags) ?? ""}`;
134
134
  }
135
- function at(t) {
135
+ function nt(t) {
136
136
  return t != null && t.buttonFitToContainer ? "es-button-border es-fw" : "es-button-border";
137
137
  }
138
- const ut = "display: block; max-width: 100%; height: auto;", dt = "border-width: 1px; background: rgb(217, 234, 211); border-color: rgb(106, 168, 79);", gt = "color: rgb(56, 118, 29); background: rgb(217, 234, 211); font-family: arial, 'helvetica neue', helvetica, sans-serif; font-size: 16px; font-weight: normal; line-height: 120%; mso-border-alt: 10px solid rgb(217, 234, 211); mso-padding-alt: 0;", P = "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png";
139
- function bt(t) {
140
- return !t || typeof t != "string" || t.trim() === "" ? P : t.startsWith("http://") ? t.replace("http://", "https://") : t;
138
+ const ot = "display: block; max-width: 100%; height: auto;", rt = "border-width: 1px; background: rgb(217, 234, 211); border-color: rgb(106, 168, 79);", st = "color: rgb(56, 118, 29); background: rgb(217, 234, 211); font-family: arial, 'helvetica neue', helvetica, sans-serif; font-size: 16px; font-weight: normal; line-height: 120%; mso-border-alt: 10px solid rgb(217, 234, 211); mso-padding-alt: 0;", y = "https://email-static.useinsider.com/stripo/modules/email-recommendation-v3/assets/images/image-placeholder.png";
139
+ function it(t) {
140
+ return !t || typeof t != "string" || t.trim() === "" ? y : t.startsWith("http://") ? t.replace("http://", "https://") : t;
141
141
  }
142
- function G(t) {
142
+ function F(t) {
143
143
  return {
144
144
  name: "Product Name",
145
- image_url: P,
145
+ image_url: y,
146
146
  price: { USD: 18 },
147
147
  original_price: { USD: 20 },
148
148
  discount: { USD: 2 },
@@ -154,19 +154,19 @@ function G(t) {
154
154
  category: []
155
155
  };
156
156
  }
157
- function ft(t = 6) {
157
+ function ct(t = 6) {
158
158
  return Array.from(
159
159
  { length: t },
160
- (e, o) => G(String(o + 1))
160
+ (e, n) => F(String(n + 1))
161
161
  );
162
162
  }
163
- function Tt(t = "grid", e) {
164
- const o = t === "list" ? `
165
- data-layout="list"` : "", n = e ? ` ${e}` : "";
163
+ function lt(t = "grid", e) {
164
+ const n = t === "list" ? `
165
+ data-layout="list"` : "", o = e ? ` ${e}` : "";
166
166
  return `
167
167
  <td
168
168
  align="left"
169
- class="${`recommendation-block-v2 esd-block-recommendation-v3-block es-p20${t === "list" ? " es-m-p0 ins-recommendation-list-layout" : ""}${n}`}"${o}>
169
+ class="${`recommendation-block-v2 esd-block-recommendation-v3-block es-p20${t === "list" ? " es-m-p0 ins-recommendation-list-layout" : ""}${o}`}"${n}>
170
170
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
171
171
  <tr>
172
172
  <td align="center">
@@ -198,7 +198,7 @@ function Tt(t = "grid", e) {
198
198
  </table>
199
199
  </td>
200
200
  </tr>
201
- ${H}
201
+ ${v}
202
202
  <tr>
203
203
  <td>
204
204
  <table
@@ -237,37 +237,37 @@ function Tt(t = "grid", e) {
237
237
  `;
238
238
  }
239
239
  export {
240
- v as CUSTOM_CELL_HTML,
241
- et as DEFAULTS,
242
- gt as DEFAULT_BUTTON_ANCHOR_STYLE,
243
- dt as DEFAULT_BUTTON_BORDER_STYLE,
244
- ot as DEFAULT_CARD_COMPOSITION,
245
- nt as DEFAULT_CARD_VISIBILITY,
246
- ut as DEFAULT_IMG_STYLE,
247
- M as DEFAULT_ROW_SPACING_PX,
248
- P as PLACEHOLDER_IMAGE,
249
- Y as bgColorFragment,
250
- tt as buildCellOptions,
251
- Z as buildElementRenderer,
252
- W as buildSpacer,
253
- it as cellBgStyleAttr,
254
- Tt as createBlockTemplate,
255
- f as formatProductPrice,
256
- k as getCurrentCurrencyConfig,
257
- ft as getDefaultProducts,
258
- w as isDefaultAttribute,
259
- q as isSamePrice,
260
- lt as renderButtonLabel,
261
- rt as renderStyledParagraph,
262
- at as resolveButtonBorderClass,
263
- J as resolveInlinePriceOrder,
264
- ct as resolveOmnibusText,
265
- V as resolvePStyle,
266
- F as resolveProductAttrValue,
267
- st as resolveSegmentBgStyle,
268
- bt as sanitizeImageUrl,
269
- H as spacer,
270
- Q as toCustomCompositionKey,
271
- x as toDisplayName,
272
- N as toDisplayableAttributeValue
240
+ x as CUSTOM_CELL_HTML,
241
+ X as DEFAULTS,
242
+ st as DEFAULT_BUTTON_ANCHOR_STYLE,
243
+ rt as DEFAULT_BUTTON_BORDER_STYLE,
244
+ K as DEFAULT_CARD_COMPOSITION,
245
+ q as DEFAULT_CARD_VISIBILITY,
246
+ ot as DEFAULT_IMG_STYLE,
247
+ B as DEFAULT_ROW_SPACING_PX,
248
+ y as PLACEHOLDER_IMAGE,
249
+ N as bgColorFragment,
250
+ V as buildCellOptions,
251
+ z as buildElementRenderer,
252
+ k as buildSpacer,
253
+ Z as cellBgStyleAttr,
254
+ lt as createBlockTemplate,
255
+ m as formatProductPrice,
256
+ E as getCurrentCurrencyConfig,
257
+ ct as getDefaultProducts,
258
+ h as isDefaultAttribute,
259
+ Y as isSamePrice,
260
+ et as renderButtonLabel,
261
+ J as renderStyledParagraph,
262
+ nt as resolveButtonBorderClass,
263
+ G as resolveInlinePriceOrder,
264
+ tt as resolveOmnibusText,
265
+ w as resolvePStyle,
266
+ L as resolveProductAttrValue,
267
+ Q as resolveSegmentBgStyle,
268
+ it as sanitizeImageUrl,
269
+ v as spacer,
270
+ j as toCustomCompositionKey,
271
+ I as toDisplayName,
272
+ $ as toDisplayableAttributeValue
273
273
  };
@@ -1,10 +1,9 @@
1
1
  import { extractWrapperTags as C } from "../../../../utils/preserveTextStyles.js";
2
2
  import { RecommendationBlockId as c } from "../constants/blockIds.js";
3
3
  import { DESKTOP_CONTAINER_SELECTOR as S, ATTR_PRODUCT_NAME as E, ATTR_PRODUCT_PRICE as p, ATTR_PRODUCT_OLD_PRICE as y, ATTR_PRODUCT_OMNIBUS_PRICE as A, ATTR_PRODUCT_OMNIBUS_DISCOUNT as R, ATTR_PRODUCT_BUTTON as P, ATTR_PRODUCT_IMAGE as q, ATTR_PRODUCT_ATTR as x } from "../constants/selectors.js";
4
- import { CSS_CLASS_TEXT_TRIM as v } from "../controls/shared/textTrimCssRules.js";
5
- import { toCustomCompositionKey as B } from "../templates/utils.js";
6
- import { resolveRowCompositionKey as U } from "./compositionKeys.js";
7
- import { hasQuerySelectorAll as _, hasGetAttribute as l, hasGetStyle as I, hasGetComputedStyle as N } from "./tagName.js";
4
+ import { CSS_CLASS_TEXT_TRIM as B } from "../controls/shared/textTrimCssRules.js";
5
+ import { toCustomCompositionKey as v } from "../templates/utils.js";
6
+ import { hasQuerySelectorAll as _, hasGetAttribute as l, hasGetStyle as I, hasGetComputedStyle as U } from "./tagName.js";
8
7
  const s = [
9
8
  "font-size",
10
9
  "font-family",
@@ -14,14 +13,14 @@ const s = [
14
13
  "text-align",
15
14
  "line-height",
16
15
  "text-decoration"
17
- ], M = [
16
+ ], N = [
18
17
  "background",
19
18
  "background-color",
20
19
  "border-width",
21
20
  "border-color",
22
21
  "border-style",
23
22
  "border-radius"
24
- ], D = [
23
+ ], M = [
25
24
  ...s,
26
25
  "background",
27
26
  "background-color",
@@ -32,14 +31,14 @@ const s = [
32
31
  "width",
33
32
  "mso-border-alt",
34
33
  "mso-padding-alt"
35
- ], G = [
34
+ ], D = [
36
35
  "display",
37
36
  "width",
38
37
  "height",
39
38
  "max-width",
40
39
  "border-radius",
41
40
  "margin"
42
- ], g = /* @__PURE__ */ new Set(["transparent", "rgba(0, 0, 0, 0)"]), L = [
41
+ ], b = /* @__PURE__ */ new Set(["transparent", "rgba(0, 0, 0, 0)"]), G = [
43
42
  { attrKey: E, blockId: c.NAME, kind: "text" },
44
43
  { attrKey: p, blockId: c.PRICE, kind: "text" },
45
44
  { attrKey: y, blockId: c.OLD_PRICE, kind: "text" },
@@ -51,7 +50,7 @@ const s = [
51
50
  function O(t) {
52
51
  return t && "getInnerHTML" in t && typeof t.getInnerHTML == "function" ? t.getInnerHTML().trim() : "";
53
52
  }
54
- function w(t) {
53
+ function L(t) {
55
54
  return t && "getInnerText" in t && typeof t.getInnerText == "function" ? t.getInnerText().trim() : "";
56
55
  }
57
56
  function a(t, e, r) {
@@ -67,20 +66,20 @@ function k(t) {
67
66
  if (!t || !I(t))
68
67
  return;
69
68
  const e = t.getStyle("background-color") || t.getStyle("background");
70
- return e && !g.has(e) ? e : void 0;
69
+ return e && !b.has(e) ? e : void 0;
71
70
  }
72
- function b(t, e) {
71
+ function g(t, e) {
73
72
  const r = {};
74
73
  return a(r, t, e), h(r);
75
74
  }
76
- function K(t) {
75
+ function w(t) {
77
76
  const e = t.querySelector("p"), r = {};
78
77
  a(r, t, s), a(r, e, s), a(r, t.querySelector("strong"), s), a(r, t.querySelector("em"), s), a(r, t.querySelector("s"), s);
79
78
  const n = h(r), { openTags: o, closeTags: i } = C(O(e));
80
79
  return !n && !o ? null : { pStyle: n || void 0, openTags: o, closeTags: i };
81
80
  }
82
81
  function $(t) {
83
- const e = t.querySelector(".es-button-border"), r = t.querySelector("a.es-button") ?? t.querySelector("a"), n = b(e, M), o = b(r, D), i = e && "getAttribute" in e ? e.getAttribute("class") ?? "" : "", u = /\bes-fw\b/.test(i), { openTags: T, closeTags: d } = C(O(r)), m = w(r);
82
+ const e = t.querySelector(".es-button-border"), r = t.querySelector("a.es-button") ?? t.querySelector("a"), n = g(e, N), o = g(r, M), i = e && "getAttribute" in e ? e.getAttribute("class") ?? "" : "", u = /\bes-fw\b/.test(i), { openTags: T, closeTags: d } = C(O(r)), m = L(r);
84
83
  return !n && !o && !u && !T && !m ? null : {
85
84
  buttonBorderStyle: n || void 0,
86
85
  buttonAnchorStyle: o || void 0,
@@ -90,18 +89,18 @@ function $(t) {
90
89
  closeTags: d
91
90
  };
92
91
  }
93
- function H(t) {
94
- const e = b(t.querySelector("img"), G);
92
+ function K(t) {
93
+ const e = g(t.querySelector("img"), D);
95
94
  return e ? { imgStyle: e } : null;
96
95
  }
97
- function F(t, e) {
98
- return e === "button" ? $(t) : e === "image" ? H(t) : K(t);
96
+ function H(t, e) {
97
+ return e === "button" ? $(t) : e === "image" ? K(t) : w(t);
99
98
  }
100
99
  function f(t, e) {
101
100
  if (!t || !("querySelector" in t))
102
101
  return;
103
102
  const r = t.querySelector(S) ?? t;
104
- if (L.forEach(({ attrKey: i, blockId: u, kind: T }) => {
103
+ if (G.forEach(({ attrKey: i, blockId: u, kind: T }) => {
105
104
  const d = r.querySelector(`[esd-extension-block-id="${u}"]`);
106
105
  d && e(d, i, T);
107
106
  }), !_(r))
@@ -111,46 +110,46 @@ function f(t, e) {
111
110
  `[esd-extension-block-id="${c.CUSTOM_ATTRIBUTE}"]`
112
111
  ).forEach((i) => {
113
112
  const u = l(i) ? i.getAttribute(x) : null;
114
- !u || n.has(u) || (n.add(u), e(i, B(u), "text"));
113
+ !u || n.has(u) || (n.add(u), e(i, v(u), "text"));
115
114
  });
116
115
  }
117
- function j(t) {
116
+ function F(t) {
118
117
  const e = {};
119
118
  return f(t, (r, n, o) => {
120
119
  if (!("querySelector" in r))
121
120
  return;
122
- const i = F(r, o);
121
+ const i = H(r, o);
123
122
  i && (e[n] = i);
124
123
  }), e;
125
124
  }
126
- function X(t) {
125
+ function j(t) {
127
126
  if (!t || !("querySelector" in t))
128
127
  return;
129
128
  const e = t.querySelector(S) ?? t, r = e.querySelector(".product-card-segment") ?? e.querySelector(".product-card-wrapper");
130
129
  return k(r);
131
130
  }
132
- function z(t) {
131
+ function X(t) {
133
132
  if (!t)
134
133
  return;
135
134
  const e = l(t) ? t.getAttribute("bgcolor") : null;
136
- if (e && !g.has(e))
135
+ if (e && !b.has(e))
137
136
  return e;
138
137
  const r = k(t);
139
138
  if (r)
140
139
  return r;
141
- const n = N(t) ? t.getComputedStyle("background-color") : void 0;
142
- return n && !g.has(n) ? n : void 0;
140
+ const n = U(t) ? t.getComputedStyle("background-color") : void 0;
141
+ return n && !b.has(n) ? n : void 0;
143
142
  }
144
- function Q(t) {
143
+ function z(t) {
145
144
  const e = {};
146
145
  return f(t, (r, n, o) => {
147
146
  if (o !== "text")
148
147
  return;
149
- const i = z(r);
148
+ const i = X(r);
150
149
  i && (e[n] = i);
151
150
  }), e;
152
151
  }
153
- function V(t) {
152
+ function Q(t) {
154
153
  const e = {};
155
154
  return f(t, (r, n, o) => {
156
155
  if (o === "image")
@@ -159,30 +158,30 @@ function V(t) {
159
158
  i && (e[n] = i);
160
159
  }), e;
161
160
  }
162
- const W = /^es-[pm]\d+[trbl]?$/;
163
- function Y(t) {
161
+ const V = /^es-[pm]\d+[trbl]?$/;
162
+ function W(t) {
164
163
  const e = l(t) ? t.getAttribute("class") : null;
165
164
  if (!e)
166
165
  return;
167
- const r = e.split(/\s+/).filter((n) => W.test(n) || n === v);
166
+ const r = e.split(/\s+/).filter((n) => V.test(n) || n === B);
168
167
  return r.length ? r.join(" ") : void 0;
169
168
  }
170
- function J(t) {
169
+ function Y(t) {
171
170
  if (!t || !("querySelector" in t))
172
171
  return !1;
173
172
  const e = t.querySelector(S) ?? t, r = (n) => !!(n && "querySelector" in n && n.querySelector(".product-price") && n.querySelector(".product-old-price"));
174
173
  return r(e.querySelector(`[data-attribute-type="${p}"]`)) || r(e.querySelector(`[data-attribute-type="${y}"]`));
175
174
  }
176
- function Z(t) {
177
- const e = {}, r = J(t);
175
+ function J(t) {
176
+ const e = {}, r = Y(t);
178
177
  return f(t, (n, o, i) => {
179
178
  if (i === "image" || r && (o === p || o === y))
180
179
  return;
181
- const u = Y(n);
180
+ const u = W(n);
182
181
  u && (e[o] = u);
183
182
  }), e;
184
183
  }
185
- function tt(t) {
184
+ function Z(t) {
186
185
  const e = {};
187
186
  return f(t, (r, n) => {
188
187
  if (n !== A && n !== R || !l(r))
@@ -191,7 +190,7 @@ function tt(t) {
191
190
  (o != null || i != null) && (e[n] = { before: o ?? void 0, after: i ?? void 0 });
192
191
  }), e;
193
192
  }
194
- function et(t) {
193
+ function tt(t) {
195
194
  const e = {};
196
195
  if (!t || !("querySelector" in t))
197
196
  return e;
@@ -199,28 +198,28 @@ function et(t) {
199
198
  return _(r) && r.querySelectorAll(".recommendation-attribute-row").forEach((n) => {
200
199
  if (!l(n))
201
200
  return;
202
- const o = U(n), i = n.getAttribute("data-visibility");
201
+ const o = n.getAttribute("data-attribute-type"), i = n.getAttribute("data-visibility");
203
202
  o && i != null && (e[o] = i !== "0");
204
203
  }), e;
205
204
  }
206
- function at(t) {
205
+ function ct(t) {
207
206
  return {
208
- styleTemplates: j(t),
209
- cardBackgroundColor: X(t),
210
- cellBackgroundColors: Q(t),
211
- cellAlignments: V(t),
212
- cellClasses: Z(t),
213
- omnibusTexts: tt(t),
214
- visibility: et(t)
207
+ styleTemplates: F(t),
208
+ cardBackgroundColor: j(t),
209
+ cellBackgroundColors: z(t),
210
+ cellAlignments: Q(t),
211
+ cellClasses: J(t),
212
+ omnibusTexts: Z(t),
213
+ visibility: tt(t)
215
214
  };
216
215
  }
217
216
  export {
218
- j as captureAttributeStyleTemplates,
219
- X as captureCardBackgroundColor,
220
- V as captureCellAlignments,
221
- Q as captureCellBackgroundColors,
222
- Z as captureCellClasses,
223
- tt as captureOmnibusTexts,
224
- at as captureStyles,
225
- et as captureVisibility
217
+ F as captureAttributeStyleTemplates,
218
+ j as captureCardBackgroundColor,
219
+ Q as captureCellAlignments,
220
+ z as captureCellBackgroundColors,
221
+ J as captureCellClasses,
222
+ Z as captureOmnibusTexts,
223
+ ct as captureStyles,
224
+ tt as captureVisibility
226
225
  };