@alfadocs/ui-kit 0.69.0 → 0.70.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 (261) hide show
  1. package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
  3. package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
  4. package/dist/_chunks/ai-tools-rail-B5NEghsp.js +511 -0
  5. package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
  6. package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
  7. package/dist/_chunks/anatomy-scheme-CJB6dI6p.js +2445 -0
  8. package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
  9. package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
  10. package/dist/_chunks/appointment-card-C06aZqA7.js +310 -0
  11. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js +386 -0
  12. package/dist/_chunks/appointment-tray-DRRw5ROi.js +193 -0
  13. package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-Cpdk5qpQ.js} +2 -2
  14. package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
  15. package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-DnYWtZa_.js} +2 -2
  16. package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
  17. package/dist/_chunks/{booking-C3VqFReX.js → booking-DUBI0oqt.js} +4 -4
  18. package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-C5sTfY9G.js} +5 -5
  19. package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CXnxGCWA.js} +5 -5
  20. package/dist/_chunks/care-plan-header-BUwqDTtz.js +206 -0
  21. package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
  22. package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
  23. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +229 -0
  24. package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
  25. package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
  26. package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
  27. package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
  28. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +328 -0
  29. package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
  30. package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-9_62gY7l.js} +38 -20
  31. package/dist/_chunks/entity-summary-BxRjFh_4.js +138 -0
  32. package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
  33. package/dist/_chunks/field-value-NXYczdpO.js +415 -0
  34. package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
  35. package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
  36. package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-CF2ISaYQ.js} +3 -3
  37. package/dist/_chunks/hash-CysBBS_N.js +17 -0
  38. package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
  39. package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-CTXqtXV-.js} +715 -592
  40. package/dist/_chunks/lock-CKOIn0IK.js +15 -0
  41. package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-Skhfp6vK.js} +3 -3
  42. package/dist/_chunks/notes-panel-ay8_lPrA.js +158 -0
  43. package/dist/_chunks/{notification-card-BiESdm8q.js → notification-card-D2jiKSJJ.js} +27 -23
  44. package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-AEun6DN2.js} +2 -2
  45. package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-CR0Rqh4-.js} +3 -3
  46. package/dist/_chunks/patient-details-Dlhqb5ig.js +675 -0
  47. package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-Be6cLrHR.js} +2 -2
  48. package/dist/_chunks/patient-summary-card-WySCMwwA.js +437 -0
  49. package/dist/_chunks/patient-table-CHxf3Oqk.js +1110 -0
  50. package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
  51. package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-BcZJwu9z.js} +125 -136
  52. package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
  53. package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
  54. package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-C6qDfxos.js} +3 -3
  55. package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CRVWswD-.js} +3 -3
  56. package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
  57. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +558 -0
  58. package/dist/_chunks/{rich-text-editor-BsV7zUdg.js → rich-text-editor-DlCqPixb.js} +410 -394
  59. package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
  60. package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
  61. package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
  62. package/dist/_chunks/tooth-scheme-BhQoPNBD.js +2131 -0
  63. package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
  64. package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
  65. package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
  66. package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
  67. package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
  68. package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-Dy8mLCqF.js} +3 -3
  69. package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
  70. package/dist/agent/index.js +5 -4
  71. package/dist/agent/types.d.ts +19 -2
  72. package/dist/agent-catalog.json +1253 -86
  73. package/dist/agent-i18n/en.json +108 -6
  74. package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
  75. package/dist/components/_shared/entity-card/index.d.ts +1 -1
  76. package/dist/components/_shared/field-value.d.ts +21 -0
  77. package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
  78. package/dist/components/_shared/field-visibility.d.ts +36 -0
  79. package/dist/components/_shared/patient-fields.d.ts +119 -0
  80. package/dist/components/agenda-card/index.js +1 -1
  81. package/dist/components/agenda-tray/index.js +1 -1
  82. package/dist/components/ai-consent-banner/index.js +1 -1
  83. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +75 -0
  84. package/dist/components/ai-tools-rail/index.js +1 -1
  85. package/dist/components/alert/alert.d.ts +5 -0
  86. package/dist/components/alert/index.js +1 -1
  87. package/dist/components/anamnesis-card/index.js +1 -1
  88. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
  89. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
  90. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
  91. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
  92. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
  93. package/dist/components/anatomy-scheme/index.d.ts +6 -0
  94. package/dist/components/anatomy-scheme/index.js +17 -0
  95. package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
  96. package/dist/components/annotation-marker/index.d.ts +3 -0
  97. package/dist/components/annotation-marker/index.js +7 -0
  98. package/dist/components/appointment-card/appointment-card.d.ts +25 -1
  99. package/dist/components/appointment-card/index.js +6 -5
  100. package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
  101. package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
  102. package/dist/components/appointment-timeline/index.d.ts +4 -0
  103. package/dist/components/appointment-timeline/index.js +6 -0
  104. package/dist/components/audio-recorder/index.js +1 -1
  105. package/dist/components/badge/badge.d.ts +6 -2
  106. package/dist/components/badge/index.js +1 -1
  107. package/dist/components/bishop-score/index.js +1 -1
  108. package/dist/components/bmi-calculator/index.js +1 -1
  109. package/dist/components/booking/index.js +1 -1
  110. package/dist/components/care-plan-card/index.js +1 -1
  111. package/dist/components/care-plan-entry-card/index.js +1 -1
  112. package/dist/components/care-plan-header/care-plan-header.agent.d.ts +4 -0
  113. package/dist/components/care-plan-header/care-plan-header.d.ts +100 -0
  114. package/dist/components/care-plan-header/index.d.ts +4 -0
  115. package/dist/components/care-plan-header/index.js +6 -0
  116. package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
  117. package/dist/components/clinical-note-card/index.js +1 -1
  118. package/dist/components/contact-profile-card/index.js +1 -1
  119. package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
  120. package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
  121. package/dist/components/control-room-rail/index.d.ts +5 -0
  122. package/dist/components/control-room-rail/index.js +9 -0
  123. package/dist/components/cycle-calculator/index.js +1 -1
  124. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
  125. package/dist/components/data-table/index.d.ts +1 -1
  126. package/dist/components/data-table/index.js +32 -31
  127. package/dist/components/dependent-selector/index.js +1 -1
  128. package/dist/components/document-scanner/index.js +1 -1
  129. package/dist/components/due-date-calculator/index.js +2 -2
  130. package/dist/components/email-input/index.js +1 -1
  131. package/dist/components/entity-summary/entity-summary.d.ts +43 -0
  132. package/dist/components/entity-summary/index.d.ts +3 -0
  133. package/dist/components/entity-summary/index.js +5 -0
  134. package/dist/components/fetal-weight/index.js +1 -1
  135. package/dist/components/file-upload/index.js +1 -1
  136. package/dist/components/freemium-paywall/index.js +1 -1
  137. package/dist/components/gestational-age-calculator/index.js +1 -1
  138. package/dist/components/hcg-doubling/index.js +1 -1
  139. package/dist/components/index.d.ts +9 -0
  140. package/dist/components/notes-panel/index.d.ts +3 -0
  141. package/dist/components/notes-panel/index.js +5 -0
  142. package/dist/components/notes-panel/notes-panel.d.ts +64 -0
  143. package/dist/components/notification-card/index.js +1 -1
  144. package/dist/components/notification-tray/index.js +1 -1
  145. package/dist/components/operator-hero/index.js +1 -1
  146. package/dist/components/patient-details/index.d.ts +5 -0
  147. package/dist/components/patient-details/index.js +6 -0
  148. package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
  149. package/dist/components/patient-details/patient-details.d.ts +96 -0
  150. package/dist/components/patient-search/index.js +1 -1
  151. package/dist/components/patient-summary-card/index.js +1 -1
  152. package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
  153. package/dist/components/patient-table/columns.d.ts +69 -40
  154. package/dist/components/patient-table/index.d.ts +2 -6
  155. package/dist/components/patient-table/index.js +8 -9
  156. package/dist/components/patient-table/patient-table.d.ts +38 -4
  157. package/dist/components/patient-table/types.d.ts +52 -2
  158. package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
  159. package/dist/components/payment-card/index.js +1 -1
  160. package/dist/components/payment-form/index.js +1 -1
  161. package/dist/components/pdf-viewer/index.js +1 -1
  162. package/dist/components/periodontal-chart-card/index.js +1 -1
  163. package/dist/components/practice-results/index.js +1 -1
  164. package/dist/components/pregnancy-dating/index.js +1 -1
  165. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  166. package/dist/components/radiograph-panel/index.d.ts +4 -0
  167. package/dist/components/radiograph-panel/index.js +7 -0
  168. package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
  169. package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
  170. package/dist/components/rich-text-editor/index.js +1 -1
  171. package/dist/components/sidebar/index.js +1 -1
  172. package/dist/components/sign-document/index.js +1 -1
  173. package/dist/components/stepper-accordion/index.js +1 -1
  174. package/dist/components/tab-bar/index.js +1 -1
  175. package/dist/components/tab-bar/tab-bar.d.ts +18 -1
  176. package/dist/components/tooth-scheme/index.d.ts +2 -2
  177. package/dist/components/tooth-scheme/index.js +30 -23
  178. package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
  179. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
  180. package/dist/components/tooth-scheme/tooth-scheme.d.ts +75 -11
  181. package/dist/components/transaction-chip/index.js +1 -1
  182. package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
  183. package/dist/components/warning-stack/index.js +1 -1
  184. package/dist/components/warning-stack/warning-stack.d.ts +10 -7
  185. package/dist/components/workflow/index.js +1 -1
  186. package/dist/hooks/index.d.ts +1 -0
  187. package/dist/hooks/index.js +24 -22
  188. package/dist/hooks/use-clamp-overflow.d.ts +19 -0
  189. package/dist/hooks/use-overflow-collapse.d.ts +46 -0
  190. package/dist/hooks/use-persistent-state.d.ts +7 -1
  191. package/dist/hooks/use-scroll-overflow.d.ts +36 -0
  192. package/dist/i18n/locales/ar.d.ts +308 -24
  193. package/dist/i18n/locales/ar.js +322 -27
  194. package/dist/i18n/locales/de.d.ts +308 -24
  195. package/dist/i18n/locales/de.js +322 -27
  196. package/dist/i18n/locales/el.d.ts +308 -24
  197. package/dist/i18n/locales/el.js +322 -27
  198. package/dist/i18n/locales/en.d.ts +309 -32
  199. package/dist/i18n/locales/en.js +323 -35
  200. package/dist/i18n/locales/es.d.ts +308 -24
  201. package/dist/i18n/locales/es.js +322 -27
  202. package/dist/i18n/locales/fr.d.ts +308 -24
  203. package/dist/i18n/locales/fr.js +322 -27
  204. package/dist/i18n/locales/hi.d.ts +308 -24
  205. package/dist/i18n/locales/hi.js +322 -27
  206. package/dist/i18n/locales/it.d.ts +308 -24
  207. package/dist/i18n/locales/it.js +322 -27
  208. package/dist/i18n/locales/ja.d.ts +308 -24
  209. package/dist/i18n/locales/ja.js +322 -27
  210. package/dist/i18n/locales/nl.d.ts +308 -24
  211. package/dist/i18n/locales/nl.js +322 -27
  212. package/dist/i18n/locales/pl.d.ts +308 -24
  213. package/dist/i18n/locales/pl.js +322 -27
  214. package/dist/i18n/locales/pt.d.ts +308 -24
  215. package/dist/i18n/locales/pt.js +322 -27
  216. package/dist/i18n/locales/ro.d.ts +308 -24
  217. package/dist/i18n/locales/ro.js +322 -27
  218. package/dist/i18n/locales/ru.d.ts +308 -24
  219. package/dist/i18n/locales/ru.js +322 -27
  220. package/dist/i18n/locales/sq.d.ts +308 -24
  221. package/dist/i18n/locales/sq.js +322 -27
  222. package/dist/i18n/locales/sv.d.ts +308 -24
  223. package/dist/i18n/locales/sv.js +322 -27
  224. package/dist/i18n/locales/tr.d.ts +308 -24
  225. package/dist/i18n/locales/tr.js +322 -27
  226. package/dist/i18n/locales/zh.d.ts +308 -24
  227. package/dist/i18n/locales/zh.js +322 -27
  228. package/dist/index.js +672 -623
  229. package/dist/locales/ar.json +311 -27
  230. package/dist/locales/de.json +311 -27
  231. package/dist/locales/el.json +311 -27
  232. package/dist/locales/en.json +311 -27
  233. package/dist/locales/es.json +311 -27
  234. package/dist/locales/fr.json +311 -27
  235. package/dist/locales/hi.json +311 -27
  236. package/dist/locales/it.json +311 -27
  237. package/dist/locales/ja.json +311 -27
  238. package/dist/locales/nl.json +311 -27
  239. package/dist/locales/pl.json +311 -27
  240. package/dist/locales/pt.json +311 -27
  241. package/dist/locales/ro.json +311 -27
  242. package/dist/locales/ru.json +311 -27
  243. package/dist/locales/sq.json +311 -27
  244. package/dist/locales/sv.json +311 -27
  245. package/dist/locales/tr.json +311 -27
  246. package/dist/locales/zh.json +311 -27
  247. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  248. package/dist/tokens.css +1 -1
  249. package/package.json +37 -1
  250. package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
  251. package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
  252. package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
  253. package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
  254. package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
  255. package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
  256. package/dist/_chunks/patient-table-CDuosVru.js +0 -889
  257. package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
  258. package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
  259. package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
  260. package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +0 -45
  261. package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
