@alfadocs/ui-kit-debug 0.48.0 → 0.49.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 (310) hide show
  1. package/dist/_chunks/{address-autocomplete-CSjMrBvu.js → address-autocomplete-CT-9AOli.js} +2 -2
  2. package/dist/_chunks/{address-autocomplete-CSjMrBvu.js.map → address-autocomplete-CT-9AOli.js.map} +1 -1
  3. package/dist/_chunks/{ai-consent-banner-DO5ingMq.js → ai-consent-banner-F2md5JD3.js} +2 -2
  4. package/dist/_chunks/{ai-consent-banner-DO5ingMq.js.map → ai-consent-banner-F2md5JD3.js.map} +1 -1
  5. package/dist/_chunks/{ai-tools-rail-CxYG04cw.js → ai-tools-rail-CYLWrRmm.js} +6 -6
  6. package/dist/_chunks/ai-tools-rail-CYLWrRmm.js.map +1 -0
  7. package/dist/_chunks/{alert-ywPR59NE.js → alert-CUTxnym2.js} +56 -35
  8. package/dist/_chunks/alert-CUTxnym2.js.map +1 -0
  9. package/dist/_chunks/antenatal-schedule-timeline-Dg0m0yFl.js +412 -0
  10. package/dist/_chunks/antenatal-schedule-timeline-Dg0m0yFl.js.map +1 -0
  11. package/dist/_chunks/{ar-DEz65ZJW.js → ar-C68WKG5a.js} +2 -2
  12. package/dist/_chunks/{ar-DEz65ZJW.js.map → ar-C68WKG5a.js.map} +1 -1
  13. package/dist/_chunks/{audio-recorder-DC-v9YFW.js → audio-recorder-DVJXV7_k.js} +2 -2
  14. package/dist/_chunks/{audio-recorder-DC-v9YFW.js.map → audio-recorder-DVJXV7_k.js.map} +1 -1
  15. package/dist/_chunks/bishop-score-2MzAz8NE.js +185 -0
  16. package/dist/_chunks/bishop-score-2MzAz8NE.js.map +1 -0
  17. package/dist/_chunks/{booking-WV2GSru5.js → booking-DljH0JkS.js} +5 -5
  18. package/dist/_chunks/{booking-WV2GSru5.js.map → booking-DljH0JkS.js.map} +1 -1
  19. package/dist/_chunks/circle-arrow-up-CC_85SuH.js +16 -0
  20. package/dist/_chunks/circle-arrow-up-CC_85SuH.js.map +1 -0
  21. package/dist/_chunks/cycle-calculator-oOkj5wlB.js +252 -0
  22. package/dist/_chunks/cycle-calculator-oOkj5wlB.js.map +1 -0
  23. package/dist/_chunks/{date-picker-Bq7xhMA-.js → date-picker-BfHblqwA.js} +2 -2
  24. package/dist/_chunks/{date-picker-Bq7xhMA-.js.map → date-picker-BfHblqwA.js.map} +1 -1
  25. package/dist/_chunks/{date-picker-variants-DLi1Va_e.js → date-picker-variants-CXEAx3O_.js} +22 -22
  26. package/dist/_chunks/{date-picker-variants-DLi1Va_e.js.map → date-picker-variants-CXEAx3O_.js.map} +1 -1
  27. package/dist/_chunks/{date-range-picker-DcXuI9y7.js → date-range-picker-hcAMs1wO.js} +3 -3
  28. package/dist/_chunks/{date-range-picker-DcXuI9y7.js.map → date-range-picker-hcAMs1wO.js.map} +1 -1
  29. package/dist/_chunks/{date-time-picker-RimumeLR.js → date-time-picker-H-3Pwqlb.js} +9 -9
  30. package/dist/_chunks/{date-time-picker-RimumeLR.js.map → date-time-picker-H-3Pwqlb.js.map} +1 -1
  31. package/dist/_chunks/{de-bTBGdjPS.js → de-DK4A9_a8.js} +2 -2
  32. package/dist/_chunks/{de-bTBGdjPS.js.map → de-DK4A9_a8.js.map} +1 -1
  33. package/dist/_chunks/{document-scanner-BqLsGs4Y.js → document-scanner-Cxqvq7GR.js} +2 -2
  34. package/dist/_chunks/{document-scanner-BqLsGs4Y.js.map → document-scanner-Cxqvq7GR.js.map} +1 -1
  35. package/dist/_chunks/due-date-calculator-tDqZXPWO.js +256 -0
  36. package/dist/_chunks/due-date-calculator-tDqZXPWO.js.map +1 -0
  37. package/dist/_chunks/{editable-currency-cell-renderer-CLil9B29.js → editable-currency-cell-renderer-Bh48OHRv.js} +2 -2
  38. package/dist/_chunks/{editable-currency-cell-renderer-CLil9B29.js.map → editable-currency-cell-renderer-Bh48OHRv.js.map} +1 -1
  39. package/dist/_chunks/{el-BWG5RXxa.js → el-B29HXhG5.js} +2 -2
  40. package/dist/_chunks/{el-BWG5RXxa.js.map → el-B29HXhG5.js.map} +1 -1
  41. package/dist/_chunks/{es-DfO_G435.js → es-BOwPVwWn.js} +2 -2
  42. package/dist/_chunks/{es-DfO_G435.js.map → es-BOwPVwWn.js.map} +1 -1
  43. package/dist/_chunks/fetal-weight-Da-B4P4k.js +122 -0
  44. package/dist/_chunks/fetal-weight-Da-B4P4k.js.map +1 -0
  45. package/dist/_chunks/{fr-BTn24bs8.js → fr-DoDBtn0T.js} +2 -2
  46. package/dist/_chunks/{fr-BTn24bs8.js.map → fr-DoDBtn0T.js.map} +1 -1
  47. package/dist/_chunks/{freemium-paywall-DzpD63WY.js → freemium-paywall-BWaLWje-.js} +2 -2
  48. package/dist/_chunks/{freemium-paywall-DzpD63WY.js.map → freemium-paywall-BWaLWje-.js.map} +1 -1
  49. package/dist/_chunks/gestational-age-calculator-DbDfTJU2.js +311 -0
  50. package/dist/_chunks/gestational-age-calculator-DbDfTJU2.js.map +1 -0
  51. package/dist/_chunks/hcg-doubling-DAnpbale.js +170 -0
  52. package/dist/_chunks/hcg-doubling-DAnpbale.js.map +1 -0
  53. package/dist/_chunks/{hi-Dj3oYd84.js → hi-DGByrKby.js} +2 -2
  54. package/dist/_chunks/{hi-Dj3oYd84.js.map → hi-DGByrKby.js.map} +1 -1
  55. package/dist/_chunks/{isSameWeek-HfxKk6Lz.js → isSameWeek-B1odL2vR.js} +2 -2
  56. package/dist/_chunks/{isSameWeek-HfxKk6Lz.js.map → isSameWeek-B1odL2vR.js.map} +1 -1
  57. package/dist/_chunks/{it-Y85ofIQQ.js → it-B16rEecm.js} +3 -3
  58. package/dist/_chunks/{it-Y85ofIQQ.js.map → it-B16rEecm.js.map} +1 -1
  59. package/dist/_chunks/{ja-CQ7J6YoA.js → ja-B0viOgft.js} +2 -2
  60. package/dist/_chunks/{ja-CQ7J6YoA.js.map → ja-B0viOgft.js.map} +1 -1
  61. package/dist/_chunks/{marketplace-app-shell-Gfsf78ge.js → marketplace-app-shell-UKSLx9K_.js} +3 -3
  62. package/dist/_chunks/{marketplace-app-shell-Gfsf78ge.js.map → marketplace-app-shell-UKSLx9K_.js.map} +1 -1
  63. package/dist/_chunks/{nl-D9kHCmp3.js → nl-cBxEX2QU.js} +2 -2
  64. package/dist/_chunks/{nl-D9kHCmp3.js.map → nl-cBxEX2QU.js.map} +1 -1
  65. package/dist/_chunks/{patient-search-CocVcGJ3.js → patient-search-BJOmTmDA.js} +2 -2
  66. package/dist/_chunks/{patient-search-CocVcGJ3.js.map → patient-search-BJOmTmDA.js.map} +1 -1
  67. package/dist/_chunks/{patient-shell-CnT4L8gn.js → patient-shell-DUmhXnFq.js} +2 -2
  68. package/dist/_chunks/{patient-shell-CnT4L8gn.js.map → patient-shell-DUmhXnFq.js.map} +1 -1
  69. package/dist/_chunks/{payment-form-BNTx4876.js → payment-form-xmeCkxas.js} +2 -2
  70. package/dist/_chunks/{payment-form-BNTx4876.js.map → payment-form-xmeCkxas.js.map} +1 -1
  71. package/dist/_chunks/{pdf-viewer-G8SU6Azw.js → pdf-viewer-q1D3Uion.js} +2 -2
  72. package/dist/_chunks/{pdf-viewer-G8SU6Azw.js.map → pdf-viewer-q1D3Uion.js.map} +1 -1
  73. package/dist/_chunks/{pl-B3Smqpkr.js → pl-DtS08ioY.js} +3 -3
  74. package/dist/_chunks/{pl-B3Smqpkr.js.map → pl-DtS08ioY.js.map} +1 -1
  75. package/dist/_chunks/{practice-results-BFL_mcDW.js → practice-results-Cq1y8JFD.js} +2 -2
  76. package/dist/_chunks/{practice-results-BFL_mcDW.js.map → practice-results-Cq1y8JFD.js.map} +1 -1
  77. package/dist/_chunks/pregnancy-weight-gain-CCGrvarh.js +322 -0
  78. package/dist/_chunks/pregnancy-weight-gain-CCGrvarh.js.map +1 -0
  79. package/dist/_chunks/product-hub-panel-CkfZBA3t.js +620 -0
  80. package/dist/_chunks/product-hub-panel-CkfZBA3t.js.map +1 -0
  81. package/dist/_chunks/{pt-D3J-1c_7.js → pt-yFXs1VvH.js} +2 -2
  82. package/dist/_chunks/{pt-D3J-1c_7.js.map → pt-yFXs1VvH.js.map} +1 -1
  83. package/dist/_chunks/{ro-BKAbbEA3.js → ro-DsCzSrzR.js} +2 -2
  84. package/dist/_chunks/{ro-BKAbbEA3.js.map → ro-DsCzSrzR.js.map} +1 -1
  85. package/dist/_chunks/{ru-BeG8f0Ep.js → ru-DgDxL0pc.js} +3 -3
  86. package/dist/_chunks/{ru-BeG8f0Ep.js.map → ru-DgDxL0pc.js.map} +1 -1
  87. package/dist/_chunks/{sidebar-_vJXI9rB.js → sidebar-h78cTNLh.js} +440 -338
  88. package/dist/_chunks/sidebar-h78cTNLh.js.map +1 -0
  89. package/dist/_chunks/{sign-document-DPI2pY9V.js → sign-document-CZkAf28g.js} +2 -2
  90. package/dist/_chunks/{sign-document-DPI2pY9V.js.map → sign-document-CZkAf28g.js.map} +1 -1
  91. package/dist/_chunks/{sq-_hRPaeUy.js → sq-DHlCYN67.js} +2 -2
  92. package/dist/_chunks/{sq-_hRPaeUy.js.map → sq-DHlCYN67.js.map} +1 -1
  93. package/dist/_chunks/subDays-Bs00akhK.js +8 -0
  94. package/dist/_chunks/{subDays-Dv7q9S7u.js.map → subDays-Bs00akhK.js.map} +1 -1
  95. package/dist/_chunks/{sv-g009fSpe.js → sv-O0QaQs_s.js} +2 -2
  96. package/dist/_chunks/{sv-g009fSpe.js.map → sv-O0QaQs_s.js.map} +1 -1
  97. package/dist/_chunks/{tr-OKUOuhMW.js → tr-BmNDRuio.js} +2 -2
  98. package/dist/_chunks/{tr-OKUOuhMW.js.map → tr-BmNDRuio.js.map} +1 -1
  99. package/dist/_chunks/warning-stack-CXfoAT-_.js +220 -0
  100. package/dist/_chunks/warning-stack-CXfoAT-_.js.map +1 -0
  101. package/dist/_chunks/{workflow-map-ZXw-zsZ8.js → workflow-map-DzX_LI4y.js} +2 -2
  102. package/dist/_chunks/{workflow-map-ZXw-zsZ8.js.map → workflow-map-DzX_LI4y.js.map} +1 -1
  103. package/dist/_chunks/{zh-CN-De4zwEhx.js → zh-CN-CgVJZEzz.js} +3 -3
  104. package/dist/_chunks/{zh-CN-De4zwEhx.js.map → zh-CN-CgVJZEzz.js.map} +1 -1
  105. package/dist/agent-catalog.json +44 -1
  106. package/dist/components/_shared/antenatal-schedule-timeline.d.ts +18 -0
  107. package/dist/components/_shared/antenatal-schedule-timeline.d.ts.map +1 -0
  108. package/dist/components/_shared/antenatal-schedule.d.ts +68 -0
  109. package/dist/components/_shared/antenatal-schedule.d.ts.map +1 -0
  110. package/dist/components/_shared/index.d.ts +3 -0
  111. package/dist/components/_shared/index.d.ts.map +1 -1
  112. package/dist/components/_shared/obstetrics.d.ts +138 -0
  113. package/dist/components/_shared/obstetrics.d.ts.map +1 -0
  114. package/dist/components/address-autocomplete/index.js +1 -1
  115. package/dist/components/ai-consent-banner/index.js +1 -1
  116. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +1 -1
  117. package/dist/components/ai-tools-rail/index.js +1 -1
  118. package/dist/components/alert/alert.d.ts +2 -2
  119. package/dist/components/alert/alert.d.ts.map +1 -1
  120. package/dist/components/alert/index.js +1 -1
  121. package/dist/components/audio-recorder/index.js +1 -1
  122. package/dist/components/bishop-score/bishop-score.d.ts +27 -0
  123. package/dist/components/bishop-score/bishop-score.d.ts.map +1 -0
  124. package/dist/components/bishop-score/bishop.d.ts +30 -0
  125. package/dist/components/bishop-score/bishop.d.ts.map +1 -0
  126. package/dist/components/bishop-score/index.d.ts +4 -0
  127. package/dist/components/bishop-score/index.d.ts.map +1 -0
  128. package/dist/components/bishop-score/index.js +10 -0
  129. package/dist/components/bishop-score/index.js.map +1 -0
  130. package/dist/components/booking/index.js +1 -1
  131. package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
  132. package/dist/components/cycle-calculator/cycle.d.ts +5 -0
  133. package/dist/components/cycle-calculator/cycle.d.ts.map +1 -1
  134. package/dist/components/cycle-calculator/index.js +1 -1
  135. package/dist/components/data-table/index.js +1 -1
  136. package/dist/components/date-picker/index.js +1 -1
  137. package/dist/components/date-range-picker/index.js +1 -1
  138. package/dist/components/date-time-picker/index.js +1 -1
  139. package/dist/components/document-scanner/index.js +1 -1
  140. package/dist/components/due-date-calculator/due-date-calculator.d.ts +13 -1
  141. package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
  142. package/dist/components/due-date-calculator/gestation.d.ts +1 -59
  143. package/dist/components/due-date-calculator/gestation.d.ts.map +1 -1
  144. package/dist/components/due-date-calculator/index.d.ts +1 -1
  145. package/dist/components/due-date-calculator/index.d.ts.map +1 -1
  146. package/dist/components/due-date-calculator/index.js +16 -10
  147. package/dist/components/fetal-weight/efw.d.ts +25 -0
  148. package/dist/components/fetal-weight/efw.d.ts.map +1 -0
  149. package/dist/components/fetal-weight/fetal-weight.d.ts +27 -0
  150. package/dist/components/fetal-weight/fetal-weight.d.ts.map +1 -0
  151. package/dist/components/fetal-weight/index.d.ts +4 -0
  152. package/dist/components/fetal-weight/index.d.ts.map +1 -0
  153. package/dist/components/fetal-weight/index.js +6 -0
  154. package/dist/components/fetal-weight/index.js.map +1 -0
  155. package/dist/components/freemium-paywall/index.js +1 -1
  156. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +25 -1
  157. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
  158. package/dist/components/gestational-age-calculator/index.js +1 -1
  159. package/dist/components/hcg-doubling/hcg-doubling.d.ts +31 -0
  160. package/dist/components/hcg-doubling/hcg-doubling.d.ts.map +1 -0
  161. package/dist/components/hcg-doubling/hcg.d.ts +33 -0
  162. package/dist/components/hcg-doubling/hcg.d.ts.map +1 -0
  163. package/dist/components/hcg-doubling/index.d.ts +4 -0
  164. package/dist/components/hcg-doubling/index.d.ts.map +1 -0
  165. package/dist/components/hcg-doubling/index.js +7 -0
  166. package/dist/components/hcg-doubling/index.js.map +1 -0
  167. package/dist/components/index.d.ts +4 -0
  168. package/dist/components/index.d.ts.map +1 -1
  169. package/dist/components/patient-search/index.js +1 -1
  170. package/dist/components/payment-form/index.js +1 -1
  171. package/dist/components/pdf-viewer/index.js +1 -1
  172. package/dist/components/practice-results/index.js +1 -1
  173. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  174. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +7 -0
  175. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
  176. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts +33 -8
  177. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts.map +1 -1
  178. package/dist/components/product-hub-tray/index.d.ts +8 -0
  179. package/dist/components/product-hub-tray/index.d.ts.map +1 -0
  180. package/dist/components/product-hub-tray/index.js +10 -0
  181. package/dist/components/product-hub-tray/index.js.map +1 -0
  182. package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts +4 -0
  183. package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts.map +1 -0
  184. package/dist/components/product-hub-tray/product-hub-panel.d.ts +54 -0
  185. package/dist/components/product-hub-tray/product-hub-panel.d.ts.map +1 -0
  186. package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts +4 -0
  187. package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts.map +1 -0
  188. package/dist/components/product-hub-tray/product-hub-tray.d.ts +115 -0
  189. package/dist/components/product-hub-tray/product-hub-tray.d.ts.map +1 -0
  190. package/dist/components/sidebar/index.d.ts +2 -2
  191. package/dist/components/sidebar/index.d.ts.map +1 -1
  192. package/dist/components/sidebar/index.js +12 -11
  193. package/dist/components/sidebar/sidebar.d.ts +14 -1
  194. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  195. package/dist/components/sign-document/index.js +1 -1
  196. package/dist/components/warning-stack/index.js +1 -1
  197. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
  198. package/dist/components/workflow/index.js +1 -1
  199. package/dist/i18n/locales/ar.d.ts +210 -1
  200. package/dist/i18n/locales/ar.d.ts.map +1 -1
  201. package/dist/i18n/locales/ar.js +209 -2
  202. package/dist/i18n/locales/ar.js.map +1 -1
  203. package/dist/i18n/locales/de.d.ts +210 -1
  204. package/dist/i18n/locales/de.d.ts.map +1 -1
  205. package/dist/i18n/locales/de.js +209 -2
  206. package/dist/i18n/locales/de.js.map +1 -1
  207. package/dist/i18n/locales/el.d.ts +210 -1
  208. package/dist/i18n/locales/el.d.ts.map +1 -1
  209. package/dist/i18n/locales/el.js +209 -2
  210. package/dist/i18n/locales/el.js.map +1 -1
  211. package/dist/i18n/locales/en.d.ts +210 -1
  212. package/dist/i18n/locales/en.d.ts.map +1 -1
  213. package/dist/i18n/locales/en.js +209 -2
  214. package/dist/i18n/locales/en.js.map +1 -1
  215. package/dist/i18n/locales/es.d.ts +210 -1
  216. package/dist/i18n/locales/es.d.ts.map +1 -1
  217. package/dist/i18n/locales/es.js +209 -2
  218. package/dist/i18n/locales/es.js.map +1 -1
  219. package/dist/i18n/locales/fr.d.ts +210 -1
  220. package/dist/i18n/locales/fr.d.ts.map +1 -1
  221. package/dist/i18n/locales/fr.js +209 -2
  222. package/dist/i18n/locales/fr.js.map +1 -1
  223. package/dist/i18n/locales/hi.d.ts +210 -1
  224. package/dist/i18n/locales/hi.d.ts.map +1 -1
  225. package/dist/i18n/locales/hi.js +209 -2
  226. package/dist/i18n/locales/hi.js.map +1 -1
  227. package/dist/i18n/locales/it.d.ts +210 -1
  228. package/dist/i18n/locales/it.d.ts.map +1 -1
  229. package/dist/i18n/locales/it.js +209 -2
  230. package/dist/i18n/locales/it.js.map +1 -1
  231. package/dist/i18n/locales/ja.d.ts +210 -1
  232. package/dist/i18n/locales/ja.d.ts.map +1 -1
  233. package/dist/i18n/locales/ja.js +209 -2
  234. package/dist/i18n/locales/ja.js.map +1 -1
  235. package/dist/i18n/locales/nl.d.ts +210 -1
  236. package/dist/i18n/locales/nl.d.ts.map +1 -1
  237. package/dist/i18n/locales/nl.js +209 -2
  238. package/dist/i18n/locales/nl.js.map +1 -1
  239. package/dist/i18n/locales/pl.d.ts +210 -1
  240. package/dist/i18n/locales/pl.d.ts.map +1 -1
  241. package/dist/i18n/locales/pl.js +209 -2
  242. package/dist/i18n/locales/pl.js.map +1 -1
  243. package/dist/i18n/locales/pt.d.ts +210 -1
  244. package/dist/i18n/locales/pt.d.ts.map +1 -1
  245. package/dist/i18n/locales/pt.js +209 -2
  246. package/dist/i18n/locales/pt.js.map +1 -1
  247. package/dist/i18n/locales/ro.d.ts +210 -1
  248. package/dist/i18n/locales/ro.d.ts.map +1 -1
  249. package/dist/i18n/locales/ro.js +209 -2
  250. package/dist/i18n/locales/ro.js.map +1 -1
  251. package/dist/i18n/locales/ru.d.ts +210 -1
  252. package/dist/i18n/locales/ru.d.ts.map +1 -1
  253. package/dist/i18n/locales/ru.js +209 -2
  254. package/dist/i18n/locales/ru.js.map +1 -1
  255. package/dist/i18n/locales/sq.d.ts +210 -1
  256. package/dist/i18n/locales/sq.d.ts.map +1 -1
  257. package/dist/i18n/locales/sq.js +209 -2
  258. package/dist/i18n/locales/sq.js.map +1 -1
  259. package/dist/i18n/locales/sv.d.ts +210 -1
  260. package/dist/i18n/locales/sv.d.ts.map +1 -1
  261. package/dist/i18n/locales/sv.js +209 -2
  262. package/dist/i18n/locales/sv.js.map +1 -1
  263. package/dist/i18n/locales/tr.d.ts +210 -1
  264. package/dist/i18n/locales/tr.d.ts.map +1 -1
  265. package/dist/i18n/locales/tr.js +209 -2
  266. package/dist/i18n/locales/tr.js.map +1 -1
  267. package/dist/i18n/locales/zh.d.ts +210 -1
  268. package/dist/i18n/locales/zh.d.ts.map +1 -1
  269. package/dist/i18n/locales/zh.js +209 -2
  270. package/dist/i18n/locales/zh.js.map +1 -1
  271. package/dist/index.js +658 -631
  272. package/dist/index.js.map +1 -1
  273. package/dist/locales/ar.json +211 -2
  274. package/dist/locales/de.json +211 -2
  275. package/dist/locales/el.json +211 -2
  276. package/dist/locales/en.json +211 -2
  277. package/dist/locales/es.json +211 -2
  278. package/dist/locales/fr.json +211 -2
  279. package/dist/locales/hi.json +211 -2
  280. package/dist/locales/it.json +211 -2
  281. package/dist/locales/ja.json +211 -2
  282. package/dist/locales/nl.json +211 -2
  283. package/dist/locales/pl.json +211 -2
  284. package/dist/locales/pt.json +211 -2
  285. package/dist/locales/ro.json +211 -2
  286. package/dist/locales/ru.json +211 -2
  287. package/dist/locales/sq.json +211 -2
  288. package/dist/locales/sv.json +211 -2
  289. package/dist/locales/tr.json +211 -2
  290. package/dist/locales/zh.json +211 -2
  291. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  292. package/dist/patterns/patient-shell/index.js +1 -1
  293. package/dist/tokens.css +1 -1
  294. package/package.json +17 -1
  295. package/dist/_chunks/ai-tools-rail-CxYG04cw.js.map +0 -1
  296. package/dist/_chunks/alert-ywPR59NE.js.map +0 -1
  297. package/dist/_chunks/cycle-calculator-DYvGm_m1.js +0 -211
  298. package/dist/_chunks/cycle-calculator-DYvGm_m1.js.map +0 -1
  299. package/dist/_chunks/due-date-calculator-BXd3ANj7.js +0 -216
  300. package/dist/_chunks/due-date-calculator-BXd3ANj7.js.map +0 -1
  301. package/dist/_chunks/gestation-mWF4AXea.js +0 -50
  302. package/dist/_chunks/gestation-mWF4AXea.js.map +0 -1
  303. package/dist/_chunks/gestational-age-calculator-Crj6FgZw.js +0 -203
  304. package/dist/_chunks/gestational-age-calculator-Crj6FgZw.js.map +0 -1
  305. package/dist/_chunks/pregnancy-weight-gain-C7dK89jE.js +0 -246
  306. package/dist/_chunks/pregnancy-weight-gain-C7dK89jE.js.map +0 -1
  307. package/dist/_chunks/sidebar-_vJXI9rB.js.map +0 -1
  308. package/dist/_chunks/subDays-Dv7q9S7u.js +0 -8
  309. package/dist/_chunks/warning-stack-DNR3-IbP.js +0 -180
  310. package/dist/_chunks/warning-stack-DNR3-IbP.js.map +0 -1
