@alfadocs/ui-kit-debug 1.75.1 → 1.76.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,37 +1,37 @@
1
- import { jsx as t, jsxs as m, Fragment as tt } from "react/jsx-runtime";
2
- import { forwardRef as nt, useState as me, useRef as I, useMemo as M, useImperativeHandle as at, useCallback as O, useEffect as W } from "react";
3
- import { c as j } from "./index-D2ZczOXr.js";
1
+ import { jsx as t, jsxs as m, Fragment as at } from "react/jsx-runtime";
2
+ import { forwardRef as it, useState as me, useRef as A, useMemo as M, useImperativeHandle as st, useCallback as H, useEffect as W } from "react";
3
+ import { c as q } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as w } from "react-i18next";
5
5
  import { A as Y } from "./alert-9kEwDza3.js";
6
6
  import { A as Re } from "./avatar-BPiPL7ND.js";
7
7
  import { B as ee } from "./button-DohK_Ak_.js";
8
- import { D } from "./dropdown-menu-D1we7oAY.js";
9
- import { E as st } from "./empty-state-DwJ5YNzz.js";
10
- import { M as it } from "./map-view-C6MIVaqn.js";
8
+ import { D as $ } from "./dropdown-menu-D1we7oAY.js";
9
+ import { E as rt } from "./empty-state-DwJ5YNzz.js";
10
+ import { M as ot } from "./map-view-C6MIVaqn.js";
11
11
  import { R as Ne } from "./rating-CGYpg5dj.js";
12
- import { S as _ } from "./sheet-uZZXaO_S.js";
13
- import { S as rt } from "./skeleton-tTWJpvAq.js";
14
- import { S as ot } from "./spinner-CoflYlEx.js";
15
- import { B as $ } from "./badge-BUk4RjTS.js";
16
- import { u as ct } from "./use-media-query-CcAx5SMM.js";
17
- import { b as lt } from "./format-price-BcFBa-WP.js";
18
- import { u as dt } from "./registry-DvAUVLHh.js";
19
- import { c as ut } from "./createLucideIcon-DhHxpK9K.js";
20
- import { R as pt } from "./refresh-cw-DnI0cLFC.js";
12
+ import { S as I } from "./sheet-uZZXaO_S.js";
13
+ import { S as lt } from "./skeleton-tTWJpvAq.js";
14
+ import { S as ct } from "./spinner-CoflYlEx.js";
15
+ import { B as D } from "./badge-BUk4RjTS.js";
16
+ import { u as dt } from "./use-media-query-CcAx5SMM.js";
17
+ import { b as ut } from "./format-price-BcFBa-WP.js";
18
+ import { u as pt } from "./registry-DvAUVLHh.js";
19
+ import { c as mt } from "./createLucideIcon-DhHxpK9K.js";
20
+ import { R as ft } from "./refresh-cw-DnI0cLFC.js";
21
21
  import { C as Se } from "./chevron-down-DWE7GSq9.js";
22
22
  import { M as ne } from "./map-pin-BaY37-Km.js";
23
- import { L as Pe, B as mt } from "./languages-CZqBaPwI.js";
24
- import { S as Ae } from "./shield-check-DCJALLVh.js";
23
+ import { L as Pe, B as ht } from "./languages-CZqBaPwI.js";
24
+ import { S as Le } from "./shield-check-DCJALLVh.js";
25
25
  import { H as Me } from "./heart--qCA4ffe.js";
