@alfadocs/ui-kit 0.33.7 → 0.33.8

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,33 +1,33 @@
1
- import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
- import { forwardRef as Ge, useState as me, useRef as I, useMemo as D, useImperativeHandle as Ze, useCallback as j, useEffect as J } from "react";
1
+ import { jsx as t, jsxs as p, Fragment as Ge } from "react/jsx-runtime";
2
+ import { forwardRef as Ze, useState as me, useRef as I, useMemo as D, useImperativeHandle as Qe, useCallback as B, useEffect as J } from "react";
3
3
  import { c as Z } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as C } from "react-i18next";
5
- import { A as ee } from "./alert-ywPR59NE.js";
6
- import { A as we } from "./avatar-BNQNhoyL.js";
5
+ import { A as Y } from "./alert-ywPR59NE.js";
6
+ import { A as ke } from "./avatar-BNQNhoyL.js";
7
7
  import { B as G } from "./button-DD_0Xdmr.js";
8
8
  import { D as H } from "./dropdown-menu-BC5ZdOMo.js";
9
- import { E as Qe } from "./empty-state-BLy7tigq.js";
10
- import { M as Je } from "./map-view-vD5pvWs9.js";
11
- import { R as ke } from "./rating-BRD7O74e.js";
9
+ import { E as Je } from "./empty-state-BLy7tigq.js";
10
+ import { M as We } from "./map-view-vD5pvWs9.js";
11
+ import { R as Ce } from "./rating-BRD7O74e.js";
12
12
  import { S as z } from "./sheet-BV-yuLE2.js";
13
- import { S as We } from "./skeleton-CZbwyJAA.js";
14
- import { S as Xe } from "./spinner-CCByyvcb.js";
13
+ import { S as Xe } from "./skeleton-CZbwyJAA.js";
14
+ import { S as Ye } from "./spinner-CCByyvcb.js";
15
15
  import { B as L } from "./badge-zsf5i5bH.js";
16
- import { u as Ye } from "./use-media-query-CcAx5SMM.js";
17
- import { u as et } from "./registry-nPAVE19X.js";
18
- import { c as tt } from "./createLucideIcon-CrFbzy84.js";
19
- import { R as nt } from "./refresh-cw-CC8jSKMr.js";
20
- import { C as Ce } from "./chevron-down-BX_NP2Yh.js";
21
- import { M as ne } from "./map-pin-B8STOPMJ.js";
22
- import { L as Ne, S as Se, H as Pe } from "./shield-check-BhHyReu8.js";
23
- import { C as Me } from "./calendar-clock-CYkcqdwl.js";
16
+ import { u as et } from "./use-media-query-CcAx5SMM.js";
17
+ import { u as tt } from "./registry-nPAVE19X.js";
18
+ import { c as nt } from "./createLucideIcon-CrFbzy84.js";
19
+ import { R as at } from "./refresh-cw-CC8jSKMr.js";
20
+ import { C as Ne } from "./chevron-down-BX_NP2Yh.js";
21
+ import { M as te } from "./map-pin-B8STOPMJ.js";
22
+ import { L as Se, S as Pe, H as Me } from "./shield-check-BhHyReu8.js";
23
+ import { C as Ae } from "./calendar-clock-CYkcqdwl.js";
24
24
  /**
25
25
  * @license lucide-react v1.8.0 - ISC
26
26
  *
27
27
  * This source code is licensed under the ISC license.
28
28
  * See the LICENSE file in the root directory of this source tree.
29
29
  */
