@alfadocs/ui-kit 1.10.1 → 1.12.4
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/{actions-cell-renderer-xfSYiTXQ.js → actions-cell-renderer-BCEjn3-f.js} +2 -2
- package/dist/_chunks/{anamnesis-summary-rows-d44s_whc.js → anamnesis-summary-rows-BfhxWPO3.js} +1421 -1418
- package/dist/_chunks/appointment-timeline-DCn0Jx55.js +403 -0
- package/dist/_chunks/{balance-badge-cell-C_Qz76x7.js → balance-badge-cell-BrlikHfT.js} +317 -290
- package/dist/_chunks/booking-CBHKdsZl.js +2906 -0
- package/dist/_chunks/{chart-Bkr1Sh4o.js → chart-C6eHTxkO.js} +2 -2
- package/dist/_chunks/{contact-profile-card-CE9OJKcl.js → contact-profile-card-BMIBr5s9.js} +104 -125
- package/dist/_chunks/{control-room-rail-Cj2iX9h_.js → control-room-rail-iO_BCaq1.js} +2 -2
- package/dist/_chunks/{editable-currency-cell-renderer-zLf_bXvL.js → editable-currency-cell-renderer-B7TVZ5ZJ.js} +2 -2
- package/dist/_chunks/{face-scheme-BfDi4YkW.js → face-scheme-CZaKm6fG.js} +2 -2
- package/dist/_chunks/{file-manager-Df6hyUYg.js → file-manager-Moc7sUFj.js} +3 -3
- package/dist/_chunks/format-price-DNqXPa_q.js +61 -0
- package/dist/_chunks/{header-settings-CVC_davE.js → header-settings-J-ZCAfir.js} +2 -2
- package/dist/_chunks/{icon-button-group-D6SVMteH.js → icon-button-group-VCCod3Hz.js} +154 -145
- package/dist/_chunks/{link-cell-renderer-Cp2MSlJl.js → link-cell-renderer-CenJx-_7.js} +197 -181
- package/dist/_chunks/{marketplace-app-shell-Chfdia7m.js → marketplace-app-shell-DDQXQ8hX.js} +2 -2
- package/dist/_chunks/{notes-panel-e9cJWVRg.js → notes-panel-CymneXtl.js} +93 -91
- package/dist/_chunks/{practice-results-BEsAdW-B.js → practice-results-D7ygCj_W.js} +333 -291
- package/dist/_chunks/{signature-request-CW30B77U.js → signature-request-DVDTKLjM.js} +2 -2
- package/dist/_chunks/{stepper-accordion-BeVMZPuG.js → stepper-accordion-DmVykr5F.js} +91 -88
- package/dist/_chunks/{theme-toggle-DuMhQNFS.js → theme-toggle-uEwoKjl3.js} +2 -2
- package/dist/_chunks/{tool-rail-CHyUmulN.js → tool-rail-8Scslq3X.js} +2 -2
- package/dist/_chunks/{whatsapp-button-Ca9towA4.js → whatsapp-button-CuFIHJzG.js} +27 -19
- package/dist/agent-catalog.json +12 -5
- package/dist/agent-i18n/en.json +4 -3
- package/dist/components/_shared/format-price.d.ts +21 -0
- package/dist/components/_shared/index.d.ts +1 -0
- package/dist/components/_shared/stepper.d.ts +28 -2
- package/dist/components/appointment-card/appointment-card.d.ts +1 -1
- package/dist/components/appointment-timeline/appointment-timeline.d.ts +8 -0
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/booking/booking-types.d.ts +15 -2
- package/dist/components/booking/index.js +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/control-room-rail/index.js +1 -1
- package/dist/components/data-table/filters/date-range-filter.d.ts +22 -0
- package/dist/components/data-table/index.js +3 -3
- package/dist/components/face-scheme/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/icon-button-group/index.js +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notes-panel/notes-panel.d.ts +6 -0
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +18 -0
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/tool-rail/index.js +1 -1
- package/dist/components/tool-rail/tool-rail.d.ts +1 -1
- package/dist/components/whatsapp-button/index.js +1 -1
- package/dist/host-compat.css +7 -1
- package/dist/i18n/locales/ar.d.ts +4 -0
- package/dist/i18n/locales/ar.js +5 -1
- package/dist/i18n/locales/de.d.ts +5 -1
- package/dist/i18n/locales/de.js +6 -2
- package/dist/i18n/locales/el.d.ts +4 -0
- package/dist/i18n/locales/el.js +5 -1
- package/dist/i18n/locales/en.d.ts +4 -0
- package/dist/i18n/locales/en.js +5 -1
- package/dist/i18n/locales/es.d.ts +5 -1
- package/dist/i18n/locales/es.js +6 -2
- package/dist/i18n/locales/fr.d.ts +5 -1
- package/dist/i18n/locales/fr.js +6 -2
- package/dist/i18n/locales/hi.d.ts +4 -0
- package/dist/i18n/locales/hi.js +5 -1
- package/dist/i18n/locales/it.d.ts +4 -0
- package/dist/i18n/locales/it.js +5 -1
- package/dist/i18n/locales/ja.d.ts +4 -0
- package/dist/i18n/locales/ja.js +5 -1
- package/dist/i18n/locales/nl.d.ts +5 -1
- package/dist/i18n/locales/nl.js +6 -2
- package/dist/i18n/locales/pl.d.ts +4 -0
- package/dist/i18n/locales/pl.js +5 -1
- package/dist/i18n/locales/pt.d.ts +5 -1
- package/dist/i18n/locales/pt.js +6 -2
- package/dist/i18n/locales/ro.d.ts +4 -0
- package/dist/i18n/locales/ro.js +5 -1
- package/dist/i18n/locales/ru.d.ts +4 -0
- package/dist/i18n/locales/ru.js +5 -1
- package/dist/i18n/locales/sq.d.ts +4 -0
- package/dist/i18n/locales/sq.js +5 -1
- package/dist/i18n/locales/sv.d.ts +4 -0
- package/dist/i18n/locales/sv.js +5 -1
- package/dist/i18n/locales/tr.d.ts +4 -0
- package/dist/i18n/locales/tr.js +5 -1
- package/dist/i18n/locales/zh.d.ts +4 -0
- package/dist/i18n/locales/zh.js +5 -1
- package/dist/index.js +20 -20
- package/dist/locales/ar.json +5 -1
- package/dist/locales/de.json +6 -2
- package/dist/locales/el.json +5 -1
- package/dist/locales/en.json +5 -1
- package/dist/locales/es.json +6 -2
- package/dist/locales/fr.json +6 -2
- package/dist/locales/hi.json +5 -1
- package/dist/locales/it.json +5 -1
- package/dist/locales/ja.json +5 -1
- package/dist/locales/nl.json +6 -2
- package/dist/locales/pl.json +5 -1
- package/dist/locales/pt.json +6 -2
- package/dist/locales/ro.json +5 -1
- package/dist/locales/ru.json +5 -1
- package/dist/locales/sq.json +5 -1
- package/dist/locales/sv.json +5 -1
- package/dist/locales/tr.json +5 -1
- package/dist/locales/zh.json +5 -1
- package/dist/patterns/anamnesis/anamnesis-config.d.ts +18 -7
- package/dist/patterns/anamnesis/anamnesis-types.d.ts +8 -0
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/signature-request/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/appointment-timeline-0mwtpErq.js +0 -388
- package/dist/_chunks/booking-DHkKcUIl.js +0 -2713
- package/dist/_chunks/languages-CGLX6Qpe.js +0 -19
|
@@ -5,7 +5,7 @@ import { D as m } from "./dialog-UbKJCi1X.js";
|
|
|
5
5
|
import { B as z } from "./button-nJaPh_HC.js";
|
|
6
6
|
import { I as xe } from "./icon-button-DA2CAGHZ.js";
|
|
7
7
|
import { C as Y } from "./checkbox-BuZ1u__2.js";
|
|
8
|
-
import { a as Re } from "./whatsapp-button-
|
|
8
|
+
import { a as Re } from "./whatsapp-button-CuFIHJzG.js";
|
|
9
9
|
import { S as Z } from "./select-BW5ecXlX.js";
|
|
10
10
|
import { S as be } from "./switch-OILsBLWo.js";
|
|
11
11
|
import { A as _ } from "./alert-CiJT540z.js";
|
|
@@ -414,4 +414,4 @@ Me.displayName = "SignatureRequestModal";
|
|
|
414
414
|
export {
|
|
415
415
|
Me as S
|
|
416
416
|
};
|
|
417
|
-
//# sourceMappingURL=signature-request-
|
|
417
|
+
//# sourceMappingURL=signature-request-DVDTKLjM.js.map
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
1
|
+
import { jsx as e, jsxs as c, Fragment as j } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as P, useMemo as B, useImperativeHandle as D } from "react";
|
|
3
3
|
import * as m from "@radix-ui/react-accordion";
|
|
4
|
-
import { c as
|
|
5
|
-
import { useTranslation as
|
|
6
|
-
import { C as
|
|
7
|
-
import { L as
|
|
8
|
-
function
|
|
9
|
-
return r === "error" ? "error" :
|
|
4
|
+
import { c as b } from "./index-D2ZczOXr.js";
|
|
5
|
+
import { useTranslation as G } from "react-i18next";
|
|
6
|
+
import { C as H } from "./chevron-down-DWE7GSq9.js";
|
|
7
|
+
import { L as U } from "./lock-ClAFG1gy.js";
|
|
8
|
+
function W(s, i, r) {
|
|
9
|
+
return r === "error" ? "error" : s === i ? "current" : r === "completed" || s < i ? "completed" : "upcoming";
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
function O(s, i, r) {
|
|
12
|
+
return r !== void 0 ? !0 : s <= i;
|
|
13
|
+
}
|
|
14
|
+
const C = "step-", w = (s) => `${C}${s}`, X = (s) => Number(s.slice(C.length)), h = [
|
|
12
15
|
"ds:[stroke-dasharray:1] ds:[stroke-dashoffset:1]",
|
|
13
16
|
"ds:animate-[stepper-icon-draw_var(--animation-duration)_var(--ease-out)_forwards]",
|
|
14
17
|
"ds:motion-reduce:animate-none ds:motion-reduce:[stroke-dashoffset:0]"
|
|
15
18
|
].join(" ");
|
|
16
|
-
function
|
|
19
|
+
function q() {
|
|
17
20
|
return /* @__PURE__ */ e(
|
|
18
21
|
"svg",
|
|
19
22
|
{
|
|
@@ -25,12 +28,12 @@ function W() {
|
|
|
25
28
|
strokeLinejoin: "round",
|
|
26
29
|
"aria-hidden": "true",
|
|
27
30
|
className: "ds:size-4",
|
|
28
|
-
children: /* @__PURE__ */ e("path", { pathLength: "1", d: "M5 12l5 5L20 7", className:
|
|
31
|
+
children: /* @__PURE__ */ e("path", { pathLength: "1", d: "M5 12l5 5L20 7", className: h })
|
|
29
32
|
}
|
|
30
33
|
);
|
|
31
34
|
}
|
|
32
|
-
function
|
|
33
|
-
return /* @__PURE__ */
|
|
35
|
+
function J() {
|
|
36
|
+
return /* @__PURE__ */ c(
|
|
34
37
|
"svg",
|
|
35
38
|
{
|
|
36
39
|
viewBox: "0 0 24 24",
|
|
@@ -42,13 +45,13 @@ function O() {
|
|
|
42
45
|
"aria-hidden": "true",
|
|
43
46
|
className: "ds:size-4",
|
|
44
47
|
children: [
|
|
45
|
-
/* @__PURE__ */ e("path", { pathLength: "1", d: "M6 6l12 12", className:
|
|
46
|
-
/* @__PURE__ */ e("path", { pathLength: "1", d: "M18 6l-12 12", className:
|
|
48
|
+
/* @__PURE__ */ e("path", { pathLength: "1", d: "M6 6l12 12", className: h }),
|
|
49
|
+
/* @__PURE__ */ e("path", { pathLength: "1", d: "M18 6l-12 12", className: h })
|
|
47
50
|
]
|
|
48
51
|
}
|
|
49
52
|
);
|
|
50
53
|
}
|
|
51
|
-
const
|
|
54
|
+
const K = [
|
|
52
55
|
"ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center",
|
|
53
56
|
"ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]",
|
|
54
57
|
"ds:size-[var(--min-target-size)]",
|
|
@@ -58,7 +61,7 @@ const X = [
|
|
|
58
61
|
"ds:transition-[background-color,border-color,color]",
|
|
59
62
|
"ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
|
|
60
63
|
"ds:motion-reduce:transition-none"
|
|
61
|
-
].join(" "),
|
|
64
|
+
].join(" "), Q = b(K, {
|
|
62
65
|
variants: {
|
|
63
66
|
state: {
|
|
64
67
|
upcoming: "ds:bg-[var(--background)] ds:text-[var(--muted-foreground)]",
|
|
@@ -75,7 +78,7 @@ const X = [
|
|
|
75
78
|
].join(" ")
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
|
-
}),
|
|
81
|
+
}), Y = b(
|
|
79
82
|
[
|
|
80
83
|
"ds:group/item ds:overflow-hidden ds:rounded-[var(--radius-md)]",
|
|
81
84
|
"ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2 ds:bg-[var(--card)]",
|
|
@@ -92,7 +95,7 @@ const X = [
|
|
|
92
95
|
},
|
|
93
96
|
defaultVariants: { tone: "neutral" }
|
|
94
97
|
}
|
|
95
|
-
),
|
|
98
|
+
), Z = [
|
|
96
99
|
"ds:flex ds:w-full ds:items-center ds:gap-[var(--spacing-sm)]",
|
|
97
100
|
"ds:min-h-[var(--min-target-size)]",
|
|
98
101
|
"ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
|
|
@@ -104,144 +107,144 @@ const X = [
|
|
|
104
107
|
"ds:transition-[background-color] ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
|
|
105
108
|
"ds:motion-reduce:transition-none",
|
|
106
109
|
"ds:hover:enabled:bg-[var(--muted)]/40"
|
|
107
|
-
].join(" "),
|
|
110
|
+
].join(" "), S = (s) => [
|
|
108
111
|
"type-body-sm",
|
|
109
|
-
|
|
110
|
-
].join(" "),
|
|
112
|
+
s === "current" || s === "error" ? "ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]" : s === "completed" ? "ds:text-[var(--foreground)]" : "ds:text-[var(--muted-foreground)]"
|
|
113
|
+
].join(" "), ee = [
|
|
111
114
|
"type-meta ds:text-[var(--muted-foreground)]",
|
|
112
115
|
"ds:mt-[var(--spacing-xs)]"
|
|
113
|
-
].join(" "),
|
|
116
|
+
].join(" "), g = [
|
|
114
117
|
"type-meta",
|
|
115
118
|
"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
|
|
116
119
|
"ds:text-[var(--muted-foreground)]"
|
|
117
|
-
].join(" "),
|
|
120
|
+
].join(" "), re = [
|
|
118
121
|
"ds:size-4 ds:shrink-0 ds:text-[var(--muted-foreground)]",
|
|
119
122
|
"ds:transition-transform ds:duration-[var(--animation-duration)] ds:ease-[var(--ease-out)]",
|
|
120
123
|
"ds:motion-reduce:transition-none",
|
|
121
124
|
"ds:group-data-[state=open]/item:rotate-180"
|
|
122
|
-
].join(" "),
|
|
125
|
+
].join(" "), se = [
|
|
123
126
|
"type-meta ds:text-[var(--muted-foreground)]",
|
|
124
127
|
"ds:ps-[calc(var(--min-target-size)+var(--spacing-md)+var(--spacing-sm))]",
|
|
125
128
|
"ds:pe-[var(--spacing-md)] ds:pb-[var(--spacing-sm)]",
|
|
126
129
|
"ds:group-data-[state=open]/item:hidden"
|
|
127
|
-
].join(" "),
|
|
130
|
+
].join(" "), ae = [
|
|
128
131
|
"ds:overflow-hidden",
|
|
129
132
|
"ds:data-[state=open]:animate-[accordion-down_var(--animation-duration)_var(--ease-out)]",
|
|
130
133
|
"ds:data-[state=closed]:animate-[accordion-up_var(--animation-duration)_var(--ease-in)]"
|
|
131
|
-
].join(" "),
|
|
134
|
+
].join(" "), te = [
|
|
132
135
|
"ds:ps-[calc(var(--min-target-size)+var(--spacing-md)+var(--spacing-sm))]",
|
|
133
136
|
"ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-md)]"
|
|
134
|
-
].join(" "),
|
|
137
|
+
].join(" "), ne = b("ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", {
|
|
135
138
|
variants: {}
|
|
136
|
-
}),
|
|
139
|
+
}), oe = P(
|
|
137
140
|
({
|
|
138
|
-
activeStep:
|
|
139
|
-
steps:
|
|
141
|
+
activeStep: s,
|
|
142
|
+
steps: i,
|
|
140
143
|
onStepChange: r,
|
|
141
|
-
"aria-label":
|
|
142
|
-
id:
|
|
143
|
-
className:
|
|
144
|
-
...
|
|
145
|
-
},
|
|
146
|
-
const { t: d } =
|
|
144
|
+
"aria-label": _,
|
|
145
|
+
id: x,
|
|
146
|
+
className: z,
|
|
147
|
+
...L
|
|
148
|
+
}, M) => {
|
|
149
|
+
const { t: d } = G(), l = i.length, n = Math.max(0, Math.min(s, l - 1)), V = _ ?? d("navigation.stepper.label"), y = d("navigation.stepper.edit"), N = d("navigation.stepper.open"), $ = d("navigation.stepper.locked"), A = d("navigation.stepper.completed"), F = d("navigation.stepper.error"), I = (t) => {
|
|
147
150
|
if (!t) return;
|
|
148
|
-
const
|
|
149
|
-
Number.isFinite(
|
|
150
|
-
},
|
|
151
|
+
const a = X(t);
|
|
152
|
+
Number.isFinite(a) && a !== n && (r == null || r(a));
|
|
153
|
+
}, k = B(
|
|
151
154
|
() => ({
|
|
152
|
-
getCurrentStep: () =>
|
|
155
|
+
getCurrentStep: () => n,
|
|
153
156
|
getTotalSteps: () => l,
|
|
154
|
-
getOpenSteps: () => [
|
|
157
|
+
getOpenSteps: () => [n],
|
|
155
158
|
gotoStep: (t) => {
|
|
156
159
|
if (!r) return;
|
|
157
|
-
const
|
|
158
|
-
|
|
160
|
+
const a = Math.max(0, Math.min(t, Math.max(l - 1, 0)));
|
|
161
|
+
a !== n && r(a);
|
|
159
162
|
},
|
|
160
163
|
next: () => {
|
|
161
|
-
r &&
|
|
164
|
+
r && n < l - 1 && r(n + 1);
|
|
162
165
|
},
|
|
163
166
|
previous: () => {
|
|
164
|
-
r &&
|
|
167
|
+
r && n > 0 && r(n - 1);
|
|
165
168
|
}
|
|
166
169
|
}),
|
|
167
|
-
[
|
|
170
|
+
[n, l, r]
|
|
168
171
|
);
|
|
169
|
-
return
|
|
172
|
+
return D(M, () => k, [k]), /* @__PURE__ */ e(
|
|
170
173
|
m.Root,
|
|
171
174
|
{
|
|
172
175
|
type: "single",
|
|
173
|
-
value:
|
|
174
|
-
onValueChange:
|
|
176
|
+
value: w(n),
|
|
177
|
+
onValueChange: I,
|
|
175
178
|
collapsible: !1,
|
|
176
|
-
"aria-label":
|
|
177
|
-
id:
|
|
179
|
+
"aria-label": V,
|
|
180
|
+
id: x,
|
|
178
181
|
"data-component": "stepper-accordion",
|
|
179
|
-
"data-component-id":
|
|
180
|
-
className:
|
|
181
|
-
...
|
|
182
|
-
children:
|
|
183
|
-
const
|
|
184
|
-
/* @__PURE__ */ e(
|
|
185
|
-
/* @__PURE__ */ e("span", { className: "ds:sr-only", children:
|
|
186
|
-
] }) :
|
|
187
|
-
/* @__PURE__ */ e(
|
|
188
|
-
/* @__PURE__ */ e("span", { className: "ds:sr-only", children:
|
|
189
|
-
] }) : /* @__PURE__ */ e("span", { children:
|
|
190
|
-
/* @__PURE__ */ e(
|
|
191
|
-
|
|
192
|
-
] }) : null;
|
|
193
|
-
return /* @__PURE__ */
|
|
182
|
+
"data-component-id": x,
|
|
183
|
+
className: ne({ className: z }),
|
|
184
|
+
...L,
|
|
185
|
+
children: i.map((t, a) => {
|
|
186
|
+
const o = W(a, n, t.status), u = o === "current" || o === "error", p = o === "upcoming", v = p && !O(a, n, t.status), T = o === "error" ? "error" : "neutral", f = d("navigation.stepper.stepN", { n: a + 1 }), R = o === "completed" ? /* @__PURE__ */ c(j, { children: [
|
|
187
|
+
/* @__PURE__ */ e(q, {}),
|
|
188
|
+
/* @__PURE__ */ e("span", { className: "ds:sr-only", children: A })
|
|
189
|
+
] }) : o === "error" ? /* @__PURE__ */ c(j, { children: [
|
|
190
|
+
/* @__PURE__ */ e(J, {}),
|
|
191
|
+
/* @__PURE__ */ e("span", { className: "ds:sr-only", children: F })
|
|
192
|
+
] }) : /* @__PURE__ */ e("span", { children: a + 1 }), E = o === "completed" ? /* @__PURE__ */ e("span", { className: g, children: y }) : v ? /* @__PURE__ */ c("span", { className: g, children: [
|
|
193
|
+
/* @__PURE__ */ e(U, { "aria-hidden": "true", className: "ds:size-3" }),
|
|
194
|
+
$
|
|
195
|
+
] }) : p ? /* @__PURE__ */ e("span", { className: g, children: N }) : null;
|
|
196
|
+
return /* @__PURE__ */ c(
|
|
194
197
|
m.Item,
|
|
195
198
|
{
|
|
196
|
-
value:
|
|
197
|
-
"data-step-id": String(
|
|
198
|
-
className:
|
|
199
|
+
value: w(a),
|
|
200
|
+
"data-step-id": String(a),
|
|
201
|
+
className: Y({ tone: T }),
|
|
199
202
|
children: [
|
|
200
|
-
/* @__PURE__ */ e(m.Header, { className: "ds:flex", children: /* @__PURE__ */
|
|
203
|
+
/* @__PURE__ */ e(m.Header, { className: "ds:flex", children: /* @__PURE__ */ c(
|
|
201
204
|
m.Trigger,
|
|
202
205
|
{
|
|
203
|
-
disabled:
|
|
206
|
+
disabled: v,
|
|
204
207
|
"aria-disabled": u || void 0,
|
|
205
|
-
"aria-label":
|
|
208
|
+
"aria-label": o === "completed" ? `${f}, ${y}` : p && !v ? `${f}, ${N}` : f,
|
|
206
209
|
"aria-current": u ? "step" : void 0,
|
|
207
|
-
className:
|
|
210
|
+
className: Z,
|
|
208
211
|
children: [
|
|
209
212
|
/* @__PURE__ */ e(
|
|
210
213
|
"span",
|
|
211
214
|
{
|
|
212
215
|
"aria-hidden": "true",
|
|
213
|
-
className:
|
|
214
|
-
children:
|
|
216
|
+
className: Q({ state: o }),
|
|
217
|
+
children: R
|
|
215
218
|
}
|
|
216
219
|
),
|
|
217
|
-
/* @__PURE__ */
|
|
218
|
-
/* @__PURE__ */ e("span", { className:
|
|
219
|
-
t.description ? /* @__PURE__ */ e("span", { className:
|
|
220
|
+
/* @__PURE__ */ c("span", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col", children: [
|
|
221
|
+
/* @__PURE__ */ e("span", { className: S(o), children: t.label }),
|
|
222
|
+
t.description ? /* @__PURE__ */ e("span", { className: ee, children: t.description }) : null
|
|
220
223
|
] }),
|
|
221
|
-
|
|
224
|
+
E,
|
|
222
225
|
u ? null : /* @__PURE__ */ e(
|
|
223
|
-
|
|
226
|
+
H,
|
|
224
227
|
{
|
|
225
228
|
"aria-hidden": "true",
|
|
226
|
-
className:
|
|
229
|
+
className: re
|
|
227
230
|
}
|
|
228
231
|
)
|
|
229
232
|
]
|
|
230
233
|
}
|
|
231
234
|
) }),
|
|
232
|
-
t.summary &&
|
|
233
|
-
/* @__PURE__ */ e(m.Content, { className:
|
|
235
|
+
t.summary && o === "completed" ? /* @__PURE__ */ e("div", { className: se, children: t.summary }) : null,
|
|
236
|
+
/* @__PURE__ */ e(m.Content, { className: ae, children: /* @__PURE__ */ e("div", { className: te, children: t.content }) })
|
|
234
237
|
]
|
|
235
238
|
},
|
|
236
|
-
|
|
239
|
+
a
|
|
237
240
|
);
|
|
238
241
|
})
|
|
239
242
|
}
|
|
240
243
|
);
|
|
241
244
|
}
|
|
242
245
|
);
|
|
243
|
-
|
|
246
|
+
oe.displayName = "StepperAccordion";
|
|
244
247
|
export {
|
|
245
|
-
|
|
248
|
+
oe as S
|
|
246
249
|
};
|
|
247
|
-
//# sourceMappingURL=stepper-accordion-
|
|
250
|
+
//# sourceMappingURL=stepper-accordion-DmVykr5F.js.map
|
|
@@ -3,7 +3,7 @@ import { forwardRef as M, useRef as k, useImperativeHandle as N, useMemo as _, u
|
|
|
3
3
|
import { c as P } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as g } from "react-i18next";
|
|
5
5
|
import { I as y } from "./icon-button-DA2CAGHZ.js";
|
|
6
|
-
import { I as j } from "./icon-button-group-
|
|
6
|
+
import { I as j } from "./icon-button-group-VCCod3Hz.js";
|
|
7
7
|
import { S as K } from "./switch-OILsBLWo.js";
|
|
8
8
|
import { D as o } from "./dropdown-menu-DU-Hrf33.js";
|
|
9
9
|
import { u as x } from "./use-theme-CAuo6EYT.js";
|
|
@@ -364,4 +364,4 @@ export {
|
|
|
364
364
|
F as T,
|
|
365
365
|
D as t
|
|
366
366
|
};
|
|
367
|
-
//# sourceMappingURL=theme-toggle-
|
|
367
|
+
//# sourceMappingURL=theme-toggle-uEwoKjl3.js.map
|
|
@@ -81,7 +81,7 @@ const Le = {
|
|
|
81
81
|
description: "Stable tool id emitted on each strip IconButton. The active icon also carries data-active set to its id."
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
}, Ke = "ds:[inline-size:3rem]", je = "ds:[inline-size:var(--tool-rail-panel-inline-size,var(--ai-tools-rail-panel-inline-size,22rem))]", ae = "--tool-rail-panel-inline-size", Pe = 288, Me =
|
|
84
|
+
}, Ke = "ds:[inline-size:3rem]", je = "ds:[inline-size:var(--tool-rail-panel-inline-size,var(--ai-tools-rail-panel-inline-size,22rem))]", ae = "--tool-rail-panel-inline-size", Pe = 288, Me = 880, qe = 352, Be = w(
|
|
85
85
|
["ds:flex ds:shrink-0 ds:h-full", "ds:bg-[var(--background)]"].join(" "),
|
|
86
86
|
{
|
|
87
87
|
variants: {
|
|
@@ -521,4 +521,4 @@ export {
|
|
|
521
521
|
Ze as T,
|
|
522
522
|
Le as t
|
|
523
523
|
};
|
|
524
|
-
//# sourceMappingURL=tool-rail-
|
|
524
|
+
//# sourceMappingURL=tool-rail-8Scslq3X.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsxs as c, jsx as
|
|
1
|
+
import { jsxs as c, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as _, useMemo as A } from "react";
|
|
3
3
|
import { c as m } from "./index-D2ZczOXr.js";
|
|
4
4
|
import { useTranslation as j } from "react-i18next";
|
|
5
5
|
function u({
|
|
6
6
|
className: a
|
|
7
7
|
}) {
|
|
8
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ r(
|
|
9
9
|
"svg",
|
|
10
10
|
{
|
|
11
11
|
"aria-hidden": "true",
|
|
@@ -13,11 +13,11 @@ function u({
|
|
|
13
13
|
fill: "currentColor",
|
|
14
14
|
xmlns: "http://www.w3.org/2000/svg",
|
|
15
15
|
className: a,
|
|
16
|
-
children: /* @__PURE__ */
|
|
16
|
+
children: /* @__PURE__ */ r("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.149-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z" })
|
|
17
17
|
}
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
|
-
const
|
|
20
|
+
const k = m(
|
|
21
21
|
[
|
|
22
22
|
// `position` is provided by `positionVariants` below — `static`
|
|
23
23
|
// sets `ds:relative` (so the pseudo-element touch-target anchors),
|
|
@@ -119,7 +119,7 @@ const C = m(
|
|
|
119
119
|
size: "md"
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
-
),
|
|
122
|
+
), C = m("", {
|
|
123
123
|
variants: {
|
|
124
124
|
position: {
|
|
125
125
|
// `relative` so the `::before` pseudo touch-target (defined in
|
|
@@ -142,15 +142,15 @@ function B(a, n) {
|
|
|
142
142
|
const s = a.replace(/\D/g, "");
|
|
143
143
|
if (s.length === 0)
|
|
144
144
|
return null;
|
|
145
|
-
const
|
|
146
|
-
return n ? `${
|
|
145
|
+
const d = `https://wa.me/${s}`;
|
|
146
|
+
return n ? `${d}?text=${encodeURIComponent(n)}` : d;
|
|
147
147
|
}
|
|
148
148
|
const L = _(
|
|
149
149
|
({
|
|
150
150
|
phoneNumber: a,
|
|
151
151
|
message: n,
|
|
152
152
|
variant: s = "pill",
|
|
153
|
-
size:
|
|
153
|
+
size: d = "md",
|
|
154
154
|
position: h,
|
|
155
155
|
label: g,
|
|
156
156
|
tone: w = "standard",
|
|
@@ -161,29 +161,37 @@ const L = _(
|
|
|
161
161
|
() => B(a, n),
|
|
162
162
|
[a, n]
|
|
163
163
|
), e = g ?? p(s === "fab" ? "whatsApp.fabLabel" : w === "question" ? "whatsApp.questionPrompt" : "whatsApp.label"), y = [
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
k({ variant: s, size: d }),
|
|
165
|
+
C({ position: h }),
|
|
166
166
|
x
|
|
167
|
-
].filter(Boolean).join(" "),
|
|
167
|
+
].filter(Boolean).join(" "), o = f === null, v = {
|
|
168
168
|
ref: z,
|
|
169
|
-
...
|
|
169
|
+
...o ? {} : {
|
|
170
170
|
href: f,
|
|
171
171
|
target: "_blank",
|
|
172
172
|
rel: "noopener noreferrer"
|
|
173
173
|
},
|
|
174
|
-
|
|
174
|
+
/* An <a> without href has NO implicit role, and `aria-disabled` is
|
|
175
|
+
prohibited on a roleless element (axe aria-prohibited-attr). Give
|
|
176
|
+
the disabled anchor an explicit link role so the state is legal
|
|
177
|
+
and assistive tech still announces it. */
|
|
178
|
+
/* `tabIndex` too: an <a> without href is not focusable, and
|
|
179
|
+
`aria-disabled` presupposes something focus CAN reach — otherwise
|
|
180
|
+
the reason the control is disabled never reaches a keyboard. */
|
|
181
|
+
...o ? { role: "link", tabIndex: 0 } : {},
|
|
182
|
+
"aria-disabled": o ? !0 : void 0,
|
|
175
183
|
"data-component": "whatsapp-button",
|
|
176
184
|
"data-variant": s,
|
|
177
185
|
onClick: (l) => {
|
|
178
186
|
var b;
|
|
179
|
-
|
|
187
|
+
o && l.preventDefault(), (b = i.onClick) == null || b.call(i, l);
|
|
180
188
|
},
|
|
181
189
|
className: y
|
|
182
|
-
}, t =
|
|
190
|
+
}, t = o ? null : p("link.opensInNewTab", "Opens in a new tab");
|
|
183
191
|
if (s === "fab") {
|
|
184
192
|
const l = typeof e == "string" ? t ? `${e} — ${t}` : e : void 0;
|
|
185
193
|
return /* @__PURE__ */ c("a", { ...i, ...v, "aria-label": l, children: [
|
|
186
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ r(u, {}),
|
|
187
195
|
typeof e != "string" ? /* @__PURE__ */ c("span", { className: "ds:sr-only", children: [
|
|
188
196
|
e,
|
|
189
197
|
t ? ` — ${t}` : null
|
|
@@ -191,8 +199,8 @@ const L = _(
|
|
|
191
199
|
] });
|
|
192
200
|
}
|
|
193
201
|
return /* @__PURE__ */ c("a", { ...i, ...v, children: [
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
-
/* @__PURE__ */
|
|
202
|
+
/* @__PURE__ */ r(u, {}),
|
|
203
|
+
/* @__PURE__ */ r("span", { children: e }),
|
|
196
204
|
t ? /* @__PURE__ */ c("span", { className: "ds:sr-only", children: [
|
|
197
205
|
" — ",
|
|
198
206
|
t
|
|
@@ -205,4 +213,4 @@ export {
|
|
|
205
213
|
L as W,
|
|
206
214
|
u as a
|
|
207
215
|
};
|
|
208
|
-
//# sourceMappingURL=whatsapp-button-
|
|
216
|
+
//# sourceMappingURL=whatsapp-button-CuFIHJzG.js.map
|
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "1.
|
|
3
|
+
"packageVersion": "1.12.4",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -1253,6 +1253,12 @@
|
|
|
1253
1253
|
"type": "string",
|
|
1254
1254
|
"description": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`.",
|
|
1255
1255
|
"descriptionKey": "ui.agent.booking.state.variant"
|
|
1256
|
+
},
|
|
1257
|
+
{
|
|
1258
|
+
"name": "currentStep",
|
|
1259
|
+
"type": "number",
|
|
1260
|
+
"description": "The step the flow is on — 1 insurance, 2 specialty, 3 service, 4 provider, 5 date, 6 time, 7 patient details, 8 confirmation (after a successful submit). Read this back after `goto_step` to see where the clamp landed.",
|
|
1261
|
+
"descriptionKey": "ui.agent.booking.state.currentStep"
|
|
1256
1262
|
}
|
|
1257
1263
|
],
|
|
1258
1264
|
"actions": [
|
|
@@ -1293,7 +1299,8 @@
|
|
|
1293
1299
|
},
|
|
1294
1300
|
"idempotent": true,
|
|
1295
1301
|
"errors": [
|
|
1296
|
-
"Requested step is not yet reachable — clamped to the first incomplete step."
|
|
1302
|
+
"Requested step is not yet reachable — clamped to the first incomplete step.",
|
|
1303
|
+
"Requested step is hidden for this practice (e.g. insurance outside Germany, or provider choice turned off) — clamped to the first incomplete step."
|
|
1297
1304
|
],
|
|
1298
1305
|
"examples": [
|
|
1299
1306
|
{
|
|
@@ -1303,7 +1310,7 @@
|
|
|
1303
1310
|
"note": "Return to the first step."
|
|
1304
1311
|
}
|
|
1305
1312
|
],
|
|
1306
|
-
"description": "Jump to the given step.
|
|
1313
|
+
"description": "Jump to the given step. A step that is hidden for this practice, or that sits ahead of the first incomplete step, clamps to that first incomplete step — read `currentStep` back to see where it landed.",
|
|
1307
1314
|
"descriptionKey": "ui.agent.booking.actions.gotoStep"
|
|
1308
1315
|
}
|
|
1309
1316
|
],
|
|
@@ -10199,7 +10206,7 @@
|
|
|
10199
10206
|
},
|
|
10200
10207
|
"item": {
|
|
10201
10208
|
"attr": "data-result-id",
|
|
10202
|
-
"description": "Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries two anchors: data-component=\"practice-result-open-cta\" (practice page) and data-component=\"practice-result-book-cta\" (booking flow; data-slot-aware=\"true\" when it deep-links to a next slot)."
|
|
10209
|
+
"description": "Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. Each card also carries two anchors: data-component=\"practice-result-open-cta\" (practice page) and data-component=\"practice-result-book-cta\" (booking flow; data-slot-aware=\"true\" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component=\"practice-result-tagline\", data-component=\"practice-result-description\", and data-component=\"practice-result-price\" (the kit-formatted first-visit cost — present only when the practice set one)."
|
|
10203
10210
|
}
|
|
10204
10211
|
}
|
|
10205
10212
|
},
|
|
@@ -15725,7 +15732,7 @@
|
|
|
15725
15732
|
{
|
|
15726
15733
|
"name": "set_target",
|
|
15727
15734
|
"safety": "phi",
|
|
15728
|
-
"description": "Set or clear the patient's target for one parameter.
|
|
15735
|
+
"description": "Set or clear the patient's target for one parameter. Every parameter the practice tracks as a goal is set from the summary strip at the top of the Diagnosis surface — the kit seeds target weight, target BMI, daily energy and protein, and a practice can track any numeric parameter it flags as a goal; a targetable parameter that is not tracked (waist, by default) is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
|
|
15729
15736
|
"descriptionKey": "ui.agent.anamnesis.workflows.setTarget",
|
|
15730
15737
|
"uiActions": [
|
|
15731
15738
|
"popover.open",
|
package/dist/agent-i18n/en.json
CHANGED
|
@@ -135,11 +135,12 @@
|
|
|
135
135
|
},
|
|
136
136
|
"booking": {
|
|
137
137
|
"state": {
|
|
138
|
-
"variant": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`."
|
|
138
|
+
"variant": "Active variant — one of `inline-list`, `accordion`, `calendar`, `flexible`, `progress`.",
|
|
139
|
+
"currentStep": "The step the flow is on — 1 insurance, 2 specialty, 3 service, 4 provider, 5 date, 6 time, 7 patient details, 8 confirmation (after a successful submit). Read this back after `goto_step` to see where the clamp landed."
|
|
139
140
|
},
|
|
140
141
|
"actions": {
|
|
141
142
|
"reset": "Clear the booking value back to an empty state. Use to abandon an in-progress flow.",
|
|
142
|
-
"gotoStep": "Jump to the given step.
|
|
143
|
+
"gotoStep": "Jump to the given step. A step that is hidden for this practice, or that sits ahead of the first incomplete step, clamps to that first incomplete step — read `currentStep` back to see where it landed."
|
|
143
144
|
}
|
|
144
145
|
},
|
|
145
146
|
"breadcrumb": {
|
|
@@ -1538,7 +1539,7 @@
|
|
|
1538
1539
|
"saveIntake": "Persist the patient's questionnaire answers. Writes patient-identifiable clinical history.",
|
|
1539
1540
|
"selectView": "Switch the diagnostic workspace between the read-only summary of the patient's questionnaire, the current-visit compile view and the across-visits evolution view. The summary is selected on arrival.",
|
|
1540
1541
|
"recordMeasurement": "Record or correct an anthropometric, dietary-intake (daily energy, protein) or blood-test value for the current visit. BMI is computed from weight and height and cannot be recorded. Writes patient clinical data.",
|
|
1541
|
-
"setTarget": "Set or clear the patient's target for one parameter.
|
|
1542
|
+
"setTarget": "Set or clear the patient's target for one parameter. Every parameter the practice tracks as a goal is set from the summary strip at the top of the Diagnosis surface — the kit seeds target weight, target BMI, daily energy and protein, and a practice can track any numeric parameter it flags as a goal; a targetable parameter that is not tracked (waist, by default) is set from its capture block, through the same editor. Each tile's edit button opens a small form: nothing is committed until Save, a value outside the parameter's sane range is refused rather than silently clamped, and Clear removes the goal rather than setting it to zero. A target belongs to the record, not to a visit — setting one records no measurement. Writes patient clinical data.",
|
|
1542
1543
|
"assignPathologies": "Assign or remove coded pathologies for the current visit via the multi-select, reading the current assignments.",
|
|
1543
1544
|
"readIntakeDigest": "Read the Summary tab: the at-a-glance digest of the patient's questionnaire — why they came, the conditions and medication they carry, the symptoms they report and their daily habits — and, one disclosure below it, the full answer list with its from-patient origin markers. Read-only; clinician-only; no mutation.",
|
|
1544
1545
|
"resolveMissingAnswers": "Read how many required questionnaire answers are still missing, jump to the first of them — which crosses from the read-only Summary to the Compile tab and opens the unanswered-questions block that holds it — and record the answer there. Writes patient clinical history.",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared money formatter for the kit's "price in minor units" convention.
|
|
3
|
+
*
|
|
4
|
+
* Every component that renders a price takes the amount as an integer in
|
|
5
|
+
* the smallest currency unit (cents / centesimi) plus an ISO-4217
|
|
6
|
+
* `currencyCode`, and the KIT does the formatting — the consumer never
|
|
7
|
+
* hands the kit a pre-rendered string. Lifted from the file-local
|
|
8
|
+
* duplicate in `contact-profile-card.tsx` when PracticeResults adopted
|
|
9
|
+
* the same convention, so both surfaces render an identical price for
|
|
10
|
+
* identical input.
|
|
11
|
+
*
|
|
12
|
+
* Not to be confused with `formatPaymentAmount` (payment-form): that one
|
|
13
|
+
* is the checkout formatter and falls back to an `en` currency string so
|
|
14
|
+
* a raw integer can never leak into a payment UI. This is the lightweight
|
|
15
|
+
* leaf helper for read-only price captions — it lives in `_shared` so a
|
|
16
|
+
* SERP card can use it without pulling the payment-form module graph in.
|
|
17
|
+
* Both apply the same zero-decimal divisor rule; only the failure
|
|
18
|
+
* behaviour differs.
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatPrice(minorUnits: number, currency: string, locale: string): string;
|
|
21
|
+
//# sourceMappingURL=format-price.d.ts.map
|
|
@@ -8,6 +8,7 @@ export { computeDueDate, trimesterForWeeks, gestationalMilestones, trimesterHigh
|
|
|
8
8
|
export { computeAntenatalSchedule, type AntenatalEvent, type ResolvedAntenatalEvent, type AntenatalScheduleOptions, type AntenatalCategory, type AntenatalStatus, type AntenatalCondition, type ScheduleLocale, type GdmRisk, } from './antenatal-schedule';
|
|
9
9
|
export { AntenatalScheduleTimeline, type AntenatalScheduleTimelineProps, } from './antenatal-schedule-timeline';
|
|
10
10
|
export { InsertButton, buildResultText, buildResultHtml, buildResultCardSvg, svgCardToPngDataUri, svgCardToPng, type InsertButtonProps, type InsertVariant, type InsertPayload, type InsertPngResult, type InsertMode, type InsertCardData, type InsertCardField, type InsertCardGauge, type SvgCardToPngOptions, } from './insert-result';
|
|
11
|
+
export { formatPrice } from './format-price';
|
|
11
12
|
export { normalizeDiacritics } from './normalize-diacritics';
|
|
12
13
|
export { useDebouncedCallback } from './use-debounced-callback';
|
|
13
14
|
export { useFocusTrap, type UseFocusTrapOptions } from './use-focus-trap';
|