@@ -2,13 +2,14 @@ import { jsxs as E, jsx as t } from "react/jsx-runtime";
2
2
  import { forwardRef as a, useState as R, useRef as V, useCallback as z, Children as B, isValidElement as D } from "react";
3
3
  import { c as F } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as L } from "react-i18next";
5
- import { u as W } from "./use-controllable-state-BiY4xTzM.js";
6
- import { X } from "./x-CCcI3eJp.js";
5
+ import { u as U } from "./use-controllable-state-BiY4xTzM.js";
6
+ import { X as W } from "./x-CCcI3eJp.js";
7
+ import { C as X } from "./circle-arrow-up-CC_85SuH.js";
7
8
  import { C as G } from "./circle-x-Du2CmjaU.js";
8
9
  import { T as H } from "./triangle-alert-CBPUIzQo.js";
9
10
  import { C as M } from "./circle-check-9AeSgJD_.js";
10
11
  import { I as P } from "./info-B9XNKn05.js";
11
- const U = F(
12
+ const $ = F(
12
13
  [
13
14
  // Default `items-center` keeps the icon + dismiss optically aligned
14
15
  // with a single-line description. The `data-[has-title=true]`
@@ -58,6 +59,19 @@ const U = F(
58
59
  "ds:text-[var(--error-foreground)]",
59
60
  "ds:[&_[data-intent=tonal]]:bg-[color:var(--error-foreground)]",
60
61
  "ds:[&_[data-intent=tonal]]:text-[color:var(--background)]"
62
+ ].join(" "),
63
+ // Sales / marketing upsell — accent magenta via the --promo
64
+ // semantic pair so marketing pushes (product hub → warning
65
+ // stack) read as offers, not operational warnings. Surface is
66
+ // the same subtle accent gradient as SidebarUpgradeChip (it
67
+ // flattens in the accessible themes and follows Canvas in
68
+ // forced-colors), keeping the two upsell affordances kin.
69
+ promo: [
70
+ "ds:border-[color:var(--promo)]",
71
+ "ds:bg-[image:var(--gradient-surface-subtle-accent)]",
72
+ "ds:text-[var(--promo-foreground)]",
73
+ "ds:[&_[data-intent=tonal]]:bg-[color:var(--promo-foreground)]",
74
+ "ds:[&_[data-intent=tonal]]:text-[color:var(--background)]"
61
75
  ].join(" ")
62
76
  }
63
77
  },
@@ -65,7 +79,7 @@ const U = F(
65
79
  variant: "info"
66
80
  }
67
81
  }