@@ -1,25 +1,40 @@
1
- import { jsxs as V, jsx as t } from "react/jsx-runtime";
2
- import { forwardRef as a, useState as E, useRef as R, useCallback as z, Children as B, isValidElement as D } from "react";
3
- import { c as L } from "./index-D2ZczOXr.js";
4
- import { useTranslation as F } from "react-i18next";
5
- import { u as M } from "./use-controllable-state-BiY4xTzM.js";
6
- import { X as U } from "./x-CCcI3eJp.js";
7
- import { c as W } from "./createLucideIcon-CrFbzy84.js";
8
- import { C as X } from "./circle-x-Du2CmjaU.js";
9
- import { T as G } from "./triangle-alert-CBPUIzQo.js";
10
- import { C as H } from "./circle-check-9AeSgJD_.js";
11
- import { I as P } from "./info-B9XNKn05.js";
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 X, createContext as G } from "react";
3
+ import { c as H } 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-CCcI3eJp.js";
9
+ import { c as K } from "./createLucideIcon-CrFbzy84.js";
10
+ import { C as Q } from "./circle-x-Du2CmjaU.js";
11
+ import { T as Y } from "./triangle-alert-CBPUIzQo.js";
12
+ import { C as Z } from "./circle-check-9AeSgJD_.js";
13
+ import { I as ee } from "./info-B9XNKn05.js";
12
14
  /**
13
15
  * @license lucide-react v1.8.0 - ISC
14
16
  *
15
17
  * This source code is licensed under the ISC license.
16
18
  * See the LICENSE file in the root directory of this source tree.
17
19
  */
