@alfadocs/ui-kit 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/_chunks/{actions-cell-renderer-DaL80uqL.js → actions-cell-renderer-ClGCSQnA.js} +600 -565
  2. package/dist/_chunks/{ai-consent-banner-BXD7W6FI.js → ai-consent-banner-DKgFfSzc.js} +2 -2
  3. package/dist/_chunks/{alert-Cxaqd-QO.js → alert-DS22ha1n.js} +103 -98
  4. package/dist/_chunks/{annotation-marker-qt5R9WZX.js → annotation-marker-CsUJGZjQ.js} +7 -5
  5. package/dist/_chunks/{audio-recorder-BjnB7V8n.js → audio-recorder-sRsGS-0V.js} +2 -2
  6. package/dist/_chunks/{booking-DSOK-bnR.js → booking-D8fCzcUd.js} +2 -2
  7. package/dist/_chunks/{care-plan-card-BrwhyIJI.js → care-plan-card-DjjVnBYz.js} +2 -2
  8. package/dist/_chunks/{care-plan-entry-card-DWEdCQM3.js → care-plan-entry-card-BVhpvd-P.js} +2 -2
  9. package/dist/_chunks/{collapsible-BrnRiCC6.js → collapsible-CGL9ontS.js} +65 -61
  10. package/dist/_chunks/{document-preview-DXsCEj4U.js → document-preview-DAczwybt.js} +2 -2
  11. package/dist/_chunks/{document-scanner-cS_ispQs.js → document-scanner-BRYIc3A-.js} +2 -2
  12. package/dist/_chunks/{entity-summary-BILN4wEG.js → entity-summary-BS6n7Iah.js} +2 -2
  13. package/dist/_chunks/{face-scheme-CjQAHvSP.js → face-scheme-Cou2efl7.js} +2 -2
  14. package/dist/_chunks/{file-manager-B9LZzT5E.js → file-manager-CNSLiuLo.js} +2 -2
  15. package/dist/_chunks/{freemium-paywall-Dr2342_S.js → freemium-paywall-DsT7MaLd.js} +2 -2
  16. package/dist/_chunks/link-cell-renderer-_DlEZHLI.js +772 -0
  17. package/dist/_chunks/{marketplace-app-shell-pCHBp8bo.js → marketplace-app-shell-DQC9Gpm0.js} +2 -2
  18. package/dist/_chunks/{muscle-scheme-kgCX5qfO.js → muscle-scheme-yfzP_xoJ.js} +2 -2
  19. package/dist/_chunks/notes-panel-CCz0J140.js +370 -0
  20. package/dist/_chunks/{patient-details-UmNcxL0c.js → patient-details-l7pnsUq9.js} +2 -2
  21. package/dist/_chunks/{patient-search-vtRTSdf6.js → patient-search-H54Utav2.js} +2 -2
  22. package/dist/_chunks/{patient-table-QEVsFvwq.js → patient-table-DXk0wW8Q.js} +243 -239
  23. package/dist/_chunks/payment-automation-upsell-C4LIw1iQ.js +305 -0
  24. package/dist/_chunks/{payment-form-BoGxEmGn.js → payment-form-CyKT20xZ.js} +2 -2
  25. package/dist/_chunks/{payment-request-card-CygO1anM.js → payment-request-card-CN30J6yM.js} +107 -138
  26. package/dist/_chunks/{pdf-viewer-CcOuR2wj.js → pdf-viewer-DHg8SfUI.js} +2 -2
  27. package/dist/_chunks/{practice-results-yKbwIxqa.js → practice-results-qvJRkvLn.js} +2 -2
  28. package/dist/_chunks/receipt-euro-C6k4Gzhr.js +36 -0
  29. package/dist/_chunks/{reviews-panel-DmOjvmyH.js → reviews-panel-BfUJhx3m.js} +2 -2
  30. package/dist/_chunks/{sign-document-cH9CboWB.js → sign-document-D70TEUw9.js} +2 -2
  31. package/dist/_chunks/{signature-request-BzXTV_RH.js → signature-request-BlNCXpRN.js} +2 -2
  32. package/dist/_chunks/sparkline-DJtZBe7O.js +501 -0
  33. package/dist/_chunks/{warning-stack-DKeAfj5M.js → warning-stack-IVf0oxh2.js} +2 -2
  34. package/dist/_chunks/{workflow-map-SIfAhmWz.js → workflow-map-ByyBYj6Y.js} +2 -2
  35. package/dist/agent-catalog.json +237 -7
  36. package/dist/agent-i18n/en.json +17 -5
  37. package/dist/components/ai-consent-banner/index.js +1 -1
  38. package/dist/components/alert/alert.d.ts +20 -0
  39. package/dist/components/alert/index.d.ts +1 -1
  40. package/dist/components/alert/index.js +1 -1
  41. package/dist/components/annotation-marker/index.js +1 -1
  42. package/dist/components/audio-recorder/index.js +1 -1
  43. package/dist/components/booking/index.js +1 -1
  44. package/dist/components/care-plan-card/index.js +1 -1
  45. package/dist/components/care-plan-entry-card/index.js +1 -1
  46. package/dist/components/collapsible/index.js +1 -1
  47. package/dist/components/data-table/filters/select-filter.d.ts +6 -0
  48. package/dist/components/data-table/hooks/use-presentational-aria-fix.d.ts +19 -0
  49. package/dist/components/data-table/index.js +2 -2
  50. package/dist/components/document-preview/index.js +1 -1
  51. package/dist/components/document-scanner/index.js +1 -1
  52. package/dist/components/entity-summary/index.js +1 -1
  53. package/dist/components/face-scheme/index.js +1 -1
  54. package/dist/components/file-manager/index.js +1 -1
  55. package/dist/components/freemium-paywall/index.js +1 -1
  56. package/dist/components/muscle-scheme/index.js +1 -1
  57. package/dist/components/notes-panel/index.js +1 -1
  58. package/dist/components/notes-panel/notes-panel.d.ts +45 -2
  59. package/dist/components/patient-details/index.js +1 -1
  60. package/dist/components/patient-search/index.js +1 -1
  61. package/dist/components/patient-table/index.js +1 -1
  62. package/dist/components/payment-card/index.js +1 -1
  63. package/dist/components/payment-form/index.js +1 -1
  64. package/dist/components/pdf-viewer/index.js +1 -1
  65. package/dist/components/practice-results/index.js +1 -1
  66. package/dist/components/reviews-panel/index.js +1 -1
  67. package/dist/components/sign-document/index.js +1 -1
  68. package/dist/components/skeleton-scheme/index.js +1 -1
  69. package/dist/components/sparkline/index.d.ts +1 -1
  70. package/dist/components/sparkline/index.js +1 -1
  71. package/dist/components/sparkline/sparkline.d.ts +60 -3
  72. package/dist/components/warning-stack/index.js +1 -1
  73. package/dist/components/workflow/index.js +1 -1
  74. package/dist/host-compat.css +13 -1
  75. package/dist/i18n/locales/ar.d.ts +3 -0
  76. package/dist/i18n/locales/ar.js +3 -0
  77. package/dist/i18n/locales/de.d.ts +3 -0
  78. package/dist/i18n/locales/de.js +3 -0
  79. package/dist/i18n/locales/el.d.ts +3 -0
  80. package/dist/i18n/locales/el.js +3 -0
  81. package/dist/i18n/locales/en.d.ts +3 -0
  82. package/dist/i18n/locales/en.js +3 -0
  83. package/dist/i18n/locales/es.d.ts +3 -0
  84. package/dist/i18n/locales/es.js +3 -0
  85. package/dist/i18n/locales/fr.d.ts +3 -0
  86. package/dist/i18n/locales/fr.js +3 -0
  87. package/dist/i18n/locales/hi.d.ts +3 -0
  88. package/dist/i18n/locales/hi.js +3 -0
  89. package/dist/i18n/locales/it.d.ts +3 -0
  90. package/dist/i18n/locales/it.js +3 -0
  91. package/dist/i18n/locales/ja.d.ts +3 -0
  92. package/dist/i18n/locales/ja.js +3 -0
  93. package/dist/i18n/locales/nl.d.ts +3 -0
  94. package/dist/i18n/locales/nl.js +3 -0
  95. package/dist/i18n/locales/pl.d.ts +3 -0
  96. package/dist/i18n/locales/pl.js +3 -0
  97. package/dist/i18n/locales/pt.d.ts +3 -0
  98. package/dist/i18n/locales/pt.js +3 -0
  99. package/dist/i18n/locales/ro.d.ts +3 -0
  100. package/dist/i18n/locales/ro.js +3 -0
  101. package/dist/i18n/locales/ru.d.ts +3 -0
  102. package/dist/i18n/locales/ru.js +3 -0
  103. package/dist/i18n/locales/sq.d.ts +3 -0
  104. package/dist/i18n/locales/sq.js +3 -0
  105. package/dist/i18n/locales/sv.d.ts +3 -0
  106. package/dist/i18n/locales/sv.js +3 -0
  107. package/dist/i18n/locales/tr.d.ts +3 -0
  108. package/dist/i18n/locales/tr.js +3 -0
  109. package/dist/i18n/locales/zh.d.ts +3 -0
  110. package/dist/i18n/locales/zh.js +3 -0
  111. package/dist/index.js +974 -1268
  112. package/dist/locales/ar.json +3 -0
  113. package/dist/locales/de.json +3 -0
  114. package/dist/locales/el.json +3 -0
  115. package/dist/locales/en.json +3 -0
  116. package/dist/locales/es.json +3 -0
  117. package/dist/locales/fr.json +3 -0
  118. package/dist/locales/hi.json +3 -0
  119. package/dist/locales/it.json +3 -0
  120. package/dist/locales/ja.json +3 -0
  121. package/dist/locales/nl.json +3 -0
  122. package/dist/locales/pl.json +3 -0
  123. package/dist/locales/pt.json +3 -0
  124. package/dist/locales/ro.json +3 -0
  125. package/dist/locales/ru.json +3 -0
  126. package/dist/locales/sq.json +3 -0
  127. package/dist/locales/sv.json +3 -0
  128. package/dist/locales/tr.json +3 -0
  129. package/dist/locales/zh.json +3 -0
  130. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  131. package/dist/patterns/payment-automation-upsell/index.js +5 -0
  132. package/dist/patterns/signature-request/index.js +1 -1
  133. package/dist/tokens.css +1 -1
  134. package/package.json +5 -1
  135. package/dist/_chunks/link-cell-renderer-Bt-mXeQY.js +0 -728
  136. package/dist/_chunks/notes-panel-CTcOLLVo.js +0 -324
  137. package/dist/_chunks/sparkline-DcXqRZoq.js +0 -283
