@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
@@ -0,0 +1,120 @@
1
+ import { jsxs as k, jsx as n } from "react/jsx-runtime";
2
+ import { forwardRef as c } from "react";
3
+ import { c as t } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as f } from "react-i18next";
5
+ const b = [
6
+ "circle",
7
+ "square",
8
+ "triangle",
9
+ "diamond",
10
+ "cross"
11
+ ];
12
+ function v(o, e, s, a) {
13
+ switch (o) {
14
+ case "circle":
15
+ return `M ${e - a} ${s} a ${a} ${a} 0 1 0 ${2 * a} 0 a ${a} ${a} 0 1 0 ${-2 * a} 0 Z`;
16
+ case "square": {
17
+ const r = a * 0.88;
18
+ return `M ${e - r} ${s - r} H ${e + r} V ${s + r} H ${e - r} Z`;
19
+ }
20
+ case "triangle": {
21
+ const r = a * 0.95;
22
+ return `M ${e} ${s - a} L ${e + r} ${s + a * 0.8} L ${e - r} ${s + a * 0.8} Z`;
23
+ }
24
+ case "diamond":
25
+ return `M ${e} ${s - a} L ${e + a} ${s} L ${e} ${s + a} L ${e - a} ${s} Z`;
26
+ case "cross": {
27
+ const r = a * 0.4;
28
+ return [
29
+ `M ${e - r} ${s - a}`,
30
+ `H ${e + r}`,
31
+ `V ${s - r}`,
32
+ `H ${e + a}`,
33
+ `V ${s + r}`,
34
+ `H ${e + r}`,
35
+ `V ${s + a}`,
36
+ `H ${e - r}`,
37
+ `V ${s + r}`,
38
+ `H ${e - a}`,
39
+ `V ${s - r}`,
40
+ `H ${e - r}`,
41
+ "Z"
42
+ ].join(" ");
43
+ }
44
+ }
45
+ }
46
+ const p = t(
47
+ "ds:block ds:[inline-size:var(--marker-box)] ds:[block-size:var(--marker-box)]",
48
+ {
49
+ variants: {
50
+ tone: {
51
+ neutral: "ds:[--marker-color:var(--muted-foreground)]",
52
+ info: "ds:[--marker-color:var(--info)]",
53
+ success: "ds:[--marker-color:var(--success)]",
54
+ warning: "ds:[--marker-color:var(--warning)]",
55
+ error: "ds:[--marker-color:var(--destructive)]",
56
+ accent: "ds:[--marker-color:var(--accent)]"
57
+ },
58
+ filled: {
59
+ true: "ds:[fill:var(--marker-color)] ds:[stroke:none]",
60
+ false: "ds:[fill:none] ds:[stroke:var(--marker-color)] ds:[stroke-width:2.5]"
61
+ }
62
+ },
63
+ defaultVariants: { tone: "neutral", filled: !0 }
64
+ }
65
+ ), g = t("ds:inline-flex ds:items-center ds:gap-1.5", {
66
+ variants: {
67
+ size: {
68
+ sm: "ds:[--marker-box:0.75rem]",
69
+ md: "ds:[--marker-box:1rem]",
70
+ lg: "ds:[--marker-box:1.25rem]"
71
+ }
72
+ },
73
+ defaultVariants: { size: "md" }
74
+ }), M = c(
75
+ ({
76
+ shape: o,
77
+ tone: e = "neutral",
78
+ filled: s = !0,
79
+ size: a = "md",
80
+ label: r,
81
+ "aria-label": i,
82
+ className: d,
83
+ ...m
84
+ }, $) => {
85
+ const { t: l } = f(), u = i ?? (typeof r == "string" ? r : l(`annotationMarker.shape.${o}`));
86
+ return /* @__PURE__ */ k(
87
+ "span",
88
+ {
89
+ ref: $,
90
+ "data-component": "annotation-marker",
91
+ "data-marker-shape": o,
92
+ "data-marker-tone": e,
93
+ className: g({ size: a, className: d }),
94
+ ...m,
95
+ children: [
96
+ /* @__PURE__ */ n(
97
+ "svg",
98
+ {
99
+ viewBox: "0 0 24 24",
100
+ className: p({ tone: e, filled: s }),
101
+ role: "img",
102
+ "aria-label": r ? void 0 : u,
103
+ "aria-hidden": r ? !0 : void 0,
104
+ focusable: "false",
105
+ children: /* @__PURE__ */ n("path", { d: v(o, 12, 12, 9) })
106
+ }
107
+ ),
108
+ r != null && /* @__PURE__ */ n("span", { children: r })
109
+ ]
110
+ }
111
+ );
112
+ }
113
+ );
114
+ M.displayName = "AnnotationMarker";
115
+ export {
116
+ M as A,
117
+ b as M,
118
+ v as m
119
+ };
120
+ //# sourceMappingURL=annotation-marker-qt5R9WZX.js.map
@@ -4,7 +4,7 @@ import { jsx as u, jsxs as f } from "react/jsx-runtime";
4
4
  import { useMemo as M } from "react";
