@alfadocs/ui-kit 0.31.3 → 0.31.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/_chunks/{agenda-card-UJA6Arbs.js → agenda-card-DtGlQde1.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-1fAxNOMz.js → agenda-tray-CXmlwt2K.js} +2 -2
  3. package/dist/_chunks/{badge-CptERaHx.js → badge-B9Cr6iEB.js} +30 -21
  4. package/dist/_chunks/{benefit-card-CLPNpiQE.js → benefit-card-B86DH-PE.js} +14 -10
  5. package/dist/_chunks/{card-DKTMLVrw.js → card-CNri9ssR.js} +43 -37
  6. package/dist/_chunks/{contact-card-DYbp--s-.js → contact-card-Dos7Tley.js} +2 -2
  7. package/dist/_chunks/{editable-currency-cell-renderer-BpicmolK.js → editable-currency-cell-renderer-YvTwkFrD.js} +2 -2
  8. package/dist/_chunks/key-value-pair-CYE7NSpM.js +134 -0
  9. package/dist/_chunks/message-circle-C23eicgb.js +20 -0
  10. package/dist/_chunks/operator-hero-BsjE-kJF.js +171 -0
  11. package/dist/_chunks/{patient-search-hFiYbqcl.js → patient-search-CSDru7QW.js} +2 -2
  12. package/dist/_chunks/practice-profile-card-C2_2ZH_G.js +297 -0
  13. package/dist/_chunks/{practice-results-RPL64j8E.js → practice-results-VqbCUO1b.js} +378 -405
  14. package/dist/_chunks/{reviews-panel-yanuBZs-.js → reviews-panel-Cjys8G8K.js} +2 -2
  15. package/dist/_chunks/shield-check-BhHyReu8.js +52 -0
  16. package/dist/_chunks/{timeline-D0Wo7v_o.js → timeline-BZC7qGdy.js} +2 -2
  17. package/dist/_chunks/{workflow-map-BSvQS3be.js → workflow-map-DfpjDZHK.js} +93 -107
  18. package/dist/agent-catalog.json +55 -1
  19. package/dist/components/agenda-card/index.js +1 -1
  20. package/dist/components/agenda-tray/index.js +1 -1
  21. package/dist/components/badge/badge.d.ts +1 -1
  22. package/dist/components/badge/index.js +1 -1
  23. package/dist/components/benefit-card/index.js +1 -1
  24. package/dist/components/card/index.js +1 -1
  25. package/dist/components/contact-card/index.js +1 -1
  26. package/dist/components/data-table/index.js +1 -1
  27. package/dist/components/index.d.ts +2 -0
  28. package/dist/components/key-value-pair/index.d.ts +2 -2
  29. package/dist/components/key-value-pair/index.js +3 -2
  30. package/dist/components/key-value-pair/key-value-pair.d.ts +10 -0
  31. package/dist/components/operator-hero/index.d.ts +4 -0
  32. package/dist/components/operator-hero/index.js +6 -0
  33. package/dist/components/operator-hero/operator-hero.agent.d.ts +4 -0
  34. package/dist/components/operator-hero/operator-hero.d.ts +64 -0
  35. package/dist/components/patient-search/index.js +1 -1
  36. package/dist/components/practice-profile-card/index.d.ts +4 -0
  37. package/dist/components/practice-profile-card/index.js +8 -0
  38. package/dist/components/practice-profile-card/practice-profile-card.agent.d.ts +4 -0
  39. package/dist/components/practice-profile-card/practice-profile-card.d.ts +115 -0
  40. package/dist/components/practice-results/index.js +1 -1
  41. package/dist/components/practice-results/practice-results.d.ts +19 -0
  42. package/dist/components/reviews-panel/index.js +1 -1
  43. package/dist/components/timeline/index.js +1 -1
  44. package/dist/components/workflow/index.js +1 -1
  45. package/dist/i18n/locales/ar.d.ts +23 -0
  46. package/dist/i18n/locales/ar.js +23 -0
  47. package/dist/i18n/locales/de.d.ts +23 -0
  48. package/dist/i18n/locales/de.js +23 -0
  49. package/dist/i18n/locales/el.d.ts +23 -0
  50. package/dist/i18n/locales/el.js +23 -0
  51. package/dist/i18n/locales/en.d.ts +23 -0
  52. package/dist/i18n/locales/en.js +23 -0
  53. package/dist/i18n/locales/es.d.ts +23 -0
  54. package/dist/i18n/locales/es.js +23 -0
  55. package/dist/i18n/locales/fr.d.ts +23 -0
  56. package/dist/i18n/locales/fr.js +23 -0
  57. package/dist/i18n/locales/hi.d.ts +23 -0
  58. package/dist/i18n/locales/hi.js +23 -0
  59. package/dist/i18n/locales/it.d.ts +23 -0
  60. package/dist/i18n/locales/it.js +23 -0
  61. package/dist/i18n/locales/ja.d.ts +23 -0
  62. package/dist/i18n/locales/ja.js +23 -0
  63. package/dist/i18n/locales/nl.d.ts +23 -0
  64. package/dist/i18n/locales/nl.js +23 -0
  65. package/dist/i18n/locales/pl.d.ts +23 -0
  66. package/dist/i18n/locales/pl.js +23 -0
  67. package/dist/i18n/locales/pt.d.ts +23 -0
  68. package/dist/i18n/locales/pt.js +23 -0
  69. package/dist/i18n/locales/ro.d.ts +23 -0
  70. package/dist/i18n/locales/ro.js +23 -0
  71. package/dist/i18n/locales/ru.d.ts +23 -0
  72. package/dist/i18n/locales/ru.js +23 -0
  73. package/dist/i18n/locales/sq.d.ts +23 -0
  74. package/dist/i18n/locales/sq.js +23 -0
  75. package/dist/i18n/locales/sv.d.ts +23 -0
  76. package/dist/i18n/locales/sv.js +23 -0
  77. package/dist/i18n/locales/tr.d.ts +23 -0
  78. package/dist/i18n/locales/tr.js +23 -0
  79. package/dist/i18n/locales/zh.d.ts +23 -0
  80. package/dist/i18n/locales/zh.js +23 -0
  81. package/dist/index.js +400 -391
  82. package/dist/locales/ar.json +23 -0
  83. package/dist/locales/de.json +23 -0
  84. package/dist/locales/el.json +23 -0
  85. package/dist/locales/en.json +23 -0
  86. package/dist/locales/es.json +23 -0
  87. package/dist/locales/fr.json +23 -0
  88. package/dist/locales/hi.json +23 -0
  89. package/dist/locales/it.json +23 -0
  90. package/dist/locales/ja.json +23 -0
  91. package/dist/locales/nl.json +23 -0
  92. package/dist/locales/pl.json +23 -0
  93. package/dist/locales/pt.json +23 -0
  94. package/dist/locales/ro.json +23 -0
  95. package/dist/locales/ru.json +23 -0
  96. package/dist/locales/sq.json +23 -0
  97. package/dist/locales/sv.json +23 -0
  98. package/dist/locales/tr.json +23 -0
  99. package/dist/locales/zh.json +23 -0
  100. package/dist/tokens.css +1 -1
  101. package/package.json +9 -1
  102. package/dist/_chunks/key-value-pair-C8DaR3Xs.js +0 -98
@@ -1,40 +1,26 @@
1
- import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
- import { forwardRef as Ue, useState as me, useRef as A, useMemo as H, useImperativeHandle as qe, useCallback as K, useEffect as J } from "react";
1
+ import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
+ import { forwardRef as Ue, useState as ue, useRef as A, useMemo as D, useImperativeHandle as qe, useCallback as K, useEffect as Q } from "react";
3
3
  import { c as G } from "./index-D2ZczOXr.js";
4
- import { useTranslation as w } from "react-i18next";
4
+ import { useTranslation as C } from "react-i18next";
5
5
  import { A as Y } from "./alert-ywPR59NE.js";
6
6
  import { A as Re } from "./avatar-BNQNhoyL.js";
7
7
  import { B as q } from "./button-DD_0Xdmr.js";
8
- import { D as F } from "./dropdown-menu-BC5ZdOMo.js";
8
+ import { D as H } from "./dropdown-menu-BC5ZdOMo.js";
9
9
  import { E as Ge } from "./empty-state-BLy7tigq.js";
10
10
  import { M as Ze } from "./map-view-WEWqXzof.js";
11
- import { R as ke } from "./rating-BRD7O74e.js";
12
- import { S as _ } from "./sheet-BV-yuLE2.js";
11
+ import { R as we } from "./rating-BRD7O74e.js";
12
+ import { S as z } from "./sheet-BV-yuLE2.js";
13
13
  import { S as Qe } from "./skeleton-CZbwyJAA.js";
14
14
  import { S as Je } from "./spinner-CCByyvcb.js";
15
- import { B as D } from "./badge-CptERaHx.js";
15
+ import { B as $ } from "./badge-B9Cr6iEB.js";
16
16
  import { u as We } from "./use-media-query-CcAx5SMM.js";
17
17
  import { u as Xe } from "./registry-nPAVE19X.js";
18
- import { c as te } from "./createLucideIcon-CrFbzy84.js";
19
- import { R as Ye } from "./refresh-cw-CC8jSKMr.js";
20
- import { C as we } from "./chevron-down-BX_NP2Yh.js";
21
- import { M as ne } from "./map-pin-B8STOPMJ.js";
22
- import { C as Ce } from "./calendar-clock-CYkcqdwl.js";
23
- /**
24
- * @license lucide-react v1.8.0 - ISC
25
- *
26
- * This source code is licensed under the ISC license.
27
- * See the LICENSE file in the root directory of this source tree.
28
- */
29
- const et = [
30
- [
31
- "path",
32
- {
33
- d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
34
- key: "mvr1a0"
35
- }
36
- ]
37
- ], Ne = te("heart", et);
18
+ import { c as Ye } from "./createLucideIcon-CrFbzy84.js";
19
+ import { R as et } from "./refresh-cw-CC8jSKMr.js";
20
+ import { C as Ce } from "./chevron-down-BX_NP2Yh.js";
21
+ import { M as te } from "./map-pin-B8STOPMJ.js";
22
+ import { L as ke, S as Ne, H as Se } from "./shield-check-BhHyReu8.js";
23
+ import { C as Pe } from "./calendar-clock-CYkcqdwl.js";
38
24
  /**
39
25
  * @license lucide-react v1.8.0 - ISC
40
26
  *
@@ -42,20 +28,6 @@ const et = [
42
28
  * See the LICENSE file in the root directory of this source tree.
43
29
  */
