@askdialog/dialog-vue 3.8.0 → 3.10.0

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.
@@ -1,8 +1,8 @@
1
- var Ce = Object.defineProperty;
2
- var ye = (t, e, s) => e in t ? Ce(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
1
+ var Ee = Object.defineProperty;
2
+ var ye = (t, e, s) => e in t ? Ee(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
3
  var z = (t, e, s) => ye(t, typeof e != "symbol" ? e + "" : e, s);
4
- import { defineComponent as w, createElementBlock as _, openBlock as u, createElementVNode as l, toDisplayString as E, Fragment as N, renderList as Q, createVNode as T, createBlock as O, ref as k, computed as b, withDirectives as ae, withKeys as Ee, vModelText as ie, onMounted as B, watch as M, renderSlot as we, withCtx as le, createCommentVNode as A, withModifiers as Ie, unref as K, resolveDynamicComponent as $e, mergeProps as Re, toHandlers as Te, createTextVNode as ce, onUnmounted as ue, Teleport as ke, normalizeStyle as Ae, normalizeClass as Z, shallowRef as Le } from "vue";
5
- const xe = /* @__PURE__ */ new Set(["ar", "he", "iw", "fa", "ur"]), De = (t) => t !== void 0 && xe.has(t.trim().toLowerCase().slice(0, 2)), Pe = (t) => De(t) ? "rtl" : "ltr";
4
+ import { defineComponent as I, createElementBlock as _, openBlock as u, toDisplayString as y, unref as H, createElementVNode as l, Fragment as N, renderList as W, createVNode as T, createBlock as P, ref as R, computed as b, withDirectives as ie, withKeys as Ie, vModelText as ae, onMounted as K, watch as M, renderSlot as we, withCtx as le, withModifiers as $e, createCommentVNode as L, resolveDynamicComponent as ke, mergeProps as Te, toHandlers as Re, createTextVNode as ce, onUnmounted as de, Teleport as Ae, normalizeStyle as Le, normalizeClass as Z, shallowRef as xe } from "vue";
5
+ const De = /* @__PURE__ */ new Set(["ar", "he", "iw", "fa", "ur"]), Pe = (t) => t !== void 0 && De.has(t.trim().toLowerCase().slice(0, 2)), Oe = (t) => Pe(t) ? "rtl" : "ltr";
6
6
  var q;
7
7
  (function(t) {
8
8
  t.OPEN_ASSISTANT = "open_assistant", t.OPEN_WITH_SUGGESTIONS = "OPEN_WITH_SUGGESTIONS", t.CLOSE_ASSISTANT = "close_assistant", t.SEND_MESSAGE = "PRODUCT_QUESTION", t.SEND_GENERIC_QUESTION = "GENERIC_QUESTION", t.TRACK_ADD_TO_CART = "TRACK_ADD_TO_CART", t.TRACK_SUBMIT_CHECKOUT = "TRACK_SUBMIT_CHECKOUT", t.TRACK_VIEW_SEARCH_RESULTS = "TRACK_VIEW_SEARCH_RESULTS", t.TRACK_SELECT_SEARCH_RESULT = "TRACK_SELECT_SEARCH_RESULT";
@@ -12,7 +12,7 @@ var J;
12
12
  t.USER_OPENED_ASSISTANT = "userOpenedAssistant", t.USER_CLOSED_ASSISTANT = "userClosedAssistant", t.USER_SENT_MESSAGE = "userSentMessage", t.USER_CLICKED_ON_PRODUCT_CARD = "userClickedOnProductCard", t.USER_OPENED_RECOMMENDATION = "userOpenedRecommendation", t.USER_ADDED_TO_CART = "userAddedToCart", t.USER_SEND_POSITIVE_FEEDBACK = "userSendPositiveFeedback", t.USER_SEND_NEGATIVE_FEEDBACK = "userSendNegativeFeedback";
13
13
  })(J || (J = {}));
14
14
  q.TRACK_ADD_TO_CART, q.TRACK_SUBMIT_CHECKOUT, q.TRACK_VIEW_SEARCH_RESULTS, q.TRACK_SELECT_SEARCH_RESULT;
15
- class Oe extends Error {
15
+ class Ne extends Error {
16
16
  constructor({ status: s, code: o, message: r }) {
17
17
  super(r);
18
18
  z(this, "status");
@@ -23,11 +23,11 @@ class Oe extends Error {
23
23
  const X = (t, e, s) => {
24
24
  if (!/^[a-z]{2}$/.test(e))
25
25
  throw new Error("Search language must be a lowercase ISO 639-1 code.");
26
- if (!/^[A-Za-z]{3}$/.test(s))
27
- throw new Error("Search currency must be an ISO 4217 code.");
26
+ if (!/^[A-Za-z]{2}$/.test(s))
27
+ throw new Error("Search country must be an ISO 3166-1 alpha-2 code.");
28
28
  return `${t}_${e}_${s.toLowerCase()}`;
29
- }, ee = "multiple installation methods detected:", Ne = () => typeof window > "u" ? void 0 : window, de = () => {
30
- const t = Ne();
29
+ }, ee = "multiple installation methods detected:", qe = () => typeof window > "u" ? void 0 : window, ue = () => {
30
+ const t = qe();
31
31
  if (t !== void 0)
32
32
  return t.dialog = t.dialog ?? {}, t.dialog.audit = t.dialog.audit ?? {
33
33
  methods: [],
@@ -35,100 +35,101 @@ const X = (t, e, s) => {
35
35
  capabilities: [],
36
36
  warnings: []
37
37
  }, t.dialog.audit;
38
- }, qe = (t) => {
38
+ }, Me = (t) => {
39
39
  if (t.warnings = t.warnings.filter((e) => !e.startsWith(ee)), t.methods.length >= 2) {
40
40
  const e = t.methods.map((s) => s.method).join(", ");
41
41
  t.warnings.push(`${ee} ${e}`);
42
42
  }
43
- }, Me = (t, e) => e === void 0 ? t : {
43
+ }, Ue = (t, e) => e === void 0 ? t : {
44
44
  version: (t == null ? void 0 : t.version) ?? e.version,
45
45
  commit: (t == null ? void 0 : t.commit) ?? e.commit
46
46
  }, pe = (t) => {
47
- const e = de();
47
+ const e = ue();
48
48
  if (e === void 0)
49
49
  return;
50
50
  const s = e.methods.find((o) => o.method === t.method);
51
51
  if (s === void 0) {
52
- e.methods.push({ ...t, registeredAt: (/* @__PURE__ */ new Date()).toISOString() }), qe(e);
52
+ e.methods.push({ ...t, registeredAt: (/* @__PURE__ */ new Date()).toISOString() }), Me(e);
53
53
  return;
54
54
  }
55
- s.version = s.version ?? t.version, s.build = Me(s.build, t.build), s.source = s.source ?? t.source;
56
- }, Ue = (t) => {
57
- const e = de();
55
+ s.version = s.version ?? t.version, s.build = Ue(s.build, t.build), s.source = s.source ?? t.source;
56
+ }, He = (t) => {
57
+ const e = ue();
58
58
  e !== void 0 && (e.capabilities.includes(t) || e.capabilities.push(t));
59
- }, L = {
59
+ }, A = {
60
60
  IDLE: "idle",
61
61
  LOADING: "loading",
62
62
  SUCCESS: "success",
63
63
  /** Successful request with zero hits. */
64
64
  EMPTY: "empty",
65
65
  ERROR: "error"
66
- }, He = 0.5, Ve = 500, Be = 1500, Ke = 100;
67
- function Fe({ emit: t, visibilityThreshold: e = He, dwellMs: s = Ve, idleFlushMs: o = Be, maxItemsPerEvent: r = Ke }) {
68
- let n, i = [];
69
- const a = /* @__PURE__ */ new Set(), h = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
70
- let d;
71
- const g = () => {
72
- clearTimeout(d), !(n === void 0 || i.length === 0) && (t({ ...n, items: i }), i = []);
73
- }, y = (m) => {
66
+ }, Ve = 0.5, Be = 500, Ke = 1500, Fe = 100;
67
+ function ze({ emit: t, visibilityThreshold: e = Ve, dwellMs: s = Be, idleFlushMs: o = Ke, maxItemsPerEvent: r = Fe }) {
68
+ let n, a = [];
69
+ const i = /* @__PURE__ */ new Set(), p = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map();
70
+ let C;
71
+ const d = () => {
72
+ clearTimeout(C), !(n === void 0 || a.length === 0) && (t({ ...n, items: a }), a = []);
73
+ }, f = (S) => {
74
74
  if (n === void 0)
75
75
  return;
76
- const v = `${n.query_id}:${m.product_id}`;
77
- if (!a.has(v)) {
78
- if (a.add(v), i.push(m), i.length >= r) {
79
- g();
76
+ const m = `${n.query_id}:${S.product_id}`;
77
+ if (!i.has(m)) {
78
+ if (i.add(m), a.push(S), a.length >= r) {
79
+ d();
80
80
  return;
81
81
  }
82
- clearTimeout(d), d = setTimeout(g, o);
82
+ clearTimeout(C), C = setTimeout(d, o);
83
83
  }
84
- }, S = (m) => {
85
- const v = c.get(m);
86
- v !== void 0 && (clearTimeout(v), c.delete(m));
87
- }, f = new IntersectionObserver((m) => {
88
- for (const v of m) {
89
- const p = h.get(v.target);
90
- p !== void 0 && (v.intersectionRatio >= e ? c.has(v.target) || c.set(v.target, setTimeout(() => {
91
- c.delete(v.target), y(p);
92
- }, s)) : S(v.target));
84
+ }, v = (S) => {
85
+ const m = c.get(S);
86
+ m !== void 0 && (clearTimeout(m), c.delete(S));
87
+ }, g = new IntersectionObserver((S) => {
88
+ for (const m of S) {
89
+ const h = p.get(m.target);
90
+ h !== void 0 && (m.intersectionRatio >= e ? c.has(m.target) || c.set(m.target, setTimeout(() => {
91
+ c.delete(m.target), f(h);
92
+ }, s)) : v(m.target));
93
93
  }
94
- }, { threshold: e }), I = () => {
95
- f.disconnect();
96
- for (const m of c.values())
97
- clearTimeout(m);
98
- c.clear(), h.clear();
94
+ }, { threshold: e }), w = () => {
95
+ g.disconnect();
96
+ for (const S of c.values())
97
+ clearTimeout(S);
98
+ c.clear(), p.clear();
99
99
  }, $ = () => {
100
- g();
101
- }, R = (m) => {
102
- if (m.persisted) {
103
- a.clear();
104
- for (const v of h.keys())
105
- S(v), f.unobserve(v), f.observe(v);
100
+ d();
101
+ }, k = (S) => {
102
+ if (S.persisted) {
103
+ i.clear();
104
+ for (const m of p.keys())
105
+ v(m), g.unobserve(m), g.observe(m);
106
106
  }
107
107
  };
108
- return window.addEventListener("pagehide", $), window.addEventListener("pageshow", R), {
109
- setContext(m) {
110
- g(), a.clear(), n = m, I();
108
+ return window.addEventListener("pagehide", $), window.addEventListener("pageshow", k), {
109
+ setContext(S) {
110
+ d(), i.clear(), n = S, w();
111
111
  },
112
- observe(m, v) {
113
- h.set(m, v), f.observe(m);
112
+ observe(S, m) {
113
+ p.set(S, m), g.observe(S);
114
114
  },
115
- forceImpression(m) {
116
- y(m), g();
115
+ forceImpression(S) {
116
+ f(S), d();
117
117
  },
118
- flush: g,
118
+ flush: d,
119
119
  disconnect() {
120
- g(), I(), window.removeEventListener("pagehide", $), window.removeEventListener("pageshow", R);
120
+ d(), w(), window.removeEventListener("pagehide", $), window.removeEventListener("pageshow", k);
121
121
  }
122
122
  };
123
123
  }
124
124
  const te = (t, e) => ({
125
- product_id: t.hits[e].objectID,
125
+ // `objectID` is the variant id; analytics count products.
126
+ product_id: String(t.hits[e].id),
126
127
  // One-based position across all pages.
127
128
  position: t.page * t.hitsPerPage + e + 1
128
129
  });
129
- function ze(t) {
130
+ function Ge(t) {
130
131
  let e, s;
131
- const o = () => (e ?? (e = Fe({
132
+ const o = () => (e ?? (e = ze({
132
133
  emit: t.trackViewSearchResults
133
134
  })), e);
134
135
  return {
@@ -144,14 +145,14 @@ function ze(t) {
144
145
  query_length: [...r.query].length
145
146
  }, o().setContext(s), r.nbHits === 0 && t.trackViewSearchResults({ ...s, items: [] });
146
147
  },
147
- observeResult(r, n, i) {
148
- o().observe(r, te(n, i));
148
+ observeResult(r, n, a) {
149
+ o().observe(r, te(n, a));
149
150
  },
150
151
  select(r, n) {
151
152
  if (s === void 0)
152
153
  return;
153
- const i = te(r, n);
154
- o().forceImpression(i), t.trackSelectSearchResult({ ...s, items: [i] });
154
+ const a = te(r, n);
155
+ o().forceImpression(a), t.trackSelectSearchResult({ ...s, items: [a] });
155
156
  },
156
157
  dispose() {
157
158
  e == null || e.disconnect();
@@ -161,138 +162,192 @@ function ze(t) {
161
162
  const je = 2, se = (t) => {
162
163
  const e = t.trim();
163
164
  return [...e].length >= je ? e : void 0;
164
- }, Ge = (t, e, s, { indexName: o, language: r, currency: n, hitsPerPage: i }) => ({
165
+ }, Qe = (t, e, s, { indexName: o, language: r, country: n, hitsPerPage: a }) => ({
165
166
  requests: [
166
- { indexName: o, query: t, page: e, hitsPerPage: i },
167
- ...s.map((a) => ({
168
- indexName: X(a.index, r, n),
167
+ { indexName: o, query: t, page: e, hitsPerPage: a },
168
+ ...s.map((i) => ({
169
+ indexName: X(i.index, r, n),
169
170
  query: t,
170
171
  page: 0,
171
- hitsPerPage: a.hitsPerPage ?? i
172
+ hitsPerPage: i.hitsPerPage ?? a
172
173
  }))
173
174
  ]
174
- }), We = (t, e, { indexName: s, language: o, currency: r }) => {
175
- const n = t.results.find((a) => a.index === s);
175
+ }), We = (t, e, { indexName: s, language: o, country: r }) => {
176
+ const n = t.results.find((i) => i.index === s);
176
177
  if (n === void 0)
177
178
  throw new Error(`Dialog search returned no ${s} entry`);
178
- const i = {};
179
- for (const a of e) {
180
- const h = X(a.index, o, r), c = t.results.find((d) => d.index === h);
181
- c !== void 0 && (i[a.index] = c);
179
+ const a = {};
180
+ for (const i of e) {
181
+ const p = X(i.index, o, r), c = t.results.find((C) => C.index === p);
182
+ c !== void 0 && (a[i.index] = c);
182
183
  }
183
184
  return {
185
+ // The products index answers product records only.
184
186
  response: n,
185
- sections: e.length === 0 ? void 0 : i
187
+ sections: e.length === 0 ? void 0 : a
186
188
  };
187
- }, j = {
188
- status: L.IDLE,
189
+ }, G = {
190
+ status: A.IDLE,
189
191
  query: "",
190
192
  page: 0,
191
193
  response: void 0,
192
194
  sections: void 0,
193
195
  error: void 0
194
196
  };
195
- function Qe({ search: t, language: e, currency: s, analytics: o, navigate: r, debounceMs: n = 250, hitsPerPage: i = 12, sections: a = [] }) {
196
- const h = {
197
+ function Xe({ search: t, language: e, country: s, analytics: o, navigate: r, debounceMs: n = 250, hitsPerPage: a = 12, sections: i = [] }) {
198
+ const p = {
197
199
  indexName: X("products", e, s),
198
200
  language: e,
199
- currency: s,
200
- hitsPerPage: i
201
+ country: s,
202
+ hitsPerPage: a
201
203
  };
202
- let c = j;
203
- const d = /* @__PURE__ */ new Set(), g = ze(o);
204
- let y, S, f, I = 0, $ = !1;
205
- const R = (p) => {
206
- c = { ...c, ...p };
207
- for (const C of d)
208
- C(c);
209
- }, m = () => {
210
- clearTimeout(y), S = void 0, I += 1, f == null || f.abort(), f = void 0;
211
- }, v = async (p, C) => {
212
- m(), f = new AbortController();
213
- const P = I;
214
- R({ status: L.LOADING, query: p, page: C });
204
+ let c = G;
205
+ const C = /* @__PURE__ */ new Set(), d = Ge(o);
206
+ let f, v, g, w = 0, $ = !1;
207
+ const k = (h) => {
208
+ c = { ...c, ...h };
209
+ for (const E of C)
210
+ E(c);
211
+ }, S = () => {
212
+ clearTimeout(f), v = void 0, w += 1, g == null || g.abort(), g = void 0;
213
+ }, m = async (h, E) => {
214
+ S(), g = new AbortController();
215
+ const O = w;
216
+ k({ status: A.LOADING, query: h, page: E });
215
217
  try {
216
- const x = typeof a == "function" ? a() : a, Y = Ge(p, C, x, h), Se = await t(Y, {
217
- signal: f.signal
218
+ const D = typeof i == "function" ? i() : i, Y = Qe(h, E, D, p), Ce = await t(Y, {
219
+ signal: g.signal
218
220
  });
219
- if (P !== I)
221
+ if (O !== w)
220
222
  return;
221
- const F = We(Se, x, h);
222
- g.onResponse(F.response), R({
223
+ const F = We(Ce, D, p);
224
+ d.onResponse(F.response), k({
223
225
  ...F,
224
- status: F.response.nbHits === 0 ? L.EMPTY : L.SUCCESS,
226
+ status: F.response.nbHits === 0 ? A.EMPTY : A.SUCCESS,
225
227
  error: void 0
226
228
  });
227
- } catch (x) {
228
- if (x instanceof DOMException && x.name === "AbortError" || P !== I)
229
+ } catch (D) {
230
+ if (D instanceof DOMException && D.name === "AbortError" || O !== w)
229
231
  return;
230
- R({
231
- status: L.ERROR,
232
- error: x,
232
+ k({
233
+ status: A.ERROR,
234
+ error: D,
233
235
  response: void 0,
234
236
  sections: void 0
235
237
  });
236
238
  }
237
239
  };
238
240
  return {
239
- setQuery(p) {
241
+ setQuery(h) {
240
242
  if ($)
241
243
  return;
242
- m();
243
- const C = se(p);
244
- if (C === void 0) {
245
- R(j);
244
+ S();
245
+ const E = se(h);
246
+ if (E === void 0) {
247
+ k(G);
246
248
  return;
247
249
  }
248
- S = C, y = setTimeout(() => void v(C, 0), n);
250
+ v = E, f = setTimeout(() => void m(E, 0), n);
249
251
  },
250
- submit(p) {
252
+ submit(h) {
251
253
  if ($)
252
254
  return;
253
- m();
254
- const C = se(p);
255
- if (C === void 0) {
256
- R(j);
255
+ S();
256
+ const E = se(h);
257
+ if (E === void 0) {
258
+ k(G);
257
259
  return;
258
260
  }
259
- v(C, 0);
261
+ m(E, 0);
260
262
  },
261
- setPage(p) {
263
+ setPage(h) {
262
264
  if (!$) {
263
- if (S !== void 0) {
264
- v(S, 0);
265
+ if (v !== void 0) {
266
+ m(v, 0);
265
267
  return;
266
268
  }
267
- c.query !== "" && v(c.query, p);
269
+ c.query !== "" && m(c.query, h);
268
270
  }
269
271
  },
270
272
  retry() {
271
- $ || c.status !== L.ERROR || v(c.query, c.page);
273
+ $ || c.status !== A.ERROR || m(c.query, c.page);
272
274
  },
273
- observeResult(p, C) {
274
- c.response !== void 0 && g.observeResult(p, c.response, C);
275
+ observeResult(h, E) {
276
+ c.response !== void 0 && d.observeResult(h, c.response, E);
275
277
  },
276
- selectResult(p, C) {
277
- const P = c.response;
278
- if (P === void 0)
278
+ selectResult(h, E) {
279
+ const O = c.response;
280
+ if (O === void 0)
279
281
  return !1;
280
- g.select(P, p);
281
- const x = P.hits[p].url;
282
- return ((C == null ? void 0 : C.navigate) ?? !0) && r !== void 0 && x !== void 0 ? (r(x, P.hits[p]), !0) : !1;
282
+ d.select(O, h);
283
+ const D = O.hits[h].url;
284
+ return ((E == null ? void 0 : E.navigate) ?? !0) && r !== void 0 && D !== void 0 ? (r(D, O.hits[h]), !0) : !1;
283
285
  },
284
- subscribe(p) {
285
- return d.add(p), () => {
286
- d.delete(p);
286
+ subscribe(h) {
287
+ return C.add(h), () => {
288
+ C.delete(h);
287
289
  };
288
290
  },
289
291
  getState: () => c,
290
292
  dispose() {
291
- $ = !0, m(), d.clear(), g.dispose();
293
+ $ = !0, S(), C.clear(), d.dispose();
292
294
  }
293
295
  };
294
296
  }
295
- const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-block-title" }, Ze = { class: "dialog-block-description" }, Je = /* @__PURE__ */ w({
297
+ const oe = {
298
+ en: {
299
+ placeholder: "Ask the AI a question",
300
+ aiDisclosure: "You're chatting with an AI assistant. It can make mistakes, so please double-check important information",
301
+ askSomethingElse: "Ask something else"
302
+ },
303
+ fr: {
304
+ placeholder: "Posez une question à l'IA",
305
+ aiDisclosure: "Vous discutez avec un assistant IA. Il peut se tromper, pensez à vérifier les informations importantes",
306
+ askSomethingElse: "Posez une autre question"
307
+ },
308
+ es: {
309
+ placeholder: "Haz una pregunta a la IA",
310
+ aiDisclosure: "Estás chateando con un asistente de IA. Puede cometer errores, así que verifica la información importante",
311
+ askSomethingElse: "Pregunta otra cosa"
312
+ }
313
+ }, he = (t) => {
314
+ var s;
315
+ const e = ((s = t == null ? void 0 : t.split("-")[0]) == null ? void 0 : s.toLowerCase()) ?? "en";
316
+ return oe[e] ?? oe.en;
317
+ }, Ye = ["disabled"], Ze = /* @__PURE__ */ I({
318
+ __name: "DialogAskSomethingElse",
319
+ props: {
320
+ client: {},
321
+ questions: {},
322
+ disabled: { type: Boolean },
323
+ productId: {},
324
+ productTitle: {},
325
+ selectedVariantId: {}
326
+ },
327
+ setup(t) {
328
+ const e = t, s = () => {
329
+ e.client.openAssistantWithSuggestions({
330
+ questions: e.questions ?? [],
331
+ product: {
332
+ id: e.productId,
333
+ title: e.productTitle,
334
+ selectedVariantId: e.selectedVariantId
335
+ }
336
+ });
337
+ };
338
+ return (o, r) => (u(), _("button", {
339
+ type: "button",
340
+ class: "dialog-ask-something-else",
341
+ disabled: e.disabled,
342
+ onClick: s
343
+ }, y(H(he)(e.client.locale).askSomethingElse), 9, Ye));
344
+ }
345
+ }), x = (t, e) => {
346
+ const s = t.__vccOpts || t;
347
+ for (const [o, r] of e)
348
+ s[o] = r;
349
+ return s;
350
+ }, Je = /* @__PURE__ */ x(Ze, [["__scopeId", "data-v-d0e272a0"]]), et = { class: "dialog-block-header-container" }, tt = { class: "dialog-block-title" }, st = { class: "dialog-block-description" }, ot = /* @__PURE__ */ I({
296
351
  __name: "DialogBlockHeader",
297
352
  props: {
298
353
  title: {},
@@ -300,31 +355,26 @@ const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-blo
300
355
  },
301
356
  setup(t) {
302
357
  const e = t;
303
- return (s, o) => (u(), _("div", Xe, [
304
- l("div", Ye, E(e.title ?? "Your expert"), 1),
305
- l("div", Ze, E(e.description ?? "A question about this product?"), 1)
358
+ return (s, o) => (u(), _("div", et, [
359
+ l("div", tt, y(e.title ?? "Your expert"), 1),
360
+ l("div", st, y(e.description ?? "A question about this product?"), 1)
306
361
  ]));
307
362
  }
308
- }), D = (t, e) => {
309
- const s = t.__vccOpts || t;
310
- for (const [o, r] of e)
311
- s[o] = r;
312
- return s;
313
- }, et = /* @__PURE__ */ D(Je, [["__scopeId", "data-v-28e6dda7"]]), tt = {
363
+ }), nt = /* @__PURE__ */ x(ot, [["__scopeId", "data-v-28e6dda7"]]), rt = {
314
364
  width: "20",
315
365
  height: "20",
316
366
  viewBox: "0 0 20 20",
317
367
  fill: "none",
318
368
  xmlns: "http://www.w3.org/2000/svg"
319
- }, st = { "clip-path": "url(#clip0_466_934)" }, ot = ["stroke"], nt = ["stroke"], rt = /* @__PURE__ */ w({
369
+ }, it = { "clip-path": "url(#clip0_466_934)" }, at = ["stroke"], lt = ["stroke"], ct = /* @__PURE__ */ I({
320
370
  __name: "AiStarsIcon",
321
371
  props: {
322
372
  color: {}
323
373
  },
324
374
  setup(t) {
325
375
  const e = t;
326
- return (s, o) => (u(), _("svg", tt, [
327
- l("g", st, [
376
+ return (s, o) => (u(), _("svg", rt, [
377
+ l("g", it, [
328
378
  l("path", {
329
379
  d: `M5.41675 10.8333L6.07046 12.1408C6.2917 12.5832 6.40232 12.8045 6.55011
330
380
  12.9962C6.68124 13.1663 6.83375 13.3188 7.00388 13.45C7.19559 13.5977 7.41684
@@ -340,7 +390,7 @@ const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-blo
340
390
  "stroke-width": "1.5",
341
391
  "stroke-linecap": "round",
342
392
  "stroke-linejoin": "round"
343
- }, null, 8, ot),
393
+ }, null, 8, at),
344
394
  l("path", {
345
395
  d: `M12.5001 1.66666L13.4823 4.22034C13.7173 4.83136 13.8348 5.13688 14.0175
346
396
  5.39386C14.1795 5.62162 14.3785 5.82061 14.6062 5.98256C14.8632 6.16529 15.1687
@@ -356,7 +406,7 @@ const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-blo
356
406
  "stroke-width": "1.5",
357
407
  "stroke-linecap": "round",
358
408
  "stroke-linejoin": "round"
359
- }, null, 8, nt)
409
+ }, null, 8, lt)
360
410
  ]),
361
411
  o[0] || (o[0] = l("defs", null, [
362
412
  l("clipPath", { id: "clip0_466_934" }, [
@@ -369,7 +419,7 @@ const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-blo
369
419
  ], -1))
370
420
  ]));
371
421
  }
372
- }), at = ["onClick"], it = { class: "dialog-block-suggestions-item-label" }, lt = /* @__PURE__ */ w({
422
+ }), dt = ["onClick"], ut = { class: "dialog-block-suggestions-item-label" }, pt = /* @__PURE__ */ I({
373
423
  __name: "DialogBlockSuggestions",
374
424
  props: {
375
425
  client: {},
@@ -388,27 +438,27 @@ const Xe = { class: "dialog-block-header-container" }, Ye = { class: "dialog-blo
388
438
  fromQuestionSuggestion: !0
389
439
  });
390
440
  };
391
- return (o, r) => (u(!0), _(N, null, Q(e.questions, (n) => (u(), _("button", {
441
+ return (o, r) => (u(!0), _(N, null, W(e.questions, (n) => (u(), _("button", {
392
442
  key: n.question,
393
443
  class: "dialog-block-suggestions-item",
394
- onClick: (i) => s(n.question)
444
+ onClick: (a) => s(n.question)
395
445
  }, [
396
- T(rt, {
446
+ T(ct, {
397
447
  class: "dialog-block-suggestions-item-icon",
398
448
  color: e.client.theme.primaryColor
399
449
  }, null, 8, ["color"]),
400
- l("span", it, E(n.question), 1)
401
- ], 8, at))), 128));
450
+ l("span", ut, y(n.question), 1)
451
+ ], 8, dt))), 128));
402
452
  }
403
- }), ct = /* @__PURE__ */ D(lt, [["__scopeId", "data-v-db34d4b4"]]), ut = {};
404
- function dt(t, e) {
453
+ }), ht = /* @__PURE__ */ x(pt, [["__scopeId", "data-v-db34d4b4"]]), _t = {};
454
+ function gt(t, e) {
405
455
  return u(), _(N, null, [
406
456
  e[0] || (e[0] = l("div", { class: "dialog-block-suggestions-skeleton-item" }, null, -1)),
407
457
  e[1] || (e[1] = l("div", { class: "dialog-block-suggestions-skeleton-item" }, null, -1)),
408
458
  e[2] || (e[2] = l("div", { class: "dialog-block-suggestions-skeleton-item" }, null, -1))
409
459
  ], 64);
410
460
  }
411
- const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58"]]), ht = { class: "dialog-block-suggestions-container" }, _t = /* @__PURE__ */ w({
461
+ const ft = /* @__PURE__ */ x(_t, [["render", gt], ["__scopeId", "data-v-26a64b58"]]), vt = { class: "dialog-block-suggestions-container" }, mt = /* @__PURE__ */ I({
412
462
  __name: "DialogBlockSuggestionsContainer",
413
463
  props: {
414
464
  client: {},
@@ -420,8 +470,8 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
420
470
  },
421
471
  setup(t) {
422
472
  const e = t;
423
- return (s, o) => (u(), _("div", ht, [
424
- e.isLoading || !e.questions ? (u(), O(pt, { key: 0 })) : (u(), O(ct, {
473
+ return (s, o) => (u(), _("div", vt, [
474
+ e.isLoading || !e.questions ? (u(), P(ft, { key: 0 })) : (u(), P(ht, {
425
475
  key: 1,
426
476
  client: e.client,
427
477
  questions: e.questions,
@@ -431,50 +481,33 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
431
481
  }, null, 8, ["client", "questions", "product-id", "product-title", "selected-variant-id"]))
432
482
  ]));
433
483
  }
434
- }), gt = /* @__PURE__ */ D(_t, [["__scopeId", "data-v-18c9e78b"]]), ft = {
484
+ }), bt = /* @__PURE__ */ x(mt, [["__scopeId", "data-v-18c9e78b"]]), St = {
435
485
  width: "20",
436
486
  height: "20",
437
487
  viewBox: "0 0 20 20",
438
488
  fill: "none",
439
489
  xmlns: "http://www.w3.org/2000/svg"
440
- }, vt = ["stroke"], mt = /* @__PURE__ */ w({
490
+ }, Ct = ["stroke"], Et = /* @__PURE__ */ I({
441
491
  __name: "ArrowIcon",
442
492
  props: {
443
493
  color: {}
444
494
  },
445
495
  setup(t) {
446
496
  const e = t;
447
- return (s, o) => (u(), _("svg", ft, [
497
+ return (s, o) => (u(), _("svg", St, [
448
498
  l("path", {
449
499
  d: "M10 16.6667V3.33334M10 3.33334L5 8.33334M10 3.33334L15 8.33334",
450
500
  stroke: e.color || "#ffffff",
451
501
  "stroke-width": "1.5",
452
502
  "stroke-linecap": "round",
453
503
  "stroke-linejoin": "round"
454
- }, null, 8, vt)
504
+ }, null, 8, Ct)
455
505
  ]));
456
506
  }
457
- }), oe = {
458
- en: {
459
- placeholder: "Ask the AI a question",
460
- aiDisclosure: "You're chatting with an AI assistant. It can make mistakes, so please double-check important information"
461
- },
462
- fr: {
463
- placeholder: "Posez une question à l'IA",
464
- aiDisclosure: "Vous discutez avec un assistant IA. Il peut se tromper, pensez à vérifier les informations importantes"
465
- },
466
- es: {
467
- placeholder: "Haz una pregunta a la IA",
468
- aiDisclosure: "Estás chateando con un asistente de IA. Puede cometer errores, así que verifica la información importante"
469
- }
470
- }, bt = (t) => {
471
- var s;
472
- const e = ((s = t == null ? void 0 : t.split("-")[0]) == null ? void 0 : s.toLowerCase()) ?? "en";
473
- return oe[e] ?? oe.en;
474
- }, St = { class: "dialog-input-container" }, Ct = ["placeholder"], yt = ["disabled"], Et = {
507
+ }), yt = { class: "dialog-input-container" }, It = ["placeholder"], wt = ["disabled"], $t = {
475
508
  id: "dialog-input-ai-disclosure",
476
509
  class: "dialog-input-ai-disclosure"
477
- }, wt = /* @__PURE__ */ w({
510
+ }, kt = /* @__PURE__ */ I({
478
511
  __name: "DialogInput",
479
512
  props: {
480
513
  client: {},
@@ -484,87 +517,87 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
484
517
  selectedVariantId: {}
485
518
  },
486
519
  setup(t) {
487
- const e = t, s = k(), o = k(""), r = b(() => bt(e.client.locale)), n = () => {
488
- var a;
489
- (a = s.value) == null || a.focus();
490
- }, i = () => {
491
- const a = o.value;
492
- a.trim() && (e.client.sendProductMessage({
520
+ const e = t, s = R(), o = R(""), r = b(() => he(e.client.locale)), n = () => {
521
+ var i;
522
+ (i = s.value) == null || i.focus();
523
+ }, a = () => {
524
+ const i = o.value;
525
+ i.trim() && (e.client.sendProductMessage({
493
526
  productId: e.productId,
494
527
  productTitle: e.productTitle,
495
528
  selectedVariantId: e.selectedVariantId,
496
- question: a,
529
+ question: i,
497
530
  fromQuestionSuggestion: !0
498
531
  }), o.value = "");
499
532
  };
500
- return (a, h) => (u(), _("div", St, [
533
+ return (i, p) => (u(), _("div", yt, [
501
534
  l("div", {
502
535
  class: "dialog-input-wrapper",
503
536
  onClick: n
504
537
  }, [
505
- ae(l("input", {
538
+ ie(l("input", {
506
539
  id: "dialog-ask-anything-input-ai-input",
507
540
  ref_key: "inputRef",
508
541
  ref: s,
509
- "onUpdate:modelValue": h[0] || (h[0] = (c) => o.value = c),
542
+ "onUpdate:modelValue": p[0] || (p[0] = (c) => o.value = c),
510
543
  class: "dialog-ask-anything-input-ai-input",
511
544
  placeholder: r.value.placeholder,
512
545
  "aria-describedby": "dialog-input-ai-disclosure",
513
- onKeydown: Ee(i, ["enter"])
514
- }, null, 40, Ct), [
515
- [ie, o.value]
546
+ onKeydown: Ie(a, ["enter"])
547
+ }, null, 40, It), [
548
+ [ae, o.value]
516
549
  ]),
517
550
  l("button", {
518
551
  id: "send-message-button-ai-input",
519
552
  class: "dialog-input-submit",
520
553
  disabled: !o.value.trim(),
521
- onClick: i
554
+ onClick: a
522
555
  }, [
523
- T(mt, {
556
+ T(Et, {
524
557
  color: e.client.theme.ctaTextColor
525
558
  }, null, 8, ["color"])
526
- ], 8, yt)
559
+ ], 8, wt)
527
560
  ]),
528
- l("p", Et, E(r.value.aiDisclosure), 1)
561
+ l("p", $t, y(r.value.aiDisclosure), 1)
529
562
  ]));
530
563
  }
531
- }), It = /* @__PURE__ */ D(wt, [["__scopeId", "data-v-87013888"]]), $t = /* @__PURE__ */ w({
564
+ }), Tt = /* @__PURE__ */ x(kt, [["__scopeId", "data-v-87013888"]]), Rt = /* @__PURE__ */ I({
532
565
  __name: "ThemeProvider",
533
566
  props: {
534
567
  theme: {}
535
568
  },
536
569
  setup(t) {
537
570
  const e = t, s = document.body, o = (n) => n.replace(/([A-Z])/g, "-$1").toLowerCase(), r = (n) => {
538
- n && Object.keys(n).forEach((i) => {
539
- const a = i, h = o(i);
540
- if (n[a] !== void 0) {
541
- if (typeof n[a] == "object") {
542
- Object.keys(n[a]).forEach((c) => {
543
- var g;
544
- const d = c;
545
- if (d !== void 0) {
546
- const y = o(c), S = n[a];
571
+ n && Object.keys(n).forEach((a) => {
572
+ const i = a, p = o(a);
573
+ if (n[i] !== void 0) {
574
+ if (typeof n[i] == "object") {
575
+ Object.keys(n[i]).forEach((c) => {
576
+ var d;
577
+ const C = c;
578
+ if (C !== void 0) {
579
+ const f = o(c), v = n[i];
547
580
  s.style.setProperty(
548
- `--dialog-theme-${h}-${y}`,
549
- (g = S[d]) == null ? void 0 : g.toString()
581
+ `--dialog-theme-${p}-${f}`,
582
+ (d = v[C]) == null ? void 0 : d.toString()
550
583
  );
551
584
  }
552
585
  });
553
586
  return;
554
587
  }
555
- if (a === "ctaBorderType") {
556
- const c = n[a] === "rounded" ? "24px" : "0";
557
- s.style.setProperty(`--dialog-theme-${h}`, c);
588
+ if (i === "ctaBorderType") {
589
+ const c = n[i] === "rounded" ? "24px" : "0";
590
+ s.style.setProperty(`--dialog-theme-${p}`, c);
558
591
  return;
559
592
  }
560
593
  s.style.setProperty(
561
- `--dialog-theme-${h}`,
562
- n[a].toString()
594
+ `--dialog-theme-${p}`,
595
+ n[i].toString()
563
596
  );
564
597
  }
565
598
  });
566
599
  };
567
- return B(() => {
600
+ return K(() => {
568
601
  e.theme && r(e.theme);
569
602
  }), M(
570
603
  () => e.theme,
@@ -572,49 +605,56 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
572
605
  n && r(n);
573
606
  },
574
607
  { deep: !0 }
575
- ), (n, i) => we(n.$slots, "default");
608
+ ), (n, a) => we(n.$slots, "default");
576
609
  }
577
- }), Rt = ["dir"], Tt = /* @__PURE__ */ w({
610
+ }), At = ["dir"], Lt = 2, xt = 5, Dt = /* @__PURE__ */ I({
578
611
  __name: "DialogProductBlock",
579
612
  props: {
580
613
  client: {},
581
614
  productId: {},
582
615
  productTitle: {},
583
616
  selectedVariantId: { default: void 0 },
584
- enableInput: { type: Boolean, default: !0 }
617
+ enableInput: { type: Boolean, default: !1 }
585
618
  },
586
619
  setup(t) {
587
620
  const e = t;
588
- B(() => {
621
+ K(() => {
589
622
  pe({
590
623
  method: "vue",
591
- version: "3.8.0"
592
- }), Ue("pdp-block");
624
+ version: "3.10.0"
625
+ }), He("pdp-block");
593
626
  });
594
- const s = k(!0), o = k(void 0), r = k(0), n = b(() => {
627
+ const s = R(!0), o = R(void 0), r = R(0), n = b(() => {
595
628
  var d;
596
629
  return s.value ? "" : (d = o.value) == null ? void 0 : d.assistantName;
597
- }), i = b(() => {
630
+ }), a = b(() => {
598
631
  var d;
599
632
  return s.value ? "" : (d = o.value) == null ? void 0 : d.description;
600
- }), a = b(() => {
633
+ }), i = b(
634
+ () => {
635
+ var d, f;
636
+ return (f = (d = o.value) == null ? void 0 : d.questions) == null ? void 0 : f.slice(0, Lt);
637
+ }
638
+ ), p = b(() => {
601
639
  var d;
602
640
  return s.value ? "" : (d = o.value) == null ? void 0 : d.inputPlaceholder;
603
- }), h = b(
641
+ }), c = b(
604
642
  () => {
605
643
  var d;
606
- return Pe(
644
+ return Oe(
607
645
  (d = e.client.getLocalizationInformations()) == null ? void 0 : d.languageCode
608
646
  );
609
647
  }
610
- ), c = async () => {
648
+ ), C = async () => {
611
649
  const d = ++r.value;
612
650
  s.value = !0, o.value = void 0;
613
651
  try {
614
- const g = await e.client.getSuggestions(e.productId);
615
- d === r.value && (o.value = g);
616
- } catch (g) {
617
- console.error("error", g);
652
+ const f = await e.client.getSuggestions(e.productId, {
653
+ limit: xt
654
+ });
655
+ d === r.value && (o.value = f);
656
+ } catch (f) {
657
+ console.error("error", f);
618
658
  } finally {
619
659
  d === r.value && (s.value = !1);
620
660
  }
@@ -622,47 +662,55 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
622
662
  return M(
623
663
  () => [e.client, e.productId],
624
664
  () => {
625
- c();
665
+ C();
626
666
  },
627
667
  { immediate: !0 }
628
- ), (d, g) => (u(), O($t, {
668
+ ), (d, f) => (u(), P(Rt, {
629
669
  theme: e.client.theme
630
670
  }, {
631
671
  default: le(() => {
632
- var y;
672
+ var v;
633
673
  return [
634
674
  l("div", {
635
675
  id: "dialog-instant",
636
676
  class: "dialog-block-container",
637
- dir: h.value
677
+ dir: c.value
638
678
  }, [
639
- T(et, {
679
+ T(nt, {
640
680
  title: n.value,
641
- description: i.value
681
+ description: a.value
642
682
  }, null, 8, ["title", "description"]),
643
- T(gt, {
683
+ T(bt, {
644
684
  client: e.client,
645
- questions: (y = o.value) == null ? void 0 : y.questions,
685
+ questions: i.value,
646
686
  "is-loading": s.value,
647
687
  "product-id": e.productId,
648
688
  "product-title": e.productTitle,
649
689
  "selected-variant-id": e == null ? void 0 : e.selectedVariantId
650
690
  }, null, 8, ["client", "questions", "is-loading", "product-id", "product-title", "selected-variant-id"]),
651
- e.enableInput ? (u(), O(It, {
691
+ e.enableInput ? (u(), P(Tt, {
652
692
  key: 0,
653
693
  client: e.client,
654
- placeholder: a.value,
694
+ placeholder: p.value,
655
695
  "product-id": e.productId,
656
696
  "product-title": e.productTitle,
657
697
  "selected-variant-id": e == null ? void 0 : e.selectedVariantId
658
- }, null, 8, ["client", "placeholder", "product-id", "product-title", "selected-variant-id"])) : A("", !0)
659
- ], 8, Rt)
698
+ }, null, 8, ["client", "placeholder", "product-id", "product-title", "selected-variant-id"])) : (u(), P(Je, {
699
+ key: 1,
700
+ client: e.client,
701
+ questions: (v = o.value) == null ? void 0 : v.questions,
702
+ disabled: s.value,
703
+ "product-id": e.productId,
704
+ "product-title": e.productTitle,
705
+ "selected-variant-id": e.selectedVariantId
706
+ }, null, 8, ["client", "questions", "disabled", "product-id", "product-title", "selected-variant-id"]))
707
+ ], 8, At)
660
708
  ];
661
709
  }),
662
710
  _: 1
663
711
  }, 8, ["theme"]));
664
712
  }
665
- }), so = /* @__PURE__ */ D(Tt, [["__scopeId", "data-v-c57aa677"]]), kt = {}, At = {
713
+ }), ao = /* @__PURE__ */ x(Dt, [["__scopeId", "data-v-0c307e5f"]]), Pt = {}, Ot = {
666
714
  width: "16",
667
715
  height: "16",
668
716
  viewBox: "0 0 16 16",
@@ -670,8 +718,8 @@ const pt = /* @__PURE__ */ D(ut, [["render", dt], ["__scopeId", "data-v-26a64b58
670
718
  xmlns: "http://www.w3.org/2000/svg",
671
719
  "aria-hidden": "true"
672
720
  };
673
- function Lt(t, e) {
674
- return u(), _("svg", At, e[0] || (e[0] = [
721
+ function Nt(t, e) {
722
+ return u(), _("svg", Ot, e[0] || (e[0] = [
675
723
  l("path", {
676
724
  d: "M8 13V3M8 3L3 8M8 3L13 8",
677
725
  stroke: "currentColor",
@@ -681,28 +729,28 @@ function Lt(t, e) {
681
729
  }, null, -1)
682
730
  ]));
683
731
  }
684
- const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
732
+ const qt = /* @__PURE__ */ x(Pt, [["render", Nt]]), Mt = {
685
733
  width: "16",
686
734
  height: "16",
687
735
  viewBox: "0 0 12 12",
688
736
  fill: "none",
689
737
  xmlns: "http://www.w3.org/2000/svg",
690
738
  "aria-hidden": "true"
691
- }, Pt = ["fill"], Ot = "M5.3217 0.588255C5.63241 -0.196084 6.36759 -0.196085 6.6783 0.588254C6.98901 1.37259 7.68193 2.82807 8.42693 3.57307C9.17193 4.31807 10.6274 5.01099 11.4117 5.3217C12.1961 5.63241 12.1961 6.36759 11.4117 6.6783C10.6274 6.98901 9.17193 7.68193 8.42693 8.42693C7.68193 9.17193 6.98901 10.6274 6.6783 11.4117C6.36759 12.1961 5.63241 12.1961 5.3217 11.4117C5.01099 10.6274 4.31807 9.17193 3.57307 8.42693C2.82808 7.68193 1.37259 6.98901 0.588255 6.6783C-0.196084 6.36759 -0.196085 5.63241 0.588254 5.3217C1.37259 5.01099 2.82807 4.31807 3.57307 3.57307C4.31807 2.82808 5.01099 1.37259 5.3217 0.588255Z", Nt = /* @__PURE__ */ w({
739
+ }, Ut = ["fill"], Ht = "M5.3217 0.588255C5.63241 -0.196084 6.36759 -0.196085 6.6783 0.588254C6.98901 1.37259 7.68193 2.82807 8.42693 3.57307C9.17193 4.31807 10.6274 5.01099 11.4117 5.3217C12.1961 5.63241 12.1961 6.36759 11.4117 6.6783C10.6274 6.98901 9.17193 7.68193 8.42693 8.42693C7.68193 9.17193 6.98901 10.6274 6.6783 11.4117C6.36759 12.1961 5.63241 12.1961 5.3217 11.4117C5.01099 10.6274 4.31807 9.17193 3.57307 8.42693C2.82808 7.68193 1.37259 6.98901 0.588255 6.6783C-0.196084 6.36759 -0.196085 5.63241 0.588254 5.3217C1.37259 5.01099 2.82807 4.31807 3.57307 3.57307C4.31807 2.82808 5.01099 1.37259 5.3217 0.588255Z", Vt = /* @__PURE__ */ I({
692
740
  __name: "ShurikenIcon",
693
741
  props: {
694
742
  color: {}
695
743
  },
696
744
  setup(t) {
697
745
  const e = t;
698
- return (s, o) => (u(), _("svg", Dt, [
746
+ return (s, o) => (u(), _("svg", Mt, [
699
747
  l("path", {
700
- d: Ot,
748
+ d: Ht,
701
749
  fill: e.color || "currentColor"
702
- }, null, 8, Pt)
750
+ }, null, 8, Ut)
703
751
  ]));
704
752
  }
705
- }), qt = { class: "dialog-search-bar-field" }, Mt = { class: "dialog-search-bar-icon" }, Ut = ["aria-label", "placeholder", "autofocus"], Ht = ["aria-label"], oo = /* @__PURE__ */ w({
753
+ }), Bt = { class: "dialog-search-bar-field" }, Kt = { class: "dialog-search-bar-icon" }, Ft = ["aria-label", "placeholder", "autofocus"], zt = ["aria-label"], lo = /* @__PURE__ */ I({
706
754
  __name: "DialogSearchBar",
707
755
  props: {
708
756
  controller: {},
@@ -711,22 +759,22 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
711
759
  submitAriaLabel: { default: "Search" }
712
760
  },
713
761
  setup(t) {
714
- const e = t, s = k(""), o = () => {
762
+ const e = t, s = R(""), o = () => {
715
763
  e.controller.setQuery(s.value);
716
764
  }, r = () => {
717
765
  e.controller.submit(s.value);
718
766
  };
719
- return (n, i) => (u(), _("form", {
767
+ return (n, a) => (u(), _("form", {
720
768
  class: "dialog-search-bar",
721
769
  role: "search",
722
- onSubmit: Ie(r, ["prevent"])
770
+ onSubmit: $e(r, ["prevent"])
723
771
  }, [
724
- l("div", qt, [
725
- l("span", Mt, [
726
- T(Nt)
772
+ l("div", Bt, [
773
+ l("span", Kt, [
774
+ T(Vt)
727
775
  ]),
728
- ae(l("input", {
729
- "onUpdate:modelValue": i[0] || (i[0] = (a) => s.value = a),
776
+ ie(l("input", {
777
+ "onUpdate:modelValue": a[0] || (a[0] = (i) => s.value = i),
730
778
  type: "text",
731
779
  name: "dialog-search-query",
732
780
  class: "dialog-search-bar-input",
@@ -734,8 +782,8 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
734
782
  placeholder: e.placeholder,
735
783
  autofocus: e.autoFocus,
736
784
  onInput: o
737
- }, null, 40, Ut), [
738
- [ie, s.value]
785
+ }, null, 40, Ft), [
786
+ [ae, s.value]
739
787
  ])
740
788
  ]),
741
789
  l("button", {
@@ -743,11 +791,11 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
743
791
  class: "dialog-search-bar-submit",
744
792
  "aria-label": e.submitAriaLabel
745
793
  }, [
746
- T(xt)
747
- ], 8, Ht)
794
+ T(qt)
795
+ ], 8, zt)
748
796
  ], 32));
749
797
  }
750
- }), Vt = (t, e) => {
798
+ }), Gt = (t, e) => {
751
799
  try {
752
800
  return new Intl.NumberFormat(e).format(t);
753
801
  } catch {
@@ -819,15 +867,15 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
819
867
  next: "Successivo",
820
868
  pageOf: (e, s) => `Pagina ${t(e)} / ${t(s)}`
821
869
  })
822
- }, he = (t) => {
870
+ }, _e = (t) => {
823
871
  var o;
824
872
  const e = ((o = t == null ? void 0 : t.split("-")[0]) == null ? void 0 : o.toLowerCase()) ?? "en";
825
- return (ne[e] ?? ne.en)((r) => Vt(r, t));
826
- }, _e = (t) => t.status !== L.LOADING && t.response !== void 0 && t.response.nbPages > 1, Bt = {
873
+ return (ne[e] ?? ne.en)((r) => Gt(r, t));
874
+ }, ge = (t) => t.status !== A.LOADING && t.response !== void 0 && t.response.nbPages > 1, jt = {
827
875
  key: 0,
828
876
  "aria-label": "Search results pages",
829
877
  class: "dialog-search-pagination"
830
- }, Kt = ["disabled"], Ft = ["disabled"], zt = /* @__PURE__ */ w({
878
+ }, Qt = ["disabled"], Wt = ["disabled"], Xt = /* @__PURE__ */ I({
831
879
  __name: "DialogSearchPagination",
832
880
  props: {
833
881
  controller: {},
@@ -835,87 +883,86 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
835
883
  locale: {}
836
884
  },
837
885
  setup(t) {
838
- const e = t, s = b(() => e.state.response), o = b(() => he(e.locale));
839
- return (r, n) => s.value !== void 0 && K(_e)(e.state) ? (u(), _("nav", Bt, [
886
+ const e = t, s = b(() => e.state.response), o = b(() => _e(e.locale));
887
+ return (r, n) => s.value !== void 0 && H(ge)(e.state) ? (u(), _("nav", jt, [
840
888
  l("button", {
841
889
  type: "button",
842
890
  disabled: s.value.page === 0,
843
- onClick: n[0] || (n[0] = (i) => e.controller.setPage(s.value.page - 1))
844
- }, E(o.value.previous), 9, Kt),
845
- l("span", null, E(o.value.pageOf(s.value.page + 1, s.value.nbPages)), 1),
891
+ onClick: n[0] || (n[0] = (a) => e.controller.setPage(s.value.page - 1))
892
+ }, y(o.value.previous), 9, Qt),
893
+ l("span", null, y(o.value.pageOf(s.value.page + 1, s.value.nbPages)), 1),
846
894
  l("button", {
847
895
  type: "button",
848
896
  disabled: s.value.page >= s.value.nbPages - 1,
849
- onClick: n[1] || (n[1] = (i) => e.controller.setPage(s.value.page + 1))
850
- }, E(o.value.next), 9, Ft)
851
- ])) : A("", !0);
897
+ onClick: n[1] || (n[1] = (a) => e.controller.setPage(s.value.page + 1))
898
+ }, y(o.value.next), 9, Wt)
899
+ ])) : L("", !0);
852
900
  }
853
- }), re = (t) => t.normalize("NFD").replace(new RegExp("\\p{M}", "gu"), "").replace(/ẞ/gu, "ß").toUpperCase().toLowerCase().replace(/ς/g, "σ"), jt = (t, e) => {
901
+ }), re = (t) => t.normalize("NFD").replace(new RegExp("\\p{M}", "gu"), "").replace(/ẞ/gu, "ß").toUpperCase().toLowerCase().replace(/ς/g, "σ"), Yt = (t, e) => {
854
902
  const s = { before: "", match: t, after: "" }, o = re(e.trim());
855
903
  if (o === "")
856
904
  return s;
857
905
  const r = [...t], n = [];
858
- let i = "";
859
- r.forEach((d, g) => {
860
- const y = re(d);
861
- for (let S = 0; S < y.length; S += 1)
862
- n.push(g);
863
- i += y;
906
+ let a = "";
907
+ r.forEach((C, d) => {
908
+ const f = re(C);
909
+ for (let v = 0; v < f.length; v += 1)
910
+ n.push(d);
911
+ a += f;
864
912
  });
865
- const a = i.indexOf(o);
866
- if (a === -1)
913
+ const i = a.indexOf(o);
914
+ if (i === -1)
867
915
  return s;
868
- const h = n[a], c = n[a + o.length - 1] + 1;
916
+ const p = n[i], c = n[i + o.length - 1] + 1;
869
917
  return {
870
- before: r.slice(0, h).join(""),
871
- match: r.slice(h, c).join(""),
918
+ before: r.slice(0, p).join(""),
919
+ match: r.slice(p, c).join(""),
872
920
  after: r.slice(c).join("")
873
921
  };
874
- }, Gt = {
922
+ }, Zt = {
875
923
  key: 0,
876
924
  class: "dialog-search-muted"
877
- }, Wt = { class: "dialog-search-match" }, Qt = {
925
+ }, Jt = { class: "dialog-search-match" }, es = {
878
926
  key: 1,
879
927
  class: "dialog-search-muted"
880
- }, ge = /* @__PURE__ */ w({
928
+ }, fe = /* @__PURE__ */ I({
881
929
  __name: "HighlightedTitle",
882
930
  props: {
883
931
  title: {},
884
932
  query: {}
885
933
  },
886
934
  setup(t) {
887
- const e = t, s = b(() => jt(e.title, e.query));
935
+ const e = t, s = b(() => Yt(e.title, e.query));
888
936
  return (o, r) => (u(), _(N, null, [
889
- s.value.before !== "" ? (u(), _("span", Gt, E(s.value.before), 1)) : A("", !0),
890
- l("span", Wt, E(s.value.match), 1),
891
- s.value.after !== "" ? (u(), _("span", Qt, E(s.value.after), 1)) : A("", !0)
937
+ s.value.before !== "" ? (u(), _("span", Zt, y(s.value.before), 1)) : L("", !0),
938
+ l("span", Jt, y(s.value.match), 1),
939
+ s.value.after !== "" ? (u(), _("span", es, y(s.value.after), 1)) : L("", !0)
892
940
  ], 64));
893
941
  }
894
- }), Xt = ({ amount: t, currencyCode: e }, s) => e === void 0 ? new Intl.NumberFormat(s).format(Number(t)) : new Intl.NumberFormat(s, {
895
- style: "currency",
896
- currency: e
897
- }).format(Number(t)), Yt = (t, e) => {
942
+ }), ts = ({ variants_min_price: t, currency: e }, s) => {
898
943
  if (t === void 0)
899
944
  return "";
900
945
  try {
901
- return Xt(t.min, e);
946
+ return e === void 0 ? new Intl.NumberFormat(s).format(t) : new Intl.NumberFormat(s, { style: "currency", currency: e }).format(
947
+ t
948
+ );
902
949
  } catch {
903
950
  return "";
904
951
  }
905
- }, Zt = (t) => {
952
+ }, ss = (t) => t.product_image || t.image || void 0, os = (t) => {
906
953
  try {
907
954
  const { protocol: e } = new URL(t, window.location.href);
908
955
  return e === "http:" || e === "https:" ? t : void 0;
909
956
  } catch {
910
957
  return;
911
958
  }
912
- }, fe = (t) => t.url === void 0 || t.url === "" ? void 0 : Zt(t.url), ve = (t) => t.title ?? t.handle ?? t.objectID, Jt = {
959
+ }, ve = (t) => t.url === void 0 || t.url === "" ? void 0 : os(t.url), me = (t) => t.title ?? t.handle ?? t.objectID, ns = {
913
960
  class: "dialog-search-product-thumb",
914
961
  "aria-hidden": "true"
915
- }, es = ["src"], ts = { class: "dialog-search-product-title" }, ss = {
962
+ }, rs = ["src"], is = { class: "dialog-search-product-title" }, as = {
916
963
  key: 0,
917
964
  class: "dialog-search-product-price"
918
- }, os = /* @__PURE__ */ w({
965
+ }, ls = /* @__PURE__ */ I({
919
966
  __name: "DialogSearchProductCard",
920
967
  props: {
921
968
  controller: {},
@@ -925,7 +972,7 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
925
972
  query: { default: "" }
926
973
  },
927
974
  setup(t) {
928
- const e = t, s = k();
975
+ const e = t, s = R();
929
976
  M(
930
977
  () => e.hit,
931
978
  () => {
@@ -933,47 +980,45 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
933
980
  },
934
981
  { immediate: !0, flush: "post" }
935
982
  );
936
- const o = b(() => fe(e.hit)), r = b(
937
- () => Yt(e.hit.priceRange, e.locale)
938
- ), n = (a) => {
939
- const h = a.metaKey || a.ctrlKey || a.shiftKey || a.altKey;
940
- e.controller.selectResult(e.index, { navigate: !h }) && a.preventDefault();
941
- }, i = (a) => {
942
- a.button === 1 && e.controller.selectResult(e.index, { navigate: !1 });
983
+ const o = b(() => ve(e.hit)), r = b(() => ss(e.hit)), n = b(() => ts(e.hit, e.locale)), a = (p) => {
984
+ const c = p.metaKey || p.ctrlKey || p.shiftKey || p.altKey;
985
+ e.controller.selectResult(e.index, { navigate: !c }) && p.preventDefault();
986
+ }, i = (p) => {
987
+ p.button === 1 && e.controller.selectResult(e.index, { navigate: !1 });
943
988
  };
944
- return (a, h) => (u(), _("li", {
989
+ return (p, c) => (u(), _("li", {
945
990
  ref_key: "cardRef",
946
991
  ref: s,
947
992
  class: "dialog-search-card"
948
993
  }, [
949
- (u(), O($e(o.value === void 0 ? "div" : "a"), Re({
994
+ (u(), P(ke(o.value === void 0 ? "div" : "a"), Te({
950
995
  class: "dialog-search-product",
951
996
  href: o.value
952
- }, Te(
953
- o.value === void 0 ? {} : { click: n, auxclick: i }
997
+ }, Re(
998
+ o.value === void 0 ? {} : { click: a, auxclick: i }
954
999
  )), {
955
1000
  default: le(() => [
956
- l("span", Jt, [
957
- e.hit.imageUrl !== void 0 && e.hit.imageUrl !== "" ? (u(), _("img", {
1001
+ l("span", ns, [
1002
+ r.value !== void 0 ? (u(), _("img", {
958
1003
  key: 0,
959
- src: e.hit.imageUrl,
1004
+ src: r.value,
960
1005
  alt: "",
961
1006
  loading: "lazy"
962
- }, null, 8, es)) : A("", !0)
1007
+ }, null, 8, rs)) : L("", !0)
963
1008
  ]),
964
- l("span", ts, [
965
- T(ge, {
966
- title: K(ve)(e.hit),
1009
+ l("span", is, [
1010
+ T(fe, {
1011
+ title: H(me)(e.hit),
967
1012
  query: e.query
968
1013
  }, null, 8, ["title", "query"])
969
1014
  ]),
970
- r.value !== "" ? (u(), _("span", ss, E(r.value), 1)) : A("", !0)
1015
+ n.value !== "" ? (u(), _("span", as, y(n.value), 1)) : L("", !0)
971
1016
  ]),
972
1017
  _: 1
973
1018
  }, 16, ["href"]))
974
1019
  ], 512));
975
1020
  }
976
- }), ns = {}, rs = {
1021
+ }), cs = {}, ds = {
977
1022
  width: "16",
978
1023
  height: "16",
979
1024
  viewBox: "0 0 256 256",
@@ -981,12 +1026,12 @@ const xt = /* @__PURE__ */ D(kt, [["render", Lt]]), Dt = {
981
1026
  xmlns: "http://www.w3.org/2000/svg",
982
1027
  "aria-hidden": "true"
983
1028
  };
984
- function as(t, e) {
985
- return u(), _("svg", rs, e[0] || (e[0] = [
1029
+ function us(t, e) {
1030
+ return u(), _("svg", ds, e[0] || (e[0] = [
986
1031
  l("path", { d: "M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z" }, null, -1)
987
1032
  ]));
988
1033
  }
989
- const is = /* @__PURE__ */ D(ns, [["render", as]]), ls = {}, cs = {
1034
+ const ps = /* @__PURE__ */ x(cs, [["render", us]]), hs = {}, _s = {
990
1035
  width: "12",
991
1036
  height: "12",
992
1037
  viewBox: "0 0 256 256",
@@ -994,21 +1039,21 @@ const is = /* @__PURE__ */ D(ns, [["render", as]]), ls = {}, cs = {
994
1039
  xmlns: "http://www.w3.org/2000/svg",
995
1040
  "aria-hidden": "true"
996
1041
  };
997
- function us(t, e) {
998
- return u(), _("svg", cs, e[0] || (e[0] = [
1042
+ function gs(t, e) {
1043
+ return u(), _("svg", _s, e[0] || (e[0] = [
999
1044
  l("path", { d: "M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z" }, null, -1)
1000
1045
  ]));
1001
1046
  }
1002
- const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMap((e) => {
1003
- const s = fe(e);
1047
+ const fs = /* @__PURE__ */ x(hs, [["render", gs]]), be = (t) => (t ?? []).flatMap((e) => {
1048
+ const s = ve(e);
1004
1049
  return s === void 0 ? [] : [{ collection: e, href: s }];
1005
- }), ps = {
1050
+ }), vs = {
1006
1051
  key: 0,
1007
1052
  class: "dialog-search-collections"
1008
- }, hs = { class: "dialog-search-section-head" }, _s = { class: "dialog-search-label" }, gs = { class: "dialog-search-count" }, fs = { class: "dialog-search-collection-list" }, vs = ["href"], ms = {
1053
+ }, ms = { class: "dialog-search-section-head" }, bs = { class: "dialog-search-label" }, Ss = { class: "dialog-search-count" }, Cs = { class: "dialog-search-collection-list" }, Es = ["href"], ys = {
1009
1054
  class: "dialog-search-collection-thumb",
1010
1055
  "aria-hidden": "true"
1011
- }, bs = ["src"], Ss = { class: "dialog-search-collection-title" }, Cs = { class: "dialog-search-caret" }, ys = /* @__PURE__ */ w({
1056
+ }, Is = ["src"], ws = { class: "dialog-search-collection-title" }, $s = { class: "dialog-search-caret" }, ks = /* @__PURE__ */ I({
1012
1057
  __name: "DialogSearchCollections",
1013
1058
  props: {
1014
1059
  collections: {},
@@ -1016,50 +1061,50 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1016
1061
  messages: {}
1017
1062
  },
1018
1063
  setup(t) {
1019
- const e = t, s = b(() => me(e.collections));
1020
- return (o, r) => s.value.length > 0 ? (u(), _("aside", ps, [
1021
- l("div", hs, [
1022
- l("p", _s, E(e.messages.collectionsLabel), 1),
1023
- l("span", gs, E(e.messages.collectionsCount(s.value.length)), 1)
1064
+ const e = t, s = b(() => be(e.collections));
1065
+ return (o, r) => s.value.length > 0 ? (u(), _("aside", vs, [
1066
+ l("div", ms, [
1067
+ l("p", bs, y(e.messages.collectionsLabel), 1),
1068
+ l("span", Ss, y(e.messages.collectionsCount(s.value.length)), 1)
1024
1069
  ]),
1025
- l("ul", fs, [
1026
- (u(!0), _(N, null, Q(s.value, ({ collection: n, href: i }) => (u(), _("li", {
1070
+ l("ul", Cs, [
1071
+ (u(!0), _(N, null, W(s.value, ({ collection: n, href: a }) => (u(), _("li", {
1027
1072
  key: n.objectID
1028
1073
  }, [
1029
1074
  l("a", {
1030
1075
  class: "dialog-search-collection",
1031
- href: i
1076
+ href: a
1032
1077
  }, [
1033
- l("span", ms, [
1078
+ l("span", ys, [
1034
1079
  n.imageUrl !== void 0 && n.imageUrl !== "" ? (u(), _("img", {
1035
1080
  key: 0,
1036
1081
  src: n.imageUrl,
1037
1082
  alt: "",
1038
1083
  loading: "lazy"
1039
- }, null, 8, bs)) : A("", !0)
1084
+ }, null, 8, Is)) : L("", !0)
1040
1085
  ]),
1041
- l("span", Ss, [
1042
- T(ge, {
1043
- title: K(ve)(n),
1086
+ l("span", ws, [
1087
+ T(fe, {
1088
+ title: H(me)(n),
1044
1089
  query: e.query
1045
1090
  }, null, 8, ["title", "query"])
1046
1091
  ]),
1047
- l("span", Cs, [
1048
- T(ds)
1092
+ l("span", $s, [
1093
+ T(fs)
1049
1094
  ])
1050
- ], 8, vs)
1095
+ ], 8, Es)
1051
1096
  ]))), 128))
1052
1097
  ])
1053
- ])) : A("", !0);
1098
+ ])) : L("", !0);
1054
1099
  }
1055
- }), Es = { class: "dialog-search-products" }, ws = { class: "dialog-search-section-head" }, Is = { class: "dialog-search-label" }, $s = {
1100
+ }), Ts = { class: "dialog-search-products" }, Rs = { class: "dialog-search-section-head" }, As = { class: "dialog-search-label" }, Ls = {
1056
1101
  key: 0,
1057
1102
  class: "dialog-search-label-count"
1058
- }, Rs = { class: "dialog-search-results" }, Ts = {
1103
+ }, xs = { class: "dialog-search-results" }, Ds = {
1059
1104
  key: 0,
1060
1105
  class: "dialog-search-empty",
1061
1106
  role: "status"
1062
- }, ks = /* @__PURE__ */ w({
1107
+ }, Ps = /* @__PURE__ */ I({
1063
1108
  __name: "DialogSearchProducts",
1064
1109
  props: {
1065
1110
  controller: {},
@@ -1069,15 +1114,15 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1069
1114
  },
1070
1115
  setup(t) {
1071
1116
  const e = t;
1072
- return (s, o) => (u(), _("section", Es, [
1073
- l("div", ws, [
1074
- l("p", Is, [
1075
- ce(E(e.messages.productsLabel), 1),
1076
- e.response.nbHits > 0 ? (u(), _("span", $s, " · " + E(e.messages.resultsCount(e.response.nbHits)), 1)) : A("", !0)
1117
+ return (s, o) => (u(), _("section", Ts, [
1118
+ l("div", Rs, [
1119
+ l("p", As, [
1120
+ ce(y(e.messages.productsLabel), 1),
1121
+ e.response.nbHits > 0 ? (u(), _("span", Ls, " · " + y(e.messages.resultsCount(e.response.nbHits)), 1)) : L("", !0)
1077
1122
  ])
1078
1123
  ]),
1079
- l("ul", Rs, [
1080
- e.response.hits.length === 0 ? (u(), _("li", Ts, E(e.messages.noResults), 1)) : (u(!0), _(N, { key: 1 }, Q(e.response.hits, (r, n) => (u(), O(os, {
1124
+ l("ul", xs, [
1125
+ e.response.hits.length === 0 ? (u(), _("li", Ds, y(e.messages.noResults), 1)) : (u(!0), _(N, { key: 1 }, W(e.response.hits, (r, n) => (u(), P(ls, {
1081
1126
  key: r.objectID,
1082
1127
  controller: e.controller,
1083
1128
  hit: r,
@@ -1088,27 +1133,27 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1088
1133
  ])
1089
1134
  ]));
1090
1135
  }
1091
- }), H = 8, U = 16, As = 200, Ls = 1440, xs = (t, e) => t.bottom > 0 && t.top < e, Ds = (t, e) => {
1136
+ }), V = 8, U = 16, Os = 200, Ns = 1440, qs = (t, e) => t.bottom > 0 && t.top < e, Ms = (t, e) => {
1092
1137
  const s = Math.min(
1093
- Ls,
1138
+ Ns,
1094
1139
  e - 2 * U
1095
1140
  ), o = t.left + t.width / 2 - s / 2;
1096
1141
  return { left: `${Math.min(
1097
1142
  Math.max(o, U),
1098
1143
  e - U - s
1099
1144
  )}px`, width: `${s}px` };
1100
- }, Ps = (t, e, s) => {
1101
- const o = s - t.bottom - H - U, r = t.top - H - U, n = Ds(t, e);
1102
- return o < As && r > o ? {
1145
+ }, Us = (t, e, s) => {
1146
+ const o = s - t.bottom - V - U, r = t.top - V - U, n = Ms(t, e);
1147
+ return o < Os && r > o ? {
1103
1148
  ...n,
1104
- bottom: `${s - t.top + H}px`,
1149
+ bottom: `${s - t.top + V}px`,
1105
1150
  maxHeight: `${Math.max(r, 0)}px`
1106
1151
  } : {
1107
1152
  ...n,
1108
- top: `${t.bottom + H}px`,
1153
+ top: `${t.bottom + V}px`,
1109
1154
  maxHeight: `${Math.max(o, 0)}px`
1110
1155
  };
1111
- }, Os = (t) => {
1156
+ }, Hs = (t) => {
1112
1157
  const e = t.trim().replace(/^#/, "");
1113
1158
  if (!/^(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(e))
1114
1159
  return;
@@ -1116,29 +1161,29 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1116
1161
  return [0, 2, 4].map(
1117
1162
  (o) => Number.parseInt(s.slice(o, o + 2), 16)
1118
1163
  );
1119
- }, Ns = (t) => {
1164
+ }, Vs = (t) => {
1120
1165
  const e = /^rgba?\((\d+), (\d+), (\d+)(?:, [\d.]+)?\)$/.exec(t);
1121
1166
  if (e !== null)
1122
1167
  return [e[1], e[2], e[3]].map(Number);
1123
- }, qs = (t) => {
1168
+ }, Bs = (t) => {
1124
1169
  if (typeof document > "u")
1125
1170
  return;
1126
1171
  const e = document.createElement("span");
1127
1172
  if (e.style.color = t, e.style.color === "")
1128
1173
  return;
1129
1174
  document.body.appendChild(e);
1130
- const s = Ns(getComputedStyle(e).color);
1175
+ const s = Vs(getComputedStyle(e).color);
1131
1176
  return e.remove(), s;
1132
- }, Ms = (t) => Os(t) ?? qs(t), Us = (t) => {
1177
+ }, Ks = (t) => Hs(t) ?? Bs(t), Fs = (t) => {
1133
1178
  const e = t / 255;
1134
1179
  return e <= 0.03928 ? e / 12.92 : ((e + 0.055) / 1.055) ** 2.4;
1135
- }, be = (t) => {
1136
- const e = Ms(t);
1180
+ }, Se = (t) => {
1181
+ const e = Ks(t);
1137
1182
  if (e === void 0)
1138
1183
  return;
1139
- const [s, o, r] = e.map(Us);
1184
+ const [s, o, r] = e.map(Fs);
1140
1185
  return 0.2126 * s + 0.7152 * o + 0.0722 * r;
1141
- }, Hs = "#181825", Vs = "#ffffff", Bs = "straight", G = 0.5, W = {
1186
+ }, zs = "#181825", Gs = "#ffffff", js = "straight", j = 0.5, Q = {
1142
1187
  light: {
1143
1188
  panel: "#ffffff",
1144
1189
  side: "#fafbfc",
@@ -1157,7 +1202,7 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1157
1202
  hover: "#242830",
1158
1203
  thumb: "#2b2f38"
1159
1204
  }
1160
- }, Ks = {
1205
+ }, Qs = {
1161
1206
  rectangle: {
1162
1207
  "r-panel": "4px",
1163
1208
  "r-item": "4px",
@@ -1170,52 +1215,52 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1170
1215
  "r-thumb": "8px",
1171
1216
  "r-btn": "10px"
1172
1217
  }
1173
- }, V = (t) => t === void 0 || t.trim() === "" ? void 0 : t.trim(), Fs = (t) => {
1174
- const e = t === void 0 ? void 0 : be(t);
1175
- return e === void 0 ? "light" : e < G ? "dark" : "light";
1176
- }, zs = (t, e) => {
1177
- const s = be(t);
1178
- return s === void 0 ? W[e].text : (e === "light" ? s < G : s >= G) ? t : W[e].text;
1179
- }, js = (t) => {
1180
- const e = Fs(V(t == null ? void 0 : t.backgroundColor)), s = (t == null ? void 0 : t.ctaBorderType) === Bs ? "rectangle" : "rectangle-rounded", o = V(t == null ? void 0 : t.primaryColor) ?? Hs, r = V(t == null ? void 0 : t.fontFamily), n = {
1181
- ...W[e],
1182
- ...Ks[s],
1218
+ }, B = (t) => t === void 0 || t.trim() === "" ? void 0 : t.trim(), Ws = (t) => {
1219
+ const e = t === void 0 ? void 0 : Se(t);
1220
+ return e === void 0 ? "light" : e < j ? "dark" : "light";
1221
+ }, Xs = (t, e) => {
1222
+ const s = Se(t);
1223
+ return s === void 0 ? Q[e].text : (e === "light" ? s < j : s >= j) ? t : Q[e].text;
1224
+ }, Ys = (t) => {
1225
+ const e = Ws(B(t == null ? void 0 : t.backgroundColor)), s = (t == null ? void 0 : t.ctaBorderType) === js ? "rectangle" : "rectangle-rounded", o = B(t == null ? void 0 : t.primaryColor) ?? zs, r = B(t == null ? void 0 : t.fontFamily), n = {
1226
+ ...Q[e],
1227
+ ...Qs[s],
1183
1228
  primary: o,
1184
- accent: zs(o, e),
1185
- "cta-text": V(t == null ? void 0 : t.ctaTextColor) ?? Vs,
1229
+ accent: Xs(o, e),
1230
+ "cta-text": B(t == null ? void 0 : t.ctaTextColor) ?? Gs,
1186
1231
  ...r === void 0 ? {} : { font: r }
1187
1232
  };
1188
1233
  return Object.fromEntries(
1189
- Object.entries(n).map(([i, a]) => [`--dso-${i}`, a])
1234
+ Object.entries(n).map(([a, i]) => [`--dso-${a}`, i])
1190
1235
  );
1191
- }, Gs = (t) => {
1192
- const e = k(), s = k(void 0), o = k({ width: 0, height: 0 });
1236
+ }, Zs = (t) => {
1237
+ const e = R(), s = R(void 0), o = R({ width: 0, height: 0 });
1193
1238
  return M(
1194
1239
  t,
1195
- (r, n, i) => {
1240
+ (r, n, a) => {
1196
1241
  if (!r)
1197
1242
  return;
1198
- const a = () => {
1199
- const h = e.value;
1200
- if (h === void 0)
1243
+ const i = () => {
1244
+ const p = e.value;
1245
+ if (p === void 0)
1201
1246
  return;
1202
- const c = h.previousElementSibling ?? h, { top: d, bottom: g, left: y, width: S } = c.getBoundingClientRect();
1247
+ const c = p.previousElementSibling ?? p, { top: C, bottom: d, left: f, width: v } = c.getBoundingClientRect();
1203
1248
  (o.value.width !== window.innerWidth || o.value.height !== window.innerHeight) && (o.value = {
1204
1249
  width: window.innerWidth,
1205
1250
  height: window.innerHeight
1206
1251
  });
1207
- const f = s.value;
1208
- (f === void 0 || f.top !== d || f.bottom !== g || f.left !== y || f.width !== S) && (s.value = { top: d, bottom: g, left: y, width: S });
1252
+ const g = s.value;
1253
+ (g === void 0 || g.top !== C || g.bottom !== d || g.left !== f || g.width !== v) && (s.value = { top: C, bottom: d, left: f, width: v });
1209
1254
  };
1210
- a(), window.addEventListener("scroll", a, !0), window.addEventListener("resize", a), i(() => {
1211
- window.removeEventListener("scroll", a, !0), window.removeEventListener("resize", a);
1255
+ i(), window.addEventListener("scroll", i, !0), window.addEventListener("resize", i), a(() => {
1256
+ window.removeEventListener("scroll", i, !0), window.removeEventListener("resize", i);
1212
1257
  });
1213
1258
  },
1214
1259
  { immediate: !0, flush: "post" }
1215
1260
  ), { anchorRef: e, rect: s, viewport: o };
1216
- }, Ws = (t, e) => {
1217
- const s = k(!1), o = k(), r = b(
1218
- () => t.value.status !== L.IDLE && !s.value
1261
+ }, Js = (t, e) => {
1262
+ const s = R(!1), o = R(), r = b(
1263
+ () => t.value.status !== A.IDLE && !s.value
1219
1264
  );
1220
1265
  M(
1221
1266
  () => t.value.query,
@@ -1224,18 +1269,18 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1224
1269
  }
1225
1270
  ), M(
1226
1271
  r,
1227
- (i, a, h) => {
1228
- if (!i)
1272
+ (a, i, p) => {
1273
+ if (!a)
1229
1274
  return;
1230
- const c = (d) => {
1231
- var I, $;
1232
- const g = d.target;
1233
- if (!(g instanceof Node))
1275
+ const c = (C) => {
1276
+ var w, $;
1277
+ const d = C.target;
1278
+ if (!(d instanceof Node))
1234
1279
  return;
1235
- const y = (I = e.value) == null ? void 0 : I.previousElementSibling, S = (($ = o.value) == null ? void 0 : $.contains(g)) ?? !1, f = (y == null ? void 0 : y.contains(g)) ?? !1;
1236
- !S && !f && (s.value = !0);
1280
+ const f = (w = e.value) == null ? void 0 : w.previousElementSibling, v = (($ = o.value) == null ? void 0 : $.contains(d)) ?? !1, g = (f == null ? void 0 : f.contains(d)) ?? !1;
1281
+ !v && !g && (s.value = !0);
1237
1282
  };
1238
- document.addEventListener("pointerdown", c), h(
1283
+ document.addEventListener("pointerdown", c), p(
1239
1284
  () => document.removeEventListener("pointerdown", c)
1240
1285
  );
1241
1286
  },
@@ -1244,33 +1289,33 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1244
1289
  const n = () => {
1245
1290
  s.value = !1;
1246
1291
  };
1247
- return B(() => {
1248
- var i, a;
1249
- (a = (i = e.value) == null ? void 0 : i.previousElementSibling) == null || a.addEventListener(
1292
+ return K(() => {
1293
+ var a, i;
1294
+ (i = (a = e.value) == null ? void 0 : a.previousElementSibling) == null || i.addEventListener(
1250
1295
  "focusin",
1251
1296
  n
1252
1297
  );
1253
- }), ue(() => {
1254
- var i, a;
1255
- (a = (i = e.value) == null ? void 0 : i.previousElementSibling) == null || a.removeEventListener(
1298
+ }), de(() => {
1299
+ var a, i;
1300
+ (i = (a = e.value) == null ? void 0 : a.previousElementSibling) == null || i.removeEventListener(
1256
1301
  "focusin",
1257
1302
  n
1258
1303
  );
1259
1304
  }), { isOpen: r, panelRef: o };
1260
- }, Qs = {
1305
+ }, eo = {
1261
1306
  key: 0,
1262
1307
  class: "dialog-search-error"
1263
- }, Xs = {
1308
+ }, to = {
1264
1309
  role: "alert",
1265
1310
  class: "dialog-search-status dialog-search-status-error"
1266
- }, Ys = {
1311
+ }, so = {
1267
1312
  key: 1,
1268
1313
  role: "status",
1269
1314
  class: "dialog-search-status"
1270
- }, Zs = {
1315
+ }, oo = {
1271
1316
  key: 0,
1272
1317
  class: "dialog-search-footer"
1273
- }, Js = ["href"], no = /* @__PURE__ */ w({
1318
+ }, no = ["href"], co = /* @__PURE__ */ I({
1274
1319
  __name: "DialogSearchResults",
1275
1320
  props: {
1276
1321
  controller: {},
@@ -1281,32 +1326,32 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1281
1326
  seeAllHref: { type: Function, default: void 0 }
1282
1327
  },
1283
1328
  setup(t) {
1284
- const e = t, s = (p) => p instanceof Oe ? `Search failed (${p.status}${p.code ? ` ${p.code}` : ""}): ${p.message}` : "Search failed: network error. Check your connection and try again.", o = b(() => e.state), r = b(() => e.state.status !== L.IDLE), { anchorRef: n, rect: i, viewport: a } = Gs(r), { isOpen: h, panelRef: c } = Ws(o, n), d = b(
1285
- () => h.value && i.value !== void 0 && xs(i.value, a.value.height)
1286
- ), g = b(() => js(e.theme)), y = b(() => ({
1287
- ...i.value === void 0 ? {} : Ps(i.value, a.value.width, a.value.height),
1288
- ...g.value
1289
- })), S = b(() => he(e.locale)), f = b(() => e.state.response), I = b(
1329
+ const e = t, s = (h) => h instanceof Ne ? `Search failed (${h.status}${h.code ? ` ${h.code}` : ""}): ${h.message}` : "Search failed: network error. Check your connection and try again.", o = b(() => e.state), r = b(() => e.state.status !== A.IDLE), { anchorRef: n, rect: a, viewport: i } = Zs(r), { isOpen: p, panelRef: c } = Js(o, n), C = b(
1330
+ () => p.value && a.value !== void 0 && qs(a.value, i.value.height)
1331
+ ), d = b(() => Ys(e.theme)), f = b(() => ({
1332
+ ...a.value === void 0 ? {} : Us(a.value, i.value.width, i.value.height),
1333
+ ...d.value
1334
+ })), v = b(() => _e(e.locale)), g = b(() => e.state.response), w = b(
1290
1335
  () => {
1291
- var p, C;
1292
- return ((C = (p = e.state.sections) == null ? void 0 : p.collections) == null ? void 0 : C.hits) ?? [];
1336
+ var h, E;
1337
+ return ((E = (h = e.state.sections) == null ? void 0 : h.collections) == null ? void 0 : E.hits) ?? [];
1293
1338
  }
1294
1339
  ), $ = b(
1295
- () => me(I.value).length > 0
1296
- ), R = b(
1297
- () => e.seeAllHref !== void 0 && f.value !== void 0 && f.value.nbHits > 0
1298
- ), m = b(() => !R.value && _e(e.state)), v = b(
1340
+ () => be(w.value).length > 0
1341
+ ), k = b(
1342
+ () => e.seeAllHref !== void 0 && g.value !== void 0 && g.value.nbHits > 0
1343
+ ), S = b(() => !k.value && ge(e.state)), m = b(
1299
1344
  () => {
1300
- var p;
1301
- return f.value === void 0 || (p = e.seeAllHref) == null ? void 0 : p.call(e, f.value.query);
1345
+ var h;
1346
+ return g.value === void 0 || (h = e.seeAllHref) == null ? void 0 : h.call(e, g.value.query);
1302
1347
  }
1303
1348
  );
1304
- return (p, C) => (u(), _(N, null, [
1349
+ return (h, E) => (u(), _(N, null, [
1305
1350
  l("div", {
1306
1351
  ref_key: "anchorRef",
1307
1352
  ref: n
1308
1353
  }, null, 512),
1309
- d.value ? (u(), O(ke, {
1354
+ C.value ? (u(), P(Ae, {
1310
1355
  key: 0,
1311
1356
  to: "body"
1312
1357
  }, [
@@ -1314,81 +1359,81 @@ const ds = /* @__PURE__ */ D(ls, [["render", us]]), me = (t) => (t ?? []).flatMa
1314
1359
  ref_key: "panelRef",
1315
1360
  ref: c,
1316
1361
  class: Z(["dialog-search-panel", `dialog-search-panel--${e.layout}`]),
1317
- style: Ae(y.value)
1362
+ style: Le(f.value)
1318
1363
  }, [
1319
- e.state.status === K(L).ERROR ? (u(), _("div", Qs, [
1320
- l("p", Xs, E(s(e.state.error)), 1),
1364
+ e.state.status === H(A).ERROR ? (u(), _("div", eo, [
1365
+ l("p", to, y(s(e.state.error)), 1),
1321
1366
  l("button", {
1322
1367
  type: "button",
1323
1368
  class: "dialog-search-retry",
1324
- onClick: C[0] || (C[0] = (P) => e.controller.retry())
1325
- }, E(S.value.retry), 1)
1326
- ])) : f.value === void 0 ? (u(), _("p", Ys, E(S.value.searching(e.state.query)), 1)) : (u(), _(N, { key: 2 }, [
1369
+ onClick: E[0] || (E[0] = (O) => e.controller.retry())
1370
+ }, y(v.value.retry), 1)
1371
+ ])) : g.value === void 0 ? (u(), _("p", so, y(v.value.searching(e.state.query)), 1)) : (u(), _(N, { key: 2 }, [
1327
1372
  l("div", {
1328
1373
  class: Z([
1329
1374
  "dialog-search-body",
1330
1375
  { "dialog-search-body--no-collections": !$.value }
1331
1376
  ])
1332
1377
  }, [
1333
- T(ys, {
1334
- collections: I.value,
1335
- query: f.value.query,
1336
- messages: S.value
1337
- }, null, 8, ["collections", "query", "messages"]),
1338
1378
  T(ks, {
1379
+ collections: w.value,
1380
+ query: g.value.query,
1381
+ messages: v.value
1382
+ }, null, 8, ["collections", "query", "messages"]),
1383
+ T(Ps, {
1339
1384
  controller: e.controller,
1340
- response: f.value,
1385
+ response: g.value,
1341
1386
  locale: e.locale,
1342
- messages: S.value
1387
+ messages: v.value
1343
1388
  }, null, 8, ["controller", "response", "locale", "messages"])
1344
1389
  ], 2),
1345
- R.value || m.value ? (u(), _("div", Zs, [
1346
- R.value ? (u(), _("a", {
1390
+ k.value || S.value ? (u(), _("div", oo, [
1391
+ k.value ? (u(), _("a", {
1347
1392
  key: 0,
1348
1393
  class: "dialog-search-cta",
1349
- href: v.value
1394
+ href: m.value
1350
1395
  }, [
1351
- ce(E(S.value.seeAllLabel(f.value.nbHits)) + " ", 1),
1352
- T(is)
1353
- ], 8, Js)) : (u(), O(zt, {
1396
+ ce(y(v.value.seeAllLabel(g.value.nbHits)) + " ", 1),
1397
+ T(ps)
1398
+ ], 8, no)) : (u(), P(Xt, {
1354
1399
  key: 1,
1355
1400
  controller: e.controller,
1356
1401
  state: e.state,
1357
1402
  locale: e.locale
1358
1403
  }, null, 8, ["controller", "state", "locale"]))
1359
- ])) : A("", !0)
1404
+ ])) : L("", !0)
1360
1405
  ], 64))
1361
1406
  ], 6)
1362
- ])) : A("", !0)
1407
+ ])) : L("", !0)
1363
1408
  ], 64));
1364
1409
  }
1365
- }), ro = (t) => {
1366
- const { client: e, surface: s = "search_page", ...o } = t, r = Qe({
1367
- search: (a, h) => e.search(a, h),
1410
+ }), uo = (t) => {
1411
+ const { client: e, surface: s = "search_page", ...o } = t, r = Xe({
1412
+ search: (i, p) => e.search(i, p),
1368
1413
  analytics: {
1369
1414
  surface: s,
1370
- trackViewSearchResults: (a) => e.trackViewSearchResults(a),
1371
- trackSelectSearchResult: (a) => e.trackSelectSearchResult(a)
1415
+ trackViewSearchResults: (i) => e.trackViewSearchResults(i),
1416
+ trackSelectSearchResult: (i) => e.trackSelectSearchResult(i)
1372
1417
  },
1373
1418
  ...o
1374
- }), n = Le(r.getState()), i = r.subscribe(() => {
1419
+ }), n = xe(r.getState()), a = r.subscribe(() => {
1375
1420
  n.value = r.getState();
1376
1421
  });
1377
- return B(() => {
1422
+ return K(() => {
1378
1423
  pe({
1379
1424
  method: "vue",
1380
- version: "3.8.0"
1425
+ version: "3.10.0"
1381
1426
  });
1382
- }), ue(() => {
1383
- i(), r.dispose();
1427
+ }), de(() => {
1428
+ a(), r.dispose();
1384
1429
  }), { controller: r, state: n, theme: e.theme };
1385
1430
  };
1386
1431
  export {
1387
- It as DialogInput,
1388
- so as DialogProductBlock,
1389
- oo as DialogSearchBar,
1390
- zt as DialogSearchPagination,
1391
- os as DialogSearchProductCard,
1392
- no as DialogSearchResults,
1393
- ro as useDialogSearch
1432
+ Tt as DialogInput,
1433
+ ao as DialogProductBlock,
1434
+ lo as DialogSearchBar,
1435
+ Xt as DialogSearchPagination,
1436
+ ls as DialogSearchProductCard,
1437
+ co as DialogSearchResults,
1438
+ uo as useDialogSearch
1394
1439
  };