@alfadocs/ui-kit-debug 0.70.0 → 0.72.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 (1434) hide show
  1. package/dist/_chunks/accordion-C11v9ouP.js +250 -0
  2. package/dist/_chunks/accordion-C11v9ouP.js.map +1 -0
  3. package/dist/_chunks/address-autocomplete-Bq-1n1UX.js +496 -0
  4. package/dist/_chunks/address-autocomplete-Bq-1n1UX.js.map +1 -0
  5. package/dist/_chunks/address-fields-COyjgqxA.js +246 -0
  6. package/dist/_chunks/address-fields-COyjgqxA.js.map +1 -0
  7. package/dist/_chunks/agenda-card-BCGaQazD.js +147 -0
  8. package/dist/_chunks/agenda-card-BCGaQazD.js.map +1 -0
  9. package/dist/_chunks/agenda-tray-loL2A3Cx.js +215 -0
  10. package/dist/_chunks/agenda-tray-loL2A3Cx.js.map +1 -0
  11. package/dist/_chunks/ai-consent-banner-Bke9m8VS.js +170 -0
  12. package/dist/_chunks/ai-consent-banner-Bke9m8VS.js.map +1 -0
  13. package/dist/_chunks/ai-prompt-input-TVI95hJD.js +500 -0
  14. package/dist/_chunks/ai-prompt-input-TVI95hJD.js.map +1 -0
  15. package/dist/_chunks/alert-KJbsPYkI.js +314 -0
  16. package/dist/_chunks/alert-KJbsPYkI.js.map +1 -0
  17. package/dist/_chunks/alia-sidebar-BV5lBSFR.js +1183 -0
  18. package/dist/_chunks/alia-sidebar-BV5lBSFR.js.map +1 -0
  19. package/dist/_chunks/anamnesis-card-CWO4Ui9c.js +156 -0
  20. package/dist/_chunks/anamnesis-card-CWO4Ui9c.js.map +1 -0
  21. package/dist/_chunks/annotation-marker-qt5R9WZX.js.map +1 -1
  22. package/dist/_chunks/antenatal-schedule-timeline-CY-VsLok.js +413 -0
  23. package/dist/_chunks/antenatal-schedule-timeline-CY-VsLok.js.map +1 -0
  24. package/dist/_chunks/app-frame-DIEMIC5V.js +132 -0
  25. package/dist/_chunks/app-frame-DIEMIC5V.js.map +1 -0
  26. package/dist/_chunks/appointment-card-Cy4FOkGP.js +311 -0
  27. package/dist/_chunks/appointment-card-Cy4FOkGP.js.map +1 -0
  28. package/dist/_chunks/appointment-timeline-BWAPPk8F.js +388 -0
  29. package/dist/_chunks/appointment-timeline-BWAPPk8F.js.map +1 -0
  30. package/dist/_chunks/appointment-tray-D3mk04TT.js +193 -0
  31. package/dist/_chunks/appointment-tray-D3mk04TT.js.map +1 -0
  32. package/dist/_chunks/ar-BOqyIfoY.js +399 -0
  33. package/dist/_chunks/ar-BOqyIfoY.js.map +1 -0
  34. package/dist/_chunks/astroid-BN4f5VXU.js +20 -0
  35. package/dist/_chunks/astroid-BN4f5VXU.js.map +1 -0
  36. package/dist/_chunks/audio-recorder-BbjG55dP.js +450 -0
  37. package/dist/_chunks/audio-recorder-BbjG55dP.js.map +1 -0
  38. package/dist/_chunks/autocomplete-BrONKN8l.js +516 -0
  39. package/dist/_chunks/autocomplete-BrONKN8l.js.map +1 -0
  40. package/dist/_chunks/bishop-score-C6eoak_j.js +304 -0
  41. package/dist/_chunks/bishop-score-C6eoak_j.js.map +1 -0
  42. package/dist/_chunks/bmi-calculator-BmQfoEGP.js +434 -0
  43. package/dist/_chunks/bmi-calculator-BmQfoEGP.js.map +1 -0
  44. package/dist/_chunks/booking-B62CMY5k.js +2695 -0
  45. package/dist/_chunks/booking-B62CMY5k.js.map +1 -0
  46. package/dist/_chunks/breadcrumb-agut0PwN.js +393 -0
  47. package/dist/_chunks/breadcrumb-agut0PwN.js.map +1 -0
  48. package/dist/_chunks/button-group-CvEnVzY7.js +119 -0
  49. package/dist/_chunks/button-group-CvEnVzY7.js.map +1 -0
  50. package/dist/_chunks/calculator-dialog-DuXMQSdm.js +40 -0
  51. package/dist/_chunks/calculator-dialog-DuXMQSdm.js.map +1 -0
  52. package/dist/_chunks/calendar-DeAlFPsF.js +1050 -0
  53. package/dist/_chunks/calendar-DeAlFPsF.js.map +1 -0
  54. package/dist/_chunks/calendar-clock-hbObjfGY.js +19 -0
  55. package/dist/_chunks/calendar-clock-hbObjfGY.js.map +1 -0
  56. package/dist/_chunks/calendar-days-BGWklvE-.js +23 -0
  57. package/dist/_chunks/calendar-days-BGWklvE-.js.map +1 -0
  58. package/dist/_chunks/care-plan-card-DhXbfGzE.js +256 -0
  59. package/dist/_chunks/care-plan-card-DhXbfGzE.js.map +1 -0
  60. package/dist/_chunks/care-plan-entry-card-D3YGD6rj.js +322 -0
  61. package/dist/_chunks/care-plan-entry-card-D3YGD6rj.js.map +1 -0
  62. package/dist/_chunks/care-plan-header-DtQxyfOb.js +198 -0
  63. package/dist/_chunks/care-plan-header-DtQxyfOb.js.map +1 -0
  64. package/dist/_chunks/carousel.agent-j7hWxJWr.js +1754 -0
  65. package/dist/_chunks/carousel.agent-j7hWxJWr.js.map +1 -0
  66. package/dist/_chunks/chat-container-BVCoN06N.js +234 -0
  67. package/dist/_chunks/chat-container-BVCoN06N.js.map +1 -0
  68. package/dist/_chunks/chat-input-Btq_uuMZ.js +368 -0
  69. package/dist/_chunks/chat-input-Btq_uuMZ.js.map +1 -0
  70. package/dist/_chunks/chat-message-DXjjM8z9.js +239 -0
  71. package/dist/_chunks/chat-message-DXjjM8z9.js.map +1 -0
  72. package/dist/_chunks/check-DrFSN__t.js +12 -0
  73. package/dist/_chunks/check-DrFSN__t.js.map +1 -0
  74. package/dist/_chunks/checkbox-group-CfqMv57d.js +213 -0
  75. package/dist/_chunks/checkbox-group-CfqMv57d.js.map +1 -0
  76. package/dist/_chunks/chevron-down-DWE7GSq9.js +12 -0
  77. package/dist/_chunks/chevron-down-DWE7GSq9.js.map +1 -0
  78. package/dist/_chunks/chevron-left-B8cOyH-V.js +12 -0
  79. package/dist/_chunks/chevron-left-B8cOyH-V.js.map +1 -0
  80. package/dist/_chunks/chevron-right-I9AeSxH2.js +12 -0
  81. package/dist/_chunks/chevron-right-I9AeSxH2.js.map +1 -0
  82. package/dist/_chunks/chevron-up-umRGgtJA.js +12 -0
  83. package/dist/_chunks/chevron-up-umRGgtJA.js.map +1 -0
  84. package/dist/_chunks/chevrons-right-DIHg7Xqi.js +26 -0
  85. package/dist/_chunks/chevrons-right-DIHg7Xqi.js.map +1 -0
  86. package/dist/_chunks/circle-alert-rGDZ73Wh.js +16 -0
  87. package/dist/_chunks/circle-alert-rGDZ73Wh.js.map +1 -0
  88. package/dist/_chunks/circle-check-BN6rz4NV.js +15 -0
  89. package/dist/_chunks/circle-check-BN6rz4NV.js.map +1 -0
  90. package/dist/_chunks/circle-j7oZoouK.js +12 -0
  91. package/dist/_chunks/circle-j7oZoouK.js.map +1 -0
  92. package/dist/_chunks/circle-x-W8Enq3i4.js +16 -0
  93. package/dist/_chunks/circle-x-W8Enq3i4.js.map +1 -0
  94. package/dist/_chunks/city-input-towzBenY.js +169 -0
  95. package/dist/_chunks/city-input-towzBenY.js.map +1 -0
  96. package/dist/_chunks/clinical-note-card-C7F_24IC.js +436 -0
  97. package/dist/_chunks/clinical-note-card-C7F_24IC.js.map +1 -0
  98. package/dist/_chunks/clipboard-check-BeAGxDVT.js +22 -0
  99. package/dist/_chunks/clipboard-check-BeAGxDVT.js.map +1 -0
  100. package/dist/_chunks/clock-Drd4Wtis.js +15 -0
  101. package/dist/_chunks/clock-Drd4Wtis.js.map +1 -0
  102. package/dist/_chunks/code-block-Cwi7e3HM.js +106 -0
  103. package/dist/_chunks/code-block-Cwi7e3HM.js.map +1 -0
  104. package/dist/_chunks/color-picker-D-tUwxxT.js +718 -0
  105. package/dist/_chunks/color-picker-D-tUwxxT.js.map +1 -0
  106. package/dist/_chunks/columns-2-8lq4-b8e.js +15 -0
  107. package/dist/_chunks/columns-2-8lq4-b8e.js.map +1 -0
  108. package/dist/_chunks/combobox-DiMLItyu.js +513 -0
  109. package/dist/_chunks/combobox-DiMLItyu.js.map +1 -0
  110. package/dist/_chunks/command-palette-DQl_SNEv.js +473 -0
  111. package/dist/_chunks/command-palette-DQl_SNEv.js.map +1 -0
  112. package/dist/_chunks/connection-status-0HajXMXM.js +108 -0
  113. package/dist/_chunks/connection-status-0HajXMXM.js.map +1 -0
  114. package/dist/_chunks/contact-card-0hnFJwrz.js +121 -0
  115. package/dist/_chunks/contact-card-0hnFJwrz.js.map +1 -0
  116. package/dist/_chunks/contact-profile-card-IggiUVpN.js +333 -0
  117. package/dist/_chunks/contact-profile-card-IggiUVpN.js.map +1 -0
  118. package/dist/_chunks/control-room-rail-DaGcsdZ6.js +333 -0
  119. package/dist/_chunks/control-room-rail-DaGcsdZ6.js.map +1 -0
  120. package/dist/_chunks/copy-field-PAp0-Wr5.js +268 -0
  121. package/dist/_chunks/copy-field-PAp0-Wr5.js.map +1 -0
  122. package/dist/_chunks/copy-vRpqqHtY.js +15 -0
  123. package/dist/_chunks/copy-vRpqqHtY.js.map +1 -0
  124. package/dist/_chunks/country-select-DYHDLEjG.js +709 -0
  125. package/dist/_chunks/country-select-DYHDLEjG.js.map +1 -0
  126. package/dist/_chunks/createLucideIcon-DhHxpK9K.js +117 -0
  127. package/dist/_chunks/createLucideIcon-DhHxpK9K.js.map +1 -0
  128. package/dist/_chunks/cycle-calculator-BNILyVas.js +252 -0
  129. package/dist/_chunks/cycle-calculator-BNILyVas.js.map +1 -0
  130. package/dist/_chunks/date-picker-CVkD_lOi.js +1845 -0
  131. package/dist/_chunks/date-picker-CVkD_lOi.js.map +1 -0
  132. package/dist/_chunks/date-picker-variants-DLg-ZrIo.js +3224 -0
  133. package/dist/_chunks/date-picker-variants-DLg-ZrIo.js.map +1 -0
  134. package/dist/_chunks/date-range-picker-Dw12DgV8.js +324 -0
  135. package/dist/_chunks/date-range-picker-Dw12DgV8.js.map +1 -0
  136. package/dist/_chunks/date-time-picker-Cd_OJtOy.js +336 -0
  137. package/dist/_chunks/date-time-picker-Cd_OJtOy.js.map +1 -0
  138. package/dist/_chunks/de-DFLsUxeV.js +477 -0
  139. package/dist/_chunks/de-DFLsUxeV.js.map +1 -0
  140. package/dist/_chunks/dependent-selector-DyFpdzZV.js +338 -0
  141. package/dist/_chunks/dependent-selector-DyFpdzZV.js.map +1 -0
  142. package/dist/_chunks/description-list-CmBVxIF5.js +319 -0
  143. package/dist/_chunks/description-list-CmBVxIF5.js.map +1 -0
  144. package/dist/_chunks/dialog-UbKJCi1X.js +230 -0
  145. package/dist/_chunks/dialog-UbKJCi1X.js.map +1 -0
  146. package/dist/_chunks/document-scanner-B23j4w7X.js +711 -0
  147. package/dist/_chunks/document-scanner-B23j4w7X.js.map +1 -0
  148. package/dist/_chunks/download-CfYKJO_j.js +16 -0
  149. package/dist/_chunks/download-CfYKJO_j.js.map +1 -0
  150. package/dist/_chunks/dropdown-menu-DU-Hrf33.js +355 -0
  151. package/dist/_chunks/dropdown-menu-DU-Hrf33.js.map +1 -0
  152. package/dist/_chunks/due-date-calculator-CmdAl_JO.js +256 -0
  153. package/dist/_chunks/due-date-calculator-CmdAl_JO.js.map +1 -0
  154. package/dist/_chunks/editable-currency-cell-renderer-z9fJFw6Z.js +410 -0
  155. package/dist/_chunks/editable-currency-cell-renderer-z9fJFw6Z.js.map +1 -0
  156. package/dist/_chunks/editor-overlay-BIOzr8v7.js +88 -0
  157. package/dist/_chunks/editor-overlay-BIOzr8v7.js.map +1 -0
  158. package/dist/_chunks/el-OVjBKytp.js +373 -0
  159. package/dist/_chunks/el-OVjBKytp.js.map +1 -0
  160. package/dist/_chunks/ellipsis-dRo9ouSU.js +16 -0
  161. package/dist/_chunks/ellipsis-dRo9ouSU.js.map +1 -0
  162. package/dist/_chunks/email-input-Dpe63k0K.js +397 -0
  163. package/dist/_chunks/email-input-Dpe63k0K.js.map +1 -0
  164. package/dist/_chunks/entity-summary-DpGziDv5.js +277 -0
  165. package/dist/_chunks/entity-summary-DpGziDv5.js.map +1 -0
  166. package/dist/_chunks/es-DKDNrHXG.js +373 -0
  167. package/dist/_chunks/es-DKDNrHXG.js.map +1 -0
  168. package/dist/_chunks/external-link-CY6zAXXU.js +16 -0
  169. package/dist/_chunks/external-link-CY6zAXXU.js.map +1 -0
  170. package/dist/_chunks/eye-BjhN2nYf.js +21 -0
  171. package/dist/_chunks/eye-BjhN2nYf.js.map +1 -0
  172. package/dist/_chunks/eye-off-C_4xkbRP.js +29 -0
  173. package/dist/_chunks/eye-off-C_4xkbRP.js.map +1 -0
  174. package/dist/_chunks/face-scheme-DOZO3M_c.js +1450 -0
  175. package/dist/_chunks/face-scheme-DOZO3M_c.js.map +1 -0
  176. package/dist/_chunks/face_detection_yunet_2023mar-BnsRs4bD.js +5 -0
  177. package/dist/_chunks/face_detection_yunet_2023mar-BnsRs4bD.js.map +1 -0
  178. package/dist/_chunks/fetal-weight-CVAH8sJ3.js +122 -0
  179. package/dist/_chunks/fetal-weight-CVAH8sJ3.js.map +1 -0
  180. package/dist/_chunks/field-array-CDzc3hTM.js +146 -0
  181. package/dist/_chunks/field-array-CDzc3hTM.js.map +1 -0
  182. package/dist/_chunks/field-value-Dj3i52H2.js +415 -0
  183. package/dist/_chunks/field-value-Dj3i52H2.js.map +1 -0
  184. package/dist/_chunks/file-spreadsheet-DmwyfV4O.js +25 -0
  185. package/dist/_chunks/file-spreadsheet-DmwyfV4O.js.map +1 -0
  186. package/dist/_chunks/file-text-5yv6r2ls.js +24 -0
  187. package/dist/_chunks/file-text-5yv6r2ls.js.map +1 -0
  188. package/dist/_chunks/file-upload-Kw1rdvFw.js +819 -0
  189. package/dist/_chunks/file-upload-Kw1rdvFw.js.map +1 -0
  190. package/dist/_chunks/finished-terminal-Di4gtZ50.js +122 -0
  191. package/dist/_chunks/finished-terminal-Di4gtZ50.js.map +1 -0
  192. package/dist/_chunks/fiscal-code-input-DKNXFXs3.js +553 -0
  193. package/dist/_chunks/fiscal-code-input-DKNXFXs3.js.map +1 -0
  194. package/dist/_chunks/form-field-M5UpX65Z.js +123 -0
  195. package/dist/_chunks/form-field-M5UpX65Z.js.map +1 -0
  196. package/dist/_chunks/fr-BfMvQh-v.js +338 -0
  197. package/dist/_chunks/fr-BfMvQh-v.js.map +1 -0
  198. package/dist/_chunks/freemium-paywall-DFoeedwh.js +275 -0
  199. package/dist/_chunks/freemium-paywall-DFoeedwh.js.map +1 -0
  200. package/dist/_chunks/gestational-age-calculator-BwCBPAGX.js +311 -0
  201. package/dist/_chunks/gestational-age-calculator-BwCBPAGX.js.map +1 -0
  202. package/dist/_chunks/globe-sHBW1JN5.js +16 -0
  203. package/dist/_chunks/globe-sHBW1JN5.js.map +1 -0
  204. package/dist/_chunks/grip-vertical-onSb1JXO.js +19 -0
  205. package/dist/_chunks/grip-vertical-onSb1JXO.js.map +1 -0
  206. package/dist/_chunks/hash-CSQ9SChR.js +17 -0
  207. package/dist/_chunks/hash-CSQ9SChR.js.map +1 -0
  208. package/dist/_chunks/hcg-doubling-CSsWxEJc.js +170 -0
  209. package/dist/_chunks/hcg-doubling-CSsWxEJc.js.map +1 -0
  210. package/dist/_chunks/header-DaXWDw0M.js +297 -0
  211. package/dist/_chunks/header-DaXWDw0M.js.map +1 -0
  212. package/dist/_chunks/header-settings-B0G_u-wV.js +284 -0
  213. package/dist/_chunks/header-settings-B0G_u-wV.js.map +1 -0
  214. package/dist/_chunks/heart--qCA4ffe.js +20 -0
  215. package/dist/_chunks/heart--qCA4ffe.js.map +1 -0
  216. package/dist/_chunks/heart-pulse-BCppJyN2.js +21 -0
  217. package/dist/_chunks/heart-pulse-BCppJyN2.js.map +1 -0
  218. package/dist/_chunks/hi-C0GEMwlD.js +433 -0
  219. package/dist/_chunks/hi-C0GEMwlD.js.map +1 -0
  220. package/dist/_chunks/iban-input-DXIA8Ln_.js +436 -0
  221. package/dist/_chunks/iban-input-DXIA8Ln_.js.map +1 -0
  222. package/dist/_chunks/icon-picker-Di6uYDG-.js +272 -0
  223. package/dist/_chunks/icon-picker-Di6uYDG-.js.map +1 -0
  224. package/dist/_chunks/image-B_5MNK0x.js +16 -0
  225. package/dist/_chunks/image-B_5MNK0x.js.map +1 -0
  226. package/dist/_chunks/image-cropper-CdmWFrMC.js +367 -0
  227. package/dist/_chunks/image-cropper-CdmWFrMC.js.map +1 -0
  228. package/dist/_chunks/info-CGn22peZ.js +16 -0
  229. package/dist/_chunks/info-CGn22peZ.js.map +1 -0
  230. package/dist/_chunks/insert-result-C7xSDb8q.js +742 -0
  231. package/dist/_chunks/insert-result-C7xSDb8q.js.map +1 -0
  232. package/dist/_chunks/isSameWeek-HddDAyJG.js +14 -0
  233. package/dist/_chunks/isSameWeek-HddDAyJG.js.map +1 -0
  234. package/dist/_chunks/it-5f4hiT2e.js +401 -0
  235. package/dist/_chunks/it-5f4hiT2e.js.map +1 -0
  236. package/dist/_chunks/ja-U0_2inl_.js +366 -0
  237. package/dist/_chunks/ja-U0_2inl_.js.map +1 -0
  238. package/dist/_chunks/key-value-pair-Byyyc_9J.js +144 -0
  239. package/dist/_chunks/key-value-pair-Byyyc_9J.js.map +1 -0
  240. package/dist/_chunks/languages-CGLX6Qpe.js +19 -0
  241. package/dist/_chunks/languages-CGLX6Qpe.js.map +1 -0
  242. package/dist/_chunks/layers-DcAENmsZ.js +34 -0
  243. package/dist/_chunks/layers-DcAENmsZ.js.map +1 -0
  244. package/dist/_chunks/link-CPb_pZPr.js +129 -0
  245. package/dist/_chunks/link-CPb_pZPr.js.map +1 -0
  246. package/dist/_chunks/link-cell-renderer-BCppbMec.js +2185 -0
  247. package/dist/_chunks/link-cell-renderer-BCppbMec.js.map +1 -0
  248. package/dist/_chunks/locale-picker-DzF7Q5Y8.js +739 -0
  249. package/dist/_chunks/locale-picker-DzF7Q5Y8.js.map +1 -0
  250. package/dist/_chunks/lock-ClAFG1gy.js +15 -0
  251. package/dist/_chunks/lock-ClAFG1gy.js.map +1 -0
  252. package/dist/_chunks/log-out-oDS6zO5d.js +16 -0
  253. package/dist/_chunks/log-out-oDS6zO5d.js.map +1 -0
  254. package/dist/_chunks/mail-BqXVF2zH.js +15 -0
  255. package/dist/_chunks/mail-BqXVF2zH.js.map +1 -0
  256. package/dist/_chunks/map-pin-BaY37-Km.js +21 -0
  257. package/dist/_chunks/map-pin-BaY37-Km.js.map +1 -0
  258. package/dist/_chunks/map-view-ByPvWG_9.js +378 -0
  259. package/dist/_chunks/map-view-ByPvWG_9.js.map +1 -0
  260. package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js +513 -0
  261. package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js.map +1 -0
  262. package/dist/_chunks/maximize-2-BYd2Kti7.js +17 -0
  263. package/dist/_chunks/maximize-2-BYd2Kti7.js.map +1 -0
  264. package/dist/_chunks/menu-Op71AWIC.js +16 -0
  265. package/dist/_chunks/menu-Op71AWIC.js.map +1 -0
  266. package/dist/_chunks/message-card-BZnnffyB.js +319 -0
  267. package/dist/_chunks/message-card-BZnnffyB.js.map +1 -0
  268. package/dist/_chunks/message-circle-Bepl9JT5.js +20 -0
  269. package/dist/_chunks/message-circle-Bepl9JT5.js.map +1 -0
  270. package/dist/_chunks/message-tray-cUHOCdU0.js +494 -0
  271. package/dist/_chunks/message-tray-cUHOCdU0.js.map +1 -0
  272. package/dist/_chunks/mic-CUklMZGF.js +16 -0
  273. package/dist/_chunks/mic-CUklMZGF.js.map +1 -0
  274. package/dist/_chunks/monitor-xXSrufmP.js +16 -0
  275. package/dist/_chunks/monitor-xXSrufmP.js.map +1 -0
  276. package/dist/_chunks/multi-select-D5QLBJM1.js +614 -0
  277. package/dist/_chunks/multi-select-D5QLBJM1.js.map +1 -0
  278. package/dist/_chunks/muscle-scheme-B9MIkuj0.js +1714 -0
  279. package/dist/_chunks/muscle-scheme-B9MIkuj0.js.map +1 -0
  280. package/dist/_chunks/nav-grid-gRudLsPX.js +169 -0
  281. package/dist/_chunks/nav-grid-gRudLsPX.js.map +1 -0
  282. package/dist/_chunks/navigation-menu-D3VndouD.js +310 -0
  283. package/dist/_chunks/navigation-menu-D3VndouD.js.map +1 -0
  284. package/dist/_chunks/nl-CDVnnx1U.js +326 -0
  285. package/dist/_chunks/nl-CDVnnx1U.js.map +1 -0
  286. package/dist/_chunks/notes-panel-CMyjUXD4.js +324 -0
  287. package/dist/_chunks/notes-panel-CMyjUXD4.js.map +1 -0
  288. package/dist/_chunks/notification-card-BHJ07FkH.js +290 -0
  289. package/dist/_chunks/notification-card-BHJ07FkH.js.map +1 -0
  290. package/dist/_chunks/notification-tray-Dzm1c3Wy.js +499 -0
  291. package/dist/_chunks/notification-tray-Dzm1c3Wy.js.map +1 -0
  292. package/dist/_chunks/number-input-DjWzmlEY.js +350 -0
  293. package/dist/_chunks/number-input-DjWzmlEY.js.map +1 -0
  294. package/dist/_chunks/operator-hero-DVy0RGoD.js +202 -0
  295. package/dist/_chunks/operator-hero-DVy0RGoD.js.map +1 -0
  296. package/dist/_chunks/optical-prescription-Bmlbuopi.js +653 -0
  297. package/dist/_chunks/optical-prescription-Bmlbuopi.js.map +1 -0
  298. package/dist/_chunks/pagination-EkD5SiCK.js +486 -0
  299. package/dist/_chunks/pagination-EkD5SiCK.js.map +1 -0
  300. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  301. package/dist/_chunks/panel-header-D313n_9-.js.map +1 -0
  302. package/dist/_chunks/patient-details-pU_E5xM2.js +778 -0
  303. package/dist/_chunks/patient-details-pU_E5xM2.js.map +1 -0
  304. package/dist/_chunks/patient-search-X9SUZGpy.js +1167 -0
  305. package/dist/_chunks/patient-search-X9SUZGpy.js.map +1 -0
  306. package/dist/_chunks/patient-shell-oiIRqEAl.js +162 -0
  307. package/dist/_chunks/patient-shell-oiIRqEAl.js.map +1 -0
  308. package/dist/_chunks/patient-summary-card--t3BjTdU.js +452 -0
  309. package/dist/_chunks/patient-summary-card--t3BjTdU.js.map +1 -0
  310. package/dist/_chunks/patient-table-BgWgNIMf.js +1110 -0
  311. package/dist/_chunks/patient-table-BgWgNIMf.js.map +1 -0
  312. package/dist/_chunks/payment-form-DL9xk9BA.js +690 -0
  313. package/dist/_chunks/payment-form-DL9xk9BA.js.map +1 -0
  314. package/dist/_chunks/payment-request-card-2ts7ITxd.js +467 -0
  315. package/dist/_chunks/payment-request-card-2ts7ITxd.js.map +1 -0
  316. package/dist/_chunks/pdf-viewer-DF3VMaPo.js +1005 -0
  317. package/dist/_chunks/pdf-viewer-DF3VMaPo.js.map +1 -0
  318. package/dist/_chunks/pencil-B1sKKyuT.js +21 -0
  319. package/dist/_chunks/pencil-B1sKKyuT.js.map +1 -0
  320. package/dist/_chunks/periodontal-chart-card-6c6Lt4ws.js +455 -0
  321. package/dist/_chunks/periodontal-chart-card-6c6Lt4ws.js.map +1 -0
  322. package/dist/_chunks/permission-matrix-BIJrGEmz.js +174 -0
  323. package/dist/_chunks/permission-matrix-BIJrGEmz.js.map +1 -0
  324. package/dist/_chunks/phone-FceYcIFQ.js +20 -0
  325. package/dist/_chunks/phone-FceYcIFQ.js.map +1 -0
  326. package/dist/_chunks/phone-input-dtnrvnZf.js +580 -0
  327. package/dist/_chunks/phone-input-dtnrvnZf.js.map +1 -0
  328. package/dist/_chunks/pl-BWNumNrg.js +514 -0
  329. package/dist/_chunks/pl-BWNumNrg.js.map +1 -0
  330. package/dist/_chunks/plus-DzMQ_c6b.js +15 -0
  331. package/dist/_chunks/plus-DzMQ_c6b.js.map +1 -0
  332. package/dist/_chunks/popover-uJ6BvEU3.js +302 -0
  333. package/dist/_chunks/popover-uJ6BvEU3.js.map +1 -0
  334. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  335. package/dist/_chunks/position-grid-CcvqHaKN.js.map +1 -0
  336. package/dist/_chunks/postal-code-input-BznBxVxf.js +192 -0
  337. package/dist/_chunks/postal-code-input-BznBxVxf.js.map +1 -0
  338. package/dist/_chunks/practice-results-CSEHTH2V.js +1609 -0
  339. package/dist/_chunks/practice-results-CSEHTH2V.js.map +1 -0
  340. package/dist/_chunks/pregnancy-dating-CxVAA6_4.js +421 -0
  341. package/dist/_chunks/pregnancy-dating-CxVAA6_4.js.map +1 -0
  342. package/dist/_chunks/pregnancy-weight-gain-C7zyrwow.js +322 -0
  343. package/dist/_chunks/pregnancy-weight-gain-C7zyrwow.js.map +1 -0
  344. package/dist/_chunks/printer-rkK0T1gi.js +22 -0
  345. package/dist/_chunks/printer-rkK0T1gi.js.map +1 -0
  346. package/dist/_chunks/privacy-lock-DrRmK8C7.js +197 -0
  347. package/dist/_chunks/privacy-lock-DrRmK8C7.js.map +1 -0
  348. package/dist/_chunks/product-hub-panel-CaZqttvm.js +678 -0
  349. package/dist/_chunks/product-hub-panel-CaZqttvm.js.map +1 -0
  350. package/dist/_chunks/province-select-BDywtmL-.js +261 -0
  351. package/dist/_chunks/province-select-BDywtmL-.js.map +1 -0
  352. package/dist/_chunks/pt-zqdQuryr.js +370 -0
  353. package/dist/_chunks/pt-zqdQuryr.js.map +1 -0
  354. package/dist/_chunks/public-footer.agent-BKkK3T3V.js +596 -0
  355. package/dist/_chunks/public-footer.agent-BKkK3T3V.js.map +1 -0
  356. package/dist/_chunks/public-header.agent-C-opZaOw.js +597 -0
  357. package/dist/_chunks/public-header.agent-C-opZaOw.js.map +1 -0
  358. package/dist/_chunks/radio-group-CI-6SmSw.js +167 -0
  359. package/dist/_chunks/radio-group-CI-6SmSw.js.map +1 -0
  360. package/dist/_chunks/radiograph-panel.agent-D1x33moc.js +553 -0
  361. package/dist/_chunks/radiograph-panel.agent-D1x33moc.js.map +1 -0
  362. package/dist/_chunks/rating-BYbUowdK.js +171 -0
  363. package/dist/_chunks/rating-BYbUowdK.js.map +1 -0
  364. package/dist/_chunks/refresh-cw-DnI0cLFC.js +17 -0
  365. package/dist/_chunks/refresh-cw-DnI0cLFC.js.map +1 -0
  366. package/dist/_chunks/reviews-panel-liUj6OPX.js +559 -0
  367. package/dist/_chunks/reviews-panel-liUj6OPX.js.map +1 -0
  368. package/dist/_chunks/rich-text-editor-DUgznqOf.js +2621 -0
  369. package/dist/_chunks/rich-text-editor-DUgznqOf.js.map +1 -0
  370. package/dist/_chunks/ro-CornQr64.js +361 -0
  371. package/dist/_chunks/ro-CornQr64.js.map +1 -0
  372. package/dist/_chunks/rotate-ccw-BBQnIVTr.js +15 -0
  373. package/dist/_chunks/rotate-ccw-BBQnIVTr.js.map +1 -0
  374. package/dist/_chunks/ru-CKAXNYVD.js +561 -0
  375. package/dist/_chunks/ru-CKAXNYVD.js.map +1 -0
  376. package/dist/_chunks/scan-line-CNseIHQ0.js +18 -0
  377. package/dist/_chunks/scan-line-CNseIHQ0.js.map +1 -0
  378. package/dist/_chunks/scroll-area-BZOvUhwQ.js +169 -0
  379. package/dist/_chunks/scroll-area-BZOvUhwQ.js.map +1 -0
  380. package/dist/_chunks/search-QbWPlY5f.js +15 -0
  381. package/dist/_chunks/search-QbWPlY5f.js.map +1 -0
  382. package/dist/_chunks/search-bar-CJj6sI9m.js +612 -0
  383. package/dist/_chunks/search-bar-CJj6sI9m.js.map +1 -0
  384. package/dist/_chunks/search-input-B7GmlPIE.js +237 -0
  385. package/dist/_chunks/search-input-B7GmlPIE.js.map +1 -0
  386. package/dist/_chunks/select-BmCbJMJS.js +442 -0
  387. package/dist/_chunks/select-BmCbJMJS.js.map +1 -0
  388. package/dist/_chunks/send-C5kDJ-Mz.js +21 -0
  389. package/dist/_chunks/send-C5kDJ-Mz.js.map +1 -0
  390. package/dist/_chunks/session-countdown-qr8EO5QY.js +214 -0
  391. package/dist/_chunks/session-countdown-qr8EO5QY.js.map +1 -0
  392. package/dist/_chunks/settings-d25ju_6L.js +21 -0
  393. package/dist/_chunks/settings-d25ju_6L.js.map +1 -0
  394. package/dist/_chunks/sheet-B_X54aZo.js +296 -0
  395. package/dist/_chunks/sheet-B_X54aZo.js.map +1 -0
  396. package/dist/_chunks/shield-check-DCJALLVh.js +21 -0
  397. package/dist/_chunks/shield-check-DCJALLVh.js.map +1 -0
  398. package/dist/_chunks/sidebar-B0OBmJrC.js +1311 -0
  399. package/dist/_chunks/sidebar-B0OBmJrC.js.map +1 -0
  400. package/dist/_chunks/sign-document-nK03S73h.js +370 -0
  401. package/dist/_chunks/sign-document-nK03S73h.js.map +1 -0
  402. package/dist/_chunks/signature-field-jgwYgUhO.js +197 -0
  403. package/dist/_chunks/signature-field-jgwYgUhO.js.map +1 -0
  404. package/dist/_chunks/smart-date-CsPlilQA.js +114 -0
  405. package/dist/_chunks/smart-date-CsPlilQA.js.map +1 -0
  406. package/dist/_chunks/sq-CIIvqXZv.js +355 -0
  407. package/dist/_chunks/sq-CIIvqXZv.js.map +1 -0
  408. package/dist/_chunks/square-DASBRZ0U.js +14 -0
  409. package/dist/_chunks/square-DASBRZ0U.js.map +1 -0
  410. package/dist/_chunks/square-check-big-dj0o8yA3.js +18 -0
  411. package/dist/_chunks/square-check-big-dj0o8yA3.js.map +1 -0
  412. package/dist/_chunks/star-Bf9L2Uot.js +20 -0
  413. package/dist/_chunks/star-Bf9L2Uot.js.map +1 -0
  414. package/dist/_chunks/stepper-accordion-BeVMZPuG.js +247 -0
  415. package/dist/_chunks/stepper-accordion-BeVMZPuG.js.map +1 -0
  416. package/dist/_chunks/stethoscope-sZXGC43m.js +18 -0
  417. package/dist/_chunks/stethoscope-sZXGC43m.js.map +1 -0
  418. package/dist/_chunks/streaming-text-Cedc05ya.js +131 -0
  419. package/dist/_chunks/streaming-text-Cedc05ya.js.map +1 -0
  420. package/dist/_chunks/subDays-DGSOp9d9.js +8 -0
  421. package/dist/_chunks/subDays-DGSOp9d9.js.map +1 -0
  422. package/dist/_chunks/sun-Bj9Mr553.js +38 -0
  423. package/dist/_chunks/sun-Bj9Mr553.js.map +1 -0
  424. package/dist/_chunks/sv-Kpk1pzjz.js +376 -0
  425. package/dist/_chunks/sv-Kpk1pzjz.js.map +1 -0
  426. package/dist/_chunks/tab-bar-Axhk6xzx.js +262 -0
  427. package/dist/_chunks/tab-bar-Axhk6xzx.js.map +1 -0
  428. package/dist/_chunks/tabs-DVQ941Sj.js +408 -0
  429. package/dist/_chunks/tabs-DVQ941Sj.js.map +1 -0
  430. package/dist/_chunks/tag-3wgkwwDB.js +258 -0
  431. package/dist/_chunks/tag-3wgkwwDB.js.map +1 -0
  432. package/dist/_chunks/task-card-BUgK6yZT.js +189 -0
  433. package/dist/_chunks/task-card-BUgK6yZT.js.map +1 -0
  434. package/dist/_chunks/task-tray-DP5A3Qnc.js +251 -0
  435. package/dist/_chunks/task-tray-DP5A3Qnc.js.map +1 -0
  436. package/dist/_chunks/tasks-panel-BuxaYtEF.js +757 -0
  437. package/dist/_chunks/tasks-panel-BuxaYtEF.js.map +1 -0
  438. package/dist/_chunks/text-input-CUvCb6ST.js +283 -0
  439. package/dist/_chunks/text-input-CUvCb6ST.js.map +1 -0
  440. package/dist/_chunks/theme-toggle-dtdy5EaL.js +367 -0
  441. package/dist/_chunks/theme-toggle-dtdy5EaL.js.map +1 -0
  442. package/dist/_chunks/timeline-r-8IUoBS.js +294 -0
  443. package/dist/_chunks/timeline-r-8IUoBS.js.map +1 -0
  444. package/dist/_chunks/toast.agent-BSxl057x.js +1005 -0
  445. package/dist/_chunks/toast.agent-BSxl057x.js.map +1 -0
  446. package/dist/_chunks/token-insert-menu-Pok4nExI.js +147 -0
  447. package/dist/_chunks/token-insert-menu-Pok4nExI.js.map +1 -0
  448. package/dist/_chunks/tool-rail-BZx0-yIr.js +524 -0
  449. package/dist/_chunks/tool-rail-BZx0-yIr.js.map +1 -0
  450. package/dist/_chunks/tooth-scheme-D_rso4uu.js +2133 -0
  451. package/dist/_chunks/tooth-scheme-D_rso4uu.js.map +1 -0
  452. package/dist/_chunks/tr-DHaeLFxG.js +378 -0
  453. package/dist/_chunks/tr-DHaeLFxG.js.map +1 -0
  454. package/dist/_chunks/transaction-chip-B6iWoVmU.js +225 -0
  455. package/dist/_chunks/transaction-chip-B6iWoVmU.js.map +1 -0
  456. package/dist/_chunks/transcript-panel-BGkEhvHO.js +374 -0
  457. package/dist/_chunks/transcript-panel-BGkEhvHO.js.map +1 -0
  458. package/dist/_chunks/trash-2-uumy3fy1.js +18 -0
  459. package/dist/_chunks/trash-2-uumy3fy1.js.map +1 -0
  460. package/dist/_chunks/triangle-alert-CBnO6nq_.js +22 -0
  461. package/dist/_chunks/triangle-alert-CBnO6nq_.js.map +1 -0
  462. package/dist/_chunks/unit-converter-fEqluT8b.js +337 -0
  463. package/dist/_chunks/unit-converter-fEqluT8b.js.map +1 -0
  464. package/dist/_chunks/use-edge-resize-ZnGG7gyO.js.map +1 -1
  465. package/dist/_chunks/use-password-requirements-Bwtqx1qN.js +453 -0
  466. package/dist/_chunks/use-password-requirements-Bwtqx1qN.js.map +1 -0
  467. package/dist/_chunks/user-B12p7bVF.js +15 -0
  468. package/dist/_chunks/user-B12p7bVF.js.map +1 -0
  469. package/dist/_chunks/user-cog-BTn98Arm.js +24 -0
  470. package/dist/_chunks/user-cog-BTn98Arm.js.map +1 -0
  471. package/dist/_chunks/users-BjS_Gg1E.js +17 -0
  472. package/dist/_chunks/users-BjS_Gg1E.js.map +1 -0
  473. package/dist/_chunks/video-BheNGvsu.js +21 -0
  474. package/dist/_chunks/video-BheNGvsu.js.map +1 -0
  475. package/dist/_chunks/warning-stack-BaMI7-n7.js +268 -0
  476. package/dist/_chunks/warning-stack-BaMI7-n7.js.map +1 -0
  477. package/dist/_chunks/workflow-map-qWsgCldq.js +1356 -0
  478. package/dist/_chunks/workflow-map-qWsgCldq.js.map +1 -0
  479. package/dist/_chunks/x-B5YnXwCz.js +15 -0
  480. package/dist/_chunks/x-B5YnXwCz.js.map +1 -0
  481. package/dist/_chunks/zh-CN-BncsTBwM.js +388 -0
  482. package/dist/_chunks/zh-CN-BncsTBwM.js.map +1 -0
  483. package/dist/_chunks/zoom-out-Dnif4kJx.js +29 -0
  484. package/dist/_chunks/zoom-out-Dnif4kJx.js.map +1 -0
  485. package/dist/agent-catalog.json +6621 -3629
  486. package/dist/agent-i18n/en.json +313 -23
  487. package/dist/components/_shared/option.d.ts +2 -0
  488. package/dist/components/_shared/option.d.ts.map +1 -1
  489. package/dist/components/_shared/patient-fields.d.ts +1 -1
  490. package/dist/components/_shared/patient-fields.d.ts.map +1 -1
  491. package/dist/components/accordion/index.js +1 -1
  492. package/dist/components/address-autocomplete/index.js +1 -1
  493. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  494. package/dist/components/address-fields/address-fields.agent.d.ts.map +1 -0
  495. package/dist/components/address-fields/address-fields.d.ts +29 -0
  496. package/dist/components/address-fields/address-fields.d.ts.map +1 -0
  497. package/dist/components/address-fields/index.d.ts +5 -0
  498. package/dist/components/address-fields/index.d.ts.map +1 -0
  499. package/dist/components/address-fields/index.js +6 -0
  500. package/dist/components/agenda-card/index.js +1 -1
  501. package/dist/components/agenda-tray/index.js +1 -1
  502. package/dist/components/ai-consent-banner/index.js +1 -1
  503. package/dist/components/ai-prompt-input/index.js +1 -1
  504. package/dist/components/alert/index.js +1 -1
  505. package/dist/components/anamnesis-card/index.js +1 -1
  506. package/dist/components/annotation-marker/annotation-marker.d.ts +1 -1
  507. package/dist/components/app-frame/app-frame.d.ts +2 -2
  508. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  509. package/dist/components/app-frame/index.js +1 -1
  510. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  511. package/dist/components/appointment-card/index.js +2 -2
  512. package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -1
  513. package/dist/components/appointment-timeline/index.js +1 -1
  514. package/dist/components/audio-recorder/index.js +1 -1
  515. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  516. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  517. package/dist/components/autocomplete/index.js +1 -1
  518. package/dist/components/bishop-score/index.js +1 -1
  519. package/dist/components/bmi-calculator/index.js +1 -1
  520. package/dist/components/booking/index.js +1 -1
  521. package/dist/components/breadcrumb/index.js +1 -1
  522. package/dist/components/button-group/button-group.d.ts.map +1 -1
  523. package/dist/components/button-group/index.js +1 -1
  524. package/dist/components/calculator-dialog/index.js +1 -1
  525. package/dist/components/calendar/index.js +1 -1
  526. package/dist/components/care-plan-card/index.js +1 -1
  527. package/dist/components/care-plan-entry-card/index.js +1 -1
  528. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  529. package/dist/components/care-plan-header/care-plan-header.d.ts.map +1 -1
  530. package/dist/components/care-plan-header/index.js +1 -1
  531. package/dist/components/carousel/index.js +1 -1
  532. package/dist/components/chat-container/index.js +1 -1
  533. package/dist/components/chat-input/index.js +1 -1
  534. package/dist/components/chat-message/chat-message.d.ts +1 -1
  535. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  536. package/dist/components/chat-message/index.js +1 -1
  537. package/dist/components/checkbox-group/index.js +1 -1
  538. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  539. package/dist/components/city-input/city-input.agent.d.ts.map +1 -0
  540. package/dist/components/city-input/city-input.d.ts +57 -0
  541. package/dist/components/city-input/city-input.d.ts.map +1 -0
  542. package/dist/components/city-input/index.d.ts +5 -0
  543. package/dist/components/city-input/index.d.ts.map +1 -0
  544. package/dist/components/city-input/index.js +6 -0
  545. package/dist/components/clinical-note-card/index.js +1 -1
  546. package/dist/components/color-picker/index.js +1 -1
  547. package/dist/components/combobox/combobox.d.ts +17 -0
  548. package/dist/components/combobox/combobox.d.ts.map +1 -1
  549. package/dist/components/combobox/index.js +1 -1
  550. package/dist/components/command-palette/index.js +1 -1
  551. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  552. package/dist/components/connection-status/connection-status.agent.d.ts.map +1 -0
  553. package/dist/components/connection-status/connection-status.d.ts +36 -0
  554. package/dist/components/connection-status/connection-status.d.ts.map +1 -0
  555. package/dist/components/connection-status/index.d.ts +4 -0
  556. package/dist/components/connection-status/index.d.ts.map +1 -0
  557. package/dist/components/connection-status/index.js +6 -0
  558. package/dist/components/connection-status/index.js.map +1 -0
  559. package/dist/components/contact-card/index.js +1 -1
  560. package/dist/components/contact-profile-card/index.js +1 -1
  561. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  562. package/dist/components/control-room-rail/control-room-context.d.ts.map +1 -1
  563. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  564. package/dist/components/control-room-rail/control-room-rail.agent.d.ts.map +1 -0
  565. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  566. package/dist/components/control-room-rail/control-room-rail.d.ts.map +1 -1
  567. package/dist/components/control-room-rail/index.d.ts +1 -0
  568. package/dist/components/control-room-rail/index.d.ts.map +1 -1
  569. package/dist/components/control-room-rail/index.js +4 -3
  570. package/dist/components/copy-field/index.js +1 -1
  571. package/dist/components/counter/counter.d.ts +1 -1
  572. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  573. package/dist/components/country-select/country-select.agent.d.ts.map +1 -0
  574. package/dist/components/country-select/country-select.d.ts +51 -0
  575. package/dist/components/country-select/country-select.d.ts.map +1 -0
  576. package/dist/components/country-select/index.d.ts +6 -0
  577. package/dist/components/country-select/index.d.ts.map +1 -0
  578. package/dist/components/country-select/index.js +9 -0
  579. package/dist/components/country-select/index.js.map +1 -0
  580. package/dist/components/country-select/iso-3166.d.ts +15 -0
  581. package/dist/components/country-select/iso-3166.d.ts.map +1 -0
  582. package/dist/components/cycle-calculator/index.js +1 -1
  583. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  584. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts.map +1 -0
  585. package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
  586. package/dist/components/data-table/index.d.ts +2 -0
  587. package/dist/components/data-table/index.d.ts.map +1 -1
  588. package/dist/components/data-table/index.js +13 -11
  589. package/dist/components/date-picker/index.js +1 -1
  590. package/dist/components/date-range-picker/index.js +1 -1
  591. package/dist/components/date-time-picker/index.js +1 -1
  592. package/dist/components/dependent-selector/index.js +1 -1
  593. package/dist/components/description-list/index.js +1 -1
  594. package/dist/components/dialog/index.js +1 -1
  595. package/dist/components/document-scanner/index.js +1 -1
  596. package/dist/components/dropdown-menu/index.js +1 -1
  597. package/dist/components/due-date-calculator/index.js +2 -2
  598. package/dist/components/editor-overlay/index.js +1 -1
  599. package/dist/components/email-input/index.js +1 -1
  600. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  601. package/dist/components/entity-summary/entity-summary.agent.d.ts.map +1 -0
  602. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  603. package/dist/components/entity-summary/entity-summary.d.ts.map +1 -1
  604. package/dist/components/entity-summary/index.js +1 -1
  605. package/dist/components/face-scheme/detect-face-landmarks.d.ts +26 -0
  606. package/dist/components/face-scheme/detect-face-landmarks.d.ts.map +1 -0
  607. package/dist/components/face-scheme/detect-face-yunet.d.ts +28 -0
  608. package/dist/components/face-scheme/detect-face-yunet.d.ts.map +1 -0
  609. package/dist/components/face-scheme/face-scheme-data.d.ts +113 -0
  610. package/dist/components/face-scheme/face-scheme-data.d.ts.map +1 -0
  611. package/dist/components/face-scheme/face-scheme-zones.d.ts +11 -0
  612. package/dist/components/face-scheme/face-scheme-zones.d.ts.map +1 -0
  613. package/dist/components/face-scheme/face-scheme.agent.d.ts +4 -0
  614. package/dist/components/face-scheme/face-scheme.agent.d.ts.map +1 -0
  615. package/dist/components/face-scheme/face-scheme.d.ts +144 -0
  616. package/dist/components/face-scheme/face-scheme.d.ts.map +1 -0
  617. package/dist/components/face-scheme/index.d.ts +7 -0
  618. package/dist/components/face-scheme/index.d.ts.map +1 -0
  619. package/dist/components/face-scheme/index.js +17 -0
  620. package/dist/components/face-scheme/index.js.map +1 -0
  621. package/dist/components/fetal-weight/index.js +1 -1
  622. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  623. package/dist/components/field-array/field-array.agent.d.ts.map +1 -0
  624. package/dist/components/field-array/field-array.d.ts +45 -0
  625. package/dist/components/field-array/field-array.d.ts.map +1 -0
  626. package/dist/components/field-array/index.d.ts +4 -0
  627. package/dist/components/field-array/index.d.ts.map +1 -0
  628. package/dist/components/field-array/index.js +6 -0
  629. package/dist/components/field-array/index.js.map +1 -0
  630. package/dist/components/file-upload/index.js +1 -1
  631. package/dist/components/finished-terminal/index.js +1 -1
  632. package/dist/components/fiscal-code-input/index.js +1 -1
  633. package/dist/components/form-field/index.js +1 -1
  634. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  635. package/dist/components/freemium-paywall/index.js +1 -1
  636. package/dist/components/gestational-age-calculator/index.js +1 -1
  637. package/dist/components/hcg-doubling/index.js +1 -1
  638. package/dist/components/header/index.js +1 -1
  639. package/dist/components/header-settings/index.js +1 -1
  640. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  641. package/dist/components/iban-input/iban-input.agent.d.ts.map +1 -0
  642. package/dist/components/iban-input/iban-input.d.ts +51 -0
  643. package/dist/components/iban-input/iban-input.d.ts.map +1 -0
  644. package/dist/components/iban-input/index.d.ts +5 -0
  645. package/dist/components/iban-input/index.d.ts.map +1 -0
  646. package/dist/components/iban-input/index.js +13 -0
  647. package/dist/components/iban-input/index.js.map +1 -0
  648. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  649. package/dist/components/iban-input/is-valid-iban.d.ts.map +1 -0
  650. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  651. package/dist/components/icon-picker/icon-picker.agent.d.ts.map +1 -0
  652. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  653. package/dist/components/icon-picker/icon-picker.d.ts.map +1 -0
  654. package/dist/components/icon-picker/index.d.ts +4 -0
  655. package/dist/components/icon-picker/index.d.ts.map +1 -0
  656. package/dist/components/icon-picker/index.js +6 -0
  657. package/dist/components/icon-picker/index.js.map +1 -0
  658. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  659. package/dist/components/image-cropper/crop-geometry.d.ts.map +1 -0
  660. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  661. package/dist/components/image-cropper/image-cropper.agent.d.ts.map +1 -0
  662. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  663. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
  664. package/dist/components/image-cropper/index.d.ts +5 -0
  665. package/dist/components/image-cropper/index.d.ts.map +1 -0
  666. package/dist/components/image-cropper/index.js +11 -0
  667. package/dist/components/image-cropper/index.js.map +1 -0
  668. package/dist/components/index.d.ts +19 -2
  669. package/dist/components/index.d.ts.map +1 -1
  670. package/dist/components/key-value-pair/index.js +1 -1
  671. package/dist/components/link/index.js +1 -1
  672. package/dist/components/locale-picker/index.js +1 -1
  673. package/dist/components/map-view/index.js +1 -1
  674. package/dist/components/message-card/index.js +1 -1
  675. package/dist/components/message-card/message-card.d.ts +14 -0
  676. package/dist/components/message-card/message-card.d.ts.map +1 -1
  677. package/dist/components/message-tray/index.js +1 -1
  678. package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -1
  679. package/dist/components/message-tray/message-tray.d.ts +4 -0
  680. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  681. package/dist/components/multi-select/index.js +1 -1
  682. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  683. package/dist/components/muscle-scheme/index.d.ts +6 -0
  684. package/dist/components/muscle-scheme/index.d.ts.map +1 -0
  685. package/dist/components/muscle-scheme/index.js +16 -0
  686. package/dist/components/muscle-scheme/index.js.map +1 -0
  687. package/dist/components/muscle-scheme/muscle-paths.d.ts +22 -0
  688. package/dist/components/muscle-scheme/muscle-paths.d.ts.map +1 -0
  689. package/dist/components/muscle-scheme/muscle-scheme-data.d.ts +107 -0
  690. package/dist/components/muscle-scheme/muscle-scheme-data.d.ts.map +1 -0
  691. package/dist/components/muscle-scheme/muscle-scheme.agent.d.ts +6 -0
  692. package/dist/components/muscle-scheme/muscle-scheme.agent.d.ts.map +1 -0
  693. package/dist/components/muscle-scheme/muscle-scheme.d.ts +66 -0
  694. package/dist/components/muscle-scheme/muscle-scheme.d.ts.map +1 -0
  695. package/dist/components/nav-grid/index.d.ts +4 -0
  696. package/dist/components/nav-grid/index.d.ts.map +1 -0
  697. package/dist/components/nav-grid/index.js +7 -0
  698. package/dist/components/nav-grid/index.js.map +1 -0
  699. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  700. package/dist/components/nav-grid/nav-grid.agent.d.ts.map +1 -0
  701. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  702. package/dist/components/nav-grid/nav-grid.d.ts.map +1 -0
  703. package/dist/components/navigation-menu/index.js +1 -1
  704. package/dist/components/notes-panel/index.js +1 -1
  705. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  706. package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -0
  707. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  708. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  709. package/dist/components/notification-card/index.js +1 -1
  710. package/dist/components/notification-card/notification-card.d.ts +15 -0
  711. package/dist/components/notification-card/notification-card.d.ts.map +1 -1
  712. package/dist/components/notification-tray/index.js +1 -1
  713. package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -1
  714. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  715. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  716. package/dist/components/number-input/index.js +1 -1
  717. package/dist/components/operator-hero/index.js +1 -1
  718. package/dist/components/optical-prescription/index.d.ts +6 -0
  719. package/dist/components/optical-prescription/index.d.ts.map +1 -0
  720. package/dist/components/optical-prescription/index.js +38 -0
  721. package/dist/components/optical-prescription/index.js.map +1 -0
  722. package/dist/components/optical-prescription/optical-prescription-data.d.ts +106 -0
  723. package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -0
  724. package/dist/components/optical-prescription/optical-prescription.agent.d.ts +6 -0
  725. package/dist/components/optical-prescription/optical-prescription.agent.d.ts.map +1 -0
  726. package/dist/components/optical-prescription/optical-prescription.d.ts +43 -0
  727. package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -0
  728. package/dist/components/pagination/index.js +1 -1
  729. package/dist/components/panel-header/index.d.ts +3 -0
  730. package/dist/components/panel-header/index.d.ts.map +1 -0
  731. package/dist/components/panel-header/index.js +7 -0
  732. package/dist/components/panel-header/index.js.map +1 -0
  733. package/dist/components/panel-header/panel-header.d.ts +41 -0
  734. package/dist/components/panel-header/panel-header.d.ts.map +1 -0
  735. package/dist/components/password-input/index.js +1 -1
  736. package/dist/components/patient-details/index.js +1 -1
  737. package/dist/components/patient-details/patient-details.d.ts.map +1 -1
  738. package/dist/components/patient-search/index.js +1 -1
  739. package/dist/components/patient-summary-card/index.js +1 -1
  740. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
  741. package/dist/components/patient-table/index.js +1 -1
  742. package/dist/components/payment-card/index.js +1 -1
  743. package/dist/components/payment-form/index.js +1 -1
  744. package/dist/components/pdf-viewer/index.js +1 -1
  745. package/dist/components/periodontal-chart-card/index.js +1 -1
  746. package/dist/components/permission-matrix/index.d.ts +4 -0
  747. package/dist/components/permission-matrix/index.d.ts.map +1 -0
  748. package/dist/components/permission-matrix/index.js +7 -0
  749. package/dist/components/permission-matrix/index.js.map +1 -0
  750. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  751. package/dist/components/permission-matrix/permission-matrix.agent.d.ts.map +1 -0
  752. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  753. package/dist/components/permission-matrix/permission-matrix.d.ts.map +1 -0
  754. package/dist/components/phone-input/index.js +1 -1
  755. package/dist/components/popover/index.js +1 -1
  756. package/dist/components/position-grid/index.d.ts +4 -0
  757. package/dist/components/position-grid/index.d.ts.map +1 -0
  758. package/dist/components/position-grid/index.js +7 -0
  759. package/dist/components/position-grid/index.js.map +1 -0
  760. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  761. package/dist/components/position-grid/position-grid.agent.d.ts.map +1 -0
  762. package/dist/components/position-grid/position-grid.d.ts +39 -0
  763. package/dist/components/position-grid/position-grid.d.ts.map +1 -0
  764. package/dist/components/postal-code-input/index.d.ts +5 -0
  765. package/dist/components/postal-code-input/index.d.ts.map +1 -0
  766. package/dist/components/postal-code-input/index.js +6 -0
  767. package/dist/components/postal-code-input/index.js.map +1 -0
  768. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  769. package/dist/components/postal-code-input/postal-code-input.agent.d.ts.map +1 -0
  770. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  771. package/dist/components/postal-code-input/postal-code-input.d.ts.map +1 -0
  772. package/dist/components/practice-results/index.js +1 -1
  773. package/dist/components/pregnancy-dating/index.js +1 -1
  774. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  775. package/dist/components/privacy-lock/index.js +1 -1
  776. package/dist/components/product-hub-tray/index.js +1 -1
  777. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  778. package/dist/components/product-hub-tray/product-hub-tray.d.ts.map +1 -1
  779. package/dist/components/province-select/index.d.ts +6 -0
  780. package/dist/components/province-select/index.d.ts.map +1 -0
  781. package/dist/components/province-select/index.js +7 -0
  782. package/dist/components/province-select/index.js.map +1 -0
  783. package/dist/components/province-select/it-provinces.d.ts +8 -0
  784. package/dist/components/province-select/it-provinces.d.ts.map +1 -0
  785. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  786. package/dist/components/province-select/province-select.agent.d.ts.map +1 -0
  787. package/dist/components/province-select/province-select.d.ts +38 -0
  788. package/dist/components/province-select/province-select.d.ts.map +1 -0
  789. package/dist/components/public-footer/index.js +1 -1
  790. package/dist/components/public-footer/public-footer.d.ts +1 -1
  791. package/dist/components/public-header/index.js +1 -1
  792. package/dist/components/radio-group/index.js +1 -1
  793. package/dist/components/radiograph-panel/index.js +1 -1
  794. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  795. package/dist/components/rating/index.js +1 -1
  796. package/dist/components/reviews-panel/index.js +1 -1
  797. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  798. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  799. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
  800. package/dist/components/rich-text-editor/index.js +1 -1
  801. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  802. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  803. package/dist/components/scroll-area/index.js +1 -1
  804. package/dist/components/search-bar/index.js +1 -1
  805. package/dist/components/search-input/index.js +1 -1
  806. package/dist/components/select/index.js +1 -1
  807. package/dist/components/select/select.d.ts +8 -2
  808. package/dist/components/select/select.d.ts.map +1 -1
  809. package/dist/components/session-countdown/index.js +1 -1
  810. package/dist/components/sheet/index.js +1 -1
  811. package/dist/components/sheet/sheet.d.ts.map +1 -1
  812. package/dist/components/sidebar/index.js +1 -1
  813. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  814. package/dist/components/sign-document/index.js +1 -1
  815. package/dist/components/signature-field/index.js +1 -1
  816. package/dist/components/skeleton/skeleton.d.ts +1 -1
  817. package/dist/components/smart-date/index.js +1 -1
  818. package/dist/components/stepper-accordion/index.js +1 -1
  819. package/dist/components/streaming-text/index.js +1 -1
  820. package/dist/components/tab-bar/index.js +1 -1
  821. package/dist/components/tabs/index.js +1 -1
  822. package/dist/components/tag/index.js +1 -1
  823. package/dist/components/task-card/index.js +1 -1
  824. package/dist/components/task-card/task-card.d.ts +14 -6
  825. package/dist/components/task-card/task-card.d.ts.map +1 -1
  826. package/dist/components/task-tray/index.js +1 -1
  827. package/dist/components/tasks-panel/index.d.ts +4 -0
  828. package/dist/components/tasks-panel/index.d.ts.map +1 -0
  829. package/dist/components/tasks-panel/index.js +6 -0
  830. package/dist/components/tasks-panel/index.js.map +1 -0
  831. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  832. package/dist/components/tasks-panel/tasks-panel.agent.d.ts.map +1 -0
  833. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  834. package/dist/components/tasks-panel/tasks-panel.d.ts.map +1 -0
  835. package/dist/components/text-input/index.js +1 -1
  836. package/dist/components/theme-toggle/index.js +1 -1
  837. package/dist/components/timeline/index.js +1 -1
  838. package/dist/components/toast/index.js +1 -1
  839. package/dist/components/token-insert-menu/index.d.ts +4 -0
  840. package/dist/components/token-insert-menu/index.d.ts.map +1 -0
  841. package/dist/components/token-insert-menu/index.js +6 -0
  842. package/dist/components/token-insert-menu/index.js.map +1 -0
  843. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  844. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts.map +1 -0
  845. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  846. package/dist/components/token-insert-menu/token-insert-menu.d.ts.map +1 -0
  847. package/dist/components/tool-rail/index.d.ts +4 -0
  848. package/dist/components/tool-rail/index.d.ts.map +1 -0
  849. package/dist/components/tool-rail/index.js +6 -0
  850. package/dist/components/tool-rail/index.js.map +1 -0
  851. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  852. package/dist/components/tool-rail/tool-rail.agent.d.ts.map +1 -0
  853. package/dist/components/tool-rail/tool-rail.d.ts +160 -0
  854. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -0
  855. package/dist/components/tooth-scheme/index.js +1 -1
  856. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  857. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  858. package/dist/components/transaction-chip/index.js +1 -1
  859. package/dist/components/transcript-panel/index.js +1 -1
  860. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  861. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  862. package/dist/components/unit-converter/index.js +1 -1
  863. package/dist/components/warning-stack/index.js +1 -1
  864. package/dist/components/workflow/index.js +1 -1
  865. package/dist/hooks/use-edge-resize.d.ts +2 -2
  866. package/dist/i18n/locales/ar.d.ts +306 -100
  867. package/dist/i18n/locales/ar.d.ts.map +1 -1
  868. package/dist/i18n/locales/ar.js +298 -112
  869. package/dist/i18n/locales/ar.js.map +1 -1
  870. package/dist/i18n/locales/de.d.ts +306 -100
  871. package/dist/i18n/locales/de.d.ts.map +1 -1
  872. package/dist/i18n/locales/de.js +300 -112
  873. package/dist/i18n/locales/de.js.map +1 -1
  874. package/dist/i18n/locales/el.d.ts +306 -100
  875. package/dist/i18n/locales/el.d.ts.map +1 -1
  876. package/dist/i18n/locales/el.js +305 -112
  877. package/dist/i18n/locales/el.js.map +1 -1
  878. package/dist/i18n/locales/en.d.ts +306 -100
  879. package/dist/i18n/locales/en.d.ts.map +1 -1
  880. package/dist/i18n/locales/en.js +311 -112
  881. package/dist/i18n/locales/en.js.map +1 -1
  882. package/dist/i18n/locales/es.d.ts +306 -100
  883. package/dist/i18n/locales/es.d.ts.map +1 -1
  884. package/dist/i18n/locales/es.js +297 -112
  885. package/dist/i18n/locales/es.js.map +1 -1
  886. package/dist/i18n/locales/fr.d.ts +306 -100
  887. package/dist/i18n/locales/fr.d.ts.map +1 -1
  888. package/dist/i18n/locales/fr.js +300 -112
  889. package/dist/i18n/locales/fr.js.map +1 -1
  890. package/dist/i18n/locales/hi.d.ts +306 -100
  891. package/dist/i18n/locales/hi.d.ts.map +1 -1
  892. package/dist/i18n/locales/hi.js +296 -112
  893. package/dist/i18n/locales/hi.js.map +1 -1
  894. package/dist/i18n/locales/it.d.ts +306 -100
  895. package/dist/i18n/locales/it.d.ts.map +1 -1
  896. package/dist/i18n/locales/it.js +300 -112
  897. package/dist/i18n/locales/it.js.map +1 -1
  898. package/dist/i18n/locales/ja.d.ts +306 -100
  899. package/dist/i18n/locales/ja.d.ts.map +1 -1
  900. package/dist/i18n/locales/ja.js +301 -112
  901. package/dist/i18n/locales/ja.js.map +1 -1
  902. package/dist/i18n/locales/nl.d.ts +306 -100
  903. package/dist/i18n/locales/nl.d.ts.map +1 -1
  904. package/dist/i18n/locales/nl.js +293 -112
  905. package/dist/i18n/locales/nl.js.map +1 -1
  906. package/dist/i18n/locales/pl.d.ts +306 -100
  907. package/dist/i18n/locales/pl.d.ts.map +1 -1
  908. package/dist/i18n/locales/pl.js +301 -112
  909. package/dist/i18n/locales/pl.js.map +1 -1
  910. package/dist/i18n/locales/pt.d.ts +306 -100
  911. package/dist/i18n/locales/pt.d.ts.map +1 -1
  912. package/dist/i18n/locales/pt.js +305 -112
  913. package/dist/i18n/locales/pt.js.map +1 -1
  914. package/dist/i18n/locales/ro.d.ts +306 -100
  915. package/dist/i18n/locales/ro.d.ts.map +1 -1
  916. package/dist/i18n/locales/ro.js +305 -112
  917. package/dist/i18n/locales/ro.js.map +1 -1
  918. package/dist/i18n/locales/ru.d.ts +306 -100
  919. package/dist/i18n/locales/ru.d.ts.map +1 -1
  920. package/dist/i18n/locales/ru.js +298 -112
  921. package/dist/i18n/locales/ru.js.map +1 -1
  922. package/dist/i18n/locales/sq.d.ts +306 -100
  923. package/dist/i18n/locales/sq.d.ts.map +1 -1
  924. package/dist/i18n/locales/sq.js +302 -112
  925. package/dist/i18n/locales/sq.js.map +1 -1
  926. package/dist/i18n/locales/sv.d.ts +306 -100
  927. package/dist/i18n/locales/sv.d.ts.map +1 -1
  928. package/dist/i18n/locales/sv.js +300 -112
  929. package/dist/i18n/locales/sv.js.map +1 -1
  930. package/dist/i18n/locales/tr.d.ts +306 -100
  931. package/dist/i18n/locales/tr.d.ts.map +1 -1
  932. package/dist/i18n/locales/tr.js +298 -112
  933. package/dist/i18n/locales/tr.js.map +1 -1
  934. package/dist/i18n/locales/zh.d.ts +306 -100
  935. package/dist/i18n/locales/zh.d.ts.map +1 -1
  936. package/dist/i18n/locales/zh.js +293 -112
  937. package/dist/i18n/locales/zh.js.map +1 -1
  938. package/dist/index.js +881 -765
  939. package/dist/index.js.map +1 -1
  940. package/dist/locales/ar.json +311 -105
  941. package/dist/locales/de.json +311 -105
  942. package/dist/locales/el.json +311 -105
  943. package/dist/locales/en.json +311 -105
  944. package/dist/locales/es.json +311 -105
  945. package/dist/locales/fr.json +311 -105
  946. package/dist/locales/hi.json +311 -105
  947. package/dist/locales/it.json +311 -105
  948. package/dist/locales/ja.json +311 -105
  949. package/dist/locales/nl.json +311 -105
  950. package/dist/locales/pl.json +311 -105
  951. package/dist/locales/pt.json +311 -105
  952. package/dist/locales/ro.json +311 -105
  953. package/dist/locales/ru.json +311 -105
  954. package/dist/locales/sq.json +311 -105
  955. package/dist/locales/sv.json +311 -105
  956. package/dist/locales/tr.json +311 -105
  957. package/dist/locales/zh.json +311 -105
  958. package/dist/patterns/alia-assistant/alia-asteroid-icon.d.ts +18 -0
  959. package/dist/patterns/alia-assistant/alia-asteroid-icon.d.ts.map +1 -0
  960. package/dist/patterns/alia-assistant/alia-chat-surface.d.ts.map +1 -1
  961. package/dist/patterns/alia-assistant/alia-sidebar.d.ts.map +1 -1
  962. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  963. package/dist/patterns/alia-assistant/alia-types.d.ts.map +1 -1
  964. package/dist/patterns/alia-assistant/index.js +1 -1
  965. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  966. package/dist/patterns/patient-shell/index.js +1 -1
  967. package/dist/tokens.css +15 -1
  968. package/package.json +77 -9
  969. package/dist/_chunks/accordion-DnIa7OHX.js +0 -250
  970. package/dist/_chunks/accordion-DnIa7OHX.js.map +0 -1
  971. package/dist/_chunks/address-autocomplete-BEX9PXty.js +0 -496
  972. package/dist/_chunks/address-autocomplete-BEX9PXty.js.map +0 -1
  973. package/dist/_chunks/agenda-card-BQ-IKAru.js +0 -147
  974. package/dist/_chunks/agenda-card-BQ-IKAru.js.map +0 -1
  975. package/dist/_chunks/agenda-tray-CGXRk58j.js +0 -215
  976. package/dist/_chunks/agenda-tray-CGXRk58j.js.map +0 -1
  977. package/dist/_chunks/ai-consent-banner-Be-h9mRI.js +0 -170
  978. package/dist/_chunks/ai-consent-banner-Be-h9mRI.js.map +0 -1
  979. package/dist/_chunks/ai-prompt-input-CuhTo9mh.js +0 -500
  980. package/dist/_chunks/ai-prompt-input-CuhTo9mh.js.map +0 -1
  981. package/dist/_chunks/ai-tools-rail-B5NEghsp.js +0 -511
  982. package/dist/_chunks/ai-tools-rail-B5NEghsp.js.map +0 -1
  983. package/dist/_chunks/alert-CHYZ96tR.js +0 -314
  984. package/dist/_chunks/alert-CHYZ96tR.js.map +0 -1
  985. package/dist/_chunks/alia-sidebar-B47qRQb5.js +0 -1126
  986. package/dist/_chunks/alia-sidebar-B47qRQb5.js.map +0 -1
  987. package/dist/_chunks/anamnesis-card-DvYCa16e.js +0 -156
  988. package/dist/_chunks/anamnesis-card-DvYCa16e.js.map +0 -1
  989. package/dist/_chunks/anatomy-scheme-CJB6dI6p.js +0 -2445
  990. package/dist/_chunks/anatomy-scheme-CJB6dI6p.js.map +0 -1
  991. package/dist/_chunks/antenatal-schedule-timeline-CwXrQRm1.js +0 -413
  992. package/dist/_chunks/antenatal-schedule-timeline-CwXrQRm1.js.map +0 -1
  993. package/dist/_chunks/app-frame-BYx1gcV7.js +0 -121
  994. package/dist/_chunks/app-frame-BYx1gcV7.js.map +0 -1
  995. package/dist/_chunks/appointment-card-C06aZqA7.js +0 -310
  996. package/dist/_chunks/appointment-card-C06aZqA7.js.map +0 -1
  997. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js +0 -386
  998. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js.map +0 -1
  999. package/dist/_chunks/appointment-tray-DRRw5ROi.js +0 -193
  1000. package/dist/_chunks/appointment-tray-DRRw5ROi.js.map +0 -1
  1001. package/dist/_chunks/ar-Cn5Fq48Z.js +0 -399
  1002. package/dist/_chunks/ar-Cn5Fq48Z.js.map +0 -1
  1003. package/dist/_chunks/audio-recorder-Cpdk5qpQ.js +0 -450
  1004. package/dist/_chunks/audio-recorder-Cpdk5qpQ.js.map +0 -1
  1005. package/dist/_chunks/autocomplete-DOeGouCL.js +0 -494
  1006. package/dist/_chunks/autocomplete-DOeGouCL.js.map +0 -1
  1007. package/dist/_chunks/bishop-score-DnYWtZa_.js +0 -304
  1008. package/dist/_chunks/bishop-score-DnYWtZa_.js.map +0 -1
  1009. package/dist/_chunks/bmi-calculator-zjeY4E7J.js +0 -434
  1010. package/dist/_chunks/bmi-calculator-zjeY4E7J.js.map +0 -1
  1011. package/dist/_chunks/booking-DUBI0oqt.js +0 -2711
  1012. package/dist/_chunks/booking-DUBI0oqt.js.map +0 -1
  1013. package/dist/_chunks/breadcrumb-CchdeG7d.js +0 -393
  1014. package/dist/_chunks/breadcrumb-CchdeG7d.js.map +0 -1
  1015. package/dist/_chunks/button-group-Ciq6J4IW.js +0 -122
  1016. package/dist/_chunks/button-group-Ciq6J4IW.js.map +0 -1
  1017. package/dist/_chunks/calculator-dialog-BR5iU0kf.js +0 -40
  1018. package/dist/_chunks/calculator-dialog-BR5iU0kf.js.map +0 -1
  1019. package/dist/_chunks/calendar-B6soK1Yb.js +0 -17
  1020. package/dist/_chunks/calendar-B6soK1Yb.js.map +0 -1
  1021. package/dist/_chunks/calendar-CZUjL8SZ.js +0 -1050
  1022. package/dist/_chunks/calendar-CZUjL8SZ.js.map +0 -1
  1023. package/dist/_chunks/calendar-clock-CYkcqdwl.js +0 -19
  1024. package/dist/_chunks/calendar-clock-CYkcqdwl.js.map +0 -1
  1025. package/dist/_chunks/calendar-days-C4BmpCZg.js +0 -23
  1026. package/dist/_chunks/calendar-days-C4BmpCZg.js.map +0 -1
  1027. package/dist/_chunks/care-plan-card-C5sTfY9G.js +0 -256
  1028. package/dist/_chunks/care-plan-card-C5sTfY9G.js.map +0 -1
  1029. package/dist/_chunks/care-plan-entry-card-CXnxGCWA.js +0 -322
  1030. package/dist/_chunks/care-plan-entry-card-CXnxGCWA.js.map +0 -1
  1031. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  1032. package/dist/_chunks/care-plan-header-BUwqDTtz.js.map +0 -1
  1033. package/dist/_chunks/carousel.agent-4v8Emr9E.js +0 -1754
  1034. package/dist/_chunks/carousel.agent-4v8Emr9E.js.map +0 -1
  1035. package/dist/_chunks/chat-container-DWho5hPR.js +0 -234
  1036. package/dist/_chunks/chat-container-DWho5hPR.js.map +0 -1
  1037. package/dist/_chunks/chat-input-BcXTetgM.js +0 -368
  1038. package/dist/_chunks/chat-input-BcXTetgM.js.map +0 -1
  1039. package/dist/_chunks/chat-message-3V54YipB.js +0 -237
  1040. package/dist/_chunks/chat-message-3V54YipB.js.map +0 -1
  1041. package/dist/_chunks/check-DPdL_Sm7.js +0 -12
  1042. package/dist/_chunks/check-DPdL_Sm7.js.map +0 -1
  1043. package/dist/_chunks/checkbox-group-PqNmQ-cE.js +0 -213
  1044. package/dist/_chunks/checkbox-group-PqNmQ-cE.js.map +0 -1
  1045. package/dist/_chunks/chevron-down-BX_NP2Yh.js +0 -12
  1046. package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +0 -1
  1047. package/dist/_chunks/chevron-left-CX1jqD2M.js +0 -12
  1048. package/dist/_chunks/chevron-left-CX1jqD2M.js.map +0 -1
  1049. package/dist/_chunks/chevron-right-BrpYejk0.js +0 -12
  1050. package/dist/_chunks/chevron-right-BrpYejk0.js.map +0 -1
  1051. package/dist/_chunks/chevron-up-zOEDrmBB.js +0 -12
  1052. package/dist/_chunks/chevron-up-zOEDrmBB.js.map +0 -1
  1053. package/dist/_chunks/chevrons-right-d9MwesPG.js +0 -26
  1054. package/dist/_chunks/chevrons-right-d9MwesPG.js.map +0 -1
  1055. package/dist/_chunks/circle-BkqTgYmt.js +0 -12
  1056. package/dist/_chunks/circle-BkqTgYmt.js.map +0 -1
  1057. package/dist/_chunks/circle-alert-ChA9opNA.js +0 -16
  1058. package/dist/_chunks/circle-alert-ChA9opNA.js.map +0 -1
  1059. package/dist/_chunks/circle-check-9AeSgJD_.js +0 -15
  1060. package/dist/_chunks/circle-check-9AeSgJD_.js.map +0 -1
  1061. package/dist/_chunks/circle-x-Du2CmjaU.js +0 -16
  1062. package/dist/_chunks/circle-x-Du2CmjaU.js.map +0 -1
  1063. package/dist/_chunks/clinical-note-card-BUvNMNGL.js +0 -436
  1064. package/dist/_chunks/clinical-note-card-BUvNMNGL.js.map +0 -1
  1065. package/dist/_chunks/clock-21AGPWJ5.js +0 -15
  1066. package/dist/_chunks/clock-21AGPWJ5.js.map +0 -1
  1067. package/dist/_chunks/code-block-BBWHhIc8.js +0 -106
  1068. package/dist/_chunks/code-block-BBWHhIc8.js.map +0 -1
  1069. package/dist/_chunks/color-picker-C_fZl6sA.js +0 -718
  1070. package/dist/_chunks/color-picker-C_fZl6sA.js.map +0 -1
  1071. package/dist/_chunks/columns-2-BTOBZbep.js +0 -15
  1072. package/dist/_chunks/columns-2-BTOBZbep.js.map +0 -1
  1073. package/dist/_chunks/combobox-Clum7gJ1.js +0 -496
  1074. package/dist/_chunks/combobox-Clum7gJ1.js.map +0 -1
  1075. package/dist/_chunks/command-palette-CJzmc5pC.js +0 -473
  1076. package/dist/_chunks/command-palette-CJzmc5pC.js.map +0 -1
  1077. package/dist/_chunks/contact-card-Cf8Ktyt3.js +0 -121
  1078. package/dist/_chunks/contact-card-Cf8Ktyt3.js.map +0 -1
  1079. package/dist/_chunks/contact-profile-card-DDPwRFiP.js +0 -333
  1080. package/dist/_chunks/contact-profile-card-DDPwRFiP.js.map +0 -1
  1081. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  1082. package/dist/_chunks/control-room-rail-Y8ryLYsP.js.map +0 -1
  1083. package/dist/_chunks/copy-B00HK7tj.js +0 -15
  1084. package/dist/_chunks/copy-B00HK7tj.js.map +0 -1
  1085. package/dist/_chunks/copy-field-Bjw9u2cV.js +0 -268
  1086. package/dist/_chunks/copy-field-Bjw9u2cV.js.map +0 -1
  1087. package/dist/_chunks/createLucideIcon-CrFbzy84.js +0 -117
  1088. package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +0 -1
  1089. package/dist/_chunks/cycle-calculator-CCmPwcBl.js +0 -252
  1090. package/dist/_chunks/cycle-calculator-CCmPwcBl.js.map +0 -1
  1091. package/dist/_chunks/date-picker-Dl9RKxaV.js +0 -1845
  1092. package/dist/_chunks/date-picker-Dl9RKxaV.js.map +0 -1
  1093. package/dist/_chunks/date-picker-variants-DAcSLTua.js +0 -3224
  1094. package/dist/_chunks/date-picker-variants-DAcSLTua.js.map +0 -1
  1095. package/dist/_chunks/date-range-picker-CTUeR6Bj.js +0 -324
  1096. package/dist/_chunks/date-range-picker-CTUeR6Bj.js.map +0 -1
  1097. package/dist/_chunks/date-time-picker-BhoogS5Q.js +0 -336
  1098. package/dist/_chunks/date-time-picker-BhoogS5Q.js.map +0 -1
  1099. package/dist/_chunks/de-CrJs4ZsX.js +0 -477
  1100. package/dist/_chunks/de-CrJs4ZsX.js.map +0 -1
  1101. package/dist/_chunks/dependent-selector-DUV4thxX.js +0 -338
  1102. package/dist/_chunks/dependent-selector-DUV4thxX.js.map +0 -1
  1103. package/dist/_chunks/description-list-gkNGWk5G.js +0 -319
  1104. package/dist/_chunks/description-list-gkNGWk5G.js.map +0 -1
  1105. package/dist/_chunks/dialog-ZNuboNmy.js +0 -230
  1106. package/dist/_chunks/dialog-ZNuboNmy.js.map +0 -1
  1107. package/dist/_chunks/document-scanner-C_AxLooF.js +0 -711
  1108. package/dist/_chunks/document-scanner-C_AxLooF.js.map +0 -1
  1109. package/dist/_chunks/download-CDF1sbL9.js +0 -16
  1110. package/dist/_chunks/download-CDF1sbL9.js.map +0 -1
  1111. package/dist/_chunks/dropdown-menu-qrxjymfw.js +0 -355
  1112. package/dist/_chunks/dropdown-menu-qrxjymfw.js.map +0 -1
  1113. package/dist/_chunks/due-date-calculator-Brdj-euS.js +0 -256
  1114. package/dist/_chunks/due-date-calculator-Brdj-euS.js.map +0 -1
  1115. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  1116. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js.map +0 -1
  1117. package/dist/_chunks/editor-overlay-wYm22wZK.js +0 -88
  1118. package/dist/_chunks/editor-overlay-wYm22wZK.js.map +0 -1
  1119. package/dist/_chunks/el-DHdMOIhL.js +0 -373
  1120. package/dist/_chunks/el-DHdMOIhL.js.map +0 -1
  1121. package/dist/_chunks/ellipsis-rgGdiK_9.js +0 -16
  1122. package/dist/_chunks/ellipsis-rgGdiK_9.js.map +0 -1
  1123. package/dist/_chunks/email-input-DJ7EXklP.js +0 -397
  1124. package/dist/_chunks/email-input-DJ7EXklP.js.map +0 -1
  1125. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  1126. package/dist/_chunks/entity-summary-BxRjFh_4.js.map +0 -1
  1127. package/dist/_chunks/es-DCATCfqo.js +0 -373
  1128. package/dist/_chunks/es-DCATCfqo.js.map +0 -1
  1129. package/dist/_chunks/external-link-C6F25E6k.js +0 -16
  1130. package/dist/_chunks/external-link-C6F25E6k.js.map +0 -1
  1131. package/dist/_chunks/eye-LHlSU38h.js +0 -21
  1132. package/dist/_chunks/eye-LHlSU38h.js.map +0 -1
  1133. package/dist/_chunks/eye-off-xEXDAh5z.js +0 -29
  1134. package/dist/_chunks/eye-off-xEXDAh5z.js.map +0 -1
  1135. package/dist/_chunks/fetal-weight-DNCkyeVo.js +0 -122
  1136. package/dist/_chunks/fetal-weight-DNCkyeVo.js.map +0 -1
  1137. package/dist/_chunks/field-value-NXYczdpO.js +0 -415
  1138. package/dist/_chunks/field-value-NXYczdpO.js.map +0 -1
  1139. package/dist/_chunks/file-spreadsheet-zUkY8rJ2.js +0 -25
  1140. package/dist/_chunks/file-spreadsheet-zUkY8rJ2.js.map +0 -1
  1141. package/dist/_chunks/file-text-DSNuv2B8.js +0 -24
  1142. package/dist/_chunks/file-text-DSNuv2B8.js.map +0 -1
  1143. package/dist/_chunks/file-upload-DwZcAK8D.js +0 -819
  1144. package/dist/_chunks/file-upload-DwZcAK8D.js.map +0 -1
  1145. package/dist/_chunks/finished-terminal-VjZ_-eDD.js +0 -122
  1146. package/dist/_chunks/finished-terminal-VjZ_-eDD.js.map +0 -1
  1147. package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js +0 -553
  1148. package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js.map +0 -1
  1149. package/dist/_chunks/form-field-BOm9hK35.js +0 -123
  1150. package/dist/_chunks/form-field-BOm9hK35.js.map +0 -1
  1151. package/dist/_chunks/fr-BfGEMshF.js +0 -338
  1152. package/dist/_chunks/fr-BfGEMshF.js.map +0 -1
  1153. package/dist/_chunks/freemium-paywall-WYlNO7yT.js +0 -275
  1154. package/dist/_chunks/freemium-paywall-WYlNO7yT.js.map +0 -1
  1155. package/dist/_chunks/gestational-age-calculator-CF2ISaYQ.js +0 -311
  1156. package/dist/_chunks/gestational-age-calculator-CF2ISaYQ.js.map +0 -1
  1157. package/dist/_chunks/globe-BkEFMNSg.js +0 -16
  1158. package/dist/_chunks/globe-BkEFMNSg.js.map +0 -1
  1159. package/dist/_chunks/grip-vertical-Dlg0_k5C.js +0 -19
  1160. package/dist/_chunks/grip-vertical-Dlg0_k5C.js.map +0 -1
  1161. package/dist/_chunks/hash-CysBBS_N.js +0 -17
  1162. package/dist/_chunks/hash-CysBBS_N.js.map +0 -1
  1163. package/dist/_chunks/hcg-doubling-C7bmuaU3.js +0 -170
  1164. package/dist/_chunks/hcg-doubling-C7bmuaU3.js.map +0 -1
  1165. package/dist/_chunks/header-CNszv2WQ.js +0 -297
  1166. package/dist/_chunks/header-CNszv2WQ.js.map +0 -1
  1167. package/dist/_chunks/header-settings-DJqoAl5m.js +0 -284
  1168. package/dist/_chunks/header-settings-DJqoAl5m.js.map +0 -1
  1169. package/dist/_chunks/heart-C0faivFf.js +0 -20
  1170. package/dist/_chunks/heart-C0faivFf.js.map +0 -1
  1171. package/dist/_chunks/heart-pulse-CvuyFKHB.js +0 -21
  1172. package/dist/_chunks/heart-pulse-CvuyFKHB.js.map +0 -1
  1173. package/dist/_chunks/hi-CBFRXEIm.js +0 -433
  1174. package/dist/_chunks/hi-CBFRXEIm.js.map +0 -1
  1175. package/dist/_chunks/image-C6RM5hfF.js +0 -16
  1176. package/dist/_chunks/image-C6RM5hfF.js.map +0 -1
  1177. package/dist/_chunks/info-B9XNKn05.js +0 -16
  1178. package/dist/_chunks/info-B9XNKn05.js.map +0 -1
  1179. package/dist/_chunks/insert-result-njqBthzT.js +0 -742
  1180. package/dist/_chunks/insert-result-njqBthzT.js.map +0 -1
  1181. package/dist/_chunks/isSameWeek-I3DfXUp1.js +0 -14
  1182. package/dist/_chunks/isSameWeek-I3DfXUp1.js.map +0 -1
  1183. package/dist/_chunks/it-nz6vAKwG.js +0 -401
  1184. package/dist/_chunks/it-nz6vAKwG.js.map +0 -1
  1185. package/dist/_chunks/ja-DQcqdAEJ.js +0 -366
  1186. package/dist/_chunks/ja-DQcqdAEJ.js.map +0 -1
  1187. package/dist/_chunks/key-value-pair-BrgbMfbF.js +0 -144
  1188. package/dist/_chunks/key-value-pair-BrgbMfbF.js.map +0 -1
  1189. package/dist/_chunks/languages-DsVf_WzT.js +0 -19
  1190. package/dist/_chunks/languages-DsVf_WzT.js.map +0 -1
  1191. package/dist/_chunks/layers-pzGcbLPj.js +0 -34
  1192. package/dist/_chunks/layers-pzGcbLPj.js.map +0 -1
  1193. package/dist/_chunks/link-DrD_cRUg.js +0 -129
  1194. package/dist/_chunks/link-DrD_cRUg.js.map +0 -1
  1195. package/dist/_chunks/link-cell-renderer-CTXqtXV-.js +0 -2184
  1196. package/dist/_chunks/link-cell-renderer-CTXqtXV-.js.map +0 -1
  1197. package/dist/_chunks/locale-picker-ChYYSX2N.js +0 -739
  1198. package/dist/_chunks/locale-picker-ChYYSX2N.js.map +0 -1
  1199. package/dist/_chunks/lock-CKOIn0IK.js +0 -15
  1200. package/dist/_chunks/lock-CKOIn0IK.js.map +0 -1
  1201. package/dist/_chunks/log-out-616hnn2-.js +0 -16
  1202. package/dist/_chunks/log-out-616hnn2-.js.map +0 -1
  1203. package/dist/_chunks/mail-C8irm52s.js +0 -15
  1204. package/dist/_chunks/mail-C8irm52s.js.map +0 -1
  1205. package/dist/_chunks/map-pin-B8STOPMJ.js +0 -21
  1206. package/dist/_chunks/map-pin-B8STOPMJ.js.map +0 -1
  1207. package/dist/_chunks/map-view-BkOoGoX2.js +0 -378
  1208. package/dist/_chunks/map-view-BkOoGoX2.js.map +0 -1
  1209. package/dist/_chunks/marketplace-app-shell-Skhfp6vK.js +0 -513
  1210. package/dist/_chunks/marketplace-app-shell-Skhfp6vK.js.map +0 -1
  1211. package/dist/_chunks/maximize-2-Cm9OUQ2m.js +0 -17
  1212. package/dist/_chunks/maximize-2-Cm9OUQ2m.js.map +0 -1
  1213. package/dist/_chunks/menu-XRhW3_99.js +0 -16
  1214. package/dist/_chunks/menu-XRhW3_99.js.map +0 -1
  1215. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  1216. package/dist/_chunks/message-card-Bx4GmLvf.js.map +0 -1
  1217. package/dist/_chunks/message-circle-C23eicgb.js +0 -20
  1218. package/dist/_chunks/message-circle-C23eicgb.js.map +0 -1
  1219. package/dist/_chunks/message-tray-DwrBLJlf.js +0 -457
  1220. package/dist/_chunks/message-tray-DwrBLJlf.js.map +0 -1
  1221. package/dist/_chunks/mic-B4Gog3Gi.js +0 -16
  1222. package/dist/_chunks/mic-B4Gog3Gi.js.map +0 -1
  1223. package/dist/_chunks/monitor-D-SFdbrU.js +0 -16
  1224. package/dist/_chunks/monitor-D-SFdbrU.js.map +0 -1
  1225. package/dist/_chunks/multi-select-BdHHDrRN.js +0 -602
  1226. package/dist/_chunks/multi-select-BdHHDrRN.js.map +0 -1
  1227. package/dist/_chunks/navigation-menu-DRUi6sSj.js +0 -310
  1228. package/dist/_chunks/navigation-menu-DRUi6sSj.js.map +0 -1
  1229. package/dist/_chunks/nl-L5SuDjyl.js +0 -326
  1230. package/dist/_chunks/nl-L5SuDjyl.js.map +0 -1
  1231. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  1232. package/dist/_chunks/notes-panel-ay8_lPrA.js.map +0 -1
  1233. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  1234. package/dist/_chunks/notification-card-D2jiKSJJ.js.map +0 -1
  1235. package/dist/_chunks/notification-tray-AEun6DN2.js +0 -464
  1236. package/dist/_chunks/notification-tray-AEun6DN2.js.map +0 -1
  1237. package/dist/_chunks/number-input-DxphVG_A.js +0 -350
  1238. package/dist/_chunks/number-input-DxphVG_A.js.map +0 -1
  1239. package/dist/_chunks/operator-hero-CR0Rqh4-.js +0 -202
  1240. package/dist/_chunks/operator-hero-CR0Rqh4-.js.map +0 -1
  1241. package/dist/_chunks/pagination-D58kglCr.js +0 -486
  1242. package/dist/_chunks/pagination-D58kglCr.js.map +0 -1
  1243. package/dist/_chunks/patient-details-Dlhqb5ig.js +0 -675
  1244. package/dist/_chunks/patient-details-Dlhqb5ig.js.map +0 -1
  1245. package/dist/_chunks/patient-search-Be6cLrHR.js +0 -1167
  1246. package/dist/_chunks/patient-search-Be6cLrHR.js.map +0 -1
  1247. package/dist/_chunks/patient-shell-DV3XEtIB.js +0 -162
  1248. package/dist/_chunks/patient-shell-DV3XEtIB.js.map +0 -1
  1249. package/dist/_chunks/patient-summary-card-WySCMwwA.js +0 -437
  1250. package/dist/_chunks/patient-summary-card-WySCMwwA.js.map +0 -1
  1251. package/dist/_chunks/patient-table-CHxf3Oqk.js +0 -1110
  1252. package/dist/_chunks/patient-table-CHxf3Oqk.js.map +0 -1
  1253. package/dist/_chunks/payment-form-CxqIXqw7.js +0 -690
  1254. package/dist/_chunks/payment-form-CxqIXqw7.js.map +0 -1
  1255. package/dist/_chunks/payment-request-card-BcZJwu9z.js +0 -467
  1256. package/dist/_chunks/payment-request-card-BcZJwu9z.js.map +0 -1
  1257. package/dist/_chunks/pdf-viewer-QfebdLOd.js +0 -1005
  1258. package/dist/_chunks/pdf-viewer-QfebdLOd.js.map +0 -1
  1259. package/dist/_chunks/pencil-CfQX-0Qc.js +0 -21
  1260. package/dist/_chunks/pencil-CfQX-0Qc.js.map +0 -1
  1261. package/dist/_chunks/periodontal-chart-card-hRRJY1NN.js +0 -455
  1262. package/dist/_chunks/periodontal-chart-card-hRRJY1NN.js.map +0 -1
  1263. package/dist/_chunks/phone-Bi5yUm4I.js +0 -20
  1264. package/dist/_chunks/phone-Bi5yUm4I.js.map +0 -1
  1265. package/dist/_chunks/phone-input-DjU-XmO_.js +0 -580
  1266. package/dist/_chunks/phone-input-DjU-XmO_.js.map +0 -1
  1267. package/dist/_chunks/pl-YAn5z2wR.js +0 -514
  1268. package/dist/_chunks/pl-YAn5z2wR.js.map +0 -1
  1269. package/dist/_chunks/plus-CYKNmfuA.js +0 -15
  1270. package/dist/_chunks/plus-CYKNmfuA.js.map +0 -1
  1271. package/dist/_chunks/popover-B2qCDhJC.js +0 -302
  1272. package/dist/_chunks/popover-B2qCDhJC.js.map +0 -1
  1273. package/dist/_chunks/practice-results-C6qDfxos.js +0 -1609
  1274. package/dist/_chunks/practice-results-C6qDfxos.js.map +0 -1
  1275. package/dist/_chunks/pregnancy-dating-CRVWswD-.js +0 -421
  1276. package/dist/_chunks/pregnancy-dating-CRVWswD-.js.map +0 -1
  1277. package/dist/_chunks/pregnancy-weight-gain-BUNpTsH-.js +0 -322
  1278. package/dist/_chunks/pregnancy-weight-gain-BUNpTsH-.js.map +0 -1
  1279. package/dist/_chunks/printer-CeVEWfQq.js +0 -22
  1280. package/dist/_chunks/printer-CeVEWfQq.js.map +0 -1
  1281. package/dist/_chunks/privacy-lock-BzMLQu-j.js +0 -197
  1282. package/dist/_chunks/privacy-lock-BzMLQu-j.js.map +0 -1
  1283. package/dist/_chunks/product-hub-panel-e6pW220e.js +0 -638
  1284. package/dist/_chunks/product-hub-panel-e6pW220e.js.map +0 -1
  1285. package/dist/_chunks/pt-D9xdT5KQ.js +0 -370
  1286. package/dist/_chunks/pt-D9xdT5KQ.js.map +0 -1
  1287. package/dist/_chunks/public-footer.agent-D0cFbjWl.js +0 -596
  1288. package/dist/_chunks/public-footer.agent-D0cFbjWl.js.map +0 -1
  1289. package/dist/_chunks/public-header.agent-DqkqA-ca.js +0 -597
  1290. package/dist/_chunks/public-header.agent-DqkqA-ca.js.map +0 -1
  1291. package/dist/_chunks/radio-group-BPt7pKZW.js +0 -167
  1292. package/dist/_chunks/radio-group-BPt7pKZW.js.map +0 -1
  1293. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  1294. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js.map +0 -1
  1295. package/dist/_chunks/rating-BRD7O74e.js +0 -171
  1296. package/dist/_chunks/rating-BRD7O74e.js.map +0 -1
  1297. package/dist/_chunks/refresh-cw-CC8jSKMr.js +0 -17
  1298. package/dist/_chunks/refresh-cw-CC8jSKMr.js.map +0 -1
  1299. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  1300. package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +0 -1
  1301. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  1302. package/dist/_chunks/rich-text-editor-DlCqPixb.js.map +0 -1
  1303. package/dist/_chunks/ro-Cp--52bT.js +0 -361
  1304. package/dist/_chunks/ro-Cp--52bT.js.map +0 -1
  1305. package/dist/_chunks/rotate-ccw-BWANpitO.js +0 -15
  1306. package/dist/_chunks/rotate-ccw-BWANpitO.js.map +0 -1
  1307. package/dist/_chunks/ru-BM8eX_Zz.js +0 -561
  1308. package/dist/_chunks/ru-BM8eX_Zz.js.map +0 -1
  1309. package/dist/_chunks/scan-line-lGioFwLC.js +0 -18
  1310. package/dist/_chunks/scan-line-lGioFwLC.js.map +0 -1
  1311. package/dist/_chunks/scroll-area-5wNK0Cyz.js +0 -169
  1312. package/dist/_chunks/scroll-area-5wNK0Cyz.js.map +0 -1
  1313. package/dist/_chunks/search-BonnQsHv.js +0 -15
  1314. package/dist/_chunks/search-BonnQsHv.js.map +0 -1
  1315. package/dist/_chunks/search-bar-C_T3pBJn.js +0 -612
  1316. package/dist/_chunks/search-bar-C_T3pBJn.js.map +0 -1
  1317. package/dist/_chunks/search-input-DQvGxR74.js +0 -237
  1318. package/dist/_chunks/search-input-DQvGxR74.js.map +0 -1
  1319. package/dist/_chunks/select-DMLG44F5.js +0 -430
  1320. package/dist/_chunks/select-DMLG44F5.js.map +0 -1
  1321. package/dist/_chunks/send-CySZIRPJ.js +0 -21
  1322. package/dist/_chunks/send-CySZIRPJ.js.map +0 -1
  1323. package/dist/_chunks/session-countdown-X1Ki6i0M.js +0 -214
  1324. package/dist/_chunks/session-countdown-X1Ki6i0M.js.map +0 -1
  1325. package/dist/_chunks/settings-ca2Yi9R8.js +0 -21
  1326. package/dist/_chunks/settings-ca2Yi9R8.js.map +0 -1
  1327. package/dist/_chunks/sheet-BxsE7eQm.js +0 -285
  1328. package/dist/_chunks/sheet-BxsE7eQm.js.map +0 -1
  1329. package/dist/_chunks/shield-check-BjCGH_Sr.js +0 -21
  1330. package/dist/_chunks/shield-check-BjCGH_Sr.js.map +0 -1
  1331. package/dist/_chunks/sidebar-DY9jGjgt.js +0 -1299
  1332. package/dist/_chunks/sidebar-DY9jGjgt.js.map +0 -1
  1333. package/dist/_chunks/sign-document-By6hMOra.js +0 -370
  1334. package/dist/_chunks/sign-document-By6hMOra.js.map +0 -1
  1335. package/dist/_chunks/signature-field-Dy1JRjzE.js +0 -197
  1336. package/dist/_chunks/signature-field-Dy1JRjzE.js.map +0 -1
  1337. package/dist/_chunks/smart-date-CWikAqZx.js +0 -114
  1338. package/dist/_chunks/smart-date-CWikAqZx.js.map +0 -1
  1339. package/dist/_chunks/sparkles-CuYXqQLg.js +0 -23
  1340. package/dist/_chunks/sparkles-CuYXqQLg.js.map +0 -1
  1341. package/dist/_chunks/sq-XRpr0r49.js +0 -355
  1342. package/dist/_chunks/sq-XRpr0r49.js.map +0 -1
  1343. package/dist/_chunks/square-CZoGU14v.js +0 -14
  1344. package/dist/_chunks/square-CZoGU14v.js.map +0 -1
  1345. package/dist/_chunks/square-check-big-Jr-0202D.js +0 -18
  1346. package/dist/_chunks/square-check-big-Jr-0202D.js.map +0 -1
  1347. package/dist/_chunks/star-vav0SJ9e.js +0 -20
  1348. package/dist/_chunks/star-vav0SJ9e.js.map +0 -1
  1349. package/dist/_chunks/stepper-accordion-DC-H-8v4.js +0 -247
  1350. package/dist/_chunks/stepper-accordion-DC-H-8v4.js.map +0 -1
  1351. package/dist/_chunks/stethoscope-DT5qCW8Y.js +0 -18
  1352. package/dist/_chunks/stethoscope-DT5qCW8Y.js.map +0 -1
  1353. package/dist/_chunks/streaming-text-BB9mvK4m.js +0 -131
  1354. package/dist/_chunks/streaming-text-BB9mvK4m.js.map +0 -1
  1355. package/dist/_chunks/subDays-BcYv1Lxi.js +0 -8
  1356. package/dist/_chunks/subDays-BcYv1Lxi.js.map +0 -1
  1357. package/dist/_chunks/sun-BuXE0xUS.js +0 -38
  1358. package/dist/_chunks/sun-BuXE0xUS.js.map +0 -1
  1359. package/dist/_chunks/sv-Z3APomE8.js +0 -376
  1360. package/dist/_chunks/sv-Z3APomE8.js.map +0 -1
  1361. package/dist/_chunks/tab-bar-Bv9nGNdO.js +0 -262
  1362. package/dist/_chunks/tab-bar-Bv9nGNdO.js.map +0 -1
  1363. package/dist/_chunks/tabs-BxcOziCo.js +0 -408
  1364. package/dist/_chunks/tabs-BxcOziCo.js.map +0 -1
  1365. package/dist/_chunks/tag-BQXwuJq1.js +0 -258
  1366. package/dist/_chunks/tag-BQXwuJq1.js.map +0 -1
  1367. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  1368. package/dist/_chunks/task-card-BwY9jaV1.js.map +0 -1
  1369. package/dist/_chunks/task-tray-qOEQflu4.js +0 -251
  1370. package/dist/_chunks/task-tray-qOEQflu4.js.map +0 -1
  1371. package/dist/_chunks/text-input-B-OWQ1Je.js +0 -283
  1372. package/dist/_chunks/text-input-B-OWQ1Je.js.map +0 -1
  1373. package/dist/_chunks/theme-toggle-XB6o_lgs.js +0 -367
  1374. package/dist/_chunks/theme-toggle-XB6o_lgs.js.map +0 -1
  1375. package/dist/_chunks/timeline-CqA4nKTI.js +0 -294
  1376. package/dist/_chunks/timeline-CqA4nKTI.js.map +0 -1
  1377. package/dist/_chunks/toast.agent-57UzyR9U.js +0 -1005
  1378. package/dist/_chunks/toast.agent-57UzyR9U.js.map +0 -1
  1379. package/dist/_chunks/tooth-scheme-BhQoPNBD.js +0 -2131
  1380. package/dist/_chunks/tooth-scheme-BhQoPNBD.js.map +0 -1
  1381. package/dist/_chunks/tr-e0-P4FON.js +0 -378
  1382. package/dist/_chunks/tr-e0-P4FON.js.map +0 -1
  1383. package/dist/_chunks/transaction-chip-CscoQbxF.js +0 -225
  1384. package/dist/_chunks/transaction-chip-CscoQbxF.js.map +0 -1
  1385. package/dist/_chunks/transcript-panel-3THQX6nJ.js +0 -362
  1386. package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +0 -1
  1387. package/dist/_chunks/trash-2-rPAKaRgB.js +0 -18
  1388. package/dist/_chunks/trash-2-rPAKaRgB.js.map +0 -1
  1389. package/dist/_chunks/triangle-alert-CBPUIzQo.js +0 -22
  1390. package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +0 -1
  1391. package/dist/_chunks/unit-converter-YEpD9evj.js +0 -337
  1392. package/dist/_chunks/unit-converter-YEpD9evj.js.map +0 -1
  1393. package/dist/_chunks/use-password-requirements-BXvS2MBS.js +0 -453
  1394. package/dist/_chunks/use-password-requirements-BXvS2MBS.js.map +0 -1
  1395. package/dist/_chunks/user-CPxpqFjJ.js +0 -15
  1396. package/dist/_chunks/user-CPxpqFjJ.js.map +0 -1
  1397. package/dist/_chunks/user-cog-BS_qc8nA.js +0 -24
  1398. package/dist/_chunks/user-cog-BS_qc8nA.js.map +0 -1
  1399. package/dist/_chunks/users-MBVtUzwd.js +0 -17
  1400. package/dist/_chunks/users-MBVtUzwd.js.map +0 -1
  1401. package/dist/_chunks/video-BAeICxCT.js +0 -21
  1402. package/dist/_chunks/video-BAeICxCT.js.map +0 -1
  1403. package/dist/_chunks/warning-stack--sTrrBDA.js +0 -268
  1404. package/dist/_chunks/warning-stack--sTrrBDA.js.map +0 -1
  1405. package/dist/_chunks/workflow-map-Dy8mLCqF.js +0 -1368
  1406. package/dist/_chunks/workflow-map-Dy8mLCqF.js.map +0 -1
  1407. package/dist/_chunks/x-CCcI3eJp.js +0 -15
  1408. package/dist/_chunks/x-CCcI3eJp.js.map +0 -1
  1409. package/dist/_chunks/zh-CN-B-igM5gY.js +0 -388
  1410. package/dist/_chunks/zh-CN-B-igM5gY.js.map +0 -1
  1411. package/dist/_chunks/zoom-out-CgVtf2Wx.js +0 -29
  1412. package/dist/_chunks/zoom-out-CgVtf2Wx.js.map +0 -1
  1413. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  1414. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +0 -1
  1415. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +0 -143
  1416. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +0 -1
  1417. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  1418. package/dist/components/ai-tools-rail/index.d.ts.map +0 -1
  1419. package/dist/components/ai-tools-rail/index.js +0 -6
  1420. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +0 -15
  1421. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts.map +0 -1
  1422. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +0 -20
  1423. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts.map +0 -1
  1424. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +0 -121
  1425. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts.map +0 -1
  1426. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +0 -6
  1427. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts.map +0 -1
  1428. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +0 -69
  1429. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts.map +0 -1
  1430. package/dist/components/anatomy-scheme/index.d.ts +0 -6
  1431. package/dist/components/anatomy-scheme/index.d.ts.map +0 -1
  1432. package/dist/components/anatomy-scheme/index.js +0 -17
  1433. /package/dist/components/{ai-tools-rail → address-fields}/index.js.map +0 -0
  1434. /package/dist/components/{anatomy-scheme → city-input}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-scanner-B23j4w7X.js","sources":["../../node_modules/lucide-react/dist/esm/icons/camera.mjs","../../node_modules/lucide-react/dist/esm/icons/image-up.mjs","../../src/components/document-scanner/document-scanner.agent.ts","../../src/components/document-scanner/document-scanner.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\",\n key: \"18u6gg\"\n }\n ],\n [\"circle\", { cx: \"12\", cy: \"13\", r: \"3\", key: \"1vg3eu\" }]\n];\nconst Camera = createLucideIcon(\"camera\", __iconNode);\n\nexport { __iconNode, Camera as default };\n//# sourceMappingURL=camera.mjs.map\n","/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21\",\n key: \"9csbqa\"\n }\n ],\n [\"path\", { d: \"m14 19.5 3-3 3 3\", key: \"9vmjn0\" }],\n [\"path\", { d: \"M17 22v-5.5\", key: \"1aa6fl\" }],\n [\"circle\", { cx: \"9\", cy: \"9\", r: \"2\", key: \"af1f0g\" }]\n];\nconst ImageUp = createLucideIcon(\"image-up\", __iconNode);\n\nexport { __iconNode, ImageUp as default };\n//# sourceMappingURL=image-up.mjs.map\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DocumentScanner. */\n/* */\n/* State exposes only structural lifecycle info — never the captured */\n/* image bytes (PHI). Actions drive the camera + capture flow. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DocumentScannerHandle } from './document-scanner';\n\nexport const documentScannerAgent: AgentAdapter<DocumentScannerHandle> = {\n id: 'document-scanner',\n capabilities: ['capture', 'submit'],\n state: {\n hasCapture: {\n type: 'boolean',\n descriptionKey: 'documentScanner.agent.state.hasCapture',\n description: 'True when a captured or uploaded image is available.',\n read: (handle) => handle.hasCapture(),\n },\n phase: {\n type: 'string',\n descriptionKey: 'documentScanner.agent.state.phase',\n description:\n \"Lifecycle phase: 'idle' | 'requesting' | 'streaming' | 'captured' | 'error'.\",\n read: (handle) => handle.getPhase(),\n },\n },\n actions: {\n start_camera: {\n safety: 'write',\n idempotent: true,\n descriptionKey: 'documentScanner.agent.actions.startCamera',\n description: 'Request camera permission and begin the live viewfinder.',\n errors: [\n 'permission-denied',\n 'no-camera',\n 'not-readable',\n 'insecure-context',\n ],\n invoke: (handle) => handle.startCamera(),\n },\n capture: {\n safety: 'write',\n descriptionKey: 'documentScanner.agent.actions.capture',\n description: 'Freeze the current viewfinder frame as a captured image.',\n errors: ['capture-failed'],\n invoke: (handle) => handle.capture(),\n },\n submit: {\n safety: 'write',\n descriptionKey: 'documentScanner.agent.actions.confirm',\n description: 'Confirm the current capture, emitting it via onConfirm.',\n invoke: (handle) => {\n handle.confirm();\n },\n },\n retake: {\n safety: 'destructive',\n descriptionKey: 'documentScanner.agent.actions.retake',\n description:\n 'Discard the current capture and return to the capture path.',\n invoke: (handle) => {\n handle.retake();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'document-scanner',\n description: 'Marks the DocumentScanner wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","/* ------------------------------------------------------------------ */\n/* DocumentScanner — patient check-in ID-document capture. */\n/* */\n/* - Native MediaDevices: a live <video autoplay playsinline muted> */\n/* viewfinder via getUserMedia({ video: { facingMode } }), an */\n/* offscreen <canvas> for the freeze-frame / crop draw, and an <img> */\n/* for the captured preview. No third-party dependency for capture. */\n/* - Upload fallback: the existing kit FileUpload (variant='button') */\n/* handles accept / maxSize / reject and is ALWAYS reachable — even */\n/* on a hard camera error it is the recovery path (per HTP-5113). */\n/* - Lifecycle: the camera starts only on an explicit user gesture and */\n/* every MediaStreamTrack is stopped on unmount, on capture, on */\n/* error, on Escape, and on document visibilitychange→hidden so the */\n/* camera LED is released (privacy + battery). Mirrors */\n/* audio-recorder's teardown pattern. */\n/* - Confirm payload: { dataUrl, blob, source, width, height, mimeType, */\n/* byteSize, capturedAt (ISO-8601), sha256 }. sha256 is the */\n/* SubtleCrypto digest of the encoded bytes — tamper-evident for */\n/* audit, matching signature-capture. Document-only: no selfie, no */\n/* liveness, no OCR / MRZ / auto-crop (out of scope, would need a */\n/* separate 08-third-party dependency). */\n/* - Security: no fetch / XHR / localStorage / sessionStorage / globals */\n/* in this file — the captured ID document is PHI and the consumer */\n/* owns persistence + the \"already on file → skip\" decision. */\n/* ------------------------------------------------------------------ */\n\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Camera, RotateCcw, Check, ImageUp, Loader2 } from 'lucide-react';\nimport { Button } from '../button';\nimport { Alert } from '../alert';\nimport { FileUpload, type FileUploadRejection } from '../file-upload';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { documentScannerAgent } from './document-scanner.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public types */\n/* ------------------------------------------------------------------ */\n\nexport type DocumentScannerSource = 'camera' | 'upload';\n\nexport interface DocumentCapture {\n /** Data URL of the captured / uploaded image (encoded to `mimeType`). */\n dataUrl: string;\n /** Encoded bytes as a Blob — the consumer persists this. */\n blob: Blob;\n /** Where the image came from. */\n source: DocumentScannerSource;\n /** Intrinsic pixel width of the encoded image. */\n width: number;\n /** Intrinsic pixel height of the encoded image. */\n height: number;\n /** MIME of the encoded image. */\n mimeType: string;\n /** Encoded byte size. */\n byteSize: number;\n /** ISO-8601 UTC timestamp for when the capture was confirmed. */\n capturedAt: string;\n /** Hex-encoded SHA-256 digest of the encoded bytes. */\n sha256: string;\n}\n\nexport type DocumentScannerErrorKind =\n | 'permission-denied'\n | 'no-camera'\n | 'not-readable'\n | 'insecure-context'\n | 'capture-failed'\n | 'file-invalid-type'\n | 'file-too-large';\n\nexport interface DocumentScannerError {\n kind: DocumentScannerErrorKind;\n}\n\nexport type DocumentType = 'tessera-sanitaria' | 'cie' | 'id-card' | 'generic';\n\nexport type DocumentScannerPhase =\n | 'idle'\n | 'requesting'\n | 'streaming'\n | 'captured'\n | 'error';\n\n/** Curated imperative handle for agent / external automation. */\nexport interface DocumentScannerHandle {\n /** True when a captured or uploaded image is held. */\n hasCapture: () => boolean;\n /** Current lifecycle phase. */\n getPhase: () => DocumentScannerPhase;\n /** Request the camera and begin the viewfinder. */\n startCamera: () => Promise<void> | void;\n /** Freeze the current viewfinder frame. */\n capture: () => Promise<void> | void;\n /** Confirm the current capture, firing `onConfirm`. */\n confirm: () => void;\n /** Discard the current capture and return to the capture path. */\n retake: () => void;\n}\n\nexport interface DocumentScannerProps {\n /** Opaque instance id — emitted as `data-component-id` for the agent registry. */\n id?: string;\n /** Controlled captured-image value. When defined the component is controlled. */\n value?: DocumentCapture | null;\n /** Initial captured image for uncontrolled use; seeds the `captured` preview. */\n defaultValue?: DocumentCapture | null;\n /** Fired when the user confirms a captured or uploaded image. */\n onConfirm?: (capture: DocumentCapture) => void;\n /** Fired when the user discards the current capture to retake / re-upload. */\n onRetake?: () => void;\n /** Fired on a permission / hardware / decode failure (telemetry). */\n onError?: (error: DocumentScannerError) => void;\n /** Drives the overlay frame aspect ratio + the translated hint copy. */\n documentType?: DocumentType;\n /** Camera-vs-upload strategy. `auto` falls back to upload on camera failure. */\n captureMode?: 'auto' | 'camera-only' | 'upload-only';\n /** react-dropzone accept map for the upload fallback. */\n accept?: Record<string, string[]>;\n /** Max upload byte size. Defaults to 10MB. */\n maxSize?: number;\n /** Camera to request. Defaults to the rear (`environment`) camera. */\n facingMode?: 'environment' | 'user';\n /** MIME of the encoded capture. */\n outputType?: 'image/jpeg' | 'image/webp' | 'image/png';\n /** 0..1 quality for lossy `outputType`. Ignored for image/png. */\n outputQuality?: number;\n /** Crop the confirmed image to the overlay frame rect. */\n cropToFrame?: boolean;\n /** Disable all controls and skip the camera request. */\n disabled?: boolean;\n /** Accessible label for the component's group region. */\n ariaLabel?: string;\n /** Extra classes merged onto the outermost wrapper. */\n className?: string;\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst rootVariants = cva(\n [\n 'ds:flex ds:flex-col ds:gap-[var(--spacing-md)]',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[color:var(--card-border)]',\n 'ds:shadow-[var(--shadow-card)] ds:[.theme-accessible_&]:border-2',\n 'ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:p-[var(--spacing-md)]',\n 'ds:aria-disabled:opacity-[var(--opacity-50)] ds:aria-disabled:cursor-not-allowed',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:[max-inline-size:20rem]',\n md: 'ds:[max-inline-size:28rem]',\n lg: 'ds:[max-inline-size:36rem]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n// The viewport is a positioned, neutral surface that holds the <video> /\n// <img> and the (absolutely-positioned, aria-hidden) frame overlay. The\n// document aspect ratio drives the box shape so the frame matches the card.\nconst viewportVariants = cva(\n [\n 'ds:relative ds:block ds:inline-size-full ds:overflow-hidden',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:bg-[var(--muted)]',\n ].join(' '),\n {\n variants: {\n // ID-1 cards (Tessera Sanitaria / CIE / id-card) are ~1.586:1; the\n // generic frame is a slightly squarer neutral card.\n frame: {\n 'tessera-sanitaria': 'ds:aspect-[1.586/1]',\n cie: 'ds:aspect-[1.586/1]',\n 'id-card': 'ds:aspect-[1.586/1]',\n generic: 'ds:aspect-[1.4/1]',\n },\n },\n defaultVariants: { frame: 'tessera-sanitaria' },\n },\n);\n\nconst mediaVariants = cva(\n [\n 'ds:absolute ds:inset-0 ds:block',\n 'ds:inline-size-full ds:block-size-full',\n 'ds:object-cover',\n ].join(' '),\n);\n\n// The alignment frame sits over arbitrary live video. It is a\n// high-contrast neutral stroke (var(--background) = white on light /\n// near-black on dark) backed by a tokenised scrim — NEVER the magenta\n// accent (fails AA over an unknown image). Decorative → aria-hidden.\nconst frameOverlayVariants = cva(\n [\n 'ds:pointer-events-none ds:absolute',\n 'ds:inset-[12%]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:border-2 ds:border-[color:var(--background)]',\n 'ds:shadow-[0_0_0_100vmax_color-mix(in_srgb,var(--foreground)_45%,transparent)]',\n ].join(' '),\n);\n\nconst cornerVariants = cva(\n [\n 'ds:pointer-events-none ds:absolute ds:size-6',\n 'ds:border-[color:var(--background)]',\n ].join(' '),\n);\n\nconst controlBarVariants = cva(\n ['ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]'].join(' '),\n);\n\nconst hintVariants = cva(\n ['type-body-sm ds:text-center', 'ds:text-[var(--muted-foreground)]'].join(\n ' ',\n ),\n);\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction toHex(bytes: Uint8Array): string {\n let out = '';\n for (let i = 0; i < bytes.length; i += 1) {\n out += bytes[i].toString(16).padStart(2, '0');\n }\n return out;\n}\n\nasync function sha256Hex(buffer: ArrayBuffer): Promise<string> {\n const g = globalThis as { crypto?: Crypto };\n if (g.crypto?.subtle) {\n // Copy into a fresh ArrayBuffer so the BufferSource is never a\n // SharedArrayBuffer (SubtleCrypto's narrowing rejects the latter).\n const copy = new Uint8Array(buffer.byteLength);\n copy.set(new Uint8Array(buffer));\n const digest = await g.crypto.subtle.digest('SHA-256', copy.buffer);\n return toHex(new Uint8Array(digest));\n }\n // No subtle crypto (older test env) — return empty so the rest of the\n // payload is still usable. Tests stub crypto.subtle.\n return '';\n}\n\n/** Map a getUserMedia rejection (a DOMException) to our error kind. */\nfunction classifyMediaError(err: unknown): DocumentScannerErrorKind {\n const name = err instanceof Error ? err.name : '';\n if (name === 'NotAllowedError' || name === 'SecurityError') {\n return 'permission-denied';\n }\n if (name === 'NotFoundError' || name === 'OverconstrainedError') {\n return 'no-camera';\n }\n if (name === 'NotReadableError' || name === 'AbortError') {\n return 'not-readable';\n }\n return 'capture-failed';\n}\n\n/** True when getUserMedia is actually reachable (HTTPS / localhost + API). */\nfunction mediaDevicesAvailable(): boolean {\n return (\n typeof navigator !== 'undefined' &&\n typeof navigator.mediaDevices !== 'undefined' &&\n typeof navigator.mediaDevices.getUserMedia === 'function'\n );\n}\n\nconst HINT_KEY: Record<DocumentType, string> = {\n 'tessera-sanitaria': 'documentScanner.hint.tesseraSanitaria',\n cie: 'documentScanner.hint.cie',\n 'id-card': 'documentScanner.hint.idCard',\n generic: 'documentScanner.hint.generic',\n};\n\nconst ERROR_KEY: Record<DocumentScannerErrorKind, string> = {\n 'permission-denied': 'documentScanner.error.permissionDenied',\n 'no-camera': 'documentScanner.error.noCamera',\n 'not-readable': 'documentScanner.error.notReadable',\n 'insecure-context': 'documentScanner.error.insecureContext',\n 'capture-failed': 'documentScanner.error.captureFailed',\n 'file-invalid-type': 'documentScanner.error.fileInvalidType',\n 'file-too-large': 'documentScanner.error.fileTooLarge',\n};\n\n/* ------------------------------------------------------------------ */\n/* Component */\n/* ------------------------------------------------------------------ */\n\ntype SizeVariant = NonNullable<VariantProps<typeof rootVariants>['size']>;\n\ninterface DocumentScannerInternalProps extends DocumentScannerProps {\n /** Visual size variant (exposed via Controls). */\n size?: SizeVariant;\n}\n\nexport const DocumentScanner = forwardRef<\n DocumentScannerHandle,\n DocumentScannerInternalProps\n>(\n (\n {\n id,\n value,\n defaultValue = null,\n onConfirm,\n onRetake,\n onError,\n documentType = 'tessera-sanitaria',\n captureMode = 'auto',\n accept = {\n 'image/jpeg': ['.jpg', '.jpeg'],\n 'image/png': ['.png'],\n 'image/webp': ['.webp'],\n },\n maxSize = 10 * 1024 * 1024,\n facingMode = 'environment',\n outputType = 'image/jpeg',\n outputQuality = 0.92,\n cropToFrame = true,\n disabled = false,\n size = 'md',\n ariaLabel,\n className,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const rawId = useId();\n const hintId = `ds-${rawId.replace(/[^a-zA-Z0-9-_]/g, '')}-hint`;\n\n // Controlled / uncontrolled captured value. `value` defined → controlled.\n const [capture, setCapture] = useControllableState<DocumentCapture | null>({\n value,\n defaultValue,\n });\n\n // Whether the captured value was seeded by `defaultValue` (already on\n // file) — drives the \"Already on file\" badge + Retake-only chrome.\n const seededRef = useRef<boolean>(defaultValue != null || value != null);\n\n const [phase, setPhase] = useState<DocumentScannerPhase>(\n defaultValue != null || value != null ? 'captured' : 'idle',\n );\n const [errorKind, setErrorKind] = useState<DocumentScannerErrorKind | null>(\n null,\n );\n const [streamReady, setStreamReady] = useState(false);\n // True while an uploaded image is being decoded (distinct from the\n // camera-permission `requesting` so the live region announces the right\n // \"Processing image\" copy).\n const [decoding, setDecoding] = useState(false);\n\n const videoRef = useRef<HTMLVideoElement>(null);\n const viewportRef = useRef<HTMLDivElement>(null);\n const streamRef = useRef<MediaStream | null>(null);\n const unmountedRef = useRef(false);\n\n const confirmBtnRef = useRef<HTMLButtonElement>(null);\n const shutterBtnRef = useRef<HTMLButtonElement>(null);\n const useCameraBtnRef = useRef<HTMLButtonElement>(null);\n const recoveryRef = useRef<HTMLButtonElement>(null);\n\n // Latest callbacks via refs so the async media path never closes over\n // a stale prop.\n const onErrorRef = useRef(onError);\n const onConfirmRef = useRef(onConfirm);\n const onRetakeRef = useRef(onRetake);\n useEffect(() => {\n onErrorRef.current = onError;\n onConfirmRef.current = onConfirm;\n onRetakeRef.current = onRetake;\n }, [onError, onConfirm, onRetake]);\n\n const isControlled = value !== undefined;\n const isUploadOnly = captureMode === 'upload-only';\n\n /* ---- Stream teardown — the single most important privacy path ---- */\n const stopStream = useCallback(() => {\n const held = streamRef.current;\n if (held) {\n held.getTracks().forEach((track) => track.stop());\n }\n streamRef.current = null;\n const video = videoRef.current;\n if (video) {\n // Detach so the element releases its reference to the (now-stopped)\n // stream and the browser drops the camera indicator.\n video.srcObject = null;\n }\n setStreamReady(false);\n }, []);\n\n const reportError = useCallback((kind: DocumentScannerErrorKind) => {\n setErrorKind(kind);\n setPhase('error');\n onErrorRef.current?.({ kind });\n }, []);\n\n /* ---- Start the camera — user gesture only, never auto on mount ---- */\n const startCamera = useCallback(async () => {\n if (disabled || isUploadOnly) return;\n if (!mediaDevicesAvailable()) {\n // No mediaDevices → insecure context (non-HTTPS) or unsupported.\n reportError('insecure-context');\n return;\n }\n setErrorKind(null);\n setPhase('requesting');\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n video: { facingMode },\n audio: false,\n });\n // Guard against an unmount between the permission prompt and\n // resolution — otherwise the freshly-acquired track leaks and the\n // camera LED stays live.\n if (unmountedRef.current) {\n stream.getTracks().forEach((track) => track.stop());\n return;\n }\n streamRef.current = stream;\n const video = videoRef.current;\n if (video) {\n try {\n video.srcObject = stream;\n } catch {\n // Some environments reject a non-native MediaStream on\n // srcObject; the stream is still held + torn down correctly.\n }\n // iOS Safari needs an explicit play() after attaching.\n const playResult = video.play?.();\n if (playResult && typeof playResult.catch === 'function') {\n playResult.catch(() => {\n /* autoplay can reject silently in some browsers; the\n loadedmetadata handler still enables the shutter */\n });\n }\n }\n setPhase('streaming');\n } catch (err: unknown) {\n stopStream();\n reportError(classifyMediaError(err));\n }\n }, [disabled, isUploadOnly, facingMode, stopStream, reportError]);\n\n /* ---- Shutter enablement: gate on the video actually playing ---- */\n const handleVideoReady = useCallback(() => {\n const video = videoRef.current;\n if (!video) return;\n // HAVE_CURRENT_DATA (2) means at least one frame is decodable.\n if (video.readyState >= 2) {\n setStreamReady(true);\n }\n }, []);\n\n /* ---- Poll readiness on entering streaming ---- */\n // The loadedmetadata / canplay events can fire before React attaches the\n // listeners (the metadata may already be decoded by the time the stream\n // is swapped onto the element). A short poll closes that race so the\n // shutter reliably enables.\n useEffect(() => {\n if (phase !== 'streaming') return undefined;\n handleVideoReady();\n const interval = window.setInterval(handleVideoReady, 100);\n const stopAfter = window.setTimeout(\n () => window.clearInterval(interval),\n 4000,\n );\n return () => {\n window.clearInterval(interval);\n window.clearTimeout(stopAfter);\n };\n }, [phase, handleVideoReady]);\n\n /* ---- Capture: freeze the current frame onto a canvas ---- */\n const capturePhoto = useCallback(async () => {\n const video = videoRef.current;\n if (!video || video.readyState < 2) {\n reportError('capture-failed');\n return;\n }\n const vw = video.videoWidth || video.clientWidth;\n const vh = video.videoHeight || video.clientHeight;\n if (vw === 0 || vh === 0) {\n reportError('capture-failed');\n return;\n }\n\n // Crop region in source-video pixel space. The overlay frame is\n // inset 12% on each edge of the viewport; mirror that onto the\n // source so the cropped image is the document, not the whole frame.\n let sx = 0;\n let sy = 0;\n let sw = vw;\n let sh = vh;\n if (cropToFrame) {\n const insetX = vw * 0.12;\n const insetY = vh * 0.12;\n sx = insetX;\n sy = insetY;\n sw = vw - insetX * 2;\n sh = vh - insetY * 2;\n }\n\n const canvas = document.createElement('canvas');\n canvas.width = Math.max(1, Math.round(sw));\n canvas.height = Math.max(1, Math.round(sh));\n const ctx = canvas.getContext('2d');\n if (!ctx) {\n reportError('capture-failed');\n return;\n }\n try {\n ctx.drawImage(video, sx, sy, sw, sh, 0, 0, canvas.width, canvas.height);\n } catch {\n // A video element with no decoded frame throws InvalidStateError in\n // some browsers — surface it as a capture failure rather than crash.\n reportError('capture-failed');\n return;\n }\n\n // Release the camera as soon as the frame is frozen — we no longer\n // need the live stream and the LED should go dark immediately.\n stopStream();\n\n const blob = await new Promise<Blob | null>((resolve) => {\n if (typeof canvas.toBlob === 'function') {\n canvas.toBlob(\n (b) => resolve(b),\n outputType,\n outputType === 'image/png' ? undefined : outputQuality,\n );\n } else {\n resolve(null);\n }\n });\n if (!blob) {\n reportError('capture-failed');\n return;\n }\n const dataUrl = canvas.toDataURL(\n outputType,\n outputType === 'image/png' ? undefined : outputQuality,\n );\n const arrayBuffer = await blob.arrayBuffer();\n const sha256 = await sha256Hex(arrayBuffer);\n\n seededRef.current = false;\n const next: DocumentCapture = {\n dataUrl,\n blob,\n source: 'camera',\n width: canvas.width,\n height: canvas.height,\n mimeType: outputType,\n byteSize: blob.size,\n capturedAt: new Date().toISOString(),\n sha256,\n };\n setCapture(next);\n setPhase('captured');\n }, [\n cropToFrame,\n outputType,\n outputQuality,\n stopStream,\n reportError,\n setCapture,\n ]);\n\n /* ---- Upload fallback → decode an image File into a capture ---- */\n const handleUploadDrop = useCallback(\n async (accepted: File[]) => {\n const file = accepted[0];\n if (!file) return;\n setDecoding(true);\n try {\n const objectUrl = URL.createObjectURL(file);\n const dimensions = await new Promise<{ w: number; h: number }>(\n (resolve, reject) => {\n const img = new Image();\n img.onload = () =>\n resolve({ w: img.naturalWidth, h: img.naturalHeight });\n img.onerror = () => reject(new Error('decode-failed'));\n img.src = objectUrl;\n },\n ).finally(() => {\n // The object URL is only needed to read intrinsic dimensions;\n // the persisted payload carries a data URL instead.\n URL.revokeObjectURL(objectUrl);\n });\n\n const dataUrl = await new Promise<string>((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => resolve(String(reader.result));\n reader.onerror = () => reject(new Error('read-failed'));\n reader.readAsDataURL(file);\n });\n\n const arrayBuffer = await file.arrayBuffer();\n const sha256 = await sha256Hex(arrayBuffer);\n\n seededRef.current = false;\n setErrorKind(null);\n setCapture({\n dataUrl,\n blob: file,\n source: 'upload',\n width: dimensions.w,\n height: dimensions.h,\n mimeType: file.type || outputType,\n byteSize: file.size,\n capturedAt: new Date().toISOString(),\n sha256,\n });\n setPhase('captured');\n } catch {\n reportError('capture-failed');\n } finally {\n setDecoding(false);\n }\n },\n [outputType, reportError, setCapture],\n );\n\n const handleUploadReject = useCallback(\n (rejections: FileUploadRejection[]) => {\n // FileUpload's reason enum is wider than our two error kinds. The\n // dropzone is locked to a single image (maxFiles:1, multiple:false),\n // so 'too-many-files' / 'file-too-small' are unreachable here; both\n // size/type problems fold into the matching inline message and\n // default to invalid-type for anything else.\n const reason = rejections[0]?.reason;\n const kind: DocumentScannerErrorKind =\n reason === 'file-too-large' ? 'file-too-large' : 'file-invalid-type';\n reportError(kind);\n },\n [reportError],\n );\n\n /* ---- Confirm / Retake ---- */\n const confirm = useCallback(() => {\n if (!capture) return;\n onConfirmRef.current?.(capture);\n }, [capture]);\n\n // Set when a user-initiated transition back to idle should move focus to\n // the Use-camera button (Retake). Distinguishes retake-to-idle from the\n // initial idle mount, so focus is never stolen on first paint.\n const focusUseCameraRef = useRef(false);\n\n const retake = useCallback(() => {\n // Controlled mode: retake is advisory only. The consumer owns `value`,\n // so we must NOT clear the capture, flip seededRef, or force a local\n // phase — doing so would race the controlled-value sync effect (which\n // re-asserts `captured` while value is still set), dropping the\n // \"already on file\" badge and surfacing a stray Confirm for an\n // already-persisted image. Emit onRetake and let the value drive phase.\n if (isControlled) {\n onRetakeRef.current?.();\n return;\n }\n seededRef.current = false;\n focusUseCameraRef.current = true;\n setCapture(null);\n setErrorKind(null);\n setDecoding(false);\n setPhase('idle');\n onRetakeRef.current?.();\n }, [isControlled, setCapture]);\n\n /* ---- Focus management on phase transitions ---- */\n useEffect(() => {\n if (phase === 'captured' && !seededRef.current) {\n // Land the keyboard / SR user on the next logical action.\n confirmBtnRef.current?.focus();\n } else if (phase === 'error') {\n recoveryRef.current?.focus();\n } else if (phase === 'idle' && focusUseCameraRef.current) {\n // After a Retake, return focus to the capture entry point. Never on\n // the initial idle mount (the flag is only set by retake()).\n focusUseCameraRef.current = false;\n useCameraBtnRef.current?.focus();\n }\n }, [phase]);\n\n /* ---- Escape from streaming returns to idle and stops the stream ---- */\n useEffect(() => {\n if (phase !== 'streaming') return undefined;\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n stopStream();\n setPhase('idle');\n }\n };\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [phase, stopStream]);\n\n /* ---- Release the camera when the tab is hidden ---- */\n useEffect(() => {\n const onVisibility = () => {\n if (document.visibilityState === 'hidden' && streamRef.current) {\n stopStream();\n setPhase('idle');\n }\n };\n document.addEventListener('visibilitychange', onVisibility);\n return () =>\n document.removeEventListener('visibilitychange', onVisibility);\n }, [stopStream]);\n\n /* ---- Unmount cleanup: release the camera if still held ---- */\n useEffect(() => {\n return () => {\n unmountedRef.current = true;\n const held = streamRef.current;\n if (held) held.getTracks().forEach((track) => track.stop());\n streamRef.current = null;\n };\n }, []);\n\n /* ---- Sync controlled value → phase ---- */\n useEffect(() => {\n if (!isControlled) return;\n if (value != null) {\n setPhase('captured');\n } else if (phase === 'captured') {\n setPhase('idle');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, isControlled]);\n\n /* ---- Imperative handle + agent registration ---- */\n const agentHandle = useMemo<DocumentScannerHandle>(\n () => ({\n hasCapture: () => capture != null,\n getPhase: () => phase,\n startCamera: () => startCamera(),\n capture: () => capturePhoto(),\n confirm: () => confirm(),\n retake: () => retake(),\n }),\n [capture, phase, startCamera, capturePhoto, confirm, retake],\n );\n useImperativeHandle(ref, () => agentHandle, [agentHandle]);\n useAgentRegistration(documentScannerAgent, agentHandle, id);\n\n /* ---- Derived strings ---- */\n const regionLabel = ariaLabel ?? t('documentScanner.regionLabel');\n const hintText = t(HINT_KEY[documentType]);\n const maxSizeMb = Math.round(maxSize / (1024 * 1024));\n\n const statusText = (() => {\n if (decoding) return t('documentScanner.state.uploading');\n switch (phase) {\n case 'idle':\n return t('documentScanner.state.idle');\n case 'requesting':\n return t('documentScanner.state.requesting');\n case 'streaming':\n return t('documentScanner.state.streaming');\n case 'captured':\n return t('documentScanner.state.captured');\n case 'error':\n return errorKind\n ? t(ERROR_KEY[errorKind], { maxSizeMb })\n : t('documentScanner.error.captureFailed');\n }\n })();\n\n // A camera retry only makes sense for a hardware/permission failure —\n // not for upload-side rejections or an insecure (non-HTTPS) context.\n const canRetryCamera =\n !isUploadOnly &&\n errorKind !== 'file-invalid-type' &&\n errorKind !== 'file-too-large' &&\n errorKind !== 'insecure-context';\n\n // The upload affordance is always reachable: shown in idle/error for\n // auto + camera-only, primary in upload-only, and the recovery path on\n // any hard camera error.\n const showUploadFallback =\n !disabled &&\n (captureMode === 'auto' ||\n captureMode === 'upload-only' ||\n phase === 'error');\n\n const uploadAffordance = (\n <FileUpload\n variant=\"button\"\n accept={accept}\n maxSize={maxSize}\n multiple={false}\n maxFiles={1}\n disabled={disabled}\n showPreview={false}\n onDrop={(acceptedFiles) => {\n void handleUploadDrop(acceptedFiles);\n }}\n onReject={handleUploadReject}\n />\n );\n\n /* ---- Render ---- */\n const showViewport =\n phase === 'idle' ||\n phase === 'requesting' ||\n phase === 'streaming' ||\n phase === 'error';\n\n return (\n <div\n role=\"group\"\n aria-label={regionLabel}\n aria-disabled={disabled || undefined}\n className={[rootVariants({ size }), className]\n .filter(Boolean)\n .join(' ')}\n data-component=\"document-scanner\"\n data-component-id={id}\n data-phase={phase}\n >\n {/* Polite live region — announces every phase change to SR users. */}\n <span\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n data-testid=\"document-scanner-live\"\n >\n {statusText}\n </span>\n\n {phase === 'captured' && capture ? (\n /* ---- Captured preview ---- */\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <div className={viewportVariants({ frame: documentType })}>\n <img\n src={capture.dataUrl}\n alt={t('documentScanner.previewAlt')}\n className={mediaVariants()}\n data-testid=\"document-scanner-preview\"\n />\n {seededRef.current ? (\n <span className=\"ds:absolute ds:top-[var(--spacing-sm)] ds:start-[var(--spacing-sm)] ds:rounded-[var(--radius-full)] ds:border ds:border-[color:color-mix(in_srgb,var(--foreground)_15%,transparent)] ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-2xs)] type-meta\">\n {t('documentScanner.onFileBadge')}\n </span>\n ) : null}\n </div>\n <div className={controlBarVariants()}>\n <Button\n intent=\"secondary\"\n size=\"md\"\n // Button's md variant is h-10 (40px) with no min-target\n // compensation — pin to --min-target-size (44/48px) to clear\n // WCAG 2.5.5, matching SignatureCapture's action buttons.\n className=\"ds:[min-block-size:var(--min-target-size)] ds:[min-inline-size:var(--min-target-size)]\"\n startIcon={<RotateCcw aria-hidden=\"true\" />}\n onClick={retake}\n disabled={disabled}\n >\n {t('documentScanner.retake')}\n </Button>\n {/* Seeded \"already on file\" images need no Confirm — they are\n already persisted; the only action is Retake. */}\n {seededRef.current ? null : (\n <Button\n ref={confirmBtnRef}\n intent=\"primary\"\n size=\"md\"\n className=\"ds:[min-block-size:var(--min-target-size)] ds:[min-inline-size:var(--min-target-size)]\"\n startIcon={<Check aria-hidden=\"true\" />}\n onClick={confirm}\n disabled={disabled || capture == null}\n >\n {t('documentScanner.confirm')}\n </Button>\n )}\n </div>\n </div>\n ) : null}\n\n {showViewport ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {/* Viewport — only meaningful while streaming/requesting; in\n idle/error it is a neutral placeholder behind the controls. */}\n {!isUploadOnly && phase !== 'error' ? (\n <div\n ref={viewportRef}\n className={viewportVariants({ frame: documentType })}\n aria-busy={phase === 'requesting' || undefined}\n >\n <video\n ref={videoRef}\n autoPlay\n playsInline\n muted\n aria-label={t('documentScanner.videoLabel')}\n className={mediaVariants()}\n onLoadedMetadata={handleVideoReady}\n onCanPlay={handleVideoReady}\n data-testid=\"document-scanner-video\"\n />\n {phase === 'requesting' ? (\n <div className=\"ds:absolute ds:inset-0 ds:flex ds:items-center ds:justify-center ds:bg-[color-mix(in_srgb,var(--foreground)_20%,transparent)]\">\n <Loader2\n aria-hidden=\"true\"\n className=\"ds:size-8 ds:animate-spin ds:text-[var(--background)] ds:motion-reduce:animate-none\"\n />\n </div>\n ) : null}\n {/* Decorative alignment frame + corner guides. */}\n <div\n aria-hidden=\"true\"\n className={frameOverlayVariants()}\n data-testid=\"document-scanner-frame\"\n >\n <span\n className={[\n cornerVariants(),\n 'ds:top-0 ds:start-0 ds:border-t-2 ds:border-s-2 ds:rounded-ss-[var(--radius-sm)]',\n ].join(' ')}\n />\n <span\n className={[\n cornerVariants(),\n 'ds:top-0 ds:end-0 ds:border-t-2 ds:border-e-2 ds:rounded-se-[var(--radius-sm)]',\n ].join(' ')}\n />\n <span\n className={[\n cornerVariants(),\n 'ds:bottom-0 ds:start-0 ds:border-b-2 ds:border-s-2 ds:rounded-es-[var(--radius-sm)]',\n ].join(' ')}\n />\n <span\n className={[\n cornerVariants(),\n 'ds:bottom-0 ds:end-0 ds:border-b-2 ds:border-e-2 ds:rounded-ee-[var(--radius-sm)]',\n ].join(' ')}\n />\n </div>\n </div>\n ) : null}\n\n {phase === 'streaming' ? (\n <p id={hintId} className={hintVariants()}>\n {hintText}\n </p>\n ) : null}\n\n {/* Error block — Alert pattern with the upload recovery path. */}\n {phase === 'error' && errorKind ? (\n <Alert variant=\"error\" live=\"assertive\">\n <Alert.Description>\n {t(ERROR_KEY[errorKind], { maxSizeMb })}\n </Alert.Description>\n <Alert.Action>\n {/* The camera-retry button is the focus target on a\n hardware/permission error; for upload-side or\n insecure-context errors there is nothing to retry and\n the upload affordance is the recovery path. */}\n {canRetryCamera ? (\n <Button\n ref={recoveryRef}\n intent=\"secondary\"\n size=\"sm\"\n onClick={() => {\n void startCamera();\n }}\n disabled={disabled}\n >\n {t('documentScanner.retry')}\n </Button>\n ) : null}\n {showUploadFallback ? uploadAffordance : null}\n </Alert.Action>\n </Alert>\n ) : null}\n\n {/* Primary control bar (no hard error). */}\n {phase !== 'error' ? (\n <div className={controlBarVariants()}>\n {phase === 'streaming' ? (\n <Button\n ref={shutterBtnRef}\n intent=\"primary\"\n size=\"lg\"\n startIcon={<Camera aria-hidden=\"true\" />}\n onClick={() => {\n void capturePhoto();\n }}\n disabled={disabled || !streamReady}\n aria-describedby={hintId}\n aria-label={t('documentScanner.capture')}\n >\n {t('documentScanner.capture')}\n </Button>\n ) : null}\n\n {(phase === 'idle' || phase === 'requesting') &&\n !isUploadOnly ? (\n <Button\n ref={useCameraBtnRef}\n intent=\"primary\"\n size=\"md\"\n className=\"ds:[min-block-size:var(--min-target-size)] ds:[min-inline-size:var(--min-target-size)]\"\n loading={phase === 'requesting'}\n startIcon={<Camera aria-hidden=\"true\" />}\n onClick={() => {\n void startCamera();\n }}\n disabled={disabled}\n >\n {t('documentScanner.useCamera')}\n </Button>\n ) : null}\n\n {decoding ? (\n <span className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm ds:text-[var(--muted-foreground)]\">\n <Loader2\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:animate-spin ds:motion-reduce:animate-none\"\n />\n {t('documentScanner.state.uploading')}\n </span>\n ) : showUploadFallback && phase !== 'streaming' ? (\n isUploadOnly ? (\n uploadAffordance\n ) : (\n <div className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)] type-body-sm ds:text-[var(--muted-foreground)]\">\n <ImageUp aria-hidden=\"true\" className=\"ds:size-4\" />\n {uploadAffordance}\n </div>\n )\n ) : null}\n\n {/* In streaming, upload stays reachable as a low-emphasis\n fallback below the shutter. */}\n {phase === 'streaming' && captureMode !== 'camera-only'\n ? uploadAffordance\n : null}\n </div>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nDocumentScanner.displayName = 'DocumentScanner';\n\nexport {\n rootVariants as documentScannerRootVariants,\n viewportVariants as documentScannerViewportVariants,\n};\n"],"names":["__iconNode","Camera","createLucideIcon","ImageUp","documentScannerAgent","handle","rootVariants","cva","viewportVariants","mediaVariants","frameOverlayVariants","cornerVariants","controlBarVariants","hintVariants","toHex","bytes","out","i","sha256Hex","buffer","g","_a","copy","digest","classifyMediaError","err","name","mediaDevicesAvailable","HINT_KEY","ERROR_KEY","DocumentScanner","forwardRef","id","value","defaultValue","onConfirm","onRetake","onError","documentType","captureMode","accept","maxSize","facingMode","outputType","outputQuality","cropToFrame","disabled","size","ariaLabel","className","ref","t","useTranslation","hintId","useId","capture","setCapture","useControllableState","seededRef","useRef","phase","setPhase","useState","errorKind","setErrorKind","streamReady","setStreamReady","decoding","setDecoding","videoRef","viewportRef","streamRef","unmountedRef","confirmBtnRef","shutterBtnRef","useCameraBtnRef","recoveryRef","onErrorRef","onConfirmRef","onRetakeRef","useEffect","isControlled","isUploadOnly","stopStream","useCallback","held","track","video","reportError","kind","startCamera","stream","playResult","handleVideoReady","interval","stopAfter","capturePhoto","vw","vh","sx","sy","sw","sh","insetX","insetY","canvas","ctx","blob","resolve","b","dataUrl","arrayBuffer","sha256","next","handleUploadDrop","accepted","file","objectUrl","dimensions","reject","img","reader","handleUploadReject","rejections","confirm","focusUseCameraRef","retake","_b","_c","onKeyDown","event","onVisibility","agentHandle","useMemo","useImperativeHandle","useAgentRegistration","regionLabel","hintText","maxSizeMb","statusText","canRetryCamera","showUploadFallback","uploadAffordance","jsx","FileUpload","acceptedFiles","showViewport","jsxs","Button","RotateCcw","Check","Loader2","Alert"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,16 @@
1
+ import { c as o } from "./createLucideIcon-DhHxpK9K.js";
2
+ /**
3
+ * @license lucide-react v1.22.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const a = [
9
+ ["path", { d: "M12 15V3", key: "m9g1x1" }],
10
+ ["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
11
+ ["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
12
+ ], e = o("download", a);
13
+ export {
14
+ e as D
15
+ };
16
+ //# sourceMappingURL=download-CfYKJO_j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-CfYKJO_j.js","sources":["../../node_modules/lucide-react/dist/esm/icons/download.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 15V3\", key: \"m9g1x1\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"path\", { d: \"m7 10 5 5 5-5\", key: \"brsn70\" }]\n];\nconst Download = createLucideIcon(\"download\", __iconNode);\n\nexport { __iconNode, Download as default };\n//# sourceMappingURL=download.mjs.map\n"],"names":["__iconNode","Download","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa;AAAA,EACjB,CAAC,QAAQ,EAAE,GAAG,YAAY,KAAK,SAAQ,CAAE;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,6CAA6C,KAAK,SAAQ,CAAE;AAAA,EAC1E,CAAC,QAAQ,EAAE,GAAG,iBAAiB,KAAK,SAAQ,CAAE;AAChD,GACMC,IAAWC,EAAiB,YAAYF,CAAU;","x_google_ignoreList":[0]}
@@ -0,0 +1,355 @@
1
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
+ import { forwardRef as t, useContext as O, useRef as G, useEffect as P, useMemo as _, createContext as K } from "react";
3
+ import * as d from "@radix-ui/react-dropdown-menu";
4
+ import { c as h } from "./index-D2ZczOXr.js";
5
+ import { S as L } from "./separator-CYU_bGFn.js";
6
+ import { K as g } from "./kbd-D855ZXIW.js";
7
+ import { u as A } from "./use-controllable-state-BiY4xTzM.js";
8
+ import { u as V } from "./registry-DvAUVLHh.js";
9
+ import { C as B } from "./chevron-right-I9AeSxH2.js";
10
+ import { C as E } from "./check-DrFSN__t.js";
11
+ import { a as H } from "./use-direction-Dp8h70PP.js";
12
+ const q = {
13
+ id: "dropdown-menu",
14
+ capabilities: ["open", "close"],
15
+ state: {
16
+ isOpen: {
17
+ type: "boolean",
18
+ descriptionKey: "ui.agent.dropdownMenu.state.isOpen",
19
+ description: "True when the menu is currently open.",
20
+ read: (s) => s.getIsOpen()
21
+ }
22
+ },
23
+ actions: {
24
+ open: {
25
+ safety: "read",
26
+ idempotent: !0,
27
+ descriptionKey: "ui.agent.dropdownMenu.actions.open",
28
+ description: "Open the menu.",
29
+ invoke: (s) => {
30
+ s.open();
31
+ }
32
+ },
33
+ close: {
34
+ safety: "read",
35
+ idempotent: !0,
36
+ descriptionKey: "ui.agent.dropdownMenu.actions.close",
37
+ description: "Close the menu.",
38
+ invoke: (s) => {
39
+ s.close();
40
+ }
41
+ }
42
+ },
43
+ domHooks: {
44
+ root: { attr: "data-component", value: "dropdown-menu" },
45
+ instanceId: {
46
+ attr: "data-component-id",
47
+ sourceProp: "id",
48
+ description: "Sourced from the id prop on DropdownMenu.Root."
49
+ }
50
+ }
51
+ }, b = h(
52
+ [
53
+ "ds:z-[var(--z-dropdown)]",
54
+ // Roomier panel: wider floor, larger radius, deeper float and a
55
+ // breath more padding so menus read as elevated surfaces rather
56
+ // than flat lists hugging their trigger.
57
+ "ds:min-w-[14rem]",
58
+ "ds:rounded-[var(--radius-lg)]",
59
+ // Border kept (transparent) so the forced-colors override below can
60
+ // repaint a visible edge in HCM. In normal modes the soft drop-shadow
61
+ // carries the edge cue; the heavy `--border` (grey-800 since WCAG
62
+ // 1.4.11 bump in 67fef8c) made the menu read as a charcoal box.
63
+ "ds:border ds:border-transparent",
64
+ "ds:bg-[var(--popover)] ds:text-[color:var(--popover-foreground)]",
65
+ "ds:shadow-[var(--shadow-xl)]",
66
+ "ds:p-[var(--spacing-sm)]",
67
+ // Motion — gated on --animation-duration via Tailwind's animate-in
68
+ // preset. motion-reduce disables via the no-preference query.
69
+ "ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out",
70
+ "ds:data-[state=open]:fade-in ds:data-[state=closed]:fade-out",
71
+ "ds:data-[state=open]:zoom-in-95 ds:data-[state=closed]:zoom-out-95",
72
+ "ds:data-[state=open]:slide-in-from-top-1",
73
+ "ds:motion-reduce:animate-none",
74
+ "ds:forced-colors:border-[CanvasText]"
75
+ ].join(" ")
76
+ ), l = h(
77
+ [
78
+ "ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-sm)]",
79
+ "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]",
80
+ "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]",
81
+ "ds:rounded-[var(--radius-md)]",
82
+ "ds:min-h-[var(--min-target-size)]",
83
+ "ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--foreground)]",
84
+ "ds:cursor-pointer ds:select-none ds:outline-none",
85
+ // Highlighted + hover state
86
+ "ds:data-[highlighted]:bg-[color:var(--muted)]/40",
87
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)]",
88
+ "ds:focus-visible:outline-solid ds:focus-visible:outline-[color:var(--ring)]",
89
+ "ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
90
+ "ds:forced-colors:focus-visible:outline-[CanvasText]",
91
+ // Disabled
92
+ "ds:data-[disabled]:opacity-50 ds:data-[disabled]:cursor-not-allowed",
93
+ "ds:data-[disabled]:pointer-events-none"
94
+ ].join(" ")
95
+ ), F = h(
96
+ [
97
+ "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]",
98
+ "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-2xs)]",
99
+ // Quiet sentence-case caption — the shouty uppercase eyebrow made
100
+ // every menu read as a form. Groups should lean on separators first
101
+ // and reach for a Label only when the grouping is genuinely unclear.
102
+ "ds:text-[length:var(--font-size-xs)]",
103
+ "ds:font-[var(--font-weight-medium)]",
104
+ "ds:text-[color:var(--muted-foreground)]",
105
+ "ds:select-none"
106
+ ].join(" ")
107
+ ), x = "ds:inline-flex ds:items-center ds:justify-center ds:size-4 ds:shrink-0", w = K(void 0), N = ({
108
+ dir: s,
109
+ id: a,
110
+ open: o,
111
+ defaultOpen: r,
112
+ onOpenChange: n,
113
+ ...i
114
+ }) => {
115
+ const m = H(), [f, u] = A({
116
+ value: o,
117
+ defaultValue: r ?? !1,
118
+ onChange: n
119
+ }), p = f ?? !1, v = G(p);
120
+ P(() => {
121
+ v.current = p;
122
+ }, [p]);
123
+ const T = _(
124
+ () => ({
125
+ getIsOpen: () => v.current,
126
+ open: () => u(!0),
127
+ close: () => u(!1)
128
+ }),
129
+ [u]
130
+ );
131
+ return V(q, T, a), /* @__PURE__ */ e(w.Provider, { value: a, children: /* @__PURE__ */ e(
132
+ d.Root,
133
+ {
134
+ dir: s ?? m,
135
+ open: p,
136
+ onOpenChange: u,
137
+ ...i
138
+ }
139
+ ) });
140
+ };
141
+ N.displayName = "DropdownMenu.Root";
142
+ const J = d.Trigger, Q = d.Portal, U = d.Group, W = d.RadioGroup, C = t(({ className: s, sideOffset: a = 8, ...o }, r) => {
143
+ const n = O(w);
144
+ return /* @__PURE__ */ e(d.Portal, { children: /* @__PURE__ */ e(
145
+ d.Content,
146
+ {
147
+ ref: r,
148
+ sideOffset: a,
149
+ className: b({ className: s }),
150
+ "data-component": "dropdown-menu",
151
+ "data-component-id": n,
152
+ ...o
153
+ }
154
+ ) });
155
+ });
156
+ C.displayName = "DropdownMenu.Content";
157
+ const y = t(
158
+ ({
159
+ className: s,
160
+ startIcon: a,
161
+ endIcon: o,
162
+ description: r,
163
+ shortcut: n,
164
+ children: i,
165
+ ...m
166
+ }, f) => /* @__PURE__ */ c(
167
+ d.Item,
168
+ {
169
+ ref: f,
170
+ className: l({ className: s }),
171
+ ...m,
172
+ children: [
173
+ a ? /* @__PURE__ */ e(
174
+ "span",
175
+ {
176
+ "aria-hidden": "true",
177
+ className: "ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center",
178
+ children: a
179
+ }
180
+ ) : null,
181
+ /* @__PURE__ */ c("span", { className: "ds:flex-1 ds:flex ds:flex-col ds:min-w-0", children: [
182
+ /* @__PURE__ */ e("span", { className: "ds:truncate", children: i }),
183
+ r ? /* @__PURE__ */ e("span", { className: "type-meta ds:text-[color:var(--muted-foreground)] ds:truncate", children: r }) : null
184
+ ] }),
185
+ n ? /* @__PURE__ */ e("span", { className: "ds:ms-auto", children: /* @__PURE__ */ e(g, { keys: n, size: "sm" }) }) : o ? /* @__PURE__ */ e(
186
+ "span",
187
+ {
188
+ "aria-hidden": "true",
189
+ className: "ds:ms-auto ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center",
190
+ children: o
191
+ }
192
+ ) : null
193
+ ]
194
+ }
195
+ )
196
+ );
197
+ y.displayName = "DropdownMenu.Item";
198
+ const k = t(({ className: s, children: a, ...o }, r) => /* @__PURE__ */ c(
199
+ d.CheckboxItem,
200
+ {
201
+ ref: r,
202
+ className: l({ className: s }),
203
+ ...o,
204
+ children: [
205
+ /* @__PURE__ */ e("span", { className: x, children: /* @__PURE__ */ e(d.ItemIndicator, { children: /* @__PURE__ */ e(E, { "aria-hidden": !0, className: "ds:size-4" }) }) }),
206
+ /* @__PURE__ */ e("span", { className: "ds:flex-1 ds:truncate", children: a })
207
+ ]
208
+ }
209
+ ));
210
+ k.displayName = "DropdownMenu.CheckboxItem";
211
+ const X = [
212
+ "ds:ms-auto ds:inline-flex ds:items-center ds:shrink-0",
213
+ "ds:h-4 ds:w-7 ds:p-[2px]",
214
+ "ds:rounded-[var(--radius-full)]",
215
+ "ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]",
216
+ "ds:bg-[color:var(--muted)]",
217
+ "ds:[[data-state=checked]_&]:bg-[color:var(--primary)]",
218
+ "ds:[[data-state=checked]_&]:border-[color:var(--primary)]",
219
+ // Thumb slides via justify swap — logical-direction safe, no
220
+ // transform to fight under prefers-reduced-motion.
221
+ "ds:justify-start ds:[[data-state=checked]_&]:justify-end",
222
+ "ds:forced-colors:border-[CanvasText]",
223
+ // HCM strips fills — paint the checked track with the system
224
+ // selection colour so state isn't conveyed by thumb position alone.
225
+ "ds:forced-colors:[[data-state=checked]_&]:bg-[SelectedItem]"
226
+ ].join(" "), Y = [
227
+ "ds:block ds:size-3",
228
+ "ds:rounded-[var(--radius-full)]",
229
+ "ds:bg-[color:var(--background)]",
230
+ "ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]",
231
+ "ds:[[data-state=checked]_&]:border-transparent",
232
+ "ds:shadow-[var(--shadow-sm)]",
233
+ "ds:forced-colors:bg-[CanvasText]"
234
+ ].join(" "), M = t(({ className: s, children: a, onSelect: o, ...r }, n) => /* @__PURE__ */ c(
235
+ d.CheckboxItem,
236
+ {
237
+ ref: n,
238
+ className: l({ className: s }),
239
+ onSelect: (i) => {
240
+ i.preventDefault(), o == null || o(i);
241
+ },
242
+ ...r,
243
+ children: [
244
+ /* @__PURE__ */ e("span", { className: "ds:flex-1 ds:truncate", children: a }),
245
+ /* @__PURE__ */ e("span", { "aria-hidden": "true", className: X, children: /* @__PURE__ */ e("span", { className: Y }) })
246
+ ]
247
+ }
248
+ ));
249
+ M.displayName = "DropdownMenu.SwitchItem";
250
+ const Z = W, D = t(({ className: s, children: a, ...o }, r) => /* @__PURE__ */ c(
251
+ d.RadioItem,
252
+ {
253
+ ref: r,
254
+ className: l({ className: s }),
255
+ ...o,
256
+ children: [
257
+ /* @__PURE__ */ e("span", { className: x, "aria-hidden": "true", children: /* @__PURE__ */ e(
258
+ "span",
259
+ {
260
+ className: [
261
+ "ds:inline-flex ds:size-4 ds:items-center ds:justify-center ds:shrink-0",
262
+ "ds:rounded-[var(--radius-full)]",
263
+ "ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]",
264
+ "ds:[[data-state=checked]_&]:border-[color:var(--accent)]",
265
+ "ds:forced-colors:border-[CanvasText]"
266
+ ].join(" "),
267
+ children: /* @__PURE__ */ e(d.ItemIndicator, { children: /* @__PURE__ */ e("span", { className: "ds:block ds:size-2 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--accent)] ds:forced-colors:bg-[CanvasText]" }) })
268
+ }
269
+ ) }),
270
+ /* @__PURE__ */ e("span", { className: "ds:flex-1 ds:truncate", children: a })
271
+ ]
272
+ }
273
+ ));
274
+ D.displayName = "DropdownMenu.RadioItem";
275
+ const I = t(({ className: s, ...a }, o) => /* @__PURE__ */ e(
276
+ d.Label,
277
+ {
278
+ ref: o,
279
+ className: F({ className: s }),
280
+ ...a
281
+ }
282
+ ));
283
+ I.displayName = "DropdownMenu.Label";
284
+ const R = t(({ className: s, ...a }, o) => /* @__PURE__ */ e(d.Separator, { ref: o, asChild: !0, ...a, children: /* @__PURE__ */ e(
285
+ L,
286
+ {
287
+ className: ["ds:my-[calc(var(--spacing-xs)/2)]", s ?? ""].filter(Boolean).join(" ")
288
+ }
289
+ ) }));
290
+ R.displayName = "DropdownMenu.Separator";
291
+ const S = t(
292
+ ({ keys: s, separator: a = "none" }, o) => /* @__PURE__ */ e("span", { ref: o, className: "ds:ms-auto ds:ps-[var(--spacing-sm)]", children: /* @__PURE__ */ e(g, { keys: s, separator: a, size: "sm" }) })
293
+ );
294
+ S.displayName = "DropdownMenu.Shortcut";
295
+ const $ = d.Sub, z = t(({ className: s, startIcon: a, children: o, ...r }, n) => /* @__PURE__ */ c(
296
+ d.SubTrigger,
297
+ {
298
+ ref: n,
299
+ className: l({ className: s }),
300
+ ...r,
301
+ children: [
302
+ a ? /* @__PURE__ */ e(
303
+ "span",
304
+ {
305
+ "aria-hidden": "true",
306
+ className: "ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center",
307
+ children: a
308
+ }
309
+ ) : null,
310
+ /* @__PURE__ */ e("span", { className: "ds:flex-1 ds:truncate", children: o }),
311
+ /* @__PURE__ */ e(
312
+ B,
313
+ {
314
+ "aria-hidden": !0,
315
+ className: "ds:ms-auto ds:size-4 ds:shrink-0 ds:rtl:-scale-x-100"
316
+ }
317
+ )
318
+ ]
319
+ }
320
+ ));
321
+ z.displayName = "DropdownMenu.SubTrigger";
322
+ const j = t(({ className: s, ...a }, o) => /* @__PURE__ */ e(d.Portal, { children: /* @__PURE__ */ e(
323
+ d.SubContent,
324
+ {
325
+ ref: o,
326
+ sideOffset: 8,
327
+ "data-component": "dropdown-menu-sub-content",
328
+ className: b({ className: s }),
329
+ ...a
330
+ }
331
+ ) }));
332
+ j.displayName = "DropdownMenu.SubContent";
333
+ const le = {
334
+ Root: N,
335
+ Trigger: J,
336
+ Portal: Q,
337
+ Content: C,
338
+ Group: U,
339
+ Item: y,
340
+ CheckboxItem: k,
341
+ SwitchItem: M,
342
+ RadioGroup: Z,
343
+ RadioItem: D,
344
+ Label: I,
345
+ Separator: R,
346
+ Shortcut: S,
347
+ Sub: $,
348
+ SubTrigger: z,
349
+ SubContent: j
350
+ };
351
+ export {
352
+ le as D,
353
+ q as d
354
+ };
355
+ //# sourceMappingURL=dropdown-menu-DU-Hrf33.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-DU-Hrf33.js","sources":["../../src/components/dropdown-menu/dropdown-menu.agent.ts","../../src/components/dropdown-menu/dropdown-menu.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { DropdownMenuHandle } from './dropdown-menu';\n\n// The handle exposes only open/close — it cannot run/select the highlighted\n// item (Radix owns item activation). The 'pick' capability is therefore\n// dropped: there is no backing action and selection is not delegated to a\n// host. data-item-id is likewise not emitted by DropdownMenu.Item (it merely\n// spreads consumer props), so the item domHook is omitted rather than claimed.\nexport const dropdownMenuAgent: AgentAdapter<DropdownMenuHandle> = {\n id: 'dropdown-menu',\n capabilities: ['open', 'close'],\n state: {\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dropdownMenu.state.isOpen',\n description: 'True when the menu is currently open.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dropdownMenu.actions.open',\n description: 'Open the menu.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dropdownMenu.actions.close',\n description: 'Close the menu.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'dropdown-menu' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop on DropdownMenu.Root.',\n },\n },\n};\n","import {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type ReactNode,\n} from 'react';\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Check, ChevronRight } from 'lucide-react';\nimport { Separator as DsSeparator } from '../separator/separator';\nimport { Kbd, type KbdNamedKey } from '../kbd/kbd';\nimport { useDocumentDirection } from '../_shared/use-direction';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useAgentRegistration } from '../../agent';\nimport { dropdownMenuAgent } from './dropdown-menu.agent';\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst contentVariants = cva(\n [\n 'ds:z-[var(--z-dropdown)]',\n // Roomier panel: wider floor, larger radius, deeper float and a\n // breath more padding so menus read as elevated surfaces rather\n // than flat lists hugging their trigger.\n 'ds:min-w-[14rem]',\n 'ds:rounded-[var(--radius-lg)]',\n // Border kept (transparent) so the forced-colors override below can\n // repaint a visible edge in HCM. In normal modes the soft drop-shadow\n // carries the edge cue; the heavy `--border` (grey-800 since WCAG\n // 1.4.11 bump in 67fef8c) made the menu read as a charcoal box.\n 'ds:border ds:border-transparent',\n 'ds:bg-[var(--popover)] ds:text-[color:var(--popover-foreground)]',\n 'ds:shadow-[var(--shadow-xl)]',\n 'ds:p-[var(--spacing-sm)]',\n // Motion — gated on --animation-duration via Tailwind's animate-in\n // preset. motion-reduce disables via the no-preference query.\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=open]:fade-in ds:data-[state=closed]:fade-out',\n 'ds:data-[state=open]:zoom-in-95 ds:data-[state=closed]:zoom-out-95',\n 'ds:data-[state=open]:slide-in-from-top-1',\n 'ds:motion-reduce:animate-none',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n);\n\nconst itemClasses = cva(\n [\n 'ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:text-[length:var(--font-size-sm)] ds:text-[color:var(--foreground)]',\n 'ds:cursor-pointer ds:select-none ds:outline-none',\n // Highlighted + hover state\n 'ds:data-[highlighted]:bg-[color:var(--muted)]/40',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)]',\n 'ds:focus-visible:outline-solid ds:focus-visible:outline-[color:var(--ring)]',\n 'ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:forced-colors:focus-visible:outline-[CanvasText]',\n // Disabled\n 'ds:data-[disabled]:opacity-50 ds:data-[disabled]:cursor-not-allowed',\n 'ds:data-[disabled]:pointer-events-none',\n ].join(' '),\n);\n\nconst labelClasses = cva(\n [\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-2xs)]',\n // Quiet sentence-case caption — the shouty uppercase eyebrow made\n // every menu read as a form. Groups should lean on separators first\n // and reach for a Label only when the grouping is genuinely unclear.\n 'ds:text-[length:var(--font-size-xs)]',\n 'ds:font-[var(--font-weight-medium)]',\n 'ds:text-[color:var(--muted-foreground)]',\n 'ds:select-none',\n ].join(' '),\n);\n\nconst indicatorSlotClasses =\n 'ds:inline-flex ds:items-center ds:justify-center ds:size-4 ds:shrink-0';\n\n/* ------------------------------------------------------------------ */\n/* Root / Trigger / Portal */\n/* ------------------------------------------------------------------ */\n\n// Curated agent-readiness handle — see dropdown-menu.agent.ts.\nexport interface DropdownMenuHandle {\n getIsOpen: () => boolean;\n open: () => void;\n close: () => void;\n}\n\nexport interface DropdownMenuRootProps extends ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.Root\n> {\n /** Opaque instance id — forwarded to DropdownMenu.Content as `data-component-id`. */\n id?: string;\n}\n\nconst DropdownMenuIdContext = createContext<string | undefined>(undefined);\n\nconst Root = ({\n dir,\n id,\n open: openProp,\n defaultOpen,\n onOpenChange,\n ...props\n}: DropdownMenuRootProps) => {\n const autoDir = useDocumentDirection();\n const [openRaw, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen ?? false,\n onChange: onOpenChange,\n });\n const open = openRaw ?? false;\n\n const openRef = useRef(open);\n useEffect(() => {\n openRef.current = open;\n }, [open]);\n\n const handle = useMemo<DropdownMenuHandle>(\n () => ({\n getIsOpen: () => openRef.current,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [setOpen],\n );\n useAgentRegistration(dropdownMenuAgent, handle, id);\n\n return (\n <DropdownMenuIdContext.Provider value={id}>\n <RadixDropdownMenu.Root\n dir={dir ?? autoDir}\n open={open}\n onOpenChange={setOpen}\n {...props}\n />\n </DropdownMenuIdContext.Provider>\n );\n};\nRoot.displayName = 'DropdownMenu.Root';\n\nconst Trigger = RadixDropdownMenu.Trigger;\nconst Portal = RadixDropdownMenu.Portal;\nconst RadixGroup = RadixDropdownMenu.Group;\nconst RadixRadioGroup = RadixDropdownMenu.RadioGroup;\n\n/* ------------------------------------------------------------------ */\n/* Content */\n/* ------------------------------------------------------------------ */\n\nexport interface DropdownMenuContentProps\n extends\n ComponentPropsWithoutRef<typeof RadixDropdownMenu.Content>,\n VariantProps<typeof contentVariants> {}\n\nconst Content = forwardRef<\n ElementRef<typeof RadixDropdownMenu.Content>,\n DropdownMenuContentProps\n>(({ className, sideOffset = 8, ...props }, ref) => {\n const instanceId = useContext(DropdownMenuIdContext);\n return (\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.Content\n ref={ref}\n sideOffset={sideOffset}\n className={contentVariants({ className })}\n data-component=\"dropdown-menu\"\n data-component-id={instanceId}\n {...props}\n />\n </RadixDropdownMenu.Portal>\n );\n});\nContent.displayName = 'DropdownMenu.Content';\n\n/* ------------------------------------------------------------------ */\n/* Item */\n/* ------------------------------------------------------------------ */\n\nexport interface DropdownMenuItemProps extends ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.Item\n> {\n startIcon?: ReactNode;\n endIcon?: ReactNode;\n description?: ReactNode;\n /** Convenience — renders a DS <Kbd keys={…}> on the inline-end. */\n shortcut?: Array<KbdNamedKey | string>;\n}\n\nconst Item = forwardRef<\n ElementRef<typeof RadixDropdownMenu.Item>,\n DropdownMenuItemProps\n>(\n (\n {\n className,\n startIcon,\n endIcon,\n description,\n shortcut,\n children,\n ...props\n },\n ref,\n ) => (\n <RadixDropdownMenu.Item\n ref={ref}\n className={itemClasses({ className })}\n {...props}\n >\n {startIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center\"\n >\n {startIcon}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:flex ds:flex-col ds:min-w-0\">\n <span className=\"ds:truncate\">{children}</span>\n {description ? (\n <span className=\"type-meta ds:text-[color:var(--muted-foreground)] ds:truncate\">\n {description}\n </span>\n ) : null}\n </span>\n {shortcut ? (\n <span className=\"ds:ms-auto\">\n <Kbd keys={shortcut} size=\"sm\" />\n </span>\n ) : endIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:ms-auto ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center\"\n >\n {endIcon}\n </span>\n ) : null}\n </RadixDropdownMenu.Item>\n ),\n);\nItem.displayName = 'DropdownMenu.Item';\n\n/* ------------------------------------------------------------------ */\n/* CheckboxItem */\n/* ------------------------------------------------------------------ */\n\nexport type DropdownMenuCheckboxItemProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.CheckboxItem\n>;\n\nconst CheckboxItem = forwardRef<\n ElementRef<typeof RadixDropdownMenu.CheckboxItem>,\n DropdownMenuCheckboxItemProps\n>(({ className, children, ...props }, ref) => (\n <RadixDropdownMenu.CheckboxItem\n ref={ref}\n className={itemClasses({ className })}\n {...props}\n >\n <span className={indicatorSlotClasses}>\n <RadixDropdownMenu.ItemIndicator>\n <Check aria-hidden className=\"ds:size-4\" />\n </RadixDropdownMenu.ItemIndicator>\n </span>\n <span className=\"ds:flex-1 ds:truncate\">{children}</span>\n </RadixDropdownMenu.CheckboxItem>\n));\nCheckboxItem.displayName = 'DropdownMenu.CheckboxItem';\n\n/* ------------------------------------------------------------------ */\n/* SwitchItem */\n/* */\n/* A persistent on/off toggle row (menuitemcheckbox semantics) whose */\n/* indicator is a trailing switch glyph instead of a tick — for */\n/* settings that live inside a menu (e.g. accessible mode). Selecting */\n/* keeps the menu open so the user sees the toggle land. */\n/* ------------------------------------------------------------------ */\n\nexport type DropdownMenuSwitchItemProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.CheckboxItem\n>;\n\n// Mirrors the kit Switch's `sm` metrics (track h-4 w-7, thumb size-3)\n// and its primary checked fill so the two switch affordances stay kin.\n// The muted-foreground border keeps the OFF state perceivable — without\n// it the muted track sits at ~1.2:1 on the popover (WCAG 1.4.11).\nconst switchTrackClasses = [\n 'ds:ms-auto ds:inline-flex ds:items-center ds:shrink-0',\n 'ds:h-4 ds:w-7 ds:p-[2px]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]',\n 'ds:bg-[color:var(--muted)]',\n 'ds:[[data-state=checked]_&]:bg-[color:var(--primary)]',\n 'ds:[[data-state=checked]_&]:border-[color:var(--primary)]',\n // Thumb slides via justify swap — logical-direction safe, no\n // transform to fight under prefers-reduced-motion.\n 'ds:justify-start ds:[[data-state=checked]_&]:justify-end',\n 'ds:forced-colors:border-[CanvasText]',\n // HCM strips fills — paint the checked track with the system\n // selection colour so state isn't conveyed by thumb position alone.\n 'ds:forced-colors:[[data-state=checked]_&]:bg-[SelectedItem]',\n].join(' ');\n\nconst switchThumbClasses = [\n 'ds:block ds:size-3',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--background)]',\n 'ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]',\n 'ds:[[data-state=checked]_&]:border-transparent',\n 'ds:shadow-[var(--shadow-sm)]',\n 'ds:forced-colors:bg-[CanvasText]',\n].join(' ');\n\nconst SwitchItem = forwardRef<\n ElementRef<typeof RadixDropdownMenu.CheckboxItem>,\n DropdownMenuSwitchItemProps\n>(({ className, children, onSelect, ...props }, ref) => (\n <RadixDropdownMenu.CheckboxItem\n ref={ref}\n className={itemClasses({ className })}\n onSelect={(event) => {\n // Keep-open is unconditional — prevent first so a throwing consumer\n // handler can't close the menu as a side effect.\n event.preventDefault();\n onSelect?.(event);\n }}\n {...props}\n >\n <span className=\"ds:flex-1 ds:truncate\">{children}</span>\n <span aria-hidden=\"true\" className={switchTrackClasses}>\n <span className={switchThumbClasses} />\n </span>\n </RadixDropdownMenu.CheckboxItem>\n));\nSwitchItem.displayName = 'DropdownMenu.SwitchItem';\n\n/* ------------------------------------------------------------------ */\n/* RadioGroup / RadioItem */\n/* ------------------------------------------------------------------ */\n\nconst RadioGroup = RadixRadioGroup;\n\nexport type DropdownMenuRadioItemProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.RadioItem\n>;\n\nconst RadioItem = forwardRef<\n ElementRef<typeof RadixDropdownMenu.RadioItem>,\n DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n <RadixDropdownMenu.RadioItem\n ref={ref}\n className={itemClasses({ className })}\n {...props}\n >\n {/* Real radio affordance: an always-visible ring with a filled dot\n when selected — a tick reads as a checkbox, not a single choice.\n The ring colours via the item's own data-state so the unchecked\n options still advertise that they are part of a radio set. */}\n <span className={indicatorSlotClasses} aria-hidden=\"true\">\n <span\n className={[\n 'ds:inline-flex ds:size-4 ds:items-center ds:justify-center ds:shrink-0',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:border ds:border-[length:var(--border-width-sm)] ds:border-[color:var(--muted-foreground)]',\n 'ds:[[data-state=checked]_&]:border-[color:var(--accent)]',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' ')}\n >\n <RadixDropdownMenu.ItemIndicator>\n <span className=\"ds:block ds:size-2 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--accent)] ds:forced-colors:bg-[CanvasText]\" />\n </RadixDropdownMenu.ItemIndicator>\n </span>\n </span>\n <span className=\"ds:flex-1 ds:truncate\">{children}</span>\n </RadixDropdownMenu.RadioItem>\n));\nRadioItem.displayName = 'DropdownMenu.RadioItem';\n\n/* ------------------------------------------------------------------ */\n/* Label */\n/* ------------------------------------------------------------------ */\n\nexport type DropdownMenuLabelProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.Label\n>;\n\nconst Label = forwardRef<\n ElementRef<typeof RadixDropdownMenu.Label>,\n DropdownMenuLabelProps\n>(({ className, ...props }, ref) => (\n <RadixDropdownMenu.Label\n ref={ref}\n className={labelClasses({ className })}\n {...props}\n />\n));\nLabel.displayName = 'DropdownMenu.Label';\n\n/* ------------------------------------------------------------------ */\n/* Separator */\n/* ------------------------------------------------------------------ */\n\nexport type DropdownMenuSeparatorProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.Separator\n>;\n\nconst MenuSeparator = forwardRef<\n ElementRef<typeof RadixDropdownMenu.Separator>,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n <RadixDropdownMenu.Separator ref={ref} asChild {...props}>\n <DsSeparator\n className={['ds:my-[calc(var(--spacing-xs)/2)]', className ?? '']\n .filter(Boolean)\n .join(' ')}\n />\n </RadixDropdownMenu.Separator>\n));\nMenuSeparator.displayName = 'DropdownMenu.Separator';\n\n/* ------------------------------------------------------------------ */\n/* Shortcut — thin wrapper over DS Kbd for the right side of an Item */\n/* ------------------------------------------------------------------ */\n\nexport interface DropdownMenuShortcutProps {\n keys: Array<KbdNamedKey | string>;\n separator?: 'none' | 'plus' | 'then';\n}\n\nconst Shortcut = forwardRef<HTMLSpanElement, DropdownMenuShortcutProps>(\n ({ keys, separator = 'none' }, ref) => (\n <span ref={ref} className=\"ds:ms-auto ds:ps-[var(--spacing-sm)]\">\n <Kbd keys={keys} separator={separator} size=\"sm\" />\n </span>\n ),\n);\nShortcut.displayName = 'DropdownMenu.Shortcut';\n\n/* ------------------------------------------------------------------ */\n/* Sub-menu */\n/* ------------------------------------------------------------------ */\n\nconst Sub = RadixDropdownMenu.Sub;\n\nexport interface DropdownMenuSubTriggerProps extends ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.SubTrigger\n> {\n startIcon?: ReactNode;\n}\n\nconst SubTrigger = forwardRef<\n ElementRef<typeof RadixDropdownMenu.SubTrigger>,\n DropdownMenuSubTriggerProps\n>(({ className, startIcon, children, ...props }, ref) => (\n <RadixDropdownMenu.SubTrigger\n ref={ref}\n className={itemClasses({ className })}\n {...props}\n >\n {startIcon ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:size-4 ds:shrink-0 ds:items-center ds:justify-center\"\n >\n {startIcon}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">{children}</span>\n <ChevronRight\n aria-hidden\n className=\"ds:ms-auto ds:size-4 ds:shrink-0 ds:rtl:-scale-x-100\"\n />\n </RadixDropdownMenu.SubTrigger>\n));\nSubTrigger.displayName = 'DropdownMenu.SubTrigger';\n\nexport type DropdownMenuSubContentProps = ComponentPropsWithoutRef<\n typeof RadixDropdownMenu.SubContent\n>;\n\nconst SubContent = forwardRef<\n ElementRef<typeof RadixDropdownMenu.SubContent>,\n DropdownMenuSubContentProps\n>(({ className, ...props }, ref) => (\n <RadixDropdownMenu.Portal>\n <RadixDropdownMenu.SubContent\n ref={ref}\n sideOffset={8}\n data-component=\"dropdown-menu-sub-content\"\n className={contentVariants({ className })}\n {...props}\n />\n </RadixDropdownMenu.Portal>\n));\nSubContent.displayName = 'DropdownMenu.SubContent';\n\n/* ------------------------------------------------------------------ */\n/* Assembled namespace export */\n/* ------------------------------------------------------------------ */\n\nexport const DropdownMenu = {\n Root,\n Trigger,\n Portal,\n Content,\n Group: RadixGroup,\n Item,\n CheckboxItem,\n SwitchItem,\n RadioGroup,\n RadioItem,\n Label,\n Separator: MenuSeparator,\n Shortcut,\n Sub,\n SubTrigger,\n SubContent,\n};\n"],"names":["dropdownMenuAgent","handle","contentVariants","cva","itemClasses","labelClasses","indicatorSlotClasses","DropdownMenuIdContext","createContext","Root","dir","id","openProp","defaultOpen","onOpenChange","props","autoDir","useDocumentDirection","openRaw","setOpen","useControllableState","open","openRef","useRef","useEffect","useMemo","useAgentRegistration","jsx","RadixDropdownMenu","Trigger","Portal","RadixGroup","RadixRadioGroup","Content","forwardRef","className","sideOffset","ref","instanceId","useContext","Item","startIcon","endIcon","description","shortcut","children","jsxs","Kbd","CheckboxItem","Check","switchTrackClasses","switchThumbClasses","SwitchItem","onSelect","event","RadioGroup","RadioItem","Label","MenuSeparator","DsSeparator","Shortcut","keys","separator","Sub","SubTrigger","ChevronRight","SubContent","DropdownMenu"],"mappings":"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"}