44
30
  const tt = [
45
- ["path", { d: "m5 8 6 6", key: "1wu5hv" }],
46
- ["path", { d: "m4 14 6-6 2-3", key: "1k1g8d" }],
47
- ["path", { d: "M2 5h12", key: "or177f" }],
48
- ["path", { d: "M7 2h1", key: "1t2jsx" }],
49
- ["path", { d: "m22 22-5-10-5 10", key: "don7ne" }],
50
- ["path", { d: "M14 18h6", key: "1m8k6r" }]
51
- ], Se = te("languages", tt);
52
- /**
53
- * @license lucide-react v1.8.0 - ISC
54
- *
55
- * This source code is licensed under the ISC license.
56
- * See the LICENSE file in the root directory of this source tree.
57
- */
58
- const nt = [
59
31
  [
60
32
  "path",
61
33
  {
@@ -65,23 +37,7 @@ const nt = [
65
37
  ],
66
38
  ["path", { d: "M15 5.764v15", key: "1pn4in" }],
67
39
  ["path", { d: "M9 3.236v15", key: "1uimfh" }]
68
- ], at = te("map", nt);
69
- /**
70
- * @license lucide-react v1.8.0 - ISC
71
- *
72
- * This source code is licensed under the ISC license.
73
- * See the LICENSE file in the root directory of this source tree.
74
- */
75
- const st = [
76
- [
77
- "path",
78
- {
79
- d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
80
- key: "oel41y"
81
- }
82
- ],
83
- ["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
84
- ], Pe = te("shield-check", st), it = {
40
+ ], nt = Ye("map", tt), at = {
85
41
  id: "practice-results",
86
42
  capabilities: ["navigate", "view_change"],
87
43
  state: {
@@ -124,13 +80,13 @@ const st = [
124
80
  description: "Sourced from the id prop."
125
81
  }
126
82
  }
127
- }, rt = 13, lt = [
83
+ }, st = 13, it = [
128
84
  "distance",
129
85
  "rating",
130
86
  "next-available",
131
87
  "relevance"
132
88
  ];
133
- function $(e, n) {
89
+ function F(e, n) {
134
90
  if (typeof window > "u") return;
135
91
  const s = window.track;
136
92
  try {
@@ -138,17 +94,17 @@ function $(e, n) {
138
94
  } catch {
139
95
  }
140
96
  }
141
- function W(e, n, s, o) {
97
+ function J(e, n, s, o) {
142
98
  const i = e.findIndex((d) => d.id === n);
143
99
  if (i < 0) return;
144
100
  const a = e[i];
145
- a && ($("serp_result_clicked", { resultId: n, source: s, position: i }), o(a, s));
101
+ a && (F("serp_result_clicked", { resultId: n, source: s, position: i }), o(a, s));
146
102
  }
147
- function ot(e, n) {
103
+ function rt(e, n) {
148
104
  const o = (n.lat - e.lat) * Math.PI / 180, i = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, d = n.lat * Math.PI / 180, u = Math.sin(o / 2), c = Math.sin(i / 2), g = u * u + Math.cos(a) * Math.cos(d) * c * c;
149
105
  return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(g)));
150
106
  }
151
- function ct(e, n, s) {
107
+ function lt(e, n, s) {
152
108
  return !n || Object.keys(n).length === 0 ? e : e.filter((o) => {
153
109
  for (const i of s) {
154
110
  const a = n[i.key];
@@ -163,9 +119,9 @@ function ct(e, n, s) {
163
119
  return !0;
164
120
  });
165
121
  }
166
- function dt(e, n, s) {
122
+ function ot(e, n, s) {
167
123
  const o = e.map((a) => {
168
- const d = a.location ? a.location.distanceKm ?? (s ? ot(s, a.location) : void 0) : void 0;
124
+ const d = a.location ? a.location.distanceKm ?? (s ? rt(s, a.location) : void 0) : void 0;
169
125
  return { result: a, distanceKm: d };
170
126
  }), i = (a, d) => {
171
127
  var u, c, g, l;
@@ -173,12 +129,12 @@ function dt(e, n, s) {
173
129
  case "distance":
174
130
  return a.distanceKm == null && d.distanceKm == null ? 0 : a.distanceKm == null ? 1 : d.distanceKm == null ? -1 : a.distanceKm - d.distanceKm;
175
131
  case "rating": {
176
- const f = ((u = a.result.rating) == null ? void 0 : u.value) ?? -1;
177
- return (((c = d.result.rating) == null ? void 0 : c.value) ?? -1) - f;
132
+ const p = ((u = a.result.rating) == null ? void 0 : u.value) ?? -1;
133
+ return (((c = d.result.rating) == null ? void 0 : c.value) ?? -1) - p;
178
134
  }
179
135
  case "next-available": {
180
- const f = ((g = a.result.nextAvailableSlot) == null ? void 0 : g.dateTime) ?? "", m = ((l = d.result.nextAvailableSlot) == null ? void 0 : l.dateTime) ?? "";
181
- return !f && !m ? 0 : f ? m ? f.localeCompare(m) : -1 : 1;
136
+ const p = ((g = a.result.nextAvailableSlot) == null ? void 0 : g.dateTime) ?? "", m = ((l = d.result.nextAvailableSlot) == null ? void 0 : l.dateTime) ?? "";
137
+ return !p && !m ? 0 : p ? m ? p.localeCompare(m) : -1 : 1;
182
138
  }
183
139
  case "relevance":
184
140
  default:
@@ -203,7 +159,7 @@ function be(e) {
203
159
  if (a)
204
160
  return { north: n, south: s, east: o, west: i };
205
161
  }
206
- const ut = G(
162
+ const ct = G(
207
163
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
208
164
  {
209
165
  variants: {
@@ -222,13 +178,13 @@ function Me({
222
178
  totalCount: s,
223
179
  searchCentreLabel: o
224
180
  }) {
225
- const { t: i } = w();
181
+ const { t: i } = C();
226
182
  if (!e && !n && s == null) return null;
227
183
  const a = s != null ? o ? i("practiceResults.results.heading", {
228
184
  count: s,
229
185
  place: o
230
186
  }) : i("practiceResults.results.summary", { count: s }) : void 0;
231
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
187
+ return /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
232
188
  e ? /* @__PURE__ */ t("h2", { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
233
189
  n ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: n }) : null,
234
190
  a ? /* @__PURE__ */ t(
@@ -263,7 +219,7 @@ const ee = G(
263
219
  },
264
220
  defaultVariants: { state: "idle" }
265
221
  }
266
- ), mt = G(
222
+ ), dt = G(
267
223
  "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
268
224
  {
269
225
  variants: {
@@ -282,7 +238,7 @@ const ee = G(
282
238
  },
283
239
  defaultVariants: { placement: "inline" }
284
240
  }
285
- ), pt = G(
241
+ ), ut = G(
286
242
  [
287
243
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
288
244
  "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -299,65 +255,65 @@ function Ae({
299
255
  onChange: s,
300
256
  floating: o
301
257
  }) {
302
- const { t: i } = w(), a = H(() => n ?? {}, [n]), d = H(
258
+ const { t: i } = C(), a = D(() => n ?? {}, [n]), d = D(
303
259
  () => Object.values(a).some((l) => l && l.length > 0),
304
260
  [a]
305
- ), u = (l, f) => {
261
+ ), u = (l, p) => {
306
262
  const m = { ...a };
307
- f.length === 0 ? delete m[l] : m[l] = f, s(m), $("serp_filter_changed", { key: l, values: f });
263
+ p.length === 0 ? delete m[l] : m[l] = p, s(m), F("serp_filter_changed", { key: l, values: p });
308
264
  }, c = (l) => {
309
265
  var m;
310
- const f = (((m = a[l]) == null ? void 0 : m.length) ?? 0) > 0;
311
- u(l, f ? [] : ["true"]);
312
- }, g = (l, f) => {
313
- const m = a[l.key] ?? [], h = m.includes(f);
314
- let x;
315
- l.multi ? x = h ? m.filter((r) => r !== f) : [...m, f] : x = h ? [] : [f], u(l.key, x);
266
+ const p = (((m = a[l]) == null ? void 0 : m.length) ?? 0) > 0;
267
+ u(l, p ? [] : ["true"]);
268
+ }, g = (l, p) => {
269
+ const m = a[l.key] ?? [], x = m.includes(p);
270
+ let h;
271
+ l.multi ? h = x ? m.filter((r) => r !== p) : [...m, p] : h = x ? [] : [p], u(l.key, h);
316
272
  };
317
- return e.length === 0 ? null : /* @__PURE__ */ p(
273
+ return e.length === 0 ? null : /* @__PURE__ */ f(
318
274
  "div",
319
275
  {
320
276
  "data-component": "practice-results-filters",
321
277
  role: "group",
322
278
  "aria-label": i("practiceResults.filters.label"),
323
- className: mt({
279
+ className: dt({
324
280
  placement: o ? "floating" : "inline"
325
281
  }),
326
282
  children: [
327
283
  e.map((l) => {
328
- const f = l.options.length === 0, m = a[l.key] ?? [], h = m.length > 0;
329
- if (f)
284
+ const p = l.options.length === 0, m = a[l.key] ?? [], x = m.length > 0;
285
+ if (p)
330
286
  return /* @__PURE__ */ t(
331
287
  "button",
332
288
  {
333
289
  type: "button",
334
- "aria-pressed": h,
290
+ "aria-pressed": x,
335
291
  "aria-label": l.label,
336
292
  onClick: () => c(l.key),
337
293
  className: ee({
338
- state: h ? "active" : "idle"
294
+ state: x ? "active" : "idle"
339
295
  }),
340
296
  children: /* @__PURE__ */ t("span", { children: l.label })
341
297
  },
342
298
  l.key
343
299
  );
344
- const x = h ? ` (${m.length})` : "";
345
- return /* @__PURE__ */ p(F.Root, { children: [
346
- /* @__PURE__ */ t(F.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
300
+ const h = x ? ` (${m.length})` : "";
301
+ return /* @__PURE__ */ f(H.Root, { children: [
302
+ /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ f(
347
303
  "button",
348
304
  {
349
305
  type: "button",
350
- "aria-label": `${l.label}${x}`,
306
+ "aria-label": `${l.label}${h}`,
351
307
  className: ee({
352
- state: h ? "active" : "idle"
308
+ state: x ? "active" : "idle"
353
309
  }),
354
310
  children: [
355
- /* @__PURE__ */ p("span", { children: [
311
+ /* @__PURE__ */ f("span", { children: [
356
312
  l.label,
357
- x
313
+ h
358
314
  ] }),
359
315
  /* @__PURE__ */ t(
360
- we,
316
+ Ce,
361
317
  {
362
318
  "aria-hidden": "true",
363
319
  className: "ds:size-3.5 ds:shrink-0"
@@ -366,12 +322,12 @@ function Ae({
366
322
  ]
367
323
  }
368
324
  ) }),
369
- /* @__PURE__ */ t(F.Content, { sideOffset: 8, align: "start", children: l.options.map((r) => /* @__PURE__ */ t(
370
- F.CheckboxItem,
325
+ /* @__PURE__ */ t(H.Content, { sideOffset: 8, align: "start", children: l.options.map((r) => /* @__PURE__ */ t(
326
+ H.CheckboxItem,
371
327
  {
372
328
  checked: m.includes(r.value),
373
- onSelect: (y) => {
374
- l.multi && y.preventDefault(), g(l, r.value);
329
+ onSelect: (b) => {
330
+ l.multi && b.preventDefault(), g(l, r.value);
375
331
  },
376
332
  children: r.label
377
333
  },
@@ -384,9 +340,9 @@ function Ae({
384
340
  {
385
341
  type: "button",
386
342
  onClick: () => {
387
- s({}), $("serp_filter_changed", { key: "*", values: [] });
343
+ s({}), F("serp_filter_changed", { key: "*", values: [] });
388
344
  },
389
- className: pt(),
345
+ className: ut(),
390
346
  children: i("practiceResults.filters.clear")
391
347
  }
392
348
  ) : null
@@ -394,8 +350,8 @@ function Ae({
394
350
  }
395
351
  );
396
352
  }
397
- function de({ value: e, onChange: n }) {
398
- const { t: s } = w(), o = (i) => {
353
+ function ce({ value: e, onChange: n }) {
354
+ const { t: s } = C(), o = (i) => {
399
355
  switch (i) {
400
356
  case "distance":
401
357
  return s("practiceResults.sort.distance");
@@ -408,45 +364,45 @@ function de({ value: e, onChange: n }) {
408
364
  return s("practiceResults.sort.relevance");
409
365
  }
410
366
  };
411
- return /* @__PURE__ */ p(F.Root, { children: [
412
- /* @__PURE__ */ t(F.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
367
+ return /* @__PURE__ */ f(H.Root, { children: [
368
+ /* @__PURE__ */ t(H.Trigger, { asChild: !0, children: /* @__PURE__ */ f(
413
369
  "button",
414
370
  {
415
371
  type: "button",
416
372
  "aria-label": `${s("practiceResults.sort.label")}: ${o(e)}`,
417
373
  className: ee({ state: "idle" }),
418
374
  children: [
419
- /* @__PURE__ */ p("span", { children: [
375
+ /* @__PURE__ */ f("span", { children: [
420
376
  s("practiceResults.sort.label"),
421
377
  ": ",
422
378
  o(e)
423
379
  ] }),
424
- /* @__PURE__ */ t(we, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
380
+ /* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
425
381
  ]
426
382
  }
427
383
  ) }),
428
- /* @__PURE__ */ t(F.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
429
- F.RadioGroup,
384
+ /* @__PURE__ */ t(H.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
385
+ H.RadioGroup,
430
386
  {
431
387
  value: e,
432
388
  onValueChange: (i) => {
433
389
  const a = i;
434
- a !== e && (n(a), $("serp_sort_changed", { sort: a }));
390
+ a !== e && (n(a), F("serp_sort_changed", { sort: a }));
435
391
  },
436
- children: lt.map((i) => /* @__PURE__ */ t(F.RadioItem, { value: i, children: o(i) }, i))
392
+ children: it.map((i) => /* @__PURE__ */ t(H.RadioItem, { value: i, children: o(i) }, i))
437
393
  }
438
394
  ) })
439
395
  ] });
440
396
  }
441
- function _e({ distanceKm: e }) {
442
- const { t: n, i18n: s } = w(), o = H(() => {
397
+ function ze({ distanceKm: e }) {
398
+ const { t: n, i18n: s } = C(), o = D(() => {
443
399
  if (e < 1) return n("practiceResults.distance.below");
444
400
  const i = new Intl.NumberFormat(s.language, {
445
401
  maximumFractionDigits: 1
446
402
  }).format(e);
447
403
  return n("practiceResults.distance.km", { distance: i });
448
404
  }, [e, n, s.language]);
449
- return /* @__PURE__ */ t(D, { variant: "neutral", leading: /* @__PURE__ */ t(ne, { "aria-hidden": "true" }), children: o });
405
+ return /* @__PURE__ */ t($, { variant: "neutral", leading: /* @__PURE__ */ t(te, { "aria-hidden": "true" }), children: o });
450
406
  }
451
407
  const ye = G(
452
408
  [
@@ -467,31 +423,31 @@ const ye = G(
467
423
  defaultVariants: { state: "placeholder" }
468
424
  }
469
425
  );
470
- function ft() {
426
+ function mt() {
471
427
  if (typeof document > "u") return "4945a3";
472
428
  const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
473
429
  return n ? n[1] : "4945a3";
474
430
  }
475
- function ht({
431
+ function pt({
476
432
  apiKey: e,
477
433
  center: n,
478
434
  zoom: s = 14,
479
435
  address: o
480
436
  }) {
481
- const { t: i } = w();
437
+ const { t: i } = C();
482
438
  if (!e)
483
- return /* @__PURE__ */ p(
439
+ return /* @__PURE__ */ f(
484
440
  "div",
485
441
  {
486
442
  "aria-hidden": o ? void 0 : "true",
487
443
  className: ye({ state: "placeholder" }),
488
444
  children: [
489
- /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
445
+ /* @__PURE__ */ t(te, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
490
446
  o ? /* @__PURE__ */ t("span", { className: "type-meta ds:[overflow-wrap:anywhere]", children: o }) : null
491
447
  ]
492
448
  }
493
449
  );
494
- const a = ft(), d = `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)}`;
450
+ const a = mt(), d = `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)}`;
495
451
  return /* @__PURE__ */ t(
496
452
  "img",
497
453
  {
@@ -505,7 +461,7 @@ function ht({
505
461
  }
506
462
  );
507
463
  }
508
- const ze = G(
464
+ const _e = G(
509
465
  [
510
466
  "ds:relative ds:flex ds:w-full ds:cursor-pointer",
511
467
  "ds:rounded-[var(--radius-lg)]",
@@ -534,7 +490,7 @@ const ze = G(
534
490
  defaultVariants: { density: "compact" }
535
491
  }
536
492
  );
537
- function gt({
493
+ function ft({
538
494
  result: e,
539
495
  highlighted: n,
540
496
  onSelect: s,
@@ -547,11 +503,11 @@ function gt({
547
503
  maxLanguageChips: g = 4,
548
504
  children: l
549
505
  }) {
550
- var I, P, E, O, U, j;
551
- const { t: f } = w(), m = e.rating, h = (I = e.location) == null ? void 0 : I.distanceKm, x = (((P = e.languages) == null ? void 0 : P.length) ?? 0) > 0, r = (((E = e.insurances) == null ? void 0 : E.length) ?? 0) > 0, y = e.specializedInFearPatients, N = x || r || y, S = (e.languages ?? []).slice(0, g), b = (((O = e.languages) == null ? void 0 : O.length) ?? 0) - S.length, M = (e.insurances ?? []).slice(0, c), z = (((U = e.insurances) == null ? void 0 : U.length) ?? 0) - M.length;
506
+ var I, P, V, U, O, j;
507
+ const { t: p } = C(), m = e.rating, x = (I = e.location) == null ? void 0 : I.distanceKm, h = (((P = e.languages) == null ? void 0 : P.length) ?? 0) > 0, r = (((V = e.insurances) == null ? void 0 : V.length) ?? 0) > 0, b = e.specializedInFearPatients, N = h || r || b, S = (e.languages ?? []).slice(0, g), y = (((U = e.languages) == null ? void 0 : U.length) ?? 0) - S.length, M = (e.insurances ?? []).slice(0, c), _ = (((O = e.insurances) == null ? void 0 : O.length) ?? 0) - M.length;
552
508
  return (
553
509
  // 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.
554
- /* @__PURE__ */ p(
510
+ /* @__PURE__ */ f(
555
511
  "div",
556
512
  {
557
513
  "data-component": "practice-result-card",
@@ -562,12 +518,12 @@ function gt({
562
518
  onClick: s,
563
519
  onMouseEnter: i,
564
520
  onFocus: i,
565
- className: ze({ density: a }),
521
+ className: _e({ density: a }),
566
522
  children: [
567
523
  /* @__PURE__ */ t(Re, { src: e.imageUrl, name: e.name, size: "lg" }),
568
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
569
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
570
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
524
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
525
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
526
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
571
527
  /* @__PURE__ */ t(
572
528
  "span",
573
529
  {
@@ -576,55 +532,55 @@ function gt({
576
532
  children: e.name
577
533
  }
578
534
  ),
579
- h != null ? /* @__PURE__ */ t(_e, { distanceKm: h }) : null
535
+ x != null ? /* @__PURE__ */ t(ze, { distanceKm: x }) : null
580
536
  ] }),
581
537
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
582
- (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: [
583
- /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
538
+ (j = e.location) != null && j.address ? /* @__PURE__ */ f("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
539
+ /* @__PURE__ */ t(te, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
584
540
  e.location.address
585
541
  ] }) : null
586
542
  ] }),
587
543
  m && m.count > 0 ? /* @__PURE__ */ t(
588
- ke,
544
+ we,
589
545
  {
590
546
  value: m.value,
591
547
  reviews: { count: m.count },
592
548
  size: "sm"
593
549
  }
594
550
  ) : null,
595
- N ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
596
- S.map((C) => /* @__PURE__ */ t(
597
- D,
551
+ N ? /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
552
+ S.map((k) => /* @__PURE__ */ t(
553
+ $,
598
554
  {
599
555
  variant: "neutral",
600
- leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
601
- children: C.toUpperCase()
556
+ leading: /* @__PURE__ */ t(ke, { "aria-hidden": "true" }),
557
+ children: k.toUpperCase()
602
558
  },
603
- `lang-${C}`
559
+ `lang-${k}`
604
560
  )),
605
- b > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${b}` }) : null,
606
- M.map((C) => /* @__PURE__ */ t(
607
- D,
561
+ y > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${y}` }) : null,
562
+ M.map((k) => /* @__PURE__ */ t(
563
+ $,
608
564
  {
609
565
  variant: "info",
610
- leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
611
- children: C
566
+ leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
567
+ children: k
612
568
  },
613
- `ins-${C}`
569
+ `ins-${k}`
614
570
  )),
615
- z > 0 ? /* @__PURE__ */ t(D, { variant: "neutral", children: `+${z}` }) : null,
616
- y ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }), children: f("practiceResults.fearPatient.label") }) : null
571
+ _ > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${_}` }) : null,
572
+ b ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }), children: p("practiceResults.fearPatient.label") }) : null
617
573
  ] }) : null,
618
- e.nextAvailableSlot && u ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
619
- /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
574
+ e.nextAvailableSlot && u ? /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
575
+ /* @__PURE__ */ f("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
620
576
  /* @__PURE__ */ t(
621
- Ce,
577
+ Pe,
622
578
  {
623
579
  "aria-hidden": "true",
624
580
  className: "ds:size-4 ds:text-[var(--primary)]"
625
581
  }
626
582
  ),
627
- f("practiceResults.nextSlot.summary", { time: u })
583
+ p("practiceResults.nextSlot.summary", { time: u })
628
584
  ] }),
629
585
  /* @__PURE__ */ t(
630
586
  q,
@@ -632,15 +588,15 @@ function gt({
632
588
  intent: "primary",
633
589
  size: "sm",
634
590
  asChild: !0,
635
- onClick: (C) => {
636
- C.stopPropagation();
591
+ onClick: (k) => {
592
+ k.stopPropagation();
637
593
  },
638
594
  children: /* @__PURE__ */ t(
639
595
  "a",
640
596
  {
641
597
  href: e.nextAvailableSlot.bookingHref,
642
598
  "data-component": "practice-result-next-slot-cta",
643
- children: f("practiceResults.nextSlot.cta", { time: u })
599
+ children: p("practiceResults.nextSlot.cta", { time: u })
644
600
  }
645
601
  )
646
602
  }
@@ -653,8 +609,8 @@ function gt({
653
609
  intent: "secondary",
654
610
  size: "sm",
655
611
  asChild: !0,
656
- onClick: (C) => {
657
- C.stopPropagation(), o();
612
+ onClick: (k) => {
613
+ k.stopPropagation(), o();
658
614
  },
659
615
  children: /* @__PURE__ */ t("a", { href: e.href, "data-component": "practice-result-open-cta", children: d })
660
616
  }
@@ -665,7 +621,7 @@ function gt({
665
621
  )
666
622
  );
667
623
  }
668
- function vt({
624
+ function ht({
669
625
  result: e,
670
626
  apiKey: n,
671
627
  highlighted: s,
@@ -674,8 +630,8 @@ function vt({
674
630
  onHover: a,
675
631
  openLabel: d
676
632
  }) {
677
- var r, y, N, S;
678
- const { t: u, i18n: c } = w(), g = H(() => {
633
+ var r, b, N, S;
634
+ const { t: u, i18n: c } = C(), g = D(() => {
679
635
  if (e.nextAvailableSlot)
680
636
  try {
681
637
  return new Intl.DateTimeFormat(c.language, {
@@ -686,10 +642,10 @@ function vt({
686
642
  } catch {
687
643
  return e.nextAvailableSlot.dateTime;
688
644
  }
689
- }, [e.nextAvailableSlot, c.language]), l = (((r = e.languages) == null ? void 0 : r.length) ?? 0) > 0, f = (((y = e.insurances) == null ? void 0 : y.length) ?? 0) > 0, m = e.specializedInFearPatients, h = l || f || m, x = (N = e.location) == null ? void 0 : N.distanceKm;
645
+ }, [e.nextAvailableSlot, c.language]), l = (((r = e.languages) == null ? void 0 : r.length) ?? 0) > 0, p = (((b = e.insurances) == null ? void 0 : b.length) ?? 0) > 0, m = e.specializedInFearPatients, x = l || p || m, h = (N = e.location) == null ? void 0 : N.distanceKm;
690
646
  return (
691
647
  // 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.
692
- /* @__PURE__ */ p(
648
+ /* @__PURE__ */ f(
693
649
  "div",
694
650
  {
695
651
  "data-component": "practice-result-card",
@@ -701,10 +657,10 @@ function vt({
701
657
  onClick: o,
702
658
  onMouseEnter: a,
703
659
  onFocus: a,
704
- className: ze({ density: "rich" }),
660
+ className: _e({ density: "rich" }),
705
661
  children: [
706
662
  e.location ? /* @__PURE__ */ t(
707
- ht,
663
+ pt,
708
664
  {
709
665
  apiKey: n,
710
666
  center: {
@@ -714,11 +670,11 @@ function vt({
714
670
  address: e.location.address
715
671
  }
716
672
  ) : null,
717
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
718
- /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
673
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
674
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
719
675
  /* @__PURE__ */ t(Re, { src: e.imageUrl, name: e.name, size: "md" }),
720
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
721
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
676
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
677
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
722
678
  /* @__PURE__ */ t(
723
679
  "span",
724
680
  {
@@ -727,12 +683,12 @@ function vt({
727
683
  children: e.name
728
684
  }
729
685
  ),
730
- x != null ? /* @__PURE__ */ t(_e, { distanceKm: x }) : null
686
+ h != null ? /* @__PURE__ */ t(ze, { distanceKm: h }) : null
731
687
  ] }),
732
688
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
733
- (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: [
689
+ (S = e.location) != null && S.address ? /* @__PURE__ */ f("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
734
690
  /* @__PURE__ */ t(
735
- ne,
691
+ te,
736
692
  {
737
693
  "aria-hidden": "true",
738
694
  className: "ds:size-3.5 ds:shrink-0"
@@ -742,7 +698,7 @@ function vt({
742
698
  ] }) : null
743
699
  ] }),
744
700
  e.rating && e.rating.count > 0 ? /* @__PURE__ */ t(
745
- ke,
701
+ we,
746
702
  {
747
703
  value: e.rating.value,
748
704
  reviews: { count: e.rating.count },
@@ -750,31 +706,31 @@ function vt({
750
706
  }
751
707
  ) : null
752
708
  ] }),
753
- h ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
754
- l ? (e.languages ?? []).map((b) => /* @__PURE__ */ t(
755
- D,
709
+ x ? /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
710
+ l ? (e.languages ?? []).map((y) => /* @__PURE__ */ t(
711
+ $,
756
712
  {
757
713
  variant: "neutral",
758
- leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }),
759
- children: b.toUpperCase()
714
+ leading: /* @__PURE__ */ t(ke, { "aria-hidden": "true" }),
715
+ children: y.toUpperCase()
760
716
  },
761
- `lang-${b}`
717
+ `lang-${y}`
762
718
  )) : null,
763
- f ? (e.insurances ?? []).map((b) => /* @__PURE__ */ t(
764
- D,
719
+ p ? (e.insurances ?? []).map((y) => /* @__PURE__ */ t(
720
+ $,
765
721
  {
766
722
  variant: "info",
767
- leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
768
- children: b
723
+ leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
724
+ children: y
769
725
  },
770
- `ins-${b}`
726
+ `ins-${y}`
771
727
  )) : null,
772
- m ? /* @__PURE__ */ t(D, { variant: "info", leading: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
728
+ m ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Se, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
773
729
  ] }) : null,
774
- e.nextAvailableSlot && g ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
775
- /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
730
+ e.nextAvailableSlot && g ? /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
731
+ /* @__PURE__ */ f("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
776
732
  /* @__PURE__ */ t(
777
- Ce,
733
+ Pe,
778
734
  {
779
735
  "aria-hidden": "true",
780
736
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -788,8 +744,8 @@ function vt({
788
744
  intent: "primary",
789
745
  size: "sm",
790
746
  asChild: !0,
791
- onClick: (b) => {
792
- b.stopPropagation();
747
+ onClick: (y) => {
748
+ y.stopPropagation();
793
749
  },
794
750
  children: /* @__PURE__ */ t(
795
751
  "a",
@@ -808,8 +764,8 @@ function vt({
808
764
  intent: "secondary",
809
765
  size: "sm",
810
766
  asChild: !0,
811
- onClick: (b) => {
812
- b.stopPropagation(), i();
767
+ onClick: (y) => {
768
+ y.stopPropagation(), i();
813
769
  },
814
770
  children: /* @__PURE__ */ t("a", { href: e.href, "data-component": "practice-result-open-cta", children: d })
815
771
  }
@@ -820,7 +776,7 @@ function vt({
820
776
  )
821
777
  );
822
778
  }
823
- function pe({
779
+ function me({
824
780
  results: e,
825
781
  highlightedId: n,
826
782
  onCardHover: s,
@@ -832,54 +788,54 @@ function pe({
832
788
  loadingMore: c,
833
789
  loadingSkeletons: g,
834
790
  density: l = "compact",
835
- apiKey: f,
791
+ apiKey: p,
836
792
  containerRef: m
837
793
  }) {
838
- const { t: h } = w(), x = A(null);
839
- return J(() => {
794
+ const { t: x } = C(), h = A(null);
795
+ return Q(() => {
840
796
  if (!u) return;
841
- const r = x.current;
797
+ const r = h.current;
842
798
  if (!r || typeof IntersectionObserver > "u") return;
843
- const y = new IntersectionObserver(
799
+ const b = new IntersectionObserver(
844
800
  (N) => {
845
801
  for (const S of N)
846
- S.isIntersecting && ($("serp_load_more", {
802
+ S.isIntersecting && (F("serp_load_more", {
847
803
  currentCount: e.length
848
804
  }), u());
849
805
  },
850
806
  { root: null, rootMargin: "200px" }
851
807
  );
852
- return y.observe(r), () => y.disconnect();
808
+ return b.observe(r), () => b.disconnect();
853
809
  }, [u, e.length]), g ? /* @__PURE__ */ t(
854
810
  "div",
855
811
  {
856
812
  role: "status",
857
813
  "aria-live": "polite",
858
- "aria-label": h("practiceResults.loading"),
814
+ "aria-label": x("practiceResults.loading"),
859
815
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
860
- children: Array.from({ length: 4 }).map((r, y) => /* @__PURE__ */ t(
816
+ children: Array.from({ length: 4 }).map((r, b) => /* @__PURE__ */ t(
861
817
  Qe,
862
818
  {
863
819
  variant: "rounded",
864
820
  height: l === "rich" ? "11rem" : "7rem"
865
821
  },
866
- `pr-skel-${y}`
822
+ `pr-skel-${b}`
867
823
  ))
868
824
  }
869
- ) : /* @__PURE__ */ p(
825
+ ) : /* @__PURE__ */ f(
870
826
  "div",
871
827
  {
872
828
  ref: m,
873
829
  "data-component": "practice-results-list",
874
830
  role: "list",
875
- "aria-label": h("practiceResults.list.label"),
831
+ "aria-label": x("practiceResults.list.label"),
876
832
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
877
833
  children: [
878
834
  e.map((r) => /* @__PURE__ */ t("div", { role: "listitem", children: l === "rich" ? /* @__PURE__ */ t(
879
- vt,
835
+ ht,
880
836
  {
881
837
  result: r,
882
- apiKey: f,
838
+ apiKey: p,
883
839
  highlighted: n === r.id,
884
840
  onSelect: () => o(r.id),
885
841
  onOpenClick: () => i(r.id),
@@ -887,7 +843,7 @@ function pe({
887
843
  openLabel: a
888
844
  }
889
845
  ) : /* @__PURE__ */ t(
890
- gt,
846
+ ft,
891
847
  {
892
848
  result: r,
893
849
  highlighted: n === r.id,
@@ -901,7 +857,7 @@ function pe({
901
857
  u ? /* @__PURE__ */ t(
902
858
  "div",
903
859
  {
904
- ref: x,
860
+ ref: h,
905
861
  "aria-hidden": "true",
906
862
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
907
863
  children: c ? /* @__PURE__ */ t(Je, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
@@ -911,7 +867,7 @@ function pe({
911
867
  }
912
868
  );
913
869
  }
914
- function ue({
870
+ function de({
915
871
  results: e,
916
872
  searchCentre: n,
917
873
  zoom: s,
@@ -923,9 +879,9 @@ function ue({
923
879
  onBoundsChange: c,
924
880
  consentGranted: g,
925
881
  onConsentRequest: l,
926
- mapHandleRef: f
882
+ mapHandleRef: p
927
883
  }) {
928
- const { t: m } = w(), h = H(
884
+ const { t: m } = C(), x = D(
929
885
  () => e.filter(
930
886
  (r) => !!r.location
931
887
  ).map((r) => ({
@@ -937,7 +893,7 @@ function ue({
937
893
  label: r.name
938
894
  })),
939
895
  [e]
940
- ), x = H(() => {
896
+ ), h = D(() => {
941
897
  if (n) return n;
942
898
  const r = be(e);
943
899
  return r ? {
@@ -945,10 +901,10 @@ function ue({
945
901
  lng: (r.east + r.west) / 2
946
902
  } : { lat: 45.4642, lng: 9.19 };
947
903
  }, [e, n]);
948
- return J(() => {
904
+ return Q(() => {
949
905
  if (!c) return;
950
906
  const r = be(e);
951
- r && (c(r), $("serp_map_panned", { bounds: r }));
907
+ r && (c(r), F("serp_map_panned", { bounds: r }));
952
908
  }, [e, c]), /* @__PURE__ */ t(
953
909
  "div",
954
910
  {
@@ -957,11 +913,11 @@ function ue({
957
913
  children: /* @__PURE__ */ t(
958
914
  Ze,
959
915
  {
960
- ref: f,
916
+ ref: p,
961
917
  apiKey: o ?? "",
962
- center: x,
918
+ center: h,
963
919
  zoom: s,
964
- markers: h,
920
+ markers: x,
965
921
  selectedMarkerId: i,
966
922
  consentGranted: !!g,
967
923
  onConsentRequest: l,
@@ -981,7 +937,7 @@ function Ie({
981
937
  variantBodyProps: e
982
938
  }) {
983
939
  const { facets: n, value: s, onChange: o, heading: i, intro: a, totalCount: d, searchCentre: u } = e;
984
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
940
+ return /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
985
941
  /* @__PURE__ */ t(
986
942
  Me,
987
943
  {
@@ -991,7 +947,7 @@ function Ie({
991
947
  searchCentreLabel: u == null ? void 0 : u.label
992
948
  }
993
949
  ),
994
- n.length > 0 ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
950
+ n.length > 0 ? /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
995
951
  /* @__PURE__ */ t(
996
952
  Ae,
997
953
  {
@@ -1001,14 +957,14 @@ function Ie({
1001
957
  }
1002
958
  ),
1003
959
  /* @__PURE__ */ t(
1004
- de,
960
+ ce,
1005
961
  {
1006
962
  value: s.sort ?? "relevance",
1007
963
  onChange: (c) => o({ ...s, sort: c })
1008
964
  }
1009
965
  )
1010
966
  ] }) : /* @__PURE__ */ t("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ t(
1011
- de,
967
+ ce,
1012
968
  {
1013
969
  value: s.sort ?? "relevance",
1014
970
  onChange: (c) => o({ ...s, sort: c })
@@ -1016,8 +972,8 @@ function Ie({
1016
972
  ) })
1017
973
  ] });
1018
974
  }
1019
- function fe() {
1020
- const { t: e } = w();
975
+ function pe() {
976
+ const { t: e } = C();
1021
977
  return /* @__PURE__ */ t(
1022
978
  Ge,
1023
979
  {
@@ -1027,9 +983,9 @@ function fe() {
1027
983
  }
1028
984
  );
1029
985
  }
1030
- function he({ onRetry: e }) {
1031
- const { t: n } = w();
1032
- return /* @__PURE__ */ p(Y, { variant: "error", children: [
986
+ function fe({ onRetry: e }) {
987
+ const { t: n } = C();
988
+ return /* @__PURE__ */ f(Y, { variant: "error", children: [
1033
989
  /* @__PURE__ */ t(Y.Title, { as: "h3", children: n("practiceResults.error.title") }),
1034
990
  /* @__PURE__ */ t(Y.Description, { children: n("practiceResults.error.description") }),
1035
991
  e ? /* @__PURE__ */ t(Y.Action, { children: /* @__PURE__ */ t(
@@ -1037,14 +993,14 @@ function he({ onRetry: e }) {
1037
993
  {
1038
994
  intent: "secondary",
1039
995
  size: "sm",
1040
- startIcon: /* @__PURE__ */ t(Ye, { "aria-hidden": "true" }),
996
+ startIcon: /* @__PURE__ */ t(et, { "aria-hidden": "true" }),
1041
997
  onClick: e,
1042
998
  children: n("practiceResults.error.retry")
1043
999
  }
1044
1000
  ) }) : null
1045
1001
  ] });
1046
1002
  }
1047
- function xt(e) {
1003
+ function gt(e) {
1048
1004
  const {
1049
1005
  results: n,
1050
1006
  apiKey: s,
@@ -1056,20 +1012,20 @@ function xt(e) {
1056
1012
  emptyResultsSlot: c,
1057
1013
  errorSlot: g,
1058
1014
  error: l,
1059
- onRetry: f,
1015
+ onRetry: p,
1060
1016
  highlightedId: m,
1061
- onCardHover: h,
1062
- onPinClick: x,
1017
+ onCardHover: x,
1018
+ onPinClick: h,
1063
1019
  consentGranted: r,
1064
- onConsentRequest: y,
1020
+ onConsentRequest: b,
1065
1021
  onBoundsChange: N,
1066
1022
  listContainerRef: S
1067
- } = e, { t: b } = w(), [M, z] = me(!1), I = l ? g ?? /* @__PURE__ */ t(he, { onRetry: f }) : n.length === 0 && !u ? c ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1068
- pe,
1023
+ } = e, { t: y } = C(), [M, _] = ue(!1), I = l ? g ?? /* @__PURE__ */ t(fe, { onRetry: p }) : n.length === 0 && !u ? c ?? /* @__PURE__ */ t(pe, {}) : /* @__PURE__ */ t(
1024
+ me,
1069
1025
  {
1070
1026
  results: n,
1071
1027
  highlightedId: m,
1072
- onCardHover: h,
1028
+ onCardHover: x,
1073
1029
  onCardSelect: e.onCardSelect,
1074
1030
  onCardOpenClick: e.onCardOpenClick,
1075
1031
  openLabel: e.openLabel,
@@ -1081,12 +1037,12 @@ function xt(e) {
1081
1037
  containerRef: S
1082
1038
  }
1083
1039
  );
1084
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1040
+ return /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1085
1041
  /* @__PURE__ */ t(Ie, { variantBodyProps: e }),
1086
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:grid ds:lg:grid-cols-[55%_45%] ds:lg:gap-[var(--spacing-lg)] ds:lg:items-start", children: [
1087
- /* @__PURE__ */ t("div", { className: "ds:min-w-0 ds:lg:max-h-[40rem] ds:lg:overflow-hidden", children: I }),
1042
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:grid ds:lg:grid-cols-[55%_45%] ds:lg:gap-[var(--spacing-lg)] ds:lg:items-start", children: [
1043
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0 ds:lg:max-h-[40rem] ds:lg:overflow-y-auto", children: I }),
1088
1044
  /* @__PURE__ */ t("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ t(
1089
- ue,
1045
+ de,
1090
1046
  {
1091
1047
  results: n,
1092
1048
  searchCentre: i,
@@ -1094,13 +1050,13 @@ function xt(e) {
1094
1050
  apiKey: s,
1095
1051
  highlightedId: m,
1096
1052
  onPinClick: (P) => {
1097
- W(n, P, "pin", e.onResultSelect), x(P);
1053
+ J(n, P, "pin", e.onResultSelect), h(P);
1098
1054
  },
1099
- onPinHover: h,
1055
+ onPinHover: x,
1100
1056
  onPinFirstInteract: e.onPinFirstInteract,
1101
1057
  onBoundsChange: N,
1102
1058
  consentGranted: r,
1103
- onConsentRequest: y,
1059
+ onConsentRequest: b,
1104
1060
  mapHandleRef: e.mapHandleRef
1105
1061
  }
1106
1062
  ) })
@@ -1110,18 +1066,18 @@ function xt(e) {
1110
1066
  {
1111
1067
  intent: "primary",
1112
1068
  size: "md",
1113
- startIcon: /* @__PURE__ */ t(at, { "aria-hidden": "true" }),
1114
- onClick: () => z(!0),
1115
- children: b("practiceResults.viewMap")
1069
+ startIcon: /* @__PURE__ */ t(nt, { "aria-hidden": "true" }),
1070
+ onClick: () => _(!0),
1071
+ children: y("practiceResults.viewMap")
1116
1072
  }
1117
1073
  ) }),
1118
- /* @__PURE__ */ t(_.Root, { open: M, onOpenChange: z, children: /* @__PURE__ */ p(_.Content, { side: "bottom", size: "lg", children: [
1119
- /* @__PURE__ */ t(_.Header, { children: /* @__PURE__ */ t(_.Title, { children: b("practiceResults.map.label") }) }),
1120
- /* @__PURE__ */ p(_.Body, { children: [
1121
- /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: b("practiceResults.sheet.description") }),
1122
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1074
+ /* @__PURE__ */ t(z.Root, { open: M, onOpenChange: _, children: /* @__PURE__ */ f(z.Content, { side: "bottom", size: "lg", children: [
1075
+ /* @__PURE__ */ t(z.Header, { children: /* @__PURE__ */ t(z.Title, { children: y("practiceResults.map.label") }) }),
1076
+ /* @__PURE__ */ f(z.Body, { children: [
1077
+ /* @__PURE__ */ t(z.Description, { className: "ds:sr-only", children: y("practiceResults.sheet.description") }),
1078
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1123
1079
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1124
- ue,
1080
+ de,
1125
1081
  {
1126
1082
  results: n,
1127
1083
  searchCentre: i,
@@ -1129,13 +1085,13 @@ function xt(e) {
1129
1085
  apiKey: s,
1130
1086
  highlightedId: m,
1131
1087
  onPinClick: (P) => {
1132
- W(n, P, "pin", e.onResultSelect), x(P);
1088
+ J(n, P, "pin", e.onResultSelect), h(P);
1133
1089
  },
1134
- onPinHover: h,
1090
+ onPinHover: x,
1135
1091
  onPinFirstInteract: e.onPinFirstInteract,
1136
1092
  onBoundsChange: N,
1137
1093
  consentGranted: r,
1138
- onConsentRequest: y,
1094
+ onConsentRequest: b,
1139
1095
  mapHandleRef: e.mapHandleRef
1140
1096
  }
1141
1097
  ) }),
@@ -1145,44 +1101,44 @@ function xt(e) {
1145
1101
  ] }) })
1146
1102
  ] });
1147
1103
  }
1148
- const bt = {
1104
+ const vt = {
1149
1105
  peek: "sm",
1150
1106
  half: "md",
1151
1107
  full: "lg"
1152
- }, V = [
1108
+ }, E = [
1153
1109
  "peek",
1154
1110
  "half",
1155
1111
  "full"
1156
1112
  ];
1157
- function yt({ value: e, onChange: n }) {
1158
- const { t: s, i18n: o } = w(), i = o.dir() === "rtl", a = A(
1113
+ function xt({ value: e, onChange: n }) {
1114
+ const { t: s, i18n: o } = C(), i = o.dir() === "rtl", a = A(
1159
1115
  /* @__PURE__ */ new Map()
1160
1116
  ), d = K((c) => {
1161
1117
  var g;
1162
1118
  (g = a.current.get(c)) == null || g.focus();
1163
1119
  }, []), u = K(
1164
1120
  (c, g) => {
1165
- const l = V.indexOf(g), f = V.length, m = i ? "ArrowLeft" : "ArrowRight", h = i ? "ArrowRight" : "ArrowLeft";
1166
- let x = null;
1121
+ const l = E.indexOf(g), p = E.length, m = i ? "ArrowLeft" : "ArrowRight", x = i ? "ArrowRight" : "ArrowLeft";
1122
+ let h = null;
1167
1123
  switch (c.key) {
1168
1124
  case m:
1169
1125
  case "ArrowDown":
1170
- x = V[(l + 1) % f];
1126
+ h = E[(l + 1) % p];
1171
1127
  break;
1172
- case h:
1128
+ case x:
1173
1129
  case "ArrowUp":
1174
- x = V[(l - 1 + f) % f];
1130
+ h = E[(l - 1 + p) % p];
1175
1131
  break;
1176
1132
  case "Home":
1177
- x = V[0];
1133
+ h = E[0];
1178
1134
  break;
1179
1135
  case "End":
1180
- x = V[f - 1];
1136
+ h = E[p - 1];
1181
1137
  break;
1182
1138
  default:
1183
1139
  return;
1184
1140
  }
1185
- c.preventDefault(), x && x !== g && n(x), x && d(x);
1141
+ c.preventDefault(), h && h !== g && n(h), h && d(h);
1186
1142
  },
1187
1143
  [d, i, n]
1188
1144
  );
@@ -1192,7 +1148,7 @@ function yt({ value: e, onChange: n }) {
1192
1148
  role: "radiogroup",
1193
1149
  "aria-label": s("practiceResults.sheet.snap.label"),
1194
1150
  className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
1195
- children: V.map((c) => {
1151
+ children: E.map((c) => {
1196
1152
  const g = e === c;
1197
1153
  return /* @__PURE__ */ t(
1198
1154
  "button",
@@ -1218,7 +1174,7 @@ function yt({ value: e, onChange: n }) {
1218
1174
  }
1219
1175
  );
1220
1176
  }
1221
- function Rt(e) {
1177
+ function bt(e) {
1222
1178
  const {
1223
1179
  results: n,
1224
1180
  apiKey: s,
@@ -1230,23 +1186,23 @@ function Rt(e) {
1230
1186
  emptyResultsSlot: c,
1231
1187
  errorSlot: g,
1232
1188
  error: l,
1233
- onRetry: f,
1189
+ onRetry: p,
1234
1190
  highlightedId: m,
1235
- onCardHover: h,
1236
- onPinClick: x,
1191
+ onCardHover: x,
1192
+ onPinClick: h,
1237
1193
  consentGranted: r,
1238
- onConsentRequest: y,
1194
+ onConsentRequest: b,
1239
1195
  onBoundsChange: N,
1240
1196
  listContainerRef: S,
1241
- facets: b,
1197
+ facets: y,
1242
1198
  value: M,
1243
- onChange: z
1244
- } = e, { t: I } = w(), [P, E] = me("half"), O = bt[P], U = We("(min-width: 1024px)"), j = l ? g ?? /* @__PURE__ */ t(he, { onRetry: f }) : n.length === 0 && !u ? c ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1245
- pe,
1199
+ onChange: _
1200
+ } = e, { t: I } = C(), [P, V] = ue("half"), U = vt[P], O = We("(min-width: 1024px)"), j = l ? g ?? /* @__PURE__ */ t(fe, { onRetry: p }) : n.length === 0 && !u ? c ?? /* @__PURE__ */ t(pe, {}) : /* @__PURE__ */ t(
1201
+ me,
1246
1202
  {
1247
1203
  results: n,
1248
1204
  highlightedId: m,
1249
- onCardHover: h,
1205
+ onCardHover: x,
1250
1206
  onCardSelect: e.onCardSelect,
1251
1207
  onCardOpenClick: e.onCardOpenClick,
1252
1208
  openLabel: e.openLabel,
@@ -1258,8 +1214,8 @@ function Rt(e) {
1258
1214
  apiKey: s,
1259
1215
  containerRef: S
1260
1216
  }
1261
- ), C = /* @__PURE__ */ t(
1262
- ue,
1217
+ ), k = /* @__PURE__ */ t(
1218
+ de,
1263
1219
  {
1264
1220
  results: n,
1265
1221
  searchCentre: i,
@@ -1267,25 +1223,25 @@ function Rt(e) {
1267
1223
  apiKey: s,
1268
1224
  highlightedId: m,
1269
1225
  onPinClick: (R) => {
1270
- W(n, R, "pin", e.onResultSelect), x(R);
1226
+ J(n, R, "pin", e.onResultSelect), h(R);
1271
1227
  },
1272
- onPinHover: h,
1228
+ onPinHover: x,
1273
1229
  onPinFirstInteract: e.onPinFirstInteract,
1274
1230
  onBoundsChange: N,
1275
1231
  consentGranted: r,
1276
- onConsentRequest: y,
1232
+ onConsentRequest: b,
1277
1233
  mapHandleRef: e.mapHandleRef
1278
1234
  }
1279
- ), Z = b.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(
1235
+ ), W = y.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(
1280
1236
  Ae,
1281
1237
  {
1282
- facets: b,
1238
+ facets: y,
1283
1239
  value: M.facets,
1284
- onChange: (R) => z({ ...M, facets: R }),
1240
+ onChange: (R) => _({ ...M, facets: R }),
1285
1241
  floating: !0
1286
1242
  }
1287
1243
  ) }) : null;
1288
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1244
+ return /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1289
1245
  /* @__PURE__ */ t(
1290
1246
  Me,
1291
1247
  {
@@ -1295,54 +1251,65 @@ function Rt(e) {
1295
1251
  searchCentreLabel: i == null ? void 0 : i.label
1296
1252
  }
1297
1253
  ),
1298
- U ? (
1254
+ O ? (
1299
1255
  // Desktop: 65/35 map left + scrollable card rail right. NO Sheet
1300
1256
  // (the Sheet would portal to body and occlude the desktop
1301
1257
  // layout regardless of the parent's `lg:hidden` class).
1302
- /* @__PURE__ */ p("div", { className: "ds:grid ds:grid-cols-[65%_35%] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1303
- /* @__PURE__ */ p("div", { className: "ds:relative ds:h-[40rem]", children: [
1304
- C,
1305
- Z
1258
+ //
1259
+ // 0.31.4: map + rail cells fill the viewport (`calc(100dvh -
1260
+ // var(--practice-results-chrome, 8rem))`) instead of a fixed
1261
+ // 40rem. Map-first is a viewport-dominant variant — the map
1262
+ // should command the visible canvas, not float as a 640px
1263
+ // block in the middle of the page. Consumers with a different
1264
+ // page chrome height override via the CSS custom property:
1265
+ // .my-page-wrapper { --practice-results-chrome: 4rem; }
1266
+ // The default 8rem approximates a typical sticky header.
1267
+ // `dvh` (dynamic viewport height) plays nice with mobile-
1268
+ // chrome show/hide.
1269
+ /* @__PURE__ */ f("div", { className: "ds:grid ds:grid-cols-[65%_35%] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1270
+ /* @__PURE__ */ f("div", { className: "ds:relative ds:h-[calc(100dvh-var(--practice-results-chrome,8rem))] ds:min-h-[40rem]", children: [
1271
+ k,
1272
+ W
1306
1273
  ] }),
1307
- /* @__PURE__ */ t("div", { className: "ds:min-w-0 ds:max-h-[40rem] ds:overflow-y-auto", children: j })
1274
+ /* @__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: j })
1308
1275
  ] })
1309
1276
  ) : (
1310
1277
  // Mobile: full-bleed map + persistent bottom sheet defaulting to
1311
1278
  // 'half' state. No X close button — the sheet is core to the
1312
1279
  // layout, not dismissible. Patient cycles peek / half / full
1313
1280
  // via the snap radiogroup at the top of the sheet body.
1314
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1315
- /* @__PURE__ */ p("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1316
- C,
1317
- Z
1281
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1282
+ /* @__PURE__ */ f("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1283
+ k,
1284
+ W
1318
1285
  ] }),
1319
- /* @__PURE__ */ t(_.Root, { open: !0, children: /* @__PURE__ */ t(
1320
- _.Content,
1286
+ /* @__PURE__ */ t(z.Root, { open: !0, children: /* @__PURE__ */ t(
1287
+ z.Content,
1321
1288
  {
1322
1289
  side: "bottom",
1323
- size: O,
1290
+ size: U,
1324
1291
  onEscapeKeyDown: (R) => R.preventDefault(),
1325
1292
  onPointerDownOutside: (R) => R.preventDefault(),
1326
1293
  onInteractOutside: (R) => R.preventDefault(),
1327
- children: /* @__PURE__ */ p(_.Body, { children: [
1328
- /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: I("practiceResults.sheet.descriptionMapFirst") }),
1329
- /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1330
- /* @__PURE__ */ t(_.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: I("practiceResults.sheet.title", {
1294
+ children: /* @__PURE__ */ f(z.Body, { children: [
1295
+ /* @__PURE__ */ t(z.Description, { className: "ds:sr-only", children: I("practiceResults.sheet.descriptionMapFirst") }),
1296
+ /* @__PURE__ */ f("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1297
+ /* @__PURE__ */ t(z.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: I("practiceResults.sheet.title", {
1331
1298
  count: e.totalCount ?? n.length
1332
1299
  }) }),
1333
1300
  /* @__PURE__ */ t(
1334
- yt,
1301
+ xt,
1335
1302
  {
1336
1303
  value: P,
1337
- onChange: E
1304
+ onChange: V
1338
1305
  }
1339
1306
  )
1340
1307
  ] }),
1341
1308
  /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1342
- de,
1309
+ ce,
1343
1310
  {
1344
1311
  value: M.sort ?? "relevance",
1345
- onChange: (R) => z({ ...M, sort: R })
1312
+ onChange: (R) => _({ ...M, sort: R })
1346
1313
  }
1347
1314
  ) }),
1348
1315
  j
@@ -1353,7 +1320,7 @@ function Rt(e) {
1353
1320
  )
1354
1321
  ] });
1355
1322
  }
1356
- function kt(e) {
1323
+ function yt(e) {
1357
1324
  const {
1358
1325
  results: n,
1359
1326
  apiKey: s,
@@ -1365,14 +1332,14 @@ function kt(e) {
1365
1332
  error: c,
1366
1333
  onRetry: g,
1367
1334
  highlightedId: l,
1368
- onCardHover: f,
1335
+ onCardHover: p,
1369
1336
  listContainerRef: m
1370
- } = e, h = c ? u ?? /* @__PURE__ */ t(he, { onRetry: g }) : n.length === 0 && !a ? d ?? /* @__PURE__ */ t(fe, {}) : /* @__PURE__ */ t(
1371
- pe,
1337
+ } = e, x = c ? u ?? /* @__PURE__ */ t(fe, { onRetry: g }) : n.length === 0 && !a ? d ?? /* @__PURE__ */ t(pe, {}) : /* @__PURE__ */ t(
1338
+ me,
1372
1339
  {
1373
1340
  results: n,
1374
1341
  highlightedId: l,
1375
- onCardHover: f,
1342
+ onCardHover: p,
1376
1343
  onCardSelect: e.onCardSelect,
1377
1344
  onCardOpenClick: e.onCardOpenClick,
1378
1345
  openLabel: e.openLabel,
@@ -1385,63 +1352,64 @@ function kt(e) {
1385
1352
  containerRef: m
1386
1353
  }
1387
1354
  );
1388
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1355
+ return /* @__PURE__ */ f("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1389
1356
  /* @__PURE__ */ t(Ie, { variantBodyProps: e }),
1390
- h
1357
+ x
1391
1358
  ] });
1392
1359
  }
1393
- const wt = Ue(function({
1360
+ const Rt = Ue(function({
1394
1361
  variant: n = "split-list-map",
1395
1362
  results: s,
1396
1363
  totalCount: o,
1397
1364
  searchCentre: i,
1398
1365
  facets: a,
1399
1366
  googleMapsApiKey: d,
1400
- defaultZoom: u = rt,
1367
+ defaultZoom: u = st,
1401
1368
  onBoundsChange: c,
1402
1369
  consentGranted: g,
1403
1370
  onConsentRequest: l,
1404
- onLoadMore: f,
1405
- loadingMore: m,
1371
+ skipConsentGate: p = !1,
1372
+ onLoadMore: m,
1373
+ loadingMore: x,
1406
1374
  value: h,
1407
- onChange: x,
1408
- onResultSelect: r,
1409
- loading: y,
1410
- emptyResultsSlot: N,
1411
- errorSlot: S,
1412
- error: b,
1413
- onRetry: M,
1414
- heading: z,
1415
- intro: I,
1416
- cardOpenButtonLabel: P,
1417
- "aria-label": E,
1375
+ onChange: r,
1376
+ onResultSelect: b,
1377
+ loading: N,
1378
+ emptyResultsSlot: S,
1379
+ errorSlot: y,
1380
+ error: M,
1381
+ onRetry: _,
1382
+ heading: I,
1383
+ intro: P,
1384
+ cardOpenButtonLabel: V,
1385
+ "aria-label": U,
1418
1386
  id: O,
1419
- className: U,
1420
- ...j
1421
- }, C) {
1422
- const { t: Z, i18n: R } = w(), [Te, Q] = me(null), X = A(/* @__PURE__ */ new Set()), ae = A(/* @__PURE__ */ new Set()), $e = A(null), se = A(null), ie = H(
1387
+ className: j,
1388
+ ...k
1389
+ }, W) {
1390
+ const { t: R, i18n: he } = C(), [Te, Z] = ue(null), X = A(/* @__PURE__ */ new Set()), ne = A(/* @__PURE__ */ new Set()), Fe = A(null), ae = A(null), se = D(
1423
1391
  () => ({
1424
1392
  getVariant: () => n,
1425
1393
  scrollToResult: (v) => {
1426
- const T = se.current;
1394
+ const T = ae.current;
1427
1395
  if (!T) return;
1428
- const k = T.querySelector(
1396
+ const w = T.querySelector(
1429
1397
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
1430
1398
  );
1431
- k && (k.scrollIntoView({ behavior: "smooth", block: "nearest" }), Q(v));
1399
+ w && (w.scrollIntoView({ behavior: "smooth", block: "nearest" }), Z(v));
1432
1400
  },
1433
1401
  focusPin: (v) => {
1434
- Q(v);
1402
+ Z(v);
1435
1403
  }
1436
1404
  }),
1437
1405
  [n]
1438
1406
  );
1439
- qe(C, () => ie, [ie]), Xe(it, ie, O);
1440
- const Fe = P ?? Z("practiceResults.card.open"), De = K(
1407
+ qe(W, () => se, [se]), Xe(at, se, O);
1408
+ const He = V ?? R("practiceResults.card.open"), $e = K(
1441
1409
  (v) => {
1442
1410
  if (v.nextAvailableSlot)
1443
1411
  try {
1444
- return new Intl.DateTimeFormat(R.language, {
1412
+ return new Intl.DateTimeFormat(he.language, {
1445
1413
  weekday: "short",
1446
1414
  hour: "numeric",
1447
1415
  minute: "numeric"
@@ -1450,133 +1418,138 @@ const wt = Ue(function({
1450
1418
  return v.nextAvailableSlot.dateTime;
1451
1419
  }
1452
1420
  },
1453
- [R.language]
1421
+ [he.language]
1454
1422
  ), ge = A(null);
1455
- J(() => {
1456
- ge.current !== n && (ge.current = n, $("serp_variant_exposed", {
1423
+ Q(() => {
1424
+ ge.current !== n && (ge.current = n, F("serp_variant_exposed", {
1457
1425
  variant: n,
1458
1426
  totalCount: o ?? s.length
1459
- }), X.current = /* @__PURE__ */ new Set(), ae.current = /* @__PURE__ */ new Set());
1427
+ }), X.current = /* @__PURE__ */ new Set(), ne.current = /* @__PURE__ */ new Set());
1460
1428
  }, [n]);
1461
- const re = A(!1), le = H(() => a ?? [], [a]), oe = h.sort ?? (i ? "distance" : "relevance"), L = H(() => {
1462
- const v = ct(s, h.facets, le);
1463
- return dt(v, oe, i);
1464
- }, [s, h.facets, le, oe, i]);
1465
- J(() => {
1429
+ const ie = A(!1), re = D(() => a ?? [], [a]), le = h.sort ?? (i ? "distance" : "relevance"), L = D(() => {
1430
+ const v = lt(s, h.facets, re);
1431
+ return ot(v, le, i);
1432
+ }, [s, h.facets, re, le, i]);
1433
+ Q(() => {
1466
1434
  const v = L.length === 0;
1467
- v && !re.current ? ($("serp_empty_results", {
1435
+ v && !ie.current ? (F("serp_empty_results", {
1468
1436
  appliedFacets: h.facets ?? {}
1469
- }), re.current = !0) : v || (re.current = !1);
1437
+ }), ie.current = !0) : v || (ie.current = !1);
1470
1438
  }, [L.length, h.facets]);
1471
1439
  const B = A(null), ve = A(null);
1472
- J(
1440
+ Q(
1473
1441
  () => () => {
1474
1442
  B.current && clearTimeout(B.current);
1475
1443
  },
1476
1444
  []
1477
1445
  );
1478
- const He = K((v) => {
1479
- Q(v), !X.current.has(v) && (ve.current === v && B.current || (B.current && clearTimeout(B.current), ve.current = v, B.current = setTimeout(() => {
1480
- X.current.has(v) || (X.current.add(v), $("serp_result_hovered_card", { resultId: v })), B.current = null;
1446
+ const De = K((v) => {
1447
+ Z(v), !X.current.has(v) && (ve.current === v && B.current || (B.current && clearTimeout(B.current), ve.current = v, B.current = setTimeout(() => {
1448
+ X.current.has(v) || (X.current.add(v), F("serp_result_hovered_card", { resultId: v })), B.current = null;
1481
1449
  }, 500)));
1482
1450
  }, []), Oe = K((v) => {
1483
- Q(v);
1484
- const T = se.current;
1451
+ Z(v);
1452
+ const T = ae.current;
1485
1453
  if (!T) return;
1486
- const k = T.querySelector(
1454
+ const w = T.querySelector(
1487
1455
  `[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
1488
1456
  );
1489
- k == null || k.scrollIntoView({ behavior: "smooth", block: "nearest" });
1457
+ w == null || w.scrollIntoView({ behavior: "smooth", block: "nearest" });
1490
1458
  }, []), Le = K((v) => {
1491
- ae.current.has(v) || (ae.current.add(v), $("serp_result_hovered_pin", { resultId: v }));
1459
+ ne.current.has(v) || (ne.current.add(v), F("serp_result_hovered_pin", { resultId: v }));
1492
1460
  }, []), xe = A(null), Ke = K(
1493
1461
  (v) => {
1494
- Q(v);
1495
- const T = L.find((k) => k.id === v);
1462
+ Z(v);
1463
+ const T = L.find((w) => w.id === v);
1496
1464
  if (T) {
1497
1465
  if (T.location) {
1498
- const k = xe.current;
1499
- k == null || k.panTo({
1466
+ const w = xe.current;
1467
+ w == null || w.panTo({
1500
1468
  lat: T.location.lat,
1501
1469
  lng: T.location.lng
1502
- }), k == null || k.setZoom(16);
1470
+ }), w == null || w.setZoom(16);
1503
1471
  }
1504
- W(L, v, "card", r);
1472
+ J(L, v, "card", b);
1505
1473
  }
1506
1474
  },
1507
- [L, r]
1475
+ [L, b]
1508
1476
  ), je = K(
1509
1477
  (v) => {
1510
- W(
1478
+ J(
1511
1479
  L,
1512
1480
  v,
1513
1481
  "open-button",
1514
- r
1482
+ b
1515
1483
  );
1516
1484
  },
1517
- [L, r]
1518
- ), Be = !!y && s.length === 0, ce = {
1485
+ [L, b]
1486
+ ), Be = !!N && s.length === 0, oe = {
1519
1487
  results: L,
1520
1488
  totalCount: o,
1521
1489
  searchCentre: i,
1522
- facets: le,
1523
- value: { ...h, sort: oe },
1524
- onChange: x,
1525
- onResultSelect: r,
1526
- onLoadMore: f,
1527
- loadingMore: m,
1490
+ facets: re,
1491
+ value: { ...h, sort: le },
1492
+ onChange: r,
1493
+ onResultSelect: b,
1494
+ onLoadMore: m,
1495
+ loadingMore: x,
1528
1496
  apiKey: d,
1529
1497
  zoom: u,
1530
- consentGranted: g,
1531
- onConsentRequest: l,
1498
+ // 0.31.4: when `skipConsentGate` is true the kit synthesises
1499
+ // `consentGranted=true` for every internal MapView; the consumer's
1500
+ // CMP at the page level is responsible for whether the Google Maps
1501
+ // loader script is present at all. `onConsentRequest` is dropped
1502
+ // because no placeholder renders — nothing to fire it from.
1503
+ consentGranted: p ? !0 : g,
1504
+ onConsentRequest: p ? void 0 : l,
1532
1505
  onBoundsChange: c,
1533
1506
  loadingSkeletons: Be,
1534
- emptyResultsSlot: N,
1535
- errorSlot: S,
1536
- error: b,
1537
- onRetry: M,
1538
- heading: z,
1539
- intro: I,
1507
+ emptyResultsSlot: S,
1508
+ errorSlot: y,
1509
+ error: M,
1510
+ onRetry: _,
1511
+ heading: I,
1512
+ intro: P,
1540
1513
  highlightedId: Te,
1541
- onCardHover: He,
1514
+ onCardHover: De,
1542
1515
  onPinClick: Oe,
1543
1516
  onPinFirstInteract: Le,
1544
1517
  onCardSelect: Ke,
1545
1518
  onCardOpenClick: je,
1546
- openLabel: Fe,
1547
- formatNextSlot: De,
1548
- listContainerRef: $e,
1519
+ openLabel: He,
1520
+ formatNextSlot: $e,
1521
+ listContainerRef: Fe,
1549
1522
  mapHandleRef: xe
1550
- }, Ve = (() => {
1523
+ }, Ee = (() => {
1551
1524
  switch (n) {
1552
1525
  case "map-first":
1553
- return /* @__PURE__ */ t(Rt, { ...ce });
1526
+ return /* @__PURE__ */ t(bt, { ...oe });
1554
1527
  case "rich-cards":
1555
- return /* @__PURE__ */ t(kt, { ...ce });
1528
+ return /* @__PURE__ */ t(yt, { ...oe });
1556
1529
  case "split-list-map":
1557
1530
  default:
1558
- return /* @__PURE__ */ t(xt, { ...ce });
1531
+ return /* @__PURE__ */ t(gt, { ...oe });
1559
1532
  }
1560
- })(), Ee = E ?? Z("practiceResults.regionLabel");
1533
+ })(), Ve = U ?? R("practiceResults.regionLabel");
1561
1534
  return /* @__PURE__ */ t(
1562
1535
  "div",
1563
1536
  {
1564
- ref: se,
1537
+ ref: ae,
1565
1538
  role: "region",
1566
- "aria-label": Ee,
1539
+ "aria-label": Ve,
1567
1540
  id: O,
1568
1541
  "data-component": "practice-results",
1569
1542
  "data-component-id": O,
1570
1543
  "data-variant": n,
1571
- className: ut({ variant: n, className: U }),
1572
- ...j,
1573
- children: Ve
1544
+ className: ct({ variant: n, className: j }),
1545
+ ...k,
1546
+ children: Ee
1574
1547
  }
1575
1548
  );
1576
1549
  });
1577
- wt.displayName = "PracticeResults";
1550
+ Rt.displayName = "PracticeResults";
1578
1551
  export {
1579
- wt as P,
1580
- it as p
1552
+ Rt as P,
1553
+ at as p
1581
1554
  };
1582
- //# sourceMappingURL=practice-results-RPL64j8E.js.map
1555
+ //# sourceMappingURL=practice-results-VqbCUO1b.js.map