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