26
- import { C as ft } from "./calendar-clock-hbObjfGY.js";
27
- import { C as ht } from "./calendar-plus-BFrIRE4r.js";
26
+ import { C as gt } from "./calendar-clock-hbObjfGY.js";
27
+ import { C as vt } 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 gt = [
34
+ const bt = [
35
35
  [
36
36
  "path",
37
37
  {
@@ -41,7 +41,7 @@ const gt = [
41
41
  ],
42
42
  ["path", { d: "M15 5.764v15", key: "1pn4in" }],
43
43
  ["path", { d: "M9 3.236v15", key: "1uimfh" }]
44
- ], vt = ut("map", gt), bt = {
44
+ ], yt = mt("map", bt), xt = {
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
@@ -108,7 +108,7 @@ const gt = [
108
108
  root: {
109
109
  attr: "data-component",
110
110
  value: "practice-results",
111
- description: "Marks the PracticeResults root region."
111
+ description: "Marks the PracticeResults root region. The headingLevel prop accepts 1 to 6 (default 2) for the optional results heading; use 1 when it is the page title. Default error and empty-state titles use the next level, capped at 6."
112
112
  },
113
113
  instanceId: {
114
114
  attr: "data-component-id",
@@ -120,75 +120,75 @@ const gt = [
120
120
  description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries up to two 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
- }, yt = 13, xt = [
123
+ }, kt = 13, Ct = [
124
124
  "distance",
125
125
  "rating",
126
126
  "next-available",
127
127
  "relevance"
128
128
  ];
129
- function Ie(e, n, s) {
129
+ function Ae(e, n, a) {
130
130
  const r = `languages.${e}`;
131
- return s.exists(r) ? n(r) : e.toUpperCase();
131
+ return a.exists(r) ? n(r) : e.toUpperCase();
132
132
  }
133
133
  function B(e, n) {
134
134
  if (typeof window > "u") return;
135
- const s = window.track;
135
+ const a = window.track;
136
136
  try {
137
- s == null || s(e, n);
137
+ a == null || a(e, n);
138
138
  } catch {
139
139
  }
140
140
  }
141
- function Q(e, n, s, r) {
142
- const i = e.findIndex((l) => l.id === n);
143
- if (i < 0) return;
144
- const a = e[i];
145
- a && (B("serp_result_clicked", { resultId: n, source: s, position: i }), r(a, s));
141
+ function Q(e, n, a, r) {
142
+ const s = e.findIndex((c) => c.id === n);
143
+ if (s < 0) return;
144
+ const i = e[s];
145
+ i && (B("serp_result_clicked", { resultId: n, source: a, position: s }), r(i, a));
146
146
  }
147
- function kt(e, n) {
148
- const r = (n.lat - e.lat) * Math.PI / 180, i = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, l = n.lat * Math.PI / 180, d = Math.sin(r / 2), c = Math.sin(i / 2), u = d * d + Math.cos(a) * Math.cos(l) * c * c;
147
+ function wt(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, c = n.lat * Math.PI / 180, d = Math.sin(r / 2), l = Math.sin(s / 2), u = d * d + Math.cos(i) * Math.cos(c) * l * l;
149
149
  return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(u)));
150
150
  }
151
- function Ct(e, n, s) {
152
- var i;
151
+ function Rt(e, n, a) {
152
+ var s;
153
153
  const r = [];
154
- for (const a of e) {
155
- const l = a.field ?? a.key, d = (((i = s == null ? void 0 : s[a.key]) == null ? void 0 : i.length) ?? 0) > 0, c = a.type === "boolean" || a.type !== "options" && a.options.length === 0 && (d || n.some(
156
- (u) => typeof u[l] == "boolean"
154
+ for (const i of e) {
155
+ const c = i.field ?? i.key, d = (((s = a == null ? void 0 : a[i.key]) == null ? void 0 : s.length) ?? 0) > 0, l = i.type === "boolean" || i.type !== "options" && i.options.length === 0 && (d || n.some(
156
+ (u) => typeof u[c] == "boolean"
157
157
  ));
158
- !c && a.options.length === 0 || r.push({ ...a, boolean: c, booleanField: l });
158
+ !l && i.options.length === 0 || r.push({ ...i, boolean: l, booleanField: c });
159
159
  }
160
160
  return r;
161
161
  }
162
- function wt(e, n, s) {
162
+ function Nt(e, n, a) {
163
163
  return !n || Object.keys(n).length === 0 ? e : e.filter((r) => {
164
- for (const i of s) {
165
- const a = n[i.key];
166
- if (!a || a.length === 0) continue;
167
- if (i.boolean) {
168
- if (r[i.booleanField] !== !0) return !1;
164
+ for (const s of a) {
165
+ const i = n[s.key];
166
+ if (!i || i.length === 0) continue;
167
+ if (s.boolean) {
168
+ if (r[s.booleanField] !== !0) return !1;
169
169
  continue;
170
170
  }
171
- const l = i.key === "insurance" ? r.insurances : i.key === "language" ? r.languages : r[i.key];
172
- if (!Array.isArray(l) || !(i.multi ? a.some((c) => l.includes(c)) : l.includes(a[0]))) return !1;
171
+ const c = s.key === "insurance" ? r.insurances : s.key === "language" ? r.languages : r[s.key];
172
+ if (!Array.isArray(c) || !(s.multi ? i.some((l) => c.includes(l)) : c.includes(i[0]))) return !1;
173
173
  }
174
174
  return !0;
175
175
  });
176
176
  }
177
- function Rt(e, n, s) {
178
- const r = e.map((a) => {
179
- const l = a.location ? a.location.distanceKm ?? (s ? kt(s, a.location) : void 0) : void 0;
180
- return { result: a, distanceKm: l };
181
- }), i = (a, l) => {
182
- var d, c, u, o;
177
+ function St(e, n, a) {
178
+ const r = e.map((i) => {
179
+ const c = i.location ? i.location.distanceKm ?? (a ? wt(a, i.location) : void 0) : void 0;
180
+ return { result: i, distanceKm: c };
181
+ }), s = (i, c) => {
182
+ var d, l, u, o;
183
183
  switch (n) {
184
184
  case "distance":
185
- return a.distanceKm == null && l.distanceKm == null ? 0 : a.distanceKm == null ? 1 : l.distanceKm == null ? -1 : a.distanceKm - l.distanceKm;
185
+ return i.distanceKm == null && c.distanceKm == null ? 0 : i.distanceKm == null ? 1 : c.distanceKm == null ? -1 : i.distanceKm - c.distanceKm;
186
186
  case "rating": {
187
- const f = ((d = a.result.rating) == null ? void 0 : d.value) ?? -1;
188
- return (((c = l.result.rating) == null ? void 0 : c.value) ?? -1) - f;
187
+ const f = ((d = i.result.rating) == null ? void 0 : d.value) ?? -1;
188
+ return (((l = c.result.rating) == null ? void 0 : l.value) ?? -1) - f;
189
189
  }
190
190
  case "next-available": {
191
- const f = ((u = a.result.nextAvailableSlot) == null ? void 0 : u.dateTime) ?? "", h = ((o = l.result.nextAvailableSlot) == null ? void 0 : o.dateTime) ?? "";
191
+ const f = ((u = i.result.nextAvailableSlot) == null ? void 0 : u.dateTime) ?? "", h = ((o = c.result.nextAvailableSlot) == null ? void 0 : o.dateTime) ?? "";
192
192
  return !f && !h ? 0 : f ? h ? f.localeCompare(h) : -1 : 1;
193
193
  }
194
194
  case "relevance":
@@ -196,25 +196,25 @@ function Rt(e, n, s) {
196
196
  return 0;
197
197
  }
198
198
  };
199
- return [...r].sort(i).map(
200
- ({ result: a, distanceKm: l }) => l != null && a.location ? {
201
- ...a,
202
- location: { ...a.location, distanceKm: l }
203
- } : a
199
+ return [...r].sort(s).map(
200
+ ({ result: i, distanceKm: c }) => c != null && i.location ? {
201
+ ...i,
202
+ location: { ...i.location, distanceKm: c }
203
+ } : i
204
204
  );
205
205
  }
206
206
  function Ce(e) {
207
- let n = -1 / 0, s = 1 / 0, r = -1 / 0, i = 1 / 0, a = !1;
208
- for (const l of e) {
209
- if (!l.location) continue;
210
- a = !0;
211
- const { lat: d, lng: c } = l.location;
212
- d > n && (n = d), d < s && (s = d), c > r && (r = c), c < i && (i = c);
207
+ let n = -1 / 0, a = 1 / 0, r = -1 / 0, s = 1 / 0, i = !1;
208
+ for (const c of e) {
209
+ if (!c.location) continue;
210
+ i = !0;
211
+ const { lat: d, lng: l } = c.location;
212
+ d > n && (n = d), d < a && (a = d), l > r && (r = l), l < s && (s = l);
213
213
  }
214
- if (a)
215
- return { north: n, south: s, east: r, west: i };
214
+ if (i)
215
+ return { north: n, south: a, east: r, west: s };
216
216
  }
217
- const Nt = j(
217
+ const Pt = q(
218
218
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
219
219
  {
220
220
  variants: {
@@ -227,32 +227,33 @@ const Nt = j(
227
227
  defaultVariants: { variant: "split-list-map" }
228
228
  }
229
229
  );
230
- function _e({
230
+ function Ie({
231
231
  heading: e,
232
- intro: n,
233
- totalCount: s,
234
- searchCentreLabel: r
232
+ headingLevel: n,
233
+ intro: a,
234
+ totalCount: r,
235
+ searchCentreLabel: s
235
236
  }) {
236
- const { t: i } = w("ui");
237
- if (!e && !n && s == null) return null;
238
- const a = s != null ? r ? i("practiceResults.results.heading", {
239
- count: s,
240
- place: r
241
- }) : i("practiceResults.results.summary", { count: s }) : void 0;
237
+ const { t: i } = w("ui"), c = `h${n}`;
238
+ if (!e && !a && r == null) return null;
239
+ const d = r != null ? s ? i("practiceResults.results.heading", {
240
+ count: r,
241
+ place: s
242
+ }) : i("practiceResults.results.summary", { count: r }) : void 0;
242
243
  return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
243
- e ? /* @__PURE__ */ t("h2", { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
244
- n ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: n }) : null,
245
- a ? /* @__PURE__ */ t(
244
+ e ? /* @__PURE__ */ t(c, { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
245
+ a ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: a }) : null,
246
+ d ? /* @__PURE__ */ t(
246
247
  "p",
247
248
  {
248
249
  className: "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)]",
249
250
  "aria-live": "polite",
250
- children: a
251
+ children: d
251
252
  }
252
253
  ) : null
253
254
  ] });
254
255
  }
255
- const te = j(
256
+ const te = q(
256
257
  [
257
258
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
258
259
  "ds:min-h-[var(--min-target-size)]",
@@ -274,7 +275,7 @@ const te = j(
274
275
  },
275
276
  defaultVariants: { state: "idle" }
276
277
  }
277
- ), St = j(
278
+ ), Lt = q(
278
279
  "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
279
280
  {
280
281
  variants: {
@@ -293,7 +294,7 @@ const te = j(
293
294
  },
294
295
  defaultVariants: { placement: "inline" }
295
296
  }
296
- ), Pt = j(
297
+ ), Mt = q(
297
298
  [
298
299
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
299
300
  "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -304,24 +305,24 @@ const te = j(
304
305
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
305
306
  ].join(" ")
306
307
  );
307
- function Te({
308
+ function _e({
308
309
  facets: e,
309
310
  value: n,
310
- onChange: s,
311
+ onChange: a,
311
312
  floating: r
312
313
  }) {
313
- const { t: i } = w("ui"), a = M(() => n ?? {}, [n]), l = M(
314
- () => Object.values(a).some((o) => o && o.length > 0),
315
- [a]
314
+ const { t: s } = w("ui"), i = M(() => n ?? {}, [n]), c = M(
315
+ () => Object.values(i).some((o) => o && o.length > 0),
316
+ [i]
316
317
  ), d = (o, f) => {
317
- const h = { ...a };
318
- f.length === 0 ? delete h[o] : h[o] = f, s(h), B("serp_filter_changed", { key: o, values: f });
319
- }, c = (o) => {
318
+ const h = { ...i };
319
+ f.length === 0 ? delete h[o] : h[o] = f, a(h), B("serp_filter_changed", { key: o, values: f });
320
+ }, l = (o) => {
320
321
  var h;
321
- const f = (((h = a[o]) == null ? void 0 : h.length) ?? 0) > 0;
322
+ const f = (((h = i[o]) == null ? void 0 : h.length) ?? 0) > 0;
322
323
  d(o, f ? [] : ["true"]);
323
324
  }, u = (o, f) => {
324
- const h = a[o.key] ?? [], x = h.includes(f);
325
+ const h = i[o.key] ?? [], x = h.includes(f);
325
326
  let g;
326
327
  o.multi ? g = x ? h.filter((y) => y !== f) : [...h, f] : g = x ? [] : [f], d(o.key, g);
327
328
  };
@@ -330,13 +331,13 @@ function Te({
330
331
  {
331
332
  "data-component": "practice-results-filters",
332
333
  role: "group",
333
- "aria-label": i("practiceResults.filters.label"),
334
- className: St({
334
+ "aria-label": s("practiceResults.filters.label"),
335
+ className: Lt({
335
336
  placement: r ? "floating" : "inline"
336
337
  }),
337
338
  children: [
338
339
  e.map((o) => {
339
- const f = o.boolean, h = a[o.key] ?? [], x = h.length > 0;
340
+ const f = o.boolean, h = i[o.key] ?? [], x = h.length > 0;
340
341
  if (f)
341
342
  return /* @__PURE__ */ t(
342
343
  "button",
@@ -344,7 +345,7 @@ function Te({
344
345
  type: "button",
345
346
  "aria-pressed": x,
346
347
  "aria-label": o.label,
347
- onClick: () => c(o.key),
348
+ onClick: () => l(o.key),
348
349
  className: te({
349
350
  state: x ? "active" : "idle"
350
351
  }),
@@ -353,8 +354,8 @@ function Te({
353
354
  o.key
354
355
  );
355
356
  const g = x ? ` (${h.length})` : "";
356
- return /* @__PURE__ */ m(D.Root, { children: [
357
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
357
+ return /* @__PURE__ */ m($.Root, { children: [
358
+ /* @__PURE__ */ t($.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
358
359
  "button",
359
360
  {
360
361
  type: "button",
@@ -377,8 +378,8 @@ function Te({
377
378
  ]
378
379
  }
379
380
  ) }),
380
- /* @__PURE__ */ t(D.Content, { sideOffset: 8, align: "start", children: o.options.map((y) => /* @__PURE__ */ t(
381
- D.CheckboxItem,
381
+ /* @__PURE__ */ t($.Content, { sideOffset: 8, align: "start", children: o.options.map((y) => /* @__PURE__ */ t(
382
+ $.CheckboxItem,
382
383
  {
383
384
  checked: h.includes(y.value),
384
385
  onSelect: (C) => {
@@ -390,15 +391,15 @@ function Te({
390
391
  )) })
391
392
  ] }, o.key);
392
393
  }),
393
- l ? /* @__PURE__ */ t(
394
+ c ? /* @__PURE__ */ t(
394
395
  "button",
395
396
  {
396
397
  type: "button",
397
398
  onClick: () => {
398
- s({}), B("serp_filter_changed", { key: "*", values: [] });
399
+ a({}), B("serp_filter_changed", { key: "*", values: [] });
399
400
  },
400
- className: Pt(),
401
- children: i("practiceResults.filters.clear")
401
+ className: Mt(),
402
+ children: s("practiceResults.filters.clear")
402
403
  }
403
404
  ) : null
404
405
  ]
@@ -406,29 +407,29 @@ function Te({
406
407
  );
407
408
  }
408
409
  function ue({ value: e, onChange: n }) {
409
- const { t: s } = w("ui"), r = (i) => {
410
- switch (i) {
410
+ const { t: a } = w("ui"), r = (s) => {
411
+ switch (s) {
411
412
  case "distance":
412
- return s("practiceResults.sort.distance");
413
+ return a("practiceResults.sort.distance");
413
414
  case "rating":
414
- return s("practiceResults.sort.rating");
415
+ return a("practiceResults.sort.rating");
415
416
  case "next-available":
416
- return s("practiceResults.sort.nextAvailable");
417
+ return a("practiceResults.sort.nextAvailable");
417
418
  case "relevance":
418
419
  default:
419
- return s("practiceResults.sort.relevance");
420
+ return a("practiceResults.sort.relevance");
420
421
  }
421
422
  };
422
- return /* @__PURE__ */ m(D.Root, { children: [
423
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
423
+ return /* @__PURE__ */ m($.Root, { children: [
424
+ /* @__PURE__ */ t($.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
424
425
  "button",
425
426
  {
426
427
  type: "button",
427
- "aria-label": `${s("practiceResults.sort.label")}: ${r(e)}`,
428
+ "aria-label": `${a("practiceResults.sort.label")}: ${r(e)}`,
428
429
  className: te({ state: "idle" }),
429
430
  children: [
430
431
  /* @__PURE__ */ m("span", { children: [
431
- s("practiceResults.sort.label"),
432
+ a("practiceResults.sort.label"),
432
433
  ": ",
433
434
  r(e)
434
435
  ] }),
@@ -436,30 +437,30 @@ function ue({ value: e, onChange: n }) {
436
437
  ]
437
438
  }
438
439
  ) }),
439
- /* @__PURE__ */ t(D.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
440
- D.RadioGroup,
440
+ /* @__PURE__ */ t($.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
441
+ $.RadioGroup,
441
442
  {
442
443
  value: e,
443
- onValueChange: (i) => {
444
- const a = i;
445
- a !== e && (n(a), B("serp_sort_changed", { sort: a }));
444
+ onValueChange: (s) => {
445
+ const i = s;
446
+ i !== e && (n(i), B("serp_sort_changed", { sort: i }));
446
447
  },
447
- children: xt.map((i) => /* @__PURE__ */ t(D.RadioItem, { value: i, children: r(i) }, i))
448
+ children: Ct.map((s) => /* @__PURE__ */ t($.RadioItem, { value: s, children: r(s) }, s))
448
449
  }
449
450
  ) })
450
451
  ] });
451
452
  }
452
- function ze({ distanceKm: e }) {
453
- const { t: n, i18n: s } = w("ui"), r = M(() => {
453
+ function Te({ distanceKm: e }) {
454
+ const { t: n, i18n: a } = w("ui"), r = M(() => {
454
455
  if (e < 1) return n("practiceResults.distance.below");
455
- const i = new Intl.NumberFormat(s.language, {
456
+ const s = new Intl.NumberFormat(a.language, {
456
457
  maximumFractionDigits: 1
457
458
  }).format(e);
458
- return n("practiceResults.distance.km", { distance: i });
459
- }, [e, n, s.language]);
460
- return /* @__PURE__ */ t($, { variant: "neutral", leading: /* @__PURE__ */ t(ne, { "aria-hidden": "true" }), children: r });
459
+ return n("practiceResults.distance.km", { distance: s });
460
+ }, [e, n, a.language]);
461
+ return /* @__PURE__ */ t(D, { variant: "neutral", leading: /* @__PURE__ */ t(ne, { "aria-hidden": "true" }), children: r });
461
462
  }
462
- const we = j(
463
+ const we = q(
463
464
  [
464
465
  "ds:inline-size-[12rem] ds:block-size-[8rem] ds:shrink-0",
465
466
  "ds:rounded-[var(--radius-md)] ds:overflow-hidden"
@@ -483,13 +484,13 @@ function At() {
483
484
  const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
484
485
  return n ? n[1] : "4945a3";
485
486
  }
486
- function Mt({
487
+ function It({
487
488
  apiKey: e,
488
489
  center: n,
489
- zoom: s = 14,
490
+ zoom: a = 14,
490
491
  address: r
491
492
  }) {
492
- const { t: i } = w("ui");
493
+ const { t: s } = w("ui");
493
494
  if (!e)
494
495
  return /* @__PURE__ */ m(
495
496
  "div",
@@ -502,12 +503,12 @@ function Mt({
502
503
  ]
503
504
  }
504
505
  );
505
- const a = At(), l = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${s}&size=240x160&scale=2&markers=color:0x${a}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
506
+ const i = At(), c = `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
507
  return /* @__PURE__ */ t(
507
508
  "img",
508
509
  {
509
- src: l,
510
- alt: i("practiceResults.thumbnail.alt"),
510
+ src: c,
511
+ alt: s("practiceResults.thumbnail.alt"),
511
512
  loading: "lazy",
512
513
  decoding: "async",
513
514
  width: 240,
@@ -516,7 +517,7 @@ function Mt({
516
517
  }
517
518
  );
518
519
  }
519
- function Fe({ tagline: e }) {
520
+ function ze({ tagline: e }) {
520
521
  return e ? /* @__PURE__ */ t(
521
522
  "span",
522
523
  {
@@ -527,7 +528,7 @@ function Fe({ tagline: e }) {
527
528
  }
528
529
  ) : null;
529
530
  }
530
- const It = j(
531
+ const _t = q(
531
532
  "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)] ds:whitespace-pre-line ds:break-words",
532
533
  {
533
534
  variants: {
@@ -539,7 +540,7 @@ const It = j(
539
540
  defaultVariants: { density: "compact" }
540
541
  }
541
542
  );
542
- function Le({
543
+ function Fe({
543
544
  description: e,
544
545
  density: n
545
546
  }) {
@@ -548,7 +549,7 @@ function Le({
548
549
  {
549
550
  "data-component": "practice-result-description",
550
551
  dir: "auto",
551
- className: It({ density: n }),
552
+ className: _t({ density: n }),
552
553
  children: e
553
554
  }
554
555
  ) : null;
@@ -557,31 +558,31 @@ function Be({
557
558
  cents: e,
558
559
  currencyCode: n = "EUR"
559
560
  }) {
560
- const { t: s, i18n: r } = w("ui"), i = M(
561
- () => e == null ? void 0 : lt(
561
+ const { t: a, i18n: r } = w("ui"), s = M(
562
+ () => e == null ? void 0 : ut(
562
563
  e,
563
564
  n,
564
565
  r.language ?? "en",
565
- s("common.freeOfCharge")
566
+ a("common.freeOfCharge")
566
567
  ),
567
- [e, n, r.language, s]
568
+ [e, n, r.language, a]
568
569
  );
569
- return i === void 0 ? null : /* @__PURE__ */ m(
570
+ return s === void 0 ? null : /* @__PURE__ */ m(
570
571
  "span",
571
572
  {
572
573
  "data-component": "practice-result-price",
573
574
  className: "type-body-sm ds:inline-flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[var(--muted-foreground)]",
574
575
  children: [
575
576
  /* @__PURE__ */ t(
576
- mt,
577
+ ht,
577
578
  {
578
579
  "aria-hidden": "true",
579
580
  className: "ds:size-4 ds:shrink-0 ds:text-[var(--primary)]"
580
581
  }
581
582
  ),
582
- s("practiceResults.card.firstVisitPrice"),
583
+ a("practiceResults.card.firstVisitPrice"),
583
584
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: ": " }),
584
- /* @__PURE__ */ t("span", { className: "ds:font-[var(--font-weight-medium)] ds:text-[var(--foreground)]", children: i })
585
+ /* @__PURE__ */ t("span", { className: "ds:font-[var(--font-weight-medium)] ds:text-[var(--foreground)]", children: s })
585
586
  ]
586
587
  }
587
588
  );
@@ -590,7 +591,7 @@ function He({ time: e }) {
590
591
  const { t: n } = w("ui");
591
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: [
592
593
  /* @__PURE__ */ t(
593
- ft,
594
+ gt,
594
595
  {
595
596
  "aria-hidden": "true",
596
597
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -599,15 +600,15 @@ function He({ time: e }) {
599
600
  n("practiceResults.nextSlot.summary", { time: e })
600
601
  ] });
601
602
  }
602
- function Oe({
603
+ function $e({
603
604
  result: e,
604
605
  openLabel: n,
605
- bookLabel: s,
606
+ bookLabel: a,
606
607
  nextSlotText: r,
607
- onOpenClick: i,
608
- onBookClick: a
608
+ onOpenClick: s,
609
+ onBookClick: i
609
610
  }) {
610
- const { t: l } = w("ui"), d = e.nextAvailableSlot, c = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, u = d && r ? l("practiceResults.nextSlot.cta", { time: r }) : s;
611
+ const { t: c } = w("ui"), d = e.nextAvailableSlot, l = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, u = d && r ? c("practiceResults.nextSlot.cta", { time: r }) : a;
611
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: [
612
613
  n !== void 0 ? /* @__PURE__ */ t(
613
614
  ee,
@@ -616,7 +617,7 @@ function Oe({
616
617
  size: "sm",
617
618
  asChild: !0,
618
619
  onClick: (o) => {
619
- o.stopPropagation(), i();
620
+ o.stopPropagation(), s();
620
621
  },
621
622
  children: /* @__PURE__ */ m("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
622
623
  n,
@@ -631,14 +632,14 @@ function Oe({
631
632
  intent: "primary",
632
633
  size: "sm",
633
634
  asChild: !0,
634
- startIcon: /* @__PURE__ */ t(ht, { "aria-hidden": "true" }),
635
+ startIcon: /* @__PURE__ */ t(vt, { "aria-hidden": "true" }),
635
636
  onClick: (o) => {
636
- o.stopPropagation(), a();
637
+ o.stopPropagation(), i();
637
638
  },
638
639
  children: /* @__PURE__ */ m(
639
640
  "a",
640
641
  {
641
- href: c,
642
+ href: l,
642
643
  "data-component": "practice-result-book-cta",
643
644
  "data-slot-aware": d ? "true" : void 0,
644
645
  children: [
@@ -652,7 +653,7 @@ function Oe({
652
653
  )
653
654
  ] });
654
655
  }
655
- const De = j(
656
+ const De = q(
656
657
  [
657
658
  "ds:relative ds:flex ds:w-full ds:cursor-pointer",
658
659
  "ds:rounded-[var(--radius-lg)]",
@@ -681,23 +682,23 @@ const De = j(
681
682
  defaultVariants: { density: "compact" }
682
683
  }
683
684
  );
684
- function _t({
685
+ function Tt({
685
686
  result: e,
686
687
  highlighted: n,
687
- onSelect: s,
688
+ onSelect: a,
688
689
  onOpenClick: r,
689
- onHover: i,
690
- density: a = "compact",
691
- openLabel: l,
690
+ onHover: s,
691
+ density: i = "compact",
692
+ openLabel: c,
692
693
  bookLabel: d,
693
- onBookClick: c,
694
+ onBookClick: l,
694
695
  nextSlotText: u,
695
696
  maxInsuranceChips: o = 3,
696
697
  maxLanguageChips: f = 4,
697
698
  children: h
698
699
  }) {
699
- var q, U, G, V, H, Z;
700
- const { t: x, i18n: g } = w("ui"), y = e.rating, C = (q = e.location) == null ? void 0 : q.distanceKm, v = (((U = e.languages) == null ? void 0 : U.length) ?? 0) > 0, p = (((G = e.insurances) == null ? void 0 : G.length) ?? 0) > 0, P = e.specializedInFearPatients, N = v || p || P, R = (e.languages ?? []).slice(0, f), T = (((V = e.languages) == null ? void 0 : V.length) ?? 0) - R.length, z = (e.insurances ?? []).slice(0, o), A = (((H = e.insurances) == null ? void 0 : H.length) ?? 0) - z.length;
700
+ var U, G, Z, V, K, O;
701
+ const { t: x, i18n: g } = w("ui"), y = e.rating, C = (U = e.location) == null ? void 0 : U.distanceKm, v = (((G = e.languages) == null ? void 0 : G.length) ?? 0) > 0, p = (((Z = e.insurances) == null ? void 0 : Z.length) ?? 0) > 0, P = e.specializedInFearPatients, N = v || p || P, R = (e.languages ?? []).slice(0, f), _ = (((V = e.languages) == null ? void 0 : V.length) ?? 0) - R.length, T = (e.insurances ?? []).slice(0, o), L = (((K = e.insurances) == null ? void 0 : K.length) ?? 0) - T.length;
701
702
  return (
702
703
  // 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.
703
704
  /* @__PURE__ */ m(
@@ -708,10 +709,10 @@ function _t({
708
709
  "data-highlighted": n ? "true" : "false",
709
710
  role: "group",
710
711
  "aria-labelledby": `practice-result-${e.id}-name`,
711
- onClick: s,
712
- onMouseEnter: i,
713
- onFocus: i,
714
- className: De({ density: a }),
712
+ onClick: a,
713
+ onMouseEnter: s,
714
+ onFocus: s,
715
+ className: De({ density: i }),
715
716
  children: [
716
717
  /* @__PURE__ */ t(
717
718
  Re,
@@ -735,11 +736,11 @@ function _t({
735
736
  children: e.name
736
737
  }
737
738
  ),
738
- C != null ? /* @__PURE__ */ t(ze, { distanceKm: C }) : null
739
+ C != null ? /* @__PURE__ */ t(Te, { distanceKm: C }) : null
739
740
  ] }),
740
741
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
741
- /* @__PURE__ */ t(Fe, { tagline: e.tagline }),
742
- (Z = e.location) != null && Z.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
742
+ /* @__PURE__ */ t(ze, { tagline: e.tagline }),
743
+ (O = e.location) != null && O.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
743
744
  /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
744
745
  /* @__PURE__ */ t("span", { dir: "auto", children: e.location.address })
745
746
  ] }) : null
@@ -754,28 +755,28 @@ function _t({
754
755
  ) : null,
755
756
  N ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
756
757
  R.map((k) => /* @__PURE__ */ t(
757
- $,
758
+ D,
758
759
  {
759
760
  variant: "neutral",
760
761
  leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
761
- children: Ie(k, x, g)
762
+ children: Ae(k, x, g)
762
763
  },
763
764
  `lang-${k}`
764
765
  )),
765
- T > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${T}` }) : null,
766
- z.map((k) => /* @__PURE__ */ t(
767
- $,
766
+ _ > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${_}` }) : null,
767
+ T.map((k) => /* @__PURE__ */ t(
768
+ D,
768
769
  {
769
770
  variant: "info",
770
- leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
771
+ leading: /* @__PURE__ */ t(Le, { "aria-hidden": "true" }),
771
772
  children: k
772
773
  },
773
774
  `ins-${k}`
774
775
  )),
775
- A > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${A}` }) : null,
776
- P ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: x("practiceResults.fearPatient.label") }) : null
776
+ L > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${L}` }) : null,
777
+ P ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: x("practiceResults.fearPatient.label") }) : null
777
778
  ] }) : null,
778
- /* @__PURE__ */ t(Le, { description: e.description, density: "compact" }),
779
+ /* @__PURE__ */ t(Fe, { description: e.description, density: "compact" }),
779
780
  /* @__PURE__ */ t(
780
781
  Be,
781
782
  {
@@ -786,14 +787,14 @@ function _t({
786
787
  e.nextAvailableSlot && u ? /* @__PURE__ */ t(He, { time: u }) : null,
787
788
  h,
788
789
  /* @__PURE__ */ t(
789
- Oe,
790
+ $e,
790
791
  {
791
792
  result: e,
792
- openLabel: l,
793
+ openLabel: c,
793
794
  bookLabel: d,
794
795
  nextSlotText: u,
795
796
  onOpenClick: r,
796
- onBookClick: c
797
+ onBookClick: l
797
798
  }
798
799
  )
799
800
  ] })
@@ -802,16 +803,16 @@ function _t({
802
803
  )
803
804
  );
804
805
  }
805
- function Tt({
806
+ function zt({
806
807
  result: e,
807
808
  apiKey: n,
808
- highlighted: s,
809
+ highlighted: a,
809
810
  onSelect: r,
810
- onOpenClick: i,
811
- onBookClick: a,
812
- onHover: l,
811
+ onOpenClick: s,
812
+ onBookClick: i,
813
+ onHover: c,
813
814
  openLabel: d,
814
- bookLabel: c
815
+ bookLabel: l
815
816
  }) {
816
817
  var v, p, P, N;
817
818
  const { t: u, i18n: o } = w("ui"), f = M(() => {
@@ -834,16 +835,16 @@ function Tt({
834
835
  "data-component": "practice-result-card",
835
836
  "data-result-id": e.id,
836
837
  "data-density": "rich",
837
- "data-highlighted": s ? "true" : "false",
838
+ "data-highlighted": a ? "true" : "false",
838
839
  role: "group",
839
840
  "aria-labelledby": `practice-result-${e.id}-name`,
840
841
  onClick: r,
841
- onMouseEnter: l,
842
- onFocus: l,
842
+ onMouseEnter: c,
843
+ onFocus: c,
843
844
  className: De({ density: "rich" }),
844
845
  children: [
845
846
  e.location ? /* @__PURE__ */ t(
846
- Mt,
847
+ It,
847
848
  {
848
849
  apiKey: n,
849
850
  center: {
@@ -876,10 +877,10 @@ function Tt({
876
877
  children: e.name
877
878
  }
878
879
  ),
879
- C != null ? /* @__PURE__ */ t(ze, { distanceKm: C }) : null
880
+ C != null ? /* @__PURE__ */ t(Te, { distanceKm: C }) : null
880
881
  ] }),
881
882
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
882
- /* @__PURE__ */ t(Fe, { tagline: e.tagline }),
883
+ /* @__PURE__ */ t(ze, { tagline: e.tagline }),
883
884
  (N = e.location) != null && N.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
884
885
  /* @__PURE__ */ t(
885
886
  ne,
@@ -902,26 +903,26 @@ function Tt({
902
903
  ] }),
903
904
  y ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
904
905
  h ? (e.languages ?? []).map((R) => /* @__PURE__ */ t(
905
- $,
906
+ D,
906
907
  {
907
908
  variant: "neutral",
908
909
  leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
909
- children: Ie(R, u, o)
910
+ children: Ae(R, u, o)
910
911
  },
911
912
  `lang-${R}`
912
913
  )) : null,
913
914
  x ? (e.insurances ?? []).map((R) => /* @__PURE__ */ t(
914
- $,
915
+ D,
915
916
  {
916
917
  variant: "info",
917
- leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
918
+ leading: /* @__PURE__ */ t(Le, { "aria-hidden": "true" }),
918
919
  children: R
919
920
  },
920
921
  `ins-${R}`
921
922
  )) : null,
922
- g ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
923
+ g ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
923
924
  ] }) : null,
924
- /* @__PURE__ */ t(Le, { description: e.description, density: "rich" }),
925
+ /* @__PURE__ */ t(Fe, { description: e.description, density: "rich" }),
925
926
  /* @__PURE__ */ t(
926
927
  Be,
927
928
  {
@@ -931,14 +932,14 @@ function Tt({
931
932
  ),
932
933
  e.nextAvailableSlot && f ? /* @__PURE__ */ t(He, { time: f }) : null,
933
934
  /* @__PURE__ */ t(
934
- Oe,
935
+ $e,
935
936
  {
936
937
  result: e,
937
938
  openLabel: d,
938
- bookLabel: c,
939
+ bookLabel: l,
939
940
  nextSlotText: f,
940
- onOpenClick: i,
941
- onBookClick: a
941
+ onOpenClick: s,
942
+ onBookClick: i
942
943
  }
943
944
  )
944
945
  ] })
@@ -950,13 +951,13 @@ function Tt({
950
951
  function fe({
951
952
  results: e,
952
953
  highlightedId: n,
953
- onCardHover: s,
954
+ onCardHover: a,
954
955
  onCardSelect: r,
955
- onCardOpenClick: i,
956
- onCardBookClick: a,
957
- openLabel: l,
956
+ onCardOpenClick: s,
957
+ onCardBookClick: i,
958
+ openLabel: c,
958
959
  bookLabel: d,
959
- formatNextSlot: c,
960
+ formatNextSlot: l,
960
961
  onLoadMore: u,
961
962
  loadingMore: o,
962
963
  loadingSkeletons: f,
@@ -964,7 +965,7 @@ function fe({
964
965
  apiKey: x,
965
966
  containerRef: g
966
967
  }) {
967
- const { t: y } = w("ui"), C = I(null);
968
+ const { t: y } = w("ui"), C = A(null);
968
969
  return W(() => {
969
970
  if (!u) return;
970
971
  const v = C.current;
@@ -987,7 +988,7 @@ function fe({
987
988
  "aria-label": y("practiceResults.loading"),
988
989
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
989
990
  children: Array.from({ length: 4 }).map((v, p) => /* @__PURE__ */ t(
990
- rt,
991
+ lt,
991
992
  {
992
993
  variant: "rounded",
993
994
  height: h === "rich" ? "11rem" : "7rem"
@@ -1005,30 +1006,30 @@ function fe({
1005
1006
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
1006
1007
  children: [
1007
1008
  e.map((v) => /* @__PURE__ */ t("div", { role: "listitem", children: h === "rich" ? /* @__PURE__ */ t(
1008
- Tt,
1009
+ zt,
1009
1010
  {
1010
1011
  result: v,
1011
1012
  apiKey: x,
1012
1013
  highlighted: n === v.id,
1013
1014
  onSelect: () => r(v.id),
1014
- onOpenClick: () => i(v.id),
1015
- onBookClick: () => a(v.id),
1016
- onHover: () => s(v.id),
1017
- openLabel: l,
1015
+ onOpenClick: () => s(v.id),
1016
+ onBookClick: () => i(v.id),
1017
+ onHover: () => a(v.id),
1018
+ openLabel: c,
1018
1019
  bookLabel: d
1019
1020
  }
1020
1021
  ) : /* @__PURE__ */ t(
1021
- _t,
1022
+ Tt,
1022
1023
  {
1023
1024
  result: v,
1024
1025
  highlighted: n === v.id,
1025
1026
  onSelect: () => r(v.id),
1026
- onOpenClick: () => i(v.id),
1027
- onBookClick: () => a(v.id),
1028
- onHover: () => s(v.id),
1029
- openLabel: l,
1027
+ onOpenClick: () => s(v.id),
1028
+ onBookClick: () => i(v.id),
1029
+ onHover: () => a(v.id),
1030
+ openLabel: c,
1030
1031
  bookLabel: d,
1031
- nextSlotText: c(v)
1032
+ nextSlotText: l(v)
1032
1033
  }
1033
1034
  ) }, v.id)),
1034
1035
  u ? /* @__PURE__ */ t(
@@ -1037,7 +1038,7 @@ function fe({
1037
1038
  ref: C,
1038
1039
  "aria-hidden": "true",
1039
1040
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
1040
- children: o ? /* @__PURE__ */ t(ot, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1041
+ children: o ? /* @__PURE__ */ t(ct, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1041
1042
  }
1042
1043
  ) : null
1043
1044
  ]
@@ -1047,13 +1048,13 @@ function fe({
1047
1048
  function pe({
1048
1049
  results: e,
1049
1050
  searchCentre: n,
1050
- zoom: s,
1051
+ zoom: a,
1051
1052
  apiKey: r,
1052
- mapId: i,
1053
- highlightedId: a,
1054
- onPinClick: l,
1053
+ mapId: s,
1054
+ highlightedId: i,
1055
+ onPinClick: c,
1055
1056
  onPinHover: d,
1056
- onPinFirstInteract: c,
1057
+ onPinFirstInteract: l,
1057
1058
  onBoundsChange: u,
1058
1059
  consentGranted: o,
1059
1060
  onConsentRequest: f,
@@ -1095,21 +1096,21 @@ function pe({
1095
1096
  "data-component": "practice-results-map-panel",
1096
1097
  className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
1097
1098
  children: /* @__PURE__ */ t(
1098
- it,
1099
+ ot,
1099
1100
  {
1100
1101
  ref: h,
1101
1102
  apiKey: r ?? "",
1102
- mapId: i,
1103
+ mapId: s,
1103
1104
  center: v,
1104
- zoom: s,
1105
+ zoom: a,
1105
1106
  markers: g,
1106
1107
  fitToPoints: y,
1107
1108
  fitKey: C,
1108
- selectedMarkerId: a,
1109
+ selectedMarkerId: i,
1109
1110
  consentGranted: !!o,
1110
1111
  onConsentRequest: f,
1111
1112
  onMarkerClick: (p) => {
1112
- p != null && (d(p), c(p), l(p));
1113
+ p != null && (d(p), l(p), c(p));
1113
1114
  },
1114
1115
  ariaLabel: x("practiceResults.map.label"),
1115
1116
  size: "fill",
@@ -1123,80 +1124,90 @@ function pe({
1123
1124
  function he({
1124
1125
  variantBodyProps: e
1125
1126
  }) {
1126
- const { facets: n, value: s, onChange: r, heading: i, intro: a, totalCount: l, searchCentre: d } = e;
1127
+ const { facets: n, value: a, onChange: r, heading: s, intro: i, totalCount: c, searchCentre: d } = e;
1127
1128
  return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1128
1129
  /* @__PURE__ */ t(
1129
- _e,
1130
+ Ie,
1130
1131
  {
1131
- heading: i,
1132
- intro: a,
1133
- totalCount: l,
1132
+ heading: s,
1133
+ headingLevel: e.headingLevel,
1134
+ intro: i,
1135
+ totalCount: c,
1134
1136
  searchCentreLabel: d == null ? void 0 : d.label
1135
1137
  }
1136
1138
  ),
1137
1139
  n.length > 0 ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
1138
1140
  /* @__PURE__ */ t(
1139
- Te,
1141
+ _e,
1140
1142
  {
1141
1143
  facets: n,
1142
- value: s.facets,
1143
- onChange: (c) => r({ ...s, facets: c })
1144
+ value: a.facets,
1145
+ onChange: (l) => r({ ...a, facets: l })
1144
1146
  }
1145
1147
  ),
1146
1148
  /* @__PURE__ */ t(
1147
1149
  ue,
1148
1150
  {
1149
- value: s.sort ?? "relevance",
1150
- onChange: (c) => r({ ...s, sort: c })
1151
+ value: a.sort ?? "relevance",
1152
+ onChange: (l) => r({ ...a, sort: l })
1151
1153
  }
1152
1154
  )
1153
1155
  ] }) : /* @__PURE__ */ t("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ t(
1154
1156
  ue,
1155
1157
  {
1156
- value: s.sort ?? "relevance",
1157
- onChange: (c) => r({ ...s, sort: c })
1158
+ value: a.sort ?? "relevance",
1159
+ onChange: (l) => r({ ...a, sort: l })
1158
1160
  }
1159
1161
  ) })
1160
1162
  ] });
1161
1163
  }
1162
- function ge() {
1163
- const { t: e } = w("ui");
1164
+ function Oe(e) {
1165
+ return Math.min(e + 1, 6);
1166
+ }
1167
+ function ge({
1168
+ headingLevel: e
1169
+ }) {
1170
+ const { t: n } = w("ui");
1164
1171
  return /* @__PURE__ */ t(
1165
- st,
1172
+ rt,
1166
1173
  {
1167
1174
  variant: "no-results",
1168
- title: e("practiceResults.empty.title"),
1169
- description: e("practiceResults.empty.description")
1175
+ headingLevel: Oe(e),
1176
+ title: n("practiceResults.empty.title"),
1177
+ description: n("practiceResults.empty.description")
1170
1178
  }
1171
1179
  );
1172
1180
  }
1173
- function ve({ onRetry: e }) {
1174
- const { t: n } = w("ui");
1181
+ function ve({
1182
+ onRetry: e,
1183
+ headingLevel: n
1184
+ }) {
1185
+ const { t: a } = w("ui"), r = Oe(n);
1175
1186
  return /* @__PURE__ */ m(Y, { variant: "error", children: [
1176
- /* @__PURE__ */ t(Y.Title, { as: "h3", children: n("practiceResults.error.title") }),
1177
- /* @__PURE__ */ t(Y.Description, { children: n("practiceResults.error.description") }),
1187
+ /* @__PURE__ */ t(Y.Title, { as: `h${r}`, children: a("practiceResults.error.title") }),
1188
+ /* @__PURE__ */ t(Y.Description, { children: a("practiceResults.error.description") }),
1178
1189
  e ? /* @__PURE__ */ t(Y.Action, { children: /* @__PURE__ */ t(
1179
1190
  ee,
1180
1191
  {
1181
1192
  intent: "secondary",
1182
1193
  size: "sm",
1183
- startIcon: /* @__PURE__ */ t(pt, { "aria-hidden": "true" }),
1194
+ startIcon: /* @__PURE__ */ t(ft, { "aria-hidden": "true" }),
1184
1195
  onClick: e,
1185
- children: n("practiceResults.error.retry")
1196
+ children: a("practiceResults.error.retry")
1186
1197
  }
1187
1198
  ) }) : null
1188
1199
  ] });
1189
1200
  }
1190
- function zt(e) {
1201
+ function Ft(e) {
1191
1202
  const {
1192
1203
  results: n,
1193
- apiKey: s,
1204
+ apiKey: a,
1194
1205
  mapId: r,
1195
- zoom: i,
1196
- searchCentre: a,
1197
- onLoadMore: l,
1206
+ zoom: s,
1207
+ searchCentre: i,
1208
+ onLoadMore: c,
1198
1209
  loadingMore: d,
1199
- loadingSkeletons: c,
1210
+ loadingSkeletons: l,
1200
1211
  emptyResultsSlot: u,
1201
1212
  errorSlot: o,
1202
1213
  error: f,
@@ -1208,7 +1219,7 @@ function zt(e) {
1208
1219
  onConsentRequest: v,
1209
1220
  onBoundsChange: p,
1210
1221
  listContainerRef: P
1211
- } = e, { t: N } = w("ui"), [R, T] = me(!1), z = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1222
+ } = e, { t: N } = w("ui"), [R, _] = me(!1), T = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h, headingLevel: e.headingLevel }) : n.length === 0 && !l ? u ?? /* @__PURE__ */ t(ge, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1212
1223
  fe,
1213
1224
  {
1214
1225
  results: n,
@@ -1220,9 +1231,9 @@ function zt(e) {
1220
1231
  openLabel: e.openLabel,
1221
1232
  bookLabel: e.bookLabel,
1222
1233
  formatNextSlot: e.formatNextSlot,
1223
- onLoadMore: l,
1234
+ onLoadMore: c,
1224
1235
  loadingMore: d,
1225
- loadingSkeletons: c,
1236
+ loadingSkeletons: l,
1226
1237
  density: "compact",
1227
1238
  containerRef: P
1228
1239
  }
@@ -1230,18 +1241,18 @@ function zt(e) {
1230
1241
  return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1231
1242
  /* @__PURE__ */ t(he, { variantBodyProps: e }),
1232
1243
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:grid ds:lg:grid-cols-[55fr_45fr] ds:lg:gap-[var(--spacing-lg)] ds:lg:items-start", children: [
1233
- /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: z }),
1244
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: T }),
1234
1245
  /* @__PURE__ */ t("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ t(
1235
1246
  pe,
1236
1247
  {
1237
1248
  results: n,
1238
- searchCentre: a,
1239
- zoom: i,
1240
- apiKey: s,
1249
+ searchCentre: i,
1250
+ zoom: s,
1251
+ apiKey: a,
1241
1252
  mapId: r,
1242
1253
  highlightedId: x,
1243
- onPinClick: (A) => {
1244
- Q(n, A, "pin", e.onResultSelect), y(A);
1254
+ onPinClick: (L) => {
1255
+ Q(n, L, "pin", e.onResultSelect), y(L);
1245
1256
  },
1246
1257
  onPinHover: g,
1247
1258
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1257,27 +1268,27 @@ function zt(e) {
1257
1268
  {
1258
1269
  intent: "primary",
1259
1270
  size: "md",
1260
- startIcon: /* @__PURE__ */ t(vt, { "aria-hidden": "true" }),
1261
- onClick: () => T(!0),
1271
+ startIcon: /* @__PURE__ */ t(yt, { "aria-hidden": "true" }),
1272
+ onClick: () => _(!0),
1262
1273
  children: N("practiceResults.viewMap")
1263
1274
  }
1264
1275
  ) }),
1265
- /* @__PURE__ */ t(_.Root, { open: R, onOpenChange: T, children: /* @__PURE__ */ m(_.Content, { side: "bottom", size: "lg", children: [
1266
- /* @__PURE__ */ t(_.Header, { children: /* @__PURE__ */ t(_.Title, { children: N("practiceResults.map.label") }) }),
1267
- /* @__PURE__ */ m(_.Body, { children: [
1268
- /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1276
+ /* @__PURE__ */ t(I.Root, { open: R, onOpenChange: _, children: /* @__PURE__ */ m(I.Content, { side: "bottom", size: "lg", children: [
1277
+ /* @__PURE__ */ t(I.Header, { children: /* @__PURE__ */ t(I.Title, { children: N("practiceResults.map.label") }) }),
1278
+ /* @__PURE__ */ m(I.Body, { children: [
1279
+ /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1269
1280
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1270
1281
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1271
1282
  pe,
1272
1283
  {
1273
1284
  results: n,
1274
- searchCentre: a,
1275
- zoom: i,
1276
- apiKey: s,
1285
+ searchCentre: i,
1286
+ zoom: s,
1287
+ apiKey: a,
1277
1288
  mapId: r,
1278
1289
  highlightedId: x,
1279
- onPinClick: (A) => {
1280
- Q(n, A, "pin", e.onResultSelect), y(A);
1290
+ onPinClick: (L) => {
1291
+ Q(n, L, "pin", e.onResultSelect), y(L);
1281
1292
  },
1282
1293
  onPinHover: g,
1283
1294
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1287,95 +1298,95 @@ function zt(e) {
1287
1298
  mapHandleRef: e.mapHandleRef
1288
1299
  }
1289
1300
  ) }),
1290
- z
1301
+ T
1291
1302
  ] })
1292
1303
  ] })
1293
1304
  ] }) })
1294
1305
  ] });
1295
1306
  }
1296
- const Ft = {
1307
+ const Bt = {
1297
1308
  peek: "sm",
1298
1309
  half: "md",
1299
1310
  full: "lg"
1300
- }, E = [
1311
+ }, j = [
1301
1312
  "peek",
1302
1313
  "half",
1303
1314
  "full"
1304
1315
  ];
1305
- function Lt({ value: e, onChange: n }) {
1306
- const { t: s, i18n: r } = w("ui"), i = r.dir() === "rtl", a = I(
1316
+ function Ht({ value: e, onChange: n }) {
1317
+ const { t: a, i18n: r } = w("ui"), s = r.dir() === "rtl", i = A(
1307
1318
  /* @__PURE__ */ new Map()
1308
- ), l = O((c) => {
1319
+ ), c = H((l) => {
1309
1320
  var u;
1310
- (u = a.current.get(c)) == null || u.focus();
1311
- }, []), d = O(
1312
- (c, u) => {
1313
- const o = E.indexOf(u), f = E.length, h = i ? "ArrowLeft" : "ArrowRight", x = i ? "ArrowRight" : "ArrowLeft";
1321
+ (u = i.current.get(l)) == null || u.focus();
1322
+ }, []), d = H(
1323
+ (l, u) => {
1324
+ const o = j.indexOf(u), f = j.length, h = s ? "ArrowLeft" : "ArrowRight", x = s ? "ArrowRight" : "ArrowLeft";
1314
1325
  let g = null;
1315
- switch (c.key) {
1326
+ switch (l.key) {
1316
1327
  case h:
1317
1328
  case "ArrowDown":
1318
- g = E[(o + 1) % f];
1329
+ g = j[(o + 1) % f];
1319
1330
  break;
1320
1331
  case x:
1321
1332
  case "ArrowUp":
1322
- g = E[(o - 1 + f) % f];
1333
+ g = j[(o - 1 + f) % f];
1323
1334
  break;
1324
1335
  case "Home":
1325
- g = E[0];
1336
+ g = j[0];
1326
1337
  break;
1327
1338
  case "End":
1328
- g = E[f - 1];
1339
+ g = j[f - 1];
1329
1340
  break;
1330
1341
  default:
1331
1342
  return;
1332
1343
  }
1333
- c.preventDefault(), g && g !== u && n(g), g && l(g);
1344
+ l.preventDefault(), g && g !== u && n(g), g && c(g);
1334
1345
  },
1335
- [l, i, n]
1346
+ [c, s, n]
1336
1347
  );
1337
1348
  return /* @__PURE__ */ t(
1338
1349
  "div",
1339
1350
  {
1340
1351
  role: "radiogroup",
1341
- "aria-label": s("practiceResults.sheet.snap.label"),
1352
+ "aria-label": a("practiceResults.sheet.snap.label"),
1342
1353
  className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
1343
- children: E.map((c) => {
1344
- const u = e === c;
1354
+ children: j.map((l) => {
1355
+ const u = e === l;
1345
1356
  return /* @__PURE__ */ t(
1346
1357
  "button",
1347
1358
  {
1348
1359
  ref: (o) => {
1349
- o ? a.current.set(c, o) : a.current.delete(c);
1360
+ o ? i.current.set(l, o) : i.current.delete(l);
1350
1361
  },
1351
1362
  type: "button",
1352
1363
  role: "radio",
1353
1364
  "aria-checked": u,
1354
- "aria-label": s(`practiceResults.sheet.snap.${c}`),
1365
+ "aria-label": a(`practiceResults.sheet.snap.${l}`),
1355
1366
  tabIndex: u ? 0 : -1,
1356
- onClick: () => n(c),
1357
- onKeyDown: (o) => d(o, c),
1367
+ onClick: () => n(l),
1368
+ onKeyDown: (o) => d(o, l),
1358
1369
  className: te({
1359
1370
  state: u ? "active" : "idle"
1360
1371
  }),
1361
- children: s(`practiceResults.sheet.snap.${c}`)
1372
+ children: a(`practiceResults.sheet.snap.${l}`)
1362
1373
  },
1363
- c
1374
+ l
1364
1375
  );
1365
1376
  })
1366
1377
  }
1367
1378
  );
1368
1379
  }
1369
- function Bt(e) {
1380
+ function $t(e) {
1370
1381
  const {
1371
1382
  results: n,
1372
- apiKey: s,
1383
+ apiKey: a,
1373
1384
  mapId: r,
1374
- zoom: i,
1375
- searchCentre: a,
1376
- onLoadMore: l,
1385
+ zoom: s,
1386
+ searchCentre: i,
1387
+ onLoadMore: c,
1377
1388
  loadingMore: d,
1378
- loadingSkeletons: c,
1389
+ loadingSkeletons: l,
1379
1390
  emptyResultsSlot: u,
1380
1391
  errorSlot: o,
1381
1392
  error: f,
@@ -1389,8 +1400,8 @@ function Bt(e) {
1389
1400
  listContainerRef: P,
1390
1401
  facets: N,
1391
1402
  value: R,
1392
- onChange: T
1393
- } = e, { t: z } = w("ui"), [A, q] = me("half"), U = Ft[A], G = ct("(min-width: 1024px)"), V = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1403
+ onChange: _
1404
+ } = e, { t: T } = w("ui"), [L, U] = me("half"), G = Bt[L], Z = dt("(min-width: 1024px)"), V = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h, headingLevel: e.headingLevel }) : n.length === 0 && !l ? u ?? /* @__PURE__ */ t(ge, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1394
1405
  fe,
1395
1406
  {
1396
1407
  results: n,
@@ -1402,20 +1413,20 @@ function Bt(e) {
1402
1413
  openLabel: e.openLabel,
1403
1414
  bookLabel: e.bookLabel,
1404
1415
  formatNextSlot: e.formatNextSlot,
1405
- onLoadMore: l,
1416
+ onLoadMore: c,
1406
1417
  loadingMore: d,
1407
- loadingSkeletons: c,
1418
+ loadingSkeletons: l,
1408
1419
  density: "compact",
1409
- apiKey: s,
1420
+ apiKey: a,
1410
1421
  containerRef: P
1411
1422
  }
1412
- ), H = /* @__PURE__ */ t(
1423
+ ), K = /* @__PURE__ */ t(
1413
1424
  pe,
1414
1425
  {
1415
1426
  results: n,
1416
- searchCentre: a,
1417
- zoom: i,
1418
- apiKey: s,
1427
+ searchCentre: i,
1428
+ zoom: s,
1429
+ apiKey: a,
1419
1430
  mapId: r,
1420
1431
  highlightedId: x,
1421
1432
  onPinClick: (k) => {
@@ -1428,16 +1439,16 @@ function Bt(e) {
1428
1439
  onConsentRequest: v,
1429
1440
  mapHandleRef: e.mapHandleRef
1430
1441
  }
1431
- ), Z = 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(
1432
- Te,
1442
+ ), O = 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(
1443
+ _e,
1433
1444
  {
1434
1445
  facets: N,
1435
1446
  value: R.facets,
1436
- onChange: (k) => T({ ...R, facets: k }),
1447
+ onChange: (k) => _({ ...R, facets: k }),
1437
1448
  floating: !0
1438
1449
  }
1439
1450
  ) }) : null;
1440
- return /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: G ? (
1451
+ return /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: Z ? (
1441
1452
  // Desktop: 65/35 map left + cards rail right. NO Sheet (the
1442
1453
  // Sheet would portal to body and occlude the desktop layout
1443
1454
  // regardless of the parent's `lg:hidden` class).
@@ -1455,10 +1466,10 @@ function Bt(e) {
1455
1466
  // the map column is `lg:sticky lg:h-[44rem]` (stays visible
1456
1467
  // as the patient scrolls cards) and the rail renders at
1457
1468
  // natural height. Single page scroll.
1458
- /* @__PURE__ */ m(tt, { children: [
1469
+ /* @__PURE__ */ m(at, { children: [
1459
1470
  /* @__PURE__ */ t(he, { variantBodyProps: e }),
1460
1471
  /* @__PURE__ */ m("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1461
- /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: H }),
1472
+ /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: K }),
1462
1473
  /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: V })
1463
1474
  ] })
1464
1475
  ] })
@@ -1471,37 +1482,38 @@ function Bt(e) {
1471
1482
  // chrome, so floating chips are the only place for them.
1472
1483
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1473
1484
  /* @__PURE__ */ t(
1474
- _e,
1485
+ Ie,
1475
1486
  {
1476
1487
  heading: e.heading,
1488
+ headingLevel: e.headingLevel,
1477
1489
  intro: e.intro,
1478
1490
  totalCount: e.totalCount,
1479
- searchCentreLabel: a == null ? void 0 : a.label
1491
+ searchCentreLabel: i == null ? void 0 : i.label
1480
1492
  }
1481
1493
  ),
1482
1494
  /* @__PURE__ */ m("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1483
- H,
1484
- Z
1495
+ K,
1496
+ O
1485
1497
  ] }),
1486
- /* @__PURE__ */ t(_.Root, { open: !0, children: /* @__PURE__ */ t(
1487
- _.Content,
1498
+ /* @__PURE__ */ t(I.Root, { open: !0, children: /* @__PURE__ */ t(
1499
+ I.Content,
1488
1500
  {
1489
1501
  side: "bottom",
1490
- size: U,
1502
+ size: G,
1491
1503
  onEscapeKeyDown: (k) => k.preventDefault(),
1492
1504
  onPointerDownOutside: (k) => k.preventDefault(),
1493
1505
  onInteractOutside: (k) => k.preventDefault(),
1494
- children: /* @__PURE__ */ m(_.Body, { children: [
1495
- /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: z("practiceResults.sheet.descriptionMapFirst") }),
1506
+ children: /* @__PURE__ */ m(I.Body, { children: [
1507
+ /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: T("practiceResults.sheet.descriptionMapFirst") }),
1496
1508
  /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1497
- /* @__PURE__ */ t(_.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: z("practiceResults.sheet.title", {
1509
+ /* @__PURE__ */ t(I.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: T("practiceResults.sheet.title", {
1498
1510
  count: e.totalCount ?? n.length
1499
1511
  }) }),
1500
1512
  /* @__PURE__ */ t(
1501
- Lt,
1513
+ Ht,
1502
1514
  {
1503
- value: A,
1504
- onChange: q
1515
+ value: L,
1516
+ onChange: U
1505
1517
  }
1506
1518
  )
1507
1519
  ] }),
@@ -1509,7 +1521,7 @@ function Bt(e) {
1509
1521
  ue,
1510
1522
  {
1511
1523
  value: R.sort ?? "relevance",
1512
- onChange: (k) => T({ ...R, sort: k })
1524
+ onChange: (k) => _({ ...R, sort: k })
1513
1525
  }
1514
1526
  ) }),
1515
1527
  V
@@ -1519,21 +1531,21 @@ function Bt(e) {
1519
1531
  ] })
1520
1532
  ) });
1521
1533
  }
1522
- function Ht(e) {
1534
+ function Dt(e) {
1523
1535
  const {
1524
1536
  results: n,
1525
- apiKey: s,
1537
+ apiKey: a,
1526
1538
  onLoadMore: r,
1527
- loadingMore: i,
1528
- loadingSkeletons: a,
1529
- emptyResultsSlot: l,
1539
+ loadingMore: s,
1540
+ loadingSkeletons: i,
1541
+ emptyResultsSlot: c,
1530
1542
  errorSlot: d,
1531
- error: c,
1543
+ error: l,
1532
1544
  onRetry: u,
1533
1545
  highlightedId: o,
1534
1546
  onCardHover: f,
1535
1547
  listContainerRef: h
1536
- } = e, x = c ? d ?? /* @__PURE__ */ t(ve, { onRetry: u }) : n.length === 0 && !a ? l ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1548
+ } = e, x = l ? d ?? /* @__PURE__ */ t(ve, { onRetry: u, headingLevel: e.headingLevel }) : n.length === 0 && !i ? c ?? /* @__PURE__ */ t(ge, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1537
1549
  fe,
1538
1550
  {
1539
1551
  results: n,
@@ -1546,10 +1558,10 @@ function Ht(e) {
1546
1558
  bookLabel: e.bookLabel,
1547
1559
  formatNextSlot: e.formatNextSlot,
1548
1560
  onLoadMore: r,
1549
- loadingMore: i,
1550
- loadingSkeletons: a,
1561
+ loadingMore: s,
1562
+ loadingSkeletons: i,
1551
1563
  density: "rich",
1552
- apiKey: s,
1564
+ apiKey: a,
1553
1565
  containerRef: h
1554
1566
  }
1555
1567
  );
@@ -1558,15 +1570,15 @@ function Ht(e) {
1558
1570
  x
1559
1571
  ] });
1560
1572
  }
1561
- const Ot = nt(function({
1573
+ const Ot = it(function({
1562
1574
  variant: n = "split-list-map",
1563
- results: s,
1575
+ results: a,
1564
1576
  totalCount: r,
1565
- searchCentre: i,
1566
- facets: a,
1567
- googleMapsApiKey: l,
1577
+ searchCentre: s,
1578
+ facets: i,
1579
+ googleMapsApiKey: c,
1568
1580
  mapId: d,
1569
- defaultZoom: c = yt,
1581
+ defaultZoom: l = kt,
1570
1582
  onBoundsChange: u,
1571
1583
  consentGranted: o,
1572
1584
  onConsentRequest: f,
@@ -1580,24 +1592,25 @@ const Ot = nt(function({
1580
1592
  emptyResultsSlot: P,
1581
1593
  errorSlot: N,
1582
1594
  error: R,
1583
- onRetry: T,
1584
- heading: z,
1585
- intro: A,
1586
- cardOpenButtonLabel: q,
1587
- cardBookButtonLabel: U,
1588
- showCardOpenButton: G = !0,
1589
- "aria-label": V,
1590
- id: H,
1591
- className: Z,
1592
- ...k
1593
- }, $e) {
1594
- const { t: ae, i18n: be } = w("ui"), [Ve, J] = me(null), X = I(/* @__PURE__ */ new Set()), se = I(/* @__PURE__ */ new Set()), Ke = I(null), ie = I(null), re = M(
1595
+ onRetry: _,
1596
+ heading: T,
1597
+ headingLevel: L = 2,
1598
+ intro: U,
1599
+ cardOpenButtonLabel: G,
1600
+ cardBookButtonLabel: Z,
1601
+ showCardOpenButton: V = !0,
1602
+ "aria-label": K,
1603
+ id: O,
1604
+ className: k,
1605
+ ...Ve
1606
+ }, Ke) {
1607
+ const { t: ae, i18n: be } = w("ui"), [Ee, J] = me(null), X = A(/* @__PURE__ */ new Set()), ie = A(/* @__PURE__ */ new Set()), je = A(null), se = A(null), re = M(
1595
1608
  () => ({
1596
1609
  getVariant: () => n,
1597
1610
  scrollToResult: (b) => {
1598
- const L = ie.current;
1599
- if (!L) return;
1600
- const S = L.querySelector(
1611
+ const F = se.current;
1612
+ if (!F) return;
1613
+ const S = F.querySelector(
1601
1614
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(b)}"]`
1602
1615
  );
1603
1616
  S && (S.scrollIntoView({ behavior: "smooth", block: "nearest" }), J(b));
@@ -1608,8 +1621,8 @@ const Ot = nt(function({
1608
1621
  }),
1609
1622
  [n]
1610
1623
  );
1611
- at($e, () => re, [re]), dt(bt, re, H);
1612
- const Ee = G ? q ?? ae("practiceResults.card.open") : void 0, je = U ?? ae("practiceResults.card.book"), qe = O(
1624
+ st(Ke, () => re, [re]), pt(xt, re, O);
1625
+ const qe = V ? G ?? ae("practiceResults.card.open") : void 0, Ue = Z ?? ae("practiceResults.card.book"), Ge = H(
1613
1626
  (b) => {
1614
1627
  if (b.nextAvailableSlot)
1615
1628
  try {
@@ -1623,96 +1636,96 @@ const Ot = nt(function({
1623
1636
  }
1624
1637
  },
1625
1638
  [be.language]
1626
- ), ye = I(null);
1639
+ ), ye = A(null);
1627
1640
  W(() => {
1628
1641
  ye.current !== n && (ye.current = n, B("serp_variant_exposed", {
1629
1642
  variant: n,
1630
- totalCount: r ?? s.length
1631
- }), X.current = /* @__PURE__ */ new Set(), se.current = /* @__PURE__ */ new Set());
1643
+ totalCount: r ?? a.length
1644
+ }), X.current = /* @__PURE__ */ new Set(), ie.current = /* @__PURE__ */ new Set());
1632
1645
  }, [n]);
1633
- const oe = I(!1), ce = M(
1634
- () => Ct(a ?? [], s, y.facets),
1635
- [a, s, y.facets]
1636
- ), le = y.sort ?? (i ? "distance" : "relevance"), F = M(() => {
1637
- const b = wt(s, y.facets, ce);
1638
- return Rt(b, le, i);
1639
- }, [s, y.facets, ce, le, i]);
1646
+ const oe = A(!1), le = M(
1647
+ () => Rt(i ?? [], a, y.facets),
1648
+ [i, a, y.facets]
1649
+ ), ce = y.sort ?? (s ? "distance" : "relevance"), z = M(() => {
1650
+ const b = Nt(a, y.facets, le);
1651
+ return St(b, ce, s);
1652
+ }, [a, y.facets, le, ce, s]);
1640
1653
  W(() => {
1641
- const b = F.length === 0;
1654
+ const b = z.length === 0;
1642
1655
  b && !oe.current ? (B("serp_empty_results", {
1643
1656
  appliedFacets: y.facets ?? {}
1644
1657
  }), oe.current = !0) : b || (oe.current = !1);
1645
- }, [F.length, y.facets]);
1646
- const K = I(null), xe = I(null);
1658
+ }, [z.length, y.facets]);
1659
+ const E = A(null), xe = A(null);
1647
1660
  W(
1648
1661
  () => () => {
1649
- K.current && clearTimeout(K.current);
1662
+ E.current && clearTimeout(E.current);
1650
1663
  },
1651
1664
  []
1652
1665
  );
1653
- const Ue = O((b) => {
1654
- J(b), !X.current.has(b) && (xe.current === b && K.current || (K.current && clearTimeout(K.current), xe.current = b, K.current = setTimeout(() => {
1655
- X.current.has(b) || (X.current.add(b), B("serp_result_hovered_card", { resultId: b })), K.current = null;
1666
+ const Ze = H((b) => {
1667
+ J(b), !X.current.has(b) && (xe.current === b && E.current || (E.current && clearTimeout(E.current), xe.current = b, E.current = setTimeout(() => {
1668
+ X.current.has(b) || (X.current.add(b), B("serp_result_hovered_card", { resultId: b })), E.current = null;
1656
1669
  }, 500)));
1657
- }, []), Ge = O((b) => {
1670
+ }, []), Qe = H((b) => {
1658
1671
  J(b);
1659
- const L = ie.current;
1660
- if (!L) return;
1661
- const S = L.querySelector(
1672
+ const F = se.current;
1673
+ if (!F) return;
1674
+ const S = F.querySelector(
1662
1675
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(b)}"]`
1663
1676
  );
1664
1677
  S == null || S.scrollIntoView({ behavior: "smooth", block: "nearest" });
1665
- }, []), Ze = O((b) => {
1666
- se.current.has(b) || (se.current.add(b), B("serp_result_hovered_pin", { resultId: b }));
1667
- }, []), ke = I(null), Qe = O(
1678
+ }, []), Je = H((b) => {
1679
+ ie.current.has(b) || (ie.current.add(b), B("serp_result_hovered_pin", { resultId: b }));
1680
+ }, []), ke = A(null), We = H(
1668
1681
  (b) => {
1669
1682
  J(b);
1670
- const L = F.find((S) => S.id === b);
1671
- if (L) {
1672
- if (L.location) {
1683
+ const F = z.find((S) => S.id === b);
1684
+ if (F) {
1685
+ if (F.location) {
1673
1686
  const S = ke.current;
1674
1687
  S == null || S.panTo({
1675
- lat: L.location.lat,
1676
- lng: L.location.lng
1688
+ lat: F.location.lat,
1689
+ lng: F.location.lng
1677
1690
  }), S == null || S.setZoom(16);
1678
1691
  }
1679
- Q(F, b, "card", v);
1692
+ Q(z, b, "card", v);
1680
1693
  }
1681
1694
  },
1682
- [F, v]
1683
- ), Je = O(
1695
+ [z, v]
1696
+ ), Xe = H(
1684
1697
  (b) => {
1685
1698
  Q(
1686
- F,
1699
+ z,
1687
1700
  b,
1688
1701
  "open-button",
1689
1702
  v
1690
1703
  );
1691
1704
  },
1692
- [F, v]
1693
- ), We = O(
1705
+ [z, v]
1706
+ ), Ye = H(
1694
1707
  (b) => {
1695
1708
  Q(
1696
- F,
1709
+ z,
1697
1710
  b,
1698
1711
  "book-button",
1699
1712
  v
1700
1713
  );
1701
1714
  },
1702
- [F, v]
1703
- ), Xe = !!p && s.length === 0, de = {
1704
- results: F,
1715
+ [z, v]
1716
+ ), et = !!p && a.length === 0, de = {
1717
+ results: z,
1705
1718
  totalCount: r,
1706
- searchCentre: i,
1707
- facets: ce,
1708
- value: { ...y, sort: le },
1719
+ searchCentre: s,
1720
+ facets: le,
1721
+ value: { ...y, sort: ce },
1709
1722
  onChange: C,
1710
1723
  onResultSelect: v,
1711
1724
  onLoadMore: x,
1712
1725
  loadingMore: g,
1713
- apiKey: l,
1726
+ apiKey: c,
1714
1727
  mapId: d,
1715
- zoom: c,
1728
+ zoom: l,
1716
1729
  // 0.31.4: when `skipConsentGate` is true the kit synthesises
1717
1730
  // `consentGranted=true` for every internal MapView; the consumer's
1718
1731
  // CMP at the page level is responsible for whether the Google Maps
@@ -1721,55 +1734,56 @@ const Ot = nt(function({
1721
1734
  consentGranted: h ? !0 : o,
1722
1735
  onConsentRequest: h ? void 0 : f,
1723
1736
  onBoundsChange: u,
1724
- loadingSkeletons: Xe,
1737
+ loadingSkeletons: et,
1725
1738
  emptyResultsSlot: P,
1726
1739
  errorSlot: N,
1727
1740
  error: R,
1728
- onRetry: T,
1729
- heading: z,
1730
- intro: A,
1731
- highlightedId: Ve,
1732
- onCardHover: Ue,
1733
- onPinClick: Ge,
1734
- onPinFirstInteract: Ze,
1735
- onCardSelect: Qe,
1736
- onCardOpenClick: Je,
1737
- onCardBookClick: We,
1738
- openLabel: Ee,
1739
- bookLabel: je,
1740
- formatNextSlot: qe,
1741
- listContainerRef: Ke,
1741
+ onRetry: _,
1742
+ heading: T,
1743
+ headingLevel: L,
1744
+ intro: U,
1745
+ highlightedId: Ee,
1746
+ onCardHover: Ze,
1747
+ onPinClick: Qe,
1748
+ onPinFirstInteract: Je,
1749
+ onCardSelect: We,
1750
+ onCardOpenClick: Xe,
1751
+ onCardBookClick: Ye,
1752
+ openLabel: qe,
1753
+ bookLabel: Ue,
1754
+ formatNextSlot: Ge,
1755
+ listContainerRef: je,
1742
1756
  mapHandleRef: ke
1743
- }, Ye = (() => {
1757
+ }, tt = (() => {
1744
1758
  switch (n) {
1745
1759
  case "map-first":
1746
- return /* @__PURE__ */ t(Bt, { ...de });
1760
+ return /* @__PURE__ */ t($t, { ...de });
1747
1761
  case "rich-cards":
1748
- return /* @__PURE__ */ t(Ht, { ...de });
1762
+ return /* @__PURE__ */ t(Dt, { ...de });
1749
1763
  case "split-list-map":
1750
1764
  default:
1751
- return /* @__PURE__ */ t(zt, { ...de });
1765
+ return /* @__PURE__ */ t(Ft, { ...de });
1752
1766
  }
1753
- })(), et = V ?? ae("practiceResults.regionLabel");
1767
+ })(), nt = K ?? ae("practiceResults.regionLabel");
1754
1768
  return /* @__PURE__ */ t(
1755
1769
  "div",
1756
1770
  {
1757
- ref: ie,
1771
+ ref: se,
1758
1772
  role: "region",
1759
- "aria-label": et,
1760
- id: H,
1773
+ "aria-label": nt,
1774
+ id: O,
1761
1775
  "data-component": "practice-results",
1762
- "data-component-id": H,
1776
+ "data-component-id": O,
1763
1777
  "data-variant": n,
1764
- className: Nt({ variant: n, className: Z }),
1765
- ...k,
1766
- children: Ye
1778
+ className: Pt({ variant: n, className: k }),
1779
+ ...Ve,
1780
+ children: tt
1767
1781
  }
1768
1782
  );
1769
1783
  });
1770
1784
  Ot.displayName = "PracticeResults";
1771
1785
  export {
1772
1786
  Ot as P,
1773
- bt as p
1787
+ xt as p
1774
1788
  };
1775
- //# sourceMappingURL=practice-results-B4Z5q46r.js.map
1789
+ //# sourceMappingURL=practice-results-C5SJTgcd.js.map