@alfadocs/ui-kit-debug 1.77.0 → 1.77.1

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,37 +1,37 @@
1
- import { jsx as t, jsxs as m, Fragment as it } from "react/jsx-runtime";
2
- import { forwardRef as st, useState as fe, useRef as T, useMemo as M, useImperativeHandle as rt, useCallback as B, useEffect as X } from "react";
3
- import { c as V } from "./index-D2ZczOXr.js";
4
- import { useTranslation as C } from "react-i18next";
1
+ import { jsx as t, jsxs as m, Fragment as st } from "react/jsx-runtime";
2
+ import { forwardRef as rt, useState as fe, useRef as T, useMemo as M, useImperativeHandle as ot, useCallback as $, useEffect as X } from "react";
3
+ import { c as K } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as w } from "react-i18next";
5
5
  import { A as ee } from "./alert-9kEwDza3.js";
6
6
  import { A as Se } from "./avatar-BPiPL7ND.js";
7
7
  import { B as te } from "./button-DohK_Ak_.js";
8
- import { D as $ } from "./dropdown-menu-D1we7oAY.js";
9
- import { E as ot } from "./empty-state-DwJ5YNzz.js";
10
- import { M as lt } from "./map-view-C6MIVaqn.js";
8
+ import { D as O } from "./dropdown-menu-D1we7oAY.js";
9
+ import { E as lt } from "./empty-state-DwJ5YNzz.js";
10
+ import { M as ct } from "./map-view-C6MIVaqn.js";
11
11
  import { R as Le } from "./rating-CGYpg5dj.js";
12
12
  import { S as I } from "./sheet-uZZXaO_S.js";
13
- import { S as ct } from "./skeleton-tTWJpvAq.js";
14
- import { S as dt } from "./spinner-CoflYlEx.js";
15
- import { B as O } from "./badge-BUk4RjTS.js";
16
- import { u as ut } from "./use-media-query-CcAx5SMM.js";
17
- import { b as mt } from "./format-price-BcFBa-WP.js";
18
- import { u as pt } from "./registry-DvAUVLHh.js";
19
- import { c as ft } from "./createLucideIcon-DhHxpK9K.js";
20
- import { R as ht } from "./refresh-cw-DnI0cLFC.js";
13
+ import { S as dt } from "./skeleton-tTWJpvAq.js";
14
+ import { S as ut } from "./spinner-CoflYlEx.js";
15
+ import { B as D } from "./badge-BUk4RjTS.js";
16
+ import { u as mt } from "./use-media-query-CcAx5SMM.js";
17
+ import { b as pt } from "./format-price-BcFBa-WP.js";
18
+ import { u as ft } from "./registry-DvAUVLHh.js";
19
+ import { c as ht } from "./createLucideIcon-DhHxpK9K.js";
20
+ import { R as gt } from "./refresh-cw-DnI0cLFC.js";
21
21
  import { C as Pe } from "./chevron-down-DWE7GSq9.js";
22
22
  import { M as ae } from "./map-pin-BaY37-Km.js";
23
- import { L as Ae, B as gt } from "./languages-CZqBaPwI.js";
23
+ import { L as Ae, B as vt } from "./languages-CZqBaPwI.js";
24
24
  import { S as Me } from "./shield-check-DCJALLVh.js";
25
25
  import { H as Te } from "./heart--qCA4ffe.js";
26
- import { C as vt } from "./calendar-clock-hbObjfGY.js";
27
- import { C as bt } from "./calendar-plus-BFrIRE4r.js";
26
+ import { C as bt } from "./calendar-clock-hbObjfGY.js";
27
+ import { C as yt } from "./calendar-plus-BFrIRE4r.js";
28
28
  /**
29
29
  * @license lucide-react v1.22.0 - ISC
30
30
  *
31
31
  * This source code is licensed under the ISC license.
32
32
  * See the LICENSE file in the root directory of this source tree.
33
33
  */
