@alfadocs/ui-kit-debug 0.70.0 → 0.71.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 (568) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/address-fields-CPbFJ8e8.js.map +1 -0
  3. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  4. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js.map → ai-prompt-input-V4DdOeqv.js.map} +1 -1
  5. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  6. package/dist/_chunks/alia-sidebar-DvIUzIX9.js.map +1 -0
  7. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
  8. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js.map → anatomy-scheme-CXSk11UJ.js.map} +1 -1
  9. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  10. package/dist/_chunks/app-frame-DIEMIC5V.js.map +1 -0
  11. package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
  12. package/dist/_chunks/appointment-card-DVaeJNVB.js.map +1 -0
  13. package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
  14. package/dist/_chunks/appointment-timeline-PJgnrjFb.js.map +1 -0
  15. package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
  16. package/dist/_chunks/{appointment-tray-DRRw5ROi.js.map → appointment-tray-B16QPGbm.js.map} +1 -1
  17. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
  18. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js.map → audio-recorder-DNDsOLqO.js.map} +1 -1
  19. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  20. package/dist/_chunks/autocomplete-BrONKN8l.js.map +1 -0
  21. package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
  22. package/dist/_chunks/{bishop-score-DnYWtZa_.js.map → bishop-score-Cym_TeQY.js.map} +1 -1
  23. package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
  24. package/dist/_chunks/{booking-DUBI0oqt.js.map → booking-C7do4vaR.js.map} +1 -1
  25. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  26. package/dist/_chunks/{button-group-Ciq6J4IW.js.map → button-group-CvEnVzY7.js.map} +1 -1
  27. package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
  28. package/dist/_chunks/{care-plan-card-C5sTfY9G.js.map → care-plan-card-DzPDYgtK.js.map} +1 -1
  29. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
  30. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js.map → care-plan-entry-card-CEnQy7YP.js.map} +1 -1
  31. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  32. package/dist/_chunks/care-plan-header-DcXFXWit.js.map +1 -0
  33. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  34. package/dist/_chunks/chat-message-DzpcJR-q.js.map +1 -0
  35. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  36. package/dist/_chunks/city-input-Dkgaak7I.js.map +1 -0
  37. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  38. package/dist/_chunks/clipboard-list-S7s-MXQq.js.map +1 -0
  39. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  40. package/dist/_chunks/combobox-DnqSF0IH.js.map +1 -0
  41. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  42. package/dist/_chunks/connection-status-CY1HV8Wg.js.map +1 -0
  43. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  44. package/dist/_chunks/control-room-rail-FAQZrGVL.js.map +1 -0
  45. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  46. package/dist/_chunks/country-select-BwUZQvTa.js.map +1 -0
  47. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  48. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js.map +1 -0
  49. package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
  50. package/dist/_chunks/{entity-card-9_62gY7l.js.map → entity-card-DmrgYSEX.js.map} +1 -1
  51. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  52. package/dist/_chunks/entity-summary-CaM1Y-xE.js.map +1 -0
  53. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  54. package/dist/_chunks/field-array-siUZzfYe.js.map +1 -0
  55. package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
  56. package/dist/_chunks/field-value-3jMM0uDx.js.map +1 -0
  57. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
  58. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js.map → gestational-age-calculator-DKzEV5Qi.js.map} +1 -1
  59. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  60. package/dist/_chunks/iban-input-B0TWzR1R.js.map +1 -0
  61. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  62. package/dist/_chunks/icon-picker-0B7KhrF1.js.map +1 -0
  63. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  64. package/dist/_chunks/image-cropper-D9jqJy19.js.map +1 -0
  65. package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
  66. package/dist/_chunks/link-cell-renderer-De_SLjSq.js.map +1 -0
  67. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  68. package/dist/_chunks/list-checks-BUs75d_o.js.map +1 -0
  69. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
  70. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js.map → marketplace-app-shell-BGqkywsi.js.map} +1 -1
  71. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  72. package/dist/_chunks/message-card-DsHFFiL1.js.map +1 -0
  73. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  74. package/dist/_chunks/message-tray-C0a6CL1_.js.map +1 -0
  75. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  76. package/dist/_chunks/{multi-select-BdHHDrRN.js.map → multi-select-WE4S9FIF.js.map} +1 -1
  77. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  78. package/dist/_chunks/nav-grid-9xphY3FM.js.map +1 -0
  79. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  80. package/dist/_chunks/notes-panel-DXiMfuvp.js.map +1 -0
  81. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  82. package/dist/_chunks/notification-card-BMqNzCIt.js.map +1 -0
  83. package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
  84. package/dist/_chunks/notification-tray-BmUlCx3g.js.map +1 -0
  85. package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
  86. package/dist/_chunks/{operator-hero-CR0Rqh4-.js.map → operator-hero-BO8TqzX2.js.map} +1 -1
  87. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  88. package/dist/_chunks/panel-header-D313n_9-.js.map +1 -0
  89. package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
  90. package/dist/_chunks/patient-details-DgfTJimE.js.map +1 -0
  91. package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
  92. package/dist/_chunks/{patient-search-Be6cLrHR.js.map → patient-search-CSWQKOSP.js.map} +1 -1
  93. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  94. package/dist/_chunks/{patient-shell-DV3XEtIB.js.map → patient-shell-BMwsIKlW.js.map} +1 -1
  95. package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
  96. package/dist/_chunks/{patient-summary-card-WySCMwwA.js.map → patient-summary-card-D4NdgYJB.js.map} +1 -1
  97. package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
  98. package/dist/_chunks/{patient-table-CHxf3Oqk.js.map → patient-table-CERknpd8.js.map} +1 -1
  99. package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
  100. package/dist/_chunks/{payment-request-card-BcZJwu9z.js.map → payment-request-card-Blf-MFNY.js.map} +1 -1
  101. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  102. package/dist/_chunks/permission-matrix-Bw5oexUt.js.map +1 -0
  103. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  104. package/dist/_chunks/position-grid-CcvqHaKN.js.map +1 -0
  105. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  106. package/dist/_chunks/postal-code-input-UCOYuRY2.js.map +1 -0
  107. package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
  108. package/dist/_chunks/{practice-results-C6qDfxos.js.map → practice-results-El5Z-oVp.js.map} +1 -1
  109. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
  110. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js.map → pregnancy-dating-CunHrOpO.js.map} +1 -1
  111. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  112. package/dist/_chunks/product-hub-panel-DtU7KXxm.js.map +1 -0
  113. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  114. package/dist/_chunks/province-select-D_TZvix3.js.map +1 -0
  115. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  116. package/dist/_chunks/{public-header.agent-DqkqA-ca.js.map → public-header.agent-TxmC_x1I.js.map} +1 -1
  117. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  118. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js.map +1 -0
  119. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  120. package/dist/_chunks/reviews-panel-DxkSrgMl.js.map +1 -0
  121. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  122. package/dist/_chunks/rich-text-editor-C8tyGjfb.js.map +1 -0
  123. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  124. package/dist/_chunks/scroll-area-BZOvUhwQ.js.map +1 -0
  125. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  126. package/dist/_chunks/select-KsyRr8WH.js.map +1 -0
  127. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  128. package/dist/_chunks/sheet-umkfZjF6.js.map +1 -0
  129. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  130. package/dist/_chunks/sidebar-QCp9wHNP.js.map +1 -0
  131. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  132. package/dist/_chunks/{tabs-BxcOziCo.js.map → tabs-CYZVKKDl.js.map} +1 -1
  133. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  134. package/dist/_chunks/task-card-DCdsI0ZT.js.map +1 -0
  135. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  136. package/dist/_chunks/{task-tray-qOEQflu4.js.map → task-tray-DNVejijD.js.map} +1 -1
  137. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  138. package/dist/_chunks/tasks-panel-C9odmawT.js.map +1 -0
  139. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  140. package/dist/_chunks/token-insert-menu-CFQqTe_n.js.map +1 -0
  141. package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
  142. package/dist/_chunks/tool-rail-BZx0-yIr.js.map +1 -0
  143. package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
  144. package/dist/_chunks/tooth-scheme-DJZtzfeY.js.map +1 -0
  145. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  146. package/dist/_chunks/transcript-panel-CHGHHHdT.js.map +1 -0
  147. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  148. package/dist/_chunks/{unit-converter-YEpD9evj.js.map → unit-converter-CwlZbfdn.js.map} +1 -1
  149. package/dist/_chunks/use-edge-resize-ZnGG7gyO.js.map +1 -1
  150. package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
  151. package/dist/_chunks/workflow-map-M8MBBHQm.js.map +1 -0
  152. package/dist/agent-catalog.json +2062 -226
  153. package/dist/agent-i18n/en.json +206 -8
  154. package/dist/components/_shared/option.d.ts +2 -0
  155. package/dist/components/_shared/option.d.ts.map +1 -1
  156. package/dist/components/_shared/patient-fields.d.ts +1 -1
  157. package/dist/components/_shared/patient-fields.d.ts.map +1 -1
  158. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  159. package/dist/components/address-fields/address-fields.agent.d.ts.map +1 -0
  160. package/dist/components/address-fields/address-fields.d.ts +29 -0
  161. package/dist/components/address-fields/address-fields.d.ts.map +1 -0
  162. package/dist/components/address-fields/index.d.ts +5 -0
  163. package/dist/components/address-fields/index.d.ts.map +1 -0
  164. package/dist/components/address-fields/index.js +6 -0
  165. package/dist/components/ai-prompt-input/index.js +1 -1
  166. package/dist/components/anatomy-scheme/index.js +1 -1
  167. package/dist/components/app-frame/app-frame.d.ts +2 -2
  168. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  169. package/dist/components/app-frame/index.js +1 -1
  170. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  171. package/dist/components/appointment-card/index.js +2 -2
  172. package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -1
  173. package/dist/components/appointment-timeline/index.js +1 -1
  174. package/dist/components/audio-recorder/index.js +1 -1
  175. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  176. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  177. package/dist/components/autocomplete/index.js +1 -1
  178. package/dist/components/bishop-score/index.js +1 -1
  179. package/dist/components/booking/index.js +1 -1
  180. package/dist/components/button-group/button-group.d.ts.map +1 -1
  181. package/dist/components/button-group/index.js +1 -1
  182. package/dist/components/care-plan-card/index.js +1 -1
  183. package/dist/components/care-plan-entry-card/index.js +1 -1
  184. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  185. package/dist/components/care-plan-header/care-plan-header.d.ts.map +1 -1
  186. package/dist/components/care-plan-header/index.js +1 -1
  187. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  188. package/dist/components/chat-message/index.js +1 -1
  189. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  190. package/dist/components/city-input/city-input.agent.d.ts.map +1 -0
  191. package/dist/components/city-input/city-input.d.ts +57 -0
  192. package/dist/components/city-input/city-input.d.ts.map +1 -0
  193. package/dist/components/city-input/index.d.ts +5 -0
  194. package/dist/components/city-input/index.d.ts.map +1 -0
  195. package/dist/components/city-input/index.js +6 -0
  196. package/dist/components/city-input/index.js.map +1 -0
  197. package/dist/components/combobox/combobox.d.ts +17 -0
  198. package/dist/components/combobox/combobox.d.ts.map +1 -1
  199. package/dist/components/combobox/index.js +1 -1
  200. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  201. package/dist/components/connection-status/connection-status.agent.d.ts.map +1 -0
  202. package/dist/components/connection-status/connection-status.d.ts +36 -0
  203. package/dist/components/connection-status/connection-status.d.ts.map +1 -0
  204. package/dist/components/connection-status/index.d.ts +4 -0
  205. package/dist/components/connection-status/index.d.ts.map +1 -0
  206. package/dist/components/connection-status/index.js +6 -0
  207. package/dist/components/connection-status/index.js.map +1 -0
  208. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  209. package/dist/components/control-room-rail/control-room-context.d.ts.map +1 -1
  210. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  211. package/dist/components/control-room-rail/control-room-rail.agent.d.ts.map +1 -0
  212. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  213. package/dist/components/control-room-rail/control-room-rail.d.ts.map +1 -1
  214. package/dist/components/control-room-rail/index.d.ts +1 -0
  215. package/dist/components/control-room-rail/index.d.ts.map +1 -1
  216. package/dist/components/control-room-rail/index.js +4 -3
  217. package/dist/components/counter/counter.d.ts +1 -1
  218. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  219. package/dist/components/country-select/country-select.agent.d.ts.map +1 -0
  220. package/dist/components/country-select/country-select.d.ts +51 -0
  221. package/dist/components/country-select/country-select.d.ts.map +1 -0
  222. package/dist/components/country-select/index.d.ts +6 -0
  223. package/dist/components/country-select/index.d.ts.map +1 -0
  224. package/dist/components/country-select/index.js +9 -0
  225. package/dist/components/country-select/index.js.map +1 -0
  226. package/dist/components/country-select/iso-3166.d.ts +15 -0
  227. package/dist/components/country-select/iso-3166.d.ts.map +1 -0
  228. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  229. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts.map +1 -0
  230. package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
  231. package/dist/components/data-table/index.d.ts +2 -0
  232. package/dist/components/data-table/index.d.ts.map +1 -1
  233. package/dist/components/data-table/index.js +13 -11
  234. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  235. package/dist/components/entity-summary/entity-summary.agent.d.ts.map +1 -0
  236. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  237. package/dist/components/entity-summary/entity-summary.d.ts.map +1 -1
  238. package/dist/components/entity-summary/index.js +1 -1
  239. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  240. package/dist/components/field-array/field-array.agent.d.ts.map +1 -0
  241. package/dist/components/field-array/field-array.d.ts +45 -0
  242. package/dist/components/field-array/field-array.d.ts.map +1 -0
  243. package/dist/components/field-array/index.d.ts +4 -0
  244. package/dist/components/field-array/index.d.ts.map +1 -0
  245. package/dist/components/field-array/index.js +6 -0
  246. package/dist/components/field-array/index.js.map +1 -0
  247. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  248. package/dist/components/gestational-age-calculator/index.js +1 -1
  249. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  250. package/dist/components/iban-input/iban-input.agent.d.ts.map +1 -0
  251. package/dist/components/iban-input/iban-input.d.ts +51 -0
  252. package/dist/components/iban-input/iban-input.d.ts.map +1 -0
  253. package/dist/components/iban-input/index.d.ts +5 -0
  254. package/dist/components/iban-input/index.d.ts.map +1 -0
  255. package/dist/components/iban-input/index.js +13 -0
  256. package/dist/components/iban-input/index.js.map +1 -0
  257. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  258. package/dist/components/iban-input/is-valid-iban.d.ts.map +1 -0
  259. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  260. package/dist/components/icon-picker/icon-picker.agent.d.ts.map +1 -0
  261. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  262. package/dist/components/icon-picker/icon-picker.d.ts.map +1 -0
  263. package/dist/components/icon-picker/index.d.ts +4 -0
  264. package/dist/components/icon-picker/index.d.ts.map +1 -0
  265. package/dist/components/icon-picker/index.js +6 -0
  266. package/dist/components/icon-picker/index.js.map +1 -0
  267. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  268. package/dist/components/image-cropper/crop-geometry.d.ts.map +1 -0
  269. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  270. package/dist/components/image-cropper/image-cropper.agent.d.ts.map +1 -0
  271. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  272. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
  273. package/dist/components/image-cropper/index.d.ts +5 -0
  274. package/dist/components/image-cropper/index.d.ts.map +1 -0
  275. package/dist/components/image-cropper/index.js +11 -0
  276. package/dist/components/image-cropper/index.js.map +1 -0
  277. package/dist/components/index.d.ts +16 -1
  278. package/dist/components/index.d.ts.map +1 -1
  279. package/dist/components/message-card/index.js +1 -1
  280. package/dist/components/message-card/message-card.d.ts +14 -0
  281. package/dist/components/message-card/message-card.d.ts.map +1 -1
  282. package/dist/components/message-tray/index.js +1 -1
  283. package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -1
  284. package/dist/components/message-tray/message-tray.d.ts +4 -0
  285. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  286. package/dist/components/multi-select/index.js +1 -1
  287. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  288. package/dist/components/nav-grid/index.d.ts +4 -0
  289. package/dist/components/nav-grid/index.d.ts.map +1 -0
  290. package/dist/components/nav-grid/index.js +7 -0
  291. package/dist/components/nav-grid/index.js.map +1 -0
  292. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  293. package/dist/components/nav-grid/nav-grid.agent.d.ts.map +1 -0
  294. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  295. package/dist/components/nav-grid/nav-grid.d.ts.map +1 -0
  296. package/dist/components/notes-panel/index.js +1 -1
  297. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  298. package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -0
  299. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  300. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  301. package/dist/components/notification-card/index.js +1 -1
  302. package/dist/components/notification-card/notification-card.d.ts +15 -0
  303. package/dist/components/notification-card/notification-card.d.ts.map +1 -1
  304. package/dist/components/notification-tray/index.js +1 -1
  305. package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -1
  306. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  307. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  308. package/dist/components/operator-hero/index.js +1 -1
  309. package/dist/components/panel-header/index.d.ts +3 -0
  310. package/dist/components/panel-header/index.d.ts.map +1 -0
  311. package/dist/components/panel-header/index.js +7 -0
  312. package/dist/components/panel-header/index.js.map +1 -0
  313. package/dist/components/panel-header/panel-header.d.ts +41 -0
  314. package/dist/components/panel-header/panel-header.d.ts.map +1 -0
  315. package/dist/components/patient-details/index.js +1 -1
  316. package/dist/components/patient-details/patient-details.d.ts.map +1 -1
  317. package/dist/components/patient-search/index.js +1 -1
  318. package/dist/components/patient-summary-card/index.js +1 -1
  319. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
  320. package/dist/components/patient-table/index.js +1 -1
  321. package/dist/components/payment-card/index.js +1 -1
  322. package/dist/components/permission-matrix/index.d.ts +4 -0
  323. package/dist/components/permission-matrix/index.d.ts.map +1 -0
  324. package/dist/components/permission-matrix/index.js +7 -0
  325. package/dist/components/permission-matrix/index.js.map +1 -0
  326. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  327. package/dist/components/permission-matrix/permission-matrix.agent.d.ts.map +1 -0
  328. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  329. package/dist/components/permission-matrix/permission-matrix.d.ts.map +1 -0
  330. package/dist/components/position-grid/index.d.ts +4 -0
  331. package/dist/components/position-grid/index.d.ts.map +1 -0
  332. package/dist/components/position-grid/index.js +7 -0
  333. package/dist/components/position-grid/index.js.map +1 -0
  334. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  335. package/dist/components/position-grid/position-grid.agent.d.ts.map +1 -0
  336. package/dist/components/position-grid/position-grid.d.ts +39 -0
  337. package/dist/components/position-grid/position-grid.d.ts.map +1 -0
  338. package/dist/components/postal-code-input/index.d.ts +5 -0
  339. package/dist/components/postal-code-input/index.d.ts.map +1 -0
  340. package/dist/components/postal-code-input/index.js +6 -0
  341. package/dist/components/postal-code-input/index.js.map +1 -0
  342. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  343. package/dist/components/postal-code-input/postal-code-input.agent.d.ts.map +1 -0
  344. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  345. package/dist/components/postal-code-input/postal-code-input.d.ts.map +1 -0
  346. package/dist/components/practice-results/index.js +1 -1
  347. package/dist/components/pregnancy-dating/index.js +1 -1
  348. package/dist/components/product-hub-tray/index.js +1 -1
  349. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  350. package/dist/components/product-hub-tray/product-hub-tray.d.ts.map +1 -1
  351. package/dist/components/province-select/index.d.ts +6 -0
  352. package/dist/components/province-select/index.d.ts.map +1 -0
  353. package/dist/components/province-select/index.js +7 -0
  354. package/dist/components/province-select/index.js.map +1 -0
  355. package/dist/components/province-select/it-provinces.d.ts +8 -0
  356. package/dist/components/province-select/it-provinces.d.ts.map +1 -0
  357. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  358. package/dist/components/province-select/province-select.agent.d.ts.map +1 -0
  359. package/dist/components/province-select/province-select.d.ts +38 -0
  360. package/dist/components/province-select/province-select.d.ts.map +1 -0
  361. package/dist/components/public-footer/public-footer.d.ts +1 -1
  362. package/dist/components/public-header/index.js +1 -1
  363. package/dist/components/radiograph-panel/index.js +1 -1
  364. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  365. package/dist/components/reviews-panel/index.js +1 -1
  366. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  367. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  368. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
  369. package/dist/components/rich-text-editor/index.js +1 -1
  370. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  371. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  372. package/dist/components/scroll-area/index.js +1 -1
  373. package/dist/components/select/index.js +1 -1
  374. package/dist/components/select/select.d.ts +8 -2
  375. package/dist/components/select/select.d.ts.map +1 -1
  376. package/dist/components/sheet/index.js +1 -1
  377. package/dist/components/sheet/sheet.d.ts.map +1 -1
  378. package/dist/components/sidebar/index.js +1 -1
  379. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  380. package/dist/components/skeleton/skeleton.d.ts +1 -1
  381. package/dist/components/tabs/index.js +1 -1
  382. package/dist/components/task-card/index.js +1 -1
  383. package/dist/components/task-card/task-card.d.ts +14 -6
  384. package/dist/components/task-card/task-card.d.ts.map +1 -1
  385. package/dist/components/task-tray/index.js +1 -1
  386. package/dist/components/tasks-panel/index.d.ts +4 -0
  387. package/dist/components/tasks-panel/index.d.ts.map +1 -0
  388. package/dist/components/tasks-panel/index.js +6 -0
  389. package/dist/components/tasks-panel/index.js.map +1 -0
  390. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  391. package/dist/components/tasks-panel/tasks-panel.agent.d.ts.map +1 -0
  392. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  393. package/dist/components/tasks-panel/tasks-panel.d.ts.map +1 -0
  394. package/dist/components/token-insert-menu/index.d.ts +4 -0
  395. package/dist/components/token-insert-menu/index.d.ts.map +1 -0
  396. package/dist/components/token-insert-menu/index.js +6 -0
  397. package/dist/components/token-insert-menu/index.js.map +1 -0
  398. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  399. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts.map +1 -0
  400. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  401. package/dist/components/token-insert-menu/token-insert-menu.d.ts.map +1 -0
  402. package/dist/components/tool-rail/index.d.ts +4 -0
  403. package/dist/components/tool-rail/index.d.ts.map +1 -0
  404. package/dist/components/tool-rail/index.js +6 -0
  405. package/dist/components/tool-rail/index.js.map +1 -0
  406. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  407. package/dist/components/tool-rail/tool-rail.agent.d.ts.map +1 -0
  408. package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
  409. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -0
  410. package/dist/components/tooth-scheme/index.js +1 -1
  411. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  412. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  413. package/dist/components/transcript-panel/index.js +1 -1
  414. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  415. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  416. package/dist/components/unit-converter/index.js +1 -1
  417. package/dist/components/workflow/index.js +1 -1
  418. package/dist/hooks/use-edge-resize.d.ts +2 -2
  419. package/dist/i18n/locales/ar.d.ts +167 -2
  420. package/dist/i18n/locales/ar.d.ts.map +1 -1
  421. package/dist/i18n/locales/ar.js +157 -5
  422. package/dist/i18n/locales/ar.js.map +1 -1
  423. package/dist/i18n/locales/de.d.ts +167 -2
  424. package/dist/i18n/locales/de.d.ts.map +1 -1
  425. package/dist/i18n/locales/de.js +159 -5
  426. package/dist/i18n/locales/de.js.map +1 -1
  427. package/dist/i18n/locales/el.d.ts +167 -2
  428. package/dist/i18n/locales/el.d.ts.map +1 -1
  429. package/dist/i18n/locales/el.js +164 -5
  430. package/dist/i18n/locales/el.js.map +1 -1
  431. package/dist/i18n/locales/en.d.ts +167 -2
  432. package/dist/i18n/locales/en.d.ts.map +1 -1
  433. package/dist/i18n/locales/en.js +170 -5
  434. package/dist/i18n/locales/en.js.map +1 -1
  435. package/dist/i18n/locales/es.d.ts +167 -2
  436. package/dist/i18n/locales/es.d.ts.map +1 -1
  437. package/dist/i18n/locales/es.js +156 -5
  438. package/dist/i18n/locales/es.js.map +1 -1
  439. package/dist/i18n/locales/fr.d.ts +167 -2
  440. package/dist/i18n/locales/fr.d.ts.map +1 -1
  441. package/dist/i18n/locales/fr.js +159 -5
  442. package/dist/i18n/locales/fr.js.map +1 -1
  443. package/dist/i18n/locales/hi.d.ts +167 -2
  444. package/dist/i18n/locales/hi.d.ts.map +1 -1
  445. package/dist/i18n/locales/hi.js +155 -5
  446. package/dist/i18n/locales/hi.js.map +1 -1
  447. package/dist/i18n/locales/it.d.ts +167 -2
  448. package/dist/i18n/locales/it.d.ts.map +1 -1
  449. package/dist/i18n/locales/it.js +159 -5
  450. package/dist/i18n/locales/it.js.map +1 -1
  451. package/dist/i18n/locales/ja.d.ts +167 -2
  452. package/dist/i18n/locales/ja.d.ts.map +1 -1
  453. package/dist/i18n/locales/ja.js +160 -5
  454. package/dist/i18n/locales/ja.js.map +1 -1
  455. package/dist/i18n/locales/nl.d.ts +167 -2
  456. package/dist/i18n/locales/nl.d.ts.map +1 -1
  457. package/dist/i18n/locales/nl.js +152 -5
  458. package/dist/i18n/locales/nl.js.map +1 -1
  459. package/dist/i18n/locales/pl.d.ts +167 -2
  460. package/dist/i18n/locales/pl.d.ts.map +1 -1
  461. package/dist/i18n/locales/pl.js +160 -5
  462. package/dist/i18n/locales/pl.js.map +1 -1
  463. package/dist/i18n/locales/pt.d.ts +167 -2
  464. package/dist/i18n/locales/pt.d.ts.map +1 -1
  465. package/dist/i18n/locales/pt.js +164 -5
  466. package/dist/i18n/locales/pt.js.map +1 -1
  467. package/dist/i18n/locales/ro.d.ts +167 -2
  468. package/dist/i18n/locales/ro.d.ts.map +1 -1
  469. package/dist/i18n/locales/ro.js +164 -5
  470. package/dist/i18n/locales/ro.js.map +1 -1
  471. package/dist/i18n/locales/ru.d.ts +167 -2
  472. package/dist/i18n/locales/ru.d.ts.map +1 -1
  473. package/dist/i18n/locales/ru.js +157 -5
  474. package/dist/i18n/locales/ru.js.map +1 -1
  475. package/dist/i18n/locales/sq.d.ts +167 -2
  476. package/dist/i18n/locales/sq.d.ts.map +1 -1
  477. package/dist/i18n/locales/sq.js +161 -5
  478. package/dist/i18n/locales/sq.js.map +1 -1
  479. package/dist/i18n/locales/sv.d.ts +167 -2
  480. package/dist/i18n/locales/sv.d.ts.map +1 -1
  481. package/dist/i18n/locales/sv.js +159 -5
  482. package/dist/i18n/locales/sv.js.map +1 -1
  483. package/dist/i18n/locales/tr.d.ts +167 -2
  484. package/dist/i18n/locales/tr.d.ts.map +1 -1
  485. package/dist/i18n/locales/tr.js +157 -5
  486. package/dist/i18n/locales/tr.js.map +1 -1
  487. package/dist/i18n/locales/zh.d.ts +167 -2
  488. package/dist/i18n/locales/zh.d.ts.map +1 -1
  489. package/dist/i18n/locales/zh.js +152 -5
  490. package/dist/i18n/locales/zh.js.map +1 -1
  491. package/dist/index.js +823 -755
  492. package/dist/index.js.map +1 -1
  493. package/dist/locales/ar.json +170 -5
  494. package/dist/locales/de.json +170 -5
  495. package/dist/locales/el.json +170 -5
  496. package/dist/locales/en.json +170 -5
  497. package/dist/locales/es.json +170 -5
  498. package/dist/locales/fr.json +170 -5
  499. package/dist/locales/hi.json +170 -5
  500. package/dist/locales/it.json +170 -5
  501. package/dist/locales/ja.json +170 -5
  502. package/dist/locales/nl.json +170 -5
  503. package/dist/locales/pl.json +170 -5
  504. package/dist/locales/pt.json +170 -5
  505. package/dist/locales/ro.json +170 -5
  506. package/dist/locales/ru.json +170 -5
  507. package/dist/locales/sq.json +170 -5
  508. package/dist/locales/sv.json +170 -5
  509. package/dist/locales/tr.json +170 -5
  510. package/dist/locales/zh.json +170 -5
  511. package/dist/patterns/alia-assistant/alia-chat-surface.d.ts.map +1 -1
  512. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  513. package/dist/patterns/alia-assistant/alia-types.d.ts.map +1 -1
  514. package/dist/patterns/alia-assistant/index.js +1 -1
  515. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  516. package/dist/patterns/patient-shell/index.js +1 -1
  517. package/dist/tokens.css +9 -1
  518. package/package.json +65 -5
  519. package/dist/_chunks/ai-tools-rail-B5NEghsp.js.map +0 -1
  520. package/dist/_chunks/alia-sidebar-B47qRQb5.js.map +0 -1
  521. package/dist/_chunks/app-frame-BYx1gcV7.js.map +0 -1
  522. package/dist/_chunks/appointment-card-C06aZqA7.js.map +0 -1
  523. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js.map +0 -1
  524. package/dist/_chunks/autocomplete-DOeGouCL.js.map +0 -1
  525. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  526. package/dist/_chunks/care-plan-header-BUwqDTtz.js.map +0 -1
  527. package/dist/_chunks/chat-message-3V54YipB.js.map +0 -1
  528. package/dist/_chunks/combobox-Clum7gJ1.js.map +0 -1
  529. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  530. package/dist/_chunks/control-room-rail-Y8ryLYsP.js.map +0 -1
  531. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  532. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js.map +0 -1
  533. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  534. package/dist/_chunks/entity-summary-BxRjFh_4.js.map +0 -1
  535. package/dist/_chunks/field-value-NXYczdpO.js.map +0 -1
  536. package/dist/_chunks/link-cell-renderer-CTXqtXV-.js.map +0 -1
  537. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  538. package/dist/_chunks/message-card-Bx4GmLvf.js.map +0 -1
  539. package/dist/_chunks/message-tray-DwrBLJlf.js.map +0 -1
  540. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  541. package/dist/_chunks/notes-panel-ay8_lPrA.js.map +0 -1
  542. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  543. package/dist/_chunks/notification-card-D2jiKSJJ.js.map +0 -1
  544. package/dist/_chunks/notification-tray-AEun6DN2.js.map +0 -1
  545. package/dist/_chunks/patient-details-Dlhqb5ig.js.map +0 -1
  546. package/dist/_chunks/product-hub-panel-e6pW220e.js.map +0 -1
  547. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  548. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js.map +0 -1
  549. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  550. package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +0 -1
  551. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  552. package/dist/_chunks/rich-text-editor-DlCqPixb.js.map +0 -1
  553. package/dist/_chunks/scroll-area-5wNK0Cyz.js.map +0 -1
  554. package/dist/_chunks/select-DMLG44F5.js.map +0 -1
  555. package/dist/_chunks/sheet-BxsE7eQm.js.map +0 -1
  556. package/dist/_chunks/sidebar-DY9jGjgt.js.map +0 -1
  557. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  558. package/dist/_chunks/task-card-BwY9jaV1.js.map +0 -1
  559. package/dist/_chunks/tooth-scheme-BhQoPNBD.js.map +0 -1
  560. package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +0 -1
  561. package/dist/_chunks/workflow-map-Dy8mLCqF.js.map +0 -1
  562. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  563. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +0 -1
  564. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +0 -1
  565. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  566. package/dist/components/ai-tools-rail/index.d.ts.map +0 -1
  567. package/dist/components/ai-tools-rail/index.js +0 -6
  568. /package/dist/components/{ai-tools-rail → address-fields}/index.js.map +0 -0
