@alfadocs/ui-kit-debug 1.118.0 → 1.120.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/{address-autocomplete-zLygkxFc.js → address-autocomplete-D2uNpxcE.js} +2 -2
- package/dist/_chunks/{address-autocomplete-zLygkxFc.js.map → address-autocomplete-D2uNpxcE.js.map} +1 -1
- package/dist/_chunks/{address-fields-Dl1ALKhP.js → address-fields-BU65pA-V.js} +2 -2
- package/dist/_chunks/{address-fields-Dl1ALKhP.js.map → address-fields-BU65pA-V.js.map} +1 -1
- package/dist/_chunks/bill-line-table-DUMEHnQ4.js +1754 -0
- package/dist/_chunks/bill-line-table-DUMEHnQ4.js.map +1 -0
- package/dist/_chunks/{calendar-appointment-editor-dialog-BEmBcb61.js → calendar-appointment-editor-dialog-rw02sXGw.js} +4 -4
- package/dist/_chunks/{calendar-appointment-editor-dialog-BEmBcb61.js.map → calendar-appointment-editor-dialog-rw02sXGw.js.map} +1 -1
- package/dist/_chunks/{compact-editor-fields-6sTWRLtf.js → compact-editor-fields-cP6yh7xv.js} +3 -3
- package/dist/_chunks/{compact-editor-fields-6sTWRLtf.js.map → compact-editor-fields-cP6yh7xv.js.map} +1 -1
- package/dist/_chunks/counts-BXtzNv_G.js +92 -0
- package/dist/_chunks/counts-BXtzNv_G.js.map +1 -0
- package/dist/_chunks/{data-grid-DiBSbN2Y.js → data-grid-Bbf8t4z3.js} +2 -2
- package/dist/_chunks/{data-grid-DiBSbN2Y.js.map → data-grid-Bbf8t4z3.js.map} +1 -1
- package/dist/_chunks/{default-tabs-CD285u0C.js → default-tabs-Cxkw1Ws0.js} +332 -368
- package/dist/_chunks/default-tabs-Cxkw1Ws0.js.map +1 -0
- package/dist/_chunks/{document-scanner-5p-Uu8dy.js → document-scanner-CETscDea.js} +2 -2
- package/dist/_chunks/{document-scanner-5p-Uu8dy.js.map → document-scanner-CETscDea.js.map} +1 -1
- package/dist/_chunks/file-code-Cf-_gSzd.js +23 -0
- package/dist/_chunks/file-code-Cf-_gSzd.js.map +1 -0
- package/dist/_chunks/{file-manager-CV1_GtjC.js → file-manager-DNq-sEsy.js} +2 -2
- package/dist/_chunks/{file-manager-CV1_GtjC.js.map → file-manager-DNq-sEsy.js.map} +1 -1
- package/dist/_chunks/{file-upload-CxjCs7TX.js → file-upload-DQc0LsBM.js} +385 -311
- package/dist/_chunks/file-upload-DQc0LsBM.js.map +1 -0
- package/dist/_chunks/invoice-upload-list-CsFsRgbt.js +952 -0
- package/dist/_chunks/invoice-upload-list-CsFsRgbt.js.map +1 -0
- package/dist/_chunks/map-view-h6ngp2xi.js +1578 -0
- package/dist/_chunks/map-view-h6ngp2xi.js.map +1 -0
- package/dist/_chunks/maps-MpMxTBov.js +63 -0
- package/dist/_chunks/maps-MpMxTBov.js.map +1 -0
- package/dist/_chunks/maps-core-gate-DKx96CC_.js +1492 -0
- package/dist/_chunks/{maps-core-gate-C4dyo1ic.js.map → maps-core-gate-DKx96CC_.js.map} +1 -1
- package/dist/_chunks/{notes-panel-CHR-Jv6N.js → notes-panel-BOwlTz2-.js} +2 -2
- package/dist/_chunks/{notes-panel-CHR-Jv6N.js.map → notes-panel-BOwlTz2-.js.map} +1 -1
- package/dist/_chunks/package-plus-CTecQK3x.js +25 -0
- package/dist/_chunks/package-plus-CTecQK3x.js.map +1 -0
- package/dist/_chunks/{practice-results-b3uchdBn.js → practice-results-yCresv86.js} +759 -750
- package/dist/_chunks/practice-results-yCresv86.js.map +1 -0
- package/dist/_chunks/{public-footer-CB7ruuLI.js → public-footer-C8UIzqLJ.js} +326 -243
- package/dist/_chunks/public-footer-C8UIzqLJ.js.map +1 -0
- package/dist/_chunks/{radiograph-panel.agent-9jwXlOXB.js → radiograph-panel.agent-Dcv16n7u.js} +2 -2
- package/dist/_chunks/{radiograph-panel.agent-9jwXlOXB.js.map → radiograph-panel.agent-Dcv16n7u.js.map} +1 -1
- package/dist/_chunks/{reserved.agent-V2Eqoabh.js → reserved.agent-DRSZ8UcL.js} +2 -2
- package/dist/_chunks/{reserved.agent-V2Eqoabh.js.map → reserved.agent-DRSZ8UcL.js.map} +1 -1
- package/dist/_chunks/{rich-text-editor-CMPA5Wgy.js → rich-text-editor-BLEdXJ0l.js} +2 -2
- package/dist/_chunks/{rich-text-editor-CMPA5Wgy.js.map → rich-text-editor-BLEdXJ0l.js.map} +1 -1
- package/dist/_chunks/{signed-out-frame-bh7fn_Px.js → signed-out-frame-fUf7tqs3.js} +2 -2
- package/dist/_chunks/{signed-out-frame-bh7fn_Px.js.map → signed-out-frame-fUf7tqs3.js.map} +1 -1
- package/dist/_chunks/{task-editor-WdDCqbIL.js → task-editor-Czcx9B-3.js} +2 -2
- package/dist/_chunks/{task-editor-WdDCqbIL.js.map → task-editor-Czcx9B-3.js.map} +1 -1
- package/dist/_chunks/{toolbar-z8vXnpXz.js → toolbar-DoKcoE2q.js} +2 -2
- package/dist/_chunks/{toolbar-z8vXnpXz.js.map → toolbar-DoKcoE2q.js.map} +1 -1
- package/dist/_chunks/types-BrJRsnSG.js +291 -0
- package/dist/_chunks/types-BrJRsnSG.js.map +1 -0
- package/dist/_chunks/warehouse-load-summary-D88M4Ii7.js +255 -0
- package/dist/_chunks/warehouse-load-summary-D88M4Ii7.js.map +1 -0
- package/dist/agent-catalog.json +360 -14
- package/dist/agent-i18n/en.json +31 -2
- package/dist/browser-support.js +1 -1
- package/dist/components/_shared/warehouse-load/counts.d.ts +82 -0
- package/dist/components/_shared/warehouse-load/counts.d.ts.map +1 -0
- package/dist/components/_shared/warehouse-load/index.d.ts +4 -0
- package/dist/components/_shared/warehouse-load/index.d.ts.map +1 -0
- package/dist/components/_shared/warehouse-load/maps.d.ts +67 -0
- package/dist/components/_shared/warehouse-load/maps.d.ts.map +1 -0
- package/dist/components/_shared/warehouse-load/types.d.ts +18 -0
- package/dist/components/_shared/warehouse-load/types.d.ts.map +1 -0
- package/dist/components/address-autocomplete/index.js +1 -1
- package/dist/components/address-fields/index.js +1 -1
- package/dist/components/bill-line-table/bill-line-table.columns.d.ts +2 -0
- package/dist/components/bill-line-table/bill-line-table.columns.d.ts.map +1 -1
- package/dist/components/bill-line-table/bill-line-table.d.ts.map +1 -1
- package/dist/components/bill-line-table/bill-line-table.header.d.ts +7 -0
- package/dist/components/bill-line-table/bill-line-table.header.d.ts.map +1 -0
- package/dist/components/bill-line-table/bill-line-table.model.d.ts +10 -1
- package/dist/components/bill-line-table/bill-line-table.model.d.ts.map +1 -1
- package/dist/components/bill-line-table/bill-line-table.types.d.ts +66 -1
- package/dist/components/bill-line-table/bill-line-table.types.d.ts.map +1 -1
- package/dist/components/bill-line-table/bill-line-table.variants.d.ts +12 -0
- package/dist/components/bill-line-table/bill-line-table.variants.d.ts.map +1 -1
- package/dist/components/bill-line-table/index.d.ts +2 -2
- package/dist/components/bill-line-table/index.d.ts.map +1 -1
- package/dist/components/bill-line-table/index.js +10 -8
- package/dist/components/bill-table/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/data-grid/data-grid.variants.d.ts +1 -1
- package/dist/components/data-grid/index.js +2 -2
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/file-upload/file-upload.d.ts +30 -1
- package/dist/components/file-upload/file-upload.d.ts.map +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/flag/flag-view.d.ts +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/invoice-upload/index.d.ts +5 -0
- package/dist/components/invoice-upload/index.d.ts.map +1 -0
- package/dist/components/invoice-upload/index.js +7 -0
- package/dist/components/invoice-upload/index.js.map +1 -0
- package/dist/components/invoice-upload/invoice-upload.agent.d.ts +4 -0
- package/dist/components/invoice-upload/invoice-upload.agent.d.ts.map +1 -0
- package/dist/components/invoice-upload/invoice-upload.d.ts +3 -0
- package/dist/components/invoice-upload/invoice-upload.d.ts.map +1 -0
- package/dist/components/invoice-upload/types.d.ts +72 -0
- package/dist/components/invoice-upload/types.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/cells.d.ts +36 -0
- package/dist/components/invoice-upload-list/cells.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/columns.d.ts +14 -0
- package/dist/components/invoice-upload-list/columns.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/handle.d.ts +18 -0
- package/dist/components/invoice-upload-list/handle.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/index.d.ts +5 -0
- package/dist/components/invoice-upload-list/index.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/index.js +10 -0
- package/dist/components/invoice-upload-list/index.js.map +1 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.agent.d.ts +4 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.agent.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.d.ts +10 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.variants.d.ts +28 -0
- package/dist/components/invoice-upload-list/invoice-upload-list.variants.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/model.d.ts +40 -0
- package/dist/components/invoice-upload-list/model.d.ts.map +1 -0
- package/dist/components/invoice-upload-list/types.d.ts +154 -0
- package/dist/components/invoice-upload-list/types.d.ts.map +1 -0
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view-pin-geometry.d.ts +39 -0
- package/dist/components/map-view/map-view-pin-geometry.d.ts.map +1 -0
- package/dist/components/map-view/map-view-pin.d.ts +15 -0
- package/dist/components/map-view/map-view-pin.d.ts.map +1 -0
- package/dist/components/map-view/map-view.d.ts.map +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +8 -0
- package/dist/components/practice-results/practice-results.d.ts.map +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-footer/public-footer.d.ts +24 -0
- package/dist/components/public-footer/public-footer.d.ts.map +1 -1
- package/dist/components/public-header/public-header.d.ts +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/task-editor/index.js +1 -1
- package/dist/components/warehouse-load-summary/index.d.ts +4 -0
- package/dist/components/warehouse-load-summary/index.d.ts.map +1 -0
- package/dist/components/warehouse-load-summary/index.js +6 -0
- package/dist/components/warehouse-load-summary/index.js.map +1 -0
- package/dist/components/warehouse-load-summary/model.d.ts +8 -0
- package/dist/components/warehouse-load-summary/model.d.ts.map +1 -0
- package/dist/components/warehouse-load-summary/types.d.ts +50 -0
- package/dist/components/warehouse-load-summary/types.d.ts.map +1 -0
- package/dist/components/warehouse-load-summary/warehouse-load-summary.agent.d.ts +4 -0
- package/dist/components/warehouse-load-summary/warehouse-load-summary.agent.d.ts.map +1 -0
- package/dist/components/warehouse-load-summary/warehouse-load-summary.d.ts +7 -0
- package/dist/components/warehouse-load-summary/warehouse-load-summary.d.ts.map +1 -0
- package/dist/core.css +1 -1
- package/dist/i18n/locales/ar.d.ts +203 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +197 -4
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +203 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +201 -4
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +203 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +201 -4
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +203 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +203 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +203 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +199 -4
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +203 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +199 -4
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +203 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +197 -4
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +203 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +197 -4
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +203 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +197 -4
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +203 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +197 -4
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +203 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +197 -4
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +203 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +199 -4
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +203 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +197 -4
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +203 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +197 -4
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +203 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +199 -4
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +203 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +197 -4
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +203 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +197 -4
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +203 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +197 -4
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +1190 -1174
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +207 -4
- package/dist/locales/de.json +207 -4
- package/dist/locales/el.json +207 -4
- package/dist/locales/en.json +203 -0
- package/dist/locales/es.json +207 -4
- package/dist/locales/fr.json +207 -4
- package/dist/locales/hi.json +207 -4
- package/dist/locales/it.json +207 -4
- package/dist/locales/ja.json +207 -4
- package/dist/locales/nl.json +207 -4
- package/dist/locales/pl.json +207 -4
- package/dist/locales/pt.json +207 -4
- package/dist/locales/ro.json +207 -4
- package/dist/locales/ru.json +207 -4
- package/dist/locales/sq.json +207 -4
- package/dist/locales/sv.json +207 -4
- package/dist/locales/tr.json +207 -4
- package/dist/locales/zh.json +207 -4
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/signed-out-frame/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +16 -1
- package/dist/_chunks/bill-line-table-vCnVo7_a.js +0 -1565
- package/dist/_chunks/bill-line-table-vCnVo7_a.js.map +0 -1
- package/dist/_chunks/default-tabs-CD285u0C.js.map +0 -1
- package/dist/_chunks/file-upload-CxjCs7TX.js.map +0 -1
- package/dist/_chunks/map-view-CHeGd94F.js +0 -1443
- package/dist/_chunks/map-view-CHeGd94F.js.map +0 -1
- package/dist/_chunks/maps-core-gate-C4dyo1ic.js +0 -1571
- package/dist/_chunks/practice-results-b3uchdBn.js.map +0 -1
- package/dist/_chunks/public-footer-CB7ruuLI.js.map +0 -1
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { jsx as n, jsxs as g, Fragment as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { c as
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { A as
|
|
6
|
-
import { A as
|
|
7
|
-
import { B as
|
|
8
|
-
import { D as
|
|
9
|
-
import { E as
|
|
10
|
-
import { M as
|
|
11
|
-
import { R as
|
|
12
|
-
import { S as
|
|
13
|
-
import { S as
|
|
14
|
-
import { S as
|
|
15
|
-
import { B as
|
|
16
|
-
import { u as
|
|
17
|
-
import { u as
|
|
18
|
-
import { m as
|
|
19
|
-
import { l as
|
|
20
|
-
import { b as
|
|
21
|
-
import { u as
|
|
22
|
-
import { c as
|
|
23
|
-
import { R as
|
|
24
|
-
import { C as
|
|
25
|
-
import { L as
|
|
26
|
-
import { S as
|
|
27
|
-
import { H as
|
|
28
|
-
import { M as
|
|
29
|
-
import { C as
|
|
30
|
-
import { C as
|
|
1
|
+
import { jsx as n, jsxs as g, Fragment as Tt } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as Ot, useState as Z, useRef as T, useMemo as O, useImperativeHandle as Vt, useCallback as H, useEffect as J } from "react";
|
|
3
|
+
import { c as W } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as L } from "react-i18next";
|
|
5
|
+
import { A as pe } from "./alert-C4WKViaS.js";
|
|
6
|
+
import { A as He } from "./avatar-Dp5apm1d.js";
|
|
7
|
+
import { B as he } from "./button-DohK_Ak_.js";
|
|
8
|
+
import { D as G } from "./dropdown-menu-Dw6sgQwJ.js";
|
|
9
|
+
import { E as Bt } from "./empty-state-DwJ5YNzz.js";
|
|
10
|
+
import { M as Dt, i as Fe } from "./map-view-h6ngp2xi.js";
|
|
11
|
+
import { R as _e } from "./rating-CGYpg5dj.js";
|
|
12
|
+
import { S as j } from "./sheet-uZZXaO_S.js";
|
|
13
|
+
import { S as $t } from "./skeleton-tTWJpvAq.js";
|
|
14
|
+
import { S as zt } from "./spinner-CoflYlEx.js";
|
|
15
|
+
import { B as q } from "./badge-BUk4RjTS.js";
|
|
16
|
+
import { u as Te } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
|
|
17
|
+
import { u as Oe } from "./use-media-query-CcAx5SMM.js";
|
|
18
|
+
import { m as Et } from "./motion-is-off-BvAuNV5O.js";
|
|
19
|
+
import { l as Qe } from "./length-token-DwMnGEYT.js";
|
|
20
|
+
import { b as Kt, a as Je } from "./format-price-CIX0YJZn.js";
|
|
21
|
+
import { u as jt } from "./registry-DvAUVLHh.js";
|
|
22
|
+
import { c as qt } from "./createLucideIcon-DhHxpK9K.js";
|
|
23
|
+
import { R as Ut } from "./refresh-cw-DnI0cLFC.js";
|
|
24
|
+
import { C as tt } from "./chevron-down-DWE7GSq9.js";
|
|
25
|
+
import { L as nt } from "./languages-CGLX6Qpe.js";
|
|
26
|
+
import { S as at } from "./shield-check-DCJALLVh.js";
|
|
27
|
+
import { H as it } from "./heart--qCA4ffe.js";
|
|
28
|
+
import { M as ge } from "./map-pin-BaY37-Km.js";
|
|
29
|
+
import { C as Gt } from "./calendar-clock-hbObjfGY.js";
|
|
30
|
+
import { C as Zt } from "./calendar-plus-BFrIRE4r.js";
|
|
31
31
|
/**
|
|
32
32
|
* @license lucide-react v1.22.0 - ISC
|
|
33
33
|
*
|
|
34
34
|
* This source code is licensed under the ISC license.
|
|
35
35
|
* See the LICENSE file in the root directory of this source tree.
|
|
36
36
|
*/
|
|
37
|
-
const
|
|
37
|
+
const Wt = [
|
|
38
38
|
[
|
|
39
39
|
"path",
|
|
40
40
|
{
|
|
@@ -44,7 +44,7 @@ const Zt = [
|
|
|
44
44
|
],
|
|
45
45
|
["path", { d: "M15 5.764v15", key: "1pn4in" }],
|
|
46
46
|
["path", { d: "M9 3.236v15", key: "1uimfh" }]
|
|
47
|
-
],
|
|
47
|
+
], Qt = qt("map", Wt), Jt = {
|
|
48
48
|
id: "practice-results",
|
|
49
49
|
// `scroll` backs scroll_to_result (light highlight, no selection). focus_pin
|
|
50
50
|
// follows the pin-click rules: on a map variant at `lg` and up it chooses the
|
|
@@ -128,18 +128,18 @@ const Zt = [
|
|
|
128
128
|
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).'
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
},
|
|
131
|
+
}, Xt = 13, Xe = [
|
|
132
132
|
"distance",
|
|
133
133
|
"rating",
|
|
134
134
|
"next-available",
|
|
135
135
|
"price",
|
|
136
136
|
"relevance"
|
|
137
137
|
];
|
|
138
|
-
function
|
|
138
|
+
function st(e, t, i) {
|
|
139
139
|
const s = `languages.${e}`;
|
|
140
140
|
return i.exists(s) ? t(s) : e.toUpperCase();
|
|
141
141
|
}
|
|
142
|
-
function
|
|
142
|
+
function U(e, t) {
|
|
143
143
|
if (typeof window > "u") return;
|
|
144
144
|
const i = window.track;
|
|
145
145
|
try {
|
|
@@ -148,27 +148,27 @@ function q(e, t) {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
function ae(e, t, i, s) {
|
|
151
|
-
const r = e.findIndex((
|
|
151
|
+
const r = e.findIndex((o) => o.id === t);
|
|
152
152
|
if (r < 0) return;
|
|
153
153
|
const a = e[r];
|
|
154
|
-
a && (
|
|
154
|
+
a && (U("serp_result_clicked", { resultId: t, source: i, position: r }), s(a, i));
|
|
155
155
|
}
|
|
156
|
-
function
|
|
157
|
-
const s = (t.lat - e.lat) * Math.PI / 180, r = (t.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180,
|
|
158
|
-
return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(
|
|
156
|
+
function Yt(e, t) {
|
|
157
|
+
const s = (t.lat - e.lat) * Math.PI / 180, r = (t.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, o = t.lat * Math.PI / 180, m = Math.sin(s / 2), d = Math.sin(r / 2), l = m * m + Math.cos(a) * Math.cos(o) * d * d;
|
|
158
|
+
return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(l)));
|
|
159
159
|
}
|
|
160
|
-
function
|
|
160
|
+
function en(e, t, i) {
|
|
161
161
|
var r;
|
|
162
162
|
const s = [];
|
|
163
163
|
for (const a of e) {
|
|
164
|
-
const
|
|
165
|
-
(
|
|
164
|
+
const o = a.field ?? a.key, m = (((r = i == null ? void 0 : i[a.key]) == null ? void 0 : r.length) ?? 0) > 0, d = a.type === "boolean" || a.type !== "options" && a.options.length === 0 && (m || t.some(
|
|
165
|
+
(l) => typeof l[o] == "boolean"
|
|
166
166
|
));
|
|
167
|
-
!
|
|
167
|
+
!d && a.options.length === 0 || s.push({ ...a, boolean: d, booleanField: o });
|
|
168
168
|
}
|
|
169
169
|
return s;
|
|
170
170
|
}
|
|
171
|
-
function
|
|
171
|
+
function tn(e, t, i) {
|
|
172
172
|
return !t || Object.keys(t).length === 0 ? e : e.filter((s) => {
|
|
173
173
|
for (const r of i) {
|
|
174
174
|
const a = t[r.key];
|
|
@@ -177,47 +177,47 @@ function en(e, t, i) {
|
|
|
177
177
|
if (s[r.booleanField] !== !0) return !1;
|
|
178
178
|
continue;
|
|
179
179
|
}
|
|
180
|
-
const
|
|
181
|
-
if (!Array.isArray(
|
|
180
|
+
const o = r.key === "insurance" ? s.insurances : r.key === "language" ? s.languages : s[r.key];
|
|
181
|
+
if (!Array.isArray(o) || !(r.multi ? a.some((d) => o.includes(d)) : o.includes(a[0]))) return !1;
|
|
182
182
|
}
|
|
183
183
|
return !0;
|
|
184
184
|
});
|
|
185
185
|
}
|
|
186
|
-
function
|
|
186
|
+
function nn(e) {
|
|
187
187
|
const t = e.firstVisitPrice && Number.isFinite(e.firstVisitPrice.minCents) ? e.firstVisitPrice.minCents : e.firstVisitPriceCents;
|
|
188
188
|
return t != null && Number.isFinite(t) && t >= 0 ? t : 1 / 0;
|
|
189
189
|
}
|
|
190
|
-
function
|
|
190
|
+
function an(e) {
|
|
191
191
|
return e.firstVisitPrice && Number.isFinite(e.firstVisitPrice.minCents) ? e.firstVisitPrice.kind === "fixed" : !0;
|
|
192
192
|
}
|
|
193
|
-
function
|
|
193
|
+
function Ye(e, t) {
|
|
194
194
|
return e == null && t == null ? 0 : e == null ? 1 : t == null ? -1 : e - t;
|
|
195
195
|
}
|
|
196
|
-
function
|
|
196
|
+
function sn(e, t, i) {
|
|
197
197
|
const s = e.map((a) => {
|
|
198
|
-
const
|
|
198
|
+
const o = a.location ? a.location.distanceKm ?? (i ? Yt(i, a.location) : void 0) : void 0;
|
|
199
199
|
return {
|
|
200
200
|
result: a,
|
|
201
|
-
distanceKm:
|
|
202
|
-
price: t === "price" ?
|
|
203
|
-
fixed: t === "price" ?
|
|
201
|
+
distanceKm: o,
|
|
202
|
+
price: t === "price" ? nn(a) : void 0,
|
|
203
|
+
fixed: t === "price" ? an(a) : !1
|
|
204
204
|
};
|
|
205
|
-
}), r = (a,
|
|
206
|
-
var m,
|
|
205
|
+
}), r = (a, o) => {
|
|
206
|
+
var m, d, l, c;
|
|
207
207
|
switch (t) {
|
|
208
208
|
case "distance":
|
|
209
|
-
return
|
|
209
|
+
return Ye(a.distanceKm, o.distanceKm);
|
|
210
210
|
case "price": {
|
|
211
|
-
const
|
|
212
|
-
return
|
|
211
|
+
const h = a.price ?? 1 / 0, p = o.price ?? 1 / 0;
|
|
212
|
+
return h !== p ? h - p : h !== 1 / 0 && a.fixed !== o.fixed ? a.fixed ? -1 : 1 : Ye(a.distanceKm, o.distanceKm);
|
|
213
213
|
}
|
|
214
214
|
case "rating": {
|
|
215
|
-
const
|
|
216
|
-
return (((
|
|
215
|
+
const h = ((m = a.result.rating) == null ? void 0 : m.value) ?? -1;
|
|
216
|
+
return (((d = o.result.rating) == null ? void 0 : d.value) ?? -1) - h;
|
|
217
217
|
}
|
|
218
218
|
case "next-available": {
|
|
219
|
-
const
|
|
220
|
-
return !
|
|
219
|
+
const h = ((l = a.result.nextAvailableSlot) == null ? void 0 : l.dateTime) ?? "", p = ((c = o.result.nextAvailableSlot) == null ? void 0 : c.dateTime) ?? "";
|
|
220
|
+
return !h && !p ? 0 : h ? p ? h.localeCompare(p) : -1 : 1;
|
|
221
221
|
}
|
|
222
222
|
case "relevance":
|
|
223
223
|
default:
|
|
@@ -225,24 +225,24 @@ function an(e, t, i) {
|
|
|
225
225
|
}
|
|
226
226
|
};
|
|
227
227
|
return [...s].sort(r).map(
|
|
228
|
-
({ result: a, distanceKm:
|
|
228
|
+
({ result: a, distanceKm: o }) => o != null && a.location ? {
|
|
229
229
|
...a,
|
|
230
|
-
location: { ...a.location, distanceKm:
|
|
230
|
+
location: { ...a.location, distanceKm: o }
|
|
231
231
|
} : a
|
|
232
232
|
);
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function rn(e) {
|
|
235
235
|
let t = -1 / 0, i = 1 / 0, s = -1 / 0, r = 1 / 0, a = !1;
|
|
236
|
-
for (const
|
|
237
|
-
if (!
|
|
236
|
+
for (const o of e) {
|
|
237
|
+
if (!o.location) continue;
|
|
238
238
|
a = !0;
|
|
239
|
-
const { lat: m, lng:
|
|
240
|
-
m > t && (t = m), m < i && (i = m),
|
|
239
|
+
const { lat: m, lng: d } = o.location;
|
|
240
|
+
m > t && (t = m), m < i && (i = m), d > s && (s = d), d < r && (r = d);
|
|
241
241
|
}
|
|
242
242
|
if (a)
|
|
243
243
|
return { north: t, south: i, east: s, west: r };
|
|
244
244
|
}
|
|
245
|
-
const
|
|
245
|
+
const on = W(
|
|
246
246
|
"ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
|
|
247
247
|
{
|
|
248
248
|
variants: {
|
|
@@ -255,21 +255,21 @@ const rn = Z(
|
|
|
255
255
|
defaultVariants: { variant: "split-list-map" }
|
|
256
256
|
}
|
|
257
257
|
);
|
|
258
|
-
function
|
|
258
|
+
function rt({
|
|
259
259
|
heading: e,
|
|
260
260
|
headingLevel: t,
|
|
261
261
|
intro: i,
|
|
262
262
|
totalCount: s,
|
|
263
263
|
searchCentreLabel: r
|
|
264
264
|
}) {
|
|
265
|
-
const { t: a } =
|
|
265
|
+
const { t: a } = L("ui"), o = `h${t}`;
|
|
266
266
|
if (!e && !i && s == null) return null;
|
|
267
267
|
const m = s != null ? r ? a("practiceResults.results.heading", {
|
|
268
268
|
count: s,
|
|
269
269
|
place: r
|
|
270
270
|
}) : a("practiceResults.results.summary", { count: s }) : void 0;
|
|
271
271
|
return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
|
|
272
|
-
e ? /* @__PURE__ */ n(
|
|
272
|
+
e ? /* @__PURE__ */ n(o, { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
|
|
273
273
|
i ? /* @__PURE__ */ n("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: i }) : null,
|
|
274
274
|
m ? /* @__PURE__ */ n(
|
|
275
275
|
"p",
|
|
@@ -281,7 +281,7 @@ function st({
|
|
|
281
281
|
) : null
|
|
282
282
|
] });
|
|
283
283
|
}
|
|
284
|
-
const
|
|
284
|
+
const ve = W(
|
|
285
285
|
[
|
|
286
286
|
"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
287
287
|
"ds:min-h-[var(--min-target-size)]",
|
|
@@ -303,7 +303,7 @@ const ge = Z(
|
|
|
303
303
|
},
|
|
304
304
|
defaultVariants: { state: "idle" }
|
|
305
305
|
}
|
|
306
|
-
),
|
|
306
|
+
), ln = W(
|
|
307
307
|
"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
308
308
|
{
|
|
309
309
|
variants: {
|
|
@@ -322,7 +322,7 @@ const ge = Z(
|
|
|
322
322
|
},
|
|
323
323
|
defaultVariants: { placement: "inline" }
|
|
324
324
|
}
|
|
325
|
-
),
|
|
325
|
+
), cn = W(
|
|
326
326
|
[
|
|
327
327
|
"ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
328
328
|
"ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
|
|
@@ -333,26 +333,26 @@ const ge = Z(
|
|
|
333
333
|
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
|
|
334
334
|
].join(" ")
|
|
335
335
|
);
|
|
336
|
-
function
|
|
336
|
+
function ot({
|
|
337
337
|
facets: e,
|
|
338
338
|
value: t,
|
|
339
339
|
onChange: i,
|
|
340
340
|
floating: s
|
|
341
341
|
}) {
|
|
342
|
-
const { t: r } =
|
|
343
|
-
() => Object.values(a).some((
|
|
342
|
+
const { t: r } = L("ui"), a = O(() => t ?? {}, [t]), o = O(
|
|
343
|
+
() => Object.values(a).some((c) => c && c.length > 0),
|
|
344
344
|
[a]
|
|
345
|
-
), m = (
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
},
|
|
349
|
-
var
|
|
350
|
-
const
|
|
351
|
-
m(
|
|
352
|
-
},
|
|
353
|
-
const
|
|
345
|
+
), m = (c, h) => {
|
|
346
|
+
const p = { ...a };
|
|
347
|
+
h.length === 0 ? delete p[c] : p[c] = h, i(p), U("serp_filter_changed", { key: c, values: h });
|
|
348
|
+
}, d = (c) => {
|
|
349
|
+
var p;
|
|
350
|
+
const h = (((p = a[c]) == null ? void 0 : p.length) ?? 0) > 0;
|
|
351
|
+
m(c, h ? [] : ["true"]);
|
|
352
|
+
}, l = (c, h) => {
|
|
353
|
+
const p = a[c.key] ?? [], x = p.includes(h);
|
|
354
354
|
let b;
|
|
355
|
-
|
|
355
|
+
c.multi ? b = x ? p.filter((w) => w !== h) : [...p, h] : b = x ? [] : [h], m(c.key, b);
|
|
356
356
|
};
|
|
357
357
|
return e.length === 0 ? null : /* @__PURE__ */ g(
|
|
358
358
|
"div",
|
|
@@ -360,44 +360,44 @@ function rt({
|
|
|
360
360
|
"data-component": "practice-results-filters",
|
|
361
361
|
role: "group",
|
|
362
362
|
"aria-label": r("practiceResults.filters.label"),
|
|
363
|
-
className:
|
|
363
|
+
className: ln({
|
|
364
364
|
placement: s ? "floating" : "inline"
|
|
365
365
|
}),
|
|
366
366
|
children: [
|
|
367
|
-
e.map((
|
|
368
|
-
const
|
|
369
|
-
if (
|
|
367
|
+
e.map((c) => {
|
|
368
|
+
const h = c.boolean, p = a[c.key] ?? [], x = p.length > 0;
|
|
369
|
+
if (h)
|
|
370
370
|
return /* @__PURE__ */ n(
|
|
371
371
|
"button",
|
|
372
372
|
{
|
|
373
373
|
type: "button",
|
|
374
374
|
"aria-pressed": x,
|
|
375
|
-
"aria-label":
|
|
376
|
-
onClick: () => c
|
|
377
|
-
className:
|
|
375
|
+
"aria-label": c.label,
|
|
376
|
+
onClick: () => d(c.key),
|
|
377
|
+
className: ve({
|
|
378
378
|
state: x ? "active" : "idle"
|
|
379
379
|
}),
|
|
380
|
-
children: /* @__PURE__ */ n("span", { children:
|
|
380
|
+
children: /* @__PURE__ */ n("span", { children: c.label })
|
|
381
381
|
},
|
|
382
|
-
|
|
382
|
+
c.key
|
|
383
383
|
);
|
|
384
|
-
const b = x ? ` (${
|
|
385
|
-
return /* @__PURE__ */ g(
|
|
386
|
-
/* @__PURE__ */ n(
|
|
384
|
+
const b = x ? ` (${p.length})` : "";
|
|
385
|
+
return /* @__PURE__ */ g(G.Root, { children: [
|
|
386
|
+
/* @__PURE__ */ n(G.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
|
|
387
387
|
"button",
|
|
388
388
|
{
|
|
389
389
|
type: "button",
|
|
390
|
-
"aria-label": `${
|
|
391
|
-
className:
|
|
390
|
+
"aria-label": `${c.label}${b}`,
|
|
391
|
+
className: ve({
|
|
392
392
|
state: x ? "active" : "idle"
|
|
393
393
|
}),
|
|
394
394
|
children: [
|
|
395
395
|
/* @__PURE__ */ g("span", { children: [
|
|
396
|
-
|
|
396
|
+
c.label,
|
|
397
397
|
b
|
|
398
398
|
] }),
|
|
399
399
|
/* @__PURE__ */ n(
|
|
400
|
-
|
|
400
|
+
tt,
|
|
401
401
|
{
|
|
402
402
|
"aria-hidden": "true",
|
|
403
403
|
className: "ds:size-3.5 ds:shrink-0"
|
|
@@ -406,27 +406,27 @@ function rt({
|
|
|
406
406
|
]
|
|
407
407
|
}
|
|
408
408
|
) }),
|
|
409
|
-
/* @__PURE__ */ n(
|
|
410
|
-
|
|
409
|
+
/* @__PURE__ */ n(G.Content, { sideOffset: 8, align: "start", children: c.options.map((w) => /* @__PURE__ */ n(
|
|
410
|
+
G.CheckboxItem,
|
|
411
411
|
{
|
|
412
|
-
checked:
|
|
413
|
-
onSelect: (
|
|
414
|
-
|
|
412
|
+
checked: p.includes(w.value),
|
|
413
|
+
onSelect: (S) => {
|
|
414
|
+
c.multi && S.preventDefault(), l(c, w.value);
|
|
415
415
|
},
|
|
416
|
-
children:
|
|
416
|
+
children: w.label
|
|
417
417
|
},
|
|
418
|
-
|
|
418
|
+
w.value
|
|
419
419
|
)) })
|
|
420
|
-
] },
|
|
420
|
+
] }, c.key);
|
|
421
421
|
}),
|
|
422
|
-
|
|
422
|
+
o ? /* @__PURE__ */ n(
|
|
423
423
|
"button",
|
|
424
424
|
{
|
|
425
425
|
type: "button",
|
|
426
426
|
onClick: () => {
|
|
427
|
-
i({}),
|
|
427
|
+
i({}), U("serp_filter_changed", { key: "*", values: [] });
|
|
428
428
|
},
|
|
429
|
-
className:
|
|
429
|
+
className: cn(),
|
|
430
430
|
children: r("practiceResults.filters.clear")
|
|
431
431
|
}
|
|
432
432
|
) : null
|
|
@@ -434,8 +434,8 @@ function rt({
|
|
|
434
434
|
}
|
|
435
435
|
);
|
|
436
436
|
}
|
|
437
|
-
function
|
|
438
|
-
const { t: s } =
|
|
437
|
+
function Me({ value: e, options: t, onChange: i }) {
|
|
438
|
+
const { t: s } = L("ui"), r = (a) => {
|
|
439
439
|
switch (a) {
|
|
440
440
|
case "distance":
|
|
441
441
|
return s("practiceResults.sort.distance");
|
|
@@ -450,47 +450,47 @@ function Pe({ value: e, options: t, onChange: i }) {
|
|
|
450
450
|
return s("practiceResults.sort.relevance");
|
|
451
451
|
}
|
|
452
452
|
};
|
|
453
|
-
return /* @__PURE__ */ g(
|
|
454
|
-
/* @__PURE__ */ n(
|
|
453
|
+
return /* @__PURE__ */ g(G.Root, { children: [
|
|
454
|
+
/* @__PURE__ */ n(G.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
|
|
455
455
|
"button",
|
|
456
456
|
{
|
|
457
457
|
type: "button",
|
|
458
458
|
"aria-label": `${s("practiceResults.sort.label")}: ${r(e)}`,
|
|
459
|
-
className:
|
|
459
|
+
className: ve({ state: "idle" }),
|
|
460
460
|
children: [
|
|
461
461
|
/* @__PURE__ */ g("span", { children: [
|
|
462
462
|
s("practiceResults.sort.label"),
|
|
463
463
|
": ",
|
|
464
464
|
r(e)
|
|
465
465
|
] }),
|
|
466
|
-
/* @__PURE__ */ n(
|
|
466
|
+
/* @__PURE__ */ n(tt, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
|
|
467
467
|
]
|
|
468
468
|
}
|
|
469
469
|
) }),
|
|
470
|
-
/* @__PURE__ */ n(
|
|
471
|
-
|
|
470
|
+
/* @__PURE__ */ n(G.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ n(
|
|
471
|
+
G.RadioGroup,
|
|
472
472
|
{
|
|
473
473
|
value: e,
|
|
474
474
|
onValueChange: (a) => {
|
|
475
|
-
const
|
|
476
|
-
|
|
475
|
+
const o = a;
|
|
476
|
+
o !== e && (i(o), U("serp_sort_changed", { sort: o }));
|
|
477
477
|
},
|
|
478
|
-
children: t.map((a) => /* @__PURE__ */ n(
|
|
478
|
+
children: t.map((a) => /* @__PURE__ */ n(G.RadioItem, { value: a, children: r(a) }, a))
|
|
479
479
|
}
|
|
480
480
|
) })
|
|
481
481
|
] });
|
|
482
482
|
}
|
|
483
|
-
function
|
|
484
|
-
const { t, i18n: i } =
|
|
483
|
+
function dn({ distanceKm: e }) {
|
|
484
|
+
const { t, i18n: i } = L("ui"), s = O(() => {
|
|
485
485
|
if (e < 1) return t("practiceResults.distance.below");
|
|
486
486
|
const r = new Intl.NumberFormat(i.language, {
|
|
487
487
|
maximumFractionDigits: 1
|
|
488
488
|
}).format(e);
|
|
489
489
|
return t("practiceResults.distance.km", { distance: r });
|
|
490
490
|
}, [e, t, i.language]);
|
|
491
|
-
return /* @__PURE__ */ n(
|
|
491
|
+
return /* @__PURE__ */ n(q, { variant: "neutral", leading: /* @__PURE__ */ n(ge, { "aria-hidden": "true" }), children: s });
|
|
492
492
|
}
|
|
493
|
-
const
|
|
493
|
+
const Ie = W(
|
|
494
494
|
[
|
|
495
495
|
"ds:w-[12rem] ds:h-[8rem] ds:shrink-0",
|
|
496
496
|
"ds:rounded-[var(--radius-md)] ds:overflow-hidden"
|
|
@@ -509,12 +509,12 @@ const Me = Z(
|
|
|
509
509
|
defaultVariants: { state: "placeholder" }
|
|
510
510
|
}
|
|
511
511
|
);
|
|
512
|
-
function
|
|
513
|
-
if (typeof document > "u") return "
|
|
512
|
+
function un() {
|
|
513
|
+
if (typeof document > "u") return "6761e5";
|
|
514
514
|
const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), t = /^#?([0-9a-fA-F]{6})$/.exec(e);
|
|
515
|
-
return t ? t[1] : "
|
|
515
|
+
return t ? t[1] : "6761e5";
|
|
516
516
|
}
|
|
517
|
-
function
|
|
517
|
+
function et({
|
|
518
518
|
address: e,
|
|
519
519
|
addressLang: t
|
|
520
520
|
}) {
|
|
@@ -522,9 +522,9 @@ function Ye({
|
|
|
522
522
|
"div",
|
|
523
523
|
{
|
|
524
524
|
"aria-hidden": e ? void 0 : "true",
|
|
525
|
-
className:
|
|
525
|
+
className: Ie({ state: "placeholder" }),
|
|
526
526
|
children: [
|
|
527
|
-
/* @__PURE__ */ n(
|
|
527
|
+
/* @__PURE__ */ n(ge, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
|
|
528
528
|
e ? /* @__PURE__ */ n(
|
|
529
529
|
"span",
|
|
530
530
|
{
|
|
@@ -538,7 +538,7 @@ function Ye({
|
|
|
538
538
|
}
|
|
539
539
|
);
|
|
540
540
|
}
|
|
541
|
-
function
|
|
541
|
+
function mn({
|
|
542
542
|
image: e,
|
|
543
543
|
apiKey: t,
|
|
544
544
|
center: i,
|
|
@@ -546,7 +546,7 @@ function un({
|
|
|
546
546
|
address: r,
|
|
547
547
|
addressLang: a
|
|
548
548
|
}) {
|
|
549
|
-
const { t:
|
|
549
|
+
const { t: o } = L("ui"), [m, d] = Z(null);
|
|
550
550
|
if (e && m !== e.src)
|
|
551
551
|
return /* @__PURE__ */ n(
|
|
552
552
|
"img",
|
|
@@ -558,29 +558,29 @@ function un({
|
|
|
558
558
|
decoding: "async",
|
|
559
559
|
width: 240,
|
|
560
560
|
height: 160,
|
|
561
|
-
onError: () =>
|
|
562
|
-
className:
|
|
561
|
+
onError: () => d(e.src),
|
|
562
|
+
className: Ie({ state: "image" })
|
|
563
563
|
}
|
|
564
564
|
);
|
|
565
565
|
if (e)
|
|
566
|
-
return /* @__PURE__ */ n(
|
|
566
|
+
return /* @__PURE__ */ n(et, { address: r, addressLang: a });
|
|
567
567
|
if (!t)
|
|
568
|
-
return /* @__PURE__ */ n(
|
|
569
|
-
const
|
|
568
|
+
return /* @__PURE__ */ n(et, { address: r, addressLang: a });
|
|
569
|
+
const l = un(), c = `https://maps.googleapis.com/maps/api/staticmap?center=${i.lat},${i.lng}&zoom=${s}&size=240x160&scale=2&markers=color:0x${l}%7C${i.lat},${i.lng}&key=${encodeURIComponent(t)}`;
|
|
570
570
|
return /* @__PURE__ */ n(
|
|
571
571
|
"img",
|
|
572
572
|
{
|
|
573
|
-
src:
|
|
574
|
-
alt:
|
|
573
|
+
src: c,
|
|
574
|
+
alt: o("practiceResults.thumbnail.alt"),
|
|
575
575
|
loading: "lazy",
|
|
576
576
|
decoding: "async",
|
|
577
577
|
width: 240,
|
|
578
578
|
height: 160,
|
|
579
|
-
className:
|
|
579
|
+
className: Ie({ state: "image" })
|
|
580
580
|
}
|
|
581
581
|
);
|
|
582
582
|
}
|
|
583
|
-
function
|
|
583
|
+
function fn({ tagline: e, lang: t }) {
|
|
584
584
|
return e ? /* @__PURE__ */ n(
|
|
585
585
|
"span",
|
|
586
586
|
{
|
|
@@ -592,7 +592,7 @@ function mn({ tagline: e, lang: t }) {
|
|
|
592
592
|
}
|
|
593
593
|
) : null;
|
|
594
594
|
}
|
|
595
|
-
function
|
|
595
|
+
function pn(e) {
|
|
596
596
|
if (typeof e != "string") return;
|
|
597
597
|
const t = e.trim().replace(/_/g, "-");
|
|
598
598
|
if (t)
|
|
@@ -602,10 +602,10 @@ function fn(e) {
|
|
|
602
602
|
return;
|
|
603
603
|
}
|
|
604
604
|
}
|
|
605
|
-
function
|
|
605
|
+
function lt({
|
|
606
606
|
review: e
|
|
607
607
|
}) {
|
|
608
|
-
const { t } =
|
|
608
|
+
const { t } = L("ui"), i = typeof (e == null ? void 0 : e.text) == "string" ? e.text.trim() : "";
|
|
609
609
|
return !e || !i ? null : /* @__PURE__ */ g(
|
|
610
610
|
"p",
|
|
611
611
|
{
|
|
@@ -617,7 +617,7 @@ function ot({
|
|
|
617
617
|
/* @__PURE__ */ n(
|
|
618
618
|
"span",
|
|
619
619
|
{
|
|
620
|
-
lang:
|
|
620
|
+
lang: pn(e.lang),
|
|
621
621
|
dir: "auto",
|
|
622
622
|
className: "ds:min-w-0 ds:truncate",
|
|
623
623
|
children: i
|
|
@@ -627,7 +627,7 @@ function ot({
|
|
|
627
627
|
}
|
|
628
628
|
);
|
|
629
629
|
}
|
|
630
|
-
const
|
|
630
|
+
const hn = W(
|
|
631
631
|
"type-body-sm ds:m-0 ds:text-[var(--muted-foreground)] ds:whitespace-pre-line ds:break-words",
|
|
632
632
|
{
|
|
633
633
|
variants: {
|
|
@@ -639,7 +639,7 @@ const pn = Z(
|
|
|
639
639
|
defaultVariants: { density: "compact" }
|
|
640
640
|
}
|
|
641
641
|
);
|
|
642
|
-
function
|
|
642
|
+
function ct({
|
|
643
643
|
description: e,
|
|
644
644
|
density: t,
|
|
645
645
|
lang: i
|
|
@@ -650,26 +650,26 @@ function lt({
|
|
|
650
650
|
"data-component": "practice-result-description",
|
|
651
651
|
lang: i,
|
|
652
652
|
dir: "auto",
|
|
653
|
-
className:
|
|
653
|
+
className: hn({ density: t }),
|
|
654
654
|
children: e
|
|
655
655
|
}
|
|
656
656
|
) : null;
|
|
657
657
|
}
|
|
658
|
-
function
|
|
658
|
+
function gn(e, t, i, s) {
|
|
659
659
|
if (e.kind === "fixed")
|
|
660
|
-
return
|
|
660
|
+
return Kt(
|
|
661
661
|
e.minCents,
|
|
662
662
|
t,
|
|
663
663
|
i,
|
|
664
664
|
s("common.freeOfCharge")
|
|
665
665
|
);
|
|
666
|
-
const r =
|
|
666
|
+
const r = Je(e.minCents, t, i);
|
|
667
667
|
return e.kind === "range" && e.maxCents != null && Number.isFinite(e.maxCents) && e.maxCents > e.minCents ? s("practiceResults.card.priceRange", {
|
|
668
668
|
min: r,
|
|
669
|
-
max:
|
|
669
|
+
max: Je(e.maxCents, t, i)
|
|
670
670
|
}) : s("practiceResults.card.priceFrom", { price: r });
|
|
671
671
|
}
|
|
672
|
-
const
|
|
672
|
+
const vn = W(
|
|
673
673
|
"ds:min-w-0 ds:max-w-full ds:[overflow-wrap:anywhere]",
|
|
674
674
|
{
|
|
675
675
|
variants: {
|
|
@@ -677,23 +677,23 @@ const gn = Z(
|
|
|
677
677
|
}
|
|
678
678
|
}
|
|
679
679
|
);
|
|
680
|
-
function
|
|
680
|
+
function bn({
|
|
681
681
|
price: e,
|
|
682
682
|
cents: t,
|
|
683
683
|
currencyCode: i = "EUR"
|
|
684
684
|
}) {
|
|
685
|
-
var
|
|
686
|
-
const { t: s, i18n: r } =
|
|
687
|
-
() => m == null ? void 0 :
|
|
688
|
-
{ kind:
|
|
685
|
+
var p;
|
|
686
|
+
const { t: s, i18n: r } = L("ui"), a = e && Number.isFinite(e.minCents) ? e : void 0, o = (a == null ? void 0 : a.kind) ?? "fixed", m = (a == null ? void 0 : a.minCents) ?? t, d = a == null ? void 0 : a.maxCents, l = O(
|
|
687
|
+
() => m == null ? void 0 : gn(
|
|
688
|
+
{ kind: o, minCents: m, maxCents: d },
|
|
689
689
|
i,
|
|
690
690
|
r.language ?? "en",
|
|
691
691
|
s
|
|
692
692
|
),
|
|
693
|
-
[
|
|
693
|
+
[o, m, d, i, r.language, s]
|
|
694
694
|
);
|
|
695
|
-
if (
|
|
696
|
-
const
|
|
695
|
+
if (l === void 0) return null;
|
|
696
|
+
const c = (p = a == null ? void 0 : a.label) == null ? void 0 : p.trim().replace(/:$/, "").trim(), h = c || s("practiceResults.card.firstVisitPrice");
|
|
697
697
|
return /* @__PURE__ */ g(
|
|
698
698
|
"span",
|
|
699
699
|
{
|
|
@@ -704,33 +704,33 @@ function vn({
|
|
|
704
704
|
"span",
|
|
705
705
|
{
|
|
706
706
|
dir: "auto",
|
|
707
|
-
title:
|
|
708
|
-
className:
|
|
709
|
-
practiceWritten: !!
|
|
707
|
+
title: h,
|
|
708
|
+
className: vn({
|
|
709
|
+
practiceWritten: !!c
|
|
710
710
|
}),
|
|
711
|
-
children:
|
|
711
|
+
children: h
|
|
712
712
|
}
|
|
713
713
|
),
|
|
714
714
|
/* @__PURE__ */ n("span", { className: "ds:sr-only", children: ": " }),
|
|
715
715
|
/* @__PURE__ */ n(
|
|
716
|
-
|
|
716
|
+
q,
|
|
717
717
|
{
|
|
718
718
|
variant: "accentSoft",
|
|
719
719
|
size: "lg",
|
|
720
720
|
dir: "auto",
|
|
721
721
|
className: "ds:h-auto ds:min-h-6 ds:min-w-0 ds:max-w-full ds:whitespace-normal ds:[overflow-wrap:anywhere]",
|
|
722
|
-
children:
|
|
722
|
+
children: l
|
|
723
723
|
}
|
|
724
724
|
)
|
|
725
725
|
]
|
|
726
726
|
}
|
|
727
727
|
);
|
|
728
728
|
}
|
|
729
|
-
function
|
|
730
|
-
const { t } =
|
|
729
|
+
function Ve({ time: e }) {
|
|
730
|
+
const { t } = L("ui");
|
|
731
731
|
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: [
|
|
732
732
|
/* @__PURE__ */ n(
|
|
733
|
-
|
|
733
|
+
Gt,
|
|
734
734
|
{
|
|
735
735
|
"aria-hidden": "true",
|
|
736
736
|
className: "ds:size-4 ds:text-[var(--primary)]"
|
|
@@ -739,7 +739,7 @@ function Oe({ time: e }) {
|
|
|
739
739
|
t("practiceResults.nextSlot.summary", { time: e })
|
|
740
740
|
] });
|
|
741
741
|
}
|
|
742
|
-
function
|
|
742
|
+
function dt({
|
|
743
743
|
result: e,
|
|
744
744
|
openLabel: t,
|
|
745
745
|
bookLabel: i,
|
|
@@ -747,29 +747,29 @@ function ct({
|
|
|
747
747
|
onOpenClick: r,
|
|
748
748
|
onBookClick: a
|
|
749
749
|
}) {
|
|
750
|
-
const { t:
|
|
750
|
+
const { t: o } = L("ui"), m = e.nextAvailableSlot, d = (m == null ? void 0 : m.bookingHref) ?? e.bookingHref ?? e.href, l = m && s ? o("practiceResults.nextSlot.cta", { time: s }) : i;
|
|
751
751
|
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: [
|
|
752
|
-
t !== void 0 ? /* @__PURE__ */ n(
|
|
752
|
+
t !== void 0 ? /* @__PURE__ */ n(he, { intent: "secondary", size: "sm", asChild: !0, onClick: r, children: /* @__PURE__ */ g("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
|
|
753
753
|
t,
|
|
754
754
|
" ",
|
|
755
755
|
/* @__PURE__ */ n("span", { className: "ds:sr-only", children: e.name })
|
|
756
756
|
] }) }) : null,
|
|
757
757
|
/* @__PURE__ */ n(
|
|
758
|
-
|
|
758
|
+
he,
|
|
759
759
|
{
|
|
760
760
|
intent: "primary",
|
|
761
761
|
size: "sm",
|
|
762
762
|
asChild: !0,
|
|
763
|
-
startIcon: /* @__PURE__ */ n(
|
|
763
|
+
startIcon: /* @__PURE__ */ n(Zt, { "aria-hidden": "true" }),
|
|
764
764
|
onClick: a,
|
|
765
765
|
children: /* @__PURE__ */ g(
|
|
766
766
|
"a",
|
|
767
767
|
{
|
|
768
|
-
href:
|
|
768
|
+
href: d,
|
|
769
769
|
"data-component": "practice-result-book-cta",
|
|
770
770
|
"data-slot-aware": m ? "true" : void 0,
|
|
771
771
|
children: [
|
|
772
|
-
|
|
772
|
+
l,
|
|
773
773
|
" ",
|
|
774
774
|
/* @__PURE__ */ n("span", { className: "ds:sr-only", children: e.name })
|
|
775
775
|
]
|
|
@@ -779,7 +779,7 @@ function ct({
|
|
|
779
779
|
)
|
|
780
780
|
] });
|
|
781
781
|
}
|
|
782
|
-
const
|
|
782
|
+
const ut = W(
|
|
783
783
|
[
|
|
784
784
|
"ds:@container/result-card ds:relative ds:flex ds:w-full ds:cursor-pointer",
|
|
785
785
|
"ds:rounded-[var(--radius-lg)]",
|
|
@@ -817,18 +817,18 @@ const dt = Z(
|
|
|
817
817
|
},
|
|
818
818
|
defaultVariants: { density: "compact" }
|
|
819
819
|
}
|
|
820
|
-
),
|
|
820
|
+
), xn = W([
|
|
821
821
|
"ds:text-[var(--foreground)] ds:no-underline ds:hover:underline",
|
|
822
822
|
"ds:rounded-[var(--radius-xs)]",
|
|
823
823
|
"ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
|
|
824
824
|
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
825
825
|
"ds:forced-colors:focus-visible:outline-[CanvasText]"
|
|
826
826
|
]);
|
|
827
|
-
function
|
|
827
|
+
function wn({
|
|
828
828
|
result: e,
|
|
829
829
|
headingLevel: t
|
|
830
830
|
}) {
|
|
831
|
-
const i = `h${
|
|
831
|
+
const i = `h${$e(t)}`;
|
|
832
832
|
return /* @__PURE__ */ n(
|
|
833
833
|
i,
|
|
834
834
|
{
|
|
@@ -841,20 +841,20 @@ function xn({
|
|
|
841
841
|
href: e.href,
|
|
842
842
|
dir: "auto",
|
|
843
843
|
"data-component": "practice-result-name-link",
|
|
844
|
-
className:
|
|
844
|
+
className: xn(),
|
|
845
845
|
children: e.name
|
|
846
846
|
}
|
|
847
847
|
)
|
|
848
848
|
}
|
|
849
849
|
);
|
|
850
850
|
}
|
|
851
|
-
function
|
|
851
|
+
function mt({
|
|
852
852
|
result: e,
|
|
853
853
|
headingLevel: t,
|
|
854
854
|
selected: i = !1
|
|
855
855
|
}) {
|
|
856
856
|
var r, a;
|
|
857
|
-
const { t: s } =
|
|
857
|
+
const { t: s } = L("ui");
|
|
858
858
|
return /* @__PURE__ */ n(
|
|
859
859
|
"div",
|
|
860
860
|
{
|
|
@@ -863,27 +863,27 @@ function ut({
|
|
|
863
863
|
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: [
|
|
864
864
|
/* @__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: [
|
|
865
865
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
866
|
-
/* @__PURE__ */ n(
|
|
867
|
-
((r = e.location) == null ? void 0 : r.distanceKm) != null ? /* @__PURE__ */ n(
|
|
866
|
+
/* @__PURE__ */ n(wn, { result: e, headingLevel: t }),
|
|
867
|
+
((r = e.location) == null ? void 0 : r.distanceKm) != null ? /* @__PURE__ */ n(dn, { distanceKm: e.location.distanceKm }) : null,
|
|
868
868
|
i ? /* @__PURE__ */ n(
|
|
869
|
-
|
|
869
|
+
q,
|
|
870
870
|
{
|
|
871
871
|
variant: "brand",
|
|
872
872
|
"data-component": "practice-result-selected-tag",
|
|
873
|
-
leading: /* @__PURE__ */ n(
|
|
873
|
+
leading: /* @__PURE__ */ n(ge, { "aria-hidden": "true" }),
|
|
874
874
|
children: s("practiceResults.selectedOnMap")
|
|
875
875
|
}
|
|
876
876
|
) : null
|
|
877
877
|
] }),
|
|
878
878
|
e.subtitle ? /* @__PURE__ */ n("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
|
|
879
|
-
/* @__PURE__ */ n(
|
|
879
|
+
/* @__PURE__ */ n(fn, { tagline: e.tagline, lang: e.contentLang }),
|
|
880
880
|
(a = e.location) != null && a.address ? /* @__PURE__ */ g(
|
|
881
881
|
"span",
|
|
882
882
|
{
|
|
883
883
|
"data-component": "practice-result-address",
|
|
884
884
|
className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
|
|
885
885
|
children: [
|
|
886
|
-
/* @__PURE__ */ n(
|
|
886
|
+
/* @__PURE__ */ n(ge, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
|
|
887
887
|
/* @__PURE__ */ n(
|
|
888
888
|
"span",
|
|
889
889
|
{
|
|
@@ -898,7 +898,7 @@ function ut({
|
|
|
898
898
|
) : null
|
|
899
899
|
] }),
|
|
900
900
|
/* @__PURE__ */ n(
|
|
901
|
-
|
|
901
|
+
bn,
|
|
902
902
|
{
|
|
903
903
|
price: e.firstVisitPrice,
|
|
904
904
|
cents: e.firstVisitPriceCents,
|
|
@@ -909,48 +909,48 @@ function ut({
|
|
|
909
909
|
}
|
|
910
910
|
);
|
|
911
911
|
}
|
|
912
|
-
function
|
|
912
|
+
function ft(e) {
|
|
913
913
|
const t = e.target.closest(
|
|
914
914
|
'a, button, [role="button"], input, select, textarea, label'
|
|
915
915
|
);
|
|
916
916
|
return t !== null && t !== e.currentTarget && e.currentTarget.contains(t);
|
|
917
917
|
}
|
|
918
|
-
function
|
|
918
|
+
function be() {
|
|
919
919
|
return !(typeof window.matchMedia == "function" && !window.matchMedia("(hover: hover)").matches);
|
|
920
920
|
}
|
|
921
|
-
function
|
|
921
|
+
function pt(e) {
|
|
922
922
|
if (e)
|
|
923
923
|
return (t) => {
|
|
924
924
|
const i = document.activeElement;
|
|
925
|
-
i && t.currentTarget.contains(i) &&
|
|
925
|
+
i && t.currentTarget.contains(i) && Fe(i) || e();
|
|
926
926
|
};
|
|
927
927
|
}
|
|
928
|
-
function
|
|
928
|
+
function ht(e) {
|
|
929
929
|
if (e)
|
|
930
930
|
return (t) => {
|
|
931
931
|
t.currentTarget.contains(t.relatedTarget) || e();
|
|
932
932
|
};
|
|
933
933
|
}
|
|
934
|
-
function
|
|
934
|
+
function yn({
|
|
935
935
|
result: e,
|
|
936
936
|
headingLevel: t,
|
|
937
937
|
highlighted: i,
|
|
938
938
|
selected: s = !1,
|
|
939
939
|
onSelect: r,
|
|
940
940
|
onOpenClick: a,
|
|
941
|
-
onHover:
|
|
941
|
+
onHover: o,
|
|
942
942
|
onLeave: m,
|
|
943
|
-
density:
|
|
944
|
-
openLabel:
|
|
945
|
-
bookLabel:
|
|
946
|
-
onBookClick:
|
|
947
|
-
nextSlotText:
|
|
943
|
+
density: d = "compact",
|
|
944
|
+
openLabel: l,
|
|
945
|
+
bookLabel: c,
|
|
946
|
+
onBookClick: h,
|
|
947
|
+
nextSlotText: p,
|
|
948
948
|
maxInsuranceChips: x = 3,
|
|
949
949
|
maxLanguageChips: b = 4,
|
|
950
|
-
children:
|
|
950
|
+
children: w
|
|
951
951
|
}) {
|
|
952
|
-
var D,
|
|
953
|
-
const { t:
|
|
952
|
+
var v, D, Q, ee;
|
|
953
|
+
const { t: S, i18n: M } = L("ui"), k = e.rating, I = (((v = e.languages) == null ? void 0 : v.length) ?? 0) > 0, P = (((D = e.insurances) == null ? void 0 : D.length) ?? 0) > 0, f = e.specializedInFearPatients, N = I || P || f, F = (e.languages ?? []).slice(0, b), V = (((Q = e.languages) == null ? void 0 : Q.length) ?? 0) - F.length, K = (e.insurances ?? []).slice(0, x), z = (((ee = e.insurances) == null ? void 0 : ee.length) ?? 0) - K.length;
|
|
954
954
|
return (
|
|
955
955
|
// 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.
|
|
956
956
|
/* @__PURE__ */ g(
|
|
@@ -962,17 +962,17 @@ function wn({
|
|
|
962
962
|
"data-selected": s ? "true" : "false",
|
|
963
963
|
role: "group",
|
|
964
964
|
"aria-labelledby": `practice-result-${e.id}-name`,
|
|
965
|
-
onClick: (
|
|
966
|
-
|
|
965
|
+
onClick: (_) => {
|
|
966
|
+
ft(_) || r();
|
|
967
967
|
},
|
|
968
|
-
onMouseEnter: () =>
|
|
969
|
-
onFocus: (
|
|
970
|
-
onMouseLeave:
|
|
971
|
-
onBlur:
|
|
972
|
-
className:
|
|
968
|
+
onMouseEnter: () => o(be()),
|
|
969
|
+
onFocus: (_) => o(Fe(_.target)),
|
|
970
|
+
onMouseLeave: pt(m),
|
|
971
|
+
onBlur: ht(m),
|
|
972
|
+
className: ut({ density: d }),
|
|
973
973
|
children: [
|
|
974
974
|
/* @__PURE__ */ n(
|
|
975
|
-
|
|
975
|
+
He,
|
|
976
976
|
{
|
|
977
977
|
src: e.imageUrl,
|
|
978
978
|
alt: e.imageAlt,
|
|
@@ -986,64 +986,64 @@ function wn({
|
|
|
986
986
|
),
|
|
987
987
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
|
|
988
988
|
/* @__PURE__ */ n(
|
|
989
|
-
|
|
989
|
+
mt,
|
|
990
990
|
{
|
|
991
991
|
result: e,
|
|
992
992
|
headingLevel: t,
|
|
993
993
|
selected: s
|
|
994
994
|
}
|
|
995
995
|
),
|
|
996
|
-
|
|
997
|
-
|
|
996
|
+
k && k.count > 0 ? /* @__PURE__ */ n(
|
|
997
|
+
_e,
|
|
998
998
|
{
|
|
999
|
-
value:
|
|
1000
|
-
reviews: { count:
|
|
999
|
+
value: k.value,
|
|
1000
|
+
reviews: { count: k.count },
|
|
1001
1001
|
size: "sm"
|
|
1002
1002
|
}
|
|
1003
1003
|
) : null,
|
|
1004
|
-
/* @__PURE__ */ n(
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1004
|
+
/* @__PURE__ */ n(lt, { review: e.latestReview }),
|
|
1005
|
+
N ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
1006
|
+
F.map((_) => /* @__PURE__ */ n(
|
|
1007
|
+
q,
|
|
1008
1008
|
{
|
|
1009
1009
|
variant: "neutral",
|
|
1010
|
-
leading: /* @__PURE__ */ n(
|
|
1011
|
-
children:
|
|
1010
|
+
leading: /* @__PURE__ */ n(nt, { "aria-hidden": "true" }),
|
|
1011
|
+
children: st(_, S, M)
|
|
1012
1012
|
},
|
|
1013
|
-
`lang-${
|
|
1013
|
+
`lang-${_}`
|
|
1014
1014
|
)),
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1015
|
+
V > 0 ? /* @__PURE__ */ n(q, { variant: "neutral", children: `+${V}` }) : null,
|
|
1016
|
+
K.map((_) => /* @__PURE__ */ n(
|
|
1017
|
+
q,
|
|
1018
1018
|
{
|
|
1019
1019
|
variant: "info",
|
|
1020
|
-
leading: /* @__PURE__ */ n(
|
|
1021
|
-
children:
|
|
1020
|
+
leading: /* @__PURE__ */ n(at, { "aria-hidden": "true" }),
|
|
1021
|
+
children: _
|
|
1022
1022
|
},
|
|
1023
|
-
`ins-${
|
|
1023
|
+
`ins-${_}`
|
|
1024
1024
|
)),
|
|
1025
|
-
|
|
1026
|
-
|
|
1025
|
+
z > 0 ? /* @__PURE__ */ n(q, { variant: "neutral", children: `+${z}` }) : null,
|
|
1026
|
+
f ? /* @__PURE__ */ n(q, { variant: "info", leading: /* @__PURE__ */ n(it, { "aria-hidden": "true" }), children: S("practiceResults.fearPatient.label") }) : null
|
|
1027
1027
|
] }) : null,
|
|
1028
1028
|
/* @__PURE__ */ n(
|
|
1029
|
-
|
|
1029
|
+
ct,
|
|
1030
1030
|
{
|
|
1031
1031
|
description: e.description,
|
|
1032
1032
|
density: "compact",
|
|
1033
1033
|
lang: e.contentLang
|
|
1034
1034
|
}
|
|
1035
1035
|
),
|
|
1036
|
-
e.nextAvailableSlot &&
|
|
1037
|
-
|
|
1036
|
+
e.nextAvailableSlot && p ? /* @__PURE__ */ n(Ve, { time: p }) : null,
|
|
1037
|
+
w,
|
|
1038
1038
|
/* @__PURE__ */ n(
|
|
1039
|
-
|
|
1039
|
+
dt,
|
|
1040
1040
|
{
|
|
1041
1041
|
result: e,
|
|
1042
|
-
openLabel:
|
|
1043
|
-
bookLabel:
|
|
1044
|
-
nextSlotText:
|
|
1042
|
+
openLabel: l,
|
|
1043
|
+
bookLabel: c,
|
|
1044
|
+
nextSlotText: p,
|
|
1045
1045
|
onOpenClick: a,
|
|
1046
|
-
onBookClick:
|
|
1046
|
+
onBookClick: h
|
|
1047
1047
|
}
|
|
1048
1048
|
)
|
|
1049
1049
|
] })
|
|
@@ -1052,22 +1052,22 @@ function wn({
|
|
|
1052
1052
|
)
|
|
1053
1053
|
);
|
|
1054
1054
|
}
|
|
1055
|
-
function
|
|
1055
|
+
function kn({
|
|
1056
1056
|
result: e,
|
|
1057
1057
|
headingLevel: t,
|
|
1058
1058
|
apiKey: i,
|
|
1059
1059
|
highlighted: s,
|
|
1060
1060
|
selected: r = !1,
|
|
1061
1061
|
onSelect: a,
|
|
1062
|
-
onOpenClick:
|
|
1062
|
+
onOpenClick: o,
|
|
1063
1063
|
onBookClick: m,
|
|
1064
|
-
onHover:
|
|
1065
|
-
onLeave:
|
|
1066
|
-
openLabel:
|
|
1067
|
-
bookLabel:
|
|
1064
|
+
onHover: d,
|
|
1065
|
+
onLeave: l,
|
|
1066
|
+
openLabel: c,
|
|
1067
|
+
bookLabel: h
|
|
1068
1068
|
}) {
|
|
1069
|
-
var
|
|
1070
|
-
const { t:
|
|
1069
|
+
var I, P;
|
|
1070
|
+
const { t: p, i18n: x } = L("ui"), b = O(() => {
|
|
1071
1071
|
if (e.nextAvailableSlot)
|
|
1072
1072
|
try {
|
|
1073
1073
|
return new Intl.DateTimeFormat(x.language, {
|
|
@@ -1078,7 +1078,7 @@ function yn({
|
|
|
1078
1078
|
} catch {
|
|
1079
1079
|
return e.nextAvailableSlot.dateTime;
|
|
1080
1080
|
}
|
|
1081
|
-
}, [e.nextAvailableSlot, x.language]),
|
|
1081
|
+
}, [e.nextAvailableSlot, x.language]), w = (((I = e.languages) == null ? void 0 : I.length) ?? 0) > 0, S = (((P = e.insurances) == null ? void 0 : P.length) ?? 0) > 0, M = e.specializedInFearPatients, k = w || S || M;
|
|
1082
1082
|
return (
|
|
1083
1083
|
// 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.
|
|
1084
1084
|
/* @__PURE__ */ g(
|
|
@@ -1091,17 +1091,17 @@ function yn({
|
|
|
1091
1091
|
"data-selected": r ? "true" : "false",
|
|
1092
1092
|
role: "group",
|
|
1093
1093
|
"aria-labelledby": `practice-result-${e.id}-name`,
|
|
1094
|
-
onClick: (
|
|
1095
|
-
|
|
1094
|
+
onClick: (f) => {
|
|
1095
|
+
ft(f) || a();
|
|
1096
1096
|
},
|
|
1097
|
-
onMouseEnter: () =>
|
|
1098
|
-
onFocus: (
|
|
1099
|
-
onMouseLeave:
|
|
1100
|
-
onBlur:
|
|
1101
|
-
className:
|
|
1097
|
+
onMouseEnter: () => d(be()),
|
|
1098
|
+
onFocus: (f) => d(Fe(f.target)),
|
|
1099
|
+
onMouseLeave: pt(l),
|
|
1100
|
+
onBlur: ht(l),
|
|
1101
|
+
className: ut({ density: "rich" }),
|
|
1102
1102
|
children: [
|
|
1103
1103
|
e.location ? /* @__PURE__ */ n("div", { className: "ds:hidden ds:@min-[640px]/result-card:block", children: /* @__PURE__ */ n(
|
|
1104
|
-
|
|
1104
|
+
mn,
|
|
1105
1105
|
{
|
|
1106
1106
|
image: e.mapImage,
|
|
1107
1107
|
apiKey: i,
|
|
@@ -1116,7 +1116,7 @@ function yn({
|
|
|
1116
1116
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
|
|
1117
1117
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
|
|
1118
1118
|
/* @__PURE__ */ n(
|
|
1119
|
-
|
|
1119
|
+
He,
|
|
1120
1120
|
{
|
|
1121
1121
|
src: e.imageUrl,
|
|
1122
1122
|
alt: e.imageAlt,
|
|
@@ -1129,7 +1129,7 @@ function yn({
|
|
|
1129
1129
|
}
|
|
1130
1130
|
),
|
|
1131
1131
|
/* @__PURE__ */ n(
|
|
1132
|
-
|
|
1132
|
+
mt,
|
|
1133
1133
|
{
|
|
1134
1134
|
result: e,
|
|
1135
1135
|
headingLevel: t,
|
|
@@ -1138,52 +1138,52 @@ function yn({
|
|
|
1138
1138
|
)
|
|
1139
1139
|
] }),
|
|
1140
1140
|
e.rating && e.rating.count > 0 ? /* @__PURE__ */ n(
|
|
1141
|
-
|
|
1141
|
+
_e,
|
|
1142
1142
|
{
|
|
1143
1143
|
value: e.rating.value,
|
|
1144
1144
|
reviews: { count: e.rating.count },
|
|
1145
1145
|
size: "md"
|
|
1146
1146
|
}
|
|
1147
1147
|
) : null,
|
|
1148
|
-
/* @__PURE__ */ n(
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1148
|
+
/* @__PURE__ */ n(lt, { review: e.latestReview }),
|
|
1149
|
+
k ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
1150
|
+
w ? (e.languages ?? []).map((f) => /* @__PURE__ */ n(
|
|
1151
|
+
q,
|
|
1152
1152
|
{
|
|
1153
1153
|
variant: "neutral",
|
|
1154
|
-
leading: /* @__PURE__ */ n(
|
|
1155
|
-
children:
|
|
1154
|
+
leading: /* @__PURE__ */ n(nt, { "aria-hidden": "true" }),
|
|
1155
|
+
children: st(f, p, x)
|
|
1156
1156
|
},
|
|
1157
|
-
`lang-${
|
|
1157
|
+
`lang-${f}`
|
|
1158
1158
|
)) : null,
|
|
1159
|
-
|
|
1160
|
-
|
|
1159
|
+
S ? (e.insurances ?? []).map((f) => /* @__PURE__ */ n(
|
|
1160
|
+
q,
|
|
1161
1161
|
{
|
|
1162
1162
|
variant: "info",
|
|
1163
|
-
leading: /* @__PURE__ */ n(
|
|
1164
|
-
children:
|
|
1163
|
+
leading: /* @__PURE__ */ n(at, { "aria-hidden": "true" }),
|
|
1164
|
+
children: f
|
|
1165
1165
|
},
|
|
1166
|
-
`ins-${
|
|
1166
|
+
`ins-${f}`
|
|
1167
1167
|
)) : null,
|
|
1168
|
-
|
|
1168
|
+
M ? /* @__PURE__ */ n(q, { variant: "info", leading: /* @__PURE__ */ n(it, { "aria-hidden": "true" }), children: p("practiceResults.fearPatient.label") }) : null
|
|
1169
1169
|
] }) : null,
|
|
1170
1170
|
/* @__PURE__ */ n(
|
|
1171
|
-
|
|
1171
|
+
ct,
|
|
1172
1172
|
{
|
|
1173
1173
|
description: e.description,
|
|
1174
1174
|
density: "rich",
|
|
1175
1175
|
lang: e.contentLang
|
|
1176
1176
|
}
|
|
1177
1177
|
),
|
|
1178
|
-
e.nextAvailableSlot && b ? /* @__PURE__ */ n(
|
|
1178
|
+
e.nextAvailableSlot && b ? /* @__PURE__ */ n(Ve, { time: b }) : null,
|
|
1179
1179
|
/* @__PURE__ */ n(
|
|
1180
|
-
|
|
1180
|
+
dt,
|
|
1181
1181
|
{
|
|
1182
1182
|
result: e,
|
|
1183
|
-
openLabel:
|
|
1184
|
-
bookLabel:
|
|
1183
|
+
openLabel: c,
|
|
1184
|
+
bookLabel: h,
|
|
1185
1185
|
nextSlotText: b,
|
|
1186
|
-
onOpenClick:
|
|
1186
|
+
onOpenClick: o,
|
|
1187
1187
|
onBookClick: m
|
|
1188
1188
|
}
|
|
1189
1189
|
)
|
|
@@ -1193,114 +1193,114 @@ function yn({
|
|
|
1193
1193
|
)
|
|
1194
1194
|
);
|
|
1195
1195
|
}
|
|
1196
|
-
function
|
|
1196
|
+
function Be({
|
|
1197
1197
|
results: e,
|
|
1198
1198
|
headingLevel: t,
|
|
1199
1199
|
hoveredId: i,
|
|
1200
1200
|
selectedId: s,
|
|
1201
1201
|
softId: r,
|
|
1202
1202
|
onCardHover: a,
|
|
1203
|
-
onCardLeave:
|
|
1203
|
+
onCardLeave: o,
|
|
1204
1204
|
onCardSelect: m,
|
|
1205
|
-
onCardOpenClick:
|
|
1206
|
-
onCardBookClick:
|
|
1207
|
-
openLabel:
|
|
1208
|
-
bookLabel:
|
|
1209
|
-
formatNextSlot:
|
|
1205
|
+
onCardOpenClick: d,
|
|
1206
|
+
onCardBookClick: l,
|
|
1207
|
+
openLabel: c,
|
|
1208
|
+
bookLabel: h,
|
|
1209
|
+
formatNextSlot: p,
|
|
1210
1210
|
onLoadMore: x,
|
|
1211
1211
|
loadingMore: b,
|
|
1212
|
-
loadingSkeletons:
|
|
1213
|
-
density:
|
|
1214
|
-
apiKey:
|
|
1215
|
-
containerRef:
|
|
1212
|
+
loadingSkeletons: w,
|
|
1213
|
+
density: S = "compact",
|
|
1214
|
+
apiKey: M,
|
|
1215
|
+
containerRef: k
|
|
1216
1216
|
}) {
|
|
1217
|
-
const { t:
|
|
1217
|
+
const { t: I } = L("ui"), P = T(null);
|
|
1218
1218
|
return J(() => {
|
|
1219
1219
|
if (!x) return;
|
|
1220
|
-
const
|
|
1221
|
-
if (!
|
|
1222
|
-
const
|
|
1223
|
-
(
|
|
1224
|
-
for (const
|
|
1225
|
-
|
|
1220
|
+
const f = P.current;
|
|
1221
|
+
if (!f || typeof IntersectionObserver > "u") return;
|
|
1222
|
+
const N = new IntersectionObserver(
|
|
1223
|
+
(F) => {
|
|
1224
|
+
for (const V of F)
|
|
1225
|
+
V.isIntersecting && (U("serp_load_more", {
|
|
1226
1226
|
currentCount: e.length
|
|
1227
1227
|
}), x());
|
|
1228
1228
|
},
|
|
1229
1229
|
{ root: null, rootMargin: "200px" }
|
|
1230
1230
|
);
|
|
1231
|
-
return
|
|
1232
|
-
}, [x, e.length]),
|
|
1231
|
+
return N.observe(f), () => N.disconnect();
|
|
1232
|
+
}, [x, e.length]), w ? /* @__PURE__ */ n(
|
|
1233
1233
|
"div",
|
|
1234
1234
|
{
|
|
1235
1235
|
role: "status",
|
|
1236
1236
|
"aria-live": "polite",
|
|
1237
|
-
"aria-label":
|
|
1237
|
+
"aria-label": I("practiceResults.loading"),
|
|
1238
1238
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
|
|
1239
|
-
children: Array.from({ length: 4 }).map((
|
|
1240
|
-
|
|
1239
|
+
children: Array.from({ length: 4 }).map((f, N) => /* @__PURE__ */ n(
|
|
1240
|
+
$t,
|
|
1241
1241
|
{
|
|
1242
1242
|
variant: "rounded",
|
|
1243
|
-
height:
|
|
1243
|
+
height: S === "rich" ? "11rem" : "7rem"
|
|
1244
1244
|
},
|
|
1245
|
-
`pr-skel-${
|
|
1245
|
+
`pr-skel-${N}`
|
|
1246
1246
|
))
|
|
1247
1247
|
}
|
|
1248
1248
|
) : /* @__PURE__ */ g(
|
|
1249
1249
|
"div",
|
|
1250
1250
|
{
|
|
1251
|
-
ref:
|
|
1251
|
+
ref: k,
|
|
1252
1252
|
"data-component": "practice-results-list",
|
|
1253
1253
|
role: "list",
|
|
1254
|
-
"aria-label":
|
|
1254
|
+
"aria-label": I("practiceResults.list.label"),
|
|
1255
1255
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
|
|
1256
1256
|
children: [
|
|
1257
|
-
e.map((
|
|
1258
|
-
|
|
1257
|
+
e.map((f) => /* @__PURE__ */ n("div", { role: "listitem", children: S === "rich" ? /* @__PURE__ */ n(
|
|
1258
|
+
kn,
|
|
1259
1259
|
{
|
|
1260
|
-
result:
|
|
1260
|
+
result: f,
|
|
1261
1261
|
headingLevel: t,
|
|
1262
|
-
apiKey:
|
|
1263
|
-
highlighted: i ===
|
|
1264
|
-
selected: s ===
|
|
1265
|
-
onSelect: () => m(
|
|
1266
|
-
onOpenClick: () =>
|
|
1267
|
-
onBookClick: () =>
|
|
1268
|
-
onHover: (
|
|
1269
|
-
onLeave:
|
|
1270
|
-
openLabel:
|
|
1271
|
-
bookLabel:
|
|
1262
|
+
apiKey: M,
|
|
1263
|
+
highlighted: i === f.id || s === f.id || r === f.id,
|
|
1264
|
+
selected: s === f.id,
|
|
1265
|
+
onSelect: () => m(f.id),
|
|
1266
|
+
onOpenClick: () => d(f.id),
|
|
1267
|
+
onBookClick: () => l(f.id),
|
|
1268
|
+
onHover: (N) => a(f.id, N),
|
|
1269
|
+
onLeave: o,
|
|
1270
|
+
openLabel: c,
|
|
1271
|
+
bookLabel: h
|
|
1272
1272
|
}
|
|
1273
1273
|
) : /* @__PURE__ */ n(
|
|
1274
|
-
|
|
1274
|
+
yn,
|
|
1275
1275
|
{
|
|
1276
|
-
result:
|
|
1276
|
+
result: f,
|
|
1277
1277
|
headingLevel: t,
|
|
1278
|
-
highlighted: i ===
|
|
1279
|
-
selected: s ===
|
|
1280
|
-
onSelect: () => m(
|
|
1281
|
-
onOpenClick: () =>
|
|
1282
|
-
onBookClick: () =>
|
|
1283
|
-
onHover: (
|
|
1284
|
-
onLeave:
|
|
1285
|
-
openLabel:
|
|
1286
|
-
bookLabel:
|
|
1287
|
-
nextSlotText: f
|
|
1278
|
+
highlighted: i === f.id || s === f.id || r === f.id,
|
|
1279
|
+
selected: s === f.id,
|
|
1280
|
+
onSelect: () => m(f.id),
|
|
1281
|
+
onOpenClick: () => d(f.id),
|
|
1282
|
+
onBookClick: () => l(f.id),
|
|
1283
|
+
onHover: (N) => a(f.id, N),
|
|
1284
|
+
onLeave: o,
|
|
1285
|
+
openLabel: c,
|
|
1286
|
+
bookLabel: h,
|
|
1287
|
+
nextSlotText: p(f)
|
|
1288
1288
|
}
|
|
1289
|
-
) },
|
|
1289
|
+
) }, f.id)),
|
|
1290
1290
|
x ? /* @__PURE__ */ n(
|
|
1291
1291
|
"div",
|
|
1292
1292
|
{
|
|
1293
|
-
ref:
|
|
1293
|
+
ref: P,
|
|
1294
1294
|
"aria-hidden": "true",
|
|
1295
1295
|
className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
|
|
1296
|
-
children: b ? /* @__PURE__ */ n(
|
|
1296
|
+
children: b ? /* @__PURE__ */ n(zt, { size: "md", variant: "pulse" }) : /* @__PURE__ */ n("span", { className: "ds:size-1" })
|
|
1297
1297
|
}
|
|
1298
1298
|
) : null
|
|
1299
1299
|
]
|
|
1300
1300
|
}
|
|
1301
1301
|
);
|
|
1302
1302
|
}
|
|
1303
|
-
function
|
|
1303
|
+
function Cn({
|
|
1304
1304
|
result: e,
|
|
1305
1305
|
nextSlotText: t
|
|
1306
1306
|
}) {
|
|
@@ -1312,7 +1312,7 @@ function kn({
|
|
|
1312
1312
|
className: "ds:flex ds:[inline-size:16rem] ds:max-w-full ds:items-center ds:gap-[var(--spacing-sm)] ds:rounded-[var(--radius-lg)] ds:border ds:border-[color:var(--card-border)] ds:bg-[var(--card)] ds:p-[var(--spacing-sm)] ds:text-[var(--card-foreground)] ds:shadow-[var(--shadow-lg)]",
|
|
1313
1313
|
children: [
|
|
1314
1314
|
/* @__PURE__ */ n(
|
|
1315
|
-
|
|
1315
|
+
He,
|
|
1316
1316
|
{
|
|
1317
1317
|
src: e.imageUrl,
|
|
1318
1318
|
name: e.name,
|
|
@@ -1333,41 +1333,42 @@ function kn({
|
|
|
1333
1333
|
}
|
|
1334
1334
|
),
|
|
1335
1335
|
i && i.count > 0 ? /* @__PURE__ */ n(
|
|
1336
|
-
|
|
1336
|
+
_e,
|
|
1337
1337
|
{
|
|
1338
1338
|
value: i.value,
|
|
1339
1339
|
reviews: { count: i.count },
|
|
1340
1340
|
size: "sm"
|
|
1341
1341
|
}
|
|
1342
1342
|
) : null,
|
|
1343
|
-
e.nextAvailableSlot && t ? /* @__PURE__ */ n(
|
|
1343
|
+
e.nextAvailableSlot && t ? /* @__PURE__ */ n(Ve, { time: t }) : null
|
|
1344
1344
|
] })
|
|
1345
1345
|
]
|
|
1346
1346
|
}
|
|
1347
1347
|
);
|
|
1348
1348
|
}
|
|
1349
|
-
function
|
|
1349
|
+
function Ae({
|
|
1350
1350
|
results: e,
|
|
1351
1351
|
searchCentre: t,
|
|
1352
1352
|
zoom: i,
|
|
1353
1353
|
apiKey: s,
|
|
1354
1354
|
mapId: r,
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1355
|
+
clusterMarkers: a,
|
|
1356
|
+
hoveredId: o,
|
|
1357
|
+
selectedId: m,
|
|
1358
|
+
onMapClick: d,
|
|
1359
|
+
showMarkerCard: l = !1,
|
|
1360
|
+
formatNextSlot: c,
|
|
1361
|
+
onPinHoverChange: h,
|
|
1361
1362
|
onPinClick: p,
|
|
1362
|
-
onPinHover:
|
|
1363
|
-
onPinFirstInteract:
|
|
1364
|
-
onBoundsChange:
|
|
1365
|
-
consentGranted:
|
|
1366
|
-
onConsentRequest:
|
|
1363
|
+
onPinHover: x,
|
|
1364
|
+
onPinFirstInteract: b,
|
|
1365
|
+
onBoundsChange: w,
|
|
1366
|
+
consentGranted: S,
|
|
1367
|
+
onConsentRequest: M,
|
|
1367
1368
|
staticPreview: k,
|
|
1368
1369
|
mapHandleRef: I
|
|
1369
1370
|
}) {
|
|
1370
|
-
const { t:
|
|
1371
|
+
const { t: P } = L("ui"), f = O(
|
|
1371
1372
|
() => e.filter(
|
|
1372
1373
|
(v) => !!v.location
|
|
1373
1374
|
).map((v) => ({
|
|
@@ -1379,36 +1380,36 @@ function Ie({
|
|
|
1379
1380
|
label: v.name
|
|
1380
1381
|
})),
|
|
1381
1382
|
[e]
|
|
1382
|
-
),
|
|
1383
|
-
() =>
|
|
1384
|
-
[
|
|
1385
|
-
),
|
|
1386
|
-
() =>
|
|
1387
|
-
[
|
|
1388
|
-
),
|
|
1383
|
+
), N = O(
|
|
1384
|
+
() => f.map((v) => ({ ...v.position, id: v.id })),
|
|
1385
|
+
[f]
|
|
1386
|
+
), F = O(
|
|
1387
|
+
() => f.map((v) => v.id).sort().join("|"),
|
|
1388
|
+
[f]
|
|
1389
|
+
), V = O(() => {
|
|
1389
1390
|
if (t) return t;
|
|
1390
|
-
const v =
|
|
1391
|
+
const v = rn(e);
|
|
1391
1392
|
return v ? {
|
|
1392
1393
|
lat: (v.north + v.south) / 2,
|
|
1393
1394
|
lng: (v.east + v.west) / 2
|
|
1394
1395
|
} : { lat: 45.4642, lng: 9.19 };
|
|
1395
|
-
}, [e, t]),
|
|
1396
|
-
() =>
|
|
1397
|
-
const D = e.find((
|
|
1396
|
+
}, [e, t]), K = O(
|
|
1397
|
+
() => l ? (v) => {
|
|
1398
|
+
const D = e.find((Q) => Q.id === v);
|
|
1398
1399
|
return D ? /* @__PURE__ */ n(
|
|
1399
|
-
|
|
1400
|
+
Cn,
|
|
1400
1401
|
{
|
|
1401
1402
|
result: D,
|
|
1402
|
-
nextSlotText:
|
|
1403
|
+
nextSlotText: c == null ? void 0 : c(D)
|
|
1403
1404
|
}
|
|
1404
1405
|
) : null;
|
|
1405
1406
|
} : void 0,
|
|
1406
|
-
[
|
|
1407
|
+
[l, c, e]
|
|
1407
1408
|
), z = H(
|
|
1408
1409
|
(v, { userInteraction: D }) => {
|
|
1409
|
-
|
|
1410
|
+
w == null || w(v), D && U("serp_map_panned", { bounds: v });
|
|
1410
1411
|
},
|
|
1411
|
-
[
|
|
1412
|
+
[w]
|
|
1412
1413
|
);
|
|
1413
1414
|
return /* @__PURE__ */ n(
|
|
1414
1415
|
"div",
|
|
@@ -1416,33 +1417,34 @@ function Ie({
|
|
|
1416
1417
|
"data-component": "practice-results-map-panel",
|
|
1417
1418
|
className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
|
|
1418
1419
|
children: /* @__PURE__ */ n(
|
|
1419
|
-
|
|
1420
|
+
Dt,
|
|
1420
1421
|
{
|
|
1421
1422
|
ref: I,
|
|
1422
1423
|
apiKey: s ?? "",
|
|
1423
1424
|
mapId: r,
|
|
1424
|
-
|
|
1425
|
+
clusterMarkers: a,
|
|
1426
|
+
center: V,
|
|
1425
1427
|
zoom: i,
|
|
1426
|
-
markers:
|
|
1427
|
-
fitToPoints:
|
|
1428
|
-
fitKey:
|
|
1429
|
-
selectedMarkerId:
|
|
1430
|
-
hoveredMarkerId:
|
|
1431
|
-
renderMarkerCard:
|
|
1432
|
-
onMarkerHover:
|
|
1433
|
-
consentGranted: !!
|
|
1428
|
+
markers: f,
|
|
1429
|
+
fitToPoints: N,
|
|
1430
|
+
fitKey: F,
|
|
1431
|
+
selectedMarkerId: m,
|
|
1432
|
+
hoveredMarkerId: o,
|
|
1433
|
+
renderMarkerCard: K,
|
|
1434
|
+
onMarkerHover: l ? h : void 0,
|
|
1435
|
+
consentGranted: !!S,
|
|
1434
1436
|
staticPreview: k,
|
|
1435
|
-
onConsentRequest:
|
|
1437
|
+
onConsentRequest: M,
|
|
1436
1438
|
onBoundsChange: z,
|
|
1437
|
-
onClusterClick: ({ count: v }) =>
|
|
1439
|
+
onClusterClick: ({ count: v }) => U("serp_map_cluster_clicked", { count: v }),
|
|
1438
1440
|
onMarkerClick: (v) => {
|
|
1439
1441
|
if (v == null) {
|
|
1440
|
-
|
|
1442
|
+
d();
|
|
1441
1443
|
return;
|
|
1442
1444
|
}
|
|
1443
|
-
|
|
1445
|
+
x(v), b(v), p(v);
|
|
1444
1446
|
},
|
|
1445
|
-
ariaLabel:
|
|
1447
|
+
ariaLabel: P("practiceResults.map.label"),
|
|
1446
1448
|
size: "fill",
|
|
1447
1449
|
surface: "bordered",
|
|
1448
1450
|
className: "ds:size-full"
|
|
@@ -1451,7 +1453,7 @@ function Ie({
|
|
|
1451
1453
|
}
|
|
1452
1454
|
);
|
|
1453
1455
|
}
|
|
1454
|
-
function
|
|
1456
|
+
function De({
|
|
1455
1457
|
variantBodyProps: e
|
|
1456
1458
|
}) {
|
|
1457
1459
|
const {
|
|
@@ -1460,116 +1462,117 @@ function Be({
|
|
|
1460
1462
|
sortOptions: s,
|
|
1461
1463
|
onChange: r,
|
|
1462
1464
|
heading: a,
|
|
1463
|
-
intro:
|
|
1465
|
+
intro: o,
|
|
1464
1466
|
totalCount: m,
|
|
1465
|
-
searchCentre:
|
|
1467
|
+
searchCentre: d
|
|
1466
1468
|
} = e;
|
|
1467
|
-
return !a && !
|
|
1469
|
+
return !a && !o && m == null && t.length === 0 && s.length === 0 ? null : /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
|
|
1468
1470
|
/* @__PURE__ */ n(
|
|
1469
|
-
|
|
1471
|
+
rt,
|
|
1470
1472
|
{
|
|
1471
1473
|
heading: a,
|
|
1472
1474
|
headingLevel: e.headingLevel,
|
|
1473
|
-
intro:
|
|
1475
|
+
intro: o,
|
|
1474
1476
|
totalCount: m,
|
|
1475
|
-
searchCentreLabel:
|
|
1477
|
+
searchCentreLabel: d == null ? void 0 : d.label
|
|
1476
1478
|
}
|
|
1477
1479
|
),
|
|
1478
1480
|
t.length > 0 ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
|
|
1479
1481
|
/* @__PURE__ */ n(
|
|
1480
|
-
|
|
1482
|
+
ot,
|
|
1481
1483
|
{
|
|
1482
1484
|
facets: t,
|
|
1483
1485
|
value: i.facets,
|
|
1484
|
-
onChange: (
|
|
1486
|
+
onChange: (l) => r({ ...i, facets: l })
|
|
1485
1487
|
}
|
|
1486
1488
|
),
|
|
1487
1489
|
s.length > 0 ? /* @__PURE__ */ n(
|
|
1488
|
-
|
|
1490
|
+
Me,
|
|
1489
1491
|
{
|
|
1490
1492
|
options: s,
|
|
1491
1493
|
value: i.sort ?? "relevance",
|
|
1492
|
-
onChange: (
|
|
1494
|
+
onChange: (l) => r({ ...i, sort: l })
|
|
1493
1495
|
}
|
|
1494
1496
|
) : null
|
|
1495
1497
|
] }) : s.length > 0 ? /* @__PURE__ */ n("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ n(
|
|
1496
|
-
|
|
1498
|
+
Me,
|
|
1497
1499
|
{
|
|
1498
1500
|
options: s,
|
|
1499
1501
|
value: i.sort ?? "relevance",
|
|
1500
|
-
onChange: (
|
|
1502
|
+
onChange: (l) => r({ ...i, sort: l })
|
|
1501
1503
|
}
|
|
1502
1504
|
) }) : null
|
|
1503
1505
|
] });
|
|
1504
1506
|
}
|
|
1505
|
-
function
|
|
1507
|
+
function $e(e) {
|
|
1506
1508
|
return Math.min(e + 1, 6);
|
|
1507
1509
|
}
|
|
1508
|
-
function
|
|
1510
|
+
function ze({
|
|
1509
1511
|
headingLevel: e
|
|
1510
1512
|
}) {
|
|
1511
|
-
const { t } =
|
|
1513
|
+
const { t } = L("ui");
|
|
1512
1514
|
return /* @__PURE__ */ n(
|
|
1513
|
-
|
|
1515
|
+
Bt,
|
|
1514
1516
|
{
|
|
1515
1517
|
variant: "no-results",
|
|
1516
|
-
headingLevel:
|
|
1518
|
+
headingLevel: $e(e),
|
|
1517
1519
|
title: t("practiceResults.empty.title"),
|
|
1518
1520
|
description: t("practiceResults.empty.description")
|
|
1519
1521
|
}
|
|
1520
1522
|
);
|
|
1521
1523
|
}
|
|
1522
|
-
function
|
|
1524
|
+
function Ee({
|
|
1523
1525
|
onRetry: e,
|
|
1524
1526
|
headingLevel: t
|
|
1525
1527
|
}) {
|
|
1526
|
-
const { t: i } =
|
|
1527
|
-
return /* @__PURE__ */ g(
|
|
1528
|
-
/* @__PURE__ */ n(
|
|
1529
|
-
/* @__PURE__ */ n(
|
|
1530
|
-
e ? /* @__PURE__ */ n(
|
|
1531
|
-
|
|
1528
|
+
const { t: i } = L("ui"), s = $e(t);
|
|
1529
|
+
return /* @__PURE__ */ g(pe, { variant: "error", children: [
|
|
1530
|
+
/* @__PURE__ */ n(pe.Title, { as: `h${s}`, children: i("practiceResults.error.title") }),
|
|
1531
|
+
/* @__PURE__ */ n(pe.Description, { children: i("practiceResults.error.description") }),
|
|
1532
|
+
e ? /* @__PURE__ */ n(pe.Action, { children: /* @__PURE__ */ n(
|
|
1533
|
+
he,
|
|
1532
1534
|
{
|
|
1533
1535
|
intent: "secondary",
|
|
1534
1536
|
size: "sm",
|
|
1535
|
-
startIcon: /* @__PURE__ */ n(
|
|
1537
|
+
startIcon: /* @__PURE__ */ n(Ut, { "aria-hidden": "true" }),
|
|
1536
1538
|
onClick: e,
|
|
1537
1539
|
children: i("practiceResults.error.retry")
|
|
1538
1540
|
}
|
|
1539
1541
|
) }) : null
|
|
1540
1542
|
] });
|
|
1541
1543
|
}
|
|
1542
|
-
function
|
|
1544
|
+
function Rn(e) {
|
|
1543
1545
|
const {
|
|
1544
1546
|
results: t,
|
|
1545
1547
|
apiKey: i,
|
|
1546
1548
|
mapId: s,
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1549
|
+
clusterMarkers: r,
|
|
1550
|
+
zoom: a,
|
|
1551
|
+
searchCentre: o,
|
|
1552
|
+
onLoadMore: m,
|
|
1553
|
+
loadingMore: d,
|
|
1554
|
+
loadingSkeletons: l,
|
|
1555
|
+
emptyResultsSlot: c,
|
|
1556
|
+
errorSlot: h,
|
|
1554
1557
|
error: p,
|
|
1555
|
-
onRetry:
|
|
1556
|
-
hoveredId:
|
|
1557
|
-
selectedId:
|
|
1558
|
-
onCardHover:
|
|
1559
|
-
onPinClick:
|
|
1558
|
+
onRetry: x,
|
|
1559
|
+
hoveredId: b,
|
|
1560
|
+
selectedId: w,
|
|
1561
|
+
onCardHover: S,
|
|
1562
|
+
onPinClick: M,
|
|
1560
1563
|
consentGranted: k,
|
|
1561
1564
|
onConsentRequest: I,
|
|
1562
|
-
onBoundsChange:
|
|
1563
|
-
listContainerRef:
|
|
1564
|
-
} = e, { t:
|
|
1565
|
-
|
|
1565
|
+
onBoundsChange: P,
|
|
1566
|
+
listContainerRef: f
|
|
1567
|
+
} = e, { t: N } = L("ui"), [F, V] = Z(!1), K = Oe("(min-width: 1024px)"), z = p ? h ?? /* @__PURE__ */ n(Ee, { onRetry: x, headingLevel: e.headingLevel }) : t.length === 0 && !l ? c ?? /* @__PURE__ */ n(ze, { headingLevel: e.headingLevel }) : /* @__PURE__ */ n(
|
|
1568
|
+
Be,
|
|
1566
1569
|
{
|
|
1567
1570
|
results: t,
|
|
1568
1571
|
headingLevel: e.headingLevel,
|
|
1569
|
-
hoveredId:
|
|
1570
|
-
selectedId:
|
|
1572
|
+
hoveredId: b,
|
|
1573
|
+
selectedId: w,
|
|
1571
1574
|
softId: e.softId,
|
|
1572
|
-
onCardHover:
|
|
1575
|
+
onCardHover: S,
|
|
1573
1576
|
onCardLeave: e.onCardLeave,
|
|
1574
1577
|
onCardSelect: e.onCardSelect,
|
|
1575
1578
|
onCardOpenClick: e.onCardOpenClick,
|
|
@@ -1577,37 +1580,38 @@ function Cn(e) {
|
|
|
1577
1580
|
openLabel: e.openLabel,
|
|
1578
1581
|
bookLabel: e.bookLabel,
|
|
1579
1582
|
formatNextSlot: e.formatNextSlot,
|
|
1580
|
-
onLoadMore:
|
|
1581
|
-
loadingMore:
|
|
1582
|
-
loadingSkeletons:
|
|
1583
|
+
onLoadMore: m,
|
|
1584
|
+
loadingMore: d,
|
|
1585
|
+
loadingSkeletons: l,
|
|
1583
1586
|
density: "compact",
|
|
1584
|
-
containerRef:
|
|
1587
|
+
containerRef: f
|
|
1585
1588
|
}
|
|
1586
1589
|
);
|
|
1587
1590
|
return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
1588
|
-
/* @__PURE__ */ n(
|
|
1591
|
+
/* @__PURE__ */ n(De, { variantBodyProps: e }),
|
|
1589
1592
|
/* @__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: [
|
|
1590
1593
|
/* @__PURE__ */ n("div", { className: "ds:min-w-0", children: z }),
|
|
1591
1594
|
/* @__PURE__ */ n("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ n(
|
|
1592
|
-
|
|
1595
|
+
Ae,
|
|
1593
1596
|
{
|
|
1594
1597
|
results: t,
|
|
1595
|
-
searchCentre:
|
|
1596
|
-
zoom:
|
|
1598
|
+
searchCentre: o,
|
|
1599
|
+
zoom: a,
|
|
1597
1600
|
apiKey: i,
|
|
1598
1601
|
mapId: s,
|
|
1602
|
+
clusterMarkers: r,
|
|
1599
1603
|
hoveredId: e.mapHoveredId,
|
|
1600
1604
|
selectedId: e.mapSelectedId,
|
|
1601
1605
|
onMapClick: e.onMapClick,
|
|
1602
|
-
showMarkerCard:
|
|
1606
|
+
showMarkerCard: K,
|
|
1603
1607
|
formatNextSlot: e.formatNextSlot,
|
|
1604
1608
|
onPinHoverChange: e.onPinHoverChange,
|
|
1605
1609
|
onPinClick: (v) => {
|
|
1606
|
-
ae(t, v, "pin", e.onResultSelect),
|
|
1610
|
+
ae(t, v, "pin", e.onResultSelect), M(v);
|
|
1607
1611
|
},
|
|
1608
1612
|
onPinHover: e.onPinHover,
|
|
1609
1613
|
onPinFirstInteract: e.onPinFirstInteract,
|
|
1610
|
-
onBoundsChange:
|
|
1614
|
+
onBoundsChange: P,
|
|
1611
1615
|
consentGranted: k,
|
|
1612
1616
|
staticPreview: e.mapPreview,
|
|
1613
1617
|
onConsentRequest: I,
|
|
@@ -1616,37 +1620,38 @@ function Cn(e) {
|
|
|
1616
1620
|
) })
|
|
1617
1621
|
] }),
|
|
1618
1622
|
/* @__PURE__ */ n("div", { className: "ds:flex ds:lg:hidden ds:sticky ds:bottom-[var(--spacing-md)] ds:justify-center", children: /* @__PURE__ */ n(
|
|
1619
|
-
|
|
1623
|
+
he,
|
|
1620
1624
|
{
|
|
1621
1625
|
intent: "primary",
|
|
1622
1626
|
size: "md",
|
|
1623
|
-
startIcon: /* @__PURE__ */ n(
|
|
1624
|
-
onClick: () =>
|
|
1625
|
-
children:
|
|
1627
|
+
startIcon: /* @__PURE__ */ n(Qt, { "aria-hidden": "true" }),
|
|
1628
|
+
onClick: () => V(!0),
|
|
1629
|
+
children: N("practiceResults.viewMap")
|
|
1626
1630
|
}
|
|
1627
1631
|
) }),
|
|
1628
|
-
/* @__PURE__ */ n(
|
|
1629
|
-
/* @__PURE__ */ n(
|
|
1630
|
-
/* @__PURE__ */ g(
|
|
1631
|
-
/* @__PURE__ */ n(
|
|
1632
|
+
/* @__PURE__ */ n(j.Root, { open: F, onOpenChange: V, children: /* @__PURE__ */ g(j.Content, { side: "bottom", size: "lg", children: [
|
|
1633
|
+
/* @__PURE__ */ n(j.Header, { children: /* @__PURE__ */ n(j.Title, { children: N("practiceResults.map.label") }) }),
|
|
1634
|
+
/* @__PURE__ */ g(j.Body, { children: [
|
|
1635
|
+
/* @__PURE__ */ n(j.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
|
|
1632
1636
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
1633
1637
|
/* @__PURE__ */ n("div", { className: "ds:h-[24rem]", children: /* @__PURE__ */ n(
|
|
1634
|
-
|
|
1638
|
+
Ae,
|
|
1635
1639
|
{
|
|
1636
1640
|
results: t,
|
|
1637
|
-
searchCentre:
|
|
1638
|
-
zoom:
|
|
1641
|
+
searchCentre: o,
|
|
1642
|
+
zoom: a,
|
|
1639
1643
|
apiKey: i,
|
|
1640
1644
|
mapId: s,
|
|
1645
|
+
clusterMarkers: r,
|
|
1641
1646
|
hoveredId: e.mapHoveredId,
|
|
1642
1647
|
selectedId: e.mapSelectedId,
|
|
1643
1648
|
onMapClick: e.onMapClick,
|
|
1644
1649
|
onPinClick: (v) => {
|
|
1645
|
-
ae(t, v, "pin", e.onResultSelect),
|
|
1650
|
+
ae(t, v, "pin", e.onResultSelect), M(v);
|
|
1646
1651
|
},
|
|
1647
1652
|
onPinHover: e.onPinHover,
|
|
1648
1653
|
onPinFirstInteract: e.onPinFirstInteract,
|
|
1649
|
-
onBoundsChange:
|
|
1654
|
+
onBoundsChange: P,
|
|
1650
1655
|
consentGranted: k,
|
|
1651
1656
|
staticPreview: e.mapPreview,
|
|
1652
1657
|
onConsentRequest: I,
|
|
@@ -1659,7 +1664,7 @@ function Cn(e) {
|
|
|
1659
1664
|
] }) })
|
|
1660
1665
|
] });
|
|
1661
1666
|
}
|
|
1662
|
-
const
|
|
1667
|
+
const Sn = {
|
|
1663
1668
|
peek: "sm",
|
|
1664
1669
|
half: "md",
|
|
1665
1670
|
full: "lg"
|
|
@@ -1668,37 +1673,37 @@ const Rn = {
|
|
|
1668
1673
|
"half",
|
|
1669
1674
|
"full"
|
|
1670
1675
|
];
|
|
1671
|
-
function
|
|
1672
|
-
const { t: i, i18n: s } =
|
|
1676
|
+
function Nn({ value: e, onChange: t }) {
|
|
1677
|
+
const { t: i, i18n: s } = L("ui"), r = s.dir() === "rtl", a = T(
|
|
1673
1678
|
/* @__PURE__ */ new Map()
|
|
1674
|
-
),
|
|
1675
|
-
var
|
|
1676
|
-
(
|
|
1679
|
+
), o = H((d) => {
|
|
1680
|
+
var l;
|
|
1681
|
+
(l = a.current.get(d)) == null || l.focus();
|
|
1677
1682
|
}, []), m = H(
|
|
1678
|
-
(
|
|
1679
|
-
const
|
|
1683
|
+
(d, l) => {
|
|
1684
|
+
const c = Y.indexOf(l), h = Y.length, p = r ? "ArrowLeft" : "ArrowRight", x = r ? "ArrowRight" : "ArrowLeft";
|
|
1680
1685
|
let b = null;
|
|
1681
|
-
switch (
|
|
1682
|
-
case
|
|
1686
|
+
switch (d.key) {
|
|
1687
|
+
case p:
|
|
1683
1688
|
case "ArrowDown":
|
|
1684
|
-
b = Y[(
|
|
1689
|
+
b = Y[(c + 1) % h];
|
|
1685
1690
|
break;
|
|
1686
1691
|
case x:
|
|
1687
1692
|
case "ArrowUp":
|
|
1688
|
-
b = Y[(
|
|
1693
|
+
b = Y[(c - 1 + h) % h];
|
|
1689
1694
|
break;
|
|
1690
1695
|
case "Home":
|
|
1691
1696
|
b = Y[0];
|
|
1692
1697
|
break;
|
|
1693
1698
|
case "End":
|
|
1694
|
-
b = Y[
|
|
1699
|
+
b = Y[h - 1];
|
|
1695
1700
|
break;
|
|
1696
1701
|
default:
|
|
1697
1702
|
return;
|
|
1698
1703
|
}
|
|
1699
|
-
|
|
1704
|
+
d.preventDefault(), b && b !== l && t(b), b && o(b);
|
|
1700
1705
|
},
|
|
1701
|
-
[
|
|
1706
|
+
[o, r, t]
|
|
1702
1707
|
);
|
|
1703
1708
|
return /* @__PURE__ */ n(
|
|
1704
1709
|
"div",
|
|
@@ -1706,72 +1711,72 @@ function Sn({ value: e, onChange: t }) {
|
|
|
1706
1711
|
role: "radiogroup",
|
|
1707
1712
|
"aria-label": i("practiceResults.sheet.snap.label"),
|
|
1708
1713
|
className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
|
|
1709
|
-
children: Y.map((
|
|
1710
|
-
const
|
|
1714
|
+
children: Y.map((d) => {
|
|
1715
|
+
const l = e === d;
|
|
1711
1716
|
return /* @__PURE__ */ n(
|
|
1712
1717
|
"button",
|
|
1713
1718
|
{
|
|
1714
|
-
ref: (
|
|
1715
|
-
|
|
1719
|
+
ref: (c) => {
|
|
1720
|
+
c ? a.current.set(d, c) : a.current.delete(d);
|
|
1716
1721
|
},
|
|
1717
1722
|
type: "button",
|
|
1718
1723
|
role: "radio",
|
|
1719
|
-
"aria-checked":
|
|
1720
|
-
"aria-label": i(`practiceResults.sheet.snap.${
|
|
1721
|
-
tabIndex:
|
|
1722
|
-
onClick: () => t(
|
|
1723
|
-
onKeyDown: (
|
|
1724
|
-
className:
|
|
1725
|
-
state:
|
|
1724
|
+
"aria-checked": l,
|
|
1725
|
+
"aria-label": i(`practiceResults.sheet.snap.${d}`),
|
|
1726
|
+
tabIndex: l ? 0 : -1,
|
|
1727
|
+
onClick: () => t(d),
|
|
1728
|
+
onKeyDown: (c) => m(c, d),
|
|
1729
|
+
className: ve({
|
|
1730
|
+
state: l ? "active" : "idle"
|
|
1726
1731
|
}),
|
|
1727
|
-
children: i(`practiceResults.sheet.snap.${
|
|
1732
|
+
children: i(`practiceResults.sheet.snap.${d}`)
|
|
1728
1733
|
},
|
|
1729
|
-
|
|
1734
|
+
d
|
|
1730
1735
|
);
|
|
1731
1736
|
})
|
|
1732
1737
|
}
|
|
1733
1738
|
);
|
|
1734
1739
|
}
|
|
1735
|
-
function
|
|
1736
|
-
const [s, r] =
|
|
1737
|
-
return
|
|
1740
|
+
function Ln(e, t, i) {
|
|
1741
|
+
const [s, r] = Z(null), [a, o] = Z(null);
|
|
1742
|
+
return Te(() => {
|
|
1738
1743
|
const m = e.current;
|
|
1739
1744
|
if (!i || !m || typeof window > "u") {
|
|
1740
|
-
r(null),
|
|
1745
|
+
r(null), o(null);
|
|
1741
1746
|
return;
|
|
1742
1747
|
}
|
|
1743
|
-
let
|
|
1744
|
-
const
|
|
1748
|
+
let d = 0, l = null, c = null;
|
|
1749
|
+
const h = () => {
|
|
1745
1750
|
const b = t.current;
|
|
1746
1751
|
r(b ? b.offsetHeight : null);
|
|
1747
|
-
const
|
|
1752
|
+
const w = m.querySelector(
|
|
1748
1753
|
'[data-testid="map-view-preview-plate"]'
|
|
1749
1754
|
) ?? m.querySelector(
|
|
1750
1755
|
'[data-testid="map-view-consent-actions"]'
|
|
1751
1756
|
);
|
|
1752
|
-
if (
|
|
1753
|
-
|
|
1757
|
+
if (w !== c && (c && (l == null || l.unobserve(c)), w && (l == null || l.observe(w, { box: "border-box" })), c = w), !w) {
|
|
1758
|
+
o(null);
|
|
1754
1759
|
return;
|
|
1755
1760
|
}
|
|
1756
|
-
const
|
|
1757
|
-
if (
|
|
1758
|
-
|
|
1761
|
+
const S = w.getBoundingClientRect().bottom;
|
|
1762
|
+
if (S <= 0) {
|
|
1763
|
+
o(null);
|
|
1759
1764
|
return;
|
|
1760
1765
|
}
|
|
1761
|
-
const
|
|
1762
|
-
|
|
1766
|
+
const M = window.innerHeight - S - Qe("--spacing-sm", m, 8);
|
|
1767
|
+
o(
|
|
1763
1768
|
Math.max(
|
|
1764
|
-
Math.round(
|
|
1765
|
-
|
|
1769
|
+
Math.round(M),
|
|
1770
|
+
Qe("--min-target-size", m, 44) * 2
|
|
1766
1771
|
)
|
|
1767
1772
|
);
|
|
1768
|
-
},
|
|
1769
|
-
cancelAnimationFrame(
|
|
1773
|
+
}, p = () => {
|
|
1774
|
+
cancelAnimationFrame(d), d = requestAnimationFrame(h);
|
|
1770
1775
|
};
|
|
1771
|
-
|
|
1772
|
-
const x = new MutationObserver(
|
|
1773
|
-
return x.observe(m, { childList: !0, subtree: !0 }), window.addEventListener("resize",
|
|
1774
|
-
cancelAnimationFrame(
|
|
1776
|
+
l = typeof ResizeObserver > "u" ? null : new ResizeObserver(p), h(), l == null || l.observe(m), t.current && (l == null || l.observe(t.current)), l == null || l.observe(document.body);
|
|
1777
|
+
const x = new MutationObserver(p);
|
|
1778
|
+
return x.observe(m, { childList: !0, subtree: !0 }), window.addEventListener("resize", p), window.addEventListener("scroll", p, { passive: !0 }), () => {
|
|
1779
|
+
cancelAnimationFrame(d), l == null || l.disconnect(), x.disconnect(), window.removeEventListener("resize", p), window.removeEventListener("scroll", p);
|
|
1775
1780
|
};
|
|
1776
1781
|
}, [i, e, t]), i ? {
|
|
1777
1782
|
mapStyle: s === null ? void 0 : {
|
|
@@ -1782,52 +1787,53 @@ function Nn(e, t, i) {
|
|
|
1782
1787
|
}
|
|
1783
1788
|
} : {};
|
|
1784
1789
|
}
|
|
1785
|
-
function
|
|
1790
|
+
function Pn(e) {
|
|
1786
1791
|
const {
|
|
1787
1792
|
results: t,
|
|
1788
1793
|
apiKey: i,
|
|
1789
1794
|
mapId: s,
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1795
|
+
clusterMarkers: r,
|
|
1796
|
+
zoom: a,
|
|
1797
|
+
searchCentre: o,
|
|
1798
|
+
onLoadMore: m,
|
|
1799
|
+
loadingMore: d,
|
|
1800
|
+
loadingSkeletons: l,
|
|
1801
|
+
emptyResultsSlot: c,
|
|
1802
|
+
errorSlot: h,
|
|
1797
1803
|
error: p,
|
|
1798
|
-
onRetry:
|
|
1799
|
-
hoveredId:
|
|
1800
|
-
selectedId:
|
|
1801
|
-
onCardHover:
|
|
1802
|
-
onPinClick:
|
|
1804
|
+
onRetry: x,
|
|
1805
|
+
hoveredId: b,
|
|
1806
|
+
selectedId: w,
|
|
1807
|
+
onCardHover: S,
|
|
1808
|
+
onPinClick: M,
|
|
1803
1809
|
consentGranted: k,
|
|
1804
1810
|
onConsentRequest: I,
|
|
1805
|
-
onBoundsChange:
|
|
1806
|
-
listContainerRef:
|
|
1807
|
-
facets:
|
|
1808
|
-
value:
|
|
1809
|
-
onChange:
|
|
1810
|
-
} = e, { t:
|
|
1811
|
+
onBoundsChange: P,
|
|
1812
|
+
listContainerRef: f,
|
|
1813
|
+
facets: N,
|
|
1814
|
+
value: F,
|
|
1815
|
+
onChange: V
|
|
1816
|
+
} = e, { t: K } = L("ui"), [z, v] = Z(
|
|
1811
1817
|
() => e.mapPreview && !k ? "peek" : "half"
|
|
1812
|
-
), D =
|
|
1813
|
-
D.current = !0, v(
|
|
1818
|
+
), D = T(!1), Q = H((R) => {
|
|
1819
|
+
D.current = !0, v(R);
|
|
1814
1820
|
}, []);
|
|
1815
|
-
|
|
1816
|
-
k && !D.current && v((
|
|
1821
|
+
Te(() => {
|
|
1822
|
+
k && !D.current && v((R) => R === "peek" ? "half" : R);
|
|
1817
1823
|
}, [k]);
|
|
1818
|
-
const ee =
|
|
1819
|
-
O,
|
|
1824
|
+
const ee = Sn[z], _ = Oe("(min-width: 1024px)"), se = T(null), re = T(null), te = Ln(
|
|
1820
1825
|
se,
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1826
|
+
re,
|
|
1827
|
+
!_ && !!e.mapPreview
|
|
1828
|
+
), oe = p ? h ?? /* @__PURE__ */ n(Ee, { onRetry: x, headingLevel: e.headingLevel }) : t.length === 0 && !l ? c ?? /* @__PURE__ */ n(ze, { headingLevel: e.headingLevel }) : /* @__PURE__ */ n(
|
|
1829
|
+
Be,
|
|
1824
1830
|
{
|
|
1825
1831
|
results: t,
|
|
1826
1832
|
headingLevel: e.headingLevel,
|
|
1827
|
-
hoveredId:
|
|
1828
|
-
selectedId:
|
|
1833
|
+
hoveredId: b,
|
|
1834
|
+
selectedId: w,
|
|
1829
1835
|
softId: e.softId,
|
|
1830
|
-
onCardHover:
|
|
1836
|
+
onCardHover: S,
|
|
1831
1837
|
onCardLeave: e.onCardLeave,
|
|
1832
1838
|
onCardSelect: e.onCardSelect,
|
|
1833
1839
|
onCardOpenClick: e.onCardOpenClick,
|
|
@@ -1835,55 +1841,56 @@ function Ln(e) {
|
|
|
1835
1841
|
openLabel: e.openLabel,
|
|
1836
1842
|
bookLabel: e.bookLabel,
|
|
1837
1843
|
formatNextSlot: e.formatNextSlot,
|
|
1838
|
-
onLoadMore:
|
|
1839
|
-
loadingMore:
|
|
1840
|
-
loadingSkeletons:
|
|
1844
|
+
onLoadMore: m,
|
|
1845
|
+
loadingMore: d,
|
|
1846
|
+
loadingSkeletons: l,
|
|
1841
1847
|
density: "compact",
|
|
1842
1848
|
apiKey: i,
|
|
1843
|
-
containerRef:
|
|
1849
|
+
containerRef: f
|
|
1844
1850
|
}
|
|
1845
|
-
),
|
|
1846
|
-
|
|
1851
|
+
), le = /* @__PURE__ */ n(
|
|
1852
|
+
Ae,
|
|
1847
1853
|
{
|
|
1848
1854
|
results: t,
|
|
1849
|
-
searchCentre:
|
|
1850
|
-
zoom:
|
|
1855
|
+
searchCentre: o,
|
|
1856
|
+
zoom: a,
|
|
1851
1857
|
apiKey: i,
|
|
1852
1858
|
mapId: s,
|
|
1859
|
+
clusterMarkers: r,
|
|
1853
1860
|
hoveredId: e.mapHoveredId,
|
|
1854
1861
|
selectedId: e.mapSelectedId,
|
|
1855
1862
|
onMapClick: e.onMapClick,
|
|
1856
|
-
showMarkerCard:
|
|
1863
|
+
showMarkerCard: _,
|
|
1857
1864
|
formatNextSlot: e.formatNextSlot,
|
|
1858
1865
|
onPinHoverChange: e.onPinHoverChange,
|
|
1859
|
-
onPinClick: (
|
|
1860
|
-
ae(t,
|
|
1866
|
+
onPinClick: (R) => {
|
|
1867
|
+
ae(t, R, "pin", e.onResultSelect), M(R);
|
|
1861
1868
|
},
|
|
1862
1869
|
onPinHover: e.onPinHover,
|
|
1863
1870
|
onPinFirstInteract: e.onPinFirstInteract,
|
|
1864
|
-
onBoundsChange:
|
|
1871
|
+
onBoundsChange: P,
|
|
1865
1872
|
consentGranted: k,
|
|
1866
1873
|
staticPreview: e.mapPreview,
|
|
1867
1874
|
onConsentRequest: I,
|
|
1868
1875
|
mapHandleRef: e.mapHandleRef
|
|
1869
1876
|
}
|
|
1870
|
-
),
|
|
1877
|
+
), xe = N.length > 0 ? /* @__PURE__ */ n(
|
|
1871
1878
|
"div",
|
|
1872
1879
|
{
|
|
1873
|
-
ref:
|
|
1880
|
+
ref: re,
|
|
1874
1881
|
className: "ds:absolute ds:start-[var(--spacing-md)] ds:top-[var(--spacing-md)] ds:max-w-[calc(100%-var(--spacing-lg))]",
|
|
1875
1882
|
children: /* @__PURE__ */ n(
|
|
1876
|
-
|
|
1883
|
+
ot,
|
|
1877
1884
|
{
|
|
1878
|
-
facets:
|
|
1879
|
-
value:
|
|
1880
|
-
onChange: (
|
|
1885
|
+
facets: N,
|
|
1886
|
+
value: F.facets,
|
|
1887
|
+
onChange: (R) => V({ ...F, facets: R }),
|
|
1881
1888
|
floating: !0
|
|
1882
1889
|
}
|
|
1883
1890
|
)
|
|
1884
1891
|
}
|
|
1885
1892
|
) : null;
|
|
1886
|
-
return /* @__PURE__ */ n("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children:
|
|
1893
|
+
return /* @__PURE__ */ n("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: _ ? (
|
|
1887
1894
|
// Desktop: 65/35 map left + cards rail right. NO Sheet (the
|
|
1888
1895
|
// Sheet would portal to body and occlude the desktop layout
|
|
1889
1896
|
// regardless of the parent's `lg:hidden` class).
|
|
@@ -1901,11 +1908,11 @@ function Ln(e) {
|
|
|
1901
1908
|
// the map column is `lg:sticky lg:h-[44rem]` (stays visible
|
|
1902
1909
|
// as the patient scrolls cards) and the rail renders at
|
|
1903
1910
|
// natural height. Single page scroll.
|
|
1904
|
-
/* @__PURE__ */ g(
|
|
1905
|
-
/* @__PURE__ */ n(
|
|
1911
|
+
/* @__PURE__ */ g(Tt, { children: [
|
|
1912
|
+
/* @__PURE__ */ n(De, { variantBodyProps: e }),
|
|
1906
1913
|
/* @__PURE__ */ g("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
|
|
1907
|
-
/* @__PURE__ */ n("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children:
|
|
1908
|
-
/* @__PURE__ */ n("div", { className: "ds:min-w-0", children:
|
|
1914
|
+
/* @__PURE__ */ n("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: le }),
|
|
1915
|
+
/* @__PURE__ */ n("div", { className: "ds:min-w-0", children: oe })
|
|
1909
1916
|
] })
|
|
1910
1917
|
] })
|
|
1911
1918
|
) : (
|
|
@@ -1917,91 +1924,91 @@ function Ln(e) {
|
|
|
1917
1924
|
// chrome, so floating chips are the only place for them.
|
|
1918
1925
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
1919
1926
|
/* @__PURE__ */ n(
|
|
1920
|
-
|
|
1927
|
+
rt,
|
|
1921
1928
|
{
|
|
1922
1929
|
heading: e.heading,
|
|
1923
1930
|
headingLevel: e.headingLevel,
|
|
1924
1931
|
intro: e.intro,
|
|
1925
1932
|
totalCount: e.totalCount,
|
|
1926
|
-
searchCentreLabel:
|
|
1933
|
+
searchCentreLabel: o == null ? void 0 : o.label
|
|
1927
1934
|
}
|
|
1928
1935
|
),
|
|
1929
1936
|
/* @__PURE__ */ g(
|
|
1930
1937
|
"div",
|
|
1931
1938
|
{
|
|
1932
|
-
ref:
|
|
1939
|
+
ref: se,
|
|
1933
1940
|
className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]",
|
|
1934
1941
|
style: te.mapStyle,
|
|
1935
1942
|
children: [
|
|
1936
|
-
|
|
1937
|
-
|
|
1943
|
+
le,
|
|
1944
|
+
xe
|
|
1938
1945
|
]
|
|
1939
1946
|
}
|
|
1940
1947
|
),
|
|
1941
|
-
/* @__PURE__ */ n(
|
|
1942
|
-
|
|
1948
|
+
/* @__PURE__ */ n(j.Root, { open: !0, modal: !1, children: /* @__PURE__ */ n(
|
|
1949
|
+
j.Content,
|
|
1943
1950
|
{
|
|
1944
1951
|
side: "bottom",
|
|
1945
1952
|
size: ee,
|
|
1946
1953
|
className: "ds:max-h-[var(--map-first-sheet-max-block-size,100dvh)] ds:[&_[data-radix-scroll-area-viewport]]:overscroll-contain",
|
|
1947
1954
|
style: te.sheetStyle,
|
|
1948
|
-
onEscapeKeyDown: (
|
|
1949
|
-
onPointerDownOutside: (
|
|
1950
|
-
onInteractOutside: (
|
|
1951
|
-
onOpenAutoFocus: (
|
|
1952
|
-
children: /* @__PURE__ */ g(
|
|
1953
|
-
/* @__PURE__ */ n(
|
|
1955
|
+
onEscapeKeyDown: (R) => R.preventDefault(),
|
|
1956
|
+
onPointerDownOutside: (R) => R.preventDefault(),
|
|
1957
|
+
onInteractOutside: (R) => R.preventDefault(),
|
|
1958
|
+
onOpenAutoFocus: (R) => R.preventDefault(),
|
|
1959
|
+
children: /* @__PURE__ */ g(j.Body, { children: [
|
|
1960
|
+
/* @__PURE__ */ n(j.Description, { className: "ds:sr-only", children: K("practiceResults.sheet.descriptionMapFirst") }),
|
|
1954
1961
|
/* @__PURE__ */ g("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
|
|
1955
|
-
/* @__PURE__ */ n(
|
|
1962
|
+
/* @__PURE__ */ n(j.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: K("practiceResults.sheet.title", {
|
|
1956
1963
|
count: e.totalCount ?? t.length
|
|
1957
1964
|
}) }),
|
|
1958
1965
|
/* @__PURE__ */ n(
|
|
1959
|
-
|
|
1966
|
+
Nn,
|
|
1960
1967
|
{
|
|
1961
1968
|
value: z,
|
|
1962
|
-
onChange:
|
|
1969
|
+
onChange: Q
|
|
1963
1970
|
}
|
|
1964
1971
|
)
|
|
1965
1972
|
] }),
|
|
1966
1973
|
e.sortOptions.length > 0 ? /* @__PURE__ */ n("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ n(
|
|
1967
|
-
|
|
1974
|
+
Me,
|
|
1968
1975
|
{
|
|
1969
1976
|
options: e.sortOptions,
|
|
1970
|
-
value:
|
|
1971
|
-
onChange: (
|
|
1977
|
+
value: F.sort ?? "relevance",
|
|
1978
|
+
onChange: (R) => V({ ...F, sort: R })
|
|
1972
1979
|
}
|
|
1973
1980
|
) }) : null,
|
|
1974
|
-
|
|
1981
|
+
oe
|
|
1975
1982
|
] })
|
|
1976
1983
|
}
|
|
1977
1984
|
) })
|
|
1978
1985
|
] })
|
|
1979
1986
|
) });
|
|
1980
1987
|
}
|
|
1981
|
-
function
|
|
1988
|
+
function Mn(e) {
|
|
1982
1989
|
const {
|
|
1983
1990
|
results: t,
|
|
1984
1991
|
apiKey: i,
|
|
1985
1992
|
onLoadMore: s,
|
|
1986
1993
|
loadingMore: r,
|
|
1987
1994
|
loadingSkeletons: a,
|
|
1988
|
-
emptyResultsSlot:
|
|
1995
|
+
emptyResultsSlot: o,
|
|
1989
1996
|
errorSlot: m,
|
|
1990
|
-
error:
|
|
1991
|
-
onRetry:
|
|
1992
|
-
hoveredId:
|
|
1993
|
-
selectedId:
|
|
1994
|
-
onCardHover:
|
|
1997
|
+
error: d,
|
|
1998
|
+
onRetry: l,
|
|
1999
|
+
hoveredId: c,
|
|
2000
|
+
selectedId: h,
|
|
2001
|
+
onCardHover: p,
|
|
1995
2002
|
listContainerRef: x
|
|
1996
|
-
} = e, b =
|
|
1997
|
-
|
|
2003
|
+
} = e, b = d ? m ?? /* @__PURE__ */ n(Ee, { onRetry: l, headingLevel: e.headingLevel }) : t.length === 0 && !a ? o ?? /* @__PURE__ */ n(ze, { headingLevel: e.headingLevel }) : /* @__PURE__ */ n(
|
|
2004
|
+
Be,
|
|
1998
2005
|
{
|
|
1999
2006
|
results: t,
|
|
2000
2007
|
headingLevel: e.headingLevel,
|
|
2001
|
-
hoveredId:
|
|
2002
|
-
selectedId:
|
|
2008
|
+
hoveredId: c,
|
|
2009
|
+
selectedId: h,
|
|
2003
2010
|
softId: e.softId,
|
|
2004
|
-
onCardHover:
|
|
2011
|
+
onCardHover: p,
|
|
2005
2012
|
onCardLeave: e.onCardLeave,
|
|
2006
2013
|
onCardSelect: e.onCardSelect,
|
|
2007
2014
|
onCardOpenClick: e.onCardOpenClick,
|
|
@@ -2018,70 +2025,71 @@ function Pn(e) {
|
|
|
2018
2025
|
}
|
|
2019
2026
|
);
|
|
2020
2027
|
return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
2021
|
-
/* @__PURE__ */ n(
|
|
2028
|
+
/* @__PURE__ */ n(De, { variantBodyProps: e }),
|
|
2022
2029
|
b
|
|
2023
2030
|
] });
|
|
2024
2031
|
}
|
|
2025
|
-
const
|
|
2032
|
+
const In = Ot(function({
|
|
2026
2033
|
variant: t = "split-list-map",
|
|
2027
2034
|
results: i,
|
|
2028
2035
|
contentLang: s,
|
|
2029
2036
|
totalCount: r,
|
|
2030
2037
|
searchCentre: a,
|
|
2031
|
-
facets:
|
|
2038
|
+
facets: o,
|
|
2032
2039
|
googleMapsApiKey: m,
|
|
2033
|
-
mapId:
|
|
2034
|
-
|
|
2035
|
-
|
|
2040
|
+
mapId: d,
|
|
2041
|
+
clusterMarkers: l = "auto",
|
|
2042
|
+
defaultZoom: c = Xt,
|
|
2043
|
+
onBoundsChange: h,
|
|
2036
2044
|
consentGranted: p,
|
|
2037
|
-
onConsentRequest:
|
|
2038
|
-
skipConsentGate:
|
|
2039
|
-
mapPreview:
|
|
2040
|
-
onLoadMore:
|
|
2041
|
-
loadingMore:
|
|
2045
|
+
onConsentRequest: x,
|
|
2046
|
+
skipConsentGate: b = !1,
|
|
2047
|
+
mapPreview: w,
|
|
2048
|
+
onLoadMore: S,
|
|
2049
|
+
loadingMore: M,
|
|
2042
2050
|
value: k,
|
|
2043
2051
|
onChange: I,
|
|
2044
|
-
sortOptions:
|
|
2045
|
-
onResultSelect:
|
|
2046
|
-
loading:
|
|
2047
|
-
emptyResultsSlot:
|
|
2048
|
-
errorSlot:
|
|
2049
|
-
error:
|
|
2052
|
+
sortOptions: P,
|
|
2053
|
+
onResultSelect: f,
|
|
2054
|
+
loading: N,
|
|
2055
|
+
emptyResultsSlot: F,
|
|
2056
|
+
errorSlot: V,
|
|
2057
|
+
error: K,
|
|
2050
2058
|
onRetry: z,
|
|
2051
2059
|
heading: v,
|
|
2052
2060
|
headingLevel: D = 2,
|
|
2053
|
-
intro:
|
|
2061
|
+
intro: Q,
|
|
2054
2062
|
cardOpenButtonLabel: ee,
|
|
2055
|
-
cardBookButtonLabel:
|
|
2056
|
-
showCardOpenButton:
|
|
2057
|
-
"aria-label":
|
|
2063
|
+
cardBookButtonLabel: _,
|
|
2064
|
+
showCardOpenButton: se = !0,
|
|
2065
|
+
"aria-label": re,
|
|
2058
2066
|
id: te,
|
|
2059
|
-
className:
|
|
2060
|
-
...
|
|
2061
|
-
},
|
|
2062
|
-
const { t:
|
|
2067
|
+
className: oe,
|
|
2068
|
+
...le
|
|
2069
|
+
}, xe) {
|
|
2070
|
+
const { t: R, i18n: Ke } = L("ui"), [ie, $] = Z(null), [je, ne] = Z(null), [we, E] = Z(null), [ye, gt] = Z(null), B = Oe("(min-width: 1024px)"), ce = T(/* @__PURE__ */ new Set()), ke = T(/* @__PURE__ */ new Set()), vt = T(null), de = T(null), Ce = O(
|
|
2063
2071
|
() => ({
|
|
2064
2072
|
getVariant: () => t,
|
|
2065
2073
|
scrollToResult: (u) => {
|
|
2066
|
-
const C =
|
|
2074
|
+
const C = de.current;
|
|
2067
2075
|
if (!C) return;
|
|
2068
|
-
const
|
|
2076
|
+
const y = C.querySelector(
|
|
2069
2077
|
`[data-component="practice-result-card"][data-result-id="${CSS.escape(u)}"]`
|
|
2070
2078
|
);
|
|
2071
|
-
|
|
2079
|
+
y && (y.scrollIntoView({ behavior: "smooth", block: "nearest" }), B || $(null), E(u));
|
|
2072
2080
|
},
|
|
2073
2081
|
focusPin: (u) => {
|
|
2074
|
-
|
|
2082
|
+
B && t !== "rich-cards" ? (E(null), ne(u)) : (B || $(null), E(u));
|
|
2075
2083
|
}
|
|
2076
2084
|
}),
|
|
2077
|
-
[t,
|
|
2085
|
+
[t, B]
|
|
2078
2086
|
);
|
|
2079
|
-
|
|
2080
|
-
const
|
|
2087
|
+
Vt(xe, () => Ce, [Ce]), jt(Jt, Ce, te);
|
|
2088
|
+
const bt = se ? ee ?? R("practiceResults.card.open") : void 0, xt = _ ?? R("practiceResults.card.book"), wt = H(
|
|
2081
2089
|
(u) => {
|
|
2082
2090
|
if (u.nextAvailableSlot)
|
|
2083
2091
|
try {
|
|
2084
|
-
return new Intl.DateTimeFormat(
|
|
2092
|
+
return new Intl.DateTimeFormat(Ke.language, {
|
|
2085
2093
|
weekday: "short",
|
|
2086
2094
|
hour: "numeric",
|
|
2087
2095
|
minute: "numeric"
|
|
@@ -2090,24 +2098,24 @@ const Mn = Tt(function({
|
|
|
2090
2098
|
return u.nextAvailableSlot.dateTime;
|
|
2091
2099
|
}
|
|
2092
2100
|
},
|
|
2093
|
-
[
|
|
2094
|
-
),
|
|
2101
|
+
[Ke.language]
|
|
2102
|
+
), qe = T(null);
|
|
2095
2103
|
J(() => {
|
|
2096
|
-
|
|
2104
|
+
qe.current !== t && (qe.current = t, U("serp_variant_exposed", {
|
|
2097
2105
|
variant: t,
|
|
2098
2106
|
totalCount: r ?? i.length
|
|
2099
|
-
}),
|
|
2107
|
+
}), ce.current = /* @__PURE__ */ new Set(), ke.current = /* @__PURE__ */ new Set());
|
|
2100
2108
|
}, [t]);
|
|
2101
|
-
const
|
|
2102
|
-
() =>
|
|
2103
|
-
[
|
|
2104
|
-
),
|
|
2105
|
-
() =>
|
|
2106
|
-
[
|
|
2107
|
-
),
|
|
2108
|
-
const u =
|
|
2109
|
-
return
|
|
2110
|
-
}, [i, k.facets,
|
|
2109
|
+
const Re = T(!1), Se = O(
|
|
2110
|
+
() => en(o ?? [], i, k.facets),
|
|
2111
|
+
[o, i, k.facets]
|
|
2112
|
+
), ue = O(
|
|
2113
|
+
() => P ? Xe.filter((u) => P.includes(u)) : Xe,
|
|
2114
|
+
[P]
|
|
2115
|
+
), me = a ? "distance" : "relevance", Ue = k.sort ?? me, Ne = ue.includes(Ue) ? Ue : ue.includes(me) ? me : ue[0] ?? me, A = O(() => {
|
|
2116
|
+
const u = tn(i, k.facets, Se);
|
|
2117
|
+
return sn(u, Ne, a);
|
|
2118
|
+
}, [i, k.facets, Se, Ne, a]), yt = O(
|
|
2111
2119
|
() => s ? A.map(
|
|
2112
2120
|
(u) => u.contentLang ? u : { ...u, contentLang: s }
|
|
2113
2121
|
) : A,
|
|
@@ -2115,32 +2123,32 @@ const Mn = Tt(function({
|
|
|
2115
2123
|
);
|
|
2116
2124
|
J(() => {
|
|
2117
2125
|
const u = A.length === 0;
|
|
2118
|
-
u && !
|
|
2126
|
+
u && !Re.current ? (U("serp_empty_results", {
|
|
2119
2127
|
appliedFacets: k.facets ?? {}
|
|
2120
|
-
}),
|
|
2128
|
+
}), Re.current = !0) : u || (Re.current = !1);
|
|
2121
2129
|
}, [A.length, k.facets]), J(() => {
|
|
2122
|
-
const u = new Set(A.map((
|
|
2130
|
+
const u = new Set(A.map((y) => y.id)), C = (y) => y !== null && u.has(y) ? y : null;
|
|
2123
2131
|
$(C), ne(C), E(C);
|
|
2124
2132
|
}, [A]), J(() => {
|
|
2125
2133
|
$(null), ne(null), E(null);
|
|
2126
2134
|
}, [t]);
|
|
2127
|
-
const X =
|
|
2135
|
+
const X = T(null), Ge = T(null);
|
|
2128
2136
|
J(
|
|
2129
2137
|
() => () => {
|
|
2130
2138
|
X.current && clearTimeout(X.current);
|
|
2131
2139
|
},
|
|
2132
2140
|
[]
|
|
2133
2141
|
);
|
|
2134
|
-
const
|
|
2135
|
-
|
|
2136
|
-
|
|
2142
|
+
const Le = H((u) => {
|
|
2143
|
+
ce.current.has(u) || Ge.current === u && X.current || (X.current && clearTimeout(X.current), Ge.current = u, X.current = setTimeout(() => {
|
|
2144
|
+
ce.current.has(u) || (ce.current.add(u), U("serp_result_hovered_card", { resultId: u })), X.current = null;
|
|
2137
2145
|
}, 500));
|
|
2138
|
-
}, []),
|
|
2146
|
+
}, []), kt = H(
|
|
2139
2147
|
(u, C) => {
|
|
2140
|
-
|
|
2148
|
+
Le(u), C && ($(u), E(null));
|
|
2141
2149
|
},
|
|
2142
|
-
[
|
|
2143
|
-
),
|
|
2150
|
+
[Le]
|
|
2151
|
+
), Ct = H(() => $(null), []);
|
|
2144
2152
|
J(() => {
|
|
2145
2153
|
if (ie === null) return;
|
|
2146
2154
|
const u = (C) => {
|
|
@@ -2148,170 +2156,171 @@ const Mn = Tt(function({
|
|
|
2148
2156
|
};
|
|
2149
2157
|
return document.addEventListener("keydown", u), () => document.removeEventListener("keydown", u);
|
|
2150
2158
|
}, [ie]);
|
|
2151
|
-
const
|
|
2152
|
-
(u, C,
|
|
2159
|
+
const Rt = H(
|
|
2160
|
+
(u, C, y) => {
|
|
2153
2161
|
if (!C) {
|
|
2154
|
-
$((
|
|
2162
|
+
$((fe) => fe === u ? null : fe);
|
|
2155
2163
|
return;
|
|
2156
2164
|
}
|
|
2157
|
-
|
|
2165
|
+
B && (y === "pointer" && !be() || ($(u), E(null)));
|
|
2158
2166
|
},
|
|
2159
|
-
[
|
|
2160
|
-
),
|
|
2167
|
+
[B]
|
|
2168
|
+
), Ze = T(B);
|
|
2161
2169
|
J(() => {
|
|
2162
|
-
|
|
2163
|
-
}, [
|
|
2164
|
-
const
|
|
2170
|
+
Ze.current && !B && $(null), Ze.current = B;
|
|
2171
|
+
}, [B]);
|
|
2172
|
+
const St = H(() => {
|
|
2165
2173
|
ne(null), E(null);
|
|
2166
|
-
}, []),
|
|
2174
|
+
}, []), Nt = H(
|
|
2167
2175
|
(u) => {
|
|
2168
2176
|
var C;
|
|
2169
|
-
if (!
|
|
2170
|
-
const
|
|
2177
|
+
if (!B) {
|
|
2178
|
+
const y = (C = de.current) == null ? void 0 : C.querySelector(
|
|
2171
2179
|
`[data-component="practice-result-card"][data-result-id="${CSS.escape(u)}"]`
|
|
2172
2180
|
);
|
|
2173
|
-
$(null), E(u),
|
|
2181
|
+
$(null), E(u), y == null || y.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
2174
2182
|
return;
|
|
2175
2183
|
}
|
|
2176
|
-
E(null), ne(u),
|
|
2184
|
+
E(null), ne(u), gt((y) => ({ id: u, n: ((y == null ? void 0 : y.n) ?? 0) + 1 }));
|
|
2177
2185
|
},
|
|
2178
|
-
[
|
|
2186
|
+
[B]
|
|
2179
2187
|
);
|
|
2180
|
-
|
|
2181
|
-
if (!
|
|
2182
|
-
const u =
|
|
2183
|
-
`[data-component="practice-result-card"][data-result-id="${CSS.escape(
|
|
2188
|
+
Te(() => {
|
|
2189
|
+
if (!ye) return;
|
|
2190
|
+
const u = de.current, C = u == null ? void 0 : u.querySelector(
|
|
2191
|
+
`[data-component="practice-result-card"][data-result-id="${CSS.escape(ye.id)}"]`
|
|
2184
2192
|
);
|
|
2185
2193
|
C == null || C.scrollIntoView({
|
|
2186
|
-
behavior:
|
|
2194
|
+
behavior: Et(C) ? "instant" : "smooth",
|
|
2187
2195
|
block: "start"
|
|
2188
2196
|
});
|
|
2189
|
-
}, [
|
|
2190
|
-
const
|
|
2191
|
-
|
|
2192
|
-
}, []),
|
|
2197
|
+
}, [ye]);
|
|
2198
|
+
const Lt = H((u) => {
|
|
2199
|
+
ke.current.has(u) || (ke.current.add(u), U("serp_result_hovered_pin", { resultId: u }));
|
|
2200
|
+
}, []), We = T(null), Pt = H(
|
|
2193
2201
|
(u) => {
|
|
2194
|
-
ne(null),
|
|
2195
|
-
const C = A.find((
|
|
2202
|
+
ne(null), be() ? (E(null), $(u)) : ($(null), E(u));
|
|
2203
|
+
const C = A.find((y) => y.id === u);
|
|
2196
2204
|
if (C) {
|
|
2197
2205
|
if (C.location) {
|
|
2198
|
-
const
|
|
2199
|
-
|
|
2206
|
+
const y = We.current;
|
|
2207
|
+
y == null || y.panTo({
|
|
2200
2208
|
lat: C.location.lat,
|
|
2201
2209
|
lng: C.location.lng
|
|
2202
|
-
}),
|
|
2210
|
+
}), y == null || y.setZoom(16);
|
|
2203
2211
|
}
|
|
2204
|
-
ae(A, u, "card",
|
|
2212
|
+
ae(A, u, "card", f);
|
|
2205
2213
|
}
|
|
2206
2214
|
},
|
|
2207
|
-
[A,
|
|
2208
|
-
),
|
|
2215
|
+
[A, f]
|
|
2216
|
+
), Mt = H(
|
|
2209
2217
|
(u) => {
|
|
2210
2218
|
ae(
|
|
2211
2219
|
A,
|
|
2212
2220
|
u,
|
|
2213
2221
|
"open-button",
|
|
2214
|
-
|
|
2222
|
+
f
|
|
2215
2223
|
);
|
|
2216
2224
|
},
|
|
2217
|
-
[A,
|
|
2218
|
-
),
|
|
2225
|
+
[A, f]
|
|
2226
|
+
), It = H(
|
|
2219
2227
|
(u) => {
|
|
2220
2228
|
ae(
|
|
2221
2229
|
A,
|
|
2222
2230
|
u,
|
|
2223
2231
|
"book-button",
|
|
2224
|
-
|
|
2232
|
+
f
|
|
2225
2233
|
);
|
|
2226
2234
|
},
|
|
2227
|
-
[A,
|
|
2228
|
-
),
|
|
2235
|
+
[A, f]
|
|
2236
|
+
), At = !!N && i.length === 0, Ht = H(
|
|
2229
2237
|
(u, C) => {
|
|
2230
|
-
const
|
|
2231
|
-
|
|
2238
|
+
const y = A.find((fe) => fe.id === u.id);
|
|
2239
|
+
f(y ?? u, C);
|
|
2232
2240
|
},
|
|
2233
|
-
[A,
|
|
2234
|
-
),
|
|
2235
|
-
results:
|
|
2241
|
+
[A, f]
|
|
2242
|
+
), Pe = {
|
|
2243
|
+
results: yt,
|
|
2236
2244
|
totalCount: r,
|
|
2237
2245
|
searchCentre: a,
|
|
2238
|
-
facets:
|
|
2239
|
-
value: { ...k, sort:
|
|
2240
|
-
sortOptions:
|
|
2246
|
+
facets: Se,
|
|
2247
|
+
value: { ...k, sort: Ne },
|
|
2248
|
+
sortOptions: ue,
|
|
2241
2249
|
onChange: I,
|
|
2242
|
-
onResultSelect:
|
|
2243
|
-
onLoadMore:
|
|
2244
|
-
loadingMore:
|
|
2250
|
+
onResultSelect: Ht,
|
|
2251
|
+
onLoadMore: S,
|
|
2252
|
+
loadingMore: M,
|
|
2245
2253
|
apiKey: m,
|
|
2246
|
-
mapId:
|
|
2247
|
-
|
|
2254
|
+
mapId: d,
|
|
2255
|
+
clusterMarkers: l,
|
|
2256
|
+
zoom: c,
|
|
2248
2257
|
// 0.31.4: when `skipConsentGate` is true the kit synthesises
|
|
2249
2258
|
// `consentGranted=true` for every internal MapView; the consumer's
|
|
2250
2259
|
// CMP at the page level is responsible for whether the Google Maps
|
|
2251
2260
|
// loader script is present at all. `onConsentRequest` is dropped
|
|
2252
2261
|
// because no placeholder renders — nothing to fire it from.
|
|
2253
|
-
consentGranted:
|
|
2254
|
-
onConsentRequest:
|
|
2255
|
-
mapPreview:
|
|
2256
|
-
onBoundsChange:
|
|
2257
|
-
loadingSkeletons:
|
|
2258
|
-
emptyResultsSlot:
|
|
2259
|
-
errorSlot:
|
|
2260
|
-
error:
|
|
2262
|
+
consentGranted: b ? !0 : p,
|
|
2263
|
+
onConsentRequest: b ? void 0 : x,
|
|
2264
|
+
mapPreview: w,
|
|
2265
|
+
onBoundsChange: h,
|
|
2266
|
+
loadingSkeletons: At,
|
|
2267
|
+
emptyResultsSlot: F,
|
|
2268
|
+
errorSlot: V,
|
|
2269
|
+
error: K,
|
|
2261
2270
|
onRetry: z,
|
|
2262
2271
|
heading: v,
|
|
2263
2272
|
headingLevel: D,
|
|
2264
|
-
intro:
|
|
2273
|
+
intro: Q,
|
|
2265
2274
|
hoveredId: ie,
|
|
2266
|
-
selectedId:
|
|
2267
|
-
softId:
|
|
2268
|
-
mapHoveredId:
|
|
2269
|
-
mapSelectedId:
|
|
2270
|
-
onCardHover:
|
|
2271
|
-
onCardLeave:
|
|
2272
|
-
onPinHover:
|
|
2273
|
-
onPinHoverChange:
|
|
2274
|
-
onMapClick:
|
|
2275
|
-
onPinClick:
|
|
2276
|
-
onPinFirstInteract:
|
|
2277
|
-
onCardSelect:
|
|
2278
|
-
onCardOpenClick:
|
|
2279
|
-
onCardBookClick:
|
|
2280
|
-
openLabel:
|
|
2281
|
-
bookLabel:
|
|
2282
|
-
formatNextSlot:
|
|
2283
|
-
listContainerRef:
|
|
2284
|
-
mapHandleRef:
|
|
2285
|
-
},
|
|
2275
|
+
selectedId: je,
|
|
2276
|
+
softId: we,
|
|
2277
|
+
mapHoveredId: B ? ie : null,
|
|
2278
|
+
mapSelectedId: B ? je ?? we : ie ?? we,
|
|
2279
|
+
onCardHover: kt,
|
|
2280
|
+
onCardLeave: Ct,
|
|
2281
|
+
onPinHover: Le,
|
|
2282
|
+
onPinHoverChange: Rt,
|
|
2283
|
+
onMapClick: St,
|
|
2284
|
+
onPinClick: Nt,
|
|
2285
|
+
onPinFirstInteract: Lt,
|
|
2286
|
+
onCardSelect: Pt,
|
|
2287
|
+
onCardOpenClick: Mt,
|
|
2288
|
+
onCardBookClick: It,
|
|
2289
|
+
openLabel: bt,
|
|
2290
|
+
bookLabel: xt,
|
|
2291
|
+
formatNextSlot: wt,
|
|
2292
|
+
listContainerRef: vt,
|
|
2293
|
+
mapHandleRef: We
|
|
2294
|
+
}, Ft = (() => {
|
|
2286
2295
|
switch (t) {
|
|
2287
2296
|
case "map-first":
|
|
2288
|
-
return /* @__PURE__ */ n(
|
|
2297
|
+
return /* @__PURE__ */ n(Pn, { ...Pe });
|
|
2289
2298
|
case "rich-cards":
|
|
2290
|
-
return /* @__PURE__ */ n(
|
|
2299
|
+
return /* @__PURE__ */ n(Mn, { ...Pe });
|
|
2291
2300
|
case "split-list-map":
|
|
2292
2301
|
default:
|
|
2293
|
-
return /* @__PURE__ */ n(
|
|
2302
|
+
return /* @__PURE__ */ n(Rn, { ...Pe });
|
|
2294
2303
|
}
|
|
2295
|
-
})(),
|
|
2304
|
+
})(), _t = re ?? R("practiceResults.regionLabel");
|
|
2296
2305
|
return /* @__PURE__ */ n(
|
|
2297
2306
|
"div",
|
|
2298
2307
|
{
|
|
2299
|
-
ref:
|
|
2308
|
+
ref: de,
|
|
2300
2309
|
role: "region",
|
|
2301
|
-
"aria-label":
|
|
2310
|
+
"aria-label": _t,
|
|
2302
2311
|
id: te,
|
|
2303
2312
|
"data-component": "practice-results",
|
|
2304
2313
|
"data-component-id": te,
|
|
2305
2314
|
"data-variant": t,
|
|
2306
|
-
className:
|
|
2307
|
-
...
|
|
2308
|
-
children:
|
|
2315
|
+
className: on({ variant: t, className: oe }),
|
|
2316
|
+
...le,
|
|
2317
|
+
children: Ft
|
|
2309
2318
|
}
|
|
2310
2319
|
);
|
|
2311
2320
|
});
|
|
2312
|
-
|
|
2321
|
+
In.displayName = "PracticeResults";
|
|
2313
2322
|
export {
|
|
2314
|
-
|
|
2315
|
-
|
|
2323
|
+
In as P,
|
|
2324
|
+
Jt as p
|
|
2316
2325
|
};
|
|
2317
|
-
//# sourceMappingURL=practice-results-
|
|
2326
|
+
//# sourceMappingURL=practice-results-yCresv86.js.map
|