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