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