18
- const $ = [
20
+ const te = [
19
21
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
20
22
  ["path", { d: "m16 12-4-4-4 4", key: "177agl" }],
21
23
  ["path", { d: "M12 16V8", key: "1sbj14" }]
22
- ], q = W("circle-arrow-up", $), J = L(
24
+ ], se = K("circle-arrow-up", te), C = G(!1), oe = [
25
+ // Full-opacity `text-current` so it matches the body text's contrast (an
26
+ // `opacity` dim would drop the variant-tinted text below AA). Underline
27
+ // carries the affordance instead. No `--min-target-size` floor: this is an
28
+ // inline text disclosure sitting in the flow of the body copy, which is
29
+ // exempt from WCAG 2.5.8 target-size the same way an inline link is.
30
+ "ds:mt-[var(--spacing-2xs)] ds:inline-flex ds:items-center ds:self-start",
31
+ "ds:text-[length:var(--font-size-xs)] ds:font-semibold",
32
+ "ds:underline ds:underline-offset-2 ds:text-current ds:hover:no-underline",
33
+ "ds:rounded-[var(--radius-sm)]",
34
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
35
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
36
+ "ds:forced-colors:focus-visible:outline-[CanvasText]"
37
+ ].join(" "), re = H(
23
38
  [
24
39
  // Default `items-center` keeps the icon + dismiss optically aligned
25
40
  // with a single-line description. The `data-[has-title=true]`
@@ -89,7 +104,7 @@ const $ = [
89
104
  variant: "info"
90
105
  }
91
106
  }
92
- ), h = "ds:shrink-0 ds:size-5", K = `${h} ds:mt-0.5`, Q = [
107
+ ), E = "ds:shrink-0 ds:size-5", ae = `${E} ds:mt-0.5`, ne = [
93
108
  // Default (no title): the alert root uses `items-center` and the
94
109
  // button centres in the cross-axis. A centred 16×16 glyph inside a
95
110
  // 44×44 button aligns optically with a single-line description.
@@ -113,108 +128,147 @@ const $ = [
113
128
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
114
129
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
115
130
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
116
- ].join(" "), Y = {
117
- info: { icon: /* @__PURE__ */ t(P, { "aria-hidden": "true" }), role: "status", live: "polite" },
131
+ ].join(" "), ie = {
132
+ info: { icon: /* @__PURE__ */ e(ee, { "aria-hidden": "true" }), role: "status", live: "polite" },
118
133
  success: {
119
- icon: /* @__PURE__ */ t(H, { "aria-hidden": "true" }),
134
+ icon: /* @__PURE__ */ e(Z, { "aria-hidden": "true" }),
120
135
  role: "status",
121
136
  live: "polite"
122
137
  },
123
138
  warning: {
124
- icon: /* @__PURE__ */ t(G, { "aria-hidden": "true" }),
139
+ icon: /* @__PURE__ */ e(Y, { "aria-hidden": "true" }),
125
140
  role: "alert",
126
141
  live: "assertive"
127
142
  },
128
143
  error: {
129
- icon: /* @__PURE__ */ t(X, { "aria-hidden": "true" }),
144
+ icon: /* @__PURE__ */ e(Q, { "aria-hidden": "true" }),
130
145
  role: "alert",
131
146
  live: "assertive"
132
147
  },
133
148
  // Promotions never interrupt — same polite semantics as info.
134
149
  promo: {
135
- icon: /* @__PURE__ */ t(q, { "aria-hidden": "true" }),
150
+ icon: /* @__PURE__ */ e(se, { "aria-hidden": "true" }),
136
151
  role: "status",
137
152
  live: "polite"
138
153
  }
139
- }, c = a(
140
- ({ as: e = "h5", className: o, ...r }, n) => /* @__PURE__ */ t(
141
- e,
142
- {
143
- ref: n,
144
- className: ["type-title-item", o].filter(Boolean).join(" "),
145
- ...r
146
- }
147
- )
148
- );
149
- c.displayName = "Alert.Title";
150
- const _ = a(({ className: e, ...o }, r) => /* @__PURE__ */ t(
151
- "p",
152
- {
153
- ref: r,
154
- className: [
155
- "ds:[[data-has-title=true]_&]:mt-[var(--spacing-xs)] type-body-sm",
156
- e
157
- ].filter(Boolean).join(" "),
158
- ...o
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 = _(
157
+ (c) => {
158
+ d.current = c, typeof t == "function" ? t(c) : t && (t.current = c);
159
+ },
160
+ [t, d]
161
+ ), l = n && r && typeof s == "string", f = /* @__PURE__ */ e(
162
+ a,
163
+ {
164
+ ref: m,
165
+ tabIndex: l ? 0 : void 0,
166
+ className: [
167
+ "type-title-item",
168
+ n ? "ds:line-clamp-2" : "",
169
+ i
170
+ ].filter(Boolean).join(" "),
171
+ ...o,
172
+ children: s
173
+ }
174
+ );
175
+ return l ? /* @__PURE__ */ e(q, { label: s, children: f }) : f;
159
176
  }
160
- ));
161
- _.displayName = "Alert.Description";
162
- const x = a(
163
- ({ className: e, ...o }, r) => /* @__PURE__ */ t(
177
+ );
178
+ y.displayName = "Alert.Title";
179
+ const L = v(({ className: a, children: i, ...s }, o) => {
180
+ const t = O(C), { t: n } = R(), d = X(), [r, m] = I(!1), { ref: l, isOverflowing: f } = S(t && !r), c = _(
181
+ (u) => {
182
+ l.current = u, typeof o == "function" ? o(u) : o && (o.current = u);
183
+ },
184
+ [o, l]
185
+ ), g = t && (f || r);
186
+ return /* @__PURE__ */ k(U, { children: [
187
+ /* @__PURE__ */ e(
188
+ "p",
189
+ {
190
+ ref: c,
191
+ id: t ? d : void 0,
192
+ className: [
193
+ "ds:[[data-has-title=true]_&]:mt-[var(--spacing-xs)] type-body-sm",
194
+ t && !r ? "ds:line-clamp-2" : "",
195
+ a
196
+ ].filter(Boolean).join(" "),
197
+ ...s,
198
+ children: i
199
+ }
200
+ ),
201
+ g ? /* @__PURE__ */ e(
202
+ "button",
203
+ {
204
+ 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")
210
+ }
211
+ ) : null
212
+ ] });
213
+ });
214
+ L.displayName = "Alert.Description";
215
+ const V = v(
216
+ ({ className: a, ...i }, s) => /* @__PURE__ */ e(
164
217
  "div",
165
218
  {
166
- ref: r,
219
+ ref: s,
167
220
  className: [
168
221
  "ds:mt-[var(--spacing-sm)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]",
169
- e
222
+ a
170
223
  ].filter(Boolean).join(" "),
171
- ...o
224
+ ...i
172
225
  }
173
226
  )
174
227
  );
175
- x.displayName = "Alert.Action";
176
- const w = a(
228
+ V.displayName = "Alert.Action";
229
+ const z = v(
177
230
  ({
178
- variant: e = "info",
179
- dismissible: o = !1,
180
- open: r,
181
- onOpenChange: n,
182
- icon: m,
183
- live: y,
184
- className: C,
185
- children: u,
186
- ...A
187
- }, N) => {
188
- const { t: T } = F(), [j, k] = M({
189
- value: r,
231
+ variant: a = "info",
232
+ dismissible: i = !1,
233
+ open: s,
234
+ onOpenChange: o,
235
+ 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] = $({
243
+ value: s,
190
244
  defaultValue: !0,
191
- onChange: n
192
- }), I = j ?? !0, [f, g] = E(!1), i = R(null), O = z(() => {
245
+ onChange: o
246
+ }), B = g ?? !0, [w, T] = I(!1), b = M(null), D = _(() => {
193
247
  if (typeof window > "u") return 200;
194
- const s = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
195
- if (!s) return 200;
196
- const b = s.trim(), l = parseFloat(b);
197
- return Number.isFinite(l) ? b.endsWith("ms") ? l : l * 1e3 : 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;
198
252
  }, []);
199
- if (!I) return null;
200
- const d = Y[e], p = m !== void 0 ? m : d.icon, v = B.toArray(u).some(
201
- (s) => D(s) && s.type === c
202
- ), S = () => {
203
- f || (g(!0), i.current && clearTimeout(i.current), i.current = setTimeout(() => {
204
- g(!1), k(!1);
205
- }, O()));
253
+ if (!B) return null;
254
+ const x = ie[a], A = t !== void 0 ? t : x.icon, N = P.toArray(m).some(
255
+ (p) => W(p) && p.type === y
256
+ ), F = () => {
257
+ w || (T(!0), b.current && clearTimeout(b.current), b.current = setTimeout(() => {
258
+ T(!1), u(!1);
259
+ }, D()));
206
260
  };
207
- return /* @__PURE__ */ V(
261
+ return /* @__PURE__ */ k(
208
262
  "div",
209
263
  {
210
- ref: N,
211
- role: d.role,
212
- "aria-live": y ?? d.live,
264
+ ref: f,
265
+ role: x.role,
266
+ "aria-live": n ?? x.live,
213
267
  "data-component": "alert",
214
- "data-has-title": v ? "true" : "false",
215
- "data-state": f ? "closing" : "open",
268
+ "data-has-title": N ? "true" : "false",
269
+ "data-state": w ? "closing" : "open",
216
270
  className: [
217
- J({ variant: e, className: C }),
271
+ re({ variant: a, className: r }),
218
272
  // Entry: fade + slide-down on mount. Exit: fade + slide-up + slight
219
273
  // scale when dismissed. Driven by `tw-animate-css`. Respects
220
274
  // `prefers-reduced-motion` via `motion-safe:` and zeroes under the
@@ -228,19 +282,19 @@ const w = a(
228
282
  "ds:motion-safe:data-[state=closing]:fill-mode-forwards",
229
283
  "ds:motion-safe:duration-[var(--animation-duration)]"
230
284
  ].join(" "),
231
- ...A,
285
+ ...l,
232
286
  children: [
233
- p ? /* @__PURE__ */ t("span", { className: v ? K : h, children: p }) : null,
234
- /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: u }),
235
- o ? /* @__PURE__ */ t(
287
+ A ? /* @__PURE__ */ e("span", { className: N ? ae : E, children: A }) : 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(
236
290
  "button",
237
291
  {
238
292
  type: "button",
239
- "aria-label": T("common.close", "Close"),
240
- onClick: S,
293
+ "aria-label": c("common.close", "Close"),
294
+ onClick: F,
241
295
  "data-alert-dismiss": "",
242
- className: Q,
243
- children: /* @__PURE__ */ t(U, { "aria-hidden": "true", className: "ds:size-4" })
296
+ className: ne,
297
+ children: /* @__PURE__ */ e(J, { "aria-hidden": "true", className: "ds:size-4" })
244
298
  }
245
299
  ) : null
246
300
  ]
@@ -248,13 +302,13 @@ const w = a(
248
302
  );
249
303
  }
250
304
  );
251
- w.displayName = "Alert";
252
- const ct = Object.assign(w, {
253
- Title: c,
254
- Description: _,
255
- Action: x
305
+ z.displayName = "Alert";
306
+ const Ce = Object.assign(z, {
307
+ Title: y,
308
+ Description: L,
309
+ Action: V
256
310
  });
257
311
  export {
258
- ct as A
312
+ Ce as A
259
313
  };
260
- //# sourceMappingURL=alert-_mUKLmwA.js.map
314
+ //# sourceMappingURL=alert-CHYZ96tR.js.map
@@ -2,7 +2,7 @@ import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import { forwardRef as M, useId as C, useMemo as R } from "react";
3
3
  import { c as q } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as z } from "react-i18next";
5
- import { B as n } from "./badge-CqGsX32l.js";
5
+ import { B as n } from "./badge-DCOqV9mI.js";
6
6
  import { C as N } from "./card-DPmk26CL.js";
7
7
  import { A as G, b as O, c as Q, a as S } from "./accordion-DnIa7OHX.js";
8
8
  import { D as t } from "./description-list-gkNGWk5G.js";
@@ -153,4 +153,4 @@ J.displayName = "AnamnesisCard";
153
153
  export {
154
154
  J as A
155
155
  };
156
- //# sourceMappingURL=anamnesis-card-DRmE24OQ.js.map
156
+ //# sourceMappingURL=anamnesis-card-DvYCa16e.js.map