30
- const at = [
30
+ const st = [
31
31
  [
32
32
  "path",
33
33
  {
@@ -37,7 +37,7 @@ const at = [
37
37
  ],
38
38
  ["path", { d: "M15 5.764v15", key: "1pn4in" }],
39
39
  ["path", { d: "M9 3.236v15", key: "1uimfh" }]
40
- ], st = tt("map", at), it = {
40
+ ], it = nt("map", st), rt = {
41
41
  id: "practice-results",
42
42
  capabilities: ["navigate", "view_change"],
43
43
  state: {
@@ -80,13 +80,13 @@ const at = [
80
80
  description: "Sourced from the id prop."
81
81
  }
82
82
  }
83
- }, rt = 13, lt = [
83
+ }, lt = 13, ot = [
84
84
  "distance",
85
85
  "rating",
86
86
  "next-available",
87
87
  "relevance"
88
88
  ];
89
- function Ae(e, n, s) {
89
+ function Ie(e, n, s) {
90
90
  const r = `languages.${e}`;
91
91
  return s.exists(r) ? n(r) : e.toUpperCase();
92
92
  }
@@ -104,11 +104,11 @@ function W(e, n, s, r) {
104
104
  const a = e[i];
105
105
  a && ($("serp_result_clicked", { resultId: n, source: s, position: i }), r(a, s));
106
106
  }
107
- function ot(e, n) {
107
+ function ct(e, n) {
108
108
  const r = (n.lat - e.lat) * Math.PI / 180, i = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, c = n.lat * Math.PI / 180, d = Math.sin(r / 2), l = Math.sin(i / 2), g = d * d + Math.cos(a) * Math.cos(c) * l * l;
109
109
  return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(g)));
110
110
  }
111
- function ct(e, n, s) {
111
+ function dt(e, n, s) {
112
112
  return !n || Object.keys(n).length === 0 ? e : e.filter((r) => {
113
113
  for (const i of s) {
114
114
  const a = n[i.key];
@@ -123,9 +123,9 @@ function ct(e, n, s) {
123
123
  return !0;
124
124
  });
125
125
  }
126
- function dt(e, n, s) {
126
+ function ut(e, n, s) {
127
127
  const r = e.map((a) => {
128
- const c = a.location ? a.location.distanceKm ?? (s ? ot(s, a.location) : void 0) : void 0;
128
+ const c = a.location ? a.location.distanceKm ?? (s ? ct(s, a.location) : void 0) : void 0;
129
129
  return { result: a, distanceKm: c };
130
130
  }), i = (a, c) => {
131
131
  var d, l, g, o;
@@ -152,7 +152,7 @@ function dt(e, n, s) {
152
152
  } : a
153
153
  );
154
154
  }
155
- function ye(e) {
155
+ function Re(e) {
156
156
  let n = -1 / 0, s = 1 / 0, r = -1 / 0, i = 1 / 0, a = !1;
157
157
  for (const c of e) {
158
158
  if (!c.location) continue;
@@ -163,7 +163,7 @@ function ye(e) {
163
163
  if (a)
164
164
  return { north: n, south: s, east: r, west: i };
165
165
  }
166
- const ut = Z(
166
+ const mt = Z(
167
167
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
168
168
  {
169
169
  variants: {
@@ -176,7 +176,7 @@ const ut = Z(
176
176
  defaultVariants: { variant: "split-list-map" }
177
177
  }
178
178
  );
179
- function Ie({
179
+ function ze({
180
180
  heading: e,
181
181
  intro: n,
182
182
  totalCount: s,
@@ -188,7 +188,7 @@ function Ie({
188
188
  count: s,
189
189
  place: r
190
190
  }) : i("practiceResults.results.summary", { count: s }) : void 0;
191
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
191
+ return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
192
192
  e ? /* @__PURE__ */ t("h2", { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
193
193
  n ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: n }) : null,
194
194
  a ? /* @__PURE__ */ t(
@@ -201,7 +201,7 @@ function Ie({
201
201
  ) : null
202
202
  ] });
203
203
  }
204
- const te = Z(
204
+ const ee = Z(
205
205
  [
206
206
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
207
207
  "ds:min-h-[var(--min-target-size)]",
@@ -223,7 +223,7 @@ const te = Z(
223
223
  },
224
224
  defaultVariants: { state: "idle" }
225
225
  }
226
- ), mt = Z(
226
+ ), pt = Z(
227
227
  "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
228
228
  {
229
229
  variants: {
@@ -242,7 +242,7 @@ const te = Z(
242
242
  },
243
243
  defaultVariants: { placement: "inline" }
244
244
  }
245
- ), pt = Z(
245
+ ), ft = Z(
246
246
  [
247
247
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
248
248
  "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -253,7 +253,7 @@ const te = Z(
253
253
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
254
254
  ].join(" ")
255
255
  );
256
- function ze({
256
+ function _e({
257
257
  facets: e,
258
258
  value: n,
259
259
  onChange: s,
@@ -272,15 +272,15 @@ function ze({
272
272
  }, g = (o, u) => {
273
273
  const h = a[o.key] ?? [], b = h.includes(u);
274
274
  let v;
275
- o.multi ? v = b ? h.filter((p) => p !== u) : [...h, u] : v = b ? [] : [u], d(o.key, v);
275
+ o.multi ? v = b ? h.filter((m) => m !== u) : [...h, u] : v = b ? [] : [u], d(o.key, v);
276
276
  };
277
- return e.length === 0 ? null : /* @__PURE__ */ m(
277
+ return e.length === 0 ? null : /* @__PURE__ */ p(
278
278
  "div",
279
279
  {
280
280
  "data-component": "practice-results-filters",
281
281
  role: "group",
282
282
  "aria-label": i("practiceResults.filters.label"),
283
- className: mt({
283
+ className: pt({
284
284
  placement: r ? "floating" : "inline"
285
285
  }),
286
286
  children: [
@@ -294,7 +294,7 @@ function ze({
294
294
  "aria-pressed": b,
295
295
  "aria-label": o.label,
296
296
  onClick: () => l(o.key),
297
- className: te({
297
+ className: ee({
298
298
  state: b ? "active" : "idle"
299
299
  }),
300
300
  children: /* @__PURE__ */ t("span", { children: o.label })
@@ -302,22 +302,22 @@ function ze({
302
302
  o.key
303
303
  );
304
304
  const v = b ? ` (${h.length})` : "";
305
- return /* @__PURE__ */ m(H.Root, { children: [
306
- /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
305
+ return /* @__PURE__ */ p(H.Root, { children: [
306
+ /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
307
307
  "button",
308
308
  {
309
309
  type: "button",
310
310
  "aria-label": `${o.label}${v}`,
311
- className: te({
311
+ className: ee({
312
312
  state: b ? "active" : "idle"
313
313
  }),
314
314
  children: [
315
- /* @__PURE__ */ m("span", { children: [
315
+ /* @__PURE__ */ p("span", { children: [
316
316
  o.label,
317
317
  v
318
318
  ] }),
319
319
  /* @__PURE__ */ t(
320
- Ce,
320
+ Ne,
321
321
  {
322
322
  "aria-hidden": "true",
323
323
  className: "ds:size-3.5 ds:shrink-0"
@@ -326,16 +326,16 @@ function ze({
326
326
  ]
327
327
  }
328
328
  ) }),
329
- /* @__PURE__ */ t(H.Content, { sideOffset: 8, align: "start", children: o.options.map((p) => /* @__PURE__ */ t(
329
+ /* @__PURE__ */ t(H.Content, { sideOffset: 8, align: "start", children: o.options.map((m) => /* @__PURE__ */ t(
330
330
  H.CheckboxItem,
331
331
  {
332
- checked: h.includes(p.value),
332
+ checked: h.includes(m.value),
333
333
  onSelect: (f) => {
334
- o.multi && f.preventDefault(), g(o, p.value);
334
+ o.multi && f.preventDefault(), g(o, m.value);
335
335
  },
336
- children: p.label
336
+ children: m.label
337
337
  },
338
- p.value
338
+ m.value
339
339
  )) })
340
340
  ] }, o.key);
341
341
  }),
@@ -346,7 +346,7 @@ function ze({
346
346
  onClick: () => {
347
347
  s({}), $("serp_filter_changed", { key: "*", values: [] });
348
348
  },
349
- className: pt(),
349
+ className: ft(),
350
350
  children: i("practiceResults.filters.clear")
351
351
  }
352
352
  ) : null
@@ -368,20 +368,20 @@ function de({ value: e, onChange: n }) {
368
368
  return s("practiceResults.sort.relevance");
369
369
  }
370
370
  };
371
- return /* @__PURE__ */ m(H.Root, { children: [
372
- /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
371
+ return /* @__PURE__ */ p(H.Root, { children: [
372
+ /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
373
373
  "button",
374
374
  {
375
375
  type: "button",
376
376
  "aria-label": `${s("practiceResults.sort.label")}: ${r(e)}`,
377
- className: te({ state: "idle" }),
377
+ className: ee({ state: "idle" }),
378
378
  children: [
379
- /* @__PURE__ */ m("span", { children: [
379
+ /* @__PURE__ */ p("span", { children: [
380
380
  s("practiceResults.sort.label"),
381
381
  ": ",
382
382
  r(e)
383
383
  ] }),
384
- /* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
384
+ /* @__PURE__ */ t(Ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
385
385
  ]
386
386
  }
387
387
  ) }),
@@ -393,12 +393,12 @@ function de({ value: e, onChange: n }) {
393
393
  const a = i;
394
394
  a !== e && (n(a), $("serp_sort_changed", { sort: a }));
395
395
  },
396
- children: lt.map((i) => /* @__PURE__ */ t(H.RadioItem, { value: i, children: r(i) }, i))
396
+ children: ot.map((i) => /* @__PURE__ */ t(H.RadioItem, { value: i, children: r(i) }, i))
397
397
  }
398
398
  ) })
399
399
  ] });
400
400
  }
401
- function _e({ distanceKm: e }) {
401
+ function Te({ distanceKm: e }) {
402
402
  const { t: n, i18n: s } = C(), r = D(() => {
403
403
  if (e < 1) return n("practiceResults.distance.below");
404
404
  const i = new Intl.NumberFormat(s.language, {
@@ -406,9 +406,9 @@ function _e({ distanceKm: e }) {
406
406
  }).format(e);
407
407
  return n("practiceResults.distance.km", { distance: i });
408
408
  }, [e, n, s.language]);
409
- return /* @__PURE__ */ t(L, { variant: "neutral", leading: /* @__PURE__ */ t(ne, { "aria-hidden": "true" }), children: r });
409
+ return /* @__PURE__ */ t(L, { variant: "neutral", leading: /* @__PURE__ */ t(te, { "aria-hidden": "true" }), children: r });
410
410
  }
411
- const Re = Z(
411
+ const we = Z(
412
412
  [
413
413
  "ds:inline-size-[12rem] ds:block-size-[8rem] ds:shrink-0",
414
414
  "ds:rounded-[var(--radius-md)] ds:overflow-hidden"
@@ -427,12 +427,12 @@ const Re = Z(
427
427
  defaultVariants: { state: "placeholder" }
428
428
  }
429
429
  );
430
- function ft() {
430
+ function ht() {
431
431
  if (typeof document > "u") return "4945a3";
432
432
  const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
433
433
  return n ? n[1] : "4945a3";
434
434
  }
435
- function ht({
435
+ function gt({
436
436
  apiKey: e,
437
437
  center: n,
438
438
  zoom: s = 14,
@@ -440,18 +440,18 @@ function ht({
440
440
  }) {
441
441
  const { t: i } = C();
442
442
  if (!e)
443
- return /* @__PURE__ */ m(
443
+ return /* @__PURE__ */ p(
444
444
  "div",
445
445
  {
446
446
  "aria-hidden": r ? void 0 : "true",
447
- className: Re({ state: "placeholder" }),
447
+ className: we({ state: "placeholder" }),
448
448
  children: [
449
- /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
449
+ /* @__PURE__ */ t(te, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
450
450
  r ? /* @__PURE__ */ t("span", { className: "type-meta ds:[overflow-wrap:anywhere]", children: r }) : null
451
451
  ]
452
452
  }
453
453
  );
454
- const a = ft(), c = `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)}`;
454
+ const a = ht(), c = `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)}`;
455
455
  return /* @__PURE__ */ t(
456
456
  "img",
457
457
  {
@@ -461,11 +461,11 @@ function ht({
461
461
  decoding: "async",
462
462
  width: 240,
463
463
  height: 160,
464
- className: Re({ state: "image" })
464
+ className: we({ state: "image" })
465
465
  }
466
466
  );
467
467
  }
468
- const Te = Z(
468
+ const Fe = Z(
469
469
  [
470
470
  "ds:relative ds:flex ds:w-full ds:cursor-pointer",
471
471
  "ds:rounded-[var(--radius-lg)]",
@@ -494,7 +494,7 @@ const Te = Z(
494
494
  defaultVariants: { density: "compact" }
495
495
  }
496
496
  );
497
- function gt({
497
+ function vt({
498
498
  result: e,
499
499
  highlighted: n,
500
500
  onSelect: s,
@@ -507,11 +507,11 @@ function gt({
507
507
  maxLanguageChips: g = 4,
508
508
  children: o
509
509
  }) {
510
- var T, P, q, U, O, B;
511
- const { t: u, i18n: h } = C(), b = e.rating, v = (T = e.location) == null ? void 0 : T.distanceKm, p = (((P = e.languages) == null ? void 0 : P.length) ?? 0) > 0, f = (((q = e.insurances) == null ? void 0 : q.length) ?? 0) > 0, y = e.specializedInFearPatients, S = p || f || y, R = (e.languages ?? []).slice(0, g), M = (((U = e.languages) == null ? void 0 : U.length) ?? 0) - R.length, A = (e.insurances ?? []).slice(0, l), _ = (((O = e.insurances) == null ? void 0 : O.length) ?? 0) - A.length;
510
+ var T, P, q, U, O, j;
511
+ const { t: u, i18n: h } = C(), b = e.rating, v = (T = e.location) == null ? void 0 : T.distanceKm, m = (((P = e.languages) == null ? void 0 : P.length) ?? 0) > 0, f = (((q = e.insurances) == null ? void 0 : q.length) ?? 0) > 0, y = e.specializedInFearPatients, S = m || f || y, R = (e.languages ?? []).slice(0, g), M = (((U = e.languages) == null ? void 0 : U.length) ?? 0) - R.length, A = (e.insurances ?? []).slice(0, l), _ = (((O = e.insurances) == null ? void 0 : O.length) ?? 0) - A.length;
512
512
  return (
513
513
  // 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.
514
- /* @__PURE__ */ m(
514
+ /* @__PURE__ */ p(
515
515
  "div",
516
516
  {
517
517
  "data-component": "practice-result-card",
@@ -522,12 +522,12 @@ function gt({
522
522
  onClick: s,
523
523
  onMouseEnter: i,
524
524
  onFocus: i,
525
- className: Te({ density: a }),
525
+ className: Fe({ density: a }),
526
526
  children: [
527
- /* @__PURE__ */ t(we, { src: e.imageUrl, name: e.name, size: "lg" }),
528
- /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
529
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
530
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
527
+ /* @__PURE__ */ t(ke, { src: e.imageUrl, name: e.name, size: "lg" }),
528
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
529
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
530
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
531
531
  /* @__PURE__ */ t(
532
532
  "span",
533
533
  {
@@ -536,29 +536,29 @@ function gt({
536
536
  children: e.name
537
537
  }
538
538
  ),
539
- v != null ? /* @__PURE__ */ t(_e, { distanceKm: v }) : null
539
+ v != null ? /* @__PURE__ */ t(Te, { distanceKm: v }) : null
540
540
  ] }),
541
541
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
542
- (B = e.location) != null && B.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
543
- /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
542
+ (j = e.location) != null && j.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
543
+ /* @__PURE__ */ t(te, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
544
544
  e.location.address
545
545
  ] }) : null
546
546
  ] }),
547
547
  b && b.count > 0 ? /* @__PURE__ */ t(
548
- ke,
548
+ Ce,
549
549
  {
550
550
  value: b.value,
551
551
  reviews: { count: b.count },
552
552
  size: "sm"
553
553
  }
554
554
  ) : null,
555
- S ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
555
+ S ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
556
556
  R.map((N) => /* @__PURE__ */ t(
557
557
  L,
558
558
  {
559
559
  variant: "neutral",
560
- leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
561
- children: Ae(N, u, h)
560
+ leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
561
+ children: Ie(N, u, h)
562
562
  },
563
563
  `lang-${N}`
564
564
  )),
@@ -567,18 +567,18 @@ function gt({
567
567
  L,
568
568
  {
569
569
  variant: "info",
570
- leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
570
+ leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
571
571
  children: N
572
572
  },
573
573
  `ins-${N}`
574
574
  )),
575
575
  _ > 0 ? /* @__PURE__ */ t(L, { variant: "neutral", children: `+${_}` }) : null,
576
- y ? /* @__PURE__ */ t(L, { variant: "info", leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
576
+ y ? /* @__PURE__ */ t(L, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
577
577
  ] }) : null,
578
- e.nextAvailableSlot && d ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
579
- /* @__PURE__ */ m("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
578
+ e.nextAvailableSlot && d ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
579
+ /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
580
580
  /* @__PURE__ */ t(
581
- Me,
581
+ Ae,
582
582
  {
583
583
  "aria-hidden": "true",
584
584
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -625,7 +625,7 @@ function gt({
625
625
  )
626
626
  );
627
627
  }
628
- function vt({
628
+ function xt({
629
629
  result: e,
630
630
  apiKey: n,
631
631
  highlighted: s,
@@ -634,7 +634,7 @@ function vt({
634
634
  onHover: a,
635
635
  openLabel: c
636
636
  }) {
637
- var p, f, y, S;
637
+ var m, f, y, S;
638
638
  const { t: d, i18n: l } = C(), g = D(() => {
639
639
  if (e.nextAvailableSlot)
640
640
  try {
@@ -646,10 +646,10 @@ function vt({
646
646
  } catch {
647
647
  return e.nextAvailableSlot.dateTime;
648
648
  }
649
- }, [e.nextAvailableSlot, l.language]), o = (((p = e.languages) == null ? void 0 : p.length) ?? 0) > 0, u = (((f = e.insurances) == null ? void 0 : f.length) ?? 0) > 0, h = e.specializedInFearPatients, b = o || u || h, v = (y = e.location) == null ? void 0 : y.distanceKm;
649
+ }, [e.nextAvailableSlot, l.language]), o = (((m = e.languages) == null ? void 0 : m.length) ?? 0) > 0, u = (((f = e.insurances) == null ? void 0 : f.length) ?? 0) > 0, h = e.specializedInFearPatients, b = o || u || h, v = (y = e.location) == null ? void 0 : y.distanceKm;
650
650
  return (
651
651
  // 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.
652
- /* @__PURE__ */ m(
652
+ /* @__PURE__ */ p(
653
653
  "div",
654
654
  {
655
655
  "data-component": "practice-result-card",
@@ -661,10 +661,10 @@ function vt({
661
661
  onClick: r,
662
662
  onMouseEnter: a,
663
663
  onFocus: a,
664
- className: Te({ density: "rich" }),
664
+ className: Fe({ density: "rich" }),
665
665
  children: [
666
666
  e.location ? /* @__PURE__ */ t(
667
- ht,
667
+ gt,
668
668
  {
669
669
  apiKey: n,
670
670
  center: {
@@ -674,11 +674,11 @@ function vt({
674
674
  address: e.location.address
675
675
  }
676
676
  ) : null,
677
- /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
678
- /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
679
- /* @__PURE__ */ t(we, { src: e.imageUrl, name: e.name, size: "md" }),
680
- /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
681
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
677
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
678
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
679
+ /* @__PURE__ */ t(ke, { src: e.imageUrl, name: e.name, size: "md" }),
680
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
681
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
682
682
  /* @__PURE__ */ t(
683
683
  "span",
684
684
  {
@@ -687,12 +687,12 @@ function vt({
687
687
  children: e.name
688
688
  }
689
689
  ),
690
- v != null ? /* @__PURE__ */ t(_e, { distanceKm: v }) : null
690
+ v != null ? /* @__PURE__ */ t(Te, { distanceKm: v }) : null
691
691
  ] }),
692
692
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
693
- (S = e.location) != null && S.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
693
+ (S = e.location) != null && S.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
694
694
  /* @__PURE__ */ t(
695
- ne,
695
+ te,
696
696
  {
697
697
  "aria-hidden": "true",
698
698
  className: "ds:size-3.5 ds:shrink-0"
@@ -702,7 +702,7 @@ function vt({
702
702
  ] }) : null
703
703
  ] }),
704
704
  e.rating && e.rating.count > 0 ? /* @__PURE__ */ t(
705
- ke,
705
+ Ce,
706
706
  {
707
707
  value: e.rating.value,
708
708
  reviews: { count: e.rating.count },
@@ -710,13 +710,13 @@ function vt({
710
710
  }
711
711
  ) : null
712
712
  ] }),
713
- b ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
713
+ b ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
714
714
  o ? (e.languages ?? []).map((R) => /* @__PURE__ */ t(
715
715
  L,
716
716
  {
717
717
  variant: "neutral",
718
- leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
719
- children: Ae(R, d, l)
718
+ leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
719
+ children: Ie(R, d, l)
720
720
  },
721
721
  `lang-${R}`
722
722
  )) : null,
@@ -724,17 +724,17 @@ function vt({
724
724
  L,
725
725
  {
726
726
  variant: "info",
727
- leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
727
+ leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
728
728
  children: R
729
729
  },
730
730
  `ins-${R}`
731
731
  )) : null,
732
- h ? /* @__PURE__ */ t(L, { variant: "info", leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }), children: d("practiceResults.fearPatient.label") }) : null
732
+ h ? /* @__PURE__ */ t(L, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: d("practiceResults.fearPatient.label") }) : null
733
733
  ] }) : null,
734
- e.nextAvailableSlot && g ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
735
- /* @__PURE__ */ m("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
734
+ e.nextAvailableSlot && g ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
735
+ /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
736
736
  /* @__PURE__ */ t(
737
- Me,
737
+ Ae,
738
738
  {
739
739
  "aria-hidden": "true",
740
740
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -798,8 +798,8 @@ function pe({
798
798
  const { t: b } = C(), v = I(null);
799
799
  return J(() => {
800
800
  if (!d) return;
801
- const p = v.current;
802
- if (!p || typeof IntersectionObserver > "u") return;
801
+ const m = v.current;
802
+ if (!m || typeof IntersectionObserver > "u") return;
803
803
  const f = new IntersectionObserver(
804
804
  (y) => {
805
805
  for (const S of y)
@@ -809,7 +809,7 @@ function pe({
809
809
  },
810
810
  { root: null, rootMargin: "200px" }
811
811
  );
812
- return f.observe(p), () => f.disconnect();
812
+ return f.observe(m), () => f.disconnect();
813
813
  }, [d, e.length]), g ? /* @__PURE__ */ t(
814
814
  "div",
815
815
  {
@@ -817,8 +817,8 @@ function pe({
817
817
  "aria-live": "polite",
818
818
  "aria-label": b("practiceResults.loading"),
819
819
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
820
- children: Array.from({ length: 4 }).map((p, f) => /* @__PURE__ */ t(
821
- We,
820
+ children: Array.from({ length: 4 }).map((m, f) => /* @__PURE__ */ t(
821
+ Xe,
822
822
  {
823
823
  variant: "rounded",
824
824
  height: o === "rich" ? "11rem" : "7rem"
@@ -826,7 +826,7 @@ function pe({
826
826
  `pr-skel-${f}`
827
827
  ))
828
828
  }
829
- ) : /* @__PURE__ */ m(
829
+ ) : /* @__PURE__ */ p(
830
830
  "div",
831
831
  {
832
832
  ref: h,
@@ -835,36 +835,36 @@ function pe({
835
835
  "aria-label": b("practiceResults.list.label"),
836
836
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
837
837
  children: [
838
- e.map((p) => /* @__PURE__ */ t("div", { role: "listitem", children: o === "rich" ? /* @__PURE__ */ t(
839
- vt,
838
+ e.map((m) => /* @__PURE__ */ t("div", { role: "listitem", children: o === "rich" ? /* @__PURE__ */ t(
839
+ xt,
840
840
  {
841
- result: p,
841
+ result: m,
842
842
  apiKey: u,
843
- highlighted: n === p.id,
844
- onSelect: () => r(p.id),
845
- onOpenClick: () => i(p.id),
846
- onHover: () => s(p.id),
843
+ highlighted: n === m.id,
844
+ onSelect: () => r(m.id),
845
+ onOpenClick: () => i(m.id),
846
+ onHover: () => s(m.id),
847
847
  openLabel: a
848
848
  }
849
849
  ) : /* @__PURE__ */ t(
850
- gt,
850
+ vt,
851
851
  {
852
- result: p,
853
- highlighted: n === p.id,
854
- onSelect: () => r(p.id),
855
- onOpenClick: () => i(p.id),
856
- onHover: () => s(p.id),
852
+ result: m,
853
+ highlighted: n === m.id,
854
+ onSelect: () => r(m.id),
855
+ onOpenClick: () => i(m.id),
856
+ onHover: () => s(m.id),
857
857
  openLabel: a,
858
- nextSlotText: c(p)
858
+ nextSlotText: c(m)
859
859
  }
860
- ) }, p.id)),
860
+ ) }, m.id)),
861
861
  d ? /* @__PURE__ */ t(
862
862
  "div",
863
863
  {
864
864
  ref: v,
865
865
  "aria-hidden": "true",
866
866
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
867
- children: l ? /* @__PURE__ */ t(Xe, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
867
+ children: l ? /* @__PURE__ */ t(Ye, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
868
868
  }
869
869
  ) : null
870
870
  ]
@@ -898,9 +898,9 @@ function ue({
898
898
  label: f.name
899
899
  })),
900
900
  [e]
901
- ), p = D(() => {
901
+ ), m = D(() => {
902
902
  if (n) return n;
903
- const f = ye(e);
903
+ const f = Re(e);
904
904
  return f ? {
905
905
  lat: (f.north + f.south) / 2,
906
906
  lng: (f.east + f.west) / 2
@@ -908,7 +908,7 @@ function ue({
908
908
  }, [e, n]);
909
909
  return J(() => {
910
910
  if (!g) return;
911
- const f = ye(e);
911
+ const f = Re(e);
912
912
  f && (g(f), $("serp_map_panned", { bounds: f }));
913
913
  }, [e, g]), /* @__PURE__ */ t(
914
914
  "div",
@@ -916,12 +916,12 @@ function ue({
916
916
  "data-component": "practice-results-map-panel",
917
917
  className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
918
918
  children: /* @__PURE__ */ t(
919
- Je,
919
+ We,
920
920
  {
921
921
  ref: h,
922
922
  apiKey: r ?? "",
923
923
  mapId: i,
924
- center: p,
924
+ center: m,
925
925
  zoom: s,
926
926
  markers: v,
927
927
  selectedMarkerId: a,
@@ -939,13 +939,13 @@ function ue({
939
939
  }
940
940
  );
941
941
  }
942
- function Fe({
942
+ function fe({
943
943
  variantBodyProps: e
944
944
  }) {
945
945
  const { facets: n, value: s, onChange: r, heading: i, intro: a, totalCount: c, searchCentre: d } = e;
946
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
946
+ return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
947
947
  /* @__PURE__ */ t(
948
- Ie,
948
+ ze,
949
949
  {
950
950
  heading: i,
951
951
  intro: a,
@@ -953,9 +953,9 @@ function Fe({
953
953
  searchCentreLabel: d == null ? void 0 : d.label
954
954
  }
955
955
  ),
956
- n.length > 0 ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
956
+ n.length > 0 ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
957
957
  /* @__PURE__ */ t(
958
- ze,
958
+ _e,
959
959
  {
960
960
  facets: n,
961
961
  value: s.facets,
@@ -978,10 +978,10 @@ function Fe({
978
978
  ) })
979
979
  ] });
980
980
  }
981
- function fe() {
981
+ function he() {
982
982
  const { t: e } = C();
983
983
  return /* @__PURE__ */ t(
984
- Qe,
984
+ Je,
985
985
  {
986
986
  variant: "no-results",
987
987
  title: e("practiceResults.empty.title"),
@@ -989,24 +989,24 @@ function fe() {
989
989
  }
990
990
  );
991
991
  }
992
- function he({ onRetry: e }) {
992
+ function ge({ onRetry: e }) {
993
993
  const { t: n } = C();
994
- return /* @__PURE__ */ m(ee, { variant: "error", children: [
995
- /* @__PURE__ */ t(ee.Title, { as: "h3", children: n("practiceResults.error.title") }),
996
- /* @__PURE__ */ t(ee.Description, { children: n("practiceResults.error.description") }),
997
- e ? /* @__PURE__ */ t(ee.Action, { children: /* @__PURE__ */ t(
994
+ return /* @__PURE__ */ p(Y, { variant: "error", children: [
995
+ /* @__PURE__ */ t(Y.Title, { as: "h3", children: n("practiceResults.error.title") }),
996
+ /* @__PURE__ */ t(Y.Description, { children: n("practiceResults.error.description") }),
997
+ e ? /* @__PURE__ */ t(Y.Action, { children: /* @__PURE__ */ t(
998
998
  G,
999
999
  {
1000
1000
  intent: "secondary",
1001
1001
  size: "sm",
1002
- startIcon: /* @__PURE__ */ t(nt, { "aria-hidden": "true" }),
1002
+ startIcon: /* @__PURE__ */ t(at, { "aria-hidden": "true" }),
1003
1003
  onClick: e,
1004
1004
  children: n("practiceResults.error.retry")
1005
1005
  }
1006
1006
  ) }) : null
1007
1007
  ] });
1008
1008
  }
1009
- function xt(e) {
1009
+ function bt(e) {
1010
1010
  const {
1011
1011
  results: n,
1012
1012
  apiKey: s,
@@ -1022,12 +1022,12 @@ function xt(e) {
1022
1022
  onRetry: h,
1023
1023
  highlightedId: b,
1024
1024
  onCardHover: v,
1025
- onPinClick: p,
1025
+ onPinClick: m,
1026
1026
  consentGranted: f,
1027
1027
  onConsentRequest: y,
1028
1028
  onBoundsChange: S,
1029
1029
  listContainerRef: R
1030
- } = e, { t: M } = C(), [A, _] = me(!1), T = u ? o ?? /* @__PURE__ */ t(he, { onRetry: h }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1030
+ } = e, { t: M } = C(), [A, _] = me(!1), T = u ? o ?? /* @__PURE__ */ t(ge, { onRetry: h }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(he, {}) : /* @__PURE__ */ t(
1031
1031
  pe,
1032
1032
  {
1033
1033
  results: n,
@@ -1044,10 +1044,10 @@ function xt(e) {
1044
1044
  containerRef: R
1045
1045
  }
1046
1046
  );
1047
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1048
- /* @__PURE__ */ t(Fe, { variantBodyProps: e }),
1049
- /* @__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: [
1050
- /* @__PURE__ */ t("div", { className: "ds:min-w-0 ds:lg:max-h-[40rem] ds:lg:overflow-y-auto", children: T }),
1047
+ return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1048
+ /* @__PURE__ */ t(fe, { variantBodyProps: e }),
1049
+ /* @__PURE__ */ p("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: [
1050
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: T }),
1051
1051
  /* @__PURE__ */ t("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ t(
1052
1052
  ue,
1053
1053
  {
@@ -1058,7 +1058,7 @@ function xt(e) {
1058
1058
  mapId: r,
1059
1059
  highlightedId: b,
1060
1060
  onPinClick: (P) => {
1061
- W(n, P, "pin", e.onResultSelect), p(P);
1061
+ W(n, P, "pin", e.onResultSelect), m(P);
1062
1062
  },
1063
1063
  onPinHover: v,
1064
1064
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1074,16 +1074,16 @@ function xt(e) {
1074
1074
  {
1075
1075
  intent: "primary",
1076
1076
  size: "md",
1077
- startIcon: /* @__PURE__ */ t(st, { "aria-hidden": "true" }),
1077
+ startIcon: /* @__PURE__ */ t(it, { "aria-hidden": "true" }),
1078
1078
  onClick: () => _(!0),
1079
1079
  children: M("practiceResults.viewMap")
1080
1080
  }
1081
1081
  ) }),
1082
- /* @__PURE__ */ t(z.Root, { open: A, onOpenChange: _, children: /* @__PURE__ */ m(z.Content, { side: "bottom", size: "lg", children: [
1082
+ /* @__PURE__ */ t(z.Root, { open: A, onOpenChange: _, children: /* @__PURE__ */ p(z.Content, { side: "bottom", size: "lg", children: [
1083
1083
  /* @__PURE__ */ t(z.Header, { children: /* @__PURE__ */ t(z.Title, { children: M("practiceResults.map.label") }) }),
1084
- /* @__PURE__ */ m(z.Body, { children: [
1084
+ /* @__PURE__ */ p(z.Body, { children: [
1085
1085
  /* @__PURE__ */ t(z.Description, { className: "ds:sr-only", children: M("practiceResults.sheet.description") }),
1086
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1086
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1087
1087
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1088
1088
  ue,
1089
1089
  {
@@ -1094,7 +1094,7 @@ function xt(e) {
1094
1094
  mapId: r,
1095
1095
  highlightedId: b,
1096
1096
  onPinClick: (P) => {
1097
- W(n, P, "pin", e.onResultSelect), p(P);
1097
+ W(n, P, "pin", e.onResultSelect), m(P);
1098
1098
  },
1099
1099
  onPinHover: v,
1100
1100
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1110,7 +1110,7 @@ function xt(e) {
1110
1110
  ] }) })
1111
1111
  ] });
1112
1112
  }
1113
- const bt = {
1113
+ const yt = {
1114
1114
  peek: "sm",
1115
1115
  half: "md",
1116
1116
  full: "lg"
@@ -1119,13 +1119,13 @@ const bt = {
1119
1119
  "half",
1120
1120
  "full"
1121
1121
  ];
1122
- function yt({ value: e, onChange: n }) {
1122
+ function Rt({ value: e, onChange: n }) {
1123
1123
  const { t: s, i18n: r } = C(), i = r.dir() === "rtl", a = I(
1124
1124
  /* @__PURE__ */ new Map()
1125
- ), c = j((l) => {
1125
+ ), c = B((l) => {
1126
1126
  var g;
1127
1127
  (g = a.current.get(l)) == null || g.focus();
1128
- }, []), d = j(
1128
+ }, []), d = B(
1129
1129
  (l, g) => {
1130
1130
  const o = V.indexOf(g), u = V.length, h = i ? "ArrowLeft" : "ArrowRight", b = i ? "ArrowRight" : "ArrowLeft";
1131
1131
  let v = null;
@@ -1172,7 +1172,7 @@ function yt({ value: e, onChange: n }) {
1172
1172
  tabIndex: g ? 0 : -1,
1173
1173
  onClick: () => n(l),
1174
1174
  onKeyDown: (o) => d(o, l),
1175
- className: te({
1175
+ className: ee({
1176
1176
  state: g ? "active" : "idle"
1177
1177
  }),
1178
1178
  children: s(`practiceResults.sheet.snap.${l}`)
@@ -1183,7 +1183,7 @@ function yt({ value: e, onChange: n }) {
1183
1183
  }
1184
1184
  );
1185
1185
  }
1186
- function Rt(e) {
1186
+ function wt(e) {
1187
1187
  const {
1188
1188
  results: n,
1189
1189
  apiKey: s,
@@ -1199,7 +1199,7 @@ function Rt(e) {
1199
1199
  onRetry: h,
1200
1200
  highlightedId: b,
1201
1201
  onCardHover: v,
1202
- onPinClick: p,
1202
+ onPinClick: m,
1203
1203
  consentGranted: f,
1204
1204
  onConsentRequest: y,
1205
1205
  onBoundsChange: S,
@@ -1207,7 +1207,7 @@ function Rt(e) {
1207
1207
  facets: M,
1208
1208
  value: A,
1209
1209
  onChange: _
1210
- } = e, { t: T } = C(), [P, q] = me("half"), U = bt[P], O = Ye("(min-width: 1024px)"), B = u ? o ?? /* @__PURE__ */ t(he, { onRetry: h }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1210
+ } = e, { t: T } = C(), [P, q] = me("half"), U = yt[P], O = et("(min-width: 1024px)"), j = u ? o ?? /* @__PURE__ */ t(ge, { onRetry: h }) : n.length === 0 && !l ? g ?? /* @__PURE__ */ t(he, {}) : /* @__PURE__ */ t(
1211
1211
  pe,
1212
1212
  {
1213
1213
  results: n,
@@ -1234,7 +1234,7 @@ function Rt(e) {
1234
1234
  mapId: r,
1235
1235
  highlightedId: b,
1236
1236
  onPinClick: (w) => {
1237
- W(n, w, "pin", e.onResultSelect), p(w);
1237
+ W(n, w, "pin", e.onResultSelect), m(w);
1238
1238
  },
1239
1239
  onPinHover: v,
1240
1240
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1243,8 +1243,8 @@ function Rt(e) {
1243
1243
  onConsentRequest: y,
1244
1244
  mapHandleRef: e.mapHandleRef
1245
1245
  }
1246
- ), X = M.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(
1247
- ze,
1246
+ ), ne = M.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(
1247
+ _e,
1248
1248
  {
1249
1249
  facets: M,
1250
1250
  value: A.facets,
@@ -1252,86 +1252,89 @@ function Rt(e) {
1252
1252
  floating: !0
1253
1253
  }
1254
1254
  ) }) : null;
1255
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1256
- /* @__PURE__ */ t(
1257
- Ie,
1258
- {
1259
- heading: e.heading,
1260
- intro: e.intro,
1261
- totalCount: e.totalCount,
1262
- searchCentreLabel: a == null ? void 0 : a.label
1263
- }
1264
- ),
1265
- O ? (
1266
- // Desktop: 65/35 map left + scrollable card rail right. NO Sheet
1267
- // (the Sheet would portal to body and occlude the desktop
1268
- // layout regardless of the parent's `lg:hidden` class).
1269
- //
1270
- // 0.31.4: map + rail cells fill the viewport (`calc(100dvh -
1271
- // var(--practice-results-chrome, 8rem))`) instead of a fixed
1272
- // 40rem. Map-first is a viewport-dominant variant — the map
1273
- // should command the visible canvas, not float as a 640px
1274
- // block in the middle of the page. Consumers with a different
1275
- // page chrome height override via the CSS custom property:
1276
- // .my-page-wrapper { --practice-results-chrome: 4rem; }
1277
- // The default 8rem approximates a typical sticky header.
1278
- // `dvh` (dynamic viewport height) plays nice with mobile-
1279
- // chrome show/hide.
1280
- /* @__PURE__ */ m("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1281
- /* @__PURE__ */ m("div", { className: "ds:relative ds:h-[calc(100dvh-var(--practice-results-chrome,8rem))] ds:min-h-[40rem]", children: [
1282
- N,
1283
- X
1284
- ] }),
1285
- /* @__PURE__ */ t("div", { className: "ds:min-w-0 ds:h-[calc(100dvh-var(--practice-results-chrome,8rem))] ds:min-h-[40rem] ds:overflow-y-auto", children: B })
1255
+ return /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: O ? (
1256
+ // Desktop: 65/35 map left + cards rail right. NO Sheet (the
1257
+ // Sheet would portal to body and occlude the desktop layout
1258
+ // regardless of the parent's `lg:hidden` class).
1259
+ //
1260
+ // 0.33.8: filters move from floating-over-the-map to an
1261
+ // inline `<HeaderRow>` above the grid (parity with
1262
+ // split-list-map). Floating chips read as ad-hoc on a real
1263
+ // Google tile and are easy to miss; an inline row sits in
1264
+ // the visual flow as a deliberate refinement control.
1265
+ //
1266
+ // 0.33.8: dropped `h-[calc(100dvh - chrome)] min-h-[40rem]`
1267
+ // on both columns + `overflow-y-auto` on the list rail. The
1268
+ // viewport-fill + internal scroll created a double-scroll
1269
+ // experience — patients scrolled the page AND the rail. Now
1270
+ // the map column is `lg:sticky lg:h-[44rem]` (stays visible
1271
+ // as the patient scrolls cards) and the rail renders at
1272
+ // natural height. Single page scroll.
1273
+ /* @__PURE__ */ p(Ge, { children: [
1274
+ /* @__PURE__ */ t(fe, { variantBodyProps: e }),
1275
+ /* @__PURE__ */ p("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1276
+ /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: N }),
1277
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: j })
1286
1278
  ] })
1287
- ) : (
1288
- // Mobile: full-bleed map + persistent bottom sheet defaulting to
1289
- // 'half' state. No X close button — the sheet is core to the
1290
- // layout, not dismissible. Patient cycles peek / half / full
1291
- // via the snap radiogroup at the top of the sheet body.
1292
- /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1293
- /* @__PURE__ */ m("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1294
- N,
1295
- X
1296
- ] }),
1297
- /* @__PURE__ */ t(z.Root, { open: !0, children: /* @__PURE__ */ t(
1298
- z.Content,
1299
- {
1300
- side: "bottom",
1301
- size: U,
1302
- onEscapeKeyDown: (w) => w.preventDefault(),
1303
- onPointerDownOutside: (w) => w.preventDefault(),
1304
- onInteractOutside: (w) => w.preventDefault(),
1305
- children: /* @__PURE__ */ m(z.Body, { children: [
1306
- /* @__PURE__ */ t(z.Description, { className: "ds:sr-only", children: T("practiceResults.sheet.descriptionMapFirst") }),
1307
- /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1308
- /* @__PURE__ */ t(z.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: T("practiceResults.sheet.title", {
1309
- count: e.totalCount ?? n.length
1310
- }) }),
1311
- /* @__PURE__ */ t(
1312
- yt,
1313
- {
1314
- value: P,
1315
- onChange: q
1316
- }
1317
- )
1318
- ] }),
1319
- /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1320
- de,
1279
+ ] })
1280
+ ) : (
1281
+ // Mobile: full-bleed map + persistent bottom sheet defaulting to
1282
+ // 'half' state. No X close button the sheet is core to the
1283
+ // layout, not dismissible. Patient cycles peek / half / full
1284
+ // via the snap radiogroup at the top of the sheet body. Filters
1285
+ // stay floating on mobile the full-bleed map IS the viewport
1286
+ // chrome, so floating chips are the only place for them.
1287
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1288
+ /* @__PURE__ */ t(
1289
+ ze,
1290
+ {
1291
+ heading: e.heading,
1292
+ intro: e.intro,
1293
+ totalCount: e.totalCount,
1294
+ searchCentreLabel: a == null ? void 0 : a.label
1295
+ }
1296
+ ),
1297
+ /* @__PURE__ */ p("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1298
+ N,
1299
+ ne
1300
+ ] }),
1301
+ /* @__PURE__ */ t(z.Root, { open: !0, children: /* @__PURE__ */ t(
1302
+ z.Content,
1303
+ {
1304
+ side: "bottom",
1305
+ size: U,
1306
+ onEscapeKeyDown: (w) => w.preventDefault(),
1307
+ onPointerDownOutside: (w) => w.preventDefault(),
1308
+ onInteractOutside: (w) => w.preventDefault(),
1309
+ children: /* @__PURE__ */ p(z.Body, { children: [
1310
+ /* @__PURE__ */ t(z.Description, { className: "ds:sr-only", children: T("practiceResults.sheet.descriptionMapFirst") }),
1311
+ /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1312
+ /* @__PURE__ */ t(z.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: T("practiceResults.sheet.title", {
1313
+ count: e.totalCount ?? n.length
1314
+ }) }),
1315
+ /* @__PURE__ */ t(
1316
+ Rt,
1321
1317
  {
1322
- value: A.sort ?? "relevance",
1323
- onChange: (w) => _({ ...A, sort: w })
1318
+ value: P,
1319
+ onChange: q
1324
1320
  }
1325
- ) }),
1326
- B
1327
- ] })
1328
- }
1329
- ) })
1330
- ] })
1331
- )
1332
- ] });
1321
+ )
1322
+ ] }),
1323
+ /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1324
+ de,
1325
+ {
1326
+ value: A.sort ?? "relevance",
1327
+ onChange: (w) => _({ ...A, sort: w })
1328
+ }
1329
+ ) }),
1330
+ j
1331
+ ] })
1332
+ }
1333
+ ) })
1334
+ ] })
1335
+ ) });
1333
1336
  }
1334
- function wt(e) {
1337
+ function kt(e) {
1335
1338
  const {
1336
1339
  results: n,
1337
1340
  apiKey: s,
@@ -1345,7 +1348,7 @@ function wt(e) {
1345
1348
  highlightedId: o,
1346
1349
  onCardHover: u,
1347
1350
  listContainerRef: h
1348
- } = e, b = l ? d ?? /* @__PURE__ */ t(he, { onRetry: g }) : n.length === 0 && !a ? c ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1351
+ } = e, b = l ? d ?? /* @__PURE__ */ t(ge, { onRetry: g }) : n.length === 0 && !a ? c ?? /* @__PURE__ */ t(he, {}) : /* @__PURE__ */ t(
1349
1352
  pe,
1350
1353
  {
1351
1354
  results: n,
@@ -1363,12 +1366,12 @@ function wt(e) {
1363
1366
  containerRef: h
1364
1367
  }
1365
1368
  );
1366
- return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1367
- /* @__PURE__ */ t(Fe, { variantBodyProps: e }),
1369
+ return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1370
+ /* @__PURE__ */ t(fe, { variantBodyProps: e }),
1368
1371
  b
1369
1372
  ] });
1370
1373
  }
1371
- const kt = Ge(function({
1374
+ const Ct = Ze(function({
1372
1375
  variant: n = "split-list-map",
1373
1376
  results: s,
1374
1377
  totalCount: r,
@@ -1376,14 +1379,14 @@ const kt = Ge(function({
1376
1379
  facets: a,
1377
1380
  googleMapsApiKey: c,
1378
1381
  mapId: d,
1379
- defaultZoom: l = rt,
1382
+ defaultZoom: l = lt,
1380
1383
  onBoundsChange: g,
1381
1384
  consentGranted: o,
1382
1385
  onConsentRequest: u,
1383
1386
  skipConsentGate: h = !1,
1384
1387
  onLoadMore: b,
1385
1388
  loadingMore: v,
1386
- value: p,
1389
+ value: m,
1387
1390
  onChange: f,
1388
1391
  onResultSelect: y,
1389
1392
  loading: S,
@@ -1396,10 +1399,10 @@ const kt = Ge(function({
1396
1399
  cardOpenButtonLabel: q,
1397
1400
  "aria-label": U,
1398
1401
  id: O,
1399
- className: B,
1402
+ className: j,
1400
1403
  ...N
1401
- }, X) {
1402
- const { t: w, i18n: ge } = C(), [$e, Q] = me(null), Y = I(/* @__PURE__ */ new Set()), ae = I(/* @__PURE__ */ new Set()), He = I(null), se = I(null), ie = D(
1404
+ }, ne) {
1405
+ const { t: w, i18n: ve } = C(), [$e, Q] = me(null), X = I(/* @__PURE__ */ new Set()), ae = I(/* @__PURE__ */ new Set()), He = I(null), se = I(null), ie = D(
1403
1406
  () => ({
1404
1407
  getVariant: () => n,
1405
1408
  scrollToResult: (x) => {
@@ -1416,12 +1419,12 @@ const kt = Ge(function({
1416
1419
  }),
1417
1420
  [n]
1418
1421
  );
1419
- Ze(X, () => ie, [ie]), et(it, ie, O);
1420
- const Le = q ?? w("practiceResults.card.open"), De = j(
1422
+ Qe(ne, () => ie, [ie]), tt(rt, ie, O);
1423
+ const Le = q ?? w("practiceResults.card.open"), De = B(
1421
1424
  (x) => {
1422
1425
  if (x.nextAvailableSlot)
1423
1426
  try {
1424
- return new Intl.DateTimeFormat(ge.language, {
1427
+ return new Intl.DateTimeFormat(ve.language, {
1425
1428
  weekday: "short",
1426
1429
  hour: "numeric",
1427
1430
  minute: "numeric"
@@ -1430,36 +1433,36 @@ const kt = Ge(function({
1430
1433
  return x.nextAvailableSlot.dateTime;
1431
1434
  }
1432
1435
  },
1433
- [ge.language]
1434
- ), ve = I(null);
1436
+ [ve.language]
1437
+ ), xe = I(null);
1435
1438
  J(() => {
1436
- ve.current !== n && (ve.current = n, $("serp_variant_exposed", {
1439
+ xe.current !== n && (xe.current = n, $("serp_variant_exposed", {
1437
1440
  variant: n,
1438
1441
  totalCount: r ?? s.length
1439
- }), Y.current = /* @__PURE__ */ new Set(), ae.current = /* @__PURE__ */ new Set());
1442
+ }), X.current = /* @__PURE__ */ new Set(), ae.current = /* @__PURE__ */ new Set());
1440
1443
  }, [n]);
1441
- const re = I(!1), le = D(() => a ?? [], [a]), oe = p.sort ?? (i ? "distance" : "relevance"), K = D(() => {
1442
- const x = ct(s, p.facets, le);
1443
- return dt(x, oe, i);
1444
- }, [s, p.facets, le, oe, i]);
1444
+ const re = I(!1), le = D(() => a ?? [], [a]), oe = m.sort ?? (i ? "distance" : "relevance"), K = D(() => {
1445
+ const x = dt(s, m.facets, le);
1446
+ return ut(x, oe, i);
1447
+ }, [s, m.facets, le, oe, i]);
1445
1448
  J(() => {
1446
1449
  const x = K.length === 0;
1447
1450
  x && !re.current ? ($("serp_empty_results", {
1448
- appliedFacets: p.facets ?? {}
1451
+ appliedFacets: m.facets ?? {}
1449
1452
  }), re.current = !0) : x || (re.current = !1);
1450
- }, [K.length, p.facets]);
1451
- const E = I(null), xe = I(null);
1453
+ }, [K.length, m.facets]);
1454
+ const E = I(null), be = I(null);
1452
1455
  J(
1453
1456
  () => () => {
1454
1457
  E.current && clearTimeout(E.current);
1455
1458
  },
1456
1459
  []
1457
1460
  );
1458
- const Oe = j((x) => {
1459
- Q(x), !Y.current.has(x) && (xe.current === x && E.current || (E.current && clearTimeout(E.current), xe.current = x, E.current = setTimeout(() => {
1460
- Y.current.has(x) || (Y.current.add(x), $("serp_result_hovered_card", { resultId: x })), E.current = null;
1461
+ const Oe = B((x) => {
1462
+ Q(x), !X.current.has(x) && (be.current === x && E.current || (E.current && clearTimeout(E.current), be.current = x, E.current = setTimeout(() => {
1463
+ X.current.has(x) || (X.current.add(x), $("serp_result_hovered_card", { resultId: x })), E.current = null;
1461
1464
  }, 500)));
1462
- }, []), Ke = j((x) => {
1465
+ }, []), Ke = B((x) => {
1463
1466
  Q(x);
1464
1467
  const F = se.current;
1465
1468
  if (!F) return;
@@ -1467,15 +1470,15 @@ const kt = Ge(function({
1467
1470
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(x)}"]`
1468
1471
  );
1469
1472
  k == null || k.scrollIntoView({ behavior: "smooth", block: "nearest" });
1470
- }, []), je = j((x) => {
1473
+ }, []), Be = B((x) => {
1471
1474
  ae.current.has(x) || (ae.current.add(x), $("serp_result_hovered_pin", { resultId: x }));
1472
- }, []), be = I(null), Be = j(
1475
+ }, []), ye = I(null), je = B(
1473
1476
  (x) => {
1474
1477
  Q(x);
1475
1478
  const F = K.find((k) => k.id === x);
1476
1479
  if (F) {
1477
1480
  if (F.location) {
1478
- const k = be.current;
1481
+ const k = ye.current;
1479
1482
  k == null || k.panTo({
1480
1483
  lat: F.location.lat,
1481
1484
  lng: F.location.lng
@@ -1485,7 +1488,7 @@ const kt = Ge(function({
1485
1488
  }
1486
1489
  },
1487
1490
  [K, y]
1488
- ), Ee = j(
1491
+ ), Ee = B(
1489
1492
  (x) => {
1490
1493
  W(
1491
1494
  K,
@@ -1500,7 +1503,7 @@ const kt = Ge(function({
1500
1503
  totalCount: r,
1501
1504
  searchCentre: i,
1502
1505
  facets: le,
1503
- value: { ...p, sort: oe },
1506
+ value: { ...m, sort: oe },
1504
1507
  onChange: f,
1505
1508
  onResultSelect: y,
1506
1509
  onLoadMore: b,
@@ -1526,22 +1529,22 @@ const kt = Ge(function({
1526
1529
  highlightedId: $e,
1527
1530
  onCardHover: Oe,
1528
1531
  onPinClick: Ke,
1529
- onPinFirstInteract: je,
1530
- onCardSelect: Be,
1532
+ onPinFirstInteract: Be,
1533
+ onCardSelect: je,
1531
1534
  onCardOpenClick: Ee,
1532
1535
  openLabel: Le,
1533
1536
  formatNextSlot: De,
1534
1537
  listContainerRef: He,
1535
- mapHandleRef: be
1538
+ mapHandleRef: ye
1536
1539
  }, qe = (() => {
1537
1540
  switch (n) {
1538
1541
  case "map-first":
1539
- return /* @__PURE__ */ t(Rt, { ...ce });
1540
- case "rich-cards":
1541
1542
  return /* @__PURE__ */ t(wt, { ...ce });
1543
+ case "rich-cards":
1544
+ return /* @__PURE__ */ t(kt, { ...ce });
1542
1545
  case "split-list-map":
1543
1546
  default:
1544
- return /* @__PURE__ */ t(xt, { ...ce });
1547
+ return /* @__PURE__ */ t(bt, { ...ce });
1545
1548
  }
1546
1549
  })(), Ue = U ?? w("practiceResults.regionLabel");
1547
1550
  return /* @__PURE__ */ t(
@@ -1554,15 +1557,15 @@ const kt = Ge(function({
1554
1557
  "data-component": "practice-results",
1555
1558
  "data-component-id": O,
1556
1559
  "data-variant": n,
1557
- className: ut({ variant: n, className: B }),
1560
+ className: mt({ variant: n, className: j }),
1558
1561
  ...N,
1559
1562
  children: qe
1560
1563
  }
1561
1564
  );
1562
1565
  });
1563
- kt.displayName = "PracticeResults";
1566
+ Ct.displayName = "PracticeResults";
1564
1567
  export {
1565
- kt as P,
1566
- it as p
1568
+ Ct as P,
1569
+ rt as p
1567
1570
  };
1568
- //# sourceMappingURL=practice-results-DYxwvaX8.js.map
1571
+ //# sourceMappingURL=practice-results-BFM_lyUs.js.map