@@ -2,7 +2,7 @@ import { jsxs as r, jsx as n } from "react/jsx-runtime";
2
2
  import { forwardRef as N, useState as k, useRef as q, useMemo as I } from "react";
3
3
  import { c as L } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as R } from "react-i18next";
5
- import { A as d } from "./alert-Cxaqd-QO.js";
5
+ import { A as d } from "./alert-DS22ha1n.js";
6
6
  import { B as w } from "./badge-DCOqV9mI.js";
7
7
  import { B as T } from "./button-CPGiR_bH.js";
8
8
  import { C as V } from "./checkbox-BuZ1u__2.js";
@@ -167,4 +167,4 @@ export {
167
167
  P as A,
168
168
  K as a
169
169
  };
170
- //# sourceMappingURL=ai-consent-banner-BXD7W6FI.js.map
170
+ //# sourceMappingURL=ai-consent-banner-DKgFfSzc.js.map
@@ -1,27 +1,27 @@
1
- import { jsxs as k, jsx as e, Fragment as U } from "react/jsx-runtime";
2
- import { forwardRef as v, useState as I, useRef as M, useCallback as _, Children as P, isValidElement as W, useContext as O, useId as G, createContext as H } from "react";
3
- import { c as X } from "./index-D2ZczOXr.js";
4
- import { useTranslation as R } from "react-i18next";
5
- import { u as $ } from "./use-controllable-state-BiY4xTzM.js";
6
- import { u as S } from "./use-clamp-overflow-DQE2kwZ9.js";
7
- import { T as q } from "./tooltip-DvmfrNvB.js";
8
- import { X as J } from "./x-B5YnXwCz.js";
9
- import { c as K } from "./createLucideIcon-DhHxpK9K.js";
10
- import { C as Q } from "./circle-alert-rGDZ73Wh.js";
11
- import { T as Y } from "./triangle-alert-CBnO6nq_.js";
12
- import { C as Z } from "./circle-check-BN6rz4NV.js";
13
- import { I as ee } from "./info-CGn22peZ.js";
1
+ import { jsxs as I, jsx as e, Fragment as G } from "react/jsx-runtime";
2
+ import { forwardRef as p, useState as O, useRef as P, useCallback as C, Children as W, isValidElement as H, useContext as R, useId as X, createContext as $ } from "react";
3
+ import { c as q } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as S } from "react-i18next";
5
+ import { u as J } from "./use-controllable-state-BiY4xTzM.js";
6
+ import { u as E } from "./use-clamp-overflow-DQE2kwZ9.js";
7
+ import { T as K } from "./tooltip-DvmfrNvB.js";
8
+ import { X as Q } from "./x-B5YnXwCz.js";
9
+ import { c as Y } from "./createLucideIcon-DhHxpK9K.js";
10
+ import { C as Z } from "./circle-alert-rGDZ73Wh.js";
11
+ import { T as ee } from "./triangle-alert-CBnO6nq_.js";
12
+ import { C as te } from "./circle-check-BN6rz4NV.js";
13
+ import { I as se } from "./info-CGn22peZ.js";
14
14
  /**
15
15
  * @license lucide-react v1.22.0 - ISC
16
16
  *
17
17
  * This source code is licensed under the ISC license.
18
18
  * See the LICENSE file in the root directory of this source tree.
19
19
  */