68
- ), h = "ds:shrink-0 ds:size-5", $ = `${h} ds:mt-0.5`, q = [
82
+ ), h = "ds:shrink-0 ds:size-5", q = `${h} ds:mt-0.5`, J = [
69
83
  // Default (no title): the alert root uses `items-center` and the
70
84
  // button centres in the cross-axis. A centred 16×16 glyph inside a
71
85
  // 44×44 button aligns optically with a single-line description.
@@ -89,7 +103,7 @@ const U = F(
89
103
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
90
104
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
91
105
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
92
- ].join(" "), J = {
106
+ ].join(" "), K = {
93
107
  info: { icon: /* @__PURE__ */ t(P, { "aria-hidden": "true" }), role: "status", live: "polite" },
94
108
  success: {
95
109
  icon: /* @__PURE__ */ t(M, { "aria-hidden": "true" }),
@@ -105,70 +119,76 @@ const U = F(
105
119
  icon: /* @__PURE__ */ t(G, { "aria-hidden": "true" }),
106
120
  role: "alert",
107
121
  live: "assertive"
122
+ },
123
+ // Promotions never interrupt — same polite semantics as info.
124
+ promo: {
125
+ icon: /* @__PURE__ */ t(X, { "aria-hidden": "true" }),
126
+ role: "status",
127
+ live: "polite"
108
128
  }
109
129
  }, c = a(
110
- ({ as: e = "h5", className: s, ...o }, n) => /* @__PURE__ */ t(
130
+ ({ as: e = "h5", className: o, ...r }, n) => /* @__PURE__ */ t(
111
131
  e,
112
132
  {
113
133
  ref: n,
114
- className: ["type-title-item", s].filter(Boolean).join(" "),
115
- ...o
134
+ className: ["type-title-item", o].filter(Boolean).join(" "),
135
+ ...r
116
136
  }
117
137
  )
118
138
  );
119
139
  c.displayName = "Alert.Title";
120
- const x = a(({ className: e, ...s }, o) => /* @__PURE__ */ t(
140
+ const x = a(({ className: e, ...o }, r) => /* @__PURE__ */ t(
121
141
  "p",
122
142
  {
123
- ref: o,
143
+ ref: r,
124
144
  className: [
125
145
  "ds:[[data-has-title=true]_&]:mt-[var(--spacing-xs)] type-body-sm",
126
146
  e
127
147
  ].filter(Boolean).join(" "),
128
- ...s
148
+ ...o
129
149
  }
130
150
  ));
131
151
  x.displayName = "Alert.Description";
132
152
  const _ = a(
133
- ({ className: e, ...s }, o) => /* @__PURE__ */ t(
153
+ ({ className: e, ...o }, r) => /* @__PURE__ */ t(
134
154
  "div",
135
155
  {
136
- ref: o,
156
+ ref: r,
137
157
  className: [
138
158
  "ds:mt-[var(--spacing-sm)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]",
139
159
  e
140
160
  ].filter(Boolean).join(" "),
141
- ...s
161
+ ...o
142
162
  }
143
163
  )
144
164
  );
145
165
  _.displayName = "Alert.Action";
146
- const w = a(
166
+ const C = a(
147
167
  ({
148
168
  variant: e = "info",
149
- dismissible: s = !1,
150
- open: o,
169
+ dismissible: o = !1,
170
+ open: r,
151
171
  onOpenChange: n,
152
172
  icon: m,
153
- live: C,
173
+ live: w,
154
174
  className: A,
155
175
  children: u,
156
176
  ...N
157
177
  }, y) => {
158
- const { t: T } = L(), [j, k] = W({
159
- value: o,
178
+ const { t: T } = L(), [j, k] = U({
179
+ value: r,
160
180
  defaultValue: !0,
161
181
  onChange: n
162
182
  }), I = j ?? !0, [f, g] = R(!1), i = V(null), O = z(() => {
163
183
  if (typeof window > "u") return 200;
164
- const r = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
165
- if (!r) return 200;
166
- const b = r.trim(), l = parseFloat(b);
184
+ const s = window.getComputedStyle(document.documentElement).getPropertyValue("--animation-duration");
185
+ if (!s) return 200;
186
+ const b = s.trim(), l = parseFloat(b);
167
187
  return Number.isFinite(l) ? b.endsWith("ms") ? l : l * 1e3 : 200;
168
188
  }, []);
169
189
  if (!I) return null;
170
- const d = J[e], v = m !== void 0 ? m : d.icon, p = B.toArray(u).some(
171
- (r) => D(r) && r.type === c
190
+ const d = K[e], v = m !== void 0 ? m : d.icon, p = B.toArray(u).some(
191
+ (s) => D(s) && s.type === c
172
192
  ), S = () => {
173
193
  f || (g(!0), i.current && clearTimeout(i.current), i.current = setTimeout(() => {
174
194
  g(!1), k(!1);
@@ -179,12 +199,12 @@ const w = a(
179
199
  {
180
200
  ref: y,
181
201
  role: d.role,
182
- "aria-live": C ?? d.live,
202
+ "aria-live": w ?? d.live,
183
203
  "data-component": "alert",
184
204
  "data-has-title": p ? "true" : "false",
185
205
  "data-state": f ? "closing" : "open",
186
206
  className: [
187
- U({ variant: e, className: A }),
207
+ $({ variant: e, className: A }),
188
208
  // Entry: fade + slide-down on mount. Exit: fade + slide-up + slight
189
209
  // scale when dismissed. Driven by `tw-animate-css`. Respects
190
210
  // `prefers-reduced-motion` via `motion-safe:` and zeroes under the
@@ -200,16 +220,17 @@ const w = a(
200
220
  ].join(" "),
201
221
  ...N,
202
222
  children: [
203
- v ? /* @__PURE__ */ t("span", { className: p ? $ : h, children: v }) : null,
223
+ v ? /* @__PURE__ */ t("span", { className: p ? q : h, children: v }) : null,
204
224
  /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: u }),
205
- s ? /* @__PURE__ */ t(
225
+ o ? /* @__PURE__ */ t(
206
226
  "button",
207
227
  {
208
228
  type: "button",
209
229
  "aria-label": T("common.close", "Close"),
210
230
  onClick: S,
211
- className: q,
212
- children: /* @__PURE__ */ t(X, { "aria-hidden": "true", className: "ds:size-4" })
231
+ "data-alert-dismiss": "",
232
+ className: J,
233
+ children: /* @__PURE__ */ t(W, { "aria-hidden": "true", className: "ds:size-4" })
213
234
  }
214
235
  ) : null
215
236
  ]
@@ -217,13 +238,13 @@ const w = a(
217
238
  );
218
239
  }
219
240
  );
220
- w.displayName = "Alert";
221
- const nt = Object.assign(w, {
241
+ C.displayName = "Alert";
242
+ const dt = Object.assign(C, {
222
243
  Title: c,
223
244
  Description: x,
224
245
  Action: _
225
246
  });
226
247
  export {
227
- nt as A
248
+ dt as A
228
249
  };
229
- //# sourceMappingURL=alert-ywPR59NE.js.map
250
+ //# sourceMappingURL=alert-CUTxnym2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-CUTxnym2.js","sources":["../../src/components/alert/alert.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n isValidElement,\n useCallback,\n useRef,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport {\n CircleArrowUp,\n CircleCheck,\n CircleX,\n Info,\n TriangleAlert,\n X,\n} from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\n\nconst alertVariants = cva(\n [\n // Default `items-center` keeps the icon + dismiss optically aligned\n // with a single-line description. The `data-[has-title=true]`\n // selector flips to `items-start` when an `<Alert.Title>` is\n // present so the icon anchors to the heading's top instead of\n // floating against the centre of the title+description block.\n // For multi-line descriptions without a title, `items-center` still\n // looks right at 2–3 lines and matches Toast / Notification.\n 'ds:flex ds:items-center ds:data-[has-title=true]:items-start ds:gap-[var(--spacing-md)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:border ds:border-[length:var(--border-width-sm)]',\n 'ds:p-[var(--spacing-md)]',\n 'ds:break-words',\n ].join(' '),\n {\n variants: {\n // Each variant paints `<Button intent=\"tonal\">` descendants via a\n // child selector — the button carries `data-intent=\"tonal\"`, the\n // Alert applies the matching tint (`*-foreground` for bg + the\n // surface `--background` for fg). Descendant selectors sidestep\n // custom-property inheritance and are rock-solid across themes.\n variant: {\n info: [\n 'ds:border-[color:var(--info)]',\n 'ds:bg-[color-mix(in_srgb,var(--info)_10%,transparent)]',\n 'ds:text-[var(--info-foreground)]',\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--info-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n success: [\n 'ds:border-[color:var(--success)]',\n 'ds:bg-[color-mix(in_srgb,var(--success)_10%,transparent)]',\n 'ds:text-[var(--success-foreground)]',\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--success-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n warning: [\n 'ds:border-[color:var(--warning)]',\n 'ds:bg-[color-mix(in_srgb,var(--warning)_10%,transparent)]',\n 'ds:text-[var(--warning-foreground)]',\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--warning-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n error: [\n 'ds:border-[color:var(--error)]',\n 'ds:bg-[color-mix(in_srgb,var(--error)_10%,transparent)]',\n 'ds:text-[var(--error-foreground)]',\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--error-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n // Sales / marketing upsell — accent magenta via the --promo\n // semantic pair so marketing pushes (product hub → warning\n // stack) read as offers, not operational warnings. Surface is\n // the same subtle accent gradient as SidebarUpgradeChip (it\n // flattens in the accessible themes and follows Canvas in\n // forced-colors), keeping the two upsell affordances kin.\n promo: [\n 'ds:border-[color:var(--promo)]',\n 'ds:bg-[image:var(--gradient-surface-subtle-accent)]',\n 'ds:text-[var(--promo-foreground)]',\n 'ds:[&_[data-intent=tonal]]:bg-[color:var(--promo-foreground)]',\n 'ds:[&_[data-intent=tonal]]:text-[color:var(--background)]',\n ].join(' '),\n },\n },\n defaultVariants: {\n variant: 'info',\n },\n },\n);\n\n// Icon stays `mt-0.5` only when an `<Alert.Title>` is present — that\n// offset compensates for the title's cap-height vs. line-box origin so\n// the glyph aligns with the heading's caps. Without a title, the\n// container uses `items-center` and the offset would push the icon\n// 2px off the optical axis.\nconst ICON_BASE = 'ds:shrink-0 ds:size-5';\nconst ICON_WITH_TITLE = `${ICON_BASE} ds:mt-0.5`;\n\nconst CLOSE_BUTTON_CLASSES = [\n // Default (no title): the alert root uses `items-center` and the\n // button centres in the cross-axis. A centred 16×16 glyph inside a\n // 44×44 button aligns optically with a single-line description.\n // With a title: the root flips to `items-start` so the button's top\n // edge aligns with the title row top. A centred glyph would then\n // land ~11 px below the title's optical centre (button height is\n // --min-target-size, much taller than the title's line-height). The\n // `[data-has-title=true]` variant below flips the button to\n // `items-start` and adds a block-start padding that pulls the glyph\n // up onto the title row — same cap-height compensation idea as the\n // leading icon's `mt-0.5`.\n 'ds:ms-auto ds:shrink-0 ds:inline-flex ds:items-center ds:justify-center',\n 'ds:[[data-has-title=true]_&]:items-start',\n 'ds:[[data-has-title=true]_&]:pt-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:min-h-[var(--min-target-size)] ds:min-w-[var(--min-target-size)]',\n 'ds:-mt-[var(--spacing-xs)] ds:-me-[var(--spacing-xs)]',\n 'ds:text-current ds:opacity-70',\n 'ds:hover:opacity-100',\n 'ds:transition-opacity ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n].join(' ');\n\nconst VARIANT_CONFIG = {\n info: { icon: <Info aria-hidden=\"true\" />, role: 'status', live: 'polite' },\n success: {\n icon: <CircleCheck aria-hidden=\"true\" />,\n role: 'status',\n live: 'polite',\n },\n warning: {\n icon: <TriangleAlert aria-hidden=\"true\" />,\n role: 'alert',\n live: 'assertive',\n },\n error: {\n icon: <CircleX aria-hidden=\"true\" />,\n role: 'alert',\n live: 'assertive',\n },\n // Promotions never interrupt — same polite semantics as info.\n promo: {\n icon: <CircleArrowUp aria-hidden=\"true\" />,\n role: 'status',\n live: 'polite',\n },\n} as const;\n\ninterface AlertTitleProps extends HTMLAttributes<HTMLHeadingElement> {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';\n}\n\nconst AlertTitle = forwardRef<HTMLHeadingElement, AlertTitleProps>(\n ({ as: Tag = 'h5', className, ...props }, ref) => (\n <Tag\n ref={ref}\n className={['type-title-item', className].filter(Boolean).join(' ')}\n {...props}\n />\n ),\n);\nAlertTitle.displayName = 'Alert.Title';\n\nconst AlertDescription = forwardRef<\n HTMLParagraphElement,\n HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n // `mt` is gated on the root's `data-has-title=\"true\"` attribute so\n // the margin only paints when there's a Title above the\n // Description to separate from. Without this gate, a Description\n // rendered alone sits a few pixels below the icon + dismiss ×\n // optical centre — visible on the AlfaDocs marketing privacy\n // generator before HTP-4860's follow-up fix.\n className={[\n 'ds:[[data-has-title=true]_&]:mt-[var(--spacing-xs)] type-body-sm',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n));\nAlertDescription.displayName = 'Alert.Description';\n\nconst AlertAction = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={[\n 'ds:mt-[var(--spacing-sm)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\n {...props}\n />\n ),\n);\nAlertAction.displayName = 'Alert.Action';\n\nexport interface AlertProps\n extends\n Omit<HTMLAttributes<HTMLDivElement>, 'role'>,\n VariantProps<typeof alertVariants> {\n variant?: 'info' | 'success' | 'warning' | 'error' | 'promo';\n dismissible?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n icon?: ReactNode;\n live?: 'assertive' | 'polite' | 'off';\n}\n\nexport type { AlertTitleProps };\n\nconst AlertRoot = forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n variant = 'info',\n dismissible = false,\n open: controlledOpen,\n onOpenChange,\n icon,\n live,\n className,\n children,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [isOpenRaw, setOpen] = useControllableState<boolean>({\n value: controlledOpen,\n defaultValue: true,\n onChange: onOpenChange,\n });\n const isOpen = isOpenRaw ?? true;\n const [isClosing, setIsClosing] = useState(false);\n const closeTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const animationDurationMs = useCallback((): number => {\n if (typeof window === 'undefined') return 200;\n const raw = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--animation-duration');\n if (!raw) return 200;\n const trimmed = raw.trim();\n const n = parseFloat(trimmed);\n if (!Number.isFinite(n)) return 200;\n return trimmed.endsWith('ms') ? n : n * 1000;\n }, []);\n\n if (!isOpen) return null;\n\n const config = VARIANT_CONFIG[variant];\n const effectiveIcon = icon !== undefined ? icon : config.icon;\n\n // Detect an `<Alert.Title>` anywhere in the immediate children so\n // the root can flip its cross-axis alignment. Nested wrappers\n // around a Title aren't supported — keep the API as flat as the\n // existing `Alert.Title` / `Alert.Description` convention.\n const hasTitle = Children.toArray(children).some(\n (child) => isValidElement(child) && child.type === AlertTitle,\n );\n\n const handleDismiss = () => {\n if (isClosing) return;\n setIsClosing(true);\n if (closeTimerRef.current) clearTimeout(closeTimerRef.current);\n closeTimerRef.current = setTimeout(() => {\n setIsClosing(false);\n setOpen(false);\n }, animationDurationMs());\n };\n\n return (\n <div\n ref={ref}\n role={config.role}\n aria-live={live ?? config.live}\n data-component=\"alert\"\n data-has-title={hasTitle ? 'true' : 'false'}\n data-state={isClosing ? 'closing' : 'open'}\n className={[\n alertVariants({ variant, className }),\n // Entry: fade + slide-down on mount. Exit: fade + slide-up + slight\n // scale when dismissed. Driven by `tw-animate-css`. Respects\n // `prefers-reduced-motion` via `motion-safe:` and zeroes under the\n // accessible theme (`--animation-duration: 0ms`).\n 'ds:motion-safe:animate-in ds:motion-safe:fade-in-0 ds:motion-safe:slide-in-from-top-2',\n 'ds:motion-safe:data-[state=closing]:animate-out ds:motion-safe:data-[state=closing]:fade-out-0',\n 'ds:motion-safe:data-[state=closing]:slide-out-to-top-2 ds:motion-safe:data-[state=closing]:zoom-out-95',\n // Pin the exit's end-state until React unmounts. Without\n // `fill-mode-forwards` the element snaps back to opacity:1 for one\n // paint frame after the animation ends.\n 'ds:motion-safe:data-[state=closing]:fill-mode-forwards',\n 'ds:motion-safe:duration-[var(--animation-duration)]',\n ].join(' ')}\n {...props}\n >\n {effectiveIcon ? (\n <span className={hasTitle ? ICON_WITH_TITLE : ICON_BASE}>\n {effectiveIcon}\n </span>\n ) : null}\n\n <div className=\"ds:flex-1 ds:min-w-0\">{children}</div>\n\n {dismissible ? (\n <button\n type=\"button\"\n aria-label={t('common.close', 'Close')}\n onClick={handleDismiss}\n // Stable hook for containers (WarningStack) that hand focus to\n // a neighbouring dismiss control after this one unmounts.\n data-alert-dismiss=\"\"\n className={CLOSE_BUTTON_CLASSES}\n >\n <X aria-hidden=\"true\" className=\"ds:size-4\" />\n </button>\n ) : null}\n </div>\n );\n },\n);\n\nAlertRoot.displayName = 'Alert';\n\nexport const Alert = Object.assign(AlertRoot, {\n Title: AlertTitle,\n Description: AlertDescription,\n Action: AlertAction,\n});\n"],"names":["alertVariants","cva","ICON_BASE","ICON_WITH_TITLE","CLOSE_BUTTON_CLASSES","VARIANT_CONFIG","jsx","Info","CircleCheck","TriangleAlert","CircleX","CircleArrowUp","AlertTitle","forwardRef","Tag","className","props","ref","AlertDescription","AlertAction","AlertRoot","variant","dismissible","controlledOpen","onOpenChange","icon","live","children","t","useTranslation","isOpenRaw","setOpen","useControllableState","isOpen","isClosing","setIsClosing","useState","closeTimerRef","useRef","animationDurationMs","useCallback","raw","trimmed","n","config","effectiveIcon","hasTitle","Children","child","isValidElement","handleDismiss","jsxs","X","Alert"],"mappings":"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"}
@@ -0,0 +1,412 @@
1
+ import { a as y, j as N } from "./date-picker-variants-CXEAx3O_.js";
2
+ import { s as p } from "./subDays-Bs00akhK.js";
3
+ import { jsx as u, jsxs as f } from "react/jsx-runtime";
4
+ import { useMemo as M } from "react";
5
+ import { useTranslation as T } from "react-i18next";
6
+ import { C as I } from "./card-DPmk26CL.js";
7
+ import { B as x } from "./badge-zsf5i5bH.js";
8
+ const _ = 280, S = 14, b = 266, C = 28;
9
+ function w(t) {
10
+ if (t < 0) return "preconception";
11
+ const a = Math.floor(t / 7);
12
+ return a < 14 ? "first" : a < 28 ? "second" : a < 42 ? "third" : "postterm";
13
+ }
14
+ function mt(t, a) {
15
+ const { method: s, date: r } = t;
16
+ let o, c;
17
+ if (s === "lmp") {
18
+ const m = t.cycleLength ?? C;
19
+ o = r, c = y(r, _ + (m - C));
20
+ } else if (s === "conception")
21
+ o = p(r, S), c = y(r, b);
22
+ else {
23
+ const m = t.embryoAge ?? 5, h = p(r, m);
24
+ o = p(h, S), c = y(h, b);
25
+ }
26
+ const e = N(a, o), l = e < 0 ? null : {
27
+ weeks: Math.floor(e / 7),
28
+ days: e % 7,
29
+ totalDays: e
30
+ };
31
+ return {
32
+ dueDate: c,
33
+ gestationalStart: o,
34
+ gestationalAge: l,
35
+ trimester: w(e)
36
+ };
37
+ }
38
+ const R = [12, 24, 28, 37, 40];
39
+ function gt(t) {
40
+ return R.map((a) => ({
41
+ key: `w${a}`,
42
+ week: a,
43
+ date: y(t, a * 7)
44
+ }));
45
+ }
46
+ const Dt = {
47
+ preconception: "neutral",
48
+ first: "info",
49
+ second: "success",
50
+ third: "warning",
51
+ postterm: "error"
52
+ }, $ = {
53
+ preconception: "--muted",
54
+ first: "--info",
55
+ second: "--success",
56
+ third: "--warning-readable",
57
+ postterm: "--destructive"
58
+ };
59
+ function ft(t) {
60
+ return $[t];
61
+ }
62
+ const i = (t, a = 0) => t * 7 + a;
63
+ function F(t, a = "unknown", s = "nice") {
64
+ if (t === "singleton") return null;
65
+ if (t === "triplet")
66
+ return { startDay: i(35, 0), endDay: i(35, 6), source: "NICE-NG137" };
67
+ const r = a === "unknown" ? "monochorionic-diamniotic" : a;
68
+ if (s === "acog")
69
+ switch (r) {
70
+ case "dichorionic-diamniotic":
71
+ return {
72
+ startDay: i(38, 0),
73
+ endDay: i(38, 6),
74
+ source: "ACOG-PB231"
75
+ };
76
+ case "monochorionic-diamniotic":
77
+ return {
78
+ startDay: i(36, 0),
79
+ endDay: i(37, 6),
80
+ source: "ACOG-PB231"
81
+ };
82
+ case "monochorionic-monoamniotic":
83
+ return {
84
+ startDay: i(32, 0),
85
+ endDay: i(34, 0),
86
+ source: "ACOG-PB231"
87
+ };
88
+ }
89
+ switch (r) {
90
+ case "dichorionic-diamniotic":
91
+ return { startDay: i(37, 0), endDay: i(37, 6), source: "NICE-NG137" };
92
+ case "monochorionic-diamniotic":
93
+ return { startDay: i(36, 0), endDay: i(36, 6), source: "NICE-NG137" };
94
+ case "monochorionic-monoamniotic":
95
+ return { startDay: i(32, 0), endDay: i(33, 6), source: "NICE-NG137" };
96
+ }
97
+ }
98
+ const L = 45, B = 84;
99
+ function H(t) {
100
+ return 8.052 * Math.sqrt(t * 1.037) + 23.73;
101
+ }
102
+ function U(t) {
103
+ return t <= i(8, 6) ? 5 : t <= i(15, 6) ? 7 : t <= i(21, 6) ? 10 : t <= i(27, 6) ? 14 : 21;
104
+ }
105
+ function ht(t) {
106
+ const a = N(t.scanDate, t.lmp), s = Math.round(H(t.crlMm)), r = Math.abs(a - s), o = U(a), c = r > o;
107
+ return {
108
+ gestationalStart: c ? p(t.scanDate, s) : t.lmp,
109
+ redated: c,
110
+ discrepancyDays: r,
111
+ thresholdDays: o,
112
+ ecoDiffDays: s - a,
113
+ crlInRange: t.crlMm >= L && t.crlMm <= B
114
+ };
115
+ }
116
+ const n = (t, a = 0) => t * 7 + a, P = (t) => t === "uk" ? {
117
+ key: "dating-nt",
118
+ category: "screening",
119
+ startDay: n(11, 2),
120
+ endDay: n(14, 1),
121
+ source: "NICE-NG201"
122
+ } : {
123
+ key: "dating-nt",
124
+ category: "screening",
125
+ startDay: n(11, 0),
126
+ endDay: n(13, 6),
127
+ source: "SIEOG-2021"
128
+ }, W = {
129
+ key: "nipt",
130
+ category: "screening",
131
+ startDay: n(10, 0),
132
+ endDay: n(13, 6),
133
+ condition: "on-indication",
134
+ source: "ACOG-CO700"
135
+ }, Y = {
136
+ key: "cvs",
137
+ category: "diagnostic",
138
+ startDay: n(11, 0),
139
+ endDay: n(13, 6),
140
+ condition: "on-indication",
141
+ source: "ISS"
142
+ }, j = {
143
+ key: "amnio",
144
+ category: "diagnostic",
145
+ startDay: n(15, 0),
146
+ endDay: n(18, 0),
147
+ condition: "on-indication",
148
+ source: "ISS"
149
+ }, K = (t) => t === "uk" ? {
150
+ key: "morphology",
151
+ category: "scan",
152
+ startDay: n(18, 0),
153
+ endDay: n(20, 6),
154
+ source: "NICE-NG201"
155
+ } : t === "international" ? {
156
+ key: "morphology",
157
+ category: "scan",
158
+ startDay: n(18, 0),
159
+ endDay: n(22, 0),
160
+ source: "ACOG-CO700"
161
+ } : {
162
+ key: "morphology",
163
+ category: "scan",
164
+ startDay: n(19, 0),
165
+ endDay: n(21, 6),
166
+ source: "SIEOG-2021"
167
+ }, V = {
168
+ key: "growth",
169
+ category: "scan",
170
+ startDay: n(30, 0),
171
+ endDay: n(33, 6),
172
+ condition: "on-indication",
173
+ source: "SIEOG-2021"
174
+ }, q = {
175
+ key: "ogtt-high",
176
+ category: "lab",
177
+ startDay: n(16, 0),
178
+ endDay: n(18, 6),
179
+ condition: "gdm-high",
180
+ source: "SID-AMD"
181
+ }, X = {
182
+ key: "ogtt-medium",
183
+ category: "lab",
184
+ startDay: n(24, 0),
185
+ endDay: n(28, 6),
186
+ condition: "gdm-medium",
187
+ source: "SID-AMD"
188
+ }, v = (t) => t === "it" ? {
189
+ key: "gbs",
190
+ category: "lab",
191
+ startDay: n(36, 0),
192
+ endDay: n(37, 6),
193
+ source: "ISS"
194
+ } : {
195
+ // CDC / legacy international protocols open a week earlier.
196
+ key: "gbs",
197
+ category: "lab",
198
+ startDay: n(35, 0),
199
+ endDay: n(37, 6),
200
+ source: "NICE-NG201"
201
+ }, z = {
202
+ key: "anti-d",
203
+ category: "prophylaxis",
204
+ startDay: n(28, 0),
205
+ endDay: n(28, 0),
206
+ condition: "rh-negative",
207
+ source: "ISS"
208
+ }, J = {
209
+ key: "term",
210
+ category: "milestone",
211
+ startDay: n(37, 0),
212
+ endDay: n(37, 0),
213
+ plurality: ["singleton"],
214
+ source: "ACOG-CO700"
215
+ }, Q = {
216
+ key: "edd",
217
+ category: "milestone",
218
+ startDay: n(40, 0),
219
+ endDay: n(40, 0),
220
+ plurality: ["singleton"],
221
+ source: "ACOG-CO700"
222
+ }, Z = {
223
+ key: "chorionicity",
224
+ category: "scan",
225
+ startDay: n(11, 2),
226
+ endDay: n(14, 1),
227
+ plurality: ["twin", "triplet"],
228
+ source: "ISUOG-2025"
229
+ };
230
+ function tt(t) {
231
+ return [
232
+ P(t),
233
+ W,
234
+ Y,
235
+ Z,
236
+ j,
237
+ K(t),
238
+ q,
239
+ V,
240
+ X,
241
+ J,
242
+ v(t),
243
+ z,
244
+ Q
245
+ ];
246
+ }
247
+ function at(t, a, s) {
248
+ if (t === "singleton") return [];
249
+ const r = a === "dichorionic-diamniotic", o = r ? 4 : 2, c = r ? 20 : 16, e = F(t, a, s), l = [
250
+ {
251
+ key: "surveillance",
252
+ category: "scan",
253
+ startDay: n(c, 0),
254
+ // Runs until the planned-birth window opens (fallback 36w if none).
255
+ endDay: e ? e.startDay : n(36, 0),
256
+ source: r ? "NICE-NG137" : "ISUOG-2025",
257
+ meta: { everyWeeks: o, fromWeek: c }
258
+ }
259
+ ];
260
+ return e && l.push({
261
+ key: "birth",
262
+ category: "milestone",
263
+ startDay: e.startDay,
264
+ endDay: e.endDay,
265
+ source: e.source
266
+ }), l;
267
+ }
268
+ function et(t, a) {
269
+ if (t.plurality && !t.plurality.includes(a.plurality) || t.chorionicity && !t.chorionicity.includes(a.chorionicity))
270
+ return !1;
271
+ switch (t.condition) {
272
+ case "rh-negative":
273
+ return a.rhNegative;
274
+ case "gdm-high":
275
+ return a.gdmRisk === "high";
276
+ case "gdm-medium":
277
+ return a.gdmRisk === "medium";
278
+ case "on-indication":
279
+ return a.includeOnIndication;
280
+ default:
281
+ return !0;
282
+ }
283
+ }
284
+ function nt(t, a, s, r) {
285
+ const o = N(t, s);
286
+ return N(a, s) < 0 ? { status: "past", near: !1 } : o <= 0 ? { status: "current", near: !0 } : { status: "upcoming", near: o <= r };
287
+ }
288
+ function pt(t, a = {}) {
289
+ const {
290
+ today: s = /* @__PURE__ */ new Date(),
291
+ schedule: r = "it",
292
+ plurality: o = "singleton",
293
+ chorionicity: c = "unknown",
294
+ rhNegative: e = !1,
295
+ gdmRisk: l,
296
+ includeOnIndication: m = !1,
297
+ birthGuideline: h = "nice",
298
+ nearDays: G = 14
299
+ } = a;
300
+ return [
301
+ ...tt(r),
302
+ ...at(o, c, h)
303
+ ].filter(
304
+ (d) => et(d, {
305
+ plurality: o,
306
+ chorionicity: c,
307
+ rhNegative: e,
308
+ gdmRisk: l,
309
+ includeOnIndication: m
310
+ })
311
+ ).map((d) => {
312
+ const g = y(t, d.startDay), D = y(t, d.endDay), { status: O, near: A } = nt(g, D, s, G);
313
+ return {
314
+ ...d,
315
+ start: g,
316
+ end: D,
317
+ single: d.startDay === d.endDay,
318
+ status: O,
319
+ near: A
320
+ };
321
+ }).sort((d, g) => {
322
+ const D = d.startDay - g.startDay;
323
+ return D !== 0 ? D : d.endDay - g.endDay;
324
+ });
325
+ }
326
+ function rt(t, a) {
327
+ return t === "past" ? "neutral" : t === "current" || a ? "warning" : "info";
328
+ }
329
+ function k(t) {
330
+ return `${Math.floor(t / 7)}+${t % 7}`;
331
+ }
332
+ const st = {
333
+ scan: "activity",
334
+ screening: "activity",
335
+ diagnostic: "activity",
336
+ lab: "droplets",
337
+ prophylaxis: "heart",
338
+ milestone: "calendar"
339
+ };
340
+ function E(t, a) {
341
+ return a(`antenatalSchedule.event.${t.key}`, t.meta ?? {});
342
+ }
343
+ function Nt(t, a, s) {
344
+ return t.map((r) => ({
345
+ icon: st[r.category],
346
+ label: E(r, a),
347
+ value: r.single ? s(r.start) : `${s(r.start)} – ${s(r.end)}`
348
+ }));
349
+ }
350
+ function It({
351
+ events: t
352
+ }) {
353
+ const { t: a, i18n: s } = T(), r = M(
354
+ () => new Intl.DateTimeFormat(s.language, { dateStyle: "medium" }),
355
+ [s.language]
356
+ ), o = (e) => E(e, a), c = (e) => e.single ? r.format(e.start) : `${r.format(e.start)} – ${r.format(
357
+ e.end
358
+ )}`;
359
+ return /* @__PURE__ */ u(I, { variant: "elevated", children: /* @__PURE__ */ f(I.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
360
+ /* @__PURE__ */ u("span", { className: "type-label ds:text-muted-foreground", children: a("antenatalSchedule.scheduleLabel") }),
361
+ /* @__PURE__ */ u("ul", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: t.map((e) => /* @__PURE__ */ f(
362
+ "li",
363
+ {
364
+ "data-status": e.status,
365
+ className: "ds:flex ds:flex-wrap ds:items-start ds:justify-between ds:gap-x-[var(--spacing-md)] ds:gap-y-[var(--spacing-xs)] ds:border-b ds:border-border ds:pb-[var(--spacing-sm)] ds:last:border-b-0 ds:last:pb-0",
366
+ children: [
367
+ /* @__PURE__ */ f("span", { className: "ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-2xs)]", children: [
368
+ /* @__PURE__ */ u("span", { className: "type-body ds:text-foreground", children: o(e) }),
369
+ /* @__PURE__ */ f("span", { className: "type-meta ds:text-muted-foreground", children: [
370
+ a(`antenatalSchedule.category.${e.category}`),
371
+ " ·",
372
+ " ",
373
+ k(e.startDay),
374
+ e.single ? "" : ` – ${k(e.endDay)}`,
375
+ " ·",
376
+ " ",
377
+ a(`antenatalSchedule.source.${e.source}`),
378
+ e.condition === "on-indication" ? ` · ${a("antenatalSchedule.onIndication")}` : ""
379
+ ] })
380
+ ] }),
381
+ /* @__PURE__ */ f("span", { className: "ds:flex ds:flex-col ds:items-end ds:gap-[var(--spacing-2xs)] ds:text-end", children: [
382
+ /* @__PURE__ */ u("span", { className: "type-body ds:text-foreground", children: c(e) }),
383
+ /* @__PURE__ */ u(x, { variant: rt(e.status, e.near), children: e.status === "upcoming" && e.near ? a("antenatalSchedule.near") : a(`antenatalSchedule.status.${e.status}`) })
384
+ ] })
385
+ ]
386
+ },
387
+ e.key
388
+ )) }),
389
+ /* @__PURE__ */ u("p", { className: "type-meta ds:text-muted-foreground", children: a("antenatalSchedule.disclaimer") })
390
+ ] }) });
391
+ }
392
+ export {
393
+ It as A,
394
+ B as C,
395
+ C as D,
396
+ _ as G,
397
+ R as M,
398
+ b as T,
399
+ L as a,
400
+ H as b,
401
+ mt as c,
402
+ U as d,
403
+ pt as e,
404
+ Dt as f,
405
+ gt as g,
406
+ Nt as h,
407
+ ft as i,
408
+ F as p,
409
+ ht as r,
410
+ w as t
411
+ };
412
+ //# sourceMappingURL=antenatal-schedule-timeline-Dg0m0yFl.js.map