@alfadocs/ui-kit-debug 1.99.1 → 1.100.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/{patient-search-DaZ9NzrL.js → patient-search-CxuqVUTB.js} +597 -576
- package/dist/_chunks/patient-search-CxuqVUTB.js.map +1 -0
- package/dist/_chunks/{reserved.agent-CB-92Vi9.js → reserved.agent-BxD0gnbt.js} +129 -129
- package/dist/_chunks/reserved.agent-BxD0gnbt.js.map +1 -0
- package/dist/agent-catalog.json +2 -2
- package/dist/components/booking/booking-types.d.ts +2 -1
- package/dist/components/booking/booking-types.d.ts.map +1 -1
- package/dist/components/booking/cascade.d.ts +3 -2
- package/dist/components/booking/cascade.d.ts.map +1 -1
- package/dist/components/booking/details-form.d.ts +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/booking/reserved.d.ts +3 -1
- package/dist/components/booking/reserved.d.ts.map +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-search/patient-search.d.ts +7 -0
- package/dist/components/patient-search/patient-search.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/_chunks/patient-search-DaZ9NzrL.js.map +0 -1
- package/dist/_chunks/reserved.agent-CB-92Vi9.js.map +0 -1
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { c as
|
|
4
|
-
import { useTranslation as
|
|
5
|
-
import { A as
|
|
6
|
-
import { B as
|
|
7
|
-
import { C as
|
|
8
|
-
import { S as
|
|
9
|
-
import { a as
|
|
10
|
-
import { D as
|
|
11
|
-
import { u as
|
|
12
|
-
import { S as
|
|
13
|
-
import { X as
|
|
14
|
-
import { c as
|
|
15
|
-
import { M as
|
|
16
|
-
import { S as
|
|
17
|
-
import { C as
|
|
1
|
+
import { jsx as t, jsxs as x } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as Ae, useRef as C, useState as Z, useEffect as H, useLayoutEffect as We, useMemo as ue, useImperativeHandle as Pe, createContext as Qe, useCallback as ee, useId as Se, useContext as Fe } from "react";
|
|
3
|
+
import { c as $ } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as B } from "react-i18next";
|
|
5
|
+
import { A as ke } from "./autocomplete-D10ydpgi.js";
|
|
6
|
+
import { B as Ie } from "./button-DohK_Ak_.js";
|
|
7
|
+
import { C as te } from "./card-C85_Ndhb.js";
|
|
8
|
+
import { S as Ve } from "./slider-pZ95bEm7.js";
|
|
9
|
+
import { a as Oe } from "./toast-BNoN8Qjh.js";
|
|
10
|
+
import { D as J } from "./dropdown-menu-CqxBthww.js";
|
|
11
|
+
import { u as Be } from "./registry-DvAUVLHh.js";
|
|
12
|
+
import { S as Ne } from "./search-QbWPlY5f.js";
|
|
13
|
+
import { X as Ce } from "./x-B5YnXwCz.js";
|
|
14
|
+
import { c as De } from "./createLucideIcon-DhHxpK9K.js";
|
|
15
|
+
import { M as Ke } from "./map-pin-BaY37-Km.js";
|
|
16
|
+
import { S as ze } from "./stethoscope-sZXGC43m.js";
|
|
17
|
+
import { C as Me } from "./chevron-down-DWE7GSq9.js";
|
|
18
18
|
/**
|
|
19
19
|
* @license lucide-react v1.22.0 - ISC
|
|
20
20
|
*
|
|
21
21
|
* This source code is licensed under the ISC license.
|
|
22
22
|
* See the LICENSE file in the root directory of this source tree.
|
|
23
23
|
*/
|
|
24
|
-
const
|
|
24
|
+
const qe = [
|
|
25
25
|
["line", { x1: "2", x2: "5", y1: "12", y2: "12", key: "bvdh0s" }],
|
|
26
26
|
["line", { x1: "19", x2: "22", y1: "12", y2: "12", key: "1tbv5k" }],
|
|
27
27
|
["line", { x1: "12", x2: "12", y1: "2", y2: "5", key: "11lu5j" }],
|
|
28
28
|
["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }],
|
|
29
29
|
["circle", { cx: "12", cy: "12", r: "7", key: "fim9np" }],
|
|
30
30
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
31
|
-
],
|
|
31
|
+
], He = De("locate-fixed", qe), $e = {
|
|
32
32
|
id: "patient-search",
|
|
33
33
|
// `filter` is the conceptual capability of this search widget. Building the
|
|
34
34
|
// actual query (WHO/WHERE/WHEN/facets/geo) is host-delegated: selection is
|
|
@@ -87,20 +87,20 @@ function S(e, r) {
|
|
|
87
87
|
} catch {
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
const
|
|
90
|
+
const M = [
|
|
91
91
|
"today",
|
|
92
92
|
"tomorrow",
|
|
93
93
|
"this_week",
|
|
94
94
|
"anytime"
|
|
95
|
-
],
|
|
96
|
-
function
|
|
95
|
+
], U = [1, 5, 10, 25, 50], fe = 5, Re = 200;
|
|
96
|
+
function Ue(e) {
|
|
97
97
|
let r = 0, a = Number.POSITIVE_INFINITY;
|
|
98
|
-
return
|
|
99
|
-
const
|
|
100
|
-
|
|
98
|
+
return U.forEach((i, p) => {
|
|
99
|
+
const c = Math.abs(i - e);
|
|
100
|
+
c < a && (a = c, r = p);
|
|
101
101
|
}), r;
|
|
102
102
|
}
|
|
103
|
-
const
|
|
103
|
+
const Ge = $(
|
|
104
104
|
"ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)]",
|
|
105
105
|
{
|
|
106
106
|
variants: {
|
|
@@ -113,73 +113,73 @@ const Ue = H(
|
|
|
113
113
|
},
|
|
114
114
|
defaultVariants: { variant: "who-where" }
|
|
115
115
|
}
|
|
116
|
-
),
|
|
117
|
-
function
|
|
118
|
-
const r =
|
|
116
|
+
), Ee = Qe(null);
|
|
117
|
+
function Le(e) {
|
|
118
|
+
const r = Fe(Ee), a = C(!1);
|
|
119
119
|
return r ? r[e] : a;
|
|
120
120
|
}
|
|
121
|
-
function
|
|
121
|
+
function re({
|
|
122
122
|
value: e,
|
|
123
123
|
onChange: r,
|
|
124
124
|
loadObjects: a,
|
|
125
|
-
onObjectSelect:
|
|
125
|
+
onObjectSelect: i,
|
|
126
126
|
inputRef: p,
|
|
127
|
-
query:
|
|
128
|
-
onQueryChange:
|
|
127
|
+
query: c,
|
|
128
|
+
onQueryChange: g
|
|
129
129
|
}) {
|
|
130
|
-
var
|
|
131
|
-
const { t: h } =
|
|
132
|
-
|
|
133
|
-
var
|
|
134
|
-
((
|
|
135
|
-
}, [(
|
|
136
|
-
const
|
|
137
|
-
async (
|
|
130
|
+
var f, b, l;
|
|
131
|
+
const { t: h } = B("ui"), d = C((f = e.object) == null ? void 0 : f.value);
|
|
132
|
+
H(() => {
|
|
133
|
+
var o, y, m;
|
|
134
|
+
((o = e.object) == null ? void 0 : o.value) !== d.current && (d.current = (y = e.object) == null ? void 0 : y.value, g(((m = e.object) == null ? void 0 : m.label) ?? ""));
|
|
135
|
+
}, [(b = e.object) == null ? void 0 : b.value, (l = e.object) == null ? void 0 : l.label, g]);
|
|
136
|
+
const n = ee(
|
|
137
|
+
async (o, { signal: y }) => await a(o, { signal: y }),
|
|
138
138
|
[a]
|
|
139
|
-
), u = (
|
|
139
|
+
), u = (o) => {
|
|
140
140
|
const y = {
|
|
141
|
-
value:
|
|
142
|
-
label:
|
|
143
|
-
description:
|
|
144
|
-
__payload:
|
|
141
|
+
value: o.value,
|
|
142
|
+
label: o.label,
|
|
143
|
+
description: o.description,
|
|
144
|
+
__payload: o.__payload
|
|
145
145
|
};
|
|
146
|
-
|
|
146
|
+
g(y.label), d.current = y.value, r({ ...e, object: y }), S("patient_search_object_selected", {
|
|
147
147
|
value: y.value,
|
|
148
148
|
type: y.__payload && typeof y.__payload == "object" ? y.__payload.type : void 0
|
|
149
|
-
}),
|
|
150
|
-
},
|
|
149
|
+
}), i == null || i(y);
|
|
150
|
+
}, s = Le("who");
|
|
151
151
|
return /* @__PURE__ */ t(
|
|
152
152
|
"div",
|
|
153
153
|
{
|
|
154
154
|
"data-component": "patient-search-field",
|
|
155
155
|
"data-field": "who",
|
|
156
156
|
onFocus: () => {
|
|
157
|
-
|
|
157
|
+
s.current || (s.current = !0, S("patient_search_object_focused"));
|
|
158
158
|
},
|
|
159
|
-
onBlur: (
|
|
160
|
-
|
|
159
|
+
onBlur: (o) => {
|
|
160
|
+
o.currentTarget && !o.currentTarget.contains(o.relatedTarget) && (s.current = !1);
|
|
161
161
|
},
|
|
162
162
|
children: /* @__PURE__ */ t(
|
|
163
|
-
|
|
163
|
+
ke,
|
|
164
164
|
{
|
|
165
165
|
ref: p,
|
|
166
166
|
size: "lg",
|
|
167
|
-
value:
|
|
168
|
-
onChange: (
|
|
169
|
-
|
|
167
|
+
value: c,
|
|
168
|
+
onChange: (o) => {
|
|
169
|
+
g(o), e.object && o !== e.object.label && (d.current = void 0, r({ ...e, object: void 0 }));
|
|
170
170
|
},
|
|
171
171
|
onSelect: u,
|
|
172
|
-
loadOptions:
|
|
173
|
-
debounceMs:
|
|
172
|
+
loadOptions: n,
|
|
173
|
+
debounceMs: Re,
|
|
174
174
|
placeholder: h("patientSearch.who.placeholder"),
|
|
175
175
|
"aria-label": h("patientSearch.who.label"),
|
|
176
|
-
startAdornment: /* @__PURE__ */ t(
|
|
176
|
+
startAdornment: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" })
|
|
177
177
|
}
|
|
178
178
|
)
|
|
179
179
|
}
|
|
180
180
|
);
|
|
181
181
|
}
|
|
182
|
-
const
|
|
182
|
+
const we = [
|
|
183
183
|
"ds:inline-flex ds:items-center ds:justify-center",
|
|
184
184
|
"ds:size-8 ds:rounded-[var(--radius-sm)]",
|
|
185
185
|
"ds:text-[color:var(--muted-foreground)] ds:hover:text-[color:var(--primary)]",
|
|
@@ -191,171 +191,182 @@ const ye = [
|
|
|
191
191
|
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
192
192
|
"ds:forced-colors:focus-visible:outline-[CanvasText]"
|
|
193
193
|
].join(" ");
|
|
194
|
-
function
|
|
194
|
+
function ae({
|
|
195
195
|
value: e,
|
|
196
196
|
onChange: r,
|
|
197
197
|
loadPlaces: a,
|
|
198
|
-
onPlaceSelect:
|
|
198
|
+
onPlaceSelect: i,
|
|
199
199
|
allowTypedPlace: p,
|
|
200
|
-
inputRef:
|
|
201
|
-
defaultRadiusKm:
|
|
200
|
+
inputRef: c,
|
|
201
|
+
defaultRadiusKm: g = fe,
|
|
202
202
|
reverseGeocode: h,
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
geoHint: d,
|
|
204
|
+
query: n,
|
|
205
|
+
onQueryChange: u
|
|
205
206
|
}) {
|
|
206
|
-
var
|
|
207
|
-
const { t:
|
|
208
|
-
|
|
209
|
-
var w,
|
|
210
|
-
((w = e.place) == null ? void 0 : w.value) !==
|
|
211
|
-
}, [(
|
|
212
|
-
const
|
|
213
|
-
async (w, { signal:
|
|
207
|
+
var q, O, D;
|
|
208
|
+
const { t: s } = B("ui"), f = C((q = e.place) == null ? void 0 : q.value), b = e.geo ? "granted" : "pristine", [l, o] = Z(b);
|
|
209
|
+
H(() => {
|
|
210
|
+
var w, _, T;
|
|
211
|
+
((w = e.place) == null ? void 0 : w.value) !== f.current && (f.current = (_ = e.place) == null ? void 0 : _.value, u(((T = e.place) == null ? void 0 : T.label) ?? ""));
|
|
212
|
+
}, [(O = e.place) == null ? void 0 : O.value, (D = e.place) == null ? void 0 : D.label, u]);
|
|
213
|
+
const y = ee(
|
|
214
|
+
async (w, { signal: _ }) => await a(w, { signal: _ }),
|
|
214
215
|
[a]
|
|
215
|
-
),
|
|
216
|
-
const
|
|
216
|
+
), m = (w) => {
|
|
217
|
+
const _ = {
|
|
217
218
|
value: w.value,
|
|
218
219
|
label: w.label,
|
|
219
220
|
lat: w.lat,
|
|
220
221
|
lng: w.lng
|
|
221
222
|
};
|
|
222
|
-
|
|
223
|
-
},
|
|
224
|
-
|
|
225
|
-
},
|
|
223
|
+
u(_.label), f.current = _.value, r({ ...e, place: _, geo: void 0 }), l === "granted" && o("pristine"), S("patient_search_place_selected", { value: _.value }), i == null || i(_);
|
|
224
|
+
}, j = (w) => {
|
|
225
|
+
o("pristine"), Oe(s("patientSearch.geo.denied")), S("patient_search_geo_denied", { reason: w });
|
|
226
|
+
}, R = () => {
|
|
226
227
|
if (typeof window > "u" || !(navigator != null && navigator.geolocation)) {
|
|
227
|
-
|
|
228
|
+
j("unsupported");
|
|
228
229
|
return;
|
|
229
230
|
}
|
|
230
|
-
|
|
231
|
+
o("requesting"), S("patient_search_place_focused"), navigator.geolocation.getCurrentPosition(
|
|
231
232
|
async (w) => {
|
|
232
|
-
const { latitude:
|
|
233
|
-
let
|
|
233
|
+
const { latitude: _, longitude: T } = w.coords;
|
|
234
|
+
let F;
|
|
234
235
|
try {
|
|
235
|
-
|
|
236
|
+
F = await (h == null ? void 0 : h(_, T));
|
|
236
237
|
} catch {
|
|
237
|
-
|
|
238
|
+
F = void 0;
|
|
238
239
|
}
|
|
239
|
-
const N =
|
|
240
|
-
value: `geo:${
|
|
241
|
-
label:
|
|
242
|
-
lat:
|
|
243
|
-
lng:
|
|
240
|
+
const N = g, G = F ?? s("patientSearch.geo.fallbackLabel"), X = {
|
|
241
|
+
value: `geo:${_.toFixed(4)},${T.toFixed(4)}`,
|
|
242
|
+
label: G,
|
|
243
|
+
lat: _,
|
|
244
|
+
lng: T
|
|
244
245
|
};
|
|
245
246
|
r({
|
|
246
247
|
...e,
|
|
247
|
-
place:
|
|
248
|
+
place: X,
|
|
248
249
|
geo: {
|
|
249
|
-
lat:
|
|
250
|
-
lng:
|
|
250
|
+
lat: _,
|
|
251
|
+
lng: T,
|
|
251
252
|
radiusKm: N,
|
|
252
|
-
label:
|
|
253
|
+
label: G
|
|
253
254
|
}
|
|
254
|
-
}),
|
|
255
|
+
}), o("granted"), S("patient_search_geo_granted", { radiusKm: N });
|
|
255
256
|
},
|
|
256
|
-
() =>
|
|
257
|
+
() => j("user"),
|
|
257
258
|
{ enableHighAccuracy: !1, maximumAge: 6e4, timeout: 1e4 }
|
|
258
259
|
);
|
|
259
|
-
},
|
|
260
|
-
r({ ...e, geo: void 0, place: void 0 }),
|
|
261
|
-
}, k =
|
|
260
|
+
}, E = () => {
|
|
261
|
+
r({ ...e, geo: void 0, place: void 0 }), u(""), f.current = void 0, o("pristine");
|
|
262
|
+
}, k = l === "granted" && !!e.geo, W = l === "requesting", P = Le("where"), V = !!h, oe = V ? /* @__PURE__ */ x("span", { className: "ds:absolute ds:end-[var(--spacing-xs)] ds:top-1/2 ds:-translate-y-1/2 ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
262
263
|
k ? /* @__PURE__ */ t(
|
|
263
264
|
"button",
|
|
264
265
|
{
|
|
265
266
|
type: "button",
|
|
266
|
-
"aria-label":
|
|
267
|
-
onClick:
|
|
268
|
-
className:
|
|
269
|
-
children: /* @__PURE__ */ t(
|
|
267
|
+
"aria-label": s("patientSearch.geo.clear"),
|
|
268
|
+
onClick: E,
|
|
269
|
+
className: we,
|
|
270
|
+
children: /* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-4" })
|
|
270
271
|
}
|
|
271
272
|
) : null,
|
|
272
273
|
/* @__PURE__ */ t(
|
|
273
274
|
"button",
|
|
274
275
|
{
|
|
275
276
|
type: "button",
|
|
276
|
-
"aria-label":
|
|
277
|
+
"aria-label": s("patientSearch.geo.cta"),
|
|
277
278
|
"aria-pressed": k || void 0,
|
|
278
|
-
disabled:
|
|
279
|
-
onClick: k ?
|
|
280
|
-
className:
|
|
281
|
-
children: /* @__PURE__ */ t(
|
|
279
|
+
disabled: W,
|
|
280
|
+
onClick: k ? E : R,
|
|
281
|
+
className: we,
|
|
282
|
+
children: /* @__PURE__ */ t(He, { "aria-hidden": "true", className: "ds:size-4" })
|
|
282
283
|
}
|
|
283
284
|
)
|
|
284
285
|
] }) : null;
|
|
285
|
-
return /* @__PURE__ */
|
|
286
|
+
return /* @__PURE__ */ x(
|
|
286
287
|
"div",
|
|
287
288
|
{
|
|
288
289
|
"data-component": "patient-search-field",
|
|
289
290
|
"data-field": "where",
|
|
290
291
|
onFocus: () => {
|
|
291
|
-
|
|
292
|
+
P.current || (P.current = !0, S("patient_search_place_focused"));
|
|
292
293
|
},
|
|
293
294
|
onBlur: (w) => {
|
|
294
|
-
w.currentTarget && !w.currentTarget.contains(w.relatedTarget) && (
|
|
295
|
+
w.currentTarget && !w.currentTarget.contains(w.relatedTarget) && (P.current = !1);
|
|
295
296
|
},
|
|
296
297
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
|
|
297
|
-
children:
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
},
|
|
312
|
-
onSelect: y,
|
|
313
|
-
loadOptions: l,
|
|
314
|
-
debounceMs: Ce,
|
|
315
|
-
placeholder: u("patientSearch.where.placeholder"),
|
|
316
|
-
"aria-label": u("patientSearch.where.label"),
|
|
317
|
-
startAdornment: /* @__PURE__ */ t(De, { "aria-hidden": "true" }),
|
|
318
|
-
endAdornment: (
|
|
319
|
-
// Decorative spacer — reserves inline-end room so the typed
|
|
320
|
-
// text doesn't run under the absolutely-positioned overlay.
|
|
321
|
-
// Autocomplete wraps endAdornment in `aria-hidden`, which is
|
|
322
|
-
// correct for this empty span. Granted-state shows an extra
|
|
323
|
-
// clear-X chip, so the spacer doubles in width when granted.
|
|
324
|
-
/* @__PURE__ */ t(
|
|
325
|
-
"span",
|
|
326
|
-
{
|
|
327
|
-
"aria-hidden": "true",
|
|
328
|
-
className: k ? "ds:inline-block ds:size-[4.5rem]" : "ds:inline-block ds:size-8"
|
|
298
|
+
children: [
|
|
299
|
+
/* @__PURE__ */ x("div", { className: "ds:relative", children: [
|
|
300
|
+
/* @__PURE__ */ t(
|
|
301
|
+
ke,
|
|
302
|
+
{
|
|
303
|
+
ref: c,
|
|
304
|
+
size: "lg",
|
|
305
|
+
value: n,
|
|
306
|
+
onChange: (w) => {
|
|
307
|
+
var _, T;
|
|
308
|
+
if (u(w), (p || e.place) && w !== ((_ = e.place) == null ? void 0 : _.label)) {
|
|
309
|
+
const F = w.trim(), N = p && F ? { value: `text:${F}`, label: F } : void 0;
|
|
310
|
+
if (f.current = N == null ? void 0 : N.value, (N == null ? void 0 : N.value) === ((T = e.place) == null ? void 0 : T.value) && !e.geo) return;
|
|
311
|
+
r({ ...e, place: N, geo: void 0 }), l === "granted" && o("pristine");
|
|
329
312
|
}
|
|
313
|
+
},
|
|
314
|
+
onSelect: m,
|
|
315
|
+
loadOptions: y,
|
|
316
|
+
debounceMs: Re,
|
|
317
|
+
placeholder: s("patientSearch.where.placeholder"),
|
|
318
|
+
"aria-label": s("patientSearch.where.label"),
|
|
319
|
+
startAdornment: /* @__PURE__ */ t(Ke, { "aria-hidden": "true" }),
|
|
320
|
+
endAdornment: (
|
|
321
|
+
// Decorative spacer — reserves inline-end room so the typed
|
|
322
|
+
// text doesn't run under the absolutely-positioned overlay.
|
|
323
|
+
// Autocomplete wraps endAdornment in `aria-hidden`, which is
|
|
324
|
+
// correct for this empty span. Granted-state shows an extra
|
|
325
|
+
// clear-X chip, so the spacer doubles in width when granted.
|
|
326
|
+
/* @__PURE__ */ t(
|
|
327
|
+
"span",
|
|
328
|
+
{
|
|
329
|
+
"aria-hidden": "true",
|
|
330
|
+
className: k ? "ds:inline-block ds:size-[4.5rem]" : "ds:inline-block ds:size-8"
|
|
331
|
+
}
|
|
332
|
+
)
|
|
330
333
|
)
|
|
331
|
-
|
|
334
|
+
}
|
|
335
|
+
),
|
|
336
|
+
oe
|
|
337
|
+
] }),
|
|
338
|
+
V && d ? /* @__PURE__ */ t(
|
|
339
|
+
"p",
|
|
340
|
+
{
|
|
341
|
+
"data-component": "patient-search-geo-hint",
|
|
342
|
+
className: "type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]",
|
|
343
|
+
children: d
|
|
332
344
|
}
|
|
333
|
-
)
|
|
334
|
-
|
|
335
|
-
] })
|
|
345
|
+
) : null
|
|
346
|
+
]
|
|
336
347
|
}
|
|
337
348
|
);
|
|
338
349
|
}
|
|
339
|
-
function
|
|
350
|
+
function se({
|
|
340
351
|
value: e,
|
|
341
352
|
onChange: r,
|
|
342
|
-
defaultRadiusKm: a =
|
|
353
|
+
defaultRadiusKm: a = fe
|
|
343
354
|
}) {
|
|
344
|
-
const { t:
|
|
355
|
+
const { t: i } = B("ui"), [p, c] = Z(
|
|
345
356
|
() => {
|
|
346
|
-
var
|
|
347
|
-
return
|
|
357
|
+
var d;
|
|
358
|
+
return Ue(((d = e.geo) == null ? void 0 : d.radiusKm) ?? a);
|
|
348
359
|
}
|
|
349
360
|
);
|
|
350
361
|
if (!e.geo) return null;
|
|
351
|
-
const
|
|
352
|
-
const
|
|
353
|
-
r({ ...e, geo: { ...e.geo, radiusKm:
|
|
354
|
-
}, h = (
|
|
355
|
-
const
|
|
356
|
-
return
|
|
362
|
+
const g = (d) => {
|
|
363
|
+
const n = U[d] ?? a;
|
|
364
|
+
r({ ...e, geo: { ...e.geo, radiusKm: n } }), S("patient_search_radius_changed", { radiusKm: n });
|
|
365
|
+
}, h = (d) => {
|
|
366
|
+
const n = U[Math.round(d)] ?? a;
|
|
367
|
+
return i("patientSearch.geo.radiusFormat", { km: n });
|
|
357
368
|
};
|
|
358
|
-
return /* @__PURE__ */
|
|
369
|
+
return /* @__PURE__ */ x(
|
|
359
370
|
"div",
|
|
360
371
|
{
|
|
361
372
|
"data-component": "patient-search-geo-radius-bar",
|
|
@@ -366,32 +377,32 @@ function ae({
|
|
|
366
377
|
{
|
|
367
378
|
id: "patient-search-radius-label",
|
|
368
379
|
className: "type-meta ds:text-[color:var(--muted-foreground)]",
|
|
369
|
-
children:
|
|
380
|
+
children: i("patientSearch.geo.radius")
|
|
370
381
|
}
|
|
371
382
|
),
|
|
372
383
|
/* @__PURE__ */ t(
|
|
373
|
-
|
|
384
|
+
Ve,
|
|
374
385
|
{
|
|
375
386
|
value: [p],
|
|
376
387
|
min: 0,
|
|
377
|
-
max:
|
|
388
|
+
max: U.length - 1,
|
|
378
389
|
step: 1,
|
|
379
|
-
marks:
|
|
380
|
-
value:
|
|
381
|
-
label: `${
|
|
390
|
+
marks: U.map((d, n) => ({
|
|
391
|
+
value: n,
|
|
392
|
+
label: `${d}`
|
|
382
393
|
})),
|
|
383
394
|
formatValue: h,
|
|
384
395
|
alwaysShowValue: !0,
|
|
385
396
|
"aria-labelledby": "patient-search-radius-label",
|
|
386
|
-
onValueChange: (
|
|
387
|
-
onValueCommit: (
|
|
397
|
+
onValueChange: (d) => c(d[0] ?? 0),
|
|
398
|
+
onValueCommit: (d) => g(d[0] ?? 0)
|
|
388
399
|
}
|
|
389
400
|
)
|
|
390
401
|
]
|
|
391
402
|
}
|
|
392
403
|
);
|
|
393
404
|
}
|
|
394
|
-
const
|
|
405
|
+
const Xe = $(
|
|
395
406
|
[
|
|
396
407
|
"ds:inline-flex ds:items-center ds:justify-center",
|
|
397
408
|
"ds:min-h-[var(--min-target-size)]",
|
|
@@ -414,44 +425,44 @@ const Ge = H(
|
|
|
414
425
|
defaultVariants: { state: "idle" }
|
|
415
426
|
}
|
|
416
427
|
);
|
|
417
|
-
function
|
|
418
|
-
const { t: a, i18n:
|
|
419
|
-
var
|
|
420
|
-
(
|
|
421
|
-
}, []),
|
|
422
|
-
(
|
|
423
|
-
const
|
|
424
|
-
switch (
|
|
425
|
-
case
|
|
428
|
+
function Ye({ value: e, onChange: r }) {
|
|
429
|
+
const { t: a, i18n: i } = B("ui"), p = Se(), c = i.dir() === "rtl", g = C(/* @__PURE__ */ new Map()), h = ee((s) => {
|
|
430
|
+
var f;
|
|
431
|
+
(f = g.current.get(s)) == null || f.focus();
|
|
432
|
+
}, []), d = ee(
|
|
433
|
+
(s, f) => {
|
|
434
|
+
const b = M.indexOf(f), l = M.length, o = c ? "ArrowLeft" : "ArrowRight", y = c ? "ArrowRight" : "ArrowLeft";
|
|
435
|
+
switch (s.key) {
|
|
436
|
+
case o:
|
|
426
437
|
case "ArrowDown": {
|
|
427
|
-
|
|
428
|
-
const
|
|
429
|
-
r(
|
|
438
|
+
s.preventDefault();
|
|
439
|
+
const m = M[(b + 1) % l];
|
|
440
|
+
r(m), S("patient_search_when_selected", { when: m }), h(m);
|
|
430
441
|
break;
|
|
431
442
|
}
|
|
432
443
|
case y:
|
|
433
444
|
case "ArrowUp": {
|
|
434
|
-
|
|
435
|
-
const
|
|
436
|
-
r(
|
|
445
|
+
s.preventDefault();
|
|
446
|
+
const m = M[(b - 1 + l) % l];
|
|
447
|
+
r(m), S("patient_search_when_selected", { when: m }), h(m);
|
|
437
448
|
break;
|
|
438
449
|
}
|
|
439
450
|
case "Home": {
|
|
440
|
-
|
|
441
|
-
const
|
|
442
|
-
r(
|
|
451
|
+
s.preventDefault();
|
|
452
|
+
const m = M[0];
|
|
453
|
+
r(m), S("patient_search_when_selected", { when: m }), h(m);
|
|
443
454
|
break;
|
|
444
455
|
}
|
|
445
456
|
case "End": {
|
|
446
|
-
|
|
447
|
-
const
|
|
448
|
-
r(
|
|
457
|
+
s.preventDefault();
|
|
458
|
+
const m = M[l - 1];
|
|
459
|
+
r(m), S("patient_search_when_selected", { when: m }), h(m);
|
|
449
460
|
break;
|
|
450
461
|
}
|
|
451
462
|
}
|
|
452
463
|
},
|
|
453
|
-
[h,
|
|
454
|
-
),
|
|
464
|
+
[h, c, r]
|
|
465
|
+
), n = e ?? "anytime", u = {
|
|
455
466
|
today: "patientSearch.when.today",
|
|
456
467
|
tomorrow: "patientSearch.when.tomorrow",
|
|
457
468
|
this_week: "patientSearch.when.thisWeek",
|
|
@@ -464,35 +475,35 @@ function Xe({ value: e, onChange: r }) {
|
|
|
464
475
|
"aria-label": a("patientSearch.when.label"),
|
|
465
476
|
id: p,
|
|
466
477
|
className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
467
|
-
children:
|
|
468
|
-
const
|
|
478
|
+
children: M.map((s) => {
|
|
479
|
+
const f = e === s, b = n === s, l = a(u[s]);
|
|
469
480
|
return /* @__PURE__ */ t(
|
|
470
481
|
"button",
|
|
471
482
|
{
|
|
472
483
|
type: "button",
|
|
473
484
|
role: "radio",
|
|
474
|
-
"aria-checked":
|
|
475
|
-
"aria-label":
|
|
476
|
-
tabIndex:
|
|
477
|
-
ref: (
|
|
478
|
-
|
|
485
|
+
"aria-checked": f,
|
|
486
|
+
"aria-label": l,
|
|
487
|
+
tabIndex: b ? 0 : -1,
|
|
488
|
+
ref: (o) => {
|
|
489
|
+
o ? g.current.set(s, o) : g.current.delete(s);
|
|
479
490
|
},
|
|
480
491
|
onClick: () => {
|
|
481
|
-
r(
|
|
492
|
+
r(s), S("patient_search_when_selected", { when: s });
|
|
482
493
|
},
|
|
483
|
-
onKeyDown: (
|
|
484
|
-
className:
|
|
485
|
-
state:
|
|
494
|
+
onKeyDown: (o) => d(o, s),
|
|
495
|
+
className: Xe({
|
|
496
|
+
state: f ? "selected" : "idle"
|
|
486
497
|
}),
|
|
487
|
-
children:
|
|
498
|
+
children: l
|
|
488
499
|
},
|
|
489
|
-
|
|
500
|
+
s
|
|
490
501
|
);
|
|
491
502
|
})
|
|
492
503
|
}
|
|
493
504
|
);
|
|
494
505
|
}
|
|
495
|
-
const
|
|
506
|
+
const xe = $(
|
|
496
507
|
[
|
|
497
508
|
"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
498
509
|
"ds:min-h-[var(--min-target-size)]",
|
|
@@ -522,63 +533,63 @@ const we = H(
|
|
|
522
533
|
defaultVariants: { state: "idle" }
|
|
523
534
|
}
|
|
524
535
|
);
|
|
525
|
-
function
|
|
526
|
-
const { t:
|
|
527
|
-
() => Object.values(p).some((
|
|
536
|
+
function Je({ facets: e, value: r, onChange: a }) {
|
|
537
|
+
const { t: i } = B("ui"), p = ue(() => r ?? {}, [r]), c = ue(
|
|
538
|
+
() => Object.values(p).some((n) => n && n.length > 0),
|
|
528
539
|
[p]
|
|
529
|
-
),
|
|
530
|
-
const
|
|
531
|
-
u.length === 0 ? delete n
|
|
532
|
-
}, h = (
|
|
533
|
-
var
|
|
534
|
-
const u = (((
|
|
535
|
-
|
|
536
|
-
},
|
|
537
|
-
const
|
|
538
|
-
let
|
|
539
|
-
|
|
540
|
+
), g = (n, u) => {
|
|
541
|
+
const s = { ...p };
|
|
542
|
+
u.length === 0 ? delete s[n] : s[n] = u, a(s), S("patient_search_facet_changed", { key: n, values: u });
|
|
543
|
+
}, h = (n) => {
|
|
544
|
+
var s;
|
|
545
|
+
const u = (((s = p[n]) == null ? void 0 : s.length) ?? 0) > 0;
|
|
546
|
+
g(n, u ? [] : ["true"]);
|
|
547
|
+
}, d = (n, u) => {
|
|
548
|
+
const s = p[n.key] ?? [], f = s.includes(u);
|
|
549
|
+
let b;
|
|
550
|
+
n.multi ? b = f ? s.filter((l) => l !== u) : [...s, u] : b = f ? [] : [u], g(n.key, b);
|
|
540
551
|
};
|
|
541
|
-
return /* @__PURE__ */
|
|
552
|
+
return /* @__PURE__ */ x(
|
|
542
553
|
"div",
|
|
543
554
|
{
|
|
544
555
|
role: "group",
|
|
545
|
-
"aria-label":
|
|
556
|
+
"aria-label": i("patientSearch.facets.label"),
|
|
546
557
|
className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
547
558
|
children: [
|
|
548
|
-
e.map((
|
|
549
|
-
const u =
|
|
559
|
+
e.map((n) => {
|
|
560
|
+
const u = n.options.length === 0, s = p[n.key] ?? [], f = s.length > 0;
|
|
550
561
|
if (u)
|
|
551
562
|
return /* @__PURE__ */ t(
|
|
552
563
|
"button",
|
|
553
564
|
{
|
|
554
565
|
type: "button",
|
|
555
|
-
"aria-pressed":
|
|
556
|
-
"aria-label":
|
|
557
|
-
onClick: () => h(
|
|
558
|
-
className:
|
|
559
|
-
state:
|
|
566
|
+
"aria-pressed": f,
|
|
567
|
+
"aria-label": n.label,
|
|
568
|
+
onClick: () => h(n.key),
|
|
569
|
+
className: xe({
|
|
570
|
+
state: f ? "active" : "idle"
|
|
560
571
|
}),
|
|
561
|
-
children: /* @__PURE__ */ t("span", { children:
|
|
572
|
+
children: /* @__PURE__ */ t("span", { children: n.label })
|
|
562
573
|
},
|
|
563
|
-
|
|
574
|
+
n.key
|
|
564
575
|
);
|
|
565
|
-
const
|
|
566
|
-
return /* @__PURE__ */
|
|
567
|
-
/* @__PURE__ */ t(
|
|
576
|
+
const b = f ? ` (${s.length})` : "";
|
|
577
|
+
return /* @__PURE__ */ x(J.Root, { children: [
|
|
578
|
+
/* @__PURE__ */ t(J.Trigger, { asChild: !0, children: /* @__PURE__ */ x(
|
|
568
579
|
"button",
|
|
569
580
|
{
|
|
570
581
|
type: "button",
|
|
571
|
-
"aria-label": `${
|
|
572
|
-
className:
|
|
573
|
-
state:
|
|
582
|
+
"aria-label": `${n.label}${b}`,
|
|
583
|
+
className: xe({
|
|
584
|
+
state: f ? "active" : "idle"
|
|
574
585
|
}),
|
|
575
586
|
children: [
|
|
576
|
-
/* @__PURE__ */
|
|
577
|
-
|
|
578
|
-
|
|
587
|
+
/* @__PURE__ */ x("span", { children: [
|
|
588
|
+
n.label,
|
|
589
|
+
b
|
|
579
590
|
] }),
|
|
580
591
|
/* @__PURE__ */ t(
|
|
581
|
-
|
|
592
|
+
Me,
|
|
582
593
|
{
|
|
583
594
|
"aria-hidden": "true",
|
|
584
595
|
className: "ds:size-3.5 ds:shrink-0"
|
|
@@ -587,20 +598,20 @@ function Ye({ facets: e, value: r, onChange: a }) {
|
|
|
587
598
|
]
|
|
588
599
|
}
|
|
589
600
|
) }),
|
|
590
|
-
/* @__PURE__ */ t(
|
|
591
|
-
|
|
601
|
+
/* @__PURE__ */ t(J.Content, { sideOffset: 8, align: "start", children: n.options.map((l) => /* @__PURE__ */ t(
|
|
602
|
+
J.CheckboxItem,
|
|
592
603
|
{
|
|
593
|
-
checked:
|
|
594
|
-
onSelect: (
|
|
595
|
-
|
|
604
|
+
checked: s.includes(l.value),
|
|
605
|
+
onSelect: (o) => {
|
|
606
|
+
n.multi && o.preventDefault(), d(n, l.value);
|
|
596
607
|
},
|
|
597
|
-
children:
|
|
608
|
+
children: l.label
|
|
598
609
|
},
|
|
599
|
-
|
|
610
|
+
l.value
|
|
600
611
|
)) })
|
|
601
|
-
] },
|
|
612
|
+
] }, n.key);
|
|
602
613
|
}),
|
|
603
|
-
|
|
614
|
+
c ? /* @__PURE__ */ x(
|
|
604
615
|
"button",
|
|
605
616
|
{
|
|
606
617
|
type: "button",
|
|
@@ -617,8 +628,8 @@ function Ye({ facets: e, value: r, onChange: a }) {
|
|
|
617
628
|
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
|
|
618
629
|
].join(" "),
|
|
619
630
|
children: [
|
|
620
|
-
/* @__PURE__ */ t(
|
|
621
|
-
|
|
631
|
+
/* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-3.5" }),
|
|
632
|
+
i("patientSearch.facets.clear")
|
|
622
633
|
]
|
|
623
634
|
}
|
|
624
635
|
) : null
|
|
@@ -626,7 +637,7 @@ function Ye({ facets: e, value: r, onChange: a }) {
|
|
|
626
637
|
}
|
|
627
638
|
);
|
|
628
639
|
}
|
|
629
|
-
const
|
|
640
|
+
const _e = ["violet", "purple", "magenta", "blue"], Ze = $(
|
|
630
641
|
[
|
|
631
642
|
"ds:relative ds:flex ds:h-full ds:flex-col ds:gap-[var(--spacing-sm)]",
|
|
632
643
|
"ds:rounded-[var(--radius-lg)] ds:overflow-hidden",
|
|
@@ -642,7 +653,7 @@ const xe = ["violet", "purple", "magenta", "blue"], Je = H(
|
|
|
642
653
|
"ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
643
654
|
"ds:no-underline"
|
|
644
655
|
].join(" ")
|
|
645
|
-
),
|
|
656
|
+
), et = $(
|
|
646
657
|
// `inset-x-0` compiles to logical `inset-inline`; the `inset-inline-0`
|
|
647
658
|
// spelling is not a Tailwind utility and compiled to nothing.
|
|
648
659
|
"ds:absolute ds:inset-x-0 ds:top-0 ds:h-[3px] ds:pointer-events-none",
|
|
@@ -657,7 +668,7 @@ const xe = ["violet", "purple", "magenta", "blue"], Je = H(
|
|
|
657
668
|
},
|
|
658
669
|
defaultVariants: { accent: "violet" }
|
|
659
670
|
}
|
|
660
|
-
),
|
|
671
|
+
), tt = $(
|
|
661
672
|
"ds:inline-flex ds:size-9 ds:items-center ds:justify-center ds:rounded-[var(--radius-md)]",
|
|
662
673
|
{
|
|
663
674
|
variants: {
|
|
@@ -671,13 +682,13 @@ const xe = ["violet", "purple", "magenta", "blue"], Je = H(
|
|
|
671
682
|
defaultVariants: { accent: "violet" }
|
|
672
683
|
}
|
|
673
684
|
);
|
|
674
|
-
function
|
|
675
|
-
return e && e !== "auto" ? e :
|
|
685
|
+
function rt(e, r) {
|
|
686
|
+
return e && e !== "auto" ? e : _e[r % _e.length];
|
|
676
687
|
}
|
|
677
|
-
function
|
|
678
|
-
const { t: a } =
|
|
679
|
-
return e.length === 0 ? /* @__PURE__ */ t("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)] ds:m-0", children: a("patientSearch.discovery.empty") }) : /* @__PURE__ */
|
|
680
|
-
/* @__PURE__ */ t(
|
|
688
|
+
function at({ cards: e, headingLevel: r }) {
|
|
689
|
+
const { t: a } = B("ui"), i = `h${r}`, p = Se();
|
|
690
|
+
return e.length === 0 ? /* @__PURE__ */ t("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)] ds:m-0", children: a("patientSearch.discovery.empty") }) : /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
691
|
+
/* @__PURE__ */ t(i, { className: "type-title-card ds:text-[var(--foreground)] ds:m-0", children: a("patientSearch.discovery.heading") }),
|
|
681
692
|
/* @__PURE__ */ t(
|
|
682
693
|
"ul",
|
|
683
694
|
{
|
|
@@ -686,38 +697,38 @@ function rt({ cards: e, headingLevel: r }) {
|
|
|
686
697
|
"ds:md:grid-cols-2 ds:lg:grid-cols-3",
|
|
687
698
|
"ds:m-0 ds:p-0 ds:list-none"
|
|
688
699
|
].join(" "),
|
|
689
|
-
children: e.map((
|
|
690
|
-
const h =
|
|
691
|
-
return /* @__PURE__ */ t("li", { children: /* @__PURE__ */
|
|
700
|
+
children: e.map((c, g) => {
|
|
701
|
+
const h = rt(c.accent, g), d = c.description ? `${p}-${c.id}-description` : void 0;
|
|
702
|
+
return /* @__PURE__ */ t("li", { children: /* @__PURE__ */ x(
|
|
692
703
|
"a",
|
|
693
704
|
{
|
|
694
|
-
href:
|
|
705
|
+
href: c.href,
|
|
695
706
|
"data-component": "patient-search-card",
|
|
696
|
-
"data-card-id":
|
|
697
|
-
"aria-label":
|
|
698
|
-
"aria-describedby":
|
|
707
|
+
"data-card-id": c.id,
|
|
708
|
+
"aria-label": c.label,
|
|
709
|
+
"aria-describedby": d,
|
|
699
710
|
onClick: () => S("patient_search_discovery_card_clicked", {
|
|
700
|
-
cardId:
|
|
711
|
+
cardId: c.id
|
|
701
712
|
}),
|
|
702
|
-
className:
|
|
713
|
+
className: Ze(),
|
|
703
714
|
children: [
|
|
704
715
|
/* @__PURE__ */ t(
|
|
705
716
|
"span",
|
|
706
717
|
{
|
|
707
718
|
"aria-hidden": "true",
|
|
708
|
-
className:
|
|
719
|
+
className: et({ accent: h })
|
|
709
720
|
}
|
|
710
721
|
),
|
|
711
|
-
/* @__PURE__ */
|
|
722
|
+
/* @__PURE__ */ x("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
|
|
712
723
|
/* @__PURE__ */ t(
|
|
713
724
|
"span",
|
|
714
725
|
{
|
|
715
726
|
"aria-hidden": "true",
|
|
716
|
-
className:
|
|
717
|
-
children:
|
|
727
|
+
className: tt({ accent: h }),
|
|
728
|
+
children: c.icon ?? /* @__PURE__ */ t(ze, { className: "ds:size-4", "aria-hidden": "true" })
|
|
718
729
|
}
|
|
719
730
|
),
|
|
720
|
-
|
|
731
|
+
c.badge ? (
|
|
721
732
|
// The badge sits inside a softly-tinted accent bubble
|
|
722
733
|
// (15% accent + 85% background). The text colour must
|
|
723
734
|
// contrast with that mix, not with the accent's canonical
|
|
@@ -725,27 +736,27 @@ function rt({ cards: e, headingLevel: r }) {
|
|
|
725
736
|
// the 100% accent surface and fails AA on the 15% tint.
|
|
726
737
|
// Use `--foreground` which contrasts with the
|
|
727
738
|
// mostly-background mix in both light and dark themes.
|
|
728
|
-
/* @__PURE__ */ t("span", { className: "type-meta ds:ms-auto ds:inline-flex ds:items-center ds:rounded-[var(--radius-full)] ds:border ds:border-[color:var(--foreground)] ds:bg-[color-mix(in_srgb,var(--accent)_15%,var(--background))] ds:text-[color:var(--foreground)] ds:font-[var(--font-weight-semibold)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children:
|
|
739
|
+
/* @__PURE__ */ t("span", { className: "type-meta ds:ms-auto ds:inline-flex ds:items-center ds:rounded-[var(--radius-full)] ds:border ds:border-[color:var(--foreground)] ds:bg-[color-mix(in_srgb,var(--accent)_15%,var(--background))] ds:text-[color:var(--foreground)] ds:font-[var(--font-weight-semibold)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children: c.badge })
|
|
729
740
|
) : null
|
|
730
741
|
] }),
|
|
731
|
-
/* @__PURE__ */ t("span", { className: "type-label ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]", children:
|
|
732
|
-
|
|
742
|
+
/* @__PURE__ */ t("span", { className: "type-label ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]", children: c.label }),
|
|
743
|
+
c.description ? /* @__PURE__ */ t(
|
|
733
744
|
"span",
|
|
734
745
|
{
|
|
735
|
-
id:
|
|
746
|
+
id: d,
|
|
736
747
|
className: "type-body-sm ds:text-[color:var(--muted-foreground)]",
|
|
737
|
-
children:
|
|
748
|
+
children: c.description
|
|
738
749
|
}
|
|
739
750
|
) : null
|
|
740
751
|
]
|
|
741
752
|
}
|
|
742
|
-
) },
|
|
753
|
+
) }, c.id);
|
|
743
754
|
})
|
|
744
755
|
}
|
|
745
756
|
)
|
|
746
757
|
] });
|
|
747
758
|
}
|
|
748
|
-
function
|
|
759
|
+
function st(e) {
|
|
749
760
|
if (e.object || e.place || e.geo || e.when && e.when !== "anytime") return !0;
|
|
750
761
|
if (e.facets) {
|
|
751
762
|
for (const r of Object.values(e.facets))
|
|
@@ -753,22 +764,22 @@ function at(e) {
|
|
|
753
764
|
}
|
|
754
765
|
return !1;
|
|
755
766
|
}
|
|
756
|
-
function
|
|
767
|
+
function ne({
|
|
757
768
|
value: e,
|
|
758
769
|
variant: r,
|
|
759
770
|
submitting: a,
|
|
760
|
-
submitLabel:
|
|
771
|
+
submitLabel: i,
|
|
761
772
|
allowEmptySubmit: p,
|
|
762
|
-
onSubmit:
|
|
773
|
+
onSubmit: c
|
|
763
774
|
}) {
|
|
764
|
-
const { t:
|
|
775
|
+
const { t: g } = B("ui"), h = !a && !p && !st(e), d = i ?? g("patientSearch.submit.cta");
|
|
765
776
|
return /* @__PURE__ */ t(
|
|
766
|
-
|
|
777
|
+
Ie,
|
|
767
778
|
{
|
|
768
779
|
type: "button",
|
|
769
780
|
intent: "primary",
|
|
770
781
|
size: "lg",
|
|
771
|
-
startIcon: /* @__PURE__ */ t(
|
|
782
|
+
startIcon: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
|
|
772
783
|
loading: a,
|
|
773
784
|
disabled: h,
|
|
774
785
|
onClick: () => {
|
|
@@ -779,520 +790,530 @@ function se({
|
|
|
779
790
|
hasGeo: !!e.geo,
|
|
780
791
|
when: e.when,
|
|
781
792
|
facetKeys: e.facets ? Object.keys(e.facets) : []
|
|
782
|
-
}),
|
|
793
|
+
}), c(e);
|
|
783
794
|
},
|
|
784
|
-
children:
|
|
795
|
+
children: d
|
|
785
796
|
}
|
|
786
797
|
);
|
|
787
798
|
}
|
|
788
|
-
function
|
|
799
|
+
function nt(e) {
|
|
789
800
|
const {
|
|
790
801
|
variant: r,
|
|
791
802
|
value: a,
|
|
792
|
-
onChange:
|
|
803
|
+
onChange: i,
|
|
793
804
|
onSubmit: p,
|
|
794
|
-
loadObjects:
|
|
795
|
-
loadPlaces:
|
|
805
|
+
loadObjects: c,
|
|
806
|
+
loadPlaces: g,
|
|
796
807
|
onObjectSelect: h,
|
|
797
|
-
onPlaceSelect:
|
|
798
|
-
allowTypedPlace:
|
|
808
|
+
onPlaceSelect: d,
|
|
809
|
+
allowTypedPlace: n,
|
|
799
810
|
submitting: u,
|
|
800
|
-
submitLabel:
|
|
801
|
-
allowEmptySubmit:
|
|
802
|
-
whoRef:
|
|
803
|
-
whereRef:
|
|
804
|
-
whoQuery:
|
|
811
|
+
submitLabel: s,
|
|
812
|
+
allowEmptySubmit: f,
|
|
813
|
+
whoRef: b,
|
|
814
|
+
whereRef: l,
|
|
815
|
+
whoQuery: o,
|
|
805
816
|
onWhoQueryChange: y,
|
|
806
|
-
whereQuery:
|
|
807
|
-
onWhereQueryChange:
|
|
808
|
-
defaultRadiusKm:
|
|
809
|
-
reverseGeocode:
|
|
810
|
-
|
|
817
|
+
whereQuery: m,
|
|
818
|
+
onWhereQueryChange: j,
|
|
819
|
+
defaultRadiusKm: R,
|
|
820
|
+
reverseGeocode: E,
|
|
821
|
+
geoHint: k,
|
|
822
|
+
cardLabel: W
|
|
811
823
|
} = e;
|
|
812
|
-
return /* @__PURE__ */ t(
|
|
813
|
-
/* @__PURE__ */
|
|
824
|
+
return /* @__PURE__ */ t(te, { variant: "elevated", "aria-label": W, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
|
|
825
|
+
/* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
|
|
814
826
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
815
|
-
|
|
827
|
+
re,
|
|
816
828
|
{
|
|
817
829
|
value: a,
|
|
818
|
-
onChange:
|
|
819
|
-
loadObjects:
|
|
830
|
+
onChange: i,
|
|
831
|
+
loadObjects: c,
|
|
820
832
|
onObjectSelect: h,
|
|
821
|
-
inputRef:
|
|
822
|
-
query:
|
|
833
|
+
inputRef: b,
|
|
834
|
+
query: o,
|
|
823
835
|
onQueryChange: y
|
|
824
836
|
}
|
|
825
837
|
) }),
|
|
826
838
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
827
|
-
|
|
839
|
+
ae,
|
|
828
840
|
{
|
|
829
841
|
value: a,
|
|
830
|
-
onChange:
|
|
831
|
-
loadPlaces:
|
|
832
|
-
onPlaceSelect:
|
|
833
|
-
allowTypedPlace:
|
|
834
|
-
defaultRadiusKm:
|
|
835
|
-
reverseGeocode:
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
842
|
+
onChange: i,
|
|
843
|
+
loadPlaces: g,
|
|
844
|
+
onPlaceSelect: d,
|
|
845
|
+
allowTypedPlace: n,
|
|
846
|
+
defaultRadiusKm: R,
|
|
847
|
+
reverseGeocode: E,
|
|
848
|
+
geoHint: k,
|
|
849
|
+
inputRef: l,
|
|
850
|
+
query: m,
|
|
851
|
+
onQueryChange: j
|
|
839
852
|
}
|
|
840
853
|
) }),
|
|
841
854
|
/* @__PURE__ */ t(
|
|
842
|
-
|
|
855
|
+
ne,
|
|
843
856
|
{
|
|
844
857
|
value: a,
|
|
845
858
|
variant: r,
|
|
846
859
|
submitting: u,
|
|
847
|
-
submitLabel:
|
|
848
|
-
allowEmptySubmit:
|
|
860
|
+
submitLabel: s,
|
|
861
|
+
allowEmptySubmit: f,
|
|
849
862
|
onSubmit: p
|
|
850
863
|
}
|
|
851
864
|
)
|
|
852
865
|
] }),
|
|
853
866
|
/* @__PURE__ */ t(
|
|
854
|
-
|
|
867
|
+
se,
|
|
855
868
|
{
|
|
856
869
|
value: a,
|
|
857
|
-
onChange:
|
|
858
|
-
defaultRadiusKm:
|
|
870
|
+
onChange: i,
|
|
871
|
+
defaultRadiusKm: R
|
|
859
872
|
}
|
|
860
873
|
)
|
|
861
874
|
] }) });
|
|
862
875
|
}
|
|
863
|
-
function
|
|
876
|
+
function ot(e) {
|
|
864
877
|
const {
|
|
865
878
|
variant: r,
|
|
866
879
|
value: a,
|
|
867
|
-
onChange:
|
|
880
|
+
onChange: i,
|
|
868
881
|
onSubmit: p,
|
|
869
|
-
loadObjects:
|
|
870
|
-
loadPlaces:
|
|
882
|
+
loadObjects: c,
|
|
883
|
+
loadPlaces: g,
|
|
871
884
|
onObjectSelect: h,
|
|
872
|
-
onPlaceSelect:
|
|
873
|
-
allowTypedPlace:
|
|
885
|
+
onPlaceSelect: d,
|
|
886
|
+
allowTypedPlace: n,
|
|
874
887
|
submitting: u,
|
|
875
|
-
submitLabel:
|
|
876
|
-
allowEmptySubmit:
|
|
877
|
-
whoRef:
|
|
878
|
-
whereRef:
|
|
879
|
-
whoQuery:
|
|
888
|
+
submitLabel: s,
|
|
889
|
+
allowEmptySubmit: f,
|
|
890
|
+
whoRef: b,
|
|
891
|
+
whereRef: l,
|
|
892
|
+
whoQuery: o,
|
|
880
893
|
onWhoQueryChange: y,
|
|
881
|
-
whereQuery:
|
|
882
|
-
onWhereQueryChange:
|
|
883
|
-
defaultRadiusKm:
|
|
884
|
-
reverseGeocode:
|
|
885
|
-
|
|
894
|
+
whereQuery: m,
|
|
895
|
+
onWhereQueryChange: j,
|
|
896
|
+
defaultRadiusKm: R,
|
|
897
|
+
reverseGeocode: E,
|
|
898
|
+
geoHint: k,
|
|
899
|
+
cardLabel: W
|
|
886
900
|
} = e;
|
|
887
|
-
return /* @__PURE__ */ t(
|
|
888
|
-
/* @__PURE__ */
|
|
901
|
+
return /* @__PURE__ */ t(te, { variant: "elevated", "aria-label": W, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
|
|
902
|
+
/* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
|
|
889
903
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
890
|
-
|
|
904
|
+
re,
|
|
891
905
|
{
|
|
892
906
|
value: a,
|
|
893
|
-
onChange:
|
|
894
|
-
loadObjects:
|
|
907
|
+
onChange: i,
|
|
908
|
+
loadObjects: c,
|
|
895
909
|
onObjectSelect: h,
|
|
896
|
-
inputRef:
|
|
897
|
-
query:
|
|
910
|
+
inputRef: b,
|
|
911
|
+
query: o,
|
|
898
912
|
onQueryChange: y
|
|
899
913
|
}
|
|
900
914
|
) }),
|
|
901
915
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
902
|
-
|
|
916
|
+
ae,
|
|
903
917
|
{
|
|
904
918
|
value: a,
|
|
905
|
-
onChange:
|
|
906
|
-
loadPlaces:
|
|
907
|
-
onPlaceSelect:
|
|
908
|
-
allowTypedPlace:
|
|
909
|
-
defaultRadiusKm:
|
|
910
|
-
reverseGeocode:
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
919
|
+
onChange: i,
|
|
920
|
+
loadPlaces: g,
|
|
921
|
+
onPlaceSelect: d,
|
|
922
|
+
allowTypedPlace: n,
|
|
923
|
+
defaultRadiusKm: R,
|
|
924
|
+
reverseGeocode: E,
|
|
925
|
+
geoHint: k,
|
|
926
|
+
inputRef: l,
|
|
927
|
+
query: m,
|
|
928
|
+
onQueryChange: j
|
|
914
929
|
}
|
|
915
930
|
) }),
|
|
916
931
|
/* @__PURE__ */ t(
|
|
917
|
-
|
|
932
|
+
ne,
|
|
918
933
|
{
|
|
919
934
|
value: a,
|
|
920
935
|
variant: r,
|
|
921
936
|
submitting: u,
|
|
922
|
-
submitLabel:
|
|
923
|
-
allowEmptySubmit:
|
|
937
|
+
submitLabel: s,
|
|
938
|
+
allowEmptySubmit: f,
|
|
924
939
|
onSubmit: p
|
|
925
940
|
}
|
|
926
941
|
)
|
|
927
942
|
] }),
|
|
928
943
|
/* @__PURE__ */ t(
|
|
929
|
-
|
|
944
|
+
se,
|
|
930
945
|
{
|
|
931
946
|
value: a,
|
|
932
|
-
onChange:
|
|
933
|
-
defaultRadiusKm:
|
|
947
|
+
onChange: i,
|
|
948
|
+
defaultRadiusKm: R
|
|
934
949
|
}
|
|
935
950
|
),
|
|
936
951
|
/* @__PURE__ */ t(
|
|
937
|
-
|
|
952
|
+
Ye,
|
|
938
953
|
{
|
|
939
954
|
value: a.when,
|
|
940
|
-
onChange: (
|
|
955
|
+
onChange: (P) => i({ ...a, when: P })
|
|
941
956
|
}
|
|
942
957
|
)
|
|
943
958
|
] }) });
|
|
944
959
|
}
|
|
945
|
-
function
|
|
960
|
+
function it(e) {
|
|
946
961
|
const {
|
|
947
962
|
variant: r,
|
|
948
963
|
value: a,
|
|
949
|
-
onChange:
|
|
964
|
+
onChange: i,
|
|
950
965
|
onSubmit: p,
|
|
951
|
-
loadObjects:
|
|
952
|
-
loadPlaces:
|
|
966
|
+
loadObjects: c,
|
|
967
|
+
loadPlaces: g,
|
|
953
968
|
onObjectSelect: h,
|
|
954
|
-
onPlaceSelect:
|
|
955
|
-
allowTypedPlace:
|
|
969
|
+
onPlaceSelect: d,
|
|
970
|
+
allowTypedPlace: n,
|
|
956
971
|
facets: u,
|
|
957
|
-
submitting:
|
|
958
|
-
submitLabel:
|
|
959
|
-
allowEmptySubmit:
|
|
960
|
-
whoRef:
|
|
961
|
-
whereRef:
|
|
972
|
+
submitting: s,
|
|
973
|
+
submitLabel: f,
|
|
974
|
+
allowEmptySubmit: b,
|
|
975
|
+
whoRef: l,
|
|
976
|
+
whereRef: o,
|
|
962
977
|
whoQuery: y,
|
|
963
|
-
onWhoQueryChange:
|
|
964
|
-
whereQuery:
|
|
965
|
-
onWhereQueryChange:
|
|
966
|
-
defaultRadiusKm:
|
|
967
|
-
reverseGeocode:
|
|
968
|
-
|
|
978
|
+
onWhoQueryChange: m,
|
|
979
|
+
whereQuery: j,
|
|
980
|
+
onWhereQueryChange: R,
|
|
981
|
+
defaultRadiusKm: E,
|
|
982
|
+
reverseGeocode: k,
|
|
983
|
+
geoHint: W,
|
|
984
|
+
cardLabel: P
|
|
969
985
|
} = e;
|
|
970
|
-
return /* @__PURE__ */ t(
|
|
971
|
-
/* @__PURE__ */
|
|
986
|
+
return /* @__PURE__ */ t(te, { variant: "elevated", "aria-label": P, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
|
|
987
|
+
/* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
|
|
972
988
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
973
|
-
|
|
989
|
+
re,
|
|
974
990
|
{
|
|
975
991
|
value: a,
|
|
976
|
-
onChange:
|
|
977
|
-
loadObjects:
|
|
992
|
+
onChange: i,
|
|
993
|
+
loadObjects: c,
|
|
978
994
|
onObjectSelect: h,
|
|
979
|
-
inputRef:
|
|
995
|
+
inputRef: l,
|
|
980
996
|
query: y,
|
|
981
|
-
onQueryChange:
|
|
997
|
+
onQueryChange: m
|
|
982
998
|
}
|
|
983
999
|
) }),
|
|
984
1000
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
985
|
-
|
|
1001
|
+
ae,
|
|
986
1002
|
{
|
|
987
1003
|
value: a,
|
|
988
|
-
onChange:
|
|
989
|
-
loadPlaces:
|
|
990
|
-
onPlaceSelect:
|
|
991
|
-
allowTypedPlace:
|
|
992
|
-
defaultRadiusKm:
|
|
993
|
-
reverseGeocode:
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
1004
|
+
onChange: i,
|
|
1005
|
+
loadPlaces: g,
|
|
1006
|
+
onPlaceSelect: d,
|
|
1007
|
+
allowTypedPlace: n,
|
|
1008
|
+
defaultRadiusKm: E,
|
|
1009
|
+
reverseGeocode: k,
|
|
1010
|
+
geoHint: W,
|
|
1011
|
+
inputRef: o,
|
|
1012
|
+
query: j,
|
|
1013
|
+
onQueryChange: R
|
|
997
1014
|
}
|
|
998
1015
|
) }),
|
|
999
1016
|
/* @__PURE__ */ t(
|
|
1000
|
-
|
|
1017
|
+
ne,
|
|
1001
1018
|
{
|
|
1002
1019
|
value: a,
|
|
1003
1020
|
variant: r,
|
|
1004
|
-
submitting:
|
|
1005
|
-
submitLabel:
|
|
1006
|
-
allowEmptySubmit:
|
|
1021
|
+
submitting: s,
|
|
1022
|
+
submitLabel: f,
|
|
1023
|
+
allowEmptySubmit: b,
|
|
1007
1024
|
onSubmit: p
|
|
1008
1025
|
}
|
|
1009
1026
|
)
|
|
1010
1027
|
] }),
|
|
1011
1028
|
/* @__PURE__ */ t(
|
|
1012
|
-
|
|
1029
|
+
se,
|
|
1013
1030
|
{
|
|
1014
1031
|
value: a,
|
|
1015
|
-
onChange:
|
|
1016
|
-
defaultRadiusKm:
|
|
1032
|
+
onChange: i,
|
|
1033
|
+
defaultRadiusKm: E
|
|
1017
1034
|
}
|
|
1018
1035
|
),
|
|
1019
1036
|
u && u.length > 0 ? /* @__PURE__ */ t(
|
|
1020
|
-
|
|
1037
|
+
Je,
|
|
1021
1038
|
{
|
|
1022
1039
|
facets: u,
|
|
1023
1040
|
value: a.facets,
|
|
1024
|
-
onChange: (
|
|
1041
|
+
onChange: (V) => i({ ...a, facets: V })
|
|
1025
1042
|
}
|
|
1026
1043
|
) : null
|
|
1027
1044
|
] }) });
|
|
1028
1045
|
}
|
|
1029
|
-
function
|
|
1046
|
+
function ct(e) {
|
|
1030
1047
|
const {
|
|
1031
1048
|
variant: r,
|
|
1032
1049
|
value: a,
|
|
1033
|
-
onChange:
|
|
1050
|
+
onChange: i,
|
|
1034
1051
|
onSubmit: p,
|
|
1035
|
-
loadObjects:
|
|
1036
|
-
loadPlaces:
|
|
1052
|
+
loadObjects: c,
|
|
1053
|
+
loadPlaces: g,
|
|
1037
1054
|
onObjectSelect: h,
|
|
1038
|
-
onPlaceSelect:
|
|
1039
|
-
allowTypedPlace:
|
|
1055
|
+
onPlaceSelect: d,
|
|
1056
|
+
allowTypedPlace: n,
|
|
1040
1057
|
discoveryCards: u,
|
|
1041
|
-
discoveryHeadingLevel:
|
|
1042
|
-
submitting:
|
|
1043
|
-
submitLabel:
|
|
1044
|
-
allowEmptySubmit:
|
|
1045
|
-
whoRef:
|
|
1058
|
+
discoveryHeadingLevel: s,
|
|
1059
|
+
submitting: f,
|
|
1060
|
+
submitLabel: b,
|
|
1061
|
+
allowEmptySubmit: l,
|
|
1062
|
+
whoRef: o,
|
|
1046
1063
|
whereRef: y,
|
|
1047
|
-
whoQuery:
|
|
1048
|
-
onWhoQueryChange:
|
|
1049
|
-
whereQuery:
|
|
1050
|
-
onWhereQueryChange:
|
|
1051
|
-
defaultRadiusKm:
|
|
1064
|
+
whoQuery: m,
|
|
1065
|
+
onWhoQueryChange: j,
|
|
1066
|
+
whereQuery: R,
|
|
1067
|
+
onWhereQueryChange: E,
|
|
1068
|
+
defaultRadiusKm: k,
|
|
1052
1069
|
reverseGeocode: W,
|
|
1053
|
-
|
|
1070
|
+
geoHint: P,
|
|
1071
|
+
cardLabel: V
|
|
1054
1072
|
} = e;
|
|
1055
|
-
return /* @__PURE__ */
|
|
1056
|
-
/* @__PURE__ */
|
|
1057
|
-
/* @__PURE__ */
|
|
1073
|
+
return /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", children: [
|
|
1074
|
+
/* @__PURE__ */ x(te, { variant: "elevated", "aria-label": V, children: [
|
|
1075
|
+
/* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)] ds:md:flex-row ds:md:items-stretch", children: [
|
|
1058
1076
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
1059
|
-
|
|
1077
|
+
re,
|
|
1060
1078
|
{
|
|
1061
1079
|
value: a,
|
|
1062
|
-
onChange:
|
|
1063
|
-
loadObjects:
|
|
1080
|
+
onChange: i,
|
|
1081
|
+
loadObjects: c,
|
|
1064
1082
|
onObjectSelect: h,
|
|
1065
|
-
inputRef:
|
|
1066
|
-
query:
|
|
1067
|
-
onQueryChange:
|
|
1083
|
+
inputRef: o,
|
|
1084
|
+
query: m,
|
|
1085
|
+
onQueryChange: j
|
|
1068
1086
|
}
|
|
1069
1087
|
) }),
|
|
1070
1088
|
/* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
|
|
1071
|
-
|
|
1089
|
+
ae,
|
|
1072
1090
|
{
|
|
1073
1091
|
value: a,
|
|
1074
|
-
onChange:
|
|
1075
|
-
loadPlaces:
|
|
1076
|
-
onPlaceSelect:
|
|
1077
|
-
allowTypedPlace:
|
|
1078
|
-
defaultRadiusKm:
|
|
1092
|
+
onChange: i,
|
|
1093
|
+
loadPlaces: g,
|
|
1094
|
+
onPlaceSelect: d,
|
|
1095
|
+
allowTypedPlace: n,
|
|
1096
|
+
defaultRadiusKm: k,
|
|
1079
1097
|
reverseGeocode: W,
|
|
1098
|
+
geoHint: P,
|
|
1080
1099
|
inputRef: y,
|
|
1081
|
-
query:
|
|
1082
|
-
onQueryChange:
|
|
1100
|
+
query: R,
|
|
1101
|
+
onQueryChange: E
|
|
1083
1102
|
}
|
|
1084
1103
|
) }),
|
|
1085
1104
|
/* @__PURE__ */ t(
|
|
1086
|
-
|
|
1105
|
+
ne,
|
|
1087
1106
|
{
|
|
1088
1107
|
value: a,
|
|
1089
1108
|
variant: r,
|
|
1090
|
-
submitting:
|
|
1091
|
-
submitLabel:
|
|
1092
|
-
allowEmptySubmit:
|
|
1109
|
+
submitting: f,
|
|
1110
|
+
submitLabel: b,
|
|
1111
|
+
allowEmptySubmit: l,
|
|
1093
1112
|
onSubmit: p
|
|
1094
1113
|
}
|
|
1095
1114
|
)
|
|
1096
1115
|
] }),
|
|
1097
1116
|
/* @__PURE__ */ t(
|
|
1098
|
-
|
|
1117
|
+
se,
|
|
1099
1118
|
{
|
|
1100
1119
|
value: a,
|
|
1101
|
-
onChange:
|
|
1102
|
-
defaultRadiusKm:
|
|
1120
|
+
onChange: i,
|
|
1121
|
+
defaultRadiusKm: k
|
|
1103
1122
|
}
|
|
1104
1123
|
)
|
|
1105
1124
|
] }),
|
|
1106
1125
|
/* @__PURE__ */ t(
|
|
1107
|
-
|
|
1126
|
+
at,
|
|
1108
1127
|
{
|
|
1109
1128
|
cards: u,
|
|
1110
|
-
headingLevel:
|
|
1129
|
+
headingLevel: s
|
|
1111
1130
|
}
|
|
1112
1131
|
)
|
|
1113
1132
|
] });
|
|
1114
1133
|
}
|
|
1115
|
-
const
|
|
1134
|
+
const dt = Ae(function({
|
|
1116
1135
|
variant: r,
|
|
1117
1136
|
loadObjects: a,
|
|
1118
|
-
loadPlaces:
|
|
1137
|
+
loadPlaces: i,
|
|
1119
1138
|
onObjectSelect: p,
|
|
1120
|
-
onPlaceSelect:
|
|
1121
|
-
allowTypedPlace:
|
|
1139
|
+
onPlaceSelect: c,
|
|
1140
|
+
allowTypedPlace: g = !1,
|
|
1122
1141
|
facets: h,
|
|
1123
|
-
defaultRadiusKm:
|
|
1124
|
-
reverseGeocode:
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1142
|
+
defaultRadiusKm: d = fe,
|
|
1143
|
+
reverseGeocode: n,
|
|
1144
|
+
geoHint: u,
|
|
1145
|
+
discoveryCards: s,
|
|
1146
|
+
discoveryHeadingLevel: f = 3,
|
|
1147
|
+
countryCode: b,
|
|
1148
|
+
value: l,
|
|
1149
|
+
onChange: o,
|
|
1150
|
+
onSubmit: y,
|
|
1151
|
+
submitting: m,
|
|
1152
|
+
submitLabel: j,
|
|
1153
|
+
allowEmptySubmit: R,
|
|
1154
|
+
"aria-label": E,
|
|
1135
1155
|
id: k,
|
|
1136
|
-
className:
|
|
1137
|
-
...
|
|
1138
|
-
},
|
|
1139
|
-
var
|
|
1140
|
-
const { t:
|
|
1141
|
-
((
|
|
1142
|
-
), N =
|
|
1156
|
+
className: W,
|
|
1157
|
+
...P
|
|
1158
|
+
}, V) {
|
|
1159
|
+
var ve, be;
|
|
1160
|
+
const { t: oe } = B("ui"), q = C(null), O = C(null), D = C(null), [w, _] = Z(((ve = l.object) == null ? void 0 : ve.label) ?? ""), [T, F] = Z(
|
|
1161
|
+
((be = l.place) == null ? void 0 : be.label) ?? ""
|
|
1162
|
+
), N = C(null), G = C(
|
|
1143
1163
|
{ who: { current: !1 }, where: { current: !1 } }
|
|
1144
|
-
),
|
|
1145
|
-
const
|
|
1146
|
-
if (!
|
|
1164
|
+
), X = (v) => {
|
|
1165
|
+
const L = v === O.current ? "who" : v === D.current ? "where" : null;
|
|
1166
|
+
if (!L) {
|
|
1147
1167
|
N.current = null;
|
|
1148
1168
|
return;
|
|
1149
1169
|
}
|
|
1150
|
-
const
|
|
1170
|
+
const Q = v;
|
|
1151
1171
|
N.current = {
|
|
1152
|
-
field:
|
|
1153
|
-
start:
|
|
1154
|
-
end:
|
|
1172
|
+
field: L,
|
|
1173
|
+
start: Q.selectionStart,
|
|
1174
|
+
end: Q.selectionEnd
|
|
1155
1175
|
};
|
|
1156
|
-
},
|
|
1157
|
-
var
|
|
1158
|
-
|
|
1159
|
-
|
|
1176
|
+
}, je = (v, L) => {
|
|
1177
|
+
var Q;
|
|
1178
|
+
L && ((Q = q.current) != null && Q.contains(L)) || setTimeout(() => {
|
|
1179
|
+
v.isConnected && (N.current = null);
|
|
1160
1180
|
}, 0);
|
|
1161
|
-
},
|
|
1162
|
-
const
|
|
1163
|
-
if (!
|
|
1164
|
-
|
|
1165
|
-
const
|
|
1166
|
-
|
|
1167
|
-
Math.min(
|
|
1168
|
-
Math.min(
|
|
1181
|
+
}, ie = C(null), he = (v, L, Q) => {
|
|
1182
|
+
const I = (v === "who" ? O : D).current;
|
|
1183
|
+
if (!I) return;
|
|
1184
|
+
I.focus();
|
|
1185
|
+
const K = I.value.length;
|
|
1186
|
+
I.setSelectionRange(
|
|
1187
|
+
Math.min(L ?? K, K),
|
|
1188
|
+
Math.min(Q ?? K, K)
|
|
1169
1189
|
);
|
|
1170
1190
|
};
|
|
1171
|
-
|
|
1172
|
-
const
|
|
1173
|
-
if (!
|
|
1174
|
-
const
|
|
1175
|
-
const
|
|
1176
|
-
if (
|
|
1177
|
-
|
|
1191
|
+
H(() => {
|
|
1192
|
+
const v = q.current;
|
|
1193
|
+
if (!v) return;
|
|
1194
|
+
const L = (A) => {
|
|
1195
|
+
const z = ie.current;
|
|
1196
|
+
if (z && performance.now() < z.until && (A.target === O.current && z.field === "where" || A.target === D.current && z.field === "who")) {
|
|
1197
|
+
he(z.field, z.start, z.end);
|
|
1178
1198
|
return;
|
|
1179
1199
|
}
|
|
1180
|
-
|
|
1181
|
-
},
|
|
1182
|
-
|
|
1183
|
-
},
|
|
1184
|
-
return
|
|
1185
|
-
|
|
1200
|
+
X(A.target);
|
|
1201
|
+
}, Q = (A) => X(A.target), I = () => {
|
|
1202
|
+
ie.current = null;
|
|
1203
|
+
}, K = (A) => je(A.target, A.relatedTarget), ye = ["select", "keyup", "input"];
|
|
1204
|
+
return v.addEventListener("focusin", L), ye.forEach((A) => v.addEventListener(A, Q)), v.addEventListener("pointerdown", I), v.addEventListener("keydown", I), v.addEventListener("focusout", K), () => {
|
|
1205
|
+
v.removeEventListener("focusin", L), ye.forEach((A) => v.removeEventListener(A, Q)), v.removeEventListener("pointerdown", I), v.removeEventListener("keydown", I), v.removeEventListener("focusout", K);
|
|
1186
1206
|
};
|
|
1187
1207
|
}, []);
|
|
1188
|
-
const
|
|
1189
|
-
|
|
1190
|
-
if (
|
|
1191
|
-
|
|
1192
|
-
const
|
|
1193
|
-
if (!
|
|
1194
|
-
const
|
|
1195
|
-
|
|
1208
|
+
const pe = C(r);
|
|
1209
|
+
We(() => {
|
|
1210
|
+
if (pe.current === r) return;
|
|
1211
|
+
pe.current = r;
|
|
1212
|
+
const v = N.current;
|
|
1213
|
+
if (!v) return;
|
|
1214
|
+
const L = document.activeElement;
|
|
1215
|
+
L && L !== document.body || (ie.current = { ...v, until: performance.now() + 500 }, he(v.field, v.start, v.end));
|
|
1196
1216
|
}, [r]);
|
|
1197
|
-
const
|
|
1198
|
-
|
|
1199
|
-
if (!
|
|
1200
|
-
if (
|
|
1201
|
-
|
|
1217
|
+
const ce = C(!1);
|
|
1218
|
+
H(() => {
|
|
1219
|
+
if (!ce.current && r === "who-where-when") {
|
|
1220
|
+
if (l.when !== void 0) {
|
|
1221
|
+
ce.current = !0;
|
|
1202
1222
|
return;
|
|
1203
1223
|
}
|
|
1204
|
-
|
|
1224
|
+
ce.current = !0, o({ ...l, when: "anytime" });
|
|
1205
1225
|
}
|
|
1206
1226
|
}, [r]);
|
|
1207
|
-
const
|
|
1208
|
-
|
|
1209
|
-
if (!
|
|
1210
|
-
if (
|
|
1211
|
-
|
|
1227
|
+
const de = C(!1);
|
|
1228
|
+
H(() => {
|
|
1229
|
+
if (!de.current && r === "faceted") {
|
|
1230
|
+
if (l.facets !== void 0) {
|
|
1231
|
+
de.current = !0;
|
|
1212
1232
|
return;
|
|
1213
1233
|
}
|
|
1214
|
-
|
|
1234
|
+
de.current = !0, o({ ...l, facets: {} });
|
|
1215
1235
|
}
|
|
1216
1236
|
}, [r]);
|
|
1217
|
-
const
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
}, [r,
|
|
1221
|
-
const
|
|
1237
|
+
const me = C(null);
|
|
1238
|
+
H(() => {
|
|
1239
|
+
me.current !== r && (me.current = r, S("patient_search_variant_exposed", { variant: r, country: b }));
|
|
1240
|
+
}, [r, b]);
|
|
1241
|
+
const le = ue(
|
|
1222
1242
|
() => ({
|
|
1223
1243
|
getVariant: () => r,
|
|
1224
1244
|
reset: () => {
|
|
1225
|
-
|
|
1245
|
+
o({});
|
|
1226
1246
|
},
|
|
1227
1247
|
focusPrimary: () => {
|
|
1228
1248
|
requestAnimationFrame(() => {
|
|
1229
|
-
var
|
|
1230
|
-
(
|
|
1249
|
+
var v;
|
|
1250
|
+
(v = O.current) == null || v.focus();
|
|
1231
1251
|
});
|
|
1232
1252
|
}
|
|
1233
1253
|
}),
|
|
1234
|
-
[r,
|
|
1254
|
+
[r, o]
|
|
1235
1255
|
);
|
|
1236
|
-
|
|
1237
|
-
const
|
|
1256
|
+
Pe(V, () => le, [le]), Be($e, le, k);
|
|
1257
|
+
const ge = E ?? oe("patientSearch.regionLabel"), Y = {
|
|
1238
1258
|
variant: r,
|
|
1239
|
-
value:
|
|
1240
|
-
onChange:
|
|
1241
|
-
onSubmit:
|
|
1259
|
+
value: l,
|
|
1260
|
+
onChange: o,
|
|
1261
|
+
onSubmit: y,
|
|
1242
1262
|
loadObjects: a,
|
|
1243
|
-
loadPlaces:
|
|
1263
|
+
loadPlaces: i,
|
|
1244
1264
|
onObjectSelect: p,
|
|
1245
|
-
onPlaceSelect:
|
|
1246
|
-
allowTypedPlace:
|
|
1265
|
+
onPlaceSelect: c,
|
|
1266
|
+
allowTypedPlace: g,
|
|
1247
1267
|
facets: h,
|
|
1248
|
-
defaultRadiusKm:
|
|
1249
|
-
reverseGeocode:
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1268
|
+
defaultRadiusKm: d,
|
|
1269
|
+
reverseGeocode: n,
|
|
1270
|
+
geoHint: u,
|
|
1271
|
+
discoveryCards: s ?? [],
|
|
1272
|
+
discoveryHeadingLevel: f,
|
|
1273
|
+
submitting: m,
|
|
1274
|
+
submitLabel: j,
|
|
1275
|
+
allowEmptySubmit: R,
|
|
1276
|
+
whoRef: O,
|
|
1277
|
+
whereRef: D,
|
|
1257
1278
|
whoQuery: w,
|
|
1258
|
-
onWhoQueryChange:
|
|
1259
|
-
whereQuery:
|
|
1260
|
-
onWhereQueryChange:
|
|
1261
|
-
cardLabel:
|
|
1262
|
-
},
|
|
1279
|
+
onWhoQueryChange: _,
|
|
1280
|
+
whereQuery: T,
|
|
1281
|
+
onWhereQueryChange: F,
|
|
1282
|
+
cardLabel: ge
|
|
1283
|
+
}, Te = (() => {
|
|
1263
1284
|
switch (r) {
|
|
1264
1285
|
case "who-where":
|
|
1265
|
-
return /* @__PURE__ */ t(
|
|
1286
|
+
return /* @__PURE__ */ t(nt, { ...Y });
|
|
1266
1287
|
case "who-where-when":
|
|
1267
|
-
return /* @__PURE__ */ t(
|
|
1288
|
+
return /* @__PURE__ */ t(ot, { ...Y });
|
|
1268
1289
|
case "faceted":
|
|
1269
|
-
return /* @__PURE__ */ t(
|
|
1290
|
+
return /* @__PURE__ */ t(it, { ...Y });
|
|
1270
1291
|
case "discovery":
|
|
1271
|
-
return /* @__PURE__ */ t(
|
|
1292
|
+
return /* @__PURE__ */ t(ct, { ...Y });
|
|
1272
1293
|
/* c8 ignore next 2 */
|
|
1273
1294
|
default:
|
|
1274
1295
|
return null;
|
|
1275
1296
|
}
|
|
1276
1297
|
})();
|
|
1277
|
-
return /* @__PURE__ */ t(
|
|
1298
|
+
return /* @__PURE__ */ t(Ee.Provider, { value: G.current, children: /* @__PURE__ */ t(
|
|
1278
1299
|
"div",
|
|
1279
1300
|
{
|
|
1280
|
-
ref:
|
|
1301
|
+
ref: q,
|
|
1281
1302
|
role: "region",
|
|
1282
|
-
"aria-label":
|
|
1303
|
+
"aria-label": ge,
|
|
1283
1304
|
id: k,
|
|
1284
1305
|
"data-component": "patient-search",
|
|
1285
1306
|
"data-component-id": k,
|
|
1286
1307
|
"data-variant": r,
|
|
1287
|
-
className:
|
|
1288
|
-
...
|
|
1289
|
-
children:
|
|
1308
|
+
className: Ge({ variant: r, className: W }),
|
|
1309
|
+
...P,
|
|
1310
|
+
children: Te
|
|
1290
1311
|
}
|
|
1291
1312
|
) });
|
|
1292
1313
|
});
|
|
1293
|
-
|
|
1314
|
+
dt.displayName = "PatientSearch";
|
|
1294
1315
|
export {
|
|
1295
|
-
|
|
1296
|
-
|
|
1316
|
+
dt as P,
|
|
1317
|
+
$e as p
|
|
1297
1318
|
};
|
|
1298
|
-
//# sourceMappingURL=patient-search-
|
|
1319
|
+
//# sourceMappingURL=patient-search-CxuqVUTB.js.map
|