20
- const te = [
20
+ const oe = [
21
21
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
22
22
  ["path", { d: "m16 12-4-4-4 4", key: "177agl" }],
23
23
  ["path", { d: "M12 16V8", key: "1sbj14" }]
24
- ], se = K("circle-arrow-up", te), C = H(!1), oe = [
24
+ ], re = Y("circle-arrow-up", oe), _ = $(!1), ae = [
25
25
  // Full-opacity `text-current` so it matches the body text's contrast (an
26
26
  // `opacity` dim would drop the variant-tinted text below AA). Underline
27
27
  // carries the affordance instead. No `--min-target-size` floor: this is an
@@ -34,7 +34,7 @@ const te = [
34
34
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
35
35
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
36
36
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
37
- ].join(" "), re = X(
37
+ ].join(" "), ne = q(
38
38
  [
39
39
  // Default `items-center` keeps the icon + dismiss optically aligned
40
40
  // with a single-line description. The `data-[has-title=true]`
@@ -104,7 +104,7 @@ const te = [
104
104
  variant: "info"
105
105
  }
106
106
  }
107
- ), E = "ds:shrink-0 ds:size-5", ae = `${E} ds:mt-0.5`, ne = [
107
+ ), L = "ds:shrink-0 ds:size-5", ie = `${L} ds:mt-0.5`, de = [
108
108
  // Default (no title): the alert root uses `items-center` and the
109
109
  // button centres in the cross-axis. A centred 16×16 glyph inside a
110
110
  // 44×44 button aligns optically with a single-line description.
@@ -128,147 +128,152 @@ const te = [
128
128
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
129
129
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
130
130
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
131
- ].join(" "), ie = {
132
- info: { icon: /* @__PURE__ */ e(ee, { "aria-hidden": "true" }), role: "status", live: "polite" },
131
+ ].join(" "), le = {
132
+ info: { icon: /* @__PURE__ */ e(se, { "aria-hidden": "true" }), role: "status", live: "polite" },
133
133
  success: {
134
- icon: /* @__PURE__ */ e(Z, { "aria-hidden": "true" }),
134
+ icon: /* @__PURE__ */ e(te, { "aria-hidden": "true" }),
135
135
  role: "status",
136
136
  live: "polite"
137
137
  },
138
138
  warning: {
139
- icon: /* @__PURE__ */ e(Y, { "aria-hidden": "true" }),
139
+ icon: /* @__PURE__ */ e(ee, { "aria-hidden": "true" }),
140
140
  role: "alert",
141
141
  live: "assertive"
142
142
  },
143
143
  error: {
144
- icon: /* @__PURE__ */ e(Q, { "aria-hidden": "true" }),
144
+ icon: /* @__PURE__ */ e(Z, { "aria-hidden": "true" }),
145
145
  role: "alert",
146
146
  live: "assertive"
147
147
  },
148
148
  // Promotions never interrupt — same polite semantics as info.
149
149
  promo: {
150
- icon: /* @__PURE__ */ e(se, { "aria-hidden": "true" }),
150
+ icon: /* @__PURE__ */ e(re, { "aria-hidden": "true" }),
151
151
  role: "status",
152
152
  live: "polite"
153
153
  }
154
- }, y = v(
155
- ({ as: a = "h5", className: i, children: s, ...o }, t) => {
156
- const n = O(C), { ref: d, isOverflowing: r } = S(n), m = _(
154
+ }, ce = {
155
+ off: { role: void 0, live: void 0 },
156
+ polite: { role: "status", live: "polite" },
157
+ assertive: { role: "alert", live: "assertive" }
158
+ }, y = p(
159
+ ({ as: n = "h5", className: d, children: s, ...o }, t) => {
160
+ const r = R(_), { ref: l, isOverflowing: a } = E(r), f = C(
157
161
  (c) => {
158
- d.current = c, typeof t == "function" ? t(c) : t && (t.current = c);
162
+ l.current = c, typeof t == "function" ? t(c) : t && (t.current = c);
159
163
  },
160
- [t, d]
161
- ), l = n && r && typeof s == "string", f = /* @__PURE__ */ e(
162
- a,
164
+ [t, l]
165
+ ), i = r && a && typeof s == "string", m = /* @__PURE__ */ e(
166
+ n,
163
167
  {
164
- ref: m,
165
- tabIndex: l ? 0 : void 0,
168
+ ref: f,
169
+ tabIndex: i ? 0 : void 0,
166
170
  className: [
167
171
  "type-title-item",
168
- n ? "ds:line-clamp-2" : "",
169
- i
172
+ r ? "ds:line-clamp-2" : "",
173
+ d
170
174
  ].filter(Boolean).join(" "),
171
175
  ...o,
172
176
  children: s
173
177
  }
174
178
  );
175
- return l ? /* @__PURE__ */ e(q, { label: s, children: f }) : f;
179
+ return i ? /* @__PURE__ */ e(K, { label: s, children: m }) : m;
176
180
  }
177
181
  );
178
182
  y.displayName = "Alert.Title";
179
- const L = v(({ className: a, children: i, ...s }, o) => {
180
- const t = O(C), { t: n } = R(), d = G(), [r, m] = I(!1), { ref: l, isOverflowing: f } = S(t && !r), c = _(
183
+ const V = p(({ className: n, children: d, ...s }, o) => {
184
+ const t = R(_), { t: r } = S(), l = X(), [a, f] = O(!1), { ref: i, isOverflowing: m } = E(t && !a), c = C(
181
185
  (u) => {
182
- l.current = u, typeof o == "function" ? o(u) : o && (o.current = u);
186
+ i.current = u, typeof o == "function" ? o(u) : o && (o.current = u);
183
187
  },
184
- [o, l]
185
- ), g = t && (f || r);
186
- return /* @__PURE__ */ k(U, { children: [
188
+ [o, i]
189
+ ), g = t && (m || a);
190
+ return /* @__PURE__ */ I(G, { children: [
187
191
  /* @__PURE__ */ e(
188
192
  "p",
189
193
  {
190
194
  ref: c,
191
- id: t ? d : void 0,
195
+ id: t ? l : void 0,
192
196
  className: [
193
197
  "ds:[[data-has-title=true]_&]:mt-[var(--spacing-xs)] type-body-sm",
194
- t && !r ? "ds:line-clamp-2" : "",
195
- a
198
+ t && !a ? "ds:line-clamp-2" : "",
199
+ n
196
200
  ].filter(Boolean).join(" "),
197
201
  ...s,
198
- children: i
202
+ children: d
199
203
  }
200
204
  ),
201
205
  g ? /* @__PURE__ */ e(
202
206
  "button",
203
207
  {
204
208
  type: "button",
205
- "aria-expanded": r,
206
- "aria-controls": d,
207
- onClick: () => m((u) => !u),
208
- className: oe,
209
- children: r ? n("feedback.alert.readLess", "Read less") : n("feedback.alert.readMore", "Read more")
209
+ "aria-expanded": a,
210
+ "aria-controls": l,
211
+ onClick: () => f((u) => !u),
212
+ className: ae,
213
+ children: a ? r("feedback.alert.readLess", "Read less") : r("feedback.alert.readMore", "Read more")
210
214
  }
211
215
  ) : null
212
216
  ] });
213
217
  });
214
- L.displayName = "Alert.Description";
215
- const V = v(
216
- ({ className: a, ...i }, s) => /* @__PURE__ */ e(
218
+ V.displayName = "Alert.Description";
219
+ const z = p(
220
+ ({ className: n, ...d }, s) => /* @__PURE__ */ e(
217
221
  "div",
218
222
  {
219
223
  ref: s,
220
224
  className: [
221
225
  "ds:mt-[var(--spacing-sm)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]",
222
- a
226
+ n
223
227
  ].filter(Boolean).join(" "),
224
- ...i
228
+ ...d
225
229
  }
226
230
  )
227
231
  );
228
- V.displayName = "Alert.Action";
229
- const z = v(
232
+ z.displayName = "Alert.Action";
233
+ const B = p(
230
234
  ({
231
- variant: a = "info",
232
- dismissible: i = !1,
235
+ variant: n = "info",
236
+ dismissible: d = !1,
233
237
  open: s,
234
238
  onOpenChange: o,
235
239
  icon: t,
236
- live: n,
237
- clamp: d = !1,
238
- className: r,
239
- children: m,
240
- ...l
241
- }, f) => {
242
- const { t: c } = R(), [g, u] = $({
240
+ announce: r,
241
+ live: l,
242
+ clamp: a = !1,
243
+ className: f,
244
+ children: i,
245
+ ...m
246
+ }, c) => {
247
+ const { t: g } = S(), [u, D] = J({
243
248
  value: s,
244
249
  defaultValue: !0,
245
250
  onChange: o
246
- }), B = g ?? !0, [w, A] = I(!1), b = M(null), D = _(() => {
251
+ }), F = u ?? !0, [w, N] = O(!1), b = P(null), U = C(() => {
247
252
  if (typeof window > "u") return 200;
248
- const p = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
249
- if (!p) return 200;
250
- const j = p.trim(), h = parseFloat(j);
251
- return Number.isFinite(h) ? j.endsWith("ms") ? h : h * 1e3 : 200;
253
+ const v = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
254
+ if (!v) return 200;
255
+ const k = v.trim(), h = parseFloat(k);
256
+ return Number.isFinite(h) ? k.endsWith("ms") ? h : h * 1e3 : 200;
252
257
  }, []);
253
- if (!B) return null;
254
- const x = ie[a], T = t !== void 0 ? t : x.icon, N = P.toArray(m).some(
255
- (p) => W(p) && p.type === y
256
- ), F = () => {
257
- w || (A(!0), b.current && clearTimeout(b.current), b.current = setTimeout(() => {
258
- A(!1), u(!1);
259
- }, D()));
258
+ if (!F) return null;
259
+ const x = le[n], A = t !== void 0 ? t : x.icon, T = r ? ce[r] : { role: x.role, live: l ?? x.live }, j = W.toArray(i).some(
260
+ (v) => H(v) && v.type === y
261
+ ), M = () => {
262
+ w || (N(!0), b.current && clearTimeout(b.current), b.current = setTimeout(() => {
263
+ N(!1), D(!1);
264
+ }, U()));
260
265
  };
261
- return /* @__PURE__ */ k(
266
+ return /* @__PURE__ */ I(
262
267
  "div",
263
268
  {
264
- ref: f,
265
- role: x.role,
266
- "aria-live": n ?? x.live,
269
+ ref: c,
270
+ role: T.role,
271
+ "aria-live": T.live,
267
272
  "data-component": "alert",
268
- "data-has-title": N ? "true" : "false",
273
+ "data-has-title": j ? "true" : "false",
269
274
  "data-state": w ? "closing" : "open",
270
275
  className: [
271
- re({ variant: a, className: r }),
276
+ ne({ variant: n, className: f }),
272
277
  // Entry: fade + slide-down on mount. Exit: fade + slide-up + slight
273
278
  // scale when dismissed. Driven by `tw-animate-css`. Respects
274
279
  // `prefers-reduced-motion` via `motion-safe:` and zeroes under the
@@ -282,19 +287,19 @@ const z = v(
282
287
  "ds:motion-safe:data-[state=closing]:fill-mode-forwards",
283
288
  "ds:motion-safe:duration-[var(--animation-duration)]"
284
289
  ].join(" "),
285
- ...l,
290
+ ...m,
286
291
  children: [
287
- T ? /* @__PURE__ */ e("span", { className: N ? ae : E, children: T }) : null,
288
- /* @__PURE__ */ e("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ e(C.Provider, { value: d, children: m }) }),
289
- i ? /* @__PURE__ */ e(
292
+ A ? /* @__PURE__ */ e("span", { className: j ? ie : L, children: A }) : null,
293
+ /* @__PURE__ */ e("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ e(_.Provider, { value: a, children: i }) }),
294
+ d ? /* @__PURE__ */ e(
290
295
  "button",
291
296
  {
292
297
  type: "button",
293
- "aria-label": c("common.close", "Close"),
294
- onClick: F,
298
+ "aria-label": g("common.close", "Close"),
299
+ onClick: M,
295
300
  "data-alert-dismiss": "",
296
- className: ne,
297
- children: /* @__PURE__ */ e(J, { "aria-hidden": "true", className: "ds:size-4" })
301
+ className: de,
302
+ children: /* @__PURE__ */ e(Q, { "aria-hidden": "true", className: "ds:size-4" })
298
303
  }
299
304
  ) : null
300
305
  ]
@@ -302,13 +307,13 @@ const z = v(
302
307
  );
303
308
  }
304
309
  );
305
- z.displayName = "Alert";
306
- const Ce = Object.assign(z, {
310
+ B.displayName = "Alert";
311
+ const Ne = Object.assign(B, {
307
312
  Title: y,
308
- Description: L,
309
- Action: V
313
+ Description: V,
314
+ Action: z
310
315
  });
311
316
  export {
312
- Ce as A
317
+ Ne as A
313
318
  };
314
- //# sourceMappingURL=alert-Cxaqd-QO.js.map
319
+ //# sourceMappingURL=alert-DS22ha1n.js.map
@@ -51,7 +51,9 @@ const p = t(
51
51
  neutral: "ds:[--marker-color:var(--muted-foreground)]",
52
52
  info: "ds:[--marker-color:var(--info)]",
53
53
  success: "ds:[--marker-color:var(--success)]",
54
- warning: "ds:[--marker-color:var(--warning)]",
54
+ // `--warning-readable`: the glyph is a thin non-text graphic (WCAG
55
+ // 1.4.11), and yellow-500 is ~1.6:1 on a light surface.
56
+ warning: "ds:[--marker-color:var(--warning-readable)]",
55
57
  error: "ds:[--marker-color:var(--destructive)]",
56
58
  accent: "ds:[--marker-color:var(--accent)]"
57
59
  },
@@ -81,12 +83,12 @@ const p = t(
81
83
  "aria-label": i,
82
84
  className: d,
83
85
  ...m
84
- }, $) => {
85
- const { t: l } = f(), u = i ?? (typeof r == "string" ? r : l(`annotationMarker.shape.${o}`));
86
+ }, l) => {
87
+ const { t: $ } = f(), u = i ?? (typeof r == "string" ? r : $(`annotationMarker.shape.${o}`));
86
88
  return /* @__PURE__ */ k(
87
89
  "span",
88
90
  {
89
- ref: $,
91
+ ref: l,
90
92
  "data-component": "annotation-marker",
91
93
  "data-marker-shape": o,
92
94
  "data-marker-tone": e,
@@ -117,4 +119,4 @@ export {
117
119
  b as M,
118
120
  v as m
119
121
  };
120
- //# sourceMappingURL=annotation-marker-qt5R9WZX.js.map
122
+ //# sourceMappingURL=annotation-marker-CsUJGZjQ.js.map
@@ -6,7 +6,7 @@ import { B as G } from "./button-CPGiR_bH.js";
6
6
  import { I as D } from "./icon-button-C_kbcd7I.js";
7
7
  import { S as pe } from "./select-BW5ecXlX.js";
8
8
  import { A as le } from "./audio-visualiser-l6zPd0AG.js";
9
- import { A as F } from "./alert-Cxaqd-QO.js";
9
+ import { A as F } from "./alert-DS22ha1n.js";
10
10
  import { u as me } from "./registry-DvAUVLHh.js";
11
11
  import { M as fe } from "./mic-CUklMZGF.js";
12
12
  import { c as J } from "./createLucideIcon-DhHxpK9K.js";
@@ -447,4 +447,4 @@ export {
447
447
  De as A,
448
448
  Re as a
449
449
  };
450
- //# sourceMappingURL=audio-recorder-BjnB7V8n.js.map
450
+ //# sourceMappingURL=audio-recorder-sRsGS-0V.js.map
@@ -3,7 +3,7 @@ import { forwardRef as ot, useId as rt, useState as K, useCallback as j, useRef
3
3
  import { c as Pe } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as O, Trans as Pt } from "react-i18next";
5
5
  import { u as Ot } from "./registry-DvAUVLHh.js";
6
- import { A as z } from "./alert-Cxaqd-QO.js";
6
+ import { A as z } from "./alert-DS22ha1n.js";
7
7
  import { B as ie } from "./button-CPGiR_bH.js";
8
8
  import { C as Ke } from "./checkbox-BuZ1u__2.js";
9
9
  import { C as Bt } from "./checkbox-group-CfqMv57d.js";
@@ -2692,4 +2692,4 @@ export {
2692
2692
  X as O,
2693
2693
  Cs as b
2694
2694
  };
2695
- //# sourceMappingURL=booking-DSOK-bnR.js.map
2695
+ //# sourceMappingURL=booking-D8fCzcUd.js.map
@@ -7,7 +7,7 @@ import { P as A } from "./progress-DA413-zn.js";
7
7
  import { T as C } from "./timestamp-BV2lC-wV.js";
8
8
  import { T as L } from "./transaction-chip-DJCstquX.js";
9
9
  import { A as O, b as G, c as Y, a as $ } from "./accordion-C11v9ouP.js";
10
- import { C as q } from "./care-plan-entry-card-DWEdCQM3.js";
10
+ import { C as q } from "./care-plan-entry-card-BVhpvd-P.js";
11
11
  import { u as J } from "./registry-DvAUVLHh.js";
12
12
  import { C as Q, e as W } from "./entity-card-9_62gY7l.js";
13
13
  import { i as X } from "./is-safe-url-DkETxeHz.js";
@@ -253,4 +253,4 @@ export {
253
253
  de as C,
254
254
  Z as c
255
255
  };
256
- //# sourceMappingURL=care-plan-card-BrwhyIJI.js.map
256
+ //# sourceMappingURL=care-plan-card-DjjVnBYz.js.map
@@ -7,7 +7,7 @@ import { T as q } from "./tag-3wgkwwDB.js";
7
7
  import { T as b } from "./timestamp-BV2lC-wV.js";
8
8
  import { T as G } from "./transaction-chip-DJCstquX.js";
9
9
  import { T as J } from "./tooth-scheme-BzJ6rcte.js";
10
- import { C as Q, b as X, a as Z } from "./collapsible-BrnRiCC6.js";
10
+ import { C as Q, b as X, a as Z } from "./collapsible-CGL9ontS.js";
11
11
  import { u as ee } from "./registry-DvAUVLHh.js";
12
12
  import { C as ae } from "./chevron-down-DWE7GSq9.js";
13
13
  import { e as te } from "./entity-card-9_62gY7l.js";
@@ -319,4 +319,4 @@ export {
319
319
  le as C,
320
320
  re as c
321
321
  };
322
- //# sourceMappingURL=care-plan-entry-card-DWEdCQM3.js.map
322
+ //# sourceMappingURL=care-plan-entry-card-BVhpvd-P.js.map
@@ -1,10 +1,10 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { forwardRef as p, useRef as f, useMemo as C, useEffect as v } from "react";
3
- import * as b from "@radix-ui/react-collapsible";
4
- import { a as h, c as y } from "./index-D2ZczOXr.js";
5
- import { u as k } from "./use-controllable-state-BiY4xTzM.js";
6
- import { u as x } from "./registry-DvAUVLHh.js";
7
- const O = {
1
+ import { jsx as p } from "react/jsx-runtime";
2
+ import { forwardRef as b, useRef as f, useMemo as v } from "react";
3
+ import * as u from "@radix-ui/react-collapsible";
4
+ import { a as C, c as h } from "./index-D2ZczOXr.js";
5
+ import { u as y } from "./use-controllable-state-BiY4xTzM.js";
6
+ import { u as k } from "./registry-DvAUVLHh.js";
7
+ const x = {
8
8
  id: "collapsible",
9
9
  capabilities: ["expand"],
10
10
  state: {
@@ -56,7 +56,7 @@ const O = {
56
56
  description: "Sourced from the id prop."
57
57
  }
58
58
  }
59
- }, R = y("", {
59
+ }, O = h("", {
60
60
  variants: {
61
61
  variant: {
62
62
  default: "",
@@ -67,7 +67,7 @@ const O = {
67
67
  defaultVariants: {
68
68
  variant: "default"
69
69
  }
70
- }), w = [
70
+ }), R = [
71
71
  "ds:overflow-hidden",
72
72
  "ds:transition-[block-size]",
73
73
  "ds:duration-[var(--animation-duration)]",
@@ -75,74 +75,78 @@ const O = {
75
75
  "ds:motion-reduce:transition-none",
76
76
  "ds:data-[state=open]:[block-size:var(--radix-collapsible-content-height)]",
77
77
  "ds:data-[state=closed]:[block-size:0]"
78
- ].join(" "), N = p(
78
+ ].join(" "), w = b(
79
79
  ({
80
80
  variant: e,
81
81
  className: a,
82
- children: o,
83
- open: t,
84
- defaultOpen: s,
85
- onOpenChange: l,
86
- ...i
87
- }, u) => {
88
- const [m, n] = k({
89
- value: t,
90
- defaultValue: !!s,
91
- onChange: l
92
- }), r = m ?? !1, d = f(r);
93
- d.current = r;
94
- const g = C(
82
+ children: t,
83
+ open: o,
84
+ defaultOpen: l,
85
+ onOpenChange: i,
86
+ ...n
87
+ }, r) => {
88
+ const [m, s] = y({
89
+ value: o,
90
+ defaultValue: !!l,
91
+ onChange: i
92
+ }), d = m ?? !1, c = f(d);
93
+ c.current = d;
94
+ const g = v(
95
95
  () => ({
96
- isOpen: () => d.current,
97
- toggle: () => n(!d.current),
98
- open: () => n(!0),
99
- close: () => n(!1)
96
+ isOpen: () => c.current,
97
+ toggle: () => s(!c.current),
98
+ open: () => s(!0),
99
+ close: () => s(!1)
100
100
  }),
101
- [n]
101
+ [s]
102
102
  );
103
- return x(O, g, i.id), /* @__PURE__ */ c(
104
- b.Root,
103
+ return k(x, g, n.id), /* @__PURE__ */ p(
104
+ u.Root,
105
105
  {
106
- ref: u,
107
- open: r,
108
- onOpenChange: n,
109
- className: R({ variant: e, className: a }),
106
+ ref: r,
107
+ open: d,
108
+ onOpenChange: s,
109
+ className: O({ variant: e, className: a }),
110
110
  "data-component": "collapsible",
111
- "data-component-id": i.id,
112
- ...i,
113
- children: o
111
+ "data-component-id": n.id,
112
+ ...n,
113
+ children: t
114
114
  }
115
115
  );
116
116
  }
117
117
  );
118
- N.displayName = "Collapsible";
119
- const T = p(({ asChild: e = !1, children: a, ...o }, t) => /* @__PURE__ */ c(b.Trigger, { ref: t, asChild: e, ...o, children: a }));
120
- T.displayName = "CollapsibleTrigger";
121
- const K = p(
118
+ w.displayName = "Collapsible";
119
+ const N = b(({ asChild: e = !1, children: a, ...t }, o) => /* @__PURE__ */ p(u.Trigger, { ref: o, asChild: e, ...t, children: a }));
120
+ N.displayName = "CollapsibleTrigger";
121
+ const T = b(
122
122
  ({
123
123
  className: e,
124
124
  children: a,
125
+ role: t,
125
126
  "aria-labelledby": o,
126
- "aria-label": t,
127
- ...s
128
- }, l) => (v(() => {
129
- }, []), /* @__PURE__ */ c(
130
- b.Content,
131
- {
132
- ref: l,
133
- "aria-labelledby": o,
134
- "aria-label": t,
135
- className: h(w, e),
136
- ...s,
137
- children: a
138
- }
139
- ))
127
+ "aria-label": l,
128
+ ...i
129
+ }, n) => {
130
+ const r = !!(o || l);
131
+ return /* @__PURE__ */ p(
132
+ u.Content,
133
+ {
134
+ ref: n,
135
+ role: t ?? (r ? "group" : void 0),
136
+ "aria-labelledby": o,
137
+ "aria-label": l,
138
+ className: C(R, e),
139
+ ...i,
140
+ children: a
141
+ }
142
+ );
143
+ }
140
144
  );
141
- K.displayName = "CollapsibleContent";
145
+ T.displayName = "CollapsibleContent";
142
146
  export {
143
- N as C,
144
- K as a,
145
- T as b,
146
- O as c
147
+ w as C,
148
+ T as a,
149
+ N as b,
150
+ x as c
147
151
  };
148
- //# sourceMappingURL=collapsible-BrnRiCC6.js.map
152
+ //# sourceMappingURL=collapsible-CGL9ontS.js.map
@@ -6,7 +6,7 @@ import { B as b } from "./badge-DCOqV9mI.js";
6
6
  import { C as B } from "./card-DPmk26CL.js";
7
7
  import { E as G } from "./empty-state-CrLsi0XI.js";
8
8
  import { P as Y } from "./panel-header-D313n_9-.js";
9
- import { P as J } from "./pdf-viewer-CcOuR2wj.js";
9
+ import { P as J } from "./pdf-viewer-DHg8SfUI.js";
10
10
  import { T as O, b as Q, c as X, a as Z } from "./tabs-CBb2AidH.js";
11
11
  import { u as ee } from "./registry-DvAUVLHh.js";
12
12
  import { F as ie, a as te } from "./file-Cwe9VC1A.js";
@@ -287,4 +287,4 @@ export {
287
287
  ue as D,
288
288
  de as d
289
289
  };
290
- //# sourceMappingURL=document-preview-DXsCEj4U.js.map
290
+ //# sourceMappingURL=document-preview-DAczwybt.js.map
@@ -3,7 +3,7 @@ import { forwardRef as Fe, useId as Me, useRef as m, useState as W, useEffect as
3
3
  import { c as k } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as Ye } from "react-i18next";
5
5
  import { B as K } from "./button-CPGiR_bH.js";
6
- import { A as ae } from "./alert-Cxaqd-QO.js";
6
+ import { A as ae } from "./alert-DS22ha1n.js";
7
7
  import { L as he, F as Xe } from "./file-upload-CwxdqkMK.js";
8
8
  import { u as Ze } from "./use-controllable-state-BiY4xTzM.js";
9
9
  import { u as $e } from "./registry-DvAUVLHh.js";
@@ -676,4 +676,4 @@ export {
676
676
  or as D,
677
677
  Qe as d
678
678
  };
679
- //# sourceMappingURL=document-scanner-cS_ispQs.js.map
679
+ //# sourceMappingURL=document-scanner-BRYIc3A-.js.map