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