5
5
  import { useTranslation as T } from "react-i18next";
6
6
  import { C as I } from "./card-DPmk26CL.js";
7
- import { B as x } from "./badge-CqGsX32l.js";
7
+ import { B as x } from "./badge-DCOqV9mI.js";
8
8
  const _ = 280, S = 14, b = 266, C = 28;
9
9
  function w(t) {
10
10
  if (t < 0) return "preconception";
@@ -410,4 +410,4 @@ export {
410
410
  ht as r,
411
411
  w as t
412
412
  };
413
- //# sourceMappingURL=antenatal-schedule-timeline-35ebkcZT.js.map
413
+ //# sourceMappingURL=antenatal-schedule-timeline-CwXrQRm1.js.map
@@ -0,0 +1,310 @@
1
+ import { jsx as r, jsxs as o } from "react/jsx-runtime";
2
+ import { forwardRef as F } from "react";
3
+ import { c as W } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as Y } from "react-i18next";
5
+ import { A as O } from "./avatar-BNQNhoyL.js";
6
+ import { B as i } from "./badge-DCOqV9mI.js";
7
+ import { T as J } from "./tag-BQXwuJq1.js";
8
+ import { T as Q } from "./timestamp-BV2lC-wV.js";
9
+ import { T as X } from "./transaction-chip-CscoQbxF.js";
10
+ import { i as Z } from "./is-safe-url-DkETxeHz.js";
11
+ import { V as aa } from "./video-BAeICxCT.js";
12
+ import { M as ra } from "./map-pin-B8STOPMJ.js";
13
+ import { a as ea, b as sa, c as oa } from "./entity-card-9_62gY7l.js";
14
+ import { S as ta } from "./star-vav0SJ9e.js";
15
+ import { c as E } from "./createLucideIcon-CrFbzy84.js";
16
+ import { G as na } from "./globe-BkEFMNSg.js";
17
+ import { C as da } from "./chevron-right-BrpYejk0.js";
18
+ /**
19
+ * @license lucide-react v1.8.0 - ISC
20
+ *
21
+ * This source code is licensed under the ISC license.
22
+ * See the LICENSE file in the root directory of this source tree.
23
+ */
24
+ const ia = [
25
+ ["path", { d: "M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3", key: "irtipd" }],
26
+ [
27
+ "path",
28
+ {
29
+ d: "M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z",
30
+ key: "1qyhux"
31
+ }
32
+ ],
33
+ ["path", { d: "M5 18v2", key: "ppbyun" }],
34
+ ["path", { d: "M19 18v2", key: "gy7782" }]
35
+ ], la = E("armchair", ia);
36
+ /**
37
+ * @license lucide-react v1.8.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */
42
+ const ca = [
43
+ ["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
44
+ [
45
+ "path",
46
+ {
47
+ d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
48
+ key: "116196"
49
+ }
50
+ ],
51
+ ["path", { d: "M12 11h4", key: "1jrz19" }],
52
+ ["path", { d: "M12 16h4", key: "n85exb" }],
53
+ ["path", { d: "M8 11h.01", key: "1dfujw" }],
54
+ ["path", { d: "M8 16h.01", key: "18s6g9" }]
55
+ ], pa = E("clipboard-list", ca), ma = {
56
+ "var(--color-violet-500)": "ds:bg-[var(--color-violet-500)]",
57
+ "var(--color-purple-500)": "ds:bg-[var(--color-purple-500)]",
58
+ "var(--color-magenta-500)": "ds:bg-[var(--color-magenta-500)]",
59
+ "var(--color-blue-500)": "ds:bg-[var(--color-blue-500)]",
60
+ "var(--color-green-500)": "ds:bg-[var(--color-green-500)]",
61
+ "var(--color-red-500)": "ds:bg-[var(--color-red-500)]",
62
+ "var(--color-yellow-500)": "ds:bg-[var(--color-yellow-500)]",
63
+ "var(--color-indigo-500)": "ds:bg-[var(--color-indigo-500)]",
64
+ "var(--color-orange-500)": "ds:bg-[var(--color-orange-500)]",
65
+ "var(--color-fuchsia-500)": "ds:bg-[var(--color-fuchsia-500)]",
66
+ "var(--color-grey-700)": "ds:bg-[var(--color-grey-700)]"
67
+ };
68
+ function ua(a) {
69
+ return ma[oa(a)] ?? "ds:bg-[var(--color-grey-700)]";
70
+ }
71
+ const fa = W(
72
+ [
73
+ "ds:relative ds:flex ds:items-start ds:gap-[var(--spacing-sm)]",
74
+ "ds:rounded-[var(--radius-md)]",
75
+ "ds:text-start ds:group",
76
+ "ds:bg-[var(--card)] ds:text-[color:var(--card-foreground)]",
77
+ "ds:transition-colors ds:duration-[var(--animation-duration)]",
78
+ "ds:motion-reduce:transition-none",
79
+ "ds:forced-colors:border ds:forced-colors:border-[CanvasText]"
80
+ ].join(" "),
81
+ {
82
+ variants: {
83
+ size: {
84
+ sm: "ds:p-[var(--spacing-sm)]",
85
+ md: "ds:p-[var(--spacing-md)]"
86
+ },
87
+ interactive: {
88
+ true: "ds:hover:bg-[color:var(--muted)]/40 ds:cursor-pointer",
89
+ false: ""
90
+ },
91
+ surface: {
92
+ // `flat` (default) is the chrome-less row used inside a bordered
93
+ // AppointmentTray. `elevated` gives each row its own card chrome
94
+ // (border + shadow) for use directly on a rail, e.g. AppointmentTimeline.
95
+ flat: "",
96
+ elevated: "ds:border ds:border-[color:var(--card-border)] ds:[.theme-accessible_&]:border-2 ds:shadow-[var(--shadow-card)]"
97
+ }
98
+ },
99
+ defaultVariants: {
100
+ size: "sm",
101
+ interactive: !1,
102
+ surface: "flat"
103
+ }
104
+ }
105
+ ), P = [
106
+ "ds:focus-visible:outline-none",
107
+ "ds:after:content-[''] ds:after:absolute ds:after:inset-0 ds:after:rounded-[var(--radius-md)]",
108
+ "ds:after:pointer-events-auto",
109
+ "ds:focus-visible:after:outline-[length:var(--focus-ring-width)]",
110
+ "ds:focus-visible:after:outline-solid",
111
+ "ds:focus-visible:after:outline-[color:var(--ring)]",
112
+ "ds:focus-visible:after:outline-offset-[length:var(--focus-ring-offset)]",
113
+ "ds:forced-colors:focus-visible:after:outline-[CanvasText]"
114
+ ].join(" "), va = {
115
+ inPractice: ra,
116
+ telehealth: aa
117
+ }, ga = F(
118
+ ({
119
+ item: a,
120
+ size: v = "sm",
121
+ surface: U = "flat",
122
+ locale: g,
123
+ currency: $ = "EUR",
124
+ showPatient: d = !0,
125
+ onActivate: t,
126
+ className: A,
127
+ ...D
128
+ }, B) => {
129
+ var k, C, w, z, T, M, R, S, V, I, L, _, j;
130
+ const { t: e } = Y(), l = !!t, G = !!a.url && Z(a.url), p = ((k = a.patient) == null ? void 0 : k.name) ?? e("appointmentCard.noPatient"), n = (C = a.operator) == null ? void 0 : C.name, m = e(`appointmentCard.state.${a.state}`), h = v === "md" ? "md" : "sm", K = va[a.type], b = d ? p : n ?? e("appointmentCard.appointment"), y = d ? e("appointmentCard.itemLabel", {
131
+ patient: p,
132
+ state: m
133
+ }) : e("appointmentCard.itemLabelGeneric", { title: b, state: m }), u = /* @__PURE__ */ r("span", { className: "ds:min-w-0 ds:truncate type-title-item ds:text-[color:var(--foreground)]", children: b });
134
+ let c;
135
+ l && G ? c = /* @__PURE__ */ r(
136
+ "a",
137
+ {
138
+ href: a.url,
139
+ "aria-label": y,
140
+ className: P + " ds:contents",
141
+ onClick: (s) => {
142
+ s.defaultPrevented || s.metaKey || s.ctrlKey || s.shiftKey || t == null || t(a);
143
+ },
144
+ children: u
145
+ }
146
+ ) : l ? c = /* @__PURE__ */ r(
147
+ "button",
148
+ {
149
+ type: "button",
150
+ "aria-label": y,
151
+ className: P + " ds:contents ds:bg-transparent ds:border-0 ds:p-0 ds:text-start",
152
+ onClick: () => t == null ? void 0 : t(a),
153
+ children: u
154
+ }
155
+ ) : c = u;
156
+ const x = (a.treatments ?? []).map((s, H) => {
157
+ const q = s.elements && s.elements.length > 0 ? e("appointmentCard.treatmentWithElements", {
158
+ care: s.careName,
159
+ elements: s.elements.join(", ")
160
+ }) : s.careName;
161
+ return /* @__PURE__ */ r(
162
+ J,
163
+ {
164
+ label: q,
165
+ variant: "neutral",
166
+ fill: "outline",
167
+ size: "sm",
168
+ maxInlineSize: "12rem"
169
+ },
170
+ `${s.careName}-${H}`
171
+ );
172
+ }), f = (w = a.bookingReason) == null ? void 0 : w.advanceAmountCents, N = typeof f == "number" && f > 0;
173
+ return /* @__PURE__ */ o(
174
+ "div",
175
+ {
176
+ ref: B,
177
+ role: "listitem",
178
+ "data-component": "appointment-card",
179
+ "data-component-id": a.id,
180
+ "data-state": a.state,
181
+ "data-type": a.type,
182
+ className: fa({
183
+ size: v,
184
+ interactive: l,
185
+ surface: U,
186
+ className: A
187
+ }),
188
+ ...D,
189
+ children: [
190
+ /* @__PURE__ */ o("span", { className: "ds:flex ds:w-16 ds:shrink-0 ds:flex-col ds:items-start ds:gap-[var(--spacing-2xs)]", children: [
191
+ /* @__PURE__ */ o("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]", children: [
192
+ /* @__PURE__ */ r(K, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
193
+ /* @__PURE__ */ r("span", { className: "ds:sr-only", children: e(`appointmentCard.type.${a.type}`) }),
194
+ /* @__PURE__ */ r(
195
+ Q,
196
+ {
197
+ value: a.startIso,
198
+ format: "absolute",
199
+ shape: "bare",
200
+ locale: g,
201
+ absoluteFormat: { hour: "numeric", minute: "2-digit" },
202
+ className: "type-body-sm ds:font-medium ds:text-[color:var(--foreground)] ds:tabular-nums"
203
+ }
204
+ )
205
+ ] }),
206
+ /* @__PURE__ */ r("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: e("appointmentCard.duration", { count: a.durationMin }) })
207
+ ] }),
208
+ n ? /* @__PURE__ */ o("span", { className: "ds:relative ds:shrink-0", children: [
209
+ /* @__PURE__ */ r(
210
+ O,
211
+ {
212
+ name: n,
213
+ color: ea((z = a.operator) == null ? void 0 : z.colorId),
214
+ size: h,
215
+ "aria-hidden": "true",
216
+ role: "presentation",
217
+ "aria-label": void 0
218
+ }
219
+ ),
220
+ /* @__PURE__ */ r(
221
+ "span",
222
+ {
223
+ "aria-hidden": "true",
224
+ className: "ds:absolute ds:bottom-0 ds:end-0 ds:size-2.5 ds:rounded-[var(--radius-full)] ds:border ds:border-[color:var(--card)] " + ua((T = a.operator) == null ? void 0 : T.colorId)
225
+ }
226
+ )
227
+ ] }) : null,
228
+ /* @__PURE__ */ o("div", { className: "ds:flex-1 ds:min-w-0 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
229
+ /* @__PURE__ */ o("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-sm)]", children: [
230
+ /* @__PURE__ */ o("div", { className: "ds:flex-1 ds:min-w-0 ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
231
+ d && ((M = a.patient) != null && M.avatarUrl) ? /* @__PURE__ */ r(
232
+ O,
233
+ {
234
+ name: p,
235
+ src: a.patient.avatarUrl,
236
+ size: h,
237
+ className: "ds:shrink-0",
238
+ "aria-hidden": "true",
239
+ role: "presentation",
240
+ "aria-label": void 0
241
+ }
242
+ ) : null,
243
+ c
244
+ ] }),
245
+ /* @__PURE__ */ r(
246
+ i,
247
+ {
248
+ variant: sa(a.state),
249
+ size: "sm",
250
+ withDot: !0,
251
+ className: "ds:shrink-0",
252
+ children: m
253
+ }
254
+ )
255
+ ] }),
256
+ d && n || (R = a.bookingReason) != null && R.specialty || a.firstVisit === "yes" ? /* @__PURE__ */ o("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-x-[var(--spacing-sm)] ds:gap-y-[var(--spacing-2xs)] type-eyebrow ds:text-[color:var(--muted-foreground)]", children: [
257
+ d && n ? /* @__PURE__ */ r("span", { children: n }) : null,
258
+ (S = a.bookingReason) != null && S.specialty ? /* @__PURE__ */ r("span", { children: a.bookingReason.specialty }) : null,
259
+ a.firstVisit === "yes" ? /* @__PURE__ */ o("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
260
+ /* @__PURE__ */ r(ta, { "aria-hidden": "true", className: "ds:size-3 ds:shrink-0" }),
261
+ e("appointmentCard.firstVisit")
262
+ ] }) : null
263
+ ] }) : null,
264
+ (V = a.bookingReason) != null && V.description ? /* @__PURE__ */ r("span", { className: "type-body-sm ds:text-[color:var(--foreground)] ds:truncate", children: a.bookingReason.description }) : null,
265
+ x.length > 0 ? /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: x }) : null,
266
+ a.carePlan || a.chair || (I = a.flags) != null && I.bookedOnline || (L = a.flags) != null && L.highlightedAnamnesis || N ? /* @__PURE__ */ o("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
267
+ a.carePlan ? /* @__PURE__ */ r(
268
+ i,
269
+ {
270
+ variant: "accentSoft",
271
+ size: "sm",
272
+ leading: /* @__PURE__ */ r(pa, {}),
273
+ children: e("appointmentCard.carePlan", {
274
+ number: a.carePlan.number
275
+ })
276
+ }
277
+ ) : null,
278
+ a.chair ? /* @__PURE__ */ r(i, { variant: "neutral", size: "sm", leading: /* @__PURE__ */ r(la, {}), children: e("appointmentCard.chair", { chair: a.chair }) }) : null,
279
+ (_ = a.flags) != null && _.bookedOnline ? /* @__PURE__ */ r(i, { variant: "info", size: "sm", leading: /* @__PURE__ */ r(na, {}), children: e("appointmentCard.flag.bookedOnline") }) : null,
280
+ (j = a.flags) != null && j.highlightedAnamnesis ? /* @__PURE__ */ r(i, { variant: "warning", size: "sm", withDot: !0, children: e("appointmentCard.flag.highlightedAnamnesis") }) : null,
281
+ N ? /* @__PURE__ */ r(
282
+ X,
283
+ {
284
+ state: "to-invoice",
285
+ amount: f / 100,
286
+ currency: $,
287
+ locale: g,
288
+ size: "sm",
289
+ showLabel: !0
290
+ }
291
+ ) : null
292
+ ] }) : null
293
+ ] }),
294
+ l ? /* @__PURE__ */ r(
295
+ da,
296
+ {
297
+ "aria-hidden": "true",
298
+ className: "ds:size-4 ds:shrink-0 ds:self-center ds:text-[color:var(--muted-foreground)] ds:opacity-0 ds:transition-opacity ds:motion-reduce:transition-none ds:group-hover:opacity-100 ds:group-focus-within:opacity-100 ds:rtl:rotate-180"
299
+ }
300
+ ) : null
301
+ ]
302
+ }
303
+ );
304
+ }
305
+ );
306
+ ga.displayName = "AppointmentCard";
307
+ export {
308
+ ga as A
309
+ };
310
+ //# sourceMappingURL=appointment-card-C06aZqA7.js.map