@alfadocs/ui-kit-debug 1.27.0 → 1.28.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/{practice-results-DL_ExLYE.js → practice-results-CxIsU2YO.js} +136 -135
- package/dist/_chunks/practice-results-CxIsU2YO.js.map +1 -0
- package/dist/agent-catalog.json +2 -2
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +9 -0
- package/dist/components/practice-results/practice-results.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/practice-results-DL_ExLYE.js.map +0 -1
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { jsx as t, jsxs as p, Fragment as
|
|
2
|
-
import { forwardRef as
|
|
1
|
+
import { jsx as t, jsxs as p, Fragment as tt } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as nt, useState as me, useRef as M, useMemo as B, useImperativeHandle as at, useCallback as D, useEffect as W } from "react";
|
|
3
3
|
import { c as j } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as C } from "react-i18next";
|
|
5
5
|
import { A as Y } from "./alert-CiJT540z.js";
|
|
6
6
|
import { A as Re } from "./avatar-BNQNhoyL.js";
|
|
7
7
|
import { B as ee } from "./button-nJaPh_HC.js";
|
|
8
8
|
import { D as $ } from "./dropdown-menu-DU-Hrf33.js";
|
|
9
|
-
import { E as
|
|
10
|
-
import { M as
|
|
9
|
+
import { E as st } from "./empty-state-X0sVPfVo.js";
|
|
10
|
+
import { M as it } from "./map-view-CCAlC9IL.js";
|
|
11
11
|
import { R as Ne } from "./rating-BYbUowdK.js";
|
|
12
12
|
import { S as I } from "./sheet-BSznOyJs.js";
|
|
13
|
-
import { S as
|
|
14
|
-
import { S as
|
|
13
|
+
import { S as rt } from "./skeleton-CZbwyJAA.js";
|
|
14
|
+
import { S as ot } from "./spinner-hbwuKwMf.js";
|
|
15
15
|
import { B as O } from "./badge-sTusUqZD.js";
|
|
16
|
-
import { u as
|
|
17
|
-
import { L as Se, f as
|
|
18
|
-
import { u as
|
|
19
|
-
import { c as
|
|
20
|
-
import { R as
|
|
16
|
+
import { u as ct } from "./use-media-query-CcAx5SMM.js";
|
|
17
|
+
import { L as Se, f as lt, B as dt } from "./format-price-DNqXPa_q.js";
|
|
18
|
+
import { u as ut } from "./registry-DvAUVLHh.js";
|
|
19
|
+
import { c as pt } from "./createLucideIcon-DhHxpK9K.js";
|
|
20
|
+
import { R as mt } from "./refresh-cw-DnI0cLFC.js";
|
|
21
21
|
import { C as Pe } from "./chevron-down-DWE7GSq9.js";
|
|
22
22
|
import { M as ne } from "./map-pin-BaY37-Km.js";
|
|
23
23
|
import { S as Ae } from "./shield-check-DCJALLVh.js";
|
|
24
24
|
import { H as Me } from "./heart--qCA4ffe.js";
|
|
25
|
-
import { C as
|
|
26
|
-
import { C as
|
|
25
|
+
import { C as ft } from "./calendar-clock-hbObjfGY.js";
|
|
26
|
+
import { C as ht } from "./calendar-plus-BFrIRE4r.js";
|
|
27
27
|
/**
|
|
28
28
|
* @license lucide-react v1.22.0 - ISC
|
|
29
29
|
*
|
|
30
30
|
* This source code is licensed under the ISC license.
|
|
31
31
|
* See the LICENSE file in the root directory of this source tree.
|
|
32
32
|
*/
|
|
33
|
-
const
|
|
33
|
+
const gt = [
|
|
34
34
|
[
|
|
35
35
|
"path",
|
|
36
36
|
{
|
|
@@ -40,7 +40,7 @@ const ht = [
|
|
|
40
40
|
],
|
|
41
41
|
["path", { d: "M15 5.764v15", key: "1pn4in" }],
|
|
42
42
|
["path", { d: "M9 3.236v15", key: "1uimfh" }]
|
|
43
|
-
],
|
|
43
|
+
], vt = pt("map", gt), bt = {
|
|
44
44
|
id: "practice-results",
|
|
45
45
|
// `scroll` backs scroll_to_result; `pick` backs focus_pin (a non-persisting
|
|
46
46
|
// pin highlight). The active variant is consumer-owned via props, so there is
|
|
@@ -116,10 +116,10 @@ const ht = [
|
|
|
116
116
|
},
|
|
117
117
|
item: {
|
|
118
118
|
attr: "data-result-id",
|
|
119
|
-
description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries two anchors: data-component="practice-result-open-cta" (practice page) and data-component="practice-result-book-cta" (booking flow; data-slot-aware="true" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component="practice-result-tagline", data-component="practice-result-description", and data-component="practice-result-price" (the kit-formatted first-visit cost — present only when the practice set one).'
|
|
119
|
+
description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries up to two anchors: data-component="practice-result-open-cta" (practice page; absent when the consumer sets showCardOpenButton=false) and data-component="practice-result-book-cta" (booking flow; data-slot-aware="true" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component="practice-result-tagline", data-component="practice-result-description", and data-component="practice-result-price" (the kit-formatted first-visit cost — present only when the practice set one).'
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
},
|
|
122
|
+
}, yt = 13, xt = [
|
|
123
123
|
"distance",
|
|
124
124
|
"rating",
|
|
125
125
|
"next-available",
|
|
@@ -129,7 +129,7 @@ function Ie(e, n, s) {
|
|
|
129
129
|
const r = `languages.${e}`;
|
|
130
130
|
return s.exists(r) ? n(r) : e.toUpperCase();
|
|
131
131
|
}
|
|
132
|
-
function
|
|
132
|
+
function L(e, n) {
|
|
133
133
|
if (typeof window > "u") return;
|
|
134
134
|
const s = window.track;
|
|
135
135
|
try {
|
|
@@ -141,13 +141,13 @@ function Q(e, n, s, r) {
|
|
|
141
141
|
const i = e.findIndex((l) => l.id === n);
|
|
142
142
|
if (i < 0) return;
|
|
143
143
|
const a = e[i];
|
|
144
|
-
a && (
|
|
144
|
+
a && (L("serp_result_clicked", { resultId: n, source: s, position: i }), r(a, s));
|
|
145
145
|
}
|
|
146
|
-
function
|
|
146
|
+
function kt(e, n) {
|
|
147
147
|
const r = (n.lat - e.lat) * Math.PI / 180, i = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, l = n.lat * Math.PI / 180, d = Math.sin(r / 2), c = Math.sin(i / 2), u = d * d + Math.cos(a) * Math.cos(l) * c * c;
|
|
148
148
|
return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(u)));
|
|
149
149
|
}
|
|
150
|
-
function
|
|
150
|
+
function Ct(e, n, s) {
|
|
151
151
|
var i;
|
|
152
152
|
const r = [];
|
|
153
153
|
for (const a of e) {
|
|
@@ -158,7 +158,7 @@ function kt(e, n, s) {
|
|
|
158
158
|
}
|
|
159
159
|
return r;
|
|
160
160
|
}
|
|
161
|
-
function
|
|
161
|
+
function wt(e, n, s) {
|
|
162
162
|
return !n || Object.keys(n).length === 0 ? e : e.filter((r) => {
|
|
163
163
|
for (const i of s) {
|
|
164
164
|
const a = n[i.key];
|
|
@@ -173,9 +173,9 @@ function Ct(e, n, s) {
|
|
|
173
173
|
return !0;
|
|
174
174
|
});
|
|
175
175
|
}
|
|
176
|
-
function
|
|
176
|
+
function Rt(e, n, s) {
|
|
177
177
|
const r = e.map((a) => {
|
|
178
|
-
const l = a.location ? a.location.distanceKm ?? (s ?
|
|
178
|
+
const l = a.location ? a.location.distanceKm ?? (s ? kt(s, a.location) : void 0) : void 0;
|
|
179
179
|
return { result: a, distanceKm: l };
|
|
180
180
|
}), i = (a, l) => {
|
|
181
181
|
var d, c, u, o;
|
|
@@ -213,7 +213,7 @@ function Ce(e) {
|
|
|
213
213
|
if (a)
|
|
214
214
|
return { north: n, south: s, east: r, west: i };
|
|
215
215
|
}
|
|
216
|
-
const
|
|
216
|
+
const Nt = j(
|
|
217
217
|
"ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
|
|
218
218
|
{
|
|
219
219
|
variants: {
|
|
@@ -273,7 +273,7 @@ const te = j(
|
|
|
273
273
|
},
|
|
274
274
|
defaultVariants: { state: "idle" }
|
|
275
275
|
}
|
|
276
|
-
),
|
|
276
|
+
), St = j(
|
|
277
277
|
"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
278
278
|
{
|
|
279
279
|
variants: {
|
|
@@ -292,7 +292,7 @@ const te = j(
|
|
|
292
292
|
},
|
|
293
293
|
defaultVariants: { placement: "inline" }
|
|
294
294
|
}
|
|
295
|
-
),
|
|
295
|
+
), Pt = j(
|
|
296
296
|
[
|
|
297
297
|
"ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
298
298
|
"ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
|
|
@@ -314,7 +314,7 @@ function Te({
|
|
|
314
314
|
[a]
|
|
315
315
|
), d = (o, m) => {
|
|
316
316
|
const f = { ...a };
|
|
317
|
-
m.length === 0 ? delete f[o] : f[o] = m, s(f),
|
|
317
|
+
m.length === 0 ? delete f[o] : f[o] = m, s(f), L("serp_filter_changed", { key: o, values: m });
|
|
318
318
|
}, c = (o) => {
|
|
319
319
|
var f;
|
|
320
320
|
const m = (((f = a[o]) == null ? void 0 : f.length) ?? 0) > 0;
|
|
@@ -330,7 +330,7 @@ function Te({
|
|
|
330
330
|
"data-component": "practice-results-filters",
|
|
331
331
|
role: "group",
|
|
332
332
|
"aria-label": i("practiceResults.filters.label"),
|
|
333
|
-
className:
|
|
333
|
+
className: St({
|
|
334
334
|
placement: r ? "floating" : "inline"
|
|
335
335
|
}),
|
|
336
336
|
children: [
|
|
@@ -394,9 +394,9 @@ function Te({
|
|
|
394
394
|
{
|
|
395
395
|
type: "button",
|
|
396
396
|
onClick: () => {
|
|
397
|
-
s({}),
|
|
397
|
+
s({}), L("serp_filter_changed", { key: "*", values: [] });
|
|
398
398
|
},
|
|
399
|
-
className:
|
|
399
|
+
className: Pt(),
|
|
400
400
|
children: i("practiceResults.filters.clear")
|
|
401
401
|
}
|
|
402
402
|
) : null
|
|
@@ -441,9 +441,9 @@ function ue({ value: e, onChange: n }) {
|
|
|
441
441
|
value: e,
|
|
442
442
|
onValueChange: (i) => {
|
|
443
443
|
const a = i;
|
|
444
|
-
a !== e && (n(a),
|
|
444
|
+
a !== e && (n(a), L("serp_sort_changed", { sort: a }));
|
|
445
445
|
},
|
|
446
|
-
children:
|
|
446
|
+
children: xt.map((i) => /* @__PURE__ */ t($.RadioItem, { value: i, children: r(i) }, i))
|
|
447
447
|
}
|
|
448
448
|
) })
|
|
449
449
|
] });
|
|
@@ -477,12 +477,12 @@ const we = j(
|
|
|
477
477
|
defaultVariants: { state: "placeholder" }
|
|
478
478
|
}
|
|
479
479
|
);
|
|
480
|
-
function
|
|
480
|
+
function At() {
|
|
481
481
|
if (typeof document > "u") return "4945a3";
|
|
482
482
|
const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
|
|
483
483
|
return n ? n[1] : "4945a3";
|
|
484
484
|
}
|
|
485
|
-
function
|
|
485
|
+
function Mt({
|
|
486
486
|
apiKey: e,
|
|
487
487
|
center: n,
|
|
488
488
|
zoom: s = 14,
|
|
@@ -501,7 +501,7 @@ function At({
|
|
|
501
501
|
]
|
|
502
502
|
}
|
|
503
503
|
);
|
|
504
|
-
const a =
|
|
504
|
+
const a = At(), l = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${s}&size=240x160&scale=2&markers=color:0x${a}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
|
|
505
505
|
return /* @__PURE__ */ t(
|
|
506
506
|
"img",
|
|
507
507
|
{
|
|
@@ -515,7 +515,7 @@ function At({
|
|
|
515
515
|
}
|
|
516
516
|
);
|
|
517
517
|
}
|
|
518
|
-
function
|
|
518
|
+
function Fe({ tagline: e }) {
|
|
519
519
|
return e ? /* @__PURE__ */ t(
|
|
520
520
|
"span",
|
|
521
521
|
{
|
|
@@ -525,7 +525,7 @@ function Le({ tagline: e }) {
|
|
|
525
525
|
}
|
|
526
526
|
) : null;
|
|
527
527
|
}
|
|
528
|
-
const
|
|
528
|
+
const It = j(
|
|
529
529
|
"type-body-sm ds:m-0 ds:text-[var(--muted-foreground)] ds:whitespace-pre-line ds:break-words",
|
|
530
530
|
{
|
|
531
531
|
variants: {
|
|
@@ -537,7 +537,7 @@ const Mt = j(
|
|
|
537
537
|
defaultVariants: { density: "compact" }
|
|
538
538
|
}
|
|
539
539
|
);
|
|
540
|
-
function
|
|
540
|
+
function Le({
|
|
541
541
|
description: e,
|
|
542
542
|
density: n
|
|
543
543
|
}) {
|
|
@@ -545,7 +545,7 @@ function Fe({
|
|
|
545
545
|
"p",
|
|
546
546
|
{
|
|
547
547
|
"data-component": "practice-result-description",
|
|
548
|
-
className:
|
|
548
|
+
className: It({ density: n }),
|
|
549
549
|
children: e
|
|
550
550
|
}
|
|
551
551
|
) : null;
|
|
@@ -555,7 +555,7 @@ function Be({
|
|
|
555
555
|
currencyCode: n = "EUR"
|
|
556
556
|
}) {
|
|
557
557
|
const { t: s, i18n: r } = C(), i = B(
|
|
558
|
-
() => e == null ? void 0 :
|
|
558
|
+
() => e == null ? void 0 : lt(e, n, r.language ?? "en"),
|
|
559
559
|
[e, n, r.language]
|
|
560
560
|
);
|
|
561
561
|
return i === void 0 ? null : /* @__PURE__ */ p(
|
|
@@ -565,7 +565,7 @@ function Be({
|
|
|
565
565
|
className: "type-body-sm ds:inline-flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[var(--muted-foreground)]",
|
|
566
566
|
children: [
|
|
567
567
|
/* @__PURE__ */ t(
|
|
568
|
-
|
|
568
|
+
dt,
|
|
569
569
|
{
|
|
570
570
|
"aria-hidden": "true",
|
|
571
571
|
className: "ds:size-4 ds:shrink-0 ds:text-[var(--primary)]"
|
|
@@ -582,7 +582,7 @@ function He({ time: e }) {
|
|
|
582
582
|
const { t: n } = C();
|
|
583
583
|
return /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
584
584
|
/* @__PURE__ */ t(
|
|
585
|
-
|
|
585
|
+
ft,
|
|
586
586
|
{
|
|
587
587
|
"aria-hidden": "true",
|
|
588
588
|
className: "ds:size-4 ds:text-[var(--primary)]"
|
|
@@ -601,7 +601,7 @@ function De({
|
|
|
601
601
|
}) {
|
|
602
602
|
const { t: l } = C(), d = e.nextAvailableSlot, c = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, u = d && r ? l("practiceResults.nextSlot.cta", { time: r }) : s;
|
|
603
603
|
return /* @__PURE__ */ p("div", { className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]", children: [
|
|
604
|
-
/* @__PURE__ */ t(
|
|
604
|
+
n !== void 0 ? /* @__PURE__ */ t(
|
|
605
605
|
ee,
|
|
606
606
|
{
|
|
607
607
|
intent: "secondary",
|
|
@@ -616,14 +616,14 @@ function De({
|
|
|
616
616
|
/* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
|
|
617
617
|
] })
|
|
618
618
|
}
|
|
619
|
-
),
|
|
619
|
+
) : null,
|
|
620
620
|
/* @__PURE__ */ t(
|
|
621
621
|
ee,
|
|
622
622
|
{
|
|
623
623
|
intent: "primary",
|
|
624
624
|
size: "sm",
|
|
625
625
|
asChild: !0,
|
|
626
|
-
startIcon: /* @__PURE__ */ t(
|
|
626
|
+
startIcon: /* @__PURE__ */ t(ht, { "aria-hidden": "true" }),
|
|
627
627
|
onClick: (o) => {
|
|
628
628
|
o.stopPropagation(), a();
|
|
629
629
|
},
|
|
@@ -673,7 +673,7 @@ const $e = j(
|
|
|
673
673
|
defaultVariants: { density: "compact" }
|
|
674
674
|
}
|
|
675
675
|
);
|
|
676
|
-
function
|
|
676
|
+
function _t({
|
|
677
677
|
result: e,
|
|
678
678
|
highlighted: n,
|
|
679
679
|
onSelect: s,
|
|
@@ -688,8 +688,8 @@ function It({
|
|
|
688
688
|
maxLanguageChips: m = 4,
|
|
689
689
|
children: f
|
|
690
690
|
}) {
|
|
691
|
-
var q, U, G,
|
|
692
|
-
const { t: x, i18n: b } = C(), y = e.rating, h = (q = e.location) == null ? void 0 : q.distanceKm, g = (((U = e.languages) == null ? void 0 : U.length) ?? 0) > 0, R = (((G = e.insurances) == null ? void 0 : G.length) ?? 0) > 0, P = e.specializedInFearPatients, N = g || R || P, w = (e.languages ?? []).slice(0, m), _ = (((
|
|
691
|
+
var q, U, G, V, H, Z;
|
|
692
|
+
const { t: x, i18n: b } = C(), y = e.rating, h = (q = e.location) == null ? void 0 : q.distanceKm, g = (((U = e.languages) == null ? void 0 : U.length) ?? 0) > 0, R = (((G = e.insurances) == null ? void 0 : G.length) ?? 0) > 0, P = e.specializedInFearPatients, N = g || R || P, w = (e.languages ?? []).slice(0, m), _ = (((V = e.languages) == null ? void 0 : V.length) ?? 0) - w.length, T = (e.insurances ?? []).slice(0, o), A = (((H = e.insurances) == null ? void 0 : H.length) ?? 0) - T.length;
|
|
693
693
|
return (
|
|
694
694
|
// 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.
|
|
695
695
|
/* @__PURE__ */ p(
|
|
@@ -720,7 +720,7 @@ function It({
|
|
|
720
720
|
h != null ? /* @__PURE__ */ t(ze, { distanceKm: h }) : null
|
|
721
721
|
] }),
|
|
722
722
|
e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
|
|
723
|
-
/* @__PURE__ */ t(
|
|
723
|
+
/* @__PURE__ */ t(Fe, { tagline: e.tagline }),
|
|
724
724
|
(Z = e.location) != null && Z.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
|
|
725
725
|
/* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
|
|
726
726
|
e.location.address
|
|
@@ -757,7 +757,7 @@ function It({
|
|
|
757
757
|
A > 0 ? /* @__PURE__ */ t(O, { variant: "neutral", children: `+${A}` }) : null,
|
|
758
758
|
P ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: x("practiceResults.fearPatient.label") }) : null
|
|
759
759
|
] }) : null,
|
|
760
|
-
/* @__PURE__ */ t(
|
|
760
|
+
/* @__PURE__ */ t(Le, { description: e.description, density: "compact" }),
|
|
761
761
|
/* @__PURE__ */ t(
|
|
762
762
|
Be,
|
|
763
763
|
{
|
|
@@ -784,7 +784,7 @@ function It({
|
|
|
784
784
|
)
|
|
785
785
|
);
|
|
786
786
|
}
|
|
787
|
-
function
|
|
787
|
+
function Tt({
|
|
788
788
|
result: e,
|
|
789
789
|
apiKey: n,
|
|
790
790
|
highlighted: s,
|
|
@@ -825,7 +825,7 @@ function _t({
|
|
|
825
825
|
className: $e({ density: "rich" }),
|
|
826
826
|
children: [
|
|
827
827
|
e.location ? /* @__PURE__ */ t(
|
|
828
|
-
|
|
828
|
+
Mt,
|
|
829
829
|
{
|
|
830
830
|
apiKey: n,
|
|
831
831
|
center: {
|
|
@@ -851,7 +851,7 @@ function _t({
|
|
|
851
851
|
h != null ? /* @__PURE__ */ t(ze, { distanceKm: h }) : null
|
|
852
852
|
] }),
|
|
853
853
|
e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
|
|
854
|
-
/* @__PURE__ */ t(
|
|
854
|
+
/* @__PURE__ */ t(Fe, { tagline: e.tagline }),
|
|
855
855
|
(N = e.location) != null && N.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
|
|
856
856
|
/* @__PURE__ */ t(
|
|
857
857
|
ne,
|
|
@@ -893,7 +893,7 @@ function _t({
|
|
|
893
893
|
)) : null,
|
|
894
894
|
b ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
|
|
895
895
|
] }) : null,
|
|
896
|
-
/* @__PURE__ */ t(
|
|
896
|
+
/* @__PURE__ */ t(Le, { description: e.description, density: "rich" }),
|
|
897
897
|
/* @__PURE__ */ t(
|
|
898
898
|
Be,
|
|
899
899
|
{
|
|
@@ -944,7 +944,7 @@ function fe({
|
|
|
944
944
|
const R = new IntersectionObserver(
|
|
945
945
|
(P) => {
|
|
946
946
|
for (const N of P)
|
|
947
|
-
N.isIntersecting && (
|
|
947
|
+
N.isIntersecting && (L("serp_load_more", {
|
|
948
948
|
currentCount: e.length
|
|
949
949
|
}), u());
|
|
950
950
|
},
|
|
@@ -959,7 +959,7 @@ function fe({
|
|
|
959
959
|
"aria-label": y("practiceResults.loading"),
|
|
960
960
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
|
|
961
961
|
children: Array.from({ length: 4 }).map((g, R) => /* @__PURE__ */ t(
|
|
962
|
-
|
|
962
|
+
rt,
|
|
963
963
|
{
|
|
964
964
|
variant: "rounded",
|
|
965
965
|
height: f === "rich" ? "11rem" : "7rem"
|
|
@@ -977,7 +977,7 @@ function fe({
|
|
|
977
977
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
|
|
978
978
|
children: [
|
|
979
979
|
e.map((g) => /* @__PURE__ */ t("div", { role: "listitem", children: f === "rich" ? /* @__PURE__ */ t(
|
|
980
|
-
|
|
980
|
+
Tt,
|
|
981
981
|
{
|
|
982
982
|
result: g,
|
|
983
983
|
apiKey: x,
|
|
@@ -990,7 +990,7 @@ function fe({
|
|
|
990
990
|
bookLabel: d
|
|
991
991
|
}
|
|
992
992
|
) : /* @__PURE__ */ t(
|
|
993
|
-
|
|
993
|
+
_t,
|
|
994
994
|
{
|
|
995
995
|
result: g,
|
|
996
996
|
highlighted: n === g.id,
|
|
@@ -1009,7 +1009,7 @@ function fe({
|
|
|
1009
1009
|
ref: h,
|
|
1010
1010
|
"aria-hidden": "true",
|
|
1011
1011
|
className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
|
|
1012
|
-
children: o ? /* @__PURE__ */ t(
|
|
1012
|
+
children: o ? /* @__PURE__ */ t(ot, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
|
|
1013
1013
|
}
|
|
1014
1014
|
) : null
|
|
1015
1015
|
]
|
|
@@ -1054,14 +1054,14 @@ function pe({
|
|
|
1054
1054
|
return W(() => {
|
|
1055
1055
|
if (!u) return;
|
|
1056
1056
|
const h = Ce(e);
|
|
1057
|
-
h && (u(h),
|
|
1057
|
+
h && (u(h), L("serp_map_panned", { bounds: h }));
|
|
1058
1058
|
}, [e, u]), /* @__PURE__ */ t(
|
|
1059
1059
|
"div",
|
|
1060
1060
|
{
|
|
1061
1061
|
"data-component": "practice-results-map-panel",
|
|
1062
1062
|
className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
|
|
1063
1063
|
children: /* @__PURE__ */ t(
|
|
1064
|
-
|
|
1064
|
+
it,
|
|
1065
1065
|
{
|
|
1066
1066
|
ref: f,
|
|
1067
1067
|
apiKey: r ?? "",
|
|
@@ -1126,7 +1126,7 @@ function he({
|
|
|
1126
1126
|
function ge() {
|
|
1127
1127
|
const { t: e } = C();
|
|
1128
1128
|
return /* @__PURE__ */ t(
|
|
1129
|
-
|
|
1129
|
+
st,
|
|
1130
1130
|
{
|
|
1131
1131
|
variant: "no-results",
|
|
1132
1132
|
title: e("practiceResults.empty.title"),
|
|
@@ -1144,14 +1144,14 @@ function ve({ onRetry: e }) {
|
|
|
1144
1144
|
{
|
|
1145
1145
|
intent: "secondary",
|
|
1146
1146
|
size: "sm",
|
|
1147
|
-
startIcon: /* @__PURE__ */ t(
|
|
1147
|
+
startIcon: /* @__PURE__ */ t(mt, { "aria-hidden": "true" }),
|
|
1148
1148
|
onClick: e,
|
|
1149
1149
|
children: n("practiceResults.error.retry")
|
|
1150
1150
|
}
|
|
1151
1151
|
) }) : null
|
|
1152
1152
|
] });
|
|
1153
1153
|
}
|
|
1154
|
-
function
|
|
1154
|
+
function zt(e) {
|
|
1155
1155
|
const {
|
|
1156
1156
|
results: n,
|
|
1157
1157
|
apiKey: s,
|
|
@@ -1221,7 +1221,7 @@ function Tt(e) {
|
|
|
1221
1221
|
{
|
|
1222
1222
|
intent: "primary",
|
|
1223
1223
|
size: "md",
|
|
1224
|
-
startIcon: /* @__PURE__ */ t(
|
|
1224
|
+
startIcon: /* @__PURE__ */ t(vt, { "aria-hidden": "true" }),
|
|
1225
1225
|
onClick: () => _(!0),
|
|
1226
1226
|
children: N("practiceResults.viewMap")
|
|
1227
1227
|
}
|
|
@@ -1257,7 +1257,7 @@ function Tt(e) {
|
|
|
1257
1257
|
] }) })
|
|
1258
1258
|
] });
|
|
1259
1259
|
}
|
|
1260
|
-
const
|
|
1260
|
+
const Ft = {
|
|
1261
1261
|
peek: "sm",
|
|
1262
1262
|
half: "md",
|
|
1263
1263
|
full: "lg"
|
|
@@ -1330,7 +1330,7 @@ function Lt({ value: e, onChange: n }) {
|
|
|
1330
1330
|
}
|
|
1331
1331
|
);
|
|
1332
1332
|
}
|
|
1333
|
-
function
|
|
1333
|
+
function Bt(e) {
|
|
1334
1334
|
const {
|
|
1335
1335
|
results: n,
|
|
1336
1336
|
apiKey: s,
|
|
@@ -1354,7 +1354,7 @@ function Ft(e) {
|
|
|
1354
1354
|
facets: N,
|
|
1355
1355
|
value: w,
|
|
1356
1356
|
onChange: _
|
|
1357
|
-
} = e, { t: T } = C(), [A, q] = me("half"), U =
|
|
1357
|
+
} = e, { t: T } = C(), [A, q] = me("half"), U = Ft[A], G = ct("(min-width: 1024px)"), V = m ? o ?? /* @__PURE__ */ t(ve, { onRetry: f }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
|
|
1358
1358
|
fe,
|
|
1359
1359
|
{
|
|
1360
1360
|
results: n,
|
|
@@ -1373,7 +1373,7 @@ function Ft(e) {
|
|
|
1373
1373
|
apiKey: s,
|
|
1374
1374
|
containerRef: P
|
|
1375
1375
|
}
|
|
1376
|
-
),
|
|
1376
|
+
), H = /* @__PURE__ */ t(
|
|
1377
1377
|
pe,
|
|
1378
1378
|
{
|
|
1379
1379
|
results: n,
|
|
@@ -1419,11 +1419,11 @@ function Ft(e) {
|
|
|
1419
1419
|
// the map column is `lg:sticky lg:h-[44rem]` (stays visible
|
|
1420
1420
|
// as the patient scrolls cards) and the rail renders at
|
|
1421
1421
|
// natural height. Single page scroll.
|
|
1422
|
-
/* @__PURE__ */ p(
|
|
1422
|
+
/* @__PURE__ */ p(tt, { children: [
|
|
1423
1423
|
/* @__PURE__ */ t(he, { variantBodyProps: e }),
|
|
1424
1424
|
/* @__PURE__ */ p("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
|
|
1425
|
-
/* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children:
|
|
1426
|
-
/* @__PURE__ */ t("div", { className: "ds:min-w-0", children:
|
|
1425
|
+
/* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: H }),
|
|
1426
|
+
/* @__PURE__ */ t("div", { className: "ds:min-w-0", children: V })
|
|
1427
1427
|
] })
|
|
1428
1428
|
] })
|
|
1429
1429
|
) : (
|
|
@@ -1444,7 +1444,7 @@ function Ft(e) {
|
|
|
1444
1444
|
}
|
|
1445
1445
|
),
|
|
1446
1446
|
/* @__PURE__ */ p("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
|
|
1447
|
-
|
|
1447
|
+
H,
|
|
1448
1448
|
Z
|
|
1449
1449
|
] }),
|
|
1450
1450
|
/* @__PURE__ */ t(I.Root, { open: !0, children: /* @__PURE__ */ t(
|
|
@@ -1476,14 +1476,14 @@ function Ft(e) {
|
|
|
1476
1476
|
onChange: (k) => _({ ...w, sort: k })
|
|
1477
1477
|
}
|
|
1478
1478
|
) }),
|
|
1479
|
-
|
|
1479
|
+
V
|
|
1480
1480
|
] })
|
|
1481
1481
|
}
|
|
1482
1482
|
) })
|
|
1483
1483
|
] })
|
|
1484
1484
|
) });
|
|
1485
1485
|
}
|
|
1486
|
-
function
|
|
1486
|
+
function Ht(e) {
|
|
1487
1487
|
const {
|
|
1488
1488
|
results: n,
|
|
1489
1489
|
apiKey: s,
|
|
@@ -1522,7 +1522,7 @@ function Bt(e) {
|
|
|
1522
1522
|
x
|
|
1523
1523
|
] });
|
|
1524
1524
|
}
|
|
1525
|
-
const
|
|
1525
|
+
const Dt = nt(function({
|
|
1526
1526
|
variant: n = "split-list-map",
|
|
1527
1527
|
results: s,
|
|
1528
1528
|
totalCount: r,
|
|
@@ -1530,7 +1530,7 @@ const Ht = tt(function({
|
|
|
1530
1530
|
facets: a,
|
|
1531
1531
|
googleMapsApiKey: l,
|
|
1532
1532
|
mapId: d,
|
|
1533
|
-
defaultZoom: c =
|
|
1533
|
+
defaultZoom: c = yt,
|
|
1534
1534
|
onBoundsChange: u,
|
|
1535
1535
|
consentGranted: o,
|
|
1536
1536
|
onConsentRequest: m,
|
|
@@ -1549,18 +1549,19 @@ const Ht = tt(function({
|
|
|
1549
1549
|
intro: A,
|
|
1550
1550
|
cardOpenButtonLabel: q,
|
|
1551
1551
|
cardBookButtonLabel: U,
|
|
1552
|
-
|
|
1552
|
+
showCardOpenButton: G = !0,
|
|
1553
|
+
"aria-label": V,
|
|
1553
1554
|
id: H,
|
|
1554
|
-
className:
|
|
1555
|
-
...
|
|
1556
|
-
},
|
|
1557
|
-
const { t: ae, i18n: be } = C(), [
|
|
1555
|
+
className: Z,
|
|
1556
|
+
...k
|
|
1557
|
+
}, Oe) {
|
|
1558
|
+
const { t: ae, i18n: be } = C(), [Ve, J] = me(null), X = M(/* @__PURE__ */ new Set()), se = M(/* @__PURE__ */ new Set()), Ke = M(null), ie = M(null), re = B(
|
|
1558
1559
|
() => ({
|
|
1559
1560
|
getVariant: () => n,
|
|
1560
1561
|
scrollToResult: (v) => {
|
|
1561
|
-
const
|
|
1562
|
-
if (!
|
|
1563
|
-
const S =
|
|
1562
|
+
const F = ie.current;
|
|
1563
|
+
if (!F) return;
|
|
1564
|
+
const S = F.querySelector(
|
|
1564
1565
|
`[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
|
|
1565
1566
|
);
|
|
1566
1567
|
S && (S.scrollIntoView({ behavior: "smooth", block: "nearest" }), J(v));
|
|
@@ -1571,8 +1572,8 @@ const Ht = tt(function({
|
|
|
1571
1572
|
}),
|
|
1572
1573
|
[n]
|
|
1573
1574
|
);
|
|
1574
|
-
|
|
1575
|
-
const
|
|
1575
|
+
at(Oe, () => re, [re]), ut(bt, re, H);
|
|
1576
|
+
const Ee = G ? q ?? ae("practiceResults.card.open") : void 0, je = U ?? ae("practiceResults.card.book"), qe = D(
|
|
1576
1577
|
(v) => {
|
|
1577
1578
|
if (v.nextAvailableSlot)
|
|
1578
1579
|
try {
|
|
@@ -1588,21 +1589,21 @@ const Ht = tt(function({
|
|
|
1588
1589
|
[be.language]
|
|
1589
1590
|
), ye = M(null);
|
|
1590
1591
|
W(() => {
|
|
1591
|
-
ye.current !== n && (ye.current = n,
|
|
1592
|
+
ye.current !== n && (ye.current = n, L("serp_variant_exposed", {
|
|
1592
1593
|
variant: n,
|
|
1593
1594
|
totalCount: r ?? s.length
|
|
1594
1595
|
}), X.current = /* @__PURE__ */ new Set(), se.current = /* @__PURE__ */ new Set());
|
|
1595
1596
|
}, [n]);
|
|
1596
1597
|
const oe = M(!1), ce = B(
|
|
1597
|
-
() =>
|
|
1598
|
+
() => Ct(a ?? [], s, y.facets),
|
|
1598
1599
|
[a, s, y.facets]
|
|
1599
1600
|
), le = y.sort ?? (i ? "distance" : "relevance"), z = B(() => {
|
|
1600
|
-
const v =
|
|
1601
|
-
return
|
|
1601
|
+
const v = wt(s, y.facets, ce);
|
|
1602
|
+
return Rt(v, le, i);
|
|
1602
1603
|
}, [s, y.facets, ce, le, i]);
|
|
1603
1604
|
W(() => {
|
|
1604
1605
|
const v = z.length === 0;
|
|
1605
|
-
v && !oe.current ? (
|
|
1606
|
+
v && !oe.current ? (L("serp_empty_results", {
|
|
1606
1607
|
appliedFacets: y.facets ?? {}
|
|
1607
1608
|
}), oe.current = !0) : v || (oe.current = !1);
|
|
1608
1609
|
}, [z.length, y.facets]);
|
|
@@ -1613,37 +1614,37 @@ const Ht = tt(function({
|
|
|
1613
1614
|
},
|
|
1614
1615
|
[]
|
|
1615
1616
|
);
|
|
1616
|
-
const
|
|
1617
|
+
const Ue = D((v) => {
|
|
1617
1618
|
J(v), !X.current.has(v) && (xe.current === v && K.current || (K.current && clearTimeout(K.current), xe.current = v, K.current = setTimeout(() => {
|
|
1618
|
-
X.current.has(v) || (X.current.add(v),
|
|
1619
|
+
X.current.has(v) || (X.current.add(v), L("serp_result_hovered_card", { resultId: v })), K.current = null;
|
|
1619
1620
|
}, 500)));
|
|
1620
|
-
}, []),
|
|
1621
|
+
}, []), Ge = D((v) => {
|
|
1621
1622
|
J(v);
|
|
1622
|
-
const
|
|
1623
|
-
if (!
|
|
1624
|
-
const S =
|
|
1623
|
+
const F = ie.current;
|
|
1624
|
+
if (!F) return;
|
|
1625
|
+
const S = F.querySelector(
|
|
1625
1626
|
`[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
|
|
1626
1627
|
);
|
|
1627
1628
|
S == null || S.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
1628
|
-
}, []),
|
|
1629
|
-
se.current.has(v) || (se.current.add(v),
|
|
1630
|
-
}, []), ke = M(null),
|
|
1629
|
+
}, []), Ze = D((v) => {
|
|
1630
|
+
se.current.has(v) || (se.current.add(v), L("serp_result_hovered_pin", { resultId: v }));
|
|
1631
|
+
}, []), ke = M(null), Qe = D(
|
|
1631
1632
|
(v) => {
|
|
1632
1633
|
J(v);
|
|
1633
|
-
const
|
|
1634
|
-
if (
|
|
1635
|
-
if (
|
|
1634
|
+
const F = z.find((S) => S.id === v);
|
|
1635
|
+
if (F) {
|
|
1636
|
+
if (F.location) {
|
|
1636
1637
|
const S = ke.current;
|
|
1637
1638
|
S == null || S.panTo({
|
|
1638
|
-
lat:
|
|
1639
|
-
lng:
|
|
1639
|
+
lat: F.location.lat,
|
|
1640
|
+
lng: F.location.lng
|
|
1640
1641
|
}), S == null || S.setZoom(16);
|
|
1641
1642
|
}
|
|
1642
1643
|
Q(z, v, "card", g);
|
|
1643
1644
|
}
|
|
1644
1645
|
},
|
|
1645
1646
|
[z, g]
|
|
1646
|
-
),
|
|
1647
|
+
), Je = D(
|
|
1647
1648
|
(v) => {
|
|
1648
1649
|
Q(
|
|
1649
1650
|
z,
|
|
@@ -1653,7 +1654,7 @@ const Ht = tt(function({
|
|
|
1653
1654
|
);
|
|
1654
1655
|
},
|
|
1655
1656
|
[z, g]
|
|
1656
|
-
),
|
|
1657
|
+
), We = D(
|
|
1657
1658
|
(v) => {
|
|
1658
1659
|
Q(
|
|
1659
1660
|
z,
|
|
@@ -1663,7 +1664,7 @@ const Ht = tt(function({
|
|
|
1663
1664
|
);
|
|
1664
1665
|
},
|
|
1665
1666
|
[z, g]
|
|
1666
|
-
),
|
|
1667
|
+
), Xe = !!R && s.length === 0, de = {
|
|
1667
1668
|
results: z,
|
|
1668
1669
|
totalCount: r,
|
|
1669
1670
|
searchCentre: i,
|
|
@@ -1684,55 +1685,55 @@ const Ht = tt(function({
|
|
|
1684
1685
|
consentGranted: f ? !0 : o,
|
|
1685
1686
|
onConsentRequest: f ? void 0 : m,
|
|
1686
1687
|
onBoundsChange: u,
|
|
1687
|
-
loadingSkeletons:
|
|
1688
|
+
loadingSkeletons: Xe,
|
|
1688
1689
|
emptyResultsSlot: P,
|
|
1689
1690
|
errorSlot: N,
|
|
1690
1691
|
error: w,
|
|
1691
1692
|
onRetry: _,
|
|
1692
1693
|
heading: T,
|
|
1693
1694
|
intro: A,
|
|
1694
|
-
highlightedId:
|
|
1695
|
-
onCardHover:
|
|
1696
|
-
onPinClick:
|
|
1697
|
-
onPinFirstInteract:
|
|
1698
|
-
onCardSelect:
|
|
1699
|
-
onCardOpenClick:
|
|
1700
|
-
onCardBookClick:
|
|
1701
|
-
openLabel:
|
|
1702
|
-
bookLabel:
|
|
1703
|
-
formatNextSlot:
|
|
1704
|
-
listContainerRef:
|
|
1695
|
+
highlightedId: Ve,
|
|
1696
|
+
onCardHover: Ue,
|
|
1697
|
+
onPinClick: Ge,
|
|
1698
|
+
onPinFirstInteract: Ze,
|
|
1699
|
+
onCardSelect: Qe,
|
|
1700
|
+
onCardOpenClick: Je,
|
|
1701
|
+
onCardBookClick: We,
|
|
1702
|
+
openLabel: Ee,
|
|
1703
|
+
bookLabel: je,
|
|
1704
|
+
formatNextSlot: qe,
|
|
1705
|
+
listContainerRef: Ke,
|
|
1705
1706
|
mapHandleRef: ke
|
|
1706
|
-
},
|
|
1707
|
+
}, Ye = (() => {
|
|
1707
1708
|
switch (n) {
|
|
1708
1709
|
case "map-first":
|
|
1709
|
-
return /* @__PURE__ */ t(Ft, { ...de });
|
|
1710
|
-
case "rich-cards":
|
|
1711
1710
|
return /* @__PURE__ */ t(Bt, { ...de });
|
|
1711
|
+
case "rich-cards":
|
|
1712
|
+
return /* @__PURE__ */ t(Ht, { ...de });
|
|
1712
1713
|
case "split-list-map":
|
|
1713
1714
|
default:
|
|
1714
|
-
return /* @__PURE__ */ t(
|
|
1715
|
+
return /* @__PURE__ */ t(zt, { ...de });
|
|
1715
1716
|
}
|
|
1716
|
-
})(),
|
|
1717
|
+
})(), et = V ?? ae("practiceResults.regionLabel");
|
|
1717
1718
|
return /* @__PURE__ */ t(
|
|
1718
1719
|
"div",
|
|
1719
1720
|
{
|
|
1720
1721
|
ref: ie,
|
|
1721
1722
|
role: "region",
|
|
1722
|
-
"aria-label":
|
|
1723
|
+
"aria-label": et,
|
|
1723
1724
|
id: H,
|
|
1724
1725
|
"data-component": "practice-results",
|
|
1725
1726
|
"data-component-id": H,
|
|
1726
1727
|
"data-variant": n,
|
|
1727
|
-
className:
|
|
1728
|
-
...
|
|
1729
|
-
children:
|
|
1728
|
+
className: Nt({ variant: n, className: Z }),
|
|
1729
|
+
...k,
|
|
1730
|
+
children: Ye
|
|
1730
1731
|
}
|
|
1731
1732
|
);
|
|
1732
1733
|
});
|
|
1733
|
-
|
|
1734
|
+
Dt.displayName = "PracticeResults";
|
|
1734
1735
|
export {
|
|
1735
|
-
|
|
1736
|
-
|
|
1736
|
+
Dt as P,
|
|
1737
|
+
bt as p
|
|
1737
1738
|
};
|
|
1738
|
-
//# sourceMappingURL=practice-results-
|
|
1739
|
+
//# sourceMappingURL=practice-results-CxIsU2YO.js.map
|