@@ -7,7 +7,7 @@ import { R as L } from "./radio-group-BPt7pKZW.js";
7
7
  import { F as g } from "./form-field-BOm9hK35.js";
8
8
  import { D as O } from "./date-picker-Dl9RKxaV.js";
9
9
  import { N as _ } from "./number-input-DxphVG_A.js";
10
- import { S as xe } from "./select-DMLG44F5.js";
10
+ import { S as xe } from "./select-KsyRr8WH.js";
11
11
  import { S as Ne } from "./switch-OILsBLWo.js";
12
12
  import { C as M } from "./card-DPmk26CL.js";
13
13
  import { B as j } from "./badge-DCOqV9mI.js";
@@ -418,4 +418,4 @@ je.displayName = "PregnancyDating";
418
418
  export {
419
419
  je as P
420
420
  };
421
- //# sourceMappingURL=pregnancy-dating-CRVWswD-.js.map
421
+ //# sourceMappingURL=pregnancy-dating-CunHrOpO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pregnancy-dating-CRVWswD-.js","sources":["../../src/components/pregnancy-dating/pregnancy-dating.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* PregnancyDating — the unified obstetric dating widget. */\n/* */\n/* Supersedes DueDateCalculator + GestationalAgeCalculator: takes any */\n/* known anchor (LMP / conception / IVF transfer / known EDD) and shows */\n/* BOTH the estimated due date AND the current gestational age, */\n/* trimester and milestones. Two dating refinements: a precise CRL + */\n/* scan-date ACOG CO 700 re-dating (LMP), and a quick manual ±days */\n/* adjustment for an uncertain LMP/conception. `showSchedule` appends */\n/* the antenatal exam schedule with plurality / chorionicity / risk */\n/* inputs. All maths lives in `_shared/obstetrics` + `_shared/antenatal- */\n/* schedule` (pure, separately tested). */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { isAfter, subDays } from 'date-fns';\nimport { RadioGroup, Radio } from '../radio-group';\nimport { FormField } from '../form-field';\nimport { DatePicker } from '../date-picker';\nimport { NumberInput } from '../number-input';\nimport { Select } from '../select';\nimport { Switch } from '../switch';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport {\n type EmbryoAge,\n type GestationalAge,\n type DueDateResult,\n type Plurality,\n type Chorionicity,\n computeDueDate,\n redateByCrl,\n gestationalMilestones,\n GESTATION_DAYS,\n CONCEPTION_OFFSET_DAYS,\n DEFAULT_CYCLE_LENGTH,\n TRIMESTER_BADGE_VARIANT,\n trimesterHighlightToken,\n} from '../_shared/obstetrics';\nimport {\n computeAntenatalSchedule,\n type AntenatalScheduleOptions,\n type GdmRisk,\n} from '../_shared/antenatal-schedule';\nimport {\n AntenatalScheduleTimeline,\n buildScheduleInsertFields,\n} from '../_shared/antenatal-schedule-timeline';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\n/** Any known anchor the pregnancy can be dated from. */\nexport type DatingMethod = 'lmp' | 'conception' | 'ivf' | 'edd';\n\n/** i18n key for each method's reference-date field. */\nconst DATE_LABEL_KEY: Record<DatingMethod, string> = {\n lmp: 'pregnancyDating.lmpDate',\n conception: 'pregnancyDating.conceptionDate',\n ivf: 'pregnancyDating.transferDate',\n edd: 'pregnancyDating.eddDate',\n};\n\nexport interface PregnancyDatingResult {\n /** Estimated date of delivery. */\n dueDate: Date;\n /** GA day-0 anchor (effective LMP) after any re-dating / adjustment. */\n gestationalStart: Date;\n /** Gestational age as of the evaluation date; `null` before conception. */\n gestationalAge: GestationalAge | null;\n trimester: DueDateResult['trimester'];\n}\n\nexport interface PregnancyDatingProps extends VariantProps<\n typeof rootVariants\n> {\n /** Initial dating method. Defaults to `'lmp'`. */\n defaultMethod?: DatingMethod;\n /** Pre-fill the reference date (e.g. a known LMP from the patient record). */\n defaultReferenceDate?: Date;\n /** Fires whenever a result can be computed (and `null` when it can't). */\n onResultChange?: (result: PregnancyDatingResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /** Which verb the result button performs. Defaults to `'insert'`. */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /** Brand wordmark printed in the inserted/copied result-card footer. */\n insertBrand?: string | false;\n /** Append the antenatal exam schedule + reveal the plurality / risk inputs. */\n showSchedule?: boolean;\n /** `showSchedule` only — initial number of babies. Defaults to `'singleton'`. */\n defaultPlurality?: Plurality;\n /** `showSchedule` only — initial chorionicity for multiples. Defaults to `'unknown'`. */\n defaultChorionicity?: Chorionicity;\n /** `showSchedule` only — initial Rh-negative state (surfaces anti-D). */\n defaultRhNegative?: boolean;\n /** `showSchedule` only — initial gestational-diabetes risk tier (surfaces OGTT). */\n defaultGdmRisk?: GdmRisk;\n /**\n * Passthrough options for the appended schedule (national `schedule`,\n * `includeOnIndication`, `birthGuideline`). `today`, `plurality`,\n * `chorionicity`, `rhNegative` and `gdmRisk` come from the component's own\n * inputs. Ignored unless `showSchedule` is set.\n */\n scheduleOptions?: Omit<\n AntenatalScheduleOptions,\n 'today' | 'plurality' | 'chorionicity' | 'rhNegative' | 'gdmRisk'\n >;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport const PregnancyDating = forwardRef<HTMLDivElement, PregnancyDatingProps>(\n (\n {\n defaultMethod = 'lmp',\n defaultReferenceDate,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n showSchedule = false,\n defaultPlurality = 'singleton',\n defaultChorionicity = 'unknown',\n defaultRhNegative = false,\n defaultGdmRisk,\n scheduleOptions,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [method, setMethod] = useState<DatingMethod>(defaultMethod);\n const [refDate, setRefDate] = useState<Date | undefined>(\n defaultReferenceDate,\n );\n const [cycleLength, setCycleLength] = useState<number | null>(\n DEFAULT_CYCLE_LENGTH,\n );\n const [embryoAge, setEmbryoAge] = useState<EmbryoAge>(5);\n // Precise re-dating (LMP method) and the quick ±days nudge.\n const [crlMm, setCrlMm] = useState<number | null>(null);\n const [scanDate, setScanDate] = useState<Date | undefined>(undefined);\n const [datingAdjustment, setDatingAdjustment] = useState<number | null>(\n null,\n );\n // Evaluation date (\"as of\") + multiple-pregnancy / risk inputs.\n const [asOfDate, setAsOfDate] = useState<Date>(() => new Date());\n const [plurality, setPlurality] = useState<Plurality>(defaultPlurality);\n const [chorionicity, setChorionicity] =\n useState<Chorionicity>(defaultChorionicity);\n const [rhNegative, setRhNegative] = useState<boolean>(defaultRhNegative);\n const [gdmRisk, setGdmRisk] = useState<GdmRisk | 'none'>(\n defaultGdmRisk ?? 'none',\n );\n\n // Real today caps the past-only date inputs (LMP, conception, transfer, scan).\n const today = useMemo(() => new Date(), []);\n\n // CRL re-dating (LMP method only) — the measurement-based path.\n const redating = useMemo(() => {\n if (method !== 'lmp' || !refDate || crlMm === null || !scanDate) {\n return null;\n }\n return redateByCrl({ lmp: refDate, scanDate, crlMm });\n }, [method, refDate, crlMm, scanDate]);\n\n const data = useMemo(() => {\n if (!refDate) return null;\n\n // Resolve the method's anchor to an effective LMP (GA day 0).\n let effectiveLmp: Date;\n let cycleForEdd = DEFAULT_CYCLE_LENGTH;\n if (method === 'lmp') {\n effectiveLmp = refDate;\n cycleForEdd = cycleLength ?? DEFAULT_CYCLE_LENGTH;\n } else if (method === 'conception') {\n effectiveLmp = subDays(refDate, CONCEPTION_OFFSET_DAYS);\n } else if (method === 'ivf') {\n effectiveLmp = subDays(refDate, embryoAge + CONCEPTION_OFFSET_DAYS);\n } else {\n effectiveLmp = subDays(refDate, GESTATION_DAYS);\n }\n\n // A confirmed CRL re-dating wins over everything (measurement-based); else\n // apply the quick ±days nudge (+ = pregnancy further along → earlier LMP).\n if (method === 'lmp' && redating?.redated) {\n effectiveLmp = redating.gestationalStart;\n cycleForEdd = DEFAULT_CYCLE_LENGTH;\n } else if (datingAdjustment) {\n effectiveLmp = subDays(effectiveLmp, datingAdjustment);\n }\n\n const r = computeDueDate(\n { method: 'lmp', date: effectiveLmp, cycleLength: cycleForEdd },\n asOfDate,\n );\n return {\n result: {\n dueDate: r.dueDate,\n gestationalStart: r.gestationalStart,\n gestationalAge: r.gestationalAge,\n trimester: r.trimester,\n } satisfies PregnancyDatingResult,\n milestones: gestationalMilestones(r.gestationalStart),\n };\n }, [\n method,\n refDate,\n cycleLength,\n embryoAge,\n redating,\n datingAdjustment,\n asOfDate,\n ]);\n\n const result = data?.result ?? null;\n\n const schedule = useMemo(() => {\n if (!showSchedule || !result) return null;\n return computeAntenatalSchedule(result.gestationalStart, {\n ...scheduleOptions,\n today: asOfDate,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk: gdmRisk === 'none' ? undefined : gdmRisk,\n });\n }, [\n showSchedule,\n result,\n asOfDate,\n scheduleOptions,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk,\n ]);\n\n const longDate = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'long' }),\n [i18n.language],\n );\n const medDate = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'medium' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const chorionicityOptions = useMemo(\n () =>\n (\n [\n 'unknown',\n 'dichorionic-diamniotic',\n 'monochorionic-diamniotic',\n 'monochorionic-monoamniotic',\n ] as const\n ).map((c) => ({\n value: c,\n label: t(`antenatalSchedule.chorionicity.${c}`),\n })),\n [t],\n );\n\n const gaText = (ga: GestationalAge | null): string =>\n ga\n ? t('pregnancyDating.result.gestation', {\n weeks: ga.weeks,\n days: ga.days,\n })\n : '—';\n\n return (\n <div\n ref={ref}\n data-component=\"pregnancy-dating\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <RadioGroup\n label={t('pregnancyDating.method.label')}\n variant=\"horizontal\"\n value={method}\n onValueChange={(next) => setMethod(next as DatingMethod)}\n >\n <Radio label={t('pregnancyDating.method.lmp')} value=\"lmp\" />\n <Radio\n label={t('pregnancyDating.method.conception')}\n value=\"conception\"\n />\n <Radio label={t('pregnancyDating.method.ivf')} value=\"ivf\" />\n <Radio label={t('pregnancyDating.method.edd')} value=\"edd\" />\n </RadioGroup>\n\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField label={t(DATE_LABEL_KEY[method])}>\n <DatePicker\n value={refDate}\n onChange={setRefDate}\n maxDate={method === 'edd' ? undefined : today}\n />\n </FormField>\n\n {method === 'lmp' && (\n <FormField\n label={t('pregnancyDating.cycleLength')}\n description={t('pregnancyDating.cycleLengthHint')}\n >\n <NumberInput\n mode=\"integer\"\n min={20}\n max={45}\n value={cycleLength}\n onChange={setCycleLength}\n />\n </FormField>\n )}\n\n {method === 'ivf' && (\n <RadioGroup\n label={t('pregnancyDating.embryoAge')}\n variant=\"horizontal\"\n value={String(embryoAge)}\n onValueChange={(next) => setEmbryoAge(Number(next) as EmbryoAge)}\n >\n <Radio label={t('pregnancyDating.day3')} value=\"3\" />\n <Radio label={t('pregnancyDating.day5')} value=\"5\" />\n </RadioGroup>\n )}\n\n <FormField\n label={t('pregnancyDating.datingAdjustment')}\n description={t('pregnancyDating.datingAdjustmentHint')}\n >\n <NumberInput\n mode=\"integer\"\n value={datingAdjustment}\n onChange={setDatingAdjustment}\n />\n </FormField>\n\n <FormField\n label={t('pregnancyDating.asOfDate')}\n description={t('pregnancyDating.asOfDateHint')}\n >\n <DatePicker\n value={asOfDate}\n onChange={(d) => d && setAsOfDate(d)}\n />\n </FormField>\n </div>\n\n {method === 'lmp' ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField\n label={t('pregnancyDating.crl')}\n description={t('pregnancyDating.crlHint')}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n step={0.1}\n value={crlMm}\n onChange={setCrlMm}\n />\n </FormField>\n <FormField label={t('pregnancyDating.scanDate')}>\n <DatePicker\n value={scanDate}\n onChange={setScanDate}\n maxDate={today}\n />\n </FormField>\n </div>\n {redating ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]\">\n <Badge variant={redating.redated ? 'warning' : 'success'}>\n {redating.redated\n ? t('pregnancyDating.redated', {\n days: redating.discrepancyDays,\n })\n : t('pregnancyDating.datesAgree')}\n </Badge>\n {!redating.crlInRange ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {t('pregnancyDating.crlOutOfRange')}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : null}\n\n {showSchedule ? (\n <>\n <RadioGroup\n label={t('antenatalSchedule.plurality.label')}\n variant=\"horizontal\"\n value={plurality}\n onValueChange={(next) => setPlurality(next as Plurality)}\n >\n <Radio\n label={t('antenatalSchedule.plurality.singleton')}\n value=\"singleton\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.twin')}\n value=\"twin\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.triplet')}\n value=\"triplet\"\n />\n </RadioGroup>\n\n {plurality !== 'singleton' ? (\n <FormField label={t('antenatalSchedule.chorionicity.label')}>\n <Select\n options={chorionicityOptions}\n value={chorionicity}\n onValueChange={(next) =>\n setChorionicity(next as Chorionicity)\n }\n />\n </FormField>\n ) : null}\n\n <Switch\n label={t('antenatalSchedule.rhNegative')}\n checked={rhNegative}\n onCheckedChange={setRhNegative}\n />\n\n <RadioGroup\n label={t('antenatalSchedule.gdmRisk.label')}\n variant=\"horizontal\"\n value={gdmRisk}\n onValueChange={(next) => setGdmRisk(next as GdmRisk | 'none')}\n >\n <Radio label={t('antenatalSchedule.gdmRisk.none')} value=\"none\" />\n <Radio\n label={t('antenatalSchedule.gdmRisk.medium')}\n value=\"medium\"\n />\n <Radio label={t('antenatalSchedule.gdmRisk.high')} value=\"high\" />\n </RadioGroup>\n </>\n ) : null}\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('pregnancyDating.result.dueDateLabel')}: ${longDate.format(\n result.dueDate,\n )}. ${t('pregnancyDating.result.gestationLabel')}: ${gaText(\n result.gestationalAge,\n )}.`\n : ''}\n </p>\n\n {data && result ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* EDD is the headline — full width so a long localized date\n never wraps; gestational age + trimester flow beneath it,\n packed to the start so they don't strand a gap at narrow /\n modal widths. */}\n <dl className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-x-[var(--spacing-xl)] ds:gap-y-[var(--spacing-md)]\">\n <div className=\"ds:basis-full ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.dueDateLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {longDate.format(result.dueDate)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.gestationLabel')}\n </dt>\n <dd className=\"type-body ds:text-foreground\">\n {gaText(result.gestationalAge)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.trimesterLabel')}\n </dt>\n <dd>\n <Badge\n variant={TRIMESTER_BADGE_VARIANT[result.trimester]}\n size=\"lg\"\n >\n {t(`pregnancyDating.trimester.${result.trimester}`)}\n </Badge>\n </dd>\n </div>\n </dl>\n\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <span className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.milestonesLabel')}\n </span>\n <ul className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {data.milestones.map((m) => {\n const reached = isAfter(asOfDate, m.date);\n return (\n <li\n key={m.key}\n className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]\"\n >\n <span className=\"type-body ds:text-foreground\">\n {t(`pregnancyDating.milestone.${m.key}`)}\n </span>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className=\"type-body ds:text-muted-foreground\">\n {medDate.format(m.date)}\n </span>\n {reached ? (\n <Badge variant=\"success\">\n {t('pregnancyDating.reached')}\n </Badge>\n ) : null}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('pregnancyDating.empty')}\n </p>\n )}\n\n {schedule ? <AntenatalScheduleTimeline events={schedule} /> : null}\n\n {result && (insertVariant === 'copy' || onInsert) ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.pregnancyDating'),\n icon: 'calendar-heart',\n highlight: longDate.format(result.dueDate),\n highlightToken: trimesterHighlightToken(result.trimester),\n brand: insertBrand,\n fields: [\n {\n icon: 'calendar',\n label: t('pregnancyDating.result.dueDateLabel'),\n value: longDate.format(result.dueDate),\n },\n {\n icon: 'clock',\n label: t('pregnancyDating.result.gestationLabel'),\n value: gaText(result.gestationalAge),\n },\n {\n icon: 'tag',\n label: t('pregnancyDating.result.trimesterLabel'),\n value: t(`pregnancyDating.trimester.${result.trimester}`),\n },\n ...(schedule\n ? buildScheduleInsertFields(schedule, t, (d) =>\n medDate.format(d),\n )\n : []),\n ],\n }}\n />\n ) : null}\n </div>\n );\n },\n);\n\nPregnancyDating.displayName = 'PregnancyDating';\n"],"names":["rootVariants","cva","DATE_LABEL_KEY","PregnancyDating","forwardRef","defaultMethod","defaultReferenceDate","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","showSchedule","defaultPlurality","defaultChorionicity","defaultRhNegative","defaultGdmRisk","scheduleOptions","id","width","className","ref","t","i18n","useTranslation","method","setMethod","useState","refDate","setRefDate","cycleLength","setCycleLength","DEFAULT_CYCLE_LENGTH","embryoAge","setEmbryoAge","crlMm","setCrlMm","scanDate","setScanDate","datingAdjustment","setDatingAdjustment","asOfDate","setAsOfDate","plurality","setPlurality","chorionicity","setChorionicity","rhNegative","setRhNegative","gdmRisk","setGdmRisk","today","useMemo","redating","redateByCrl","data","effectiveLmp","cycleForEdd","subDays","CONCEPTION_OFFSET_DAYS","GESTATION_DAYS","r","computeDueDate","gestationalMilestones","result","schedule","computeAntenatalSchedule","longDate","medDate","useEffect","chorionicityOptions","c","gaText","ga","jsxs","RadioGroup","next","jsx","Radio","FormField","DatePicker","NumberInput","d","Badge","Fragment","Select","Switch","Card","TRIMESTER_BADGE_VARIANT","m","reached","isAfter","AntenatalScheduleTimeline","InsertButton","trimesterHighlightToken","buildScheduleInsertFields"],"mappings":"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"}
1
+ {"version":3,"file":"pregnancy-dating-CunHrOpO.js","sources":["../../src/components/pregnancy-dating/pregnancy-dating.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* PregnancyDating — the unified obstetric dating widget. */\n/* */\n/* Supersedes DueDateCalculator + GestationalAgeCalculator: takes any */\n/* known anchor (LMP / conception / IVF transfer / known EDD) and shows */\n/* BOTH the estimated due date AND the current gestational age, */\n/* trimester and milestones. Two dating refinements: a precise CRL + */\n/* scan-date ACOG CO 700 re-dating (LMP), and a quick manual ±days */\n/* adjustment for an uncertain LMP/conception. `showSchedule` appends */\n/* the antenatal exam schedule with plurality / chorionicity / risk */\n/* inputs. All maths lives in `_shared/obstetrics` + `_shared/antenatal- */\n/* schedule` (pure, separately tested). */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, useEffect, useMemo, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { isAfter, subDays } from 'date-fns';\nimport { RadioGroup, Radio } from '../radio-group';\nimport { FormField } from '../form-field';\nimport { DatePicker } from '../date-picker';\nimport { NumberInput } from '../number-input';\nimport { Select } from '../select';\nimport { Switch } from '../switch';\nimport { Card } from '../card';\nimport { Badge } from '../badge';\nimport {\n InsertButton,\n type InsertPayload,\n type InsertVariant,\n type InsertMode,\n} from '../_shared/insert-result';\nimport {\n type EmbryoAge,\n type GestationalAge,\n type DueDateResult,\n type Plurality,\n type Chorionicity,\n computeDueDate,\n redateByCrl,\n gestationalMilestones,\n GESTATION_DAYS,\n CONCEPTION_OFFSET_DAYS,\n DEFAULT_CYCLE_LENGTH,\n TRIMESTER_BADGE_VARIANT,\n trimesterHighlightToken,\n} from '../_shared/obstetrics';\nimport {\n computeAntenatalSchedule,\n type AntenatalScheduleOptions,\n type GdmRisk,\n} from '../_shared/antenatal-schedule';\nimport {\n AntenatalScheduleTimeline,\n buildScheduleInsertFields,\n} from '../_shared/antenatal-schedule-timeline';\n\nconst rootVariants = cva('ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]', {\n variants: {\n width: { full: 'ds:w-full', auto: 'ds:inline-flex' },\n },\n defaultVariants: { width: 'full' },\n});\n\n/** Any known anchor the pregnancy can be dated from. */\nexport type DatingMethod = 'lmp' | 'conception' | 'ivf' | 'edd';\n\n/** i18n key for each method's reference-date field. */\nconst DATE_LABEL_KEY: Record<DatingMethod, string> = {\n lmp: 'pregnancyDating.lmpDate',\n conception: 'pregnancyDating.conceptionDate',\n ivf: 'pregnancyDating.transferDate',\n edd: 'pregnancyDating.eddDate',\n};\n\nexport interface PregnancyDatingResult {\n /** Estimated date of delivery. */\n dueDate: Date;\n /** GA day-0 anchor (effective LMP) after any re-dating / adjustment. */\n gestationalStart: Date;\n /** Gestational age as of the evaluation date; `null` before conception. */\n gestationalAge: GestationalAge | null;\n trimester: DueDateResult['trimester'];\n}\n\nexport interface PregnancyDatingProps extends VariantProps<\n typeof rootVariants\n> {\n /** Initial dating method. Defaults to `'lmp'`. */\n defaultMethod?: DatingMethod;\n /** Pre-fill the reference date (e.g. a known LMP from the patient record). */\n defaultReferenceDate?: Date;\n /** Fires whenever a result can be computed (and `null` when it can't). */\n onResultChange?: (result: PregnancyDatingResult | null) => void;\n /** When provided, shows the result-action buttons that emit / copy the result. */\n onInsert?: (payload: InsertPayload) => void;\n /** Which verb the result button performs. Defaults to `'insert'`. */\n insertVariant?: InsertVariant;\n /** `copy` variant only — fired after a successful clipboard write. */\n onCopy?: (mode: InsertMode) => void;\n /** `copy` variant only — fired if the clipboard write can't proceed. */\n onError?: (error: unknown) => void;\n /** Brand wordmark printed in the inserted/copied result-card footer. */\n insertBrand?: string | false;\n /** Append the antenatal exam schedule + reveal the plurality / risk inputs. */\n showSchedule?: boolean;\n /** `showSchedule` only — initial number of babies. Defaults to `'singleton'`. */\n defaultPlurality?: Plurality;\n /** `showSchedule` only — initial chorionicity for multiples. Defaults to `'unknown'`. */\n defaultChorionicity?: Chorionicity;\n /** `showSchedule` only — initial Rh-negative state (surfaces anti-D). */\n defaultRhNegative?: boolean;\n /** `showSchedule` only — initial gestational-diabetes risk tier (surfaces OGTT). */\n defaultGdmRisk?: GdmRisk;\n /**\n * Passthrough options for the appended schedule (national `schedule`,\n * `includeOnIndication`, `birthGuideline`). `today`, `plurality`,\n * `chorionicity`, `rhNegative` and `gdmRisk` come from the component's own\n * inputs. Ignored unless `showSchedule` is set.\n */\n scheduleOptions?: Omit<\n AntenatalScheduleOptions,\n 'today' | 'plurality' | 'chorionicity' | 'rhNegative' | 'gdmRisk'\n >;\n /** Opaque instance id, emitted as `data-component-id`. */\n id?: string;\n /** Extra class names on the wrapper. */\n className?: string;\n}\n\nexport const PregnancyDating = forwardRef<HTMLDivElement, PregnancyDatingProps>(\n (\n {\n defaultMethod = 'lmp',\n defaultReferenceDate,\n onResultChange,\n onInsert,\n insertVariant = 'insert',\n onCopy,\n onError,\n insertBrand,\n showSchedule = false,\n defaultPlurality = 'singleton',\n defaultChorionicity = 'unknown',\n defaultRhNegative = false,\n defaultGdmRisk,\n scheduleOptions,\n id,\n width,\n className,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n const [method, setMethod] = useState<DatingMethod>(defaultMethod);\n const [refDate, setRefDate] = useState<Date | undefined>(\n defaultReferenceDate,\n );\n const [cycleLength, setCycleLength] = useState<number | null>(\n DEFAULT_CYCLE_LENGTH,\n );\n const [embryoAge, setEmbryoAge] = useState<EmbryoAge>(5);\n // Precise re-dating (LMP method) and the quick ±days nudge.\n const [crlMm, setCrlMm] = useState<number | null>(null);\n const [scanDate, setScanDate] = useState<Date | undefined>(undefined);\n const [datingAdjustment, setDatingAdjustment] = useState<number | null>(\n null,\n );\n // Evaluation date (\"as of\") + multiple-pregnancy / risk inputs.\n const [asOfDate, setAsOfDate] = useState<Date>(() => new Date());\n const [plurality, setPlurality] = useState<Plurality>(defaultPlurality);\n const [chorionicity, setChorionicity] =\n useState<Chorionicity>(defaultChorionicity);\n const [rhNegative, setRhNegative] = useState<boolean>(defaultRhNegative);\n const [gdmRisk, setGdmRisk] = useState<GdmRisk | 'none'>(\n defaultGdmRisk ?? 'none',\n );\n\n // Real today caps the past-only date inputs (LMP, conception, transfer, scan).\n const today = useMemo(() => new Date(), []);\n\n // CRL re-dating (LMP method only) — the measurement-based path.\n const redating = useMemo(() => {\n if (method !== 'lmp' || !refDate || crlMm === null || !scanDate) {\n return null;\n }\n return redateByCrl({ lmp: refDate, scanDate, crlMm });\n }, [method, refDate, crlMm, scanDate]);\n\n const data = useMemo(() => {\n if (!refDate) return null;\n\n // Resolve the method's anchor to an effective LMP (GA day 0).\n let effectiveLmp: Date;\n let cycleForEdd = DEFAULT_CYCLE_LENGTH;\n if (method === 'lmp') {\n effectiveLmp = refDate;\n cycleForEdd = cycleLength ?? DEFAULT_CYCLE_LENGTH;\n } else if (method === 'conception') {\n effectiveLmp = subDays(refDate, CONCEPTION_OFFSET_DAYS);\n } else if (method === 'ivf') {\n effectiveLmp = subDays(refDate, embryoAge + CONCEPTION_OFFSET_DAYS);\n } else {\n effectiveLmp = subDays(refDate, GESTATION_DAYS);\n }\n\n // A confirmed CRL re-dating wins over everything (measurement-based); else\n // apply the quick ±days nudge (+ = pregnancy further along → earlier LMP).\n if (method === 'lmp' && redating?.redated) {\n effectiveLmp = redating.gestationalStart;\n cycleForEdd = DEFAULT_CYCLE_LENGTH;\n } else if (datingAdjustment) {\n effectiveLmp = subDays(effectiveLmp, datingAdjustment);\n }\n\n const r = computeDueDate(\n { method: 'lmp', date: effectiveLmp, cycleLength: cycleForEdd },\n asOfDate,\n );\n return {\n result: {\n dueDate: r.dueDate,\n gestationalStart: r.gestationalStart,\n gestationalAge: r.gestationalAge,\n trimester: r.trimester,\n } satisfies PregnancyDatingResult,\n milestones: gestationalMilestones(r.gestationalStart),\n };\n }, [\n method,\n refDate,\n cycleLength,\n embryoAge,\n redating,\n datingAdjustment,\n asOfDate,\n ]);\n\n const result = data?.result ?? null;\n\n const schedule = useMemo(() => {\n if (!showSchedule || !result) return null;\n return computeAntenatalSchedule(result.gestationalStart, {\n ...scheduleOptions,\n today: asOfDate,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk: gdmRisk === 'none' ? undefined : gdmRisk,\n });\n }, [\n showSchedule,\n result,\n asOfDate,\n scheduleOptions,\n plurality,\n chorionicity,\n rhNegative,\n gdmRisk,\n ]);\n\n const longDate = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'long' }),\n [i18n.language],\n );\n const medDate = useMemo(\n () => new Intl.DateTimeFormat(i18n.language, { dateStyle: 'medium' }),\n [i18n.language],\n );\n\n useEffect(() => {\n onResultChange?.(result);\n }, [result, onResultChange]);\n\n const chorionicityOptions = useMemo(\n () =>\n (\n [\n 'unknown',\n 'dichorionic-diamniotic',\n 'monochorionic-diamniotic',\n 'monochorionic-monoamniotic',\n ] as const\n ).map((c) => ({\n value: c,\n label: t(`antenatalSchedule.chorionicity.${c}`),\n })),\n [t],\n );\n\n const gaText = (ga: GestationalAge | null): string =>\n ga\n ? t('pregnancyDating.result.gestation', {\n weeks: ga.weeks,\n days: ga.days,\n })\n : '—';\n\n return (\n <div\n ref={ref}\n data-component=\"pregnancy-dating\"\n data-component-id={id}\n className={rootVariants({ width, className })}\n >\n <RadioGroup\n label={t('pregnancyDating.method.label')}\n variant=\"horizontal\"\n value={method}\n onValueChange={(next) => setMethod(next as DatingMethod)}\n >\n <Radio label={t('pregnancyDating.method.lmp')} value=\"lmp\" />\n <Radio\n label={t('pregnancyDating.method.conception')}\n value=\"conception\"\n />\n <Radio label={t('pregnancyDating.method.ivf')} value=\"ivf\" />\n <Radio label={t('pregnancyDating.method.edd')} value=\"edd\" />\n </RadioGroup>\n\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField label={t(DATE_LABEL_KEY[method])}>\n <DatePicker\n value={refDate}\n onChange={setRefDate}\n maxDate={method === 'edd' ? undefined : today}\n />\n </FormField>\n\n {method === 'lmp' && (\n <FormField\n label={t('pregnancyDating.cycleLength')}\n description={t('pregnancyDating.cycleLengthHint')}\n >\n <NumberInput\n mode=\"integer\"\n min={20}\n max={45}\n value={cycleLength}\n onChange={setCycleLength}\n />\n </FormField>\n )}\n\n {method === 'ivf' && (\n <RadioGroup\n label={t('pregnancyDating.embryoAge')}\n variant=\"horizontal\"\n value={String(embryoAge)}\n onValueChange={(next) => setEmbryoAge(Number(next) as EmbryoAge)}\n >\n <Radio label={t('pregnancyDating.day3')} value=\"3\" />\n <Radio label={t('pregnancyDating.day5')} value=\"5\" />\n </RadioGroup>\n )}\n\n <FormField\n label={t('pregnancyDating.datingAdjustment')}\n description={t('pregnancyDating.datingAdjustmentHint')}\n >\n <NumberInput\n mode=\"integer\"\n value={datingAdjustment}\n onChange={setDatingAdjustment}\n />\n </FormField>\n\n <FormField\n label={t('pregnancyDating.asOfDate')}\n description={t('pregnancyDating.asOfDateHint')}\n >\n <DatePicker\n value={asOfDate}\n onChange={(d) => d && setAsOfDate(d)}\n />\n </FormField>\n </div>\n\n {method === 'lmp' ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:sm:grid-cols-2\">\n <FormField\n label={t('pregnancyDating.crl')}\n description={t('pregnancyDating.crlHint')}\n >\n <NumberInput\n mode=\"decimal\"\n min={0}\n step={0.1}\n value={crlMm}\n onChange={setCrlMm}\n />\n </FormField>\n <FormField label={t('pregnancyDating.scanDate')}>\n <DatePicker\n value={scanDate}\n onChange={setScanDate}\n maxDate={today}\n />\n </FormField>\n </div>\n {redating ? (\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]\">\n <Badge variant={redating.redated ? 'warning' : 'success'}>\n {redating.redated\n ? t('pregnancyDating.redated', {\n days: redating.discrepancyDays,\n })\n : t('pregnancyDating.datesAgree')}\n </Badge>\n {!redating.crlInRange ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {t('pregnancyDating.crlOutOfRange')}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n ) : null}\n\n {showSchedule ? (\n <>\n <RadioGroup\n label={t('antenatalSchedule.plurality.label')}\n variant=\"horizontal\"\n value={plurality}\n onValueChange={(next) => setPlurality(next as Plurality)}\n >\n <Radio\n label={t('antenatalSchedule.plurality.singleton')}\n value=\"singleton\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.twin')}\n value=\"twin\"\n />\n <Radio\n label={t('antenatalSchedule.plurality.triplet')}\n value=\"triplet\"\n />\n </RadioGroup>\n\n {plurality !== 'singleton' ? (\n <FormField label={t('antenatalSchedule.chorionicity.label')}>\n <Select\n options={chorionicityOptions}\n value={chorionicity}\n onValueChange={(next) =>\n setChorionicity(next as Chorionicity)\n }\n />\n </FormField>\n ) : null}\n\n <Switch\n label={t('antenatalSchedule.rhNegative')}\n checked={rhNegative}\n onCheckedChange={setRhNegative}\n />\n\n <RadioGroup\n label={t('antenatalSchedule.gdmRisk.label')}\n variant=\"horizontal\"\n value={gdmRisk}\n onValueChange={(next) => setGdmRisk(next as GdmRisk | 'none')}\n >\n <Radio label={t('antenatalSchedule.gdmRisk.none')} value=\"none\" />\n <Radio\n label={t('antenatalSchedule.gdmRisk.medium')}\n value=\"medium\"\n />\n <Radio label={t('antenatalSchedule.gdmRisk.high')} value=\"high\" />\n </RadioGroup>\n </>\n ) : null}\n\n <p className=\"ds:sr-only\" role=\"status\" aria-live=\"polite\">\n {result\n ? `${t('pregnancyDating.result.dueDateLabel')}: ${longDate.format(\n result.dueDate,\n )}. ${t('pregnancyDating.result.gestationLabel')}: ${gaText(\n result.gestationalAge,\n )}.`\n : ''}\n </p>\n\n {data && result ? (\n <Card variant=\"elevated\">\n <Card.Body className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* EDD is the headline — full width so a long localized date\n never wraps; gestational age + trimester flow beneath it,\n packed to the start so they don't strand a gap at narrow /\n modal widths. */}\n <dl className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-x-[var(--spacing-xl)] ds:gap-y-[var(--spacing-md)]\">\n <div className=\"ds:basis-full ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.dueDateLabel')}\n </dt>\n <dd className=\"type-metric ds:text-foreground\">\n {longDate.format(result.dueDate)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.gestationLabel')}\n </dt>\n <dd className=\"type-body ds:text-foreground\">\n {gaText(result.gestationalAge)}\n </dd>\n </div>\n <div className=\"ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)]\">\n <dt className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.result.trimesterLabel')}\n </dt>\n <dd>\n <Badge\n variant={TRIMESTER_BADGE_VARIANT[result.trimester]}\n size=\"lg\"\n >\n {t(`pregnancyDating.trimester.${result.trimester}`)}\n </Badge>\n </dd>\n </div>\n </dl>\n\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <span className=\"type-label ds:text-muted-foreground\">\n {t('pregnancyDating.milestonesLabel')}\n </span>\n <ul className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n {data.milestones.map((m) => {\n const reached = isAfter(asOfDate, m.date);\n return (\n <li\n key={m.key}\n className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-md)]\"\n >\n <span className=\"type-body ds:text-foreground\">\n {t(`pregnancyDating.milestone.${m.key}`)}\n </span>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)]\">\n <span className=\"type-body ds:text-muted-foreground\">\n {medDate.format(m.date)}\n </span>\n {reached ? (\n <Badge variant=\"success\">\n {t('pregnancyDating.reached')}\n </Badge>\n ) : null}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n </Card.Body>\n </Card>\n ) : (\n <p className=\"type-body ds:text-muted-foreground\">\n {t('pregnancyDating.empty')}\n </p>\n )}\n\n {schedule ? <AntenatalScheduleTimeline events={schedule} /> : null}\n\n {result && (insertVariant === 'copy' || onInsert) ? (\n <InsertButton\n onInsert={onInsert}\n variant={insertVariant}\n onCopy={onCopy}\n onError={onError}\n card={{\n title: t('insert.title.pregnancyDating'),\n icon: 'calendar-heart',\n highlight: longDate.format(result.dueDate),\n highlightToken: trimesterHighlightToken(result.trimester),\n brand: insertBrand,\n fields: [\n {\n icon: 'calendar',\n label: t('pregnancyDating.result.dueDateLabel'),\n value: longDate.format(result.dueDate),\n },\n {\n icon: 'clock',\n label: t('pregnancyDating.result.gestationLabel'),\n value: gaText(result.gestationalAge),\n },\n {\n icon: 'tag',\n label: t('pregnancyDating.result.trimesterLabel'),\n value: t(`pregnancyDating.trimester.${result.trimester}`),\n },\n ...(schedule\n ? buildScheduleInsertFields(schedule, t, (d) =>\n medDate.format(d),\n )\n : []),\n ],\n }}\n />\n ) : null}\n </div>\n );\n },\n);\n\nPregnancyDating.displayName = 'PregnancyDating';\n"],"names":["rootVariants","cva","DATE_LABEL_KEY","PregnancyDating","forwardRef","defaultMethod","defaultReferenceDate","onResultChange","onInsert","insertVariant","onCopy","onError","insertBrand","showSchedule","defaultPlurality","defaultChorionicity","defaultRhNegative","defaultGdmRisk","scheduleOptions","id","width","className","ref","t","i18n","useTranslation","method","setMethod","useState","refDate","setRefDate","cycleLength","setCycleLength","DEFAULT_CYCLE_LENGTH","embryoAge","setEmbryoAge","crlMm","setCrlMm","scanDate","setScanDate","datingAdjustment","setDatingAdjustment","asOfDate","setAsOfDate","plurality","setPlurality","chorionicity","setChorionicity","rhNegative","setRhNegative","gdmRisk","setGdmRisk","today","useMemo","redating","redateByCrl","data","effectiveLmp","cycleForEdd","subDays","CONCEPTION_OFFSET_DAYS","GESTATION_DAYS","r","computeDueDate","gestationalMilestones","result","schedule","computeAntenatalSchedule","longDate","medDate","useEffect","chorionicityOptions","c","gaText","ga","jsxs","RadioGroup","next","jsx","Radio","FormField","DatePicker","NumberInput","d","Badge","Fragment","Select","Switch","Card","TRIMESTER_BADGE_VARIANT","m","reached","isAfter","AntenatalScheduleTimeline","InsertButton","trimesterHighlightToken","buildScheduleInsertFields"],"mappings":"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"}