@alfadocs/ui-kit 0.30.1 → 0.30.3

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.
Files changed (88) hide show
  1. package/dist/_chunks/{agenda-card-CznB7K8e.js → agenda-card-DO9_yogb.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-C_bha7oK.js → agenda-tray-WLbfMip6.js} +3 -3
  3. package/dist/_chunks/{ai-prompt-input-Bka3jX3i.js → ai-prompt-input-BXlwNnWe.js} +2 -2
  4. package/dist/_chunks/{alia-sidebar-CnvXq95r.js → alia-sidebar-C-232sD7.js} +4 -4
  5. package/dist/_chunks/{audio-recorder-OB6IV9B1.js → audio-recorder-DL800PE_.js} +2 -2
  6. package/dist/_chunks/{badge-cLYVGlMh.js → badge-CIjQ1Us1.js} +2 -2
  7. package/dist/_chunks/{benefit-card-CjYM8vNr.js → benefit-card-CLPNpiQE.js} +14 -3
  8. package/dist/_chunks/{booking-Bw9eOU4k.js → booking-DiyuLsQV.js} +496 -464
  9. package/dist/_chunks/{carousel.agent-C9swH-Uf.js → carousel.agent-C2Icc9_T.js} +2 -2
  10. package/dist/_chunks/{chat-input-BfDcz1Yi.js → chat-input-cyl_y9bh.js} +2 -2
  11. package/dist/_chunks/{checkbox-mwbrPZDY.js → checkbox-Dgp_cfUr.js} +2 -2
  12. package/dist/_chunks/{checkbox-group-Bwmt1ovQ.js → checkbox-group-eVowqKcT.js} +2 -2
  13. package/dist/_chunks/{description-list-yl3y3QKg.js → description-list-CWjnaDGn.js} +2 -2
  14. package/dist/_chunks/{dialog-BBXqpZIt.js → dialog-C-lTGVkB.js} +2 -2
  15. package/dist/_chunks/{editable-currency-cell-renderer-DSReCae7.js → editable-currency-cell-renderer-CztRy_21.js} +8 -8
  16. package/dist/_chunks/{header-CkMb1TZS.js → header-DDj7uGD-.js} +2 -2
  17. package/dist/_chunks/{icon-button-BRHSSFmZ.js → icon-button-DPEqBKBQ.js} +2 -2
  18. package/dist/_chunks/{key-value-pair-CqeKiP__.js → key-value-pair-BvDY3zuc.js} +2 -2
  19. package/dist/_chunks/{locale-picker-BHxbTNmR.js → locale-picker-CY89MChR.js} +3 -3
  20. package/dist/_chunks/{message-card-DjRtA8GG.js → message-card-D6iyPacd.js} +2 -2
  21. package/dist/_chunks/{message-tray-DfsAMncP.js → message-tray-Bh-0ra-Y.js} +3 -3
  22. package/dist/_chunks/{multi-select-CyspR5ZF.js → multi-select-dSe6Xtc4.js} +2 -2
  23. package/dist/_chunks/{notification-card-B_847w5g.js → notification-card-vaMaA7Wa.js} +2 -2
  24. package/dist/_chunks/{notification-tray-6f7smmT1.js → notification-tray-Cnum6LwM.js} +3 -3
  25. package/dist/_chunks/{patient-search-DuSoGG2t.js → patient-search-ZpHN-pgJ.js} +520 -475
  26. package/dist/_chunks/{patient-shell-CAXYzbRw.js → patient-shell-CYaNkbA1.js} +4 -4
  27. package/dist/_chunks/{popover-D0slaBB9.js → popover-BfHSBEKq.js} +2 -2
  28. package/dist/_chunks/{privacy-lock-BI4vi9Ud.js → privacy-lock-C6Ra5m3p.js} +2 -2
  29. package/dist/_chunks/{public-header.agent-5U3S9QiC.js → public-header.agent-B-B0WDAi.js} +3 -3
  30. package/dist/_chunks/{radio-group-BHZOxrIK.js → radio-group-CTlGc36r.js} +2 -2
  31. package/dist/_chunks/{radio-DvF59ThA.js → radio-i4ogu3cq.js} +2 -2
  32. package/dist/_chunks/{reviews-panel-CFttsfuC.js → reviews-panel-bKEUKSic.js} +198 -178
  33. package/dist/_chunks/{sheet-D8M8hf8B.js → sheet-D8Yl0nKR.js} +2 -2
  34. package/dist/_chunks/{slot-grid-B2zprPcv.js → slot-grid-Q94gVmhn.js} +2 -2
  35. package/dist/_chunks/{tag-CQmHRM4Y.js → tag-bBPAvXyh.js} +2 -2
  36. package/dist/_chunks/{task-tray-Bcmrrs8m.js → task-tray-6NlryfMJ.js} +2 -2
  37. package/dist/_chunks/{theme-toggle-nPzb378f.js → theme-toggle-JoeMs_ws.js} +2 -2
  38. package/dist/_chunks/{toast.agent-CTF6nIj5.js → toast.agent-DVpKt38p.js} +2 -2
  39. package/dist/_chunks/{tooltip-DHik5yRI.js → tooltip-ClJd0ciy.js} +31 -19
  40. package/dist/_chunks/{workflow-map-BKsKdYvZ.js → workflow-map-DlWBJJBt.js} +4 -4
  41. package/dist/agent-catalog.json +1 -1
  42. package/dist/components/agenda-card/index.js +1 -1
  43. package/dist/components/agenda-tray/index.js +1 -1
  44. package/dist/components/ai-prompt-input/index.js +1 -1
  45. package/dist/components/audio-recorder/index.js +1 -1
  46. package/dist/components/badge/index.js +1 -1
  47. package/dist/components/benefit-card/index.js +1 -1
  48. package/dist/components/booking/booking-types.d.ts +16 -0
  49. package/dist/components/booking/index.js +1 -1
  50. package/dist/components/button/index.js +1 -1
  51. package/dist/components/carousel/index.js +1 -1
  52. package/dist/components/chat-input/index.js +1 -1
  53. package/dist/components/checkbox/index.js +1 -1
  54. package/dist/components/checkbox-group/index.js +1 -1
  55. package/dist/components/data-table/index.js +1 -1
  56. package/dist/components/description-list/index.js +1 -1
  57. package/dist/components/dialog/index.js +1 -1
  58. package/dist/components/header/index.js +1 -1
  59. package/dist/components/header-settings/index.js +2 -2
  60. package/dist/components/icon-button/index.js +1 -1
  61. package/dist/components/key-value-pair/index.js +1 -1
  62. package/dist/components/locale-picker/index.js +1 -1
  63. package/dist/components/message-card/index.js +1 -1
  64. package/dist/components/message-tray/index.js +1 -1
  65. package/dist/components/multi-select/index.js +1 -1
  66. package/dist/components/notification-card/index.js +1 -1
  67. package/dist/components/notification-tray/index.js +1 -1
  68. package/dist/components/patient-search/index.js +1 -1
  69. package/dist/components/popover/index.js +1 -1
  70. package/dist/components/privacy-lock/index.js +1 -1
  71. package/dist/components/public-header/index.js +1 -1
  72. package/dist/components/radio/index.js +1 -1
  73. package/dist/components/radio-group/index.js +2 -2
  74. package/dist/components/reviews-panel/index.js +1 -1
  75. package/dist/components/reviews-panel/reviews-panel.d.ts +8 -0
  76. package/dist/components/sheet/index.js +1 -1
  77. package/dist/components/slot-grid/index.js +1 -1
  78. package/dist/components/tag/index.js +1 -1
  79. package/dist/components/task-tray/index.js +1 -1
  80. package/dist/components/theme-toggle/index.js +1 -1
  81. package/dist/components/toast/index.js +1 -1
  82. package/dist/components/tooltip/index.js +1 -1
  83. package/dist/components/workflow/index.js +1 -1
  84. package/dist/index.js +39 -39
  85. package/dist/patterns/alia-assistant/index.js +1 -1
  86. package/dist/patterns/patient-shell/index.js +1 -1
  87. package/dist/tokens.css +1 -1
  88. package/package.json +1 -1