34
- const yt = [
34
+ const xt = [
35
35
  [
36
36
  "path",
37
37
  {
@@ -41,7 +41,7 @@ const yt = [
41
41
  ],
42
42
  ["path", { d: "M15 5.764v15", key: "1pn4in" }],
43
43
  ["path", { d: "M9 3.236v15", key: "1uimfh" }]
44
- ], xt = ft("map", yt), kt = {
44
+ ], kt = ht("map", xt), Ct = {
45
45
  id: "practice-results",
46
46
  // `scroll` backs scroll_to_result; `pick` backs focus_pin (a non-persisting
47
47
  // pin highlight). The active variant is consumer-owned via props, so there is
@@ -120,15 +120,15 @@ const yt = [
120
120
  description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. The non-focusable card group is labelled by the practice-result-{id}-name heading, which contains data-component="practice-result-name-link": a visible link to result.href that navigates without firing onResultSelect or click telemetry. Each card also carries up to two CTA anchors: data-component="practice-result-open-cta" (practice page; absent when the consumer sets showCardOpenButton=false) and data-component="practice-result-book-cta" (booking flow; data-slot-aware="true" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component="practice-result-tagline", data-component="practice-result-description", and data-component="practice-result-price" (the kit-formatted first-visit cost, present only when the practice set one).'
121
121
  }
122
122
  }
123
- }, Ct = 13, wt = [
123
+ }, wt = 13, Rt = [
124
124
  "distance",
125
125
  "rating",
126
126
  "next-available",
127
127
  "relevance"
128
128
  ];
129
129
  function Ie(e, n, a) {
130
- const s = `languages.${e}`;
131
- return a.exists(s) ? n(s) : e.toUpperCase();
130
+ const r = `languages.${e}`;
131
+ return a.exists(r) ? n(r) : e.toUpperCase();
132
132
  }
133
133
  function H(e, n) {
134
134
  if (typeof window > "u") return;
@@ -138,57 +138,57 @@ function H(e, n) {
138
138
  } catch {
139
139
  }
140
140
  }
141
- function J(e, n, a, s) {
142
- const r = e.findIndex((d) => d.id === n);
143
- if (r < 0) return;
144
- const i = e[r];
145
- i && (H("serp_result_clicked", { resultId: n, source: a, position: r }), s(i, a));
141
+ function J(e, n, a, r) {
142
+ const s = e.findIndex((d) => d.id === n);
143
+ if (s < 0) return;
144
+ const i = e[s];
145
+ i && (H("serp_result_clicked", { resultId: n, source: a, position: s }), r(i, a));
146
146
  }
147
- function Rt(e, n) {
148
- const s = (n.lat - e.lat) * Math.PI / 180, r = (n.lng - e.lng) * Math.PI / 180, i = e.lat * Math.PI / 180, d = n.lat * Math.PI / 180, u = Math.sin(s / 2), l = Math.sin(r / 2), g = u * u + Math.cos(i) * Math.cos(d) * l * l;
147
+ function Nt(e, n) {
148
+ const r = (n.lat - e.lat) * Math.PI / 180, s = (n.lng - e.lng) * Math.PI / 180, i = e.lat * Math.PI / 180, d = n.lat * Math.PI / 180, u = Math.sin(r / 2), o = Math.sin(s / 2), g = u * u + Math.cos(i) * Math.cos(d) * o * o;
149
149
  return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(g)));
150
150
  }
151
- function Nt(e, n, a) {
152
- var r;
153
- const s = [];
151
+ function St(e, n, a) {
152
+ var s;
153
+ const r = [];
154
154
  for (const i of e) {
155
- const d = i.field ?? i.key, u = (((r = a == null ? void 0 : a[i.key]) == null ? void 0 : r.length) ?? 0) > 0, l = i.type === "boolean" || i.type !== "options" && i.options.length === 0 && (u || n.some(
155
+ const d = i.field ?? i.key, u = (((s = a == null ? void 0 : a[i.key]) == null ? void 0 : s.length) ?? 0) > 0, o = i.type === "boolean" || i.type !== "options" && i.options.length === 0 && (u || n.some(
156
156
  (g) => typeof g[d] == "boolean"
157
157
  ));
158
- !l && i.options.length === 0 || s.push({ ...i, boolean: l, booleanField: d });
158
+ !o && i.options.length === 0 || r.push({ ...i, boolean: o, booleanField: d });
159
159
  }
160
- return s;
160
+ return r;
161
161
  }
162
- function St(e, n, a) {
163
- return !n || Object.keys(n).length === 0 ? e : e.filter((s) => {
164
- for (const r of a) {
165
- const i = n[r.key];
162
+ function Lt(e, n, a) {
163
+ return !n || Object.keys(n).length === 0 ? e : e.filter((r) => {
164
+ for (const s of a) {
165
+ const i = n[s.key];
166
166
  if (!i || i.length === 0) continue;
167
- if (r.boolean) {
168
- if (s[r.booleanField] !== !0) return !1;
167
+ if (s.boolean) {
168
+ if (r[s.booleanField] !== !0) return !1;
169
169
  continue;
170
170
  }
171
- const d = r.key === "insurance" ? s.insurances : r.key === "language" ? s.languages : s[r.key];
172
- if (!Array.isArray(d) || !(r.multi ? i.some((l) => d.includes(l)) : d.includes(i[0]))) return !1;
171
+ const d = s.key === "insurance" ? r.insurances : s.key === "language" ? r.languages : r[s.key];
172
+ if (!Array.isArray(d) || !(s.multi ? i.some((o) => d.includes(o)) : d.includes(i[0]))) return !1;
173
173
  }
174
174
  return !0;
175
175
  });
176
176
  }
177
- function Lt(e, n, a) {
178
- const s = e.map((i) => {
179
- const d = i.location ? i.location.distanceKm ?? (a ? Rt(a, i.location) : void 0) : void 0;
177
+ function Pt(e, n, a) {
178
+ const r = e.map((i) => {
179
+ const d = i.location ? i.location.distanceKm ?? (a ? Nt(a, i.location) : void 0) : void 0;
180
180
  return { result: i, distanceKm: d };
181
- }), r = (i, d) => {
182
- var u, l, g, o;
181
+ }), s = (i, d) => {
182
+ var u, o, g, l;
183
183
  switch (n) {
184
184
  case "distance":
185
185
  return i.distanceKm == null && d.distanceKm == null ? 0 : i.distanceKm == null ? 1 : d.distanceKm == null ? -1 : i.distanceKm - d.distanceKm;
186
186
  case "rating": {
187
187
  const p = ((u = i.result.rating) == null ? void 0 : u.value) ?? -1;
188
- return (((l = d.result.rating) == null ? void 0 : l.value) ?? -1) - p;
188
+ return (((o = d.result.rating) == null ? void 0 : o.value) ?? -1) - p;
189
189
  }
190
190
  case "next-available": {
191
- const p = ((g = i.result.nextAvailableSlot) == null ? void 0 : g.dateTime) ?? "", f = ((o = d.result.nextAvailableSlot) == null ? void 0 : o.dateTime) ?? "";
191
+ const p = ((g = i.result.nextAvailableSlot) == null ? void 0 : g.dateTime) ?? "", f = ((l = d.result.nextAvailableSlot) == null ? void 0 : l.dateTime) ?? "";
192
192
  return !p && !f ? 0 : p ? f ? p.localeCompare(f) : -1 : 1;
193
193
  }
194
194
  case "relevance":
@@ -196,7 +196,7 @@ function Lt(e, n, a) {
196
196
  return 0;
197
197
  }
198
198
  };
199
- return [...s].sort(r).map(
199
+ return [...r].sort(s).map(
200
200
  ({ result: i, distanceKm: d }) => d != null && i.location ? {
201
201
  ...i,
202
202
  location: { ...i.location, distanceKm: d }
@@ -204,17 +204,17 @@ function Lt(e, n, a) {
204
204
  );
205
205
  }
206
206
  function Re(e) {
207
- let n = -1 / 0, a = 1 / 0, s = -1 / 0, r = 1 / 0, i = !1;
207
+ let n = -1 / 0, a = 1 / 0, r = -1 / 0, s = 1 / 0, i = !1;
208
208
  for (const d of e) {
209
209
  if (!d.location) continue;
210
210
  i = !0;
211
- const { lat: u, lng: l } = d.location;
212
- u > n && (n = u), u < a && (a = u), l > s && (s = l), l < r && (r = l);
211
+ const { lat: u, lng: o } = d.location;
212
+ u > n && (n = u), u < a && (a = u), o > r && (r = o), o < s && (s = o);
213
213
  }
214
214
  if (i)
215
- return { north: n, south: a, east: s, west: r };
215
+ return { north: n, south: a, east: r, west: s };
216
216
  }
217
- const Pt = V(
217
+ const At = K(
218
218
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
219
219
  {
220
220
  variants: {
@@ -231,15 +231,15 @@ function _e({
231
231
  heading: e,
232
232
  headingLevel: n,
233
233
  intro: a,
234
- totalCount: s,
235
- searchCentreLabel: r
234
+ totalCount: r,
235
+ searchCentreLabel: s
236
236
  }) {
237
- const { t: i } = C("ui"), d = `h${n}`;
238
- if (!e && !a && s == null) return null;
239
- const u = s != null ? r ? i("practiceResults.results.heading", {
240
- count: s,
241
- place: r
242
- }) : i("practiceResults.results.summary", { count: s }) : void 0;
237
+ const { t: i } = w("ui"), d = `h${n}`;
238
+ if (!e && !a && r == null) return null;
239
+ const u = r != null ? s ? i("practiceResults.results.heading", {
240
+ count: r,
241
+ place: s
242
+ }) : i("practiceResults.results.summary", { count: r }) : void 0;
243
243
  return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
244
244
  e ? /* @__PURE__ */ t(d, { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
245
245
  a ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: a }) : null,
@@ -253,7 +253,7 @@ function _e({
253
253
  ) : null
254
254
  ] });
255
255
  }
256
- const ne = V(
256
+ const ne = K(
257
257
  [
258
258
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
259
259
  "ds:min-h-[var(--min-target-size)]",
@@ -275,7 +275,7 @@ const ne = V(
275
275
  },
276
276
  defaultVariants: { state: "idle" }
277
277
  }
278
- ), At = V(
278
+ ), Mt = K(
279
279
  "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
280
280
  {
281
281
  variants: {
@@ -294,7 +294,7 @@ const ne = V(
294
294
  },
295
295
  defaultVariants: { placement: "inline" }
296
296
  }
297
- ), Mt = V(
297
+ ), Tt = K(
298
298
  [
299
299
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
300
300
  "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -309,63 +309,63 @@ function ze({
309
309
  facets: e,
310
310
  value: n,
311
311
  onChange: a,
312
- floating: s
312
+ floating: r
313
313
  }) {
314
- const { t: r } = C("ui"), i = M(() => n ?? {}, [n]), d = M(
315
- () => Object.values(i).some((o) => o && o.length > 0),
314
+ const { t: s } = w("ui"), i = M(() => n ?? {}, [n]), d = M(
315
+ () => Object.values(i).some((l) => l && l.length > 0),
316
316
  [i]
317
- ), u = (o, p) => {
317
+ ), u = (l, p) => {
318
318
  const f = { ...i };
319
- p.length === 0 ? delete f[o] : f[o] = p, a(f), H("serp_filter_changed", { key: o, values: p });
320
- }, l = (o) => {
319
+ p.length === 0 ? delete f[l] : f[l] = p, a(f), H("serp_filter_changed", { key: l, values: p });
320
+ }, o = (l) => {
321
321
  var f;
322
- const p = (((f = i[o]) == null ? void 0 : f.length) ?? 0) > 0;
323
- u(o, p ? [] : ["true"]);
324
- }, g = (o, p) => {
325
- const f = i[o.key] ?? [], b = f.includes(p);
322
+ const p = (((f = i[l]) == null ? void 0 : f.length) ?? 0) > 0;
323
+ u(l, p ? [] : ["true"]);
324
+ }, g = (l, p) => {
325
+ const f = i[l.key] ?? [], b = f.includes(p);
326
326
  let h;
327
- o.multi ? h = b ? f.filter((y) => y !== p) : [...f, p] : h = b ? [] : [p], u(o.key, h);
327
+ l.multi ? h = b ? f.filter((y) => y !== p) : [...f, p] : h = b ? [] : [p], u(l.key, h);
328
328
  };
329
329
  return e.length === 0 ? null : /* @__PURE__ */ m(
330
330
  "div",
331
331
  {
332
332
  "data-component": "practice-results-filters",
333
333
  role: "group",
334
- "aria-label": r("practiceResults.filters.label"),
335
- className: At({
336
- placement: s ? "floating" : "inline"
334
+ "aria-label": s("practiceResults.filters.label"),
335
+ className: Mt({
336
+ placement: r ? "floating" : "inline"
337
337
  }),
338
338
  children: [
339
- e.map((o) => {
340
- const p = o.boolean, f = i[o.key] ?? [], b = f.length > 0;
339
+ e.map((l) => {
340
+ const p = l.boolean, f = i[l.key] ?? [], b = f.length > 0;
341
341
  if (p)
342
342
  return /* @__PURE__ */ t(
343
343
  "button",
344
344
  {
345
345
  type: "button",
346
346
  "aria-pressed": b,
347
- "aria-label": o.label,
348
- onClick: () => l(o.key),
347
+ "aria-label": l.label,
348
+ onClick: () => o(l.key),
349
349
  className: ne({
350
350
  state: b ? "active" : "idle"
351
351
  }),
352
- children: /* @__PURE__ */ t("span", { children: o.label })
352
+ children: /* @__PURE__ */ t("span", { children: l.label })
353
353
  },
354
- o.key
354
+ l.key
355
355
  );
356
356
  const h = b ? ` (${f.length})` : "";
357
- return /* @__PURE__ */ m($.Root, { children: [
358
- /* @__PURE__ */ t($.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
357
+ return /* @__PURE__ */ m(O.Root, { children: [
358
+ /* @__PURE__ */ t(O.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
359
359
  "button",
360
360
  {
361
361
  type: "button",
362
- "aria-label": `${o.label}${h}`,
362
+ "aria-label": `${l.label}${h}`,
363
363
  className: ne({
364
364
  state: b ? "active" : "idle"
365
365
  }),
366
366
  children: [
367
367
  /* @__PURE__ */ m("span", { children: [
368
- o.label,
368
+ l.label,
369
369
  h
370
370
  ] }),
371
371
  /* @__PURE__ */ t(
@@ -378,18 +378,18 @@ function ze({
378
378
  ]
379
379
  }
380
380
  ) }),
381
- /* @__PURE__ */ t($.Content, { sideOffset: 8, align: "start", children: o.options.map((y) => /* @__PURE__ */ t(
382
- $.CheckboxItem,
381
+ /* @__PURE__ */ t(O.Content, { sideOffset: 8, align: "start", children: l.options.map((y) => /* @__PURE__ */ t(
382
+ O.CheckboxItem,
383
383
  {
384
384
  checked: f.includes(y.value),
385
385
  onSelect: (k) => {
386
- o.multi && k.preventDefault(), g(o, y.value);
386
+ l.multi && k.preventDefault(), g(l, y.value);
387
387
  },
388
388
  children: y.label
389
389
  },
390
390
  y.value
391
391
  )) })
392
- ] }, o.key);
392
+ ] }, l.key);
393
393
  }),
394
394
  d ? /* @__PURE__ */ t(
395
395
  "button",
@@ -398,8 +398,8 @@ function ze({
398
398
  onClick: () => {
399
399
  a({}), H("serp_filter_changed", { key: "*", values: [] });
400
400
  },
401
- className: Mt(),
402
- children: r("practiceResults.filters.clear")
401
+ className: Tt(),
402
+ children: s("practiceResults.filters.clear")
403
403
  }
404
404
  ) : null
405
405
  ]
@@ -407,8 +407,8 @@ function ze({
407
407
  );
408
408
  }
409
409
  function me({ value: e, onChange: n }) {
410
- const { t: a } = C("ui"), s = (r) => {
411
- switch (r) {
410
+ const { t: a } = w("ui"), r = (s) => {
411
+ switch (s) {
412
412
  case "distance":
413
413
  return a("practiceResults.sort.distance");
414
414
  case "rating":
@@ -420,47 +420,47 @@ function me({ value: e, onChange: n }) {
420
420
  return a("practiceResults.sort.relevance");
421
421
  }
422
422
  };
423
- return /* @__PURE__ */ m($.Root, { children: [
424
- /* @__PURE__ */ t($.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
423
+ return /* @__PURE__ */ m(O.Root, { children: [
424
+ /* @__PURE__ */ t(O.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
425
425
  "button",
426
426
  {
427
427
  type: "button",
428
- "aria-label": `${a("practiceResults.sort.label")}: ${s(e)}`,
428
+ "aria-label": `${a("practiceResults.sort.label")}: ${r(e)}`,
429
429
  className: ne({ state: "idle" }),
430
430
  children: [
431
431
  /* @__PURE__ */ m("span", { children: [
432
432
  a("practiceResults.sort.label"),
433
433
  ": ",
434
- s(e)
434
+ r(e)
435
435
  ] }),
436
436
  /* @__PURE__ */ t(Pe, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
437
437
  ]
438
438
  }
439
439
  ) }),
440
- /* @__PURE__ */ t($.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
441
- $.RadioGroup,
440
+ /* @__PURE__ */ t(O.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
441
+ O.RadioGroup,
442
442
  {
443
443
  value: e,
444
- onValueChange: (r) => {
445
- const i = r;
444
+ onValueChange: (s) => {
445
+ const i = s;
446
446
  i !== e && (n(i), H("serp_sort_changed", { sort: i }));
447
447
  },
448
- children: wt.map((r) => /* @__PURE__ */ t($.RadioItem, { value: r, children: s(r) }, r))
448
+ children: Rt.map((s) => /* @__PURE__ */ t(O.RadioItem, { value: s, children: r(s) }, s))
449
449
  }
450
450
  ) })
451
451
  ] });
452
452
  }
453
453
  function Fe({ distanceKm: e }) {
454
- const { t: n, i18n: a } = C("ui"), s = M(() => {
454
+ const { t: n, i18n: a } = w("ui"), r = M(() => {
455
455
  if (e < 1) return n("practiceResults.distance.below");
456
- const r = new Intl.NumberFormat(a.language, {
456
+ const s = new Intl.NumberFormat(a.language, {
457
457
  maximumFractionDigits: 1
458
458
  }).format(e);
459
- return n("practiceResults.distance.km", { distance: r });
459
+ return n("practiceResults.distance.km", { distance: s });
460
460
  }, [e, n, a.language]);
461
- return /* @__PURE__ */ t(O, { variant: "neutral", leading: /* @__PURE__ */ t(ae, { "aria-hidden": "true" }), children: s });
461
+ return /* @__PURE__ */ t(D, { variant: "neutral", leading: /* @__PURE__ */ t(ae, { "aria-hidden": "true" }), children: r });
462
462
  }
463
- const Ne = V(
463
+ const Ne = K(
464
464
  [
465
465
  "ds:inline-size-[12rem] ds:block-size-[8rem] ds:shrink-0",
466
466
  "ds:rounded-[var(--radius-md)] ds:overflow-hidden"
@@ -479,36 +479,36 @@ const Ne = V(
479
479
  defaultVariants: { state: "placeholder" }
480
480
  }
481
481
  );
482
- function Tt() {
482
+ function It() {
483
483
  if (typeof document > "u") return "4945a3";
484
484
  const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
485
485
  return n ? n[1] : "4945a3";
486
486
  }
487
- function It({
487
+ function _t({
488
488
  apiKey: e,
489
489
  center: n,
490
490
  zoom: a = 14,
491
- address: s
491
+ address: r
492
492
  }) {
493
- const { t: r } = C("ui");
493
+ const { t: s } = w("ui");
494
494
  if (!e)
495
495
  return /* @__PURE__ */ m(
496
496
  "div",
497
497
  {
498
- "aria-hidden": s ? void 0 : "true",
498
+ "aria-hidden": r ? void 0 : "true",
499
499
  className: Ne({ state: "placeholder" }),
500
500
  children: [
501
501
  /* @__PURE__ */ t(ae, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
502
- s ? /* @__PURE__ */ t("span", { dir: "auto", className: "type-meta ds:[overflow-wrap:anywhere]", children: s }) : null
502
+ r ? /* @__PURE__ */ t("span", { dir: "auto", className: "type-meta ds:[overflow-wrap:anywhere]", children: r }) : null
503
503
  ]
504
504
  }
505
505
  );
506
- const i = Tt(), d = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${a}&size=240x160&scale=2&markers=color:0x${i}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
506
+ const i = It(), d = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${a}&size=240x160&scale=2&markers=color:0x${i}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
507
507
  return /* @__PURE__ */ t(
508
508
  "img",
509
509
  {
510
510
  src: d,
511
- alt: r("practiceResults.thumbnail.alt"),
511
+ alt: s("practiceResults.thumbnail.alt"),
512
512
  loading: "lazy",
513
513
  decoding: "async",
514
514
  width: 240,
@@ -528,7 +528,7 @@ function He({ tagline: e }) {
528
528
  }
529
529
  ) : null;
530
530
  }
531
- const _t = V(
531
+ const zt = K(
532
532
  "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)] ds:whitespace-pre-line ds:break-words",
533
533
  {
534
534
  variants: {
@@ -549,7 +549,7 @@ function Be({
549
549
  {
550
550
  "data-component": "practice-result-description",
551
551
  dir: "auto",
552
- className: _t({ density: n }),
552
+ className: zt({ density: n }),
553
553
  children: e
554
554
  }
555
555
  ) : null;
@@ -558,23 +558,23 @@ function $e({
558
558
  cents: e,
559
559
  currencyCode: n = "EUR"
560
560
  }) {
561
- const { t: a, i18n: s } = C("ui"), r = M(
562
- () => e == null ? void 0 : mt(
561
+ const { t: a, i18n: r } = w("ui"), s = M(
562
+ () => e == null ? void 0 : pt(
563
563
  e,
564
564
  n,
565
- s.language ?? "en",
565
+ r.language ?? "en",
566
566
  a("common.freeOfCharge")
567
567
  ),
568
- [e, n, s.language, a]
568
+ [e, n, r.language, a]
569
569
  );
570
- return r === void 0 ? null : /* @__PURE__ */ m(
570
+ return s === void 0 ? null : /* @__PURE__ */ m(
571
571
  "span",
572
572
  {
573
573
  "data-component": "practice-result-price",
574
574
  className: "type-body-sm ds:inline-flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[var(--muted-foreground)]",
575
575
  children: [
576
576
  /* @__PURE__ */ t(
577
- gt,
577
+ vt,
578
578
  {
579
579
  "aria-hidden": "true",
580
580
  className: "ds:size-4 ds:shrink-0 ds:text-[var(--primary)]"
@@ -582,16 +582,16 @@ function $e({
582
582
  ),
583
583
  a("practiceResults.card.firstVisitPrice"),
584
584
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: ": " }),
585
- /* @__PURE__ */ t("span", { className: "ds:font-[var(--font-weight-medium)] ds:text-[var(--foreground)]", children: r })
585
+ /* @__PURE__ */ t("span", { className: "ds:font-[var(--font-weight-medium)] ds:text-[var(--foreground)]", children: s })
586
586
  ]
587
587
  }
588
588
  );
589
589
  }
590
590
  function Oe({ time: e }) {
591
- const { t: n } = C("ui");
591
+ const { t: n } = w("ui");
592
592
  return /* @__PURE__ */ m("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
593
593
  /* @__PURE__ */ t(
594
- vt,
594
+ bt,
595
595
  {
596
596
  "aria-hidden": "true",
597
597
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -604,42 +604,29 @@ function De({
604
604
  result: e,
605
605
  openLabel: n,
606
606
  bookLabel: a,
607
- nextSlotText: s,
608
- onOpenClick: r,
607
+ nextSlotText: r,
608
+ onOpenClick: s,
609
609
  onBookClick: i
610
610
  }) {
611
- const { t: d } = C("ui"), u = e.nextAvailableSlot, l = (u == null ? void 0 : u.bookingHref) ?? e.bookingHref ?? e.href, g = u && s ? d("practiceResults.nextSlot.cta", { time: s }) : a;
611
+ const { t: d } = w("ui"), u = e.nextAvailableSlot, o = (u == null ? void 0 : u.bookingHref) ?? e.bookingHref ?? e.href, g = u && r ? d("practiceResults.nextSlot.cta", { time: r }) : a;
612
612
  return /* @__PURE__ */ m("div", { className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]", children: [
613
- n !== void 0 ? /* @__PURE__ */ t(
614
- te,
615
- {
616
- intent: "secondary",
617
- size: "sm",
618
- asChild: !0,
619
- onClick: (o) => {
620
- o.stopPropagation(), r();
621
- },
622
- children: /* @__PURE__ */ m("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
623
- n,
624
- " ",
625
- /* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
626
- ] })
627
- }
628
- ) : null,
613
+ n !== void 0 ? /* @__PURE__ */ t(te, { intent: "secondary", size: "sm", asChild: !0, onClick: s, children: /* @__PURE__ */ m("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
614
+ n,
615
+ " ",
616
+ /* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
617
+ ] }) }) : null,
629
618
  /* @__PURE__ */ t(
630
619
  te,
631
620
  {
632
621
  intent: "primary",
633
622
  size: "sm",
634
623
  asChild: !0,
635
- startIcon: /* @__PURE__ */ t(bt, { "aria-hidden": "true" }),
636
- onClick: (o) => {
637
- o.stopPropagation(), i();
638
- },
624
+ startIcon: /* @__PURE__ */ t(yt, { "aria-hidden": "true" }),
625
+ onClick: i,
639
626
  children: /* @__PURE__ */ m(
640
627
  "a",
641
628
  {
642
- href: l,
629
+ href: o,
643
630
  "data-component": "practice-result-book-cta",
644
631
  "data-slot-aware": u ? "true" : void 0,
645
632
  children: [
@@ -653,7 +640,7 @@ function De({
653
640
  )
654
641
  ] });
655
642
  }
656
- const Ve = V(
643
+ const Ve = K(
657
644
  [
658
645
  "ds:relative ds:flex ds:w-full ds:cursor-pointer",
659
646
  "ds:rounded-[var(--radius-lg)]",
@@ -681,7 +668,7 @@ const Ve = V(
681
668
  },
682
669
  defaultVariants: { density: "compact" }
683
670
  }
684
- ), zt = V([
671
+ ), Ft = K([
685
672
  "ds:text-[var(--foreground)] ds:no-underline ds:hover:underline",
686
673
  "ds:rounded-[var(--radius-xs)]",
687
674
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
@@ -705,32 +692,37 @@ function Ke({
705
692
  href: e.href,
706
693
  dir: "auto",
707
694
  "data-component": "practice-result-name-link",
708
- className: zt(),
709
- onClick: (s) => s.stopPropagation(),
695
+ className: Ft(),
710
696
  children: e.name
711
697
  }
712
698
  )
713
699
  }
714
700
  );
715
701
  }
716
- function Ft({
702
+ function Ee(e) {
703
+ const n = e.target.closest(
704
+ 'a, button, [role="button"], input, select, textarea, label'
705
+ );
706
+ return n !== null && n !== e.currentTarget && e.currentTarget.contains(n);
707
+ }
708
+ function Ht({
717
709
  result: e,
718
710
  headingLevel: n,
719
711
  highlighted: a,
720
- onSelect: s,
721
- onOpenClick: r,
712
+ onSelect: r,
713
+ onOpenClick: s,
722
714
  onHover: i,
723
715
  density: d = "compact",
724
716
  openLabel: u,
725
- bookLabel: l,
717
+ bookLabel: o,
726
718
  onBookClick: g,
727
- nextSlotText: o,
719
+ nextSlotText: l,
728
720
  maxInsuranceChips: p = 3,
729
721
  maxLanguageChips: f = 4,
730
722
  children: b
731
723
  }) {
732
- var Z, Q, K, E, D, w;
733
- const { t: h, i18n: y } = C("ui"), k = e.rating, x = (Z = e.location) == null ? void 0 : Z.distanceKm, c = (((Q = e.languages) == null ? void 0 : Q.length) ?? 0) > 0, S = (((K = e.insurances) == null ? void 0 : K.length) ?? 0) > 0, R = e.specializedInFearPatients, L = c || S || R, N = (e.languages ?? []).slice(0, f), _ = (((E = e.languages) == null ? void 0 : E.length) ?? 0) - N.length, A = (e.insurances ?? []).slice(0, p), G = (((D = e.insurances) == null ? void 0 : D.length) ?? 0) - A.length;
724
+ var Z, Q, E, j, V, R;
725
+ const { t: h, i18n: y } = w("ui"), k = e.rating, x = (Z = e.location) == null ? void 0 : Z.distanceKm, c = (((Q = e.languages) == null ? void 0 : Q.length) ?? 0) > 0, S = (((E = e.insurances) == null ? void 0 : E.length) ?? 0) > 0, N = e.specializedInFearPatients, L = c || S || N, C = (e.languages ?? []).slice(0, f), _ = (((j = e.languages) == null ? void 0 : j.length) ?? 0) - C.length, A = (e.insurances ?? []).slice(0, p), G = (((V = e.insurances) == null ? void 0 : V.length) ?? 0) - A.length;
734
726
  return (
735
727
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events -- card is role="group" by design (axe nested-interactive); click handler is mouse-only sync.
736
728
  /* @__PURE__ */ m(
@@ -741,7 +733,9 @@ function Ft({
741
733
  "data-highlighted": a ? "true" : "false",
742
734
  role: "group",
743
735
  "aria-labelledby": `practice-result-${e.id}-name`,
744
- onClick: s,
736
+ onClick: (B) => {
737
+ Ee(B) || r();
738
+ },
745
739
  onMouseEnter: i,
746
740
  onFocus: i,
747
741
  className: Ve({ density: d }),
@@ -764,7 +758,7 @@ function Ft({
764
758
  ] }),
765
759
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
766
760
  /* @__PURE__ */ t(He, { tagline: e.tagline }),
767
- (w = e.location) != null && w.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
761
+ (R = e.location) != null && R.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
768
762
  /* @__PURE__ */ t(ae, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
769
763
  /* @__PURE__ */ t("span", { dir: "auto", children: e.location.address })
770
764
  ] }) : null
@@ -778,27 +772,27 @@ function Ft({
778
772
  }
779
773
  ) : null,
780
774
  L ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
781
- N.map((j) => /* @__PURE__ */ t(
782
- O,
775
+ C.map((B) => /* @__PURE__ */ t(
776
+ D,
783
777
  {
784
778
  variant: "neutral",
785
779
  leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
786
- children: Ie(j, h, y)
780
+ children: Ie(B, h, y)
787
781
  },
788
- `lang-${j}`
782
+ `lang-${B}`
789
783
  )),
790
- _ > 0 ? /* @__PURE__ */ t(O, { variant: "neutral", children: `+${_}` }) : null,
791
- A.map((j) => /* @__PURE__ */ t(
792
- O,
784
+ _ > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${_}` }) : null,
785
+ A.map((B) => /* @__PURE__ */ t(
786
+ D,
793
787
  {
794
788
  variant: "info",
795
789
  leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }),
796
- children: j
790
+ children: B
797
791
  },
798
- `ins-${j}`
792
+ `ins-${B}`
799
793
  )),
800
- G > 0 ? /* @__PURE__ */ t(O, { variant: "neutral", children: `+${G}` }) : null,
801
- R ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(Te, { "aria-hidden": "true" }), children: h("practiceResults.fearPatient.label") }) : null
794
+ G > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${G}` }) : null,
795
+ N ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Te, { "aria-hidden": "true" }), children: h("practiceResults.fearPatient.label") }) : null
802
796
  ] }) : null,
803
797
  /* @__PURE__ */ t(Be, { description: e.description, density: "compact" }),
804
798
  /* @__PURE__ */ t(
@@ -808,16 +802,16 @@ function Ft({
808
802
  currencyCode: e.currencyCode
809
803
  }
810
804
  ),
811
- e.nextAvailableSlot && o ? /* @__PURE__ */ t(Oe, { time: o }) : null,
805
+ e.nextAvailableSlot && l ? /* @__PURE__ */ t(Oe, { time: l }) : null,
812
806
  b,
813
807
  /* @__PURE__ */ t(
814
808
  De,
815
809
  {
816
810
  result: e,
817
811
  openLabel: u,
818
- bookLabel: l,
819
- nextSlotText: o,
820
- onOpenClick: r,
812
+ bookLabel: o,
813
+ nextSlotText: l,
814
+ onOpenClick: s,
821
815
  onBookClick: g
822
816
  }
823
817
  )
@@ -827,20 +821,20 @@ function Ft({
827
821
  )
828
822
  );
829
823
  }
830
- function Ht({
824
+ function Bt({
831
825
  result: e,
832
826
  headingLevel: n,
833
827
  apiKey: a,
834
- highlighted: s,
835
- onSelect: r,
828
+ highlighted: r,
829
+ onSelect: s,
836
830
  onOpenClick: i,
837
831
  onBookClick: d,
838
832
  onHover: u,
839
- openLabel: l,
833
+ openLabel: o,
840
834
  bookLabel: g
841
835
  }) {
842
- var c, S, R, L;
843
- const { t: o, i18n: p } = C("ui"), f = M(() => {
836
+ var c, S, N, L;
837
+ const { t: l, i18n: p } = w("ui"), f = M(() => {
844
838
  if (e.nextAvailableSlot)
845
839
  try {
846
840
  return new Intl.DateTimeFormat(p.language, {
@@ -851,7 +845,7 @@ function Ht({
851
845
  } catch {
852
846
  return e.nextAvailableSlot.dateTime;
853
847
  }
854
- }, [e.nextAvailableSlot, p.language]), b = (((c = e.languages) == null ? void 0 : c.length) ?? 0) > 0, h = (((S = e.insurances) == null ? void 0 : S.length) ?? 0) > 0, y = e.specializedInFearPatients, k = b || h || y, x = (R = e.location) == null ? void 0 : R.distanceKm;
848
+ }, [e.nextAvailableSlot, p.language]), b = (((c = e.languages) == null ? void 0 : c.length) ?? 0) > 0, h = (((S = e.insurances) == null ? void 0 : S.length) ?? 0) > 0, y = e.specializedInFearPatients, k = b || h || y, x = (N = e.location) == null ? void 0 : N.distanceKm;
855
849
  return (
856
850
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events -- card is role="group" by design (axe nested-interactive); click handler is mouse-only sync.
857
851
  /* @__PURE__ */ m(
@@ -860,16 +854,18 @@ function Ht({
860
854
  "data-component": "practice-result-card",
861
855
  "data-result-id": e.id,
862
856
  "data-density": "rich",
863
- "data-highlighted": s ? "true" : "false",
857
+ "data-highlighted": r ? "true" : "false",
864
858
  role: "group",
865
859
  "aria-labelledby": `practice-result-${e.id}-name`,
866
- onClick: r,
860
+ onClick: (C) => {
861
+ Ee(C) || s();
862
+ },
867
863
  onMouseEnter: u,
868
864
  onFocus: u,
869
865
  className: Ve({ density: "rich" }),
870
866
  children: [
871
867
  e.location ? /* @__PURE__ */ t(
872
- It,
868
+ _t,
873
869
  {
874
870
  apiKey: a,
875
871
  center: {
@@ -919,25 +915,25 @@ function Ht({
919
915
  ) : null
920
916
  ] }),
921
917
  k ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
922
- b ? (e.languages ?? []).map((N) => /* @__PURE__ */ t(
923
- O,
918
+ b ? (e.languages ?? []).map((C) => /* @__PURE__ */ t(
919
+ D,
924
920
  {
925
921
  variant: "neutral",
926
922
  leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
927
- children: Ie(N, o, p)
923
+ children: Ie(C, l, p)
928
924
  },
929
- `lang-${N}`
925
+ `lang-${C}`
930
926
  )) : null,
931
- h ? (e.insurances ?? []).map((N) => /* @__PURE__ */ t(
932
- O,
927
+ h ? (e.insurances ?? []).map((C) => /* @__PURE__ */ t(
928
+ D,
933
929
  {
934
930
  variant: "info",
935
931
  leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }),
936
- children: N
932
+ children: C
937
933
  },
938
- `ins-${N}`
934
+ `ins-${C}`
939
935
  )) : null,
940
- y ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(Te, { "aria-hidden": "true" }), children: o("practiceResults.fearPatient.label") }) : null
936
+ y ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Te, { "aria-hidden": "true" }), children: l("practiceResults.fearPatient.label") }) : null
941
937
  ] }) : null,
942
938
  /* @__PURE__ */ t(Be, { description: e.description, density: "rich" }),
943
939
  /* @__PURE__ */ t(
@@ -952,7 +948,7 @@ function Ht({
952
948
  De,
953
949
  {
954
950
  result: e,
955
- openLabel: l,
951
+ openLabel: o,
956
952
  bookLabel: g,
957
953
  nextSlotText: f,
958
954
  onOpenClick: i,
@@ -969,36 +965,36 @@ function he({
969
965
  results: e,
970
966
  headingLevel: n,
971
967
  highlightedId: a,
972
- onCardHover: s,
973
- onCardSelect: r,
968
+ onCardHover: r,
969
+ onCardSelect: s,
974
970
  onCardOpenClick: i,
975
971
  onCardBookClick: d,
976
972
  openLabel: u,
977
- bookLabel: l,
973
+ bookLabel: o,
978
974
  formatNextSlot: g,
979
- onLoadMore: o,
975
+ onLoadMore: l,
980
976
  loadingMore: p,
981
977
  loadingSkeletons: f,
982
978
  density: b = "compact",
983
979
  apiKey: h,
984
980
  containerRef: y
985
981
  }) {
986
- const { t: k } = C("ui"), x = T(null);
982
+ const { t: k } = w("ui"), x = T(null);
987
983
  return X(() => {
988
- if (!o) return;
984
+ if (!l) return;
989
985
  const c = x.current;
990
986
  if (!c || typeof IntersectionObserver > "u") return;
991
987
  const S = new IntersectionObserver(
992
- (R) => {
993
- for (const L of R)
988
+ (N) => {
989
+ for (const L of N)
994
990
  L.isIntersecting && (H("serp_load_more", {
995
991
  currentCount: e.length
996
- }), o());
992
+ }), l());
997
993
  },
998
994
  { root: null, rootMargin: "200px" }
999
995
  );
1000
996
  return S.observe(c), () => S.disconnect();
1001
- }, [o, e.length]), f ? /* @__PURE__ */ t(
997
+ }, [l, e.length]), f ? /* @__PURE__ */ t(
1002
998
  "div",
1003
999
  {
1004
1000
  role: "status",
@@ -1006,7 +1002,7 @@ function he({
1006
1002
  "aria-label": k("practiceResults.loading"),
1007
1003
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
1008
1004
  children: Array.from({ length: 4 }).map((c, S) => /* @__PURE__ */ t(
1009
- ct,
1005
+ dt,
1010
1006
  {
1011
1007
  variant: "rounded",
1012
1008
  height: b === "rich" ? "11rem" : "7rem"
@@ -1024,41 +1020,41 @@ function he({
1024
1020
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
1025
1021
  children: [
1026
1022
  e.map((c) => /* @__PURE__ */ t("div", { role: "listitem", children: b === "rich" ? /* @__PURE__ */ t(
1027
- Ht,
1023
+ Bt,
1028
1024
  {
1029
1025
  result: c,
1030
1026
  headingLevel: n,
1031
1027
  apiKey: h,
1032
1028
  highlighted: a === c.id,
1033
- onSelect: () => r(c.id),
1029
+ onSelect: () => s(c.id),
1034
1030
  onOpenClick: () => i(c.id),
1035
1031
  onBookClick: () => d(c.id),
1036
- onHover: () => s(c.id),
1032
+ onHover: () => r(c.id),
1037
1033
  openLabel: u,
1038
- bookLabel: l
1034
+ bookLabel: o
1039
1035
  }
1040
1036
  ) : /* @__PURE__ */ t(
1041
- Ft,
1037
+ Ht,
1042
1038
  {
1043
1039
  result: c,
1044
1040
  headingLevel: n,
1045
1041
  highlighted: a === c.id,
1046
- onSelect: () => r(c.id),
1042
+ onSelect: () => s(c.id),
1047
1043
  onOpenClick: () => i(c.id),
1048
1044
  onBookClick: () => d(c.id),
1049
- onHover: () => s(c.id),
1045
+ onHover: () => r(c.id),
1050
1046
  openLabel: u,
1051
- bookLabel: l,
1047
+ bookLabel: o,
1052
1048
  nextSlotText: g(c)
1053
1049
  }
1054
1050
  ) }, c.id)),
1055
- o ? /* @__PURE__ */ t(
1051
+ l ? /* @__PURE__ */ t(
1056
1052
  "div",
1057
1053
  {
1058
1054
  ref: x,
1059
1055
  "aria-hidden": "true",
1060
1056
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
1061
- children: p ? /* @__PURE__ */ t(dt, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1057
+ children: p ? /* @__PURE__ */ t(ut, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1062
1058
  }
1063
1059
  ) : null
1064
1060
  ]
@@ -1069,18 +1065,18 @@ function pe({
1069
1065
  results: e,
1070
1066
  searchCentre: n,
1071
1067
  zoom: a,
1072
- apiKey: s,
1073
- mapId: r,
1068
+ apiKey: r,
1069
+ mapId: s,
1074
1070
  highlightedId: i,
1075
1071
  onPinClick: d,
1076
1072
  onPinHover: u,
1077
- onPinFirstInteract: l,
1073
+ onPinFirstInteract: o,
1078
1074
  onBoundsChange: g,
1079
- consentGranted: o,
1075
+ consentGranted: l,
1080
1076
  onConsentRequest: p,
1081
1077
  mapHandleRef: f
1082
1078
  }) {
1083
- const { t: b } = C("ui"), h = M(
1079
+ const { t: b } = w("ui"), h = M(
1084
1080
  () => e.filter(
1085
1081
  (c) => !!c.location
1086
1082
  ).map((c) => ({
@@ -1116,21 +1112,21 @@ function pe({
1116
1112
  "data-component": "practice-results-map-panel",
1117
1113
  className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
1118
1114
  children: /* @__PURE__ */ t(
1119
- lt,
1115
+ ct,
1120
1116
  {
1121
1117
  ref: f,
1122
- apiKey: s ?? "",
1123
- mapId: r,
1118
+ apiKey: r ?? "",
1119
+ mapId: s,
1124
1120
  center: x,
1125
1121
  zoom: a,
1126
1122
  markers: h,
1127
1123
  fitToPoints: y,
1128
1124
  fitKey: k,
1129
1125
  selectedMarkerId: i,
1130
- consentGranted: !!o,
1126
+ consentGranted: !!l,
1131
1127
  onConsentRequest: p,
1132
1128
  onMarkerClick: (c) => {
1133
- c != null && (u(c), l(c), d(c));
1129
+ c != null && (u(c), o(c), d(c));
1134
1130
  },
1135
1131
  ariaLabel: b("practiceResults.map.label"),
1136
1132
  size: "fill",
@@ -1144,12 +1140,12 @@ function pe({
1144
1140
  function ge({
1145
1141
  variantBodyProps: e
1146
1142
  }) {
1147
- const { facets: n, value: a, onChange: s, heading: r, intro: i, totalCount: d, searchCentre: u } = e;
1143
+ const { facets: n, value: a, onChange: r, heading: s, intro: i, totalCount: d, searchCentre: u } = e;
1148
1144
  return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1149
1145
  /* @__PURE__ */ t(
1150
1146
  _e,
1151
1147
  {
1152
- heading: r,
1148
+ heading: s,
1153
1149
  headingLevel: e.headingLevel,
1154
1150
  intro: i,
1155
1151
  totalCount: d,
@@ -1162,21 +1158,21 @@ function ge({
1162
1158
  {
1163
1159
  facets: n,
1164
1160
  value: a.facets,
1165
- onChange: (l) => s({ ...a, facets: l })
1161
+ onChange: (o) => r({ ...a, facets: o })
1166
1162
  }
1167
1163
  ),
1168
1164
  /* @__PURE__ */ t(
1169
1165
  me,
1170
1166
  {
1171
1167
  value: a.sort ?? "relevance",
1172
- onChange: (l) => s({ ...a, sort: l })
1168
+ onChange: (o) => r({ ...a, sort: o })
1173
1169
  }
1174
1170
  )
1175
1171
  ] }) : /* @__PURE__ */ t("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ t(
1176
1172
  me,
1177
1173
  {
1178
1174
  value: a.sort ?? "relevance",
1179
- onChange: (l) => s({ ...a, sort: l })
1175
+ onChange: (o) => r({ ...a, sort: o })
1180
1176
  }
1181
1177
  ) })
1182
1178
  ] });
@@ -1187,9 +1183,9 @@ function ve(e) {
1187
1183
  function be({
1188
1184
  headingLevel: e
1189
1185
  }) {
1190
- const { t: n } = C("ui");
1186
+ const { t: n } = w("ui");
1191
1187
  return /* @__PURE__ */ t(
1192
- ot,
1188
+ lt,
1193
1189
  {
1194
1190
  variant: "no-results",
1195
1191
  headingLevel: ve(e),
@@ -1202,34 +1198,34 @@ function ye({
1202
1198
  onRetry: e,
1203
1199
  headingLevel: n
1204
1200
  }) {
1205
- const { t: a } = C("ui"), s = ve(n);
1201
+ const { t: a } = w("ui"), r = ve(n);
1206
1202
  return /* @__PURE__ */ m(ee, { variant: "error", children: [
1207
- /* @__PURE__ */ t(ee.Title, { as: `h${s}`, children: a("practiceResults.error.title") }),
1203
+ /* @__PURE__ */ t(ee.Title, { as: `h${r}`, children: a("practiceResults.error.title") }),
1208
1204
  /* @__PURE__ */ t(ee.Description, { children: a("practiceResults.error.description") }),
1209
1205
  e ? /* @__PURE__ */ t(ee.Action, { children: /* @__PURE__ */ t(
1210
1206
  te,
1211
1207
  {
1212
1208
  intent: "secondary",
1213
1209
  size: "sm",
1214
- startIcon: /* @__PURE__ */ t(ht, { "aria-hidden": "true" }),
1210
+ startIcon: /* @__PURE__ */ t(gt, { "aria-hidden": "true" }),
1215
1211
  onClick: e,
1216
1212
  children: a("practiceResults.error.retry")
1217
1213
  }
1218
1214
  ) }) : null
1219
1215
  ] });
1220
1216
  }
1221
- function Bt(e) {
1217
+ function $t(e) {
1222
1218
  const {
1223
1219
  results: n,
1224
1220
  apiKey: a,
1225
- mapId: s,
1226
- zoom: r,
1221
+ mapId: r,
1222
+ zoom: s,
1227
1223
  searchCentre: i,
1228
1224
  onLoadMore: d,
1229
1225
  loadingMore: u,
1230
- loadingSkeletons: l,
1226
+ loadingSkeletons: o,
1231
1227
  emptyResultsSlot: g,
1232
- errorSlot: o,
1228
+ errorSlot: l,
1233
1229
  error: p,
1234
1230
  onRetry: f,
1235
1231
  highlightedId: b,
@@ -1239,7 +1235,7 @@ function Bt(e) {
1239
1235
  onConsentRequest: x,
1240
1236
  onBoundsChange: c,
1241
1237
  listContainerRef: S
1242
- } = e, { t: R } = C("ui"), [L, N] = fe(!1), _ = p ? o ?? /* @__PURE__ */ t(ye, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1238
+ } = e, { t: N } = w("ui"), [L, C] = fe(!1), _ = p ? l ?? /* @__PURE__ */ t(ye, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !o ? g ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1243
1239
  he,
1244
1240
  {
1245
1241
  results: n,
@@ -1254,7 +1250,7 @@ function Bt(e) {
1254
1250
  formatNextSlot: e.formatNextSlot,
1255
1251
  onLoadMore: d,
1256
1252
  loadingMore: u,
1257
- loadingSkeletons: l,
1253
+ loadingSkeletons: o,
1258
1254
  density: "compact",
1259
1255
  containerRef: S
1260
1256
  }
@@ -1268,9 +1264,9 @@ function Bt(e) {
1268
1264
  {
1269
1265
  results: n,
1270
1266
  searchCentre: i,
1271
- zoom: r,
1267
+ zoom: s,
1272
1268
  apiKey: a,
1273
- mapId: s,
1269
+ mapId: r,
1274
1270
  highlightedId: b,
1275
1271
  onPinClick: (A) => {
1276
1272
  J(n, A, "pin", e.onResultSelect), y(A);
@@ -1289,24 +1285,24 @@ function Bt(e) {
1289
1285
  {
1290
1286
  intent: "primary",
1291
1287
  size: "md",
1292
- startIcon: /* @__PURE__ */ t(xt, { "aria-hidden": "true" }),
1293
- onClick: () => N(!0),
1294
- children: R("practiceResults.viewMap")
1288
+ startIcon: /* @__PURE__ */ t(kt, { "aria-hidden": "true" }),
1289
+ onClick: () => C(!0),
1290
+ children: N("practiceResults.viewMap")
1295
1291
  }
1296
1292
  ) }),
1297
- /* @__PURE__ */ t(I.Root, { open: L, onOpenChange: N, children: /* @__PURE__ */ m(I.Content, { side: "bottom", size: "lg", children: [
1298
- /* @__PURE__ */ t(I.Header, { children: /* @__PURE__ */ t(I.Title, { children: R("practiceResults.map.label") }) }),
1293
+ /* @__PURE__ */ t(I.Root, { open: L, onOpenChange: C, children: /* @__PURE__ */ m(I.Content, { side: "bottom", size: "lg", children: [
1294
+ /* @__PURE__ */ t(I.Header, { children: /* @__PURE__ */ t(I.Title, { children: N("practiceResults.map.label") }) }),
1299
1295
  /* @__PURE__ */ m(I.Body, { children: [
1300
- /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: R("practiceResults.sheet.description") }),
1296
+ /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1301
1297
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1302
1298
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1303
1299
  pe,
1304
1300
  {
1305
1301
  results: n,
1306
1302
  searchCentre: i,
1307
- zoom: r,
1303
+ zoom: s,
1308
1304
  apiKey: a,
1309
- mapId: s,
1305
+ mapId: r,
1310
1306
  highlightedId: b,
1311
1307
  onPinClick: (A) => {
1312
1308
  J(n, A, "pin", e.onResultSelect), y(A);
@@ -1325,7 +1321,7 @@ function Bt(e) {
1325
1321
  ] }) })
1326
1322
  ] });
1327
1323
  }
1328
- const $t = {
1324
+ const Ot = {
1329
1325
  peek: "sm",
1330
1326
  half: "md",
1331
1327
  full: "lg"
@@ -1334,24 +1330,24 @@ const $t = {
1334
1330
  "half",
1335
1331
  "full"
1336
1332
  ];
1337
- function Ot({ value: e, onChange: n }) {
1338
- const { t: a, i18n: s } = C("ui"), r = s.dir() === "rtl", i = T(
1333
+ function Dt({ value: e, onChange: n }) {
1334
+ const { t: a, i18n: r } = w("ui"), s = r.dir() === "rtl", i = T(
1339
1335
  /* @__PURE__ */ new Map()
1340
- ), d = B((l) => {
1336
+ ), d = $((o) => {
1341
1337
  var g;
1342
- (g = i.current.get(l)) == null || g.focus();
1343
- }, []), u = B(
1344
- (l, g) => {
1345
- const o = U.indexOf(g), p = U.length, f = r ? "ArrowLeft" : "ArrowRight", b = r ? "ArrowRight" : "ArrowLeft";
1338
+ (g = i.current.get(o)) == null || g.focus();
1339
+ }, []), u = $(
1340
+ (o, g) => {
1341
+ const l = U.indexOf(g), p = U.length, f = s ? "ArrowLeft" : "ArrowRight", b = s ? "ArrowRight" : "ArrowLeft";
1346
1342
  let h = null;
1347
- switch (l.key) {
1343
+ switch (o.key) {
1348
1344
  case f:
1349
1345
  case "ArrowDown":
1350
- h = U[(o + 1) % p];
1346
+ h = U[(l + 1) % p];
1351
1347
  break;
1352
1348
  case b:
1353
1349
  case "ArrowUp":
1354
- h = U[(o - 1 + p) % p];
1350
+ h = U[(l - 1 + p) % p];
1355
1351
  break;
1356
1352
  case "Home":
1357
1353
  h = U[0];
@@ -1362,9 +1358,9 @@ function Ot({ value: e, onChange: n }) {
1362
1358
  default:
1363
1359
  return;
1364
1360
  }
1365
- l.preventDefault(), h && h !== g && n(h), h && d(h);
1361
+ o.preventDefault(), h && h !== g && n(h), h && d(h);
1366
1362
  },
1367
- [d, r, n]
1363
+ [d, s, n]
1368
1364
  );
1369
1365
  return /* @__PURE__ */ t(
1370
1366
  "div",
@@ -1372,44 +1368,44 @@ function Ot({ value: e, onChange: n }) {
1372
1368
  role: "radiogroup",
1373
1369
  "aria-label": a("practiceResults.sheet.snap.label"),
1374
1370
  className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
1375
- children: U.map((l) => {
1376
- const g = e === l;
1371
+ children: U.map((o) => {
1372
+ const g = e === o;
1377
1373
  return /* @__PURE__ */ t(
1378
1374
  "button",
1379
1375
  {
1380
- ref: (o) => {
1381
- o ? i.current.set(l, o) : i.current.delete(l);
1376
+ ref: (l) => {
1377
+ l ? i.current.set(o, l) : i.current.delete(o);
1382
1378
  },
1383
1379
  type: "button",
1384
1380
  role: "radio",
1385
1381
  "aria-checked": g,
1386
- "aria-label": a(`practiceResults.sheet.snap.${l}`),
1382
+ "aria-label": a(`practiceResults.sheet.snap.${o}`),
1387
1383
  tabIndex: g ? 0 : -1,
1388
- onClick: () => n(l),
1389
- onKeyDown: (o) => u(o, l),
1384
+ onClick: () => n(o),
1385
+ onKeyDown: (l) => u(l, o),
1390
1386
  className: ne({
1391
1387
  state: g ? "active" : "idle"
1392
1388
  }),
1393
- children: a(`practiceResults.sheet.snap.${l}`)
1389
+ children: a(`practiceResults.sheet.snap.${o}`)
1394
1390
  },
1395
- l
1391
+ o
1396
1392
  );
1397
1393
  })
1398
1394
  }
1399
1395
  );
1400
1396
  }
1401
- function Dt(e) {
1397
+ function Vt(e) {
1402
1398
  const {
1403
1399
  results: n,
1404
1400
  apiKey: a,
1405
- mapId: s,
1406
- zoom: r,
1401
+ mapId: r,
1402
+ zoom: s,
1407
1403
  searchCentre: i,
1408
1404
  onLoadMore: d,
1409
1405
  loadingMore: u,
1410
- loadingSkeletons: l,
1406
+ loadingSkeletons: o,
1411
1407
  emptyResultsSlot: g,
1412
- errorSlot: o,
1408
+ errorSlot: l,
1413
1409
  error: p,
1414
1410
  onRetry: f,
1415
1411
  highlightedId: b,
@@ -1419,10 +1415,10 @@ function Dt(e) {
1419
1415
  onConsentRequest: x,
1420
1416
  onBoundsChange: c,
1421
1417
  listContainerRef: S,
1422
- facets: R,
1418
+ facets: N,
1423
1419
  value: L,
1424
- onChange: N
1425
- } = e, { t: _ } = C("ui"), [A, G] = fe("half"), Z = $t[A], Q = ut("(min-width: 1024px)"), K = p ? o ?? /* @__PURE__ */ t(ye, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1420
+ onChange: C
1421
+ } = e, { t: _ } = w("ui"), [A, G] = fe("half"), Z = Ot[A], Q = mt("(min-width: 1024px)"), E = p ? l ?? /* @__PURE__ */ t(ye, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !o ? g ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1426
1422
  he,
1427
1423
  {
1428
1424
  results: n,
@@ -1437,22 +1433,22 @@ function Dt(e) {
1437
1433
  formatNextSlot: e.formatNextSlot,
1438
1434
  onLoadMore: d,
1439
1435
  loadingMore: u,
1440
- loadingSkeletons: l,
1436
+ loadingSkeletons: o,
1441
1437
  density: "compact",
1442
1438
  apiKey: a,
1443
1439
  containerRef: S
1444
1440
  }
1445
- ), E = /* @__PURE__ */ t(
1441
+ ), j = /* @__PURE__ */ t(
1446
1442
  pe,
1447
1443
  {
1448
1444
  results: n,
1449
1445
  searchCentre: i,
1450
- zoom: r,
1446
+ zoom: s,
1451
1447
  apiKey: a,
1452
- mapId: s,
1448
+ mapId: r,
1453
1449
  highlightedId: b,
1454
- onPinClick: (w) => {
1455
- J(n, w, "pin", e.onResultSelect), y(w);
1450
+ onPinClick: (R) => {
1451
+ J(n, R, "pin", e.onResultSelect), y(R);
1456
1452
  },
1457
1453
  onPinHover: h,
1458
1454
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1461,12 +1457,12 @@ function Dt(e) {
1461
1457
  onConsentRequest: x,
1462
1458
  mapHandleRef: e.mapHandleRef
1463
1459
  }
1464
- ), D = R.length > 0 ? /* @__PURE__ */ t("div", { className: "ds:absolute ds:start-[var(--spacing-md)] ds:top-[var(--spacing-md)] ds:max-w-[calc(100%-var(--spacing-lg))]", children: /* @__PURE__ */ t(
1460
+ ), V = N.length > 0 ? /* @__PURE__ */ t("div", { className: "ds:absolute ds:start-[var(--spacing-md)] ds:top-[var(--spacing-md)] ds:max-w-[calc(100%-var(--spacing-lg))]", children: /* @__PURE__ */ t(
1465
1461
  ze,
1466
1462
  {
1467
- facets: R,
1463
+ facets: N,
1468
1464
  value: L.facets,
1469
- onChange: (w) => N({ ...L, facets: w }),
1465
+ onChange: (R) => C({ ...L, facets: R }),
1470
1466
  floating: !0
1471
1467
  }
1472
1468
  ) }) : null;
@@ -1488,11 +1484,11 @@ function Dt(e) {
1488
1484
  // the map column is `lg:sticky lg:h-[44rem]` (stays visible
1489
1485
  // as the patient scrolls cards) and the rail renders at
1490
1486
  // natural height. Single page scroll.
1491
- /* @__PURE__ */ m(it, { children: [
1487
+ /* @__PURE__ */ m(st, { children: [
1492
1488
  /* @__PURE__ */ t(ge, { variantBodyProps: e }),
1493
1489
  /* @__PURE__ */ m("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1494
- /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: E }),
1495
- /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: K })
1490
+ /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: j }),
1491
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: E })
1496
1492
  ] })
1497
1493
  ] })
1498
1494
  ) : (
@@ -1514,17 +1510,17 @@ function Dt(e) {
1514
1510
  }
1515
1511
  ),
1516
1512
  /* @__PURE__ */ m("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1517
- E,
1518
- D
1513
+ j,
1514
+ V
1519
1515
  ] }),
1520
1516
  /* @__PURE__ */ t(I.Root, { open: !0, children: /* @__PURE__ */ t(
1521
1517
  I.Content,
1522
1518
  {
1523
1519
  side: "bottom",
1524
1520
  size: Z,
1525
- onEscapeKeyDown: (w) => w.preventDefault(),
1526
- onPointerDownOutside: (w) => w.preventDefault(),
1527
- onInteractOutside: (w) => w.preventDefault(),
1521
+ onEscapeKeyDown: (R) => R.preventDefault(),
1522
+ onPointerDownOutside: (R) => R.preventDefault(),
1523
+ onInteractOutside: (R) => R.preventDefault(),
1528
1524
  children: /* @__PURE__ */ m(I.Body, { children: [
1529
1525
  /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: _("practiceResults.sheet.descriptionMapFirst") }),
1530
1526
  /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
@@ -1532,7 +1528,7 @@ function Dt(e) {
1532
1528
  count: e.totalCount ?? n.length
1533
1529
  }) }),
1534
1530
  /* @__PURE__ */ t(
1535
- Ot,
1531
+ Dt,
1536
1532
  {
1537
1533
  value: A,
1538
1534
  onChange: G
@@ -1543,36 +1539,36 @@ function Dt(e) {
1543
1539
  me,
1544
1540
  {
1545
1541
  value: L.sort ?? "relevance",
1546
- onChange: (w) => N({ ...L, sort: w })
1542
+ onChange: (R) => C({ ...L, sort: R })
1547
1543
  }
1548
1544
  ) }),
1549
- K
1545
+ E
1550
1546
  ] })
1551
1547
  }
1552
1548
  ) })
1553
1549
  ] })
1554
1550
  ) });
1555
1551
  }
1556
- function Vt(e) {
1552
+ function Kt(e) {
1557
1553
  const {
1558
1554
  results: n,
1559
1555
  apiKey: a,
1560
- onLoadMore: s,
1561
- loadingMore: r,
1556
+ onLoadMore: r,
1557
+ loadingMore: s,
1562
1558
  loadingSkeletons: i,
1563
1559
  emptyResultsSlot: d,
1564
1560
  errorSlot: u,
1565
- error: l,
1561
+ error: o,
1566
1562
  onRetry: g,
1567
- highlightedId: o,
1563
+ highlightedId: l,
1568
1564
  onCardHover: p,
1569
1565
  listContainerRef: f
1570
- } = e, b = l ? u ?? /* @__PURE__ */ t(ye, { onRetry: g, headingLevel: e.headingLevel }) : n.length === 0 && !i ? d ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1566
+ } = e, b = o ? u ?? /* @__PURE__ */ t(ye, { onRetry: g, headingLevel: e.headingLevel }) : n.length === 0 && !i ? d ?? /* @__PURE__ */ t(be, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1571
1567
  he,
1572
1568
  {
1573
1569
  results: n,
1574
1570
  headingLevel: e.headingLevel,
1575
- highlightedId: o,
1571
+ highlightedId: l,
1576
1572
  onCardHover: p,
1577
1573
  onCardSelect: e.onCardSelect,
1578
1574
  onCardOpenClick: e.onCardOpenClick,
@@ -1580,8 +1576,8 @@ function Vt(e) {
1580
1576
  openLabel: e.openLabel,
1581
1577
  bookLabel: e.bookLabel,
1582
1578
  formatNextSlot: e.formatNextSlot,
1583
- onLoadMore: s,
1584
- loadingMore: r,
1579
+ onLoadMore: r,
1580
+ loadingMore: s,
1585
1581
  loadingSkeletons: i,
1586
1582
  density: "rich",
1587
1583
  apiKey: a,
@@ -1593,17 +1589,17 @@ function Vt(e) {
1593
1589
  b
1594
1590
  ] });
1595
1591
  }
1596
- const Kt = st(function({
1592
+ const Et = rt(function({
1597
1593
  variant: n = "split-list-map",
1598
1594
  results: a,
1599
- totalCount: s,
1600
- searchCentre: r,
1595
+ totalCount: r,
1596
+ searchCentre: s,
1601
1597
  facets: i,
1602
1598
  googleMapsApiKey: d,
1603
1599
  mapId: u,
1604
- defaultZoom: l = Ct,
1600
+ defaultZoom: o = wt,
1605
1601
  onBoundsChange: g,
1606
- consentGranted: o,
1602
+ consentGranted: l,
1607
1603
  onConsentRequest: p,
1608
1604
  skipConsentGate: f = !1,
1609
1605
  onLoadMore: b,
@@ -1613,21 +1609,21 @@ const Kt = st(function({
1613
1609
  onResultSelect: x,
1614
1610
  loading: c,
1615
1611
  emptyResultsSlot: S,
1616
- errorSlot: R,
1612
+ errorSlot: N,
1617
1613
  error: L,
1618
- onRetry: N,
1614
+ onRetry: C,
1619
1615
  heading: _,
1620
1616
  headingLevel: A = 2,
1621
1617
  intro: G,
1622
1618
  cardOpenButtonLabel: Z,
1623
1619
  cardBookButtonLabel: Q,
1624
- showCardOpenButton: K = !0,
1625
- "aria-label": E,
1626
- id: D,
1627
- className: w,
1628
- ...j
1629
- }, Ee) {
1630
- const { t: ie, i18n: xe } = C("ui"), [je, W] = fe(null), Y = T(/* @__PURE__ */ new Set()), se = T(/* @__PURE__ */ new Set()), qe = T(null), re = T(null), oe = M(
1620
+ showCardOpenButton: E = !0,
1621
+ "aria-label": j,
1622
+ id: V,
1623
+ className: R,
1624
+ ...B
1625
+ }, je) {
1626
+ const { t: ie, i18n: xe } = w("ui"), [qe, W] = fe(null), Y = T(/* @__PURE__ */ new Set()), se = T(/* @__PURE__ */ new Set()), Ue = T(null), re = T(null), oe = M(
1631
1627
  () => ({
1632
1628
  getVariant: () => n,
1633
1629
  scrollToResult: (v) => {
@@ -1644,8 +1640,8 @@ const Kt = st(function({
1644
1640
  }),
1645
1641
  [n]
1646
1642
  );
1647
- rt(Ee, () => oe, [oe]), pt(kt, oe, D);
1648
- const Ue = K ? Z ?? ie("practiceResults.card.open") : void 0, Ge = Q ?? ie("practiceResults.card.book"), Ze = B(
1643
+ ot(je, () => oe, [oe]), ft(Ct, oe, V);
1644
+ const Ge = E ? Z ?? ie("practiceResults.card.open") : void 0, Ze = Q ?? ie("practiceResults.card.book"), Qe = $(
1649
1645
  (v) => {
1650
1646
  if (v.nextAvailableSlot)
1651
1647
  try {
@@ -1663,16 +1659,16 @@ const Kt = st(function({
1663
1659
  X(() => {
1664
1660
  ke.current !== n && (ke.current = n, H("serp_variant_exposed", {
1665
1661
  variant: n,
1666
- totalCount: s ?? a.length
1662
+ totalCount: r ?? a.length
1667
1663
  }), Y.current = /* @__PURE__ */ new Set(), se.current = /* @__PURE__ */ new Set());
1668
1664
  }, [n]);
1669
1665
  const le = T(!1), ce = M(
1670
- () => Nt(i ?? [], a, y.facets),
1666
+ () => St(i ?? [], a, y.facets),
1671
1667
  [i, a, y.facets]
1672
- ), de = y.sort ?? (r ? "distance" : "relevance"), z = M(() => {
1673
- const v = St(a, y.facets, ce);
1674
- return Lt(v, de, r);
1675
- }, [a, y.facets, ce, de, r]);
1668
+ ), de = y.sort ?? (s ? "distance" : "relevance"), z = M(() => {
1669
+ const v = Lt(a, y.facets, ce);
1670
+ return Pt(v, de, s);
1671
+ }, [a, y.facets, ce, de, s]);
1676
1672
  X(() => {
1677
1673
  const v = z.length === 0;
1678
1674
  v && !le.current ? (H("serp_empty_results", {
@@ -1686,11 +1682,11 @@ const Kt = st(function({
1686
1682
  },
1687
1683
  []
1688
1684
  );
1689
- const Qe = B((v) => {
1685
+ const Je = $((v) => {
1690
1686
  W(v), !Y.current.has(v) && (Ce.current === v && q.current || (q.current && clearTimeout(q.current), Ce.current = v, q.current = setTimeout(() => {
1691
1687
  Y.current.has(v) || (Y.current.add(v), H("serp_result_hovered_card", { resultId: v })), q.current = null;
1692
1688
  }, 500)));
1693
- }, []), Je = B((v) => {
1689
+ }, []), We = $((v) => {
1694
1690
  W(v);
1695
1691
  const F = re.current;
1696
1692
  if (!F) return;
@@ -1698,9 +1694,9 @@ const Kt = st(function({
1698
1694
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
1699
1695
  );
1700
1696
  P == null || P.scrollIntoView({ behavior: "smooth", block: "nearest" });
1701
- }, []), We = B((v) => {
1697
+ }, []), Xe = $((v) => {
1702
1698
  se.current.has(v) || (se.current.add(v), H("serp_result_hovered_pin", { resultId: v }));
1703
- }, []), we = T(null), Xe = B(
1699
+ }, []), we = T(null), Ye = $(
1704
1700
  (v) => {
1705
1701
  W(v);
1706
1702
  const F = z.find((P) => P.id === v);
@@ -1716,7 +1712,7 @@ const Kt = st(function({
1716
1712
  }
1717
1713
  },
1718
1714
  [z, x]
1719
- ), Ye = B(
1715
+ ), et = $(
1720
1716
  (v) => {
1721
1717
  J(
1722
1718
  z,
@@ -1726,7 +1722,7 @@ const Kt = st(function({
1726
1722
  );
1727
1723
  },
1728
1724
  [z, x]
1729
- ), et = B(
1725
+ ), tt = $(
1730
1726
  (v) => {
1731
1727
  J(
1732
1728
  z,
@@ -1736,10 +1732,10 @@ const Kt = st(function({
1736
1732
  );
1737
1733
  },
1738
1734
  [z, x]
1739
- ), tt = !!c && a.length === 0, ue = {
1735
+ ), nt = !!c && a.length === 0, ue = {
1740
1736
  results: z,
1741
- totalCount: s,
1742
- searchCentre: r,
1737
+ totalCount: r,
1738
+ searchCentre: s,
1743
1739
  facets: ce,
1744
1740
  value: { ...y, sort: de },
1745
1741
  onChange: k,
@@ -1748,65 +1744,65 @@ const Kt = st(function({
1748
1744
  loadingMore: h,
1749
1745
  apiKey: d,
1750
1746
  mapId: u,
1751
- zoom: l,
1747
+ zoom: o,
1752
1748
  // 0.31.4: when `skipConsentGate` is true the kit synthesises
1753
1749
  // `consentGranted=true` for every internal MapView; the consumer's
1754
1750
  // CMP at the page level is responsible for whether the Google Maps
1755
1751
  // loader script is present at all. `onConsentRequest` is dropped
1756
1752
  // because no placeholder renders — nothing to fire it from.
1757
- consentGranted: f ? !0 : o,
1753
+ consentGranted: f ? !0 : l,
1758
1754
  onConsentRequest: f ? void 0 : p,
1759
1755
  onBoundsChange: g,
1760
- loadingSkeletons: tt,
1756
+ loadingSkeletons: nt,
1761
1757
  emptyResultsSlot: S,
1762
- errorSlot: R,
1758
+ errorSlot: N,
1763
1759
  error: L,
1764
- onRetry: N,
1760
+ onRetry: C,
1765
1761
  heading: _,
1766
1762
  headingLevel: A,
1767
1763
  intro: G,
1768
- highlightedId: je,
1769
- onCardHover: Qe,
1770
- onPinClick: Je,
1771
- onPinFirstInteract: We,
1772
- onCardSelect: Xe,
1773
- onCardOpenClick: Ye,
1774
- onCardBookClick: et,
1775
- openLabel: Ue,
1776
- bookLabel: Ge,
1777
- formatNextSlot: Ze,
1778
- listContainerRef: qe,
1764
+ highlightedId: qe,
1765
+ onCardHover: Je,
1766
+ onPinClick: We,
1767
+ onPinFirstInteract: Xe,
1768
+ onCardSelect: Ye,
1769
+ onCardOpenClick: et,
1770
+ onCardBookClick: tt,
1771
+ openLabel: Ge,
1772
+ bookLabel: Ze,
1773
+ formatNextSlot: Qe,
1774
+ listContainerRef: Ue,
1779
1775
  mapHandleRef: we
1780
- }, nt = (() => {
1776
+ }, at = (() => {
1781
1777
  switch (n) {
1782
1778
  case "map-first":
1783
- return /* @__PURE__ */ t(Dt, { ...ue });
1784
- case "rich-cards":
1785
1779
  return /* @__PURE__ */ t(Vt, { ...ue });
1780
+ case "rich-cards":
1781
+ return /* @__PURE__ */ t(Kt, { ...ue });
1786
1782
  case "split-list-map":
1787
1783
  default:
1788
- return /* @__PURE__ */ t(Bt, { ...ue });
1784
+ return /* @__PURE__ */ t($t, { ...ue });
1789
1785
  }
1790
- })(), at = E ?? ie("practiceResults.regionLabel");
1786
+ })(), it = j ?? ie("practiceResults.regionLabel");
1791
1787
  return /* @__PURE__ */ t(
1792
1788
  "div",
1793
1789
  {
1794
1790
  ref: re,
1795
1791
  role: "region",
1796
- "aria-label": at,
1797
- id: D,
1792
+ "aria-label": it,
1793
+ id: V,
1798
1794
  "data-component": "practice-results",
1799
- "data-component-id": D,
1795
+ "data-component-id": V,
1800
1796
  "data-variant": n,
1801
- className: Pt({ variant: n, className: w }),
1802
- ...j,
1803
- children: nt
1797
+ className: At({ variant: n, className: R }),
1798
+ ...B,
1799
+ children: at
1804
1800
  }
1805
1801
  );
1806
1802
  });
1807
- Kt.displayName = "PracticeResults";
1803
+ Et.displayName = "PracticeResults";
1808
1804
  export {
1809
- Kt as P,
1810
- kt as p
1805
+ Et as P,
1806
+ Ct as p
1811
1807
  };
1812
- //# sourceMappingURL=practice-results-By2BZFCz.js.map
1808
+ //# sourceMappingURL=practice-results-BnY2EkzI.js.map