@alfadocs/ui-kit-debug 0.48.0 → 0.50.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 (318) 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-CdiqkF05.js +413 -0
  10. package/dist/_chunks/antenatal-schedule-timeline-CdiqkF05.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-DykajWzh.js +256 -0
  36. package/dist/_chunks/due-date-calculator-DykajWzh.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-Bc55hq6t.js +311 -0
  50. package/dist/_chunks/gestational-age-calculator-Bc55hq6t.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-dating-48Gfvod1.js +421 -0
  78. package/dist/_chunks/pregnancy-dating-48Gfvod1.js.map +1 -0
  79. package/dist/_chunks/pregnancy-weight-gain-CCGrvarh.js +322 -0
  80. package/dist/_chunks/pregnancy-weight-gain-CCGrvarh.js.map +1 -0
  81. package/dist/_chunks/product-hub-panel-CkfZBA3t.js +620 -0
  82. package/dist/_chunks/product-hub-panel-CkfZBA3t.js.map +1 -0
  83. package/dist/_chunks/{pt-D3J-1c_7.js → pt-yFXs1VvH.js} +2 -2
  84. package/dist/_chunks/{pt-D3J-1c_7.js.map → pt-yFXs1VvH.js.map} +1 -1
  85. package/dist/_chunks/{ro-BKAbbEA3.js → ro-DsCzSrzR.js} +2 -2
  86. package/dist/_chunks/{ro-BKAbbEA3.js.map → ro-DsCzSrzR.js.map} +1 -1
  87. package/dist/_chunks/{ru-BeG8f0Ep.js → ru-DgDxL0pc.js} +3 -3
  88. package/dist/_chunks/{ru-BeG8f0Ep.js.map → ru-DgDxL0pc.js.map} +1 -1
  89. package/dist/_chunks/{sidebar-_vJXI9rB.js → sidebar-h78cTNLh.js} +440 -338
  90. package/dist/_chunks/sidebar-h78cTNLh.js.map +1 -0
  91. package/dist/_chunks/{sign-document-DPI2pY9V.js → sign-document-CZkAf28g.js} +2 -2
  92. package/dist/_chunks/{sign-document-DPI2pY9V.js.map → sign-document-CZkAf28g.js.map} +1 -1
  93. package/dist/_chunks/{sq-_hRPaeUy.js → sq-DHlCYN67.js} +2 -2
  94. package/dist/_chunks/{sq-_hRPaeUy.js.map → sq-DHlCYN67.js.map} +1 -1
  95. package/dist/_chunks/subDays-Bs00akhK.js +8 -0
  96. package/dist/_chunks/{subDays-Dv7q9S7u.js.map → subDays-Bs00akhK.js.map} +1 -1
  97. package/dist/_chunks/{sv-g009fSpe.js → sv-O0QaQs_s.js} +2 -2
  98. package/dist/_chunks/{sv-g009fSpe.js.map → sv-O0QaQs_s.js.map} +1 -1
  99. package/dist/_chunks/{tr-OKUOuhMW.js → tr-BmNDRuio.js} +2 -2
  100. package/dist/_chunks/{tr-OKUOuhMW.js.map → tr-BmNDRuio.js.map} +1 -1
  101. package/dist/_chunks/warning-stack-CXfoAT-_.js +220 -0
  102. package/dist/_chunks/warning-stack-CXfoAT-_.js.map +1 -0
  103. package/dist/_chunks/{workflow-map-ZXw-zsZ8.js → workflow-map-DzX_LI4y.js} +2 -2
  104. package/dist/_chunks/{workflow-map-ZXw-zsZ8.js.map → workflow-map-DzX_LI4y.js.map} +1 -1
  105. package/dist/_chunks/{zh-CN-De4zwEhx.js → zh-CN-CgVJZEzz.js} +3 -3
  106. package/dist/_chunks/{zh-CN-De4zwEhx.js.map → zh-CN-CgVJZEzz.js.map} +1 -1
  107. package/dist/agent-catalog.json +44 -1
  108. package/dist/components/_shared/antenatal-schedule-timeline.d.ts +18 -0
  109. package/dist/components/_shared/antenatal-schedule-timeline.d.ts.map +1 -0
  110. package/dist/components/_shared/antenatal-schedule.d.ts +68 -0
  111. package/dist/components/_shared/antenatal-schedule.d.ts.map +1 -0
  112. package/dist/components/_shared/index.d.ts +3 -0
  113. package/dist/components/_shared/index.d.ts.map +1 -1
  114. package/dist/components/_shared/obstetrics.d.ts +138 -0
  115. package/dist/components/_shared/obstetrics.d.ts.map +1 -0
  116. package/dist/components/address-autocomplete/index.js +1 -1
  117. package/dist/components/ai-consent-banner/index.js +1 -1
  118. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +1 -1
  119. package/dist/components/ai-tools-rail/index.js +1 -1
  120. package/dist/components/alert/alert.d.ts +2 -2
  121. package/dist/components/alert/alert.d.ts.map +1 -1
  122. package/dist/components/alert/index.js +1 -1
  123. package/dist/components/audio-recorder/index.js +1 -1
  124. package/dist/components/bishop-score/bishop-score.d.ts +27 -0
  125. package/dist/components/bishop-score/bishop-score.d.ts.map +1 -0
  126. package/dist/components/bishop-score/bishop.d.ts +30 -0
  127. package/dist/components/bishop-score/bishop.d.ts.map +1 -0
  128. package/dist/components/bishop-score/index.d.ts +4 -0
  129. package/dist/components/bishop-score/index.d.ts.map +1 -0
  130. package/dist/components/bishop-score/index.js +10 -0
  131. package/dist/components/bishop-score/index.js.map +1 -0
  132. package/dist/components/booking/index.js +1 -1
  133. package/dist/components/cycle-calculator/cycle-calculator.d.ts.map +1 -1
  134. package/dist/components/cycle-calculator/cycle.d.ts +5 -0
  135. package/dist/components/cycle-calculator/cycle.d.ts.map +1 -1
  136. package/dist/components/cycle-calculator/index.js +1 -1
  137. package/dist/components/data-table/index.js +1 -1
  138. package/dist/components/date-picker/index.js +1 -1
  139. package/dist/components/date-range-picker/index.js +1 -1
  140. package/dist/components/date-time-picker/index.js +1 -1
  141. package/dist/components/document-scanner/index.js +1 -1
  142. package/dist/components/due-date-calculator/due-date-calculator.d.ts +19 -1
  143. package/dist/components/due-date-calculator/due-date-calculator.d.ts.map +1 -1
  144. package/dist/components/due-date-calculator/gestation.d.ts +1 -59
  145. package/dist/components/due-date-calculator/gestation.d.ts.map +1 -1
  146. package/dist/components/due-date-calculator/index.d.ts +1 -1
  147. package/dist/components/due-date-calculator/index.d.ts.map +1 -1
  148. package/dist/components/due-date-calculator/index.js +16 -10
  149. package/dist/components/fetal-weight/efw.d.ts +25 -0
  150. package/dist/components/fetal-weight/efw.d.ts.map +1 -0
  151. package/dist/components/fetal-weight/fetal-weight.d.ts +27 -0
  152. package/dist/components/fetal-weight/fetal-weight.d.ts.map +1 -0
  153. package/dist/components/fetal-weight/index.d.ts +4 -0
  154. package/dist/components/fetal-weight/index.d.ts.map +1 -0
  155. package/dist/components/fetal-weight/index.js +6 -0
  156. package/dist/components/fetal-weight/index.js.map +1 -0
  157. package/dist/components/freemium-paywall/index.js +1 -1
  158. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts +32 -1
  159. package/dist/components/gestational-age-calculator/gestational-age-calculator.d.ts.map +1 -1
  160. package/dist/components/gestational-age-calculator/index.js +1 -1
  161. package/dist/components/hcg-doubling/hcg-doubling.d.ts +31 -0
  162. package/dist/components/hcg-doubling/hcg-doubling.d.ts.map +1 -0
  163. package/dist/components/hcg-doubling/hcg.d.ts +33 -0
  164. package/dist/components/hcg-doubling/hcg.d.ts.map +1 -0
  165. package/dist/components/hcg-doubling/index.d.ts +4 -0
  166. package/dist/components/hcg-doubling/index.d.ts.map +1 -0
  167. package/dist/components/hcg-doubling/index.js +7 -0
  168. package/dist/components/hcg-doubling/index.js.map +1 -0
  169. package/dist/components/index.d.ts +5 -0
  170. package/dist/components/index.d.ts.map +1 -1
  171. package/dist/components/patient-search/index.js +1 -1
  172. package/dist/components/payment-form/index.js +1 -1
  173. package/dist/components/pdf-viewer/index.js +1 -1
  174. package/dist/components/practice-results/index.js +1 -1
  175. package/dist/components/pregnancy-dating/index.d.ts +3 -0
  176. package/dist/components/pregnancy-dating/index.d.ts.map +1 -0
  177. package/dist/components/pregnancy-dating/index.js +5 -0
  178. package/dist/components/pregnancy-dating/index.js.map +1 -0
  179. package/dist/components/pregnancy-dating/pregnancy-dating.d.ts +60 -0
  180. package/dist/components/pregnancy-dating/pregnancy-dating.d.ts.map +1 -0
  181. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  182. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts +7 -0
  183. package/dist/components/pregnancy-weight-gain/pregnancy-weight-gain.d.ts.map +1 -1
  184. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts +33 -8
  185. package/dist/components/pregnancy-weight-gain/weight-gain.d.ts.map +1 -1
  186. package/dist/components/product-hub-tray/index.d.ts +8 -0
  187. package/dist/components/product-hub-tray/index.d.ts.map +1 -0
  188. package/dist/components/product-hub-tray/index.js +10 -0
  189. package/dist/components/product-hub-tray/index.js.map +1 -0
  190. package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts +4 -0
  191. package/dist/components/product-hub-tray/product-hub-panel.agent.d.ts.map +1 -0
  192. package/dist/components/product-hub-tray/product-hub-panel.d.ts +54 -0
  193. package/dist/components/product-hub-tray/product-hub-panel.d.ts.map +1 -0
  194. package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts +4 -0
  195. package/dist/components/product-hub-tray/product-hub-tray.agent.d.ts.map +1 -0
  196. package/dist/components/product-hub-tray/product-hub-tray.d.ts +115 -0
  197. package/dist/components/product-hub-tray/product-hub-tray.d.ts.map +1 -0
  198. package/dist/components/sidebar/index.d.ts +2 -2
  199. package/dist/components/sidebar/index.d.ts.map +1 -1
  200. package/dist/components/sidebar/index.js +12 -11
  201. package/dist/components/sidebar/sidebar.d.ts +14 -1
  202. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  203. package/dist/components/sign-document/index.js +1 -1
  204. package/dist/components/warning-stack/index.js +1 -1
  205. package/dist/components/warning-stack/warning-stack.d.ts.map +1 -1
  206. package/dist/components/workflow/index.js +1 -1
  207. package/dist/i18n/locales/ar.d.ts +262 -1
  208. package/dist/i18n/locales/ar.d.ts.map +1 -1
  209. package/dist/i18n/locales/ar.js +261 -2
  210. package/dist/i18n/locales/ar.js.map +1 -1
  211. package/dist/i18n/locales/de.d.ts +262 -1
  212. package/dist/i18n/locales/de.d.ts.map +1 -1
  213. package/dist/i18n/locales/de.js +261 -2
  214. package/dist/i18n/locales/de.js.map +1 -1
  215. package/dist/i18n/locales/el.d.ts +262 -1
  216. package/dist/i18n/locales/el.d.ts.map +1 -1
  217. package/dist/i18n/locales/el.js +261 -2
  218. package/dist/i18n/locales/el.js.map +1 -1
  219. package/dist/i18n/locales/en.d.ts +262 -1
  220. package/dist/i18n/locales/en.d.ts.map +1 -1
  221. package/dist/i18n/locales/en.js +261 -2
  222. package/dist/i18n/locales/en.js.map +1 -1
  223. package/dist/i18n/locales/es.d.ts +262 -1
  224. package/dist/i18n/locales/es.d.ts.map +1 -1
  225. package/dist/i18n/locales/es.js +261 -2
  226. package/dist/i18n/locales/es.js.map +1 -1
  227. package/dist/i18n/locales/fr.d.ts +262 -1
  228. package/dist/i18n/locales/fr.d.ts.map +1 -1
  229. package/dist/i18n/locales/fr.js +261 -2
  230. package/dist/i18n/locales/fr.js.map +1 -1
  231. package/dist/i18n/locales/hi.d.ts +262 -1
  232. package/dist/i18n/locales/hi.d.ts.map +1 -1
  233. package/dist/i18n/locales/hi.js +261 -2
  234. package/dist/i18n/locales/hi.js.map +1 -1
  235. package/dist/i18n/locales/it.d.ts +262 -1
  236. package/dist/i18n/locales/it.d.ts.map +1 -1
  237. package/dist/i18n/locales/it.js +261 -2
  238. package/dist/i18n/locales/it.js.map +1 -1
  239. package/dist/i18n/locales/ja.d.ts +262 -1
  240. package/dist/i18n/locales/ja.d.ts.map +1 -1
  241. package/dist/i18n/locales/ja.js +261 -2
  242. package/dist/i18n/locales/ja.js.map +1 -1
  243. package/dist/i18n/locales/nl.d.ts +262 -1
  244. package/dist/i18n/locales/nl.d.ts.map +1 -1
  245. package/dist/i18n/locales/nl.js +261 -2
  246. package/dist/i18n/locales/nl.js.map +1 -1
  247. package/dist/i18n/locales/pl.d.ts +262 -1
  248. package/dist/i18n/locales/pl.d.ts.map +1 -1
  249. package/dist/i18n/locales/pl.js +261 -2
  250. package/dist/i18n/locales/pl.js.map +1 -1
  251. package/dist/i18n/locales/pt.d.ts +262 -1
  252. package/dist/i18n/locales/pt.d.ts.map +1 -1
  253. package/dist/i18n/locales/pt.js +261 -2
  254. package/dist/i18n/locales/pt.js.map +1 -1
  255. package/dist/i18n/locales/ro.d.ts +262 -1
  256. package/dist/i18n/locales/ro.d.ts.map +1 -1
  257. package/dist/i18n/locales/ro.js +261 -2
  258. package/dist/i18n/locales/ro.js.map +1 -1
  259. package/dist/i18n/locales/ru.d.ts +262 -1
  260. package/dist/i18n/locales/ru.d.ts.map +1 -1
  261. package/dist/i18n/locales/ru.js +261 -2
  262. package/dist/i18n/locales/ru.js.map +1 -1
  263. package/dist/i18n/locales/sq.d.ts +262 -1
  264. package/dist/i18n/locales/sq.d.ts.map +1 -1
  265. package/dist/i18n/locales/sq.js +261 -2
  266. package/dist/i18n/locales/sq.js.map +1 -1
  267. package/dist/i18n/locales/sv.d.ts +262 -1
  268. package/dist/i18n/locales/sv.d.ts.map +1 -1
  269. package/dist/i18n/locales/sv.js +261 -2
  270. package/dist/i18n/locales/sv.js.map +1 -1
  271. package/dist/i18n/locales/tr.d.ts +262 -1
  272. package/dist/i18n/locales/tr.d.ts.map +1 -1
  273. package/dist/i18n/locales/tr.js +261 -2
  274. package/dist/i18n/locales/tr.js.map +1 -1
  275. package/dist/i18n/locales/zh.d.ts +262 -1
  276. package/dist/i18n/locales/zh.d.ts.map +1 -1
  277. package/dist/i18n/locales/zh.js +261 -2
  278. package/dist/i18n/locales/zh.js.map +1 -1
  279. package/dist/index.js +661 -632
  280. package/dist/index.js.map +1 -1
  281. package/dist/locales/ar.json +263 -2
  282. package/dist/locales/de.json +263 -2
  283. package/dist/locales/el.json +263 -2
  284. package/dist/locales/en.json +263 -2
  285. package/dist/locales/es.json +263 -2
  286. package/dist/locales/fr.json +263 -2
  287. package/dist/locales/hi.json +263 -2
  288. package/dist/locales/it.json +263 -2
  289. package/dist/locales/ja.json +263 -2
  290. package/dist/locales/nl.json +263 -2
  291. package/dist/locales/pl.json +263 -2
  292. package/dist/locales/pt.json +263 -2
  293. package/dist/locales/ro.json +263 -2
  294. package/dist/locales/ru.json +263 -2
  295. package/dist/locales/sq.json +263 -2
  296. package/dist/locales/sv.json +263 -2
  297. package/dist/locales/tr.json +263 -2
  298. package/dist/locales/zh.json +263 -2
  299. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  300. package/dist/patterns/patient-shell/index.js +1 -1
  301. package/dist/tokens.css +1 -1
  302. package/package.json +21 -1
  303. package/dist/_chunks/ai-tools-rail-CxYG04cw.js.map +0 -1
  304. package/dist/_chunks/alert-ywPR59NE.js.map +0 -1
  305. package/dist/_chunks/cycle-calculator-DYvGm_m1.js +0 -211
  306. package/dist/_chunks/cycle-calculator-DYvGm_m1.js.map +0 -1
  307. package/dist/_chunks/due-date-calculator-BXd3ANj7.js +0 -216
  308. package/dist/_chunks/due-date-calculator-BXd3ANj7.js.map +0 -1
  309. package/dist/_chunks/gestation-mWF4AXea.js +0 -50
  310. package/dist/_chunks/gestation-mWF4AXea.js.map +0 -1
  311. package/dist/_chunks/gestational-age-calculator-Crj6FgZw.js +0 -203
  312. package/dist/_chunks/gestational-age-calculator-Crj6FgZw.js.map +0 -1
  313. package/dist/_chunks/pregnancy-weight-gain-C7dK89jE.js +0 -246
  314. package/dist/_chunks/pregnancy-weight-gain-C7dK89jE.js.map +0 -1
  315. package/dist/_chunks/sidebar-_vJXI9rB.js.map +0 -1
  316. package/dist/_chunks/subDays-Dv7q9S7u.js +0 -8
  317. package/dist/_chunks/warning-stack-DNR3-IbP.js +0 -180
  318. 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,413 @@
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, j = (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
+ }, P = {
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
+ }, W = {
136
+ key: "cvs",
137
+ category: "diagnostic",
138
+ startDay: n(11, 0),
139
+ endDay: n(13, 6),
140
+ condition: "on-indication",
141
+ source: "ISS"
142
+ }, Y = {
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
+ j(t),
233
+ P,
234
+ W,
235
+ Z,
236
+ Y,
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
+ S as j,
409
+ F as p,
410
+ ht as r,
411
+ w as t
412
+ };
413
+ //# sourceMappingURL=antenatal-schedule-timeline-CdiqkF05.js.map