@@ -1,34 +1,34 @@
1
- import { jsx as a, jsxs as _ } from "react/jsx-runtime";
2
- import { forwardRef as le, useRef as S, useEffect as B, useMemo as Y, useImperativeHandle as ue, useState as W, useCallback as z, useId as fe } from "react";
3
- import { c as D } from "./index-D2ZczOXr.js";
4
- import { useTranslation as A } from "react-i18next";
5
- import { A as re } from "./autocomplete-CUh0f7Dj.js";
6
- import { B as pe } from "./button-DD_0Xdmr.js";
1
+ import { jsx as a, jsxs as y } from "react/jsx-runtime";
2
+ import { forwardRef as de, useRef as N, useEffect as V, useMemo as X, useImperativeHandle as ce, useState as W, useCallback as z, useId as le } from "react";
3
+ import { c as T } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as j } from "react-i18next";
5
+ import { A as se } from "./autocomplete-CUh0f7Dj.js";
6
+ import { B as ue } from "./button-DD_0Xdmr.js";
7
7
  import { C as M } from "./card-DKTMLVrw.js";
8
- import { S as me } from "./slider-CfEzeseL.js";
9
- import { A as ee } from "./alert-ywPR59NE.js";
10
- import { D as K } from "./dropdown-menu-DZxwF23X.js";
11
- import { u as he } from "./registry-C9nwlNyL.js";
12
- import { S as ne } from "./search-BonnQsHv.js";
13
- import { X as ie } from "./x-CCcI3eJp.js";
14
- import { c as ve } from "./createLucideIcon-CrFbzy84.js";
15
- import { M as ge } from "./map-pin-B8STOPMJ.js";
16
- import { S as be } from "./stethoscope-DT5qCW8Y.js";
17
- import { C as ye } from "./chevron-down-BX_NP2Yh.js";
8
+ import { S as fe } from "./slider-CfEzeseL.js";
9
+ import { A as Z } from "./alert-ywPR59NE.js";
10
+ import { D as F } from "./dropdown-menu-DZxwF23X.js";
11
+ import { u as pe } from "./registry-C9nwlNyL.js";
12
+ import { S as re } from "./search-BonnQsHv.js";
13
+ import { X as ne } from "./x-CCcI3eJp.js";
14
+ import { c as me } from "./createLucideIcon-CrFbzy84.js";
15
+ import { M as he } from "./map-pin-B8STOPMJ.js";
16
+ import { S as ve } from "./stethoscope-DT5qCW8Y.js";
17
+ import { C as ge } from "./chevron-down-BX_NP2Yh.js";
18
18
  /**
19
19
  * @license lucide-react v1.8.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 xe = [
24
+ const be = [
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
- ], we = ve("locate-fixed", xe), _e = {
31
+ ], xe = me("locate-fixed", be), ye = {
32
32
  id: "patient-search",
33
33
  capabilities: ["navigate", "view_change"],
34
34
  state: {
@@ -70,7 +70,7 @@ const xe = [
70
70
  }
71
71
  }
72
72
  };
73
- function w(e, s) {
73
+ function _(e, s) {
74
74
  if (typeof window > "u") return;
75
75
  const t = window.track;
76
76
  try {
@@ -78,20 +78,20 @@ function w(e, s) {
78
78
  } catch {
79
79
  }
80
80
  }
81
- const j = [
81
+ const A = [
82
82
  "today",
83
83
  "tomorrow",
84
84
  "this_week",
85
85
  "anytime"
86
- ], L = [1, 5, 10, 25, 50], oe = 5, de = 200;
87
- function Se(e) {
86
+ ], O = [1, 5, 10, 25, 50], Y = 5, ie = 200;
87
+ function we(e) {
88
88
  let s = 0, t = Number.POSITIVE_INFINITY;
89
- return L.forEach((c, h) => {
90
- const v = Math.abs(c - e);
91
- v < t && (t = v, s = h);
89
+ return O.forEach((i, p) => {
90
+ const v = Math.abs(i - e);
91
+ v < t && (t = v, s = p);
92
92
  }), s;
93
93
  }
94
- const Ne = D(
94
+ const _e = T(
95
95
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)]",
96
96
  {
97
97
  variants: {
@@ -109,61 +109,61 @@ function H({
109
109
  value: e,
110
110
  onChange: s,
111
111
  loadObjects: t,
112
- onObjectSelect: c,
113
- inputRef: h
112
+ onObjectSelect: i,
113
+ inputRef: p
114
114
  }) {
115
- var o, f, p, y;
116
- const { t: v } = A(), [g, u] = W(((o = e.object) == null ? void 0 : o.label) ?? ""), x = S((f = e.object) == null ? void 0 : f.value);
117
- B(() => {
118
- var m, i, N;
119
- ((m = e.object) == null ? void 0 : m.value) !== x.current && (x.current = (i = e.object) == null ? void 0 : i.value, u(((N = e.object) == null ? void 0 : N.label) ?? ""));
120
- }, [(p = e.object) == null ? void 0 : p.value, (y = e.object) == null ? void 0 : y.label]);
121
- const n = z(
122
- async (m, { signal: i }) => await t(m, { signal: i }),
115
+ var d, f, m, b;
116
+ const { t: v } = j(), [g, u] = W(((d = e.object) == null ? void 0 : d.label) ?? ""), c = N((f = e.object) == null ? void 0 : f.value);
117
+ V(() => {
118
+ var h, o, S;
119
+ ((h = e.object) == null ? void 0 : h.value) !== c.current && (c.current = (o = e.object) == null ? void 0 : o.value, u(((S = e.object) == null ? void 0 : S.label) ?? ""));
120
+ }, [(m = e.object) == null ? void 0 : m.value, (b = e.object) == null ? void 0 : b.label]);
121
+ const r = z(
122
+ async (h, { signal: o }) => await t(h, { signal: o }),
123
123
  [t]
124
- ), l = (m) => {
125
- const i = {
126
- value: m.value,
127
- label: m.label,
128
- description: m.description,
129
- __payload: m.__payload
124
+ ), l = (h) => {
125
+ const o = {
126
+ value: h.value,
127
+ label: h.label,
128
+ description: h.description,
129
+ __payload: h.__payload
130
130
  };
131
- u(i.label), x.current = i.value, s({ ...e, object: i }), w("patient_search_object_selected", {
132
- value: i.value,
133
- type: i.__payload && typeof i.__payload == "object" ? i.__payload.type : void 0
134
- }), c == null || c(i);
135
- }, r = S(!1);
131
+ u(o.label), c.current = o.value, s({ ...e, object: o }), _("patient_search_object_selected", {
132
+ value: o.value,
133
+ type: o.__payload && typeof o.__payload == "object" ? o.__payload.type : void 0
134
+ }), i == null || i(o);
135
+ }, n = N(!1);
136
136
  return /* @__PURE__ */ a(
137
137
  "div",
138
138
  {
139
139
  "data-component": "patient-search-field",
140
140
  "data-field": "who",
141
141
  onFocus: () => {
142
- r.current || (r.current = !0, w("patient_search_object_focused"));
142
+ n.current || (n.current = !0, _("patient_search_object_focused"));
143
143
  },
144
- onBlur: (m) => {
145
- m.currentTarget && !m.currentTarget.contains(m.relatedTarget) && (r.current = !1);
144
+ onBlur: (h) => {
145
+ h.currentTarget && !h.currentTarget.contains(h.relatedTarget) && (n.current = !1);
146
146
  },
147
147
  children: /* @__PURE__ */ a(
148
- re,
148
+ se,
149
149
  {
150
- ref: h,
150
+ ref: p,
151
151
  value: g,
152
- onChange: (m) => {
153
- u(m), e.object && m !== e.object.label && (x.current = void 0, s({ ...e, object: void 0 }));
152
+ onChange: (h) => {
153
+ u(h), e.object && h !== e.object.label && (c.current = void 0, s({ ...e, object: void 0 }));
154
154
  },
155
155
  onSelect: l,
156
- loadOptions: n,
157
- debounceMs: de,
156
+ loadOptions: r,
157
+ debounceMs: ie,
158
158
  placeholder: v("patientSearch.who.placeholder"),
159
159
  "aria-label": v("patientSearch.who.label"),
160
- startAdornment: /* @__PURE__ */ a(ne, { "aria-hidden": "true" })
160
+ startAdornment: /* @__PURE__ */ a(re, { "aria-hidden": "true" })
161
161
  }
162
162
  )
163
163
  }
164
164
  );
165
165
  }
166
- const ae = [
166
+ const ee = [
167
167
  "ds:inline-flex ds:items-center ds:justify-center",
168
168
  "ds:size-8 ds:rounded-[var(--radius-sm)]",
169
169
  "ds:text-[color:var(--muted-foreground)] ds:hover:text-[color:var(--primary)]",
@@ -179,86 +179,75 @@ function $({
179
179
  value: e,
180
180
  onChange: s,
181
181
  loadPlaces: t,
182
- onPlaceSelect: c,
183
- inputRef: h,
184
- defaultRadiusKm: v = oe,
182
+ onPlaceSelect: i,
183
+ inputRef: p,
184
+ defaultRadiusKm: v = Y,
185
185
  reverseGeocode: g
186
186
  }) {
187
- var T, O, E, V;
188
- const { t: u } = A(), [x, n] = W(((T = e.place) == null ? void 0 : T.label) ?? ""), l = S((O = e.place) == null ? void 0 : O.value), r = e.geo ? "granted" : "pristine", [o, f] = W(r), [p, y] = W(
189
- () => {
190
- var d;
191
- return Se(((d = e.geo) == null ? void 0 : d.radiusKm) ?? v);
192
- }
193
- );
194
- B(() => {
195
- var d, b, k;
196
- ((d = e.place) == null ? void 0 : d.value) !== l.current && (l.current = (b = e.place) == null ? void 0 : b.value, n(((k = e.place) == null ? void 0 : k.label) ?? ""));
197
- }, [(E = e.place) == null ? void 0 : E.value, (V = e.place) == null ? void 0 : V.label]);
187
+ var P, B, C, E;
188
+ const { t: u } = j(), [c, r] = W(((P = e.place) == null ? void 0 : P.label) ?? ""), l = N((B = e.place) == null ? void 0 : B.value), n = e.geo ? "granted" : "pristine", [d, f] = W(n);
189
+ V(() => {
190
+ var x, w, k;
191
+ ((x = e.place) == null ? void 0 : x.value) !== l.current && (l.current = (w = e.place) == null ? void 0 : w.value, r(((k = e.place) == null ? void 0 : k.label) ?? ""));
192
+ }, [(C = e.place) == null ? void 0 : C.value, (E = e.place) == null ? void 0 : E.label]);
198
193
  const m = z(
199
- async (d, { signal: b }) => await t(d, { signal: b }),
194
+ async (x, { signal: w }) => await t(x, { signal: w }),
200
195
  [t]
201
- ), i = (d) => {
202
- const b = {
203
- value: d.value,
204
- label: d.label,
205
- lat: d.lat,
206
- lng: d.lng
196
+ ), b = (x) => {
197
+ const w = {
198
+ value: x.value,
199
+ label: x.label,
200
+ lat: x.lat,
201
+ lng: x.lng
207
202
  };
208
- n(b.label), l.current = b.value, s({ ...e, place: b, geo: void 0 }), o === "granted" && f("pristine"), w("patient_search_place_selected", { value: b.value }), c == null || c(b);
209
- }, N = () => {
203
+ r(w.label), l.current = w.value, s({ ...e, place: w, geo: void 0 }), d === "granted" && f("pristine"), _("patient_search_place_selected", { value: w.value }), i == null || i(w);
204
+ }, h = () => {
210
205
  if (typeof window > "u" || !(navigator != null && navigator.geolocation)) {
211
- f("denied"), w("patient_search_geo_denied", { reason: "unsupported" });
206
+ f("denied"), _("patient_search_geo_denied", { reason: "unsupported" });
212
207
  return;
213
208
  }
214
- f("requesting"), w("patient_search_place_focused"), navigator.geolocation.getCurrentPosition(
215
- async (d) => {
216
- const { latitude: b, longitude: k } = d.coords;
217
- let X;
209
+ f("requesting"), _("patient_search_place_focused"), navigator.geolocation.getCurrentPosition(
210
+ async (x) => {
211
+ const { latitude: w, longitude: k } = x.coords;
212
+ let R;
218
213
  try {
219
- X = await (g == null ? void 0 : g(b, k));
214
+ R = await (g == null ? void 0 : g(w, k));
220
215
  } catch {
221
- X = void 0;
216
+ R = void 0;
222
217
  }
223
- const J = L[p] ?? v, Z = X ?? u("patientSearch.geo.fallbackLabel"), ce = {
224
- value: `geo:${b.toFixed(4)},${k.toFixed(4)}`,
225
- label: Z,
226
- lat: b,
218
+ const K = v, I = R ?? u("patientSearch.geo.fallbackLabel"), oe = {
219
+ value: `geo:${w.toFixed(4)},${k.toFixed(4)}`,
220
+ label: I,
221
+ lat: w,
227
222
  lng: k
228
223
  };
229
224
  s({
230
225
  ...e,
231
- place: ce,
226
+ place: oe,
232
227
  geo: {
233
- lat: b,
228
+ lat: w,
234
229
  lng: k,
235
- radiusKm: J,
236
- label: Z
230
+ radiusKm: K,
231
+ label: I
237
232
  }
238
- }), f("granted"), w("patient_search_geo_granted", { radiusKm: J });
233
+ }), f("granted"), _("patient_search_geo_granted", { radiusKm: K });
239
234
  },
240
235
  () => {
241
- f("denied"), w("patient_search_geo_denied", { reason: "user" });
236
+ f("denied"), _("patient_search_geo_denied", { reason: "user" });
242
237
  },
243
238
  { enableHighAccuracy: !1, maximumAge: 6e4, timeout: 1e4 }
244
239
  );
245
- }, F = () => {
246
- s({ ...e, geo: void 0, place: void 0 }), n(""), l.current = void 0, f("pristine");
247
- }, U = (d) => {
248
- const b = L[d] ?? v;
249
- e.geo && s({ ...e, geo: { ...e.geo, radiusKm: b } }), w("patient_search_radius_changed", { radiusKm: b });
250
- }, G = (d) => {
251
- const b = L[Math.round(d)] ?? v;
252
- return u("patientSearch.geo.radiusFormat", { km: b });
253
- }, R = o === "granted" && !!e.geo, Q = o === "requesting", C = o === "denied", P = S(!1), I = C ? null : /* @__PURE__ */ _("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: [
254
- R ? /* @__PURE__ */ a(
240
+ }, o = () => {
241
+ s({ ...e, geo: void 0, place: void 0 }), r(""), l.current = void 0, f("pristine");
242
+ }, S = d === "granted" && !!e.geo, G = d === "requesting", L = d === "denied", D = N(!1), Q = L || !!!g ? null : /* @__PURE__ */ y("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: [
243
+ S ? /* @__PURE__ */ a(
255
244
  "button",
256
245
  {
257
246
  type: "button",
258
247
  "aria-label": u("patientSearch.geo.clear"),
259
- onClick: F,
260
- className: ae,
261
- children: /* @__PURE__ */ a(ie, { "aria-hidden": "true", className: "ds:size-4" })
248
+ onClick: o,
249
+ className: ee,
250
+ children: /* @__PURE__ */ a(ne, { "aria-hidden": "true", className: "ds:size-4" })
262
251
  }
263
252
  ) : null,
264
253
  /* @__PURE__ */ a(
@@ -266,43 +255,43 @@ function $({
266
255
  {
267
256
  type: "button",
268
257
  "aria-label": u("patientSearch.geo.cta"),
269
- "aria-pressed": R || void 0,
270
- disabled: Q,
271
- onClick: R ? F : N,
272
- className: ae,
273
- children: /* @__PURE__ */ a(we, { "aria-hidden": "true", className: "ds:size-4" })
258
+ "aria-pressed": S || void 0,
259
+ disabled: G,
260
+ onClick: S ? o : h,
261
+ className: ee,
262
+ children: /* @__PURE__ */ a(xe, { "aria-hidden": "true", className: "ds:size-4" })
274
263
  }
275
264
  )
276
265
  ] });
277
- return /* @__PURE__ */ _(
266
+ return /* @__PURE__ */ y(
278
267
  "div",
279
268
  {
280
269
  "data-component": "patient-search-field",
281
270
  "data-field": "where",
282
271
  onFocus: () => {
283
- P.current || (P.current = !0, w("patient_search_place_focused"));
272
+ D.current || (D.current = !0, _("patient_search_place_focused"));
284
273
  },
285
- onBlur: (d) => {
286
- d.currentTarget && !d.currentTarget.contains(d.relatedTarget) && (P.current = !1);
274
+ onBlur: (x) => {
275
+ x.currentTarget && !x.currentTarget.contains(x.relatedTarget) && (D.current = !1);
287
276
  },
288
277
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
289
278
  children: [
290
- /* @__PURE__ */ _("div", { className: "ds:relative", children: [
279
+ /* @__PURE__ */ y("div", { className: "ds:relative", children: [
291
280
  /* @__PURE__ */ a(
292
- re,
281
+ se,
293
282
  {
294
- ref: h,
295
- value: x,
296
- onChange: (d) => {
297
- n(d), e.place && d !== e.place.label && (l.current = void 0, s({ ...e, place: void 0, geo: void 0 }), o === "granted" && f("pristine"));
283
+ ref: p,
284
+ value: c,
285
+ onChange: (x) => {
286
+ r(x), e.place && x !== e.place.label && (l.current = void 0, s({ ...e, place: void 0, geo: void 0 }), d === "granted" && f("pristine"));
298
287
  },
299
- onSelect: i,
288
+ onSelect: b,
300
289
  loadOptions: m,
301
- debounceMs: de,
290
+ debounceMs: ie,
302
291
  placeholder: u("patientSearch.where.placeholder"),
303
292
  "aria-label": u("patientSearch.where.label"),
304
- startAdornment: /* @__PURE__ */ a(ge, { "aria-hidden": "true" }),
305
- endAdornment: C ? void 0 : (
293
+ startAdornment: /* @__PURE__ */ a(he, { "aria-hidden": "true" }),
294
+ endAdornment: L ? void 0 : (
306
295
  // Decorative spacer — reserves inline-end room so the typed
307
296
  // text doesn't run under the absolutely-positioned overlay.
308
297
  // Autocomplete wraps endAdornment in `aria-hidden`, which is
@@ -312,60 +301,80 @@ function $({
312
301
  "span",
313
302
  {
314
303
  "aria-hidden": "true",
315
- className: R ? "ds:inline-block ds:size-[4.5rem]" : "ds:inline-block ds:size-8"
304
+ className: S ? "ds:inline-block ds:size-[4.5rem]" : "ds:inline-block ds:size-8"
316
305
  }
317
306
  )
318
307
  )
319
308
  }
320
309
  ),
321
- I
310
+ Q
322
311
  ] }),
323
- R ? (
324
- // Slider marks render with `translate(-50%)` so half of each
325
- // end-mark ("1" and "50" labels) sits outside the slider's
326
- // bounding box. The parent Card uses `overflow: hidden`, which
327
- // would clip them — the inline padding pulls the rail inset by
328
- // half a label width so the overhang lands inside the card.
329
- /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pb-[var(--spacing-md)]", children: [
330
- /* @__PURE__ */ a(
331
- "span",
332
- {
333
- id: "patient-search-radius-label",
334
- className: "type-meta ds:text-[color:var(--muted-foreground)]",
335
- children: u("patientSearch.geo.radius")
336
- }
337
- ),
338
- /* @__PURE__ */ a(
339
- me,
340
- {
341
- value: [p],
342
- min: 0,
343
- max: L.length - 1,
344
- step: 1,
345
- marks: L.map((d, b) => ({
346
- value: b,
347
- label: `${d}`
348
- })),
349
- formatValue: G,
350
- alwaysShowValue: !0,
351
- "aria-labelledby": "patient-search-radius-label",
352
- onValueChange: (d) => y(d[0] ?? 0),
353
- onValueCommit: (d) => U(d[0] ?? 0)
354
- }
355
- )
356
- ] })
357
- ) : null,
358
- C ? (
312
+ L ? (
359
313
  // Alert defaults to `role="status"` + `aria-live="polite"` for the
360
314
  // `info` variant — the user hears why the field reverted to plain
361
315
  // text when their browser blocked the geolocation prompt.
362
- /* @__PURE__ */ a(ee, { variant: "info", children: /* @__PURE__ */ a(ee.Description, { children: u("patientSearch.geo.denied") }) })
316
+ /* @__PURE__ */ a(Z, { variant: "info", children: /* @__PURE__ */ a(Z.Description, { children: u("patientSearch.geo.denied") }) })
363
317
  ) : null
364
318
  ]
365
319
  }
366
320
  );
367
321
  }
368
- const ke = D(
322
+ function q({
323
+ value: e,
324
+ onChange: s,
325
+ defaultRadiusKm: t = Y
326
+ }) {
327
+ const { t: i } = j(), [p, v] = W(
328
+ () => {
329
+ var c;
330
+ return we(((c = e.geo) == null ? void 0 : c.radiusKm) ?? t);
331
+ }
332
+ );
333
+ if (!e.geo) return null;
334
+ const g = (c) => {
335
+ const r = O[c] ?? t;
336
+ s({ ...e, geo: { ...e.geo, radiusKm: r } }), _("patient_search_radius_changed", { radiusKm: r });
337
+ }, u = (c) => {
338
+ const r = O[Math.round(c)] ?? t;
339
+ return i("patientSearch.geo.radiusFormat", { km: r });
340
+ };
341
+ return /* @__PURE__ */ y(
342
+ "div",
343
+ {
344
+ "data-component": "patient-search-geo-radius-bar",
345
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
346
+ children: [
347
+ /* @__PURE__ */ a(
348
+ "span",
349
+ {
350
+ id: "patient-search-radius-label",
351
+ className: "type-meta ds:text-[color:var(--muted-foreground)]",
352
+ children: i("patientSearch.geo.radius")
353
+ }
354
+ ),
355
+ /* @__PURE__ */ a(
356
+ fe,
357
+ {
358
+ value: [p],
359
+ min: 0,
360
+ max: O.length - 1,
361
+ step: 1,
362
+ marks: O.map((c, r) => ({
363
+ value: r,
364
+ label: `${c}`
365
+ })),
366
+ formatValue: u,
367
+ alwaysShowValue: !0,
368
+ "aria-labelledby": "patient-search-radius-label",
369
+ onValueChange: (c) => v(c[0] ?? 0),
370
+ onValueCommit: (c) => g(c[0] ?? 0)
371
+ }
372
+ )
373
+ ]
374
+ }
375
+ );
376
+ }
377
+ const Se = T(
369
378
  [
370
379
  "ds:inline-flex ds:items-center ds:justify-center",
371
380
  "ds:min-h-[var(--min-target-size)]",
@@ -388,44 +397,44 @@ const ke = D(
388
397
  defaultVariants: { state: "idle" }
389
398
  }
390
399
  );
391
- function Re({ value: e, onChange: s }) {
392
- const { t, i18n: c } = A(), h = fe(), v = c.dir() === "rtl", g = S(/* @__PURE__ */ new Map()), u = z((r) => {
393
- var o;
394
- (o = g.current.get(r)) == null || o.focus();
395
- }, []), x = z(
396
- (r, o) => {
397
- const f = j.indexOf(o), p = j.length, y = v ? "ArrowLeft" : "ArrowRight", m = v ? "ArrowRight" : "ArrowLeft";
398
- switch (r.key) {
399
- case y:
400
+ function Ne({ value: e, onChange: s }) {
401
+ const { t, i18n: i } = j(), p = le(), v = i.dir() === "rtl", g = N(/* @__PURE__ */ new Map()), u = z((n) => {
402
+ var d;
403
+ (d = g.current.get(n)) == null || d.focus();
404
+ }, []), c = z(
405
+ (n, d) => {
406
+ const f = A.indexOf(d), m = A.length, b = v ? "ArrowLeft" : "ArrowRight", h = v ? "ArrowRight" : "ArrowLeft";
407
+ switch (n.key) {
408
+ case b:
400
409
  case "ArrowDown": {
401
- r.preventDefault();
402
- const i = j[(f + 1) % p];
403
- s(i), w("patient_search_when_selected", { when: i }), u(i);
410
+ n.preventDefault();
411
+ const o = A[(f + 1) % m];
412
+ s(o), _("patient_search_when_selected", { when: o }), u(o);
404
413
  break;
405
414
  }
406
- case m:
415
+ case h:
407
416
  case "ArrowUp": {
408
- r.preventDefault();
409
- const i = j[(f - 1 + p) % p];
410
- s(i), w("patient_search_when_selected", { when: i }), u(i);
417
+ n.preventDefault();
418
+ const o = A[(f - 1 + m) % m];
419
+ s(o), _("patient_search_when_selected", { when: o }), u(o);
411
420
  break;
412
421
  }
413
422
  case "Home": {
414
- r.preventDefault();
415
- const i = j[0];
416
- s(i), w("patient_search_when_selected", { when: i }), u(i);
423
+ n.preventDefault();
424
+ const o = A[0];
425
+ s(o), _("patient_search_when_selected", { when: o }), u(o);
417
426
  break;
418
427
  }
419
428
  case "End": {
420
- r.preventDefault();
421
- const i = j[p - 1];
422
- s(i), w("patient_search_when_selected", { when: i }), u(i);
429
+ n.preventDefault();
430
+ const o = A[m - 1];
431
+ s(o), _("patient_search_when_selected", { when: o }), u(o);
423
432
  break;
424
433
  }
425
434
  }
426
435
  },
427
436
  [u, v, s]
428
- ), n = e ?? "anytime", l = {
437
+ ), r = e ?? "anytime", l = {
429
438
  today: "patientSearch.when.today",
430
439
  tomorrow: "patientSearch.when.tomorrow",
431
440
  this_week: "patientSearch.when.thisWeek",
@@ -436,37 +445,37 @@ function Re({ value: e, onChange: s }) {
436
445
  {
437
446
  role: "radiogroup",
438
447
  "aria-label": t("patientSearch.when.label"),
439
- id: h,
448
+ id: p,
440
449
  className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
441
- children: j.map((r) => {
442
- const o = e === r, f = n === r, p = t(l[r]);
450
+ children: A.map((n) => {
451
+ const d = e === n, f = r === n, m = t(l[n]);
443
452
  return /* @__PURE__ */ a(
444
453
  "button",
445
454
  {
446
455
  type: "button",
447
456
  role: "radio",
448
- "aria-checked": o,
449
- "aria-label": p,
457
+ "aria-checked": d,
458
+ "aria-label": m,
450
459
  tabIndex: f ? 0 : -1,
451
- ref: (y) => {
452
- y ? g.current.set(r, y) : g.current.delete(r);
460
+ ref: (b) => {
461
+ b ? g.current.set(n, b) : g.current.delete(n);
453
462
  },
454
463
  onClick: () => {
455
- s(r), w("patient_search_when_selected", { when: r });
464
+ s(n), _("patient_search_when_selected", { when: n });
456
465
  },
457
- onKeyDown: (y) => x(y, r),
458
- className: ke({
459
- state: o ? "selected" : "idle"
466
+ onKeyDown: (b) => c(b, n),
467
+ className: Se({
468
+ state: d ? "selected" : "idle"
460
469
  }),
461
- children: p
470
+ children: m
462
471
  },
463
- r
472
+ n
464
473
  );
465
474
  })
466
475
  }
467
476
  );
468
477
  }
469
- const te = D(
478
+ const ae = T(
470
479
  [
471
480
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
472
481
  "ds:min-h-[var(--min-target-size)]",
@@ -496,63 +505,63 @@ const te = D(
496
505
  defaultVariants: { state: "idle" }
497
506
  }
498
507
  );
499
- function je({ facets: e, value: s, onChange: t }) {
500
- const { t: c } = A(), h = Y(() => s ?? {}, [s]), v = Y(
501
- () => Object.values(h).some((n) => n && n.length > 0),
502
- [h]
503
- ), g = (n, l) => {
504
- const r = { ...h };
505
- l.length === 0 ? delete r[n] : r[n] = l, t(r), w("patient_search_facet_changed", { key: n, values: l });
506
- }, u = (n) => {
507
- var r;
508
- const l = (((r = h[n]) == null ? void 0 : r.length) ?? 0) > 0;
509
- g(n, l ? [] : ["true"]);
510
- }, x = (n, l) => {
511
- const r = h[n.key] ?? [], o = r.includes(l);
508
+ function ke({ facets: e, value: s, onChange: t }) {
509
+ const { t: i } = j(), p = X(() => s ?? {}, [s]), v = X(
510
+ () => Object.values(p).some((r) => r && r.length > 0),
511
+ [p]
512
+ ), g = (r, l) => {
513
+ const n = { ...p };
514
+ l.length === 0 ? delete n[r] : n[r] = l, t(n), _("patient_search_facet_changed", { key: r, values: l });
515
+ }, u = (r) => {
516
+ var n;
517
+ const l = (((n = p[r]) == null ? void 0 : n.length) ?? 0) > 0;
518
+ g(r, l ? [] : ["true"]);
519
+ }, c = (r, l) => {
520
+ const n = p[r.key] ?? [], d = n.includes(l);
512
521
  let f;
513
- n.multi ? f = o ? r.filter((p) => p !== l) : [...r, l] : f = o ? [] : [l], g(n.key, f);
522
+ r.multi ? f = d ? n.filter((m) => m !== l) : [...n, l] : f = d ? [] : [l], g(r.key, f);
514
523
  };
515
- return /* @__PURE__ */ _(
524
+ return /* @__PURE__ */ y(
516
525
  "div",
517
526
  {
518
527
  role: "group",
519
- "aria-label": c("patientSearch.facets.label"),
528
+ "aria-label": i("patientSearch.facets.label"),
520
529
  className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
521
530
  children: [
522
- e.map((n) => {
523
- const l = n.options.length === 0, r = h[n.key] ?? [], o = r.length > 0;
531
+ e.map((r) => {
532
+ const l = r.options.length === 0, n = p[r.key] ?? [], d = n.length > 0;
524
533
  if (l)
525
534
  return /* @__PURE__ */ a(
526
535
  "button",
527
536
  {
528
537
  type: "button",
529
- "aria-pressed": o,
530
- "aria-label": n.label,
531
- onClick: () => u(n.key),
532
- className: te({
533
- state: o ? "active" : "idle"
538
+ "aria-pressed": d,
539
+ "aria-label": r.label,
540
+ onClick: () => u(r.key),
541
+ className: ae({
542
+ state: d ? "active" : "idle"
534
543
  }),
535
- children: /* @__PURE__ */ a("span", { children: n.label })
544
+ children: /* @__PURE__ */ a("span", { children: r.label })
536
545
  },
537
- n.key
546
+ r.key
538
547
  );
539
- const f = o ? ` (${r.length})` : "";
540
- return /* @__PURE__ */ _(K.Root, { children: [
541
- /* @__PURE__ */ a(K.Trigger, { asChild: !0, children: /* @__PURE__ */ _(
548
+ const f = d ? ` (${n.length})` : "";
549
+ return /* @__PURE__ */ y(F.Root, { children: [
550
+ /* @__PURE__ */ a(F.Trigger, { asChild: !0, children: /* @__PURE__ */ y(
542
551
  "button",
543
552
  {
544
553
  type: "button",
545
- "aria-label": `${n.label}${f}`,
546
- className: te({
547
- state: o ? "active" : "idle"
554
+ "aria-label": `${r.label}${f}`,
555
+ className: ae({
556
+ state: d ? "active" : "idle"
548
557
  }),
549
558
  children: [
550
- /* @__PURE__ */ _("span", { children: [
551
- n.label,
559
+ /* @__PURE__ */ y("span", { children: [
560
+ r.label,
552
561
  f
553
562
  ] }),
554
563
  /* @__PURE__ */ a(
555
- ye,
564
+ ge,
556
565
  {
557
566
  "aria-hidden": "true",
558
567
  className: "ds:size-3.5 ds:shrink-0"
@@ -561,25 +570,25 @@ function je({ facets: e, value: s, onChange: t }) {
561
570
  ]
562
571
  }
563
572
  ) }),
564
- /* @__PURE__ */ a(K.Content, { sideOffset: 8, align: "start", children: n.options.map((p) => /* @__PURE__ */ a(
565
- K.CheckboxItem,
573
+ /* @__PURE__ */ a(F.Content, { sideOffset: 8, align: "start", children: r.options.map((m) => /* @__PURE__ */ a(
574
+ F.CheckboxItem,
566
575
  {
567
- checked: r.includes(p.value),
568
- onSelect: (y) => {
569
- n.multi && y.preventDefault(), x(n, p.value);
576
+ checked: n.includes(m.value),
577
+ onSelect: (b) => {
578
+ r.multi && b.preventDefault(), c(r, m.value);
570
579
  },
571
- children: p.label
580
+ children: m.label
572
581
  },
573
- p.value
582
+ m.value
574
583
  )) })
575
- ] }, n.key);
584
+ ] }, r.key);
576
585
  }),
577
- v ? /* @__PURE__ */ _(
586
+ v ? /* @__PURE__ */ y(
578
587
  "button",
579
588
  {
580
589
  type: "button",
581
590
  onClick: () => {
582
- t({}), w("patient_search_facet_changed", { key: "*", values: [] });
591
+ t({}), _("patient_search_facet_changed", { key: "*", values: [] });
583
592
  },
584
593
  className: [
585
594
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
@@ -591,8 +600,8 @@ function je({ facets: e, value: s, onChange: t }) {
591
600
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
592
601
  ].join(" "),
593
602
  children: [
594
- /* @__PURE__ */ a(ie, { "aria-hidden": "true", className: "ds:size-3.5" }),
595
- c("patientSearch.facets.clear")
603
+ /* @__PURE__ */ a(ne, { "aria-hidden": "true", className: "ds:size-3.5" }),
604
+ i("patientSearch.facets.clear")
596
605
  ]
597
606
  }
598
607
  ) : null
@@ -600,7 +609,7 @@ function je({ facets: e, value: s, onChange: t }) {
600
609
  }
601
610
  );
602
611
  }
603
- const se = ["violet", "purple", "magenta", "blue"], Ae = D(
612
+ const te = ["violet", "purple", "magenta", "blue"], Re = T(
604
613
  [
605
614
  "ds:relative ds:flex ds:h-full ds:flex-col ds:gap-[var(--spacing-sm)]",
606
615
  "ds:rounded-[var(--radius-lg)] ds:overflow-hidden",
@@ -616,7 +625,7 @@ const se = ["violet", "purple", "magenta", "blue"], Ae = D(
616
625
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
617
626
  "ds:no-underline"
618
627
  ].join(" ")
619
- ), Ce = D(
628
+ ), je = T(
620
629
  "ds:absolute ds:inset-inline-0 ds:top-0 ds:h-[3px] ds:pointer-events-none",
621
630
  {
622
631
  variants: {
@@ -629,7 +638,7 @@ const se = ["violet", "purple", "magenta", "blue"], Ae = D(
629
638
  },
630
639
  defaultVariants: { accent: "violet" }
631
640
  }
632
- ), Te = D(
641
+ ), Ae = T(
633
642
  "ds:inline-flex ds:size-9 ds:items-center ds:justify-center ds:rounded-[var(--radius-md)]",
634
643
  {
635
644
  variants: {
@@ -643,12 +652,12 @@ const se = ["violet", "purple", "magenta", "blue"], Ae = D(
643
652
  defaultVariants: { accent: "violet" }
644
653
  }
645
654
  );
646
- function Ee(e, s) {
647
- return e && e !== "auto" ? e : se[s % se.length];
655
+ function Ce(e, s) {
656
+ return e && e !== "auto" ? e : te[s % te.length];
648
657
  }
649
- function Le({ cards: e }) {
650
- const { t: s } = A();
651
- return e.length === 0 ? /* @__PURE__ */ a("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)] ds:m-0", children: s("patientSearch.discovery.empty") }) : /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
658
+ function Ee({ cards: e }) {
659
+ const { t: s } = j();
660
+ return e.length === 0 ? /* @__PURE__ */ a("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)] ds:m-0", children: s("patientSearch.discovery.empty") }) : /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
652
661
  /* @__PURE__ */ a("h3", { className: "type-title-card ds:text-[var(--foreground)] ds:m-0", children: s("patientSearch.discovery.heading") }),
653
662
  /* @__PURE__ */ a(
654
663
  "ul",
@@ -658,34 +667,34 @@ function Le({ cards: e }) {
658
667
  "ds:md:grid-cols-2 ds:lg:grid-cols-3",
659
668
  "ds:m-0 ds:p-0 ds:list-none"
660
669
  ].join(" "),
661
- children: e.map((t, c) => {
662
- const h = Ee(t.accent, c);
663
- return /* @__PURE__ */ a("li", { children: /* @__PURE__ */ _(
670
+ children: e.map((t, i) => {
671
+ const p = Ce(t.accent, i);
672
+ return /* @__PURE__ */ a("li", { children: /* @__PURE__ */ y(
664
673
  "a",
665
674
  {
666
675
  href: t.href,
667
676
  "data-component": "patient-search-card",
668
677
  "data-card-id": t.id,
669
678
  "aria-label": t.description ? `${t.label} — ${t.description}` : t.label,
670
- onClick: () => w("patient_search_discovery_card_clicked", {
679
+ onClick: () => _("patient_search_discovery_card_clicked", {
671
680
  cardId: t.id
672
681
  }),
673
- className: Ae(),
682
+ className: Re(),
674
683
  children: [
675
684
  /* @__PURE__ */ a(
676
685
  "span",
677
686
  {
678
687
  "aria-hidden": "true",
679
- className: Ce({ accent: h })
688
+ className: je({ accent: p })
680
689
  }
681
690
  ),
682
- /* @__PURE__ */ _("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
691
+ /* @__PURE__ */ y("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
683
692
  /* @__PURE__ */ a(
684
693
  "span",
685
694
  {
686
695
  "aria-hidden": "true",
687
- className: Te({ accent: h }),
688
- children: t.icon ?? /* @__PURE__ */ a(be, { className: "ds:size-4", "aria-hidden": "true" })
696
+ className: Ae({ accent: p }),
697
+ children: t.icon ?? /* @__PURE__ */ a(ve, { className: "ds:size-4", "aria-hidden": "true" })
689
698
  }
690
699
  ),
691
700
  t.badge ? (
@@ -709,7 +718,7 @@ function Le({ cards: e }) {
709
718
  )
710
719
  ] });
711
720
  }
712
- function De(e) {
721
+ function Te(e) {
713
722
  if (e.object || e.place || e.geo || e.when && e.when !== "anytime") return !0;
714
723
  if (e.facets) {
715
724
  for (const s of Object.values(e.facets))
@@ -717,26 +726,26 @@ function De(e) {
717
726
  }
718
727
  return !1;
719
728
  }
720
- function q({
729
+ function U({
721
730
  value: e,
722
731
  variant: s,
723
732
  submitting: t,
724
- submitLabel: c,
725
- allowEmptySubmit: h,
733
+ submitLabel: i,
734
+ allowEmptySubmit: p,
726
735
  onSubmit: v
727
736
  }) {
728
- const { t: g } = A(), u = t || !h && !De(e), x = c ?? g("patientSearch.submit.cta");
737
+ const { t: g } = j(), u = t || !p && !Te(e), c = i ?? g("patientSearch.submit.cta");
729
738
  return /* @__PURE__ */ a(
730
- pe,
739
+ ue,
731
740
  {
732
741
  type: "button",
733
742
  intent: "primary",
734
743
  size: "lg",
735
- startIcon: /* @__PURE__ */ a(ne, { "aria-hidden": "true" }),
744
+ startIcon: /* @__PURE__ */ a(re, { "aria-hidden": "true" }),
736
745
  loading: t,
737
746
  disabled: u,
738
747
  onClick: () => {
739
- w("patient_search_submitted", {
748
+ _("patient_search_submitted", {
740
749
  variant: s,
741
750
  hasObject: !!e.object,
742
751
  hasPlace: !!e.place,
@@ -745,156 +754,174 @@ function q({
745
754
  facetKeys: e.facets ? Object.keys(e.facets) : []
746
755
  }), v(e);
747
756
  },
748
- children: x
757
+ children: c
749
758
  }
750
759
  );
751
760
  }
752
- function Pe(e) {
761
+ function Le(e) {
753
762
  const {
754
763
  variant: s,
755
764
  value: t,
756
- onChange: c,
757
- onSubmit: h,
765
+ onChange: i,
766
+ onSubmit: p,
758
767
  loadObjects: v,
759
768
  loadPlaces: g,
760
769
  onObjectSelect: u,
761
- onPlaceSelect: x,
762
- submitting: n,
770
+ onPlaceSelect: c,
771
+ submitting: r,
763
772
  submitLabel: l,
764
- allowEmptySubmit: r,
765
- whoRef: o,
773
+ allowEmptySubmit: n,
774
+ whoRef: d,
766
775
  whereRef: f,
767
- defaultRadiusKm: p,
768
- reverseGeocode: y,
769
- cardLabel: m
776
+ defaultRadiusKm: m,
777
+ reverseGeocode: b,
778
+ cardLabel: h
770
779
  } = e;
771
- return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": m, children: /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)] ds:md:flex-row ds:md:items-center", children: [
772
- /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
773
- H,
774
- {
775
- value: t,
776
- onChange: c,
777
- loadObjects: v,
778
- onObjectSelect: u,
779
- inputRef: o
780
- }
781
- ) }),
782
- /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
783
- $,
784
- {
785
- value: t,
786
- onChange: c,
787
- loadPlaces: g,
788
- onPlaceSelect: x,
789
- defaultRadiusKm: p,
790
- reverseGeocode: y,
791
- inputRef: f
792
- }
793
- ) }),
780
+ return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": h, children: /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
781
+ /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-center", children: [
782
+ /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
783
+ H,
784
+ {
785
+ value: t,
786
+ onChange: i,
787
+ loadObjects: v,
788
+ onObjectSelect: u,
789
+ inputRef: d
790
+ }
791
+ ) }),
792
+ /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
793
+ $,
794
+ {
795
+ value: t,
796
+ onChange: i,
797
+ loadPlaces: g,
798
+ onPlaceSelect: c,
799
+ defaultRadiusKm: m,
800
+ reverseGeocode: b,
801
+ inputRef: f
802
+ }
803
+ ) }),
804
+ /* @__PURE__ */ a(
805
+ U,
806
+ {
807
+ value: t,
808
+ variant: s,
809
+ submitting: r,
810
+ submitLabel: l,
811
+ allowEmptySubmit: n,
812
+ onSubmit: p
813
+ }
814
+ )
815
+ ] }),
794
816
  /* @__PURE__ */ a(
795
817
  q,
796
818
  {
797
819
  value: t,
798
- variant: s,
799
- submitting: n,
800
- submitLabel: l,
801
- allowEmptySubmit: r,
802
- onSubmit: h
820
+ onChange: i,
821
+ defaultRadiusKm: m
803
822
  }
804
823
  )
805
824
  ] }) });
806
825
  }
807
- function Ie(e) {
826
+ function De(e) {
808
827
  const {
809
828
  variant: s,
810
829
  value: t,
811
- onChange: c,
812
- onSubmit: h,
830
+ onChange: i,
831
+ onSubmit: p,
813
832
  loadObjects: v,
814
833
  loadPlaces: g,
815
834
  onObjectSelect: u,
816
- onPlaceSelect: x,
817
- submitting: n,
835
+ onPlaceSelect: c,
836
+ submitting: r,
818
837
  submitLabel: l,
819
- allowEmptySubmit: r,
820
- whoRef: o,
838
+ allowEmptySubmit: n,
839
+ whoRef: d,
821
840
  whereRef: f,
822
- defaultRadiusKm: p,
823
- reverseGeocode: y,
824
- cardLabel: m
841
+ defaultRadiusKm: m,
842
+ reverseGeocode: b,
843
+ cardLabel: h
825
844
  } = e;
826
- return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": m, children: /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
827
- /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-center", children: [
845
+ return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": h, children: /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
846
+ /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-center", children: [
828
847
  /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
829
848
  H,
830
849
  {
831
850
  value: t,
832
- onChange: c,
851
+ onChange: i,
833
852
  loadObjects: v,
834
853
  onObjectSelect: u,
835
- inputRef: o
854
+ inputRef: d
836
855
  }
837
856
  ) }),
838
857
  /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
839
858
  $,
840
859
  {
841
860
  value: t,
842
- onChange: c,
861
+ onChange: i,
843
862
  loadPlaces: g,
844
- onPlaceSelect: x,
845
- defaultRadiusKm: p,
846
- reverseGeocode: y,
863
+ onPlaceSelect: c,
864
+ defaultRadiusKm: m,
865
+ reverseGeocode: b,
847
866
  inputRef: f
848
867
  }
849
868
  ) }),
850
869
  /* @__PURE__ */ a(
851
- q,
870
+ U,
852
871
  {
853
872
  value: t,
854
873
  variant: s,
855
- submitting: n,
874
+ submitting: r,
856
875
  submitLabel: l,
857
- allowEmptySubmit: r,
858
- onSubmit: h
876
+ allowEmptySubmit: n,
877
+ onSubmit: p
859
878
  }
860
879
  )
861
880
  ] }),
862
881
  /* @__PURE__ */ a(
863
- Re,
882
+ q,
883
+ {
884
+ value: t,
885
+ onChange: i,
886
+ defaultRadiusKm: m
887
+ }
888
+ ),
889
+ /* @__PURE__ */ a(
890
+ Ne,
864
891
  {
865
892
  value: t.when,
866
- onChange: (i) => c({ ...t, when: i })
893
+ onChange: (o) => i({ ...t, when: o })
867
894
  }
868
895
  )
869
896
  ] }) });
870
897
  }
871
- function Oe(e) {
898
+ function Pe(e) {
872
899
  const {
873
900
  variant: s,
874
901
  value: t,
875
- onChange: c,
876
- onSubmit: h,
902
+ onChange: i,
903
+ onSubmit: p,
877
904
  loadObjects: v,
878
905
  loadPlaces: g,
879
906
  onObjectSelect: u,
880
- onPlaceSelect: x,
881
- facets: n,
907
+ onPlaceSelect: c,
908
+ facets: r,
882
909
  submitting: l,
883
- submitLabel: r,
884
- allowEmptySubmit: o,
910
+ submitLabel: n,
911
+ allowEmptySubmit: d,
885
912
  whoRef: f,
886
- whereRef: p,
887
- defaultRadiusKm: y,
888
- reverseGeocode: m,
889
- cardLabel: i
913
+ whereRef: m,
914
+ defaultRadiusKm: b,
915
+ reverseGeocode: h,
916
+ cardLabel: o
890
917
  } = e;
891
- return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": i, children: /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
892
- /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-center", children: [
918
+ return /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": o, children: /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
919
+ /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-center", children: [
893
920
  /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
894
921
  H,
895
922
  {
896
923
  value: t,
897
- onChange: c,
924
+ onChange: i,
898
925
  loadObjects: v,
899
926
  onObjectSelect: u,
900
927
  inputRef: f
@@ -904,186 +931,204 @@ function Oe(e) {
904
931
  $,
905
932
  {
906
933
  value: t,
907
- onChange: c,
934
+ onChange: i,
908
935
  loadPlaces: g,
909
- onPlaceSelect: x,
910
- defaultRadiusKm: y,
911
- reverseGeocode: m,
912
- inputRef: p
936
+ onPlaceSelect: c,
937
+ defaultRadiusKm: b,
938
+ reverseGeocode: h,
939
+ inputRef: m
913
940
  }
914
941
  ) }),
915
942
  /* @__PURE__ */ a(
916
- q,
943
+ U,
917
944
  {
918
945
  value: t,
919
946
  variant: s,
920
947
  submitting: l,
921
- submitLabel: r,
922
- allowEmptySubmit: o,
923
- onSubmit: h
948
+ submitLabel: n,
949
+ allowEmptySubmit: d,
950
+ onSubmit: p
924
951
  }
925
952
  )
926
953
  ] }),
927
- n && n.length > 0 ? /* @__PURE__ */ a(
928
- je,
954
+ /* @__PURE__ */ a(
955
+ q,
956
+ {
957
+ value: t,
958
+ onChange: i,
959
+ defaultRadiusKm: b
960
+ }
961
+ ),
962
+ r && r.length > 0 ? /* @__PURE__ */ a(
963
+ ke,
929
964
  {
930
- facets: n,
965
+ facets: r,
931
966
  value: t.facets,
932
- onChange: (N) => c({ ...t, facets: N })
967
+ onChange: (S) => i({ ...t, facets: S })
933
968
  }
934
969
  ) : null
935
970
  ] }) });
936
971
  }
937
- function Ve(e) {
972
+ function Ie(e) {
938
973
  const {
939
974
  variant: s,
940
975
  value: t,
941
- onChange: c,
942
- onSubmit: h,
976
+ onChange: i,
977
+ onSubmit: p,
943
978
  loadObjects: v,
944
979
  loadPlaces: g,
945
980
  onObjectSelect: u,
946
- onPlaceSelect: x,
947
- discoveryCards: n,
981
+ onPlaceSelect: c,
982
+ discoveryCards: r,
948
983
  submitting: l,
949
- submitLabel: r,
950
- allowEmptySubmit: o,
984
+ submitLabel: n,
985
+ allowEmptySubmit: d,
951
986
  whoRef: f,
952
- whereRef: p,
953
- defaultRadiusKm: y,
954
- reverseGeocode: m,
955
- cardLabel: i
987
+ whereRef: m,
988
+ defaultRadiusKm: b,
989
+ reverseGeocode: h,
990
+ cardLabel: o
956
991
  } = e;
957
- return /* @__PURE__ */ _("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", children: [
958
- /* @__PURE__ */ a(M, { variant: "elevated", "aria-label": i, children: /* @__PURE__ */ _("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: [
959
- /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
960
- H,
961
- {
962
- value: t,
963
- onChange: c,
964
- loadObjects: v,
965
- onObjectSelect: u,
966
- inputRef: f
967
- }
968
- ) }),
969
- /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
970
- $,
971
- {
972
- value: t,
973
- onChange: c,
974
- loadPlaces: g,
975
- onPlaceSelect: x,
976
- defaultRadiusKm: y,
977
- reverseGeocode: m,
978
- inputRef: p
979
- }
980
- ) }),
992
+ return /* @__PURE__ */ y("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", children: [
993
+ /* @__PURE__ */ y(M, { variant: "elevated", "aria-label": o, children: [
994
+ /* @__PURE__ */ y("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: [
995
+ /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
996
+ H,
997
+ {
998
+ value: t,
999
+ onChange: i,
1000
+ loadObjects: v,
1001
+ onObjectSelect: u,
1002
+ inputRef: f
1003
+ }
1004
+ ) }),
1005
+ /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ a(
1006
+ $,
1007
+ {
1008
+ value: t,
1009
+ onChange: i,
1010
+ loadPlaces: g,
1011
+ onPlaceSelect: c,
1012
+ defaultRadiusKm: b,
1013
+ reverseGeocode: h,
1014
+ inputRef: m
1015
+ }
1016
+ ) }),
1017
+ /* @__PURE__ */ a(
1018
+ U,
1019
+ {
1020
+ value: t,
1021
+ variant: s,
1022
+ submitting: l,
1023
+ submitLabel: n,
1024
+ allowEmptySubmit: d,
1025
+ onSubmit: p
1026
+ }
1027
+ )
1028
+ ] }),
981
1029
  /* @__PURE__ */ a(
982
1030
  q,
983
1031
  {
984
1032
  value: t,
985
- variant: s,
986
- submitting: l,
987
- submitLabel: r,
988
- allowEmptySubmit: o,
989
- onSubmit: h
1033
+ onChange: i,
1034
+ defaultRadiusKm: b
990
1035
  }
991
1036
  )
992
- ] }) }),
993
- /* @__PURE__ */ a(Le, { cards: n })
1037
+ ] }),
1038
+ /* @__PURE__ */ a(Ee, { cards: r })
994
1039
  ] });
995
1040
  }
996
- const Be = le(function({
1041
+ const Oe = de(function({
997
1042
  variant: s,
998
1043
  loadObjects: t,
999
- loadPlaces: c,
1000
- onObjectSelect: h,
1044
+ loadPlaces: i,
1045
+ onObjectSelect: p,
1001
1046
  onPlaceSelect: v,
1002
1047
  facets: g,
1003
- defaultRadiusKm: u = oe,
1004
- reverseGeocode: x,
1005
- discoveryCards: n,
1048
+ defaultRadiusKm: u = Y,
1049
+ reverseGeocode: c,
1050
+ discoveryCards: r,
1006
1051
  countryCode: l,
1007
- value: r,
1008
- onChange: o,
1052
+ value: n,
1053
+ onChange: d,
1009
1054
  onSubmit: f,
1010
- submitting: p,
1011
- submitLabel: y,
1012
- allowEmptySubmit: m,
1013
- "aria-label": i,
1014
- id: N,
1015
- className: F,
1016
- ...U
1017
- }, G) {
1018
- const { t: R } = A(), Q = S(null), C = S(null), P = S(null), I = S(!1);
1019
- B(() => {
1020
- if (!I.current && s === "who-where-when") {
1021
- if (r.when !== void 0) {
1022
- I.current = !0;
1055
+ submitting: m,
1056
+ submitLabel: b,
1057
+ allowEmptySubmit: h,
1058
+ "aria-label": o,
1059
+ id: S,
1060
+ className: G,
1061
+ ...L
1062
+ }, D) {
1063
+ const { t: J } = j(), Q = N(null), P = N(null), B = N(null), C = N(!1);
1064
+ V(() => {
1065
+ if (!C.current && s === "who-where-when") {
1066
+ if (n.when !== void 0) {
1067
+ C.current = !0;
1023
1068
  return;
1024
1069
  }
1025
- I.current = !0, o({ ...r, when: "anytime" });
1070
+ C.current = !0, d({ ...n, when: "anytime" });
1026
1071
  }
1027
1072
  }, [s]);
1028
- const T = S(!1);
1029
- B(() => {
1030
- if (!T.current && s === "faceted") {
1031
- if (r.facets !== void 0) {
1032
- T.current = !0;
1073
+ const E = N(!1);
1074
+ V(() => {
1075
+ if (!E.current && s === "faceted") {
1076
+ if (n.facets !== void 0) {
1077
+ E.current = !0;
1033
1078
  return;
1034
1079
  }
1035
- T.current = !0, o({ ...r, facets: {} });
1080
+ E.current = !0, d({ ...n, facets: {} });
1036
1081
  }
1037
1082
  }, [s]);
1038
- const O = S(null);
1039
- B(() => {
1040
- O.current !== s && (O.current = s, w("patient_search_variant_exposed", { variant: s, country: l }));
1083
+ const x = N(null);
1084
+ V(() => {
1085
+ x.current !== s && (x.current = s, _("patient_search_variant_exposed", { variant: s, country: l }));
1041
1086
  }, [s, l]);
1042
- const E = Y(
1087
+ const w = X(
1043
1088
  () => ({
1044
1089
  getVariant: () => s,
1045
1090
  reset: () => {
1046
- o({});
1091
+ d({});
1047
1092
  },
1048
1093
  focusPrimary: () => {
1049
1094
  requestAnimationFrame(() => {
1050
- var k;
1051
- (k = C.current) == null || k.focus();
1095
+ var I;
1096
+ (I = P.current) == null || I.focus();
1052
1097
  });
1053
1098
  }
1054
1099
  }),
1055
- [s, o]
1100
+ [s, d]
1056
1101
  );
1057
- ue(G, () => E, [E]), he(_e, E, N);
1058
- const V = i ?? R("patientSearch.regionLabel"), d = {
1102
+ ce(D, () => w, [w]), pe(ye, w, S);
1103
+ const k = o ?? J("patientSearch.regionLabel"), R = {
1059
1104
  variant: s,
1060
- value: r,
1061
- onChange: o,
1105
+ value: n,
1106
+ onChange: d,
1062
1107
  onSubmit: f,
1063
1108
  loadObjects: t,
1064
- loadPlaces: c,
1065
- onObjectSelect: h,
1109
+ loadPlaces: i,
1110
+ onObjectSelect: p,
1066
1111
  onPlaceSelect: v,
1067
1112
  facets: g,
1068
1113
  defaultRadiusKm: u,
1069
- reverseGeocode: x,
1070
- discoveryCards: n ?? [],
1071
- submitting: p,
1072
- submitLabel: y,
1073
- allowEmptySubmit: m,
1074
- whoRef: C,
1075
- whereRef: P,
1076
- cardLabel: V
1077
- }, b = (() => {
1114
+ reverseGeocode: c,
1115
+ discoveryCards: r ?? [],
1116
+ submitting: m,
1117
+ submitLabel: b,
1118
+ allowEmptySubmit: h,
1119
+ whoRef: P,
1120
+ whereRef: B,
1121
+ cardLabel: k
1122
+ }, K = (() => {
1078
1123
  switch (s) {
1079
1124
  case "who-where":
1080
- return /* @__PURE__ */ a(Pe, { ...d });
1125
+ return /* @__PURE__ */ a(Le, { ...R });
1081
1126
  case "who-where-when":
1082
- return /* @__PURE__ */ a(Ie, { ...d });
1127
+ return /* @__PURE__ */ a(De, { ...R });
1083
1128
  case "faceted":
1084
- return /* @__PURE__ */ a(Oe, { ...d });
1129
+ return /* @__PURE__ */ a(Pe, { ...R });
1085
1130
  case "discovery":
1086
- return /* @__PURE__ */ a(Ve, { ...d });
1131
+ return /* @__PURE__ */ a(Ie, { ...R });
1087
1132
  /* c8 ignore next 2 */
1088
1133
  default:
1089
1134
  return null;
@@ -1094,20 +1139,20 @@ const Be = le(function({
1094
1139
  {
1095
1140
  ref: Q,
1096
1141
  role: "region",
1097
- "aria-label": V,
1098
- id: N,
1142
+ "aria-label": k,
1143
+ id: S,
1099
1144
  "data-component": "patient-search",
1100
- "data-component-id": N,
1145
+ "data-component-id": S,
1101
1146
  "data-variant": s,
1102
- className: Ne({ variant: s, className: F }),
1103
- ...U,
1104
- children: b
1147
+ className: _e({ variant: s, className: G }),
1148
+ ...L,
1149
+ children: K
1105
1150
  }
1106
1151
  );
1107
1152
  });
1108
- Be.displayName = "PatientSearch";
1153
+ Oe.displayName = "PatientSearch";
1109
1154
  export {
1110
- Be as P,
1111
- _e as p
1155
+ Oe as P,
1156
+ ye as p
1112
1157
  };
1113
- //# sourceMappingURL=patient-search-DuSoGG2t.js.map
1158
+ //# sourceMappingURL=patient-search-ZpHN-pgJ.js.map