@alfadocs/ui-kit-debug 0.72.2 → 0.75.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 (687) hide show
  1. package/dist/_chunks/actions-cell-renderer-DLrcSTK_.js +1546 -0
  2. package/dist/_chunks/actions-cell-renderer-DLrcSTK_.js.map +1 -0
  3. package/dist/_chunks/{agenda-tray-loL2A3Cx.js → agenda-tray-CVf-jfWU.js} +3 -3
  4. package/dist/_chunks/{agenda-tray-loL2A3Cx.js.map → agenda-tray-CVf-jfWU.js.map} +1 -1
  5. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js → ai-consent-banner-DUhr1yNj.js} +2 -2
  6. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js.map → ai-consent-banner-DUhr1yNj.js.map} +1 -1
  7. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js → ai-prompt-input-DziJCGLe.js} +3 -3
  8. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js.map → ai-prompt-input-DziJCGLe.js.map} +1 -1
  9. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js → alia-sidebar-w6B0TEx7.js} +8 -8
  10. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js.map → alia-sidebar-w6B0TEx7.js.map} +1 -1
  11. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js → anamnesis-card-CJ5MNbkc.js} +2 -2
  12. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js.map → anamnesis-card-CJ5MNbkc.js.map} +1 -1
  13. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js → antenatal-schedule-timeline-BzJZqS-8.js} +3 -3
  14. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js.map → antenatal-schedule-timeline-BzJZqS-8.js.map} +1 -1
  15. package/dist/_chunks/{appointment-card-Cy4FOkGP.js → appointment-card-DgKI5QKD.js} +2 -2
  16. package/dist/_chunks/{appointment-card-Cy4FOkGP.js.map → appointment-card-DgKI5QKD.js.map} +1 -1
  17. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js → appointment-timeline-DQTG0btW.js} +6 -6
  18. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js.map → appointment-timeline-DQTG0btW.js.map} +1 -1
  19. package/dist/_chunks/{appointment-tray-D3mk04TT.js → appointment-tray-ezyCZN8v.js} +4 -4
  20. package/dist/_chunks/{appointment-tray-D3mk04TT.js.map → appointment-tray-ezyCZN8v.js.map} +1 -1
  21. package/dist/_chunks/{ar-BOqyIfoY.js → ar-B1GhtlBP.js} +2 -2
  22. package/dist/_chunks/{ar-BOqyIfoY.js.map → ar-B1GhtlBP.js.map} +1 -1
  23. package/dist/_chunks/{columns-2-8lq4-b8e.js → arrow-up-right-C2v_MKsK.js} +5 -5
  24. package/dist/_chunks/arrow-up-right-C2v_MKsK.js.map +1 -0
  25. package/dist/_chunks/{audio-recorder-BbjG55dP.js → audio-recorder-Cc3KuL9y.js} +4 -4
  26. package/dist/_chunks/{audio-recorder-BbjG55dP.js.map → audio-recorder-Cc3KuL9y.js.map} +1 -1
  27. package/dist/_chunks/{benefit-card-Xnxj4Gmo.js → benefit-card-DB1Kdrmc.js} +4 -2
  28. package/dist/_chunks/benefit-card-DB1Kdrmc.js.map +1 -0
  29. package/dist/_chunks/{bishop-score-C6eoak_j.js → bishop-score-DDW5-gb9.js} +3 -3
  30. package/dist/_chunks/{bishop-score-C6eoak_j.js.map → bishop-score-DDW5-gb9.js.map} +1 -1
  31. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js → bmi-calculator-Bk2GAju7.js} +2 -2
  32. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js.map → bmi-calculator-Bk2GAju7.js.map} +1 -1
  33. package/dist/_chunks/{booking-B62CMY5k.js → booking-B1Qkcl3c.js} +9 -9
  34. package/dist/_chunks/{booking-B62CMY5k.js.map → booking-B1Qkcl3c.js.map} +1 -1
  35. package/dist/_chunks/{button-DD_0Xdmr.js → button-CPGiR_bH.js} +56 -35
  36. package/dist/_chunks/button-CPGiR_bH.js.map +1 -0
  37. package/dist/_chunks/button-group-DzV5wgnx.js +289 -0
  38. package/dist/_chunks/button-group-DzV5wgnx.js.map +1 -0
  39. package/dist/_chunks/camera-VSklPDCv.js +21 -0
  40. package/dist/_chunks/camera-VSklPDCv.js.map +1 -0
  41. package/dist/_chunks/{care-plan-card-DhXbfGzE.js → care-plan-card-BrwhyIJI.js} +3 -3
  42. package/dist/_chunks/{care-plan-card-DhXbfGzE.js.map → care-plan-card-BrwhyIJI.js.map} +1 -1
  43. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js → care-plan-entry-card-DWEdCQM3.js} +3 -3
  44. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js.map → care-plan-entry-card-DWEdCQM3.js.map} +1 -1
  45. package/dist/_chunks/{care-plan-header-DtQxyfOb.js → care-plan-header-BXvRpGG8.js} +2 -2
  46. package/dist/_chunks/{care-plan-header-DtQxyfOb.js.map → care-plan-header-BXvRpGG8.js.map} +1 -1
  47. package/dist/_chunks/{carousel.agent-j7hWxJWr.js → carousel.agent-CtAAdsAd.js} +2 -2
  48. package/dist/_chunks/{carousel.agent-j7hWxJWr.js.map → carousel.agent-CtAAdsAd.js.map} +1 -1
  49. package/dist/_chunks/{chat-container-BVCoN06N.js → chat-container-HlFnoEIl.js} +4 -2
  50. package/dist/_chunks/{chat-container-BVCoN06N.js.map → chat-container-HlFnoEIl.js.map} +1 -1
  51. package/dist/_chunks/{chat-input-Btq_uuMZ.js → chat-input-BTCDqUDX.js} +2 -2
  52. package/dist/_chunks/{chat-input-Btq_uuMZ.js.map → chat-input-BTCDqUDX.js.map} +1 -1
  53. package/dist/_chunks/{chat-message-DXjjM8z9.js → chat-message-CdjWqZjo.js} +3 -3
  54. package/dist/_chunks/{chat-message-DXjjM8z9.js.map → chat-message-CdjWqZjo.js.map} +1 -1
  55. package/dist/_chunks/{code-block-Cwi7e3HM.js → code-block-BwanBjRh.js} +2 -2
  56. package/dist/_chunks/{code-block-Cwi7e3HM.js.map → code-block-BwanBjRh.js.map} +1 -1
  57. package/dist/_chunks/{connection-status-0HajXMXM.js → connection-status-oEUyrvev.js} +3 -3
  58. package/dist/_chunks/{connection-status-0HajXMXM.js.map → connection-status-oEUyrvev.js.map} +1 -1
  59. package/dist/_chunks/{contact-profile-card-IggiUVpN.js → contact-profile-card-veMV3W4J.js} +2 -2
  60. package/dist/_chunks/{contact-profile-card-IggiUVpN.js.map → contact-profile-card-veMV3W4J.js.map} +1 -1
  61. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js → control-room-rail-CdfrZ6Vr.js} +3 -3
  62. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js.map → control-room-rail-CdfrZ6Vr.js.map} +1 -1
  63. package/dist/_chunks/{copy-field-PAp0-Wr5.js → copy-field-DBc9QquW.js} +2 -2
  64. package/dist/_chunks/{copy-field-PAp0-Wr5.js.map → copy-field-DBc9QquW.js.map} +1 -1
  65. package/dist/_chunks/{cycle-calculator-BNILyVas.js → cycle-calculator-OQp8Ik5U.js} +4 -4
  66. package/dist/_chunks/{cycle-calculator-BNILyVas.js.map → cycle-calculator-OQp8Ik5U.js.map} +1 -1
  67. package/dist/_chunks/data-table-tabs-BEUXiRlu.js +710 -0
  68. package/dist/_chunks/data-table-tabs-BEUXiRlu.js.map +1 -0
  69. package/dist/_chunks/{date-picker-CVkD_lOi.js → date-picker-DzQS8mvt.js} +2 -2
  70. package/dist/_chunks/{date-picker-CVkD_lOi.js.map → date-picker-DzQS8mvt.js.map} +1 -1
  71. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js → date-picker-variants-CYQAm1Gk.js} +116 -115
  72. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js.map → date-picker-variants-CYQAm1Gk.js.map} +1 -1
  73. package/dist/_chunks/{date-range-picker-Dw12DgV8.js → date-range-picker-Cbz1SKhm.js} +3 -3
  74. package/dist/_chunks/{date-range-picker-Dw12DgV8.js.map → date-range-picker-Cbz1SKhm.js.map} +1 -1
  75. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js → date-time-picker-B5IpU-nd.js} +2 -2
  76. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js.map → date-time-picker-B5IpU-nd.js.map} +1 -1
  77. package/dist/_chunks/{de-DFLsUxeV.js → de-DETDHQ0o.js} +2 -2
  78. package/dist/_chunks/{de-DFLsUxeV.js.map → de-DETDHQ0o.js.map} +1 -1
  79. package/dist/_chunks/{description-list-CmBVxIF5.js → description-list-ClNLdRMy.js} +2 -2
  80. package/dist/_chunks/{description-list-CmBVxIF5.js.map → description-list-ClNLdRMy.js.map} +1 -1
  81. package/dist/_chunks/document-preview-CGSM_au9.js +181 -0
  82. package/dist/_chunks/document-preview-CGSM_au9.js.map +1 -0
  83. package/dist/_chunks/{document-scanner-B23j4w7X.js → document-scanner-B6h1Ir56.js} +198 -230
  84. package/dist/_chunks/document-scanner-B6h1Ir56.js.map +1 -0
  85. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js → due-date-calculator-DASNRgnH.js} +4 -4
  86. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js.map → due-date-calculator-DASNRgnH.js.map} +1 -1
  87. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js → editable-currency-cell-renderer-GwfA9tTR.js} +3 -3
  88. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js.map → editable-currency-cell-renderer-GwfA9tTR.js.map} +1 -1
  89. package/dist/_chunks/{editor-overlay-BIOzr8v7.js → editor-overlay-DE3esyio.js} +2 -2
  90. package/dist/_chunks/{editor-overlay-BIOzr8v7.js.map → editor-overlay-DE3esyio.js.map} +1 -1
  91. package/dist/_chunks/{el-OVjBKytp.js → el-HV3jOI0z.js} +2 -2
  92. package/dist/_chunks/{el-OVjBKytp.js.map → el-HV3jOI0z.js.map} +1 -1
  93. package/dist/_chunks/{empty-state-BLy7tigq.js → empty-state-CrLsi0XI.js} +2 -2
  94. package/dist/_chunks/{empty-state-BLy7tigq.js.map → empty-state-CrLsi0XI.js.map} +1 -1
  95. package/dist/_chunks/{entity-summary-DpGziDv5.js → entity-summary--vP698Jn.js} +3 -3
  96. package/dist/_chunks/{entity-summary-DpGziDv5.js.map → entity-summary--vP698Jn.js.map} +1 -1
  97. package/dist/_chunks/eraser-CHOGQfVv.js +21 -0
  98. package/dist/_chunks/eraser-CHOGQfVv.js.map +1 -0
  99. package/dist/_chunks/{es-DKDNrHXG.js → es-Dpo7Olwo.js} +2 -2
  100. package/dist/_chunks/{es-DKDNrHXG.js.map → es-Dpo7Olwo.js.map} +1 -1
  101. package/dist/_chunks/face-scheme-C0rk21gg.js +3146 -0
  102. package/dist/_chunks/face-scheme-C0rk21gg.js.map +1 -0
  103. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js → fetal-weight-1F9N4IMx.js} +2 -2
  104. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js.map → fetal-weight-1F9N4IMx.js.map} +1 -1
  105. package/dist/_chunks/{field-array-CDzc3hTM.js → field-array-DH3Mb1i8.js} +3 -3
  106. package/dist/_chunks/{field-array-CDzc3hTM.js.map → field-array-DH3Mb1i8.js.map} +1 -1
  107. package/dist/_chunks/{field-value-Dj3i52H2.js → field-value-DHG6gEKS.js} +5 -5
  108. package/dist/_chunks/{field-value-Dj3i52H2.js.map → field-value-DHG6gEKS.js.map} +1 -1
  109. package/dist/_chunks/file-Cwe9VC1A.js +40 -0
  110. package/dist/_chunks/file-Cwe9VC1A.js.map +1 -0
  111. package/dist/_chunks/file-manager-UF8dkQF1.js +1776 -0
  112. package/dist/_chunks/file-manager-UF8dkQF1.js.map +1 -0
  113. package/dist/_chunks/{file-upload-Kw1rdvFw.js → file-upload-DENvuhfs.js} +101 -139
  114. package/dist/_chunks/file-upload-DENvuhfs.js.map +1 -0
  115. package/dist/_chunks/{finished-terminal-Di4gtZ50.js → finished-terminal-C0_mefrf.js} +11 -11
  116. package/dist/_chunks/finished-terminal-C0_mefrf.js.map +1 -0
  117. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js → fiscal-code-input-DWA6C8x8.js} +2 -2
  118. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js.map → fiscal-code-input-DWA6C8x8.js.map} +1 -1
  119. package/dist/_chunks/{fr-BfMvQh-v.js → fr-CgD4Jvtq.js} +2 -2
  120. package/dist/_chunks/{fr-BfMvQh-v.js.map → fr-CgD4Jvtq.js.map} +1 -1
  121. package/dist/_chunks/{freemium-paywall-DFoeedwh.js → freemium-paywall-CmV642PA.js} +7 -3
  122. package/dist/_chunks/freemium-paywall-CmV642PA.js.map +1 -0
  123. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js → gestational-age-calculator-BpYw-WF-.js} +7 -7
  124. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js.map → gestational-age-calculator-BpYw-WF-.js.map} +1 -1
  125. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js → hcg-doubling-Dqj-EqMT.js} +3 -3
  126. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js.map → hcg-doubling-Dqj-EqMT.js.map} +1 -1
  127. package/dist/_chunks/{header-DaXWDw0M.js → header-CjwasYnn.js} +88 -79
  128. package/dist/_chunks/header-CjwasYnn.js.map +1 -0
  129. package/dist/_chunks/{header-settings-B0G_u-wV.js → header-settings-4cwQzeFc.js} +4 -4
  130. package/dist/_chunks/{header-settings-B0G_u-wV.js.map → header-settings-4cwQzeFc.js.map} +1 -1
  131. package/dist/_chunks/{hi-C0GEMwlD.js → hi-Bf8CAP6b.js} +2 -2
  132. package/dist/_chunks/{hi-C0GEMwlD.js.map → hi-Bf8CAP6b.js.map} +1 -1
  133. package/dist/_chunks/highlighter-DSkckT2Q.js +15 -0
  134. package/dist/_chunks/highlighter-DSkckT2Q.js.map +1 -0
  135. package/dist/_chunks/{icon-button-LqoiKcUN.js → icon-button-C_kbcd7I.js} +2 -2
  136. package/dist/_chunks/{icon-button-LqoiKcUN.js.map → icon-button-C_kbcd7I.js.map} +1 -1
  137. package/dist/_chunks/icon-button-group-C_lqXTAj.js +391 -0
  138. package/dist/_chunks/icon-button-group-C_lqXTAj.js.map +1 -0
  139. package/dist/_chunks/{icon-picker-Di6uYDG-.js → icon-picker-CM9ubkew.js} +3 -3
  140. package/dist/_chunks/{icon-picker-Di6uYDG-.js.map → icon-picker-CM9ubkew.js.map} +1 -1
  141. package/dist/_chunks/{image-cropper-CdmWFrMC.js → image-cropper-DKe4AORY.js} +2 -2
  142. package/dist/_chunks/{image-cropper-CdmWFrMC.js.map → image-cropper-DKe4AORY.js.map} +1 -1
  143. package/dist/_chunks/{insert-result-C7xSDb8q.js → insert-result-D074GtHX.js} +58 -68
  144. package/dist/_chunks/insert-result-D074GtHX.js.map +1 -0
  145. package/dist/_chunks/{isSameWeek-HddDAyJG.js → isSameWeek-BYl5poz_.js} +2 -2
  146. package/dist/_chunks/{isSameWeek-HddDAyJG.js.map → isSameWeek-BYl5poz_.js.map} +1 -1
  147. package/dist/_chunks/{it-5f4hiT2e.js → it-mt1V2DFS.js} +3 -3
  148. package/dist/_chunks/{it-5f4hiT2e.js.map → it-mt1V2DFS.js.map} +1 -1
  149. package/dist/_chunks/{ja-U0_2inl_.js → ja-CbOHn2TO.js} +2 -2
  150. package/dist/_chunks/{ja-U0_2inl_.js.map → ja-CbOHn2TO.js.map} +1 -1
  151. package/dist/_chunks/{key-value-pair-Byyyc_9J.js → key-value-pair-LHKfDT_9.js} +2 -2
  152. package/dist/_chunks/{key-value-pair-Byyyc_9J.js.map → key-value-pair-LHKfDT_9.js.map} +1 -1
  153. package/dist/_chunks/link-cell-renderer-BQGUs45d.js +711 -0
  154. package/dist/_chunks/link-cell-renderer-BQGUs45d.js.map +1 -0
  155. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js → locale-picker-GNF3lo8K.js} +3 -3
  156. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js.map → locale-picker-GNF3lo8K.js.map} +1 -1
  157. package/dist/_chunks/{map-view-ByPvWG_9.js → map-view-CsaHfoo6.js} +2 -2
  158. package/dist/_chunks/{map-view-ByPvWG_9.js.map → map-view-CsaHfoo6.js.map} +1 -1
  159. package/dist/_chunks/{marketplace-app-shell-BCYiOvKZ.js → marketplace-app-shell-D_1tF4La.js} +6 -6
  160. package/dist/_chunks/marketplace-app-shell-D_1tF4La.js.map +1 -0
  161. package/dist/_chunks/{message-card-BZnnffyB.js → message-card-ievotOFa.js} +3 -3
  162. package/dist/_chunks/{message-card-BZnnffyB.js.map → message-card-ievotOFa.js.map} +1 -1
  163. package/dist/_chunks/{message-tray-cUHOCdU0.js → message-tray-BFlu8clI.js} +4 -4
  164. package/dist/_chunks/{message-tray-cUHOCdU0.js.map → message-tray-BFlu8clI.js.map} +1 -1
  165. package/dist/_chunks/{muscle-scheme-B9MIkuj0.js → muscle-scheme-CFBE2dme.js} +6 -14
  166. package/dist/_chunks/{muscle-scheme-B9MIkuj0.js.map → muscle-scheme-CFBE2dme.js.map} +1 -1
  167. package/dist/_chunks/{nl-CDVnnx1U.js → nl-C6Y0QXnm.js} +2 -2
  168. package/dist/_chunks/{nl-CDVnnx1U.js.map → nl-C6Y0QXnm.js.map} +1 -1
  169. package/dist/_chunks/{notes-panel-CMyjUXD4.js → notes-panel-Cvdp818a.js} +3 -3
  170. package/dist/_chunks/{notes-panel-CMyjUXD4.js.map → notes-panel-Cvdp818a.js.map} +1 -1
  171. package/dist/_chunks/{notification-card-BHJ07FkH.js → notification-card-D29_sVA1.js} +3 -3
  172. package/dist/_chunks/{notification-card-BHJ07FkH.js.map → notification-card-D29_sVA1.js.map} +1 -1
  173. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js → notification-tray-CzIzz3bX.js} +4 -4
  174. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js.map → notification-tray-CzIzz3bX.js.map} +1 -1
  175. package/dist/_chunks/optical-prescription-BEjYQjiO.js +1260 -0
  176. package/dist/_chunks/optical-prescription-BEjYQjiO.js.map +1 -0
  177. package/dist/_chunks/{patient-details-pU_E5xM2.js → patient-details-DP4wKyq4.js} +7 -7
  178. package/dist/_chunks/{patient-details-pU_E5xM2.js.map → patient-details-DP4wKyq4.js.map} +1 -1
  179. package/dist/_chunks/{patient-search-X9SUZGpy.js → patient-search-BaUJ_Y-N.js} +47 -45
  180. package/dist/_chunks/patient-search-BaUJ_Y-N.js.map +1 -0
  181. package/dist/_chunks/{patient-summary-card--t3BjTdU.js → patient-summary-card-D6kgdTNn.js} +4 -4
  182. package/dist/_chunks/{patient-summary-card--t3BjTdU.js.map → patient-summary-card-D6kgdTNn.js.map} +1 -1
  183. package/dist/_chunks/{patient-table-BgWgNIMf.js → patient-table-DweKjiXg.js} +122 -118
  184. package/dist/_chunks/patient-table-DweKjiXg.js.map +1 -0
  185. package/dist/_chunks/{payment-request-card-2ts7ITxd.js → payment-request-card-C0fqlKqO.js} +25 -24
  186. package/dist/_chunks/{payment-request-card-2ts7ITxd.js.map → payment-request-card-C0fqlKqO.js.map} +1 -1
  187. package/dist/_chunks/pen-line-D0De5zdl.js +21 -0
  188. package/dist/_chunks/pen-line-D0De5zdl.js.map +1 -0
  189. package/dist/_chunks/periodontal-chart-D8hOFmde.js +1173 -0
  190. package/dist/_chunks/periodontal-chart-D8hOFmde.js.map +1 -0
  191. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js → periodontal-chart-card-WVjJAheq.js} +2 -2
  192. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js.map → periodontal-chart-card-WVjJAheq.js.map} +1 -1
  193. package/dist/_chunks/periodontal-diagnosis-cco40xTa.js +345 -0
  194. package/dist/_chunks/periodontal-diagnosis-cco40xTa.js.map +1 -0
  195. package/dist/_chunks/periodontal-risk-chart-bUGkMwDg.js +334 -0
  196. package/dist/_chunks/periodontal-risk-chart-bUGkMwDg.js.map +1 -0
  197. package/dist/_chunks/{pl-BWNumNrg.js → pl-BdazJAOp.js} +3 -3
  198. package/dist/_chunks/{pl-BWNumNrg.js.map → pl-BdazJAOp.js.map} +1 -1
  199. package/dist/_chunks/{popover-uJ6BvEU3.js → popover-Cc0a69sw.js} +32 -29
  200. package/dist/_chunks/{popover-uJ6BvEU3.js.map → popover-Cc0a69sw.js.map} +1 -1
  201. package/dist/_chunks/{practice-results-CSEHTH2V.js → practice-results-BCr7jMt1.js} +5 -5
  202. package/dist/_chunks/{practice-results-CSEHTH2V.js.map → practice-results-BCr7jMt1.js.map} +1 -1
  203. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js → pregnancy-dating-msMl_6wz.js} +7 -7
  204. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js.map → pregnancy-dating-msMl_6wz.js.map} +1 -1
  205. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js → pregnancy-weight-gain-B-CkVYnU.js} +2 -2
  206. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js.map → pregnancy-weight-gain-B-CkVYnU.js.map} +1 -1
  207. package/dist/_chunks/{privacy-lock-DrRmK8C7.js → privacy-lock-YYBiI_bY.js} +3 -3
  208. package/dist/_chunks/{privacy-lock-DrRmK8C7.js.map → privacy-lock-YYBiI_bY.js.map} +1 -1
  209. package/dist/_chunks/{product-hub-panel-CaZqttvm.js → product-hub-panel-CTld1r5V.js} +3 -3
  210. package/dist/_chunks/{product-hub-panel-CaZqttvm.js.map → product-hub-panel-CTld1r5V.js.map} +1 -1
  211. package/dist/_chunks/{pt-zqdQuryr.js → pt-B3UKvhHp.js} +2 -2
  212. package/dist/_chunks/{pt-zqdQuryr.js.map → pt-B3UKvhHp.js.map} +1 -1
  213. package/dist/_chunks/{public-header.agent-C-opZaOw.js → public-header.agent-rX_VA6hd.js} +107 -103
  214. package/dist/_chunks/public-header.agent-rX_VA6hd.js.map +1 -0
  215. package/dist/_chunks/{radiograph-panel.agent-D1x33moc.js → radiograph-panel.agent-CxF9pVxd.js} +40 -57
  216. package/dist/_chunks/radiograph-panel.agent-CxF9pVxd.js.map +1 -0
  217. package/dist/_chunks/{reviews-panel-liUj6OPX.js → reviews-panel-DmOjvmyH.js} +4 -4
  218. package/dist/_chunks/{reviews-panel-liUj6OPX.js.map → reviews-panel-DmOjvmyH.js.map} +1 -1
  219. package/dist/_chunks/{rich-text-editor-DUgznqOf.js → rich-text-editor-CCWjNkbx.js} +26 -26
  220. package/dist/_chunks/rich-text-editor-CCWjNkbx.js.map +1 -0
  221. package/dist/_chunks/{ro-CornQr64.js → ro-DVTEQpPK.js} +2 -2
  222. package/dist/_chunks/{ro-CornQr64.js.map → ro-DVTEQpPK.js.map} +1 -1
  223. package/dist/_chunks/{ru-CKAXNYVD.js → ru-C-Mp40SC.js} +3 -3
  224. package/dist/_chunks/{ru-CKAXNYVD.js.map → ru-C-Mp40SC.js.map} +1 -1
  225. package/dist/_chunks/{select-BmCbJMJS.js → select-BW5ecXlX.js} +13 -13
  226. package/dist/_chunks/{select-BmCbJMJS.js.map → select-BW5ecXlX.js.map} +1 -1
  227. package/dist/_chunks/{session-countdown-qr8EO5QY.js → session-countdown-C8AsE072.js} +2 -2
  228. package/dist/_chunks/{session-countdown-qr8EO5QY.js.map → session-countdown-C8AsE072.js.map} +1 -1
  229. package/dist/_chunks/{sheet-B_X54aZo.js → sheet-D5K0LB3q.js} +2 -2
  230. package/dist/_chunks/{sheet-B_X54aZo.js.map → sheet-D5K0LB3q.js.map} +1 -1
  231. package/dist/_chunks/{sidebar-B0OBmJrC.js → sidebar-C0PbwJBc.js} +375 -335
  232. package/dist/_chunks/sidebar-C0PbwJBc.js.map +1 -0
  233. package/dist/_chunks/{sign-document-nK03S73h.js → sign-document-Bfk0WpWV.js} +2 -2
  234. package/dist/_chunks/{sign-document-nK03S73h.js.map → sign-document-Bfk0WpWV.js.map} +1 -1
  235. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js → sign-in-with-alfadocs-button-UlYefZpI.js} +2 -2
  236. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js.map → sign-in-with-alfadocs-button-UlYefZpI.js.map} +1 -1
  237. package/dist/_chunks/{signature-capture-Ct_4Md4e.js → signature-capture-DN52VNKL.js} +206 -189
  238. package/dist/_chunks/signature-capture-DN52VNKL.js.map +1 -0
  239. package/dist/_chunks/{signature-field-jgwYgUhO.js → signature-field-0rFODJlW.js} +47 -41
  240. package/dist/_chunks/signature-field-0rFODJlW.js.map +1 -0
  241. package/dist/_chunks/signature-request-C-mskXwi.js +318 -0
  242. package/dist/_chunks/signature-request-C-mskXwi.js.map +1 -0
  243. package/dist/_chunks/{slot-grid-FsqumOaS.js → slot-grid-CQSULZjd.js} +4 -4
  244. package/dist/_chunks/{slot-grid-FsqumOaS.js.map → slot-grid-CQSULZjd.js.map} +1 -1
  245. package/dist/_chunks/{sq-CIIvqXZv.js → sq-DierVlw-.js} +2 -2
  246. package/dist/_chunks/{sq-CIIvqXZv.js.map → sq-DierVlw-.js.map} +1 -1
  247. package/dist/_chunks/{streaming-text-Cedc05ya.js → streaming-text-C5bYz7LL.js} +2 -2
  248. package/dist/_chunks/{streaming-text-Cedc05ya.js.map → streaming-text-C5bYz7LL.js.map} +1 -1
  249. package/dist/_chunks/subDays-DIKRViZm.js +8 -0
  250. package/dist/_chunks/{subDays-DGSOp9d9.js.map → subDays-DIKRViZm.js.map} +1 -1
  251. package/dist/_chunks/{sv-Kpk1pzjz.js → sv-gQWo_19z.js} +2 -2
  252. package/dist/_chunks/{sv-Kpk1pzjz.js.map → sv-gQWo_19z.js.map} +1 -1
  253. package/dist/_chunks/{tabs-DVQ941Sj.js → tabs-CVTukWRD.js} +2 -2
  254. package/dist/_chunks/{tabs-DVQ941Sj.js.map → tabs-CVTukWRD.js.map} +1 -1
  255. package/dist/_chunks/{task-tray-DP5A3Qnc.js → task-tray-Br3vc0O1.js} +3 -3
  256. package/dist/_chunks/{task-tray-DP5A3Qnc.js.map → task-tray-Br3vc0O1.js.map} +1 -1
  257. package/dist/_chunks/{tasks-panel-BuxaYtEF.js → tasks-panel-CjGAhIN8.js} +6 -6
  258. package/dist/_chunks/{tasks-panel-BuxaYtEF.js.map → tasks-panel-CjGAhIN8.js.map} +1 -1
  259. package/dist/_chunks/{theme-toggle-dtdy5EaL.js → theme-toggle-BJCz_UOi.js} +3 -3
  260. package/dist/_chunks/{theme-toggle-dtdy5EaL.js.map → theme-toggle-BJCz_UOi.js.map} +1 -1
  261. package/dist/_chunks/{toast.agent-BSxl057x.js → toast.agent-uV8CeAy6.js} +2 -2
  262. package/dist/_chunks/{toast.agent-BSxl057x.js.map → toast.agent-uV8CeAy6.js.map} +1 -1
  263. package/dist/_chunks/{token-insert-menu-Pok4nExI.js → token-insert-menu-BYv6yoZI.js} +2 -2
  264. package/dist/_chunks/{token-insert-menu-Pok4nExI.js.map → token-insert-menu-BYv6yoZI.js.map} +1 -1
  265. package/dist/_chunks/{tool-rail-BZx0-yIr.js → tool-rail-AaTqxkIM.js} +2 -2
  266. package/dist/_chunks/{tool-rail-BZx0-yIr.js.map → tool-rail-AaTqxkIM.js.map} +1 -1
  267. package/dist/_chunks/tooth-data-BwuoKFf4.js +660 -0
  268. package/dist/_chunks/tooth-data-BwuoKFf4.js.map +1 -0
  269. package/dist/_chunks/tooth-scheme-BzJ6rcte.js +1483 -0
  270. package/dist/_chunks/tooth-scheme-BzJ6rcte.js.map +1 -0
  271. package/dist/_chunks/{tr-DHaeLFxG.js → tr-Btm6M3Km.js} +2 -2
  272. package/dist/_chunks/{tr-DHaeLFxG.js.map → tr-Btm6M3Km.js.map} +1 -1
  273. package/dist/_chunks/{transaction-chip-B6iWoVmU.js → transaction-chip-DJCstquX.js} +41 -51
  274. package/dist/_chunks/transaction-chip-DJCstquX.js.map +1 -0
  275. package/dist/_chunks/type-ggmfVs23.js +16 -0
  276. package/dist/_chunks/type-ggmfVs23.js.map +1 -0
  277. package/dist/_chunks/{unit-converter-fEqluT8b.js → unit-converter-CSLWFDQh.js} +3 -3
  278. package/dist/_chunks/{unit-converter-fEqluT8b.js.map → unit-converter-CSLWFDQh.js.map} +1 -1
  279. package/dist/_chunks/upload-BfT2hzMg.js +16 -0
  280. package/dist/_chunks/upload-BfT2hzMg.js.map +1 -0
  281. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js +101 -0
  282. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js.map +1 -0
  283. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js +31 -0
  284. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js.map +1 -0
  285. package/dist/_chunks/{warning-stack-BaMI7-n7.js → warning-stack-BlG_Ujy3.js} +3 -3
  286. package/dist/_chunks/{warning-stack-BaMI7-n7.js.map → warning-stack-BlG_Ujy3.js.map} +1 -1
  287. package/dist/_chunks/{workflow-map-qWsgCldq.js → workflow-map-C643Q43h.js} +5 -5
  288. package/dist/_chunks/{workflow-map-qWsgCldq.js.map → workflow-map-C643Q43h.js.map} +1 -1
  289. package/dist/_chunks/{zh-CN-BncsTBwM.js → zh-CN-DkVN4vsB.js} +3 -3
  290. package/dist/_chunks/{zh-CN-BncsTBwM.js.map → zh-CN-DkVN4vsB.js.map} +1 -1
  291. package/dist/agent-catalog.json +4081 -3201
  292. package/dist/agent-i18n/en.json +121 -69
  293. package/dist/brand/product-lockup/product-lockup.d.ts +1 -1
  294. package/dist/components/_shared/calendar-class-names.d.ts.map +1 -1
  295. package/dist/components/_shared/entity-card/entity-card.d.ts +1 -1
  296. package/dist/components/agenda-tray/index.js +1 -1
  297. package/dist/components/ai-consent-banner/index.js +1 -1
  298. package/dist/components/ai-prompt-input/index.js +1 -1
  299. package/dist/components/anamnesis-card/anamnesis-card.d.ts +1 -1
  300. package/dist/components/anamnesis-card/index.js +1 -1
  301. package/dist/components/appointment-card/appointment-card.d.ts +1 -1
  302. package/dist/components/appointment-card/index.js +2 -2
  303. package/dist/components/appointment-timeline/index.js +1 -1
  304. package/dist/components/audio-recorder/index.js +1 -1
  305. package/dist/components/benefit-card/benefit-card.d.ts.map +1 -1
  306. package/dist/components/benefit-card/index.js +1 -1
  307. package/dist/components/bishop-score/index.js +1 -1
  308. package/dist/components/bmi-calculator/index.js +1 -1
  309. package/dist/components/booking/index.js +1 -1
  310. package/dist/components/button/button.d.ts +8 -1
  311. package/dist/components/button/button.d.ts.map +1 -1
  312. package/dist/components/button/index.js +2 -2
  313. package/dist/components/button-group/button-group.d.ts +16 -0
  314. package/dist/components/button-group/button-group.d.ts.map +1 -1
  315. package/dist/components/button-group/index.js +1 -1
  316. package/dist/components/card/card.d.ts +1 -1
  317. package/dist/components/care-plan-card/index.js +1 -1
  318. package/dist/components/care-plan-entry-card/index.js +1 -1
  319. package/dist/components/care-plan-header/index.js +1 -1
  320. package/dist/components/carousel/index.js +1 -1
  321. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  322. package/dist/components/chat-container/index.js +1 -1
  323. package/dist/components/chat-input/index.js +1 -1
  324. package/dist/components/chat-message/index.js +1 -1
  325. package/dist/components/clinical-note-card/clinical-note-card.d.ts +1 -1
  326. package/dist/components/connection-status/index.js +1 -1
  327. package/dist/components/contact-profile-card/contact-profile-card.d.ts +1 -1
  328. package/dist/components/contact-profile-card/index.js +1 -1
  329. package/dist/components/control-room-rail/index.js +1 -1
  330. package/dist/components/copy-field/index.js +1 -1
  331. package/dist/components/counter/counter.d.ts +1 -1
  332. package/dist/components/cycle-calculator/index.js +1 -1
  333. package/dist/components/data-table/data-table.d.ts +2 -8
  334. package/dist/components/data-table/data-table.d.ts.map +1 -1
  335. package/dist/components/data-table/filters/number-filter.d.ts.map +1 -1
  336. package/dist/components/data-table/index.js +35 -34
  337. package/dist/components/data-table/index.js.map +1 -1
  338. package/dist/components/data-table/toolbar.d.ts +5 -11
  339. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  340. package/dist/components/data-table-tabs/data-table-tabs.agent.d.ts +4 -0
  341. package/dist/components/data-table-tabs/data-table-tabs.agent.d.ts.map +1 -0
  342. package/dist/components/data-table-tabs/data-table-tabs.d.ts +93 -0
  343. package/dist/components/data-table-tabs/data-table-tabs.d.ts.map +1 -0
  344. package/dist/components/data-table-tabs/index.d.ts +5 -0
  345. package/dist/components/data-table-tabs/index.d.ts.map +1 -0
  346. package/dist/components/data-table-tabs/index.js +8 -0
  347. package/dist/components/data-table-tabs/use-data-table-filter-tabs.d.ts +63 -0
  348. package/dist/components/data-table-tabs/use-data-table-filter-tabs.d.ts.map +1 -0
  349. package/dist/components/date-picker/index.js +1 -1
  350. package/dist/components/date-range-picker/index.js +1 -1
  351. package/dist/components/date-time-picker/index.js +1 -1
  352. package/dist/components/description-list/index.js +1 -1
  353. package/dist/components/document-preview/document-preview.agent.d.ts +4 -0
  354. package/dist/components/document-preview/document-preview.agent.d.ts.map +1 -0
  355. package/dist/components/document-preview/document-preview.d.ts +41 -0
  356. package/dist/components/document-preview/document-preview.d.ts.map +1 -0
  357. package/dist/components/document-preview/index.d.ts +4 -0
  358. package/dist/components/document-preview/index.d.ts.map +1 -0
  359. package/dist/components/document-preview/index.js +6 -0
  360. package/dist/components/document-preview/index.js.map +1 -0
  361. package/dist/components/document-scanner/document-scanner.d.ts.map +1 -1
  362. package/dist/components/document-scanner/index.js +1 -1
  363. package/dist/components/due-date-calculator/index.js +2 -2
  364. package/dist/components/editor-overlay/index.js +1 -1
  365. package/dist/components/empty-state/index.js +1 -1
  366. package/dist/components/entity-summary/index.js +1 -1
  367. package/dist/components/face-scheme/face-scheme-data.d.ts +167 -0
  368. package/dist/components/face-scheme/face-scheme-data.d.ts.map +1 -1
  369. package/dist/components/face-scheme/face-scheme.agent.d.ts.map +1 -1
  370. package/dist/components/face-scheme/face-scheme.d.ts +112 -2
  371. package/dist/components/face-scheme/face-scheme.d.ts.map +1 -1
  372. package/dist/components/face-scheme/index.d.ts +2 -2
  373. package/dist/components/face-scheme/index.d.ts.map +1 -1
  374. package/dist/components/face-scheme/index.js +25 -14
  375. package/dist/components/fetal-weight/index.js +1 -1
  376. package/dist/components/field-array/index.js +1 -1
  377. package/dist/components/file-manager/dialogs.d.ts +48 -0
  378. package/dist/components/file-manager/dialogs.d.ts.map +1 -0
  379. package/dist/components/file-manager/file-manager.agent.d.ts +4 -0
  380. package/dist/components/file-manager/file-manager.agent.d.ts.map +1 -0
  381. package/dist/components/file-manager/file-manager.d.ts +82 -0
  382. package/dist/components/file-manager/file-manager.d.ts.map +1 -0
  383. package/dist/components/file-manager/folder-tree.d.ts +12 -0
  384. package/dist/components/file-manager/folder-tree.d.ts.map +1 -0
  385. package/dist/components/file-manager/index.d.ts +5 -0
  386. package/dist/components/file-manager/index.d.ts.map +1 -0
  387. package/dist/components/file-manager/index.js +6 -0
  388. package/dist/components/file-manager/index.js.map +1 -0
  389. package/dist/components/file-manager/list-view.d.ts +49 -0
  390. package/dist/components/file-manager/list-view.d.ts.map +1 -0
  391. package/dist/components/file-manager/toolbar.d.ts +15 -0
  392. package/dist/components/file-manager/toolbar.d.ts.map +1 -0
  393. package/dist/components/file-manager/types.d.ts +167 -0
  394. package/dist/components/file-manager/types.d.ts.map +1 -0
  395. package/dist/components/file-manager/utils.d.ts +34 -0
  396. package/dist/components/file-manager/utils.d.ts.map +1 -0
  397. package/dist/components/file-upload/file-upload.d.ts +1 -0
  398. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  399. package/dist/components/file-upload/index.d.ts +1 -1
  400. package/dist/components/file-upload/index.d.ts.map +1 -1
  401. package/dist/components/file-upload/index.js +4 -3
  402. package/dist/components/finished-terminal/finished-terminal.d.ts.map +1 -1
  403. package/dist/components/finished-terminal/index.js +1 -1
  404. package/dist/components/fiscal-code-input/index.js +1 -1
  405. package/dist/components/flag/flag.d.ts +1 -1
  406. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  407. package/dist/components/freemium-paywall/index.js +1 -1
  408. package/dist/components/gestational-age-calculator/index.js +1 -1
  409. package/dist/components/hcg-doubling/index.js +1 -1
  410. package/dist/components/header/header.d.ts.map +1 -1
  411. package/dist/components/header/index.js +1 -1
  412. package/dist/components/header-settings/index.js +1 -1
  413. package/dist/components/icon-button/index.js +1 -1
  414. package/dist/components/icon-button-group/icon-button-group.d.ts +6 -0
  415. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  416. package/dist/components/icon-button-group/index.js +1 -1
  417. package/dist/components/icon-picker/index.js +1 -1
  418. package/dist/components/image-cropper/index.js +1 -1
  419. package/dist/components/index.d.ts +7 -1
  420. package/dist/components/index.d.ts.map +1 -1
  421. package/dist/components/key-value-pair/index.js +1 -1
  422. package/dist/components/link/link.d.ts +1 -1
  423. package/dist/components/locale-picker/index.js +1 -1
  424. package/dist/components/map-view/index.js +1 -1
  425. package/dist/components/matrix-rain/matrix-rain.d.ts +1 -1
  426. package/dist/components/message-card/index.js +1 -1
  427. package/dist/components/message-card/message-card.d.ts +1 -1
  428. package/dist/components/message-tray/index.js +1 -1
  429. package/dist/components/muscle-scheme/index.js +1 -1
  430. package/dist/components/muscle-scheme/muscle-scheme.d.ts.map +1 -1
  431. package/dist/components/notes-panel/index.js +1 -1
  432. package/dist/components/notification-card/index.js +1 -1
  433. package/dist/components/notification-card/notification-card.d.ts +1 -1
  434. package/dist/components/notification-tray/index.js +1 -1
  435. package/dist/components/operator-hero/operator-hero.d.ts +1 -1
  436. package/dist/components/optical-prescription/index.d.ts +4 -2
  437. package/dist/components/optical-prescription/index.d.ts.map +1 -1
  438. package/dist/components/optical-prescription/index.js +29 -26
  439. package/dist/components/optical-prescription/optical-prescription-charts.d.ts +78 -0
  440. package/dist/components/optical-prescription/optical-prescription-charts.d.ts.map +1 -0
  441. package/dist/components/optical-prescription/optical-prescription-data.d.ts +29 -0
  442. package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -1
  443. package/dist/components/optical-prescription/optical-prescription.agent.d.ts.map +1 -1
  444. package/dist/components/optical-prescription/optical-prescription.d.ts +9 -0
  445. package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -1
  446. package/dist/components/patient-details/index.js +1 -1
  447. package/dist/components/patient-search/index.js +1 -1
  448. package/dist/components/patient-search/patient-search.d.ts.map +1 -1
  449. package/dist/components/patient-summary-card/index.js +1 -1
  450. package/dist/components/patient-summary-card/patient-summary-card.d.ts +1 -1
  451. package/dist/components/patient-table/columns.d.ts.map +1 -1
  452. package/dist/components/patient-table/index.js +1 -1
  453. package/dist/components/payment-card/index.js +1 -1
  454. package/dist/components/payment-card/payment-card.d.ts +1 -1
  455. package/dist/components/payment-card/payment-request-card.d.ts +1 -1
  456. package/dist/components/periodontal-chart/index.d.ts +6 -0
  457. package/dist/components/periodontal-chart/index.d.ts.map +1 -0
  458. package/dist/components/periodontal-chart/index.js +22 -0
  459. package/dist/components/periodontal-chart/index.js.map +1 -0
  460. package/dist/components/periodontal-chart/periodontal-chart-data.d.ts +119 -0
  461. package/dist/components/periodontal-chart/periodontal-chart-data.d.ts.map +1 -0
  462. package/dist/components/periodontal-chart/periodontal-chart.agent.d.ts +4 -0
  463. package/dist/components/periodontal-chart/periodontal-chart.agent.d.ts.map +1 -0
  464. package/dist/components/periodontal-chart/periodontal-chart.d.ts +69 -0
  465. package/dist/components/periodontal-chart/periodontal-chart.d.ts.map +1 -0
  466. package/dist/components/periodontal-chart-card/index.js +1 -1
  467. package/dist/components/periodontal-chart-card/periodontal-chart-card.d.ts +1 -1
  468. package/dist/components/periodontal-diagnosis/index.d.ts +6 -0
  469. package/dist/components/periodontal-diagnosis/index.d.ts.map +1 -0
  470. package/dist/components/periodontal-diagnosis/index.js +13 -0
  471. package/dist/components/periodontal-diagnosis/index.js.map +1 -0
  472. package/dist/components/periodontal-diagnosis/periodontal-diagnosis-data.d.ts +30 -0
  473. package/dist/components/periodontal-diagnosis/periodontal-diagnosis-data.d.ts.map +1 -0
  474. package/dist/components/periodontal-diagnosis/periodontal-diagnosis.agent.d.ts +4 -0
  475. package/dist/components/periodontal-diagnosis/periodontal-diagnosis.agent.d.ts.map +1 -0
  476. package/dist/components/periodontal-diagnosis/periodontal-diagnosis.d.ts +44 -0
  477. package/dist/components/periodontal-diagnosis/periodontal-diagnosis.d.ts.map +1 -0
  478. package/dist/components/periodontal-risk-chart/index.d.ts +6 -0
  479. package/dist/components/periodontal-risk-chart/index.d.ts.map +1 -0
  480. package/dist/components/periodontal-risk-chart/index.js +9 -0
  481. package/dist/components/periodontal-risk-chart/index.js.map +1 -0
  482. package/dist/components/periodontal-risk-chart/periodontal-risk-chart.agent.d.ts +4 -0
  483. package/dist/components/periodontal-risk-chart/periodontal-risk-chart.agent.d.ts.map +1 -0
  484. package/dist/components/periodontal-risk-chart/periodontal-risk-chart.d.ts +28 -0
  485. package/dist/components/periodontal-risk-chart/periodontal-risk-chart.d.ts.map +1 -0
  486. package/dist/components/periodontal-risk-chart/periodontal-risk-data.d.ts +47 -0
  487. package/dist/components/periodontal-risk-chart/periodontal-risk-data.d.ts.map +1 -0
  488. package/dist/components/popover/index.js +1 -1
  489. package/dist/components/popover/popover.d.ts +1 -0
  490. package/dist/components/popover/popover.d.ts.map +1 -1
  491. package/dist/components/practice-results/index.js +1 -1
  492. package/dist/components/pregnancy-dating/index.js +1 -1
  493. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  494. package/dist/components/privacy-lock/index.js +1 -1
  495. package/dist/components/product-hub-tray/index.js +1 -1
  496. package/dist/components/product-hub-tray/product-hub-panel.d.ts +1 -1
  497. package/dist/components/public-header/index.js +1 -1
  498. package/dist/components/public-header/public-header.d.ts +1 -1
  499. package/dist/components/public-header/public-header.d.ts.map +1 -1
  500. package/dist/components/radiograph-panel/index.js +1 -1
  501. package/dist/components/radiograph-panel/radiograph-panel.d.ts +2 -2
  502. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  503. package/dist/components/reviews-panel/index.js +1 -1
  504. package/dist/components/rich-text-editor/index.js +1 -1
  505. package/dist/components/select/index.js +1 -1
  506. package/dist/components/select/select.d.ts.map +1 -1
  507. package/dist/components/session-countdown/index.js +1 -1
  508. package/dist/components/sheet/index.js +1 -1
  509. package/dist/components/sidebar/index.js +1 -1
  510. package/dist/components/sidebar/sidebar.d.ts +9 -0
  511. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  512. package/dist/components/sign-document/index.js +1 -1
  513. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  514. package/dist/components/signature-capture/index.js +1 -1
  515. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  516. package/dist/components/signature-field/index.js +1 -1
  517. package/dist/components/signature-field/signature-field.d.ts +7 -0
  518. package/dist/components/signature-field/signature-field.d.ts.map +1 -1
  519. package/dist/components/skeleton-scheme/index.js +1186 -0
  520. package/dist/components/skeleton-scheme/index.js.map +1 -0
  521. package/dist/components/slot-grid/index.js +1 -1
  522. package/dist/components/stat/stat.d.ts +1 -1
  523. package/dist/components/streaming-text/index.js +1 -1
  524. package/dist/components/tabs/index.js +1 -1
  525. package/dist/components/task-tray/index.js +1 -1
  526. package/dist/components/tasks-panel/index.js +1 -1
  527. package/dist/components/theme-toggle/index.js +1 -1
  528. package/dist/components/toast/index.js +1 -1
  529. package/dist/components/token-insert-menu/index.js +1 -1
  530. package/dist/components/tool-rail/index.js +1 -1
  531. package/dist/components/tooth-scheme/index.js +29 -28
  532. package/dist/components/tooth-scheme/index.js.map +1 -1
  533. package/dist/components/transaction-chip/index.js +1 -1
  534. package/dist/components/unit-converter/index.js +1 -1
  535. package/dist/components/warning-stack/index.js +1 -1
  536. package/dist/components/workflow/index.js +1 -1
  537. package/dist/hooks/index.d.ts +2 -0
  538. package/dist/hooks/index.d.ts.map +1 -1
  539. package/dist/hooks/index.js +40 -35
  540. package/dist/hooks/index.js.map +1 -1
  541. package/dist/hooks/use-priority-overflow.d.ts +63 -0
  542. package/dist/hooks/use-priority-overflow.d.ts.map +1 -0
  543. package/dist/hooks/use-visual-viewport-pin.d.ts +32 -0
  544. package/dist/hooks/use-visual-viewport-pin.d.ts.map +1 -0
  545. package/dist/i18n/locales/ar.d.ts +490 -9
  546. package/dist/i18n/locales/ar.d.ts.map +1 -1
  547. package/dist/i18n/locales/ar.js +493 -12
  548. package/dist/i18n/locales/ar.js.map +1 -1
  549. package/dist/i18n/locales/de.d.ts +490 -9
  550. package/dist/i18n/locales/de.d.ts.map +1 -1
  551. package/dist/i18n/locales/de.js +493 -12
  552. package/dist/i18n/locales/de.js.map +1 -1
  553. package/dist/i18n/locales/el.d.ts +490 -9
  554. package/dist/i18n/locales/el.d.ts.map +1 -1
  555. package/dist/i18n/locales/el.js +493 -12
  556. package/dist/i18n/locales/el.js.map +1 -1
  557. package/dist/i18n/locales/en.d.ts +490 -9
  558. package/dist/i18n/locales/en.d.ts.map +1 -1
  559. package/dist/i18n/locales/en.js +493 -12
  560. package/dist/i18n/locales/en.js.map +1 -1
  561. package/dist/i18n/locales/es.d.ts +490 -9
  562. package/dist/i18n/locales/es.d.ts.map +1 -1
  563. package/dist/i18n/locales/es.js +493 -12
  564. package/dist/i18n/locales/es.js.map +1 -1
  565. package/dist/i18n/locales/fr.d.ts +490 -9
  566. package/dist/i18n/locales/fr.d.ts.map +1 -1
  567. package/dist/i18n/locales/fr.js +493 -12
  568. package/dist/i18n/locales/fr.js.map +1 -1
  569. package/dist/i18n/locales/hi.d.ts +490 -9
  570. package/dist/i18n/locales/hi.d.ts.map +1 -1
  571. package/dist/i18n/locales/hi.js +493 -12
  572. package/dist/i18n/locales/hi.js.map +1 -1
  573. package/dist/i18n/locales/it.d.ts +490 -9
  574. package/dist/i18n/locales/it.d.ts.map +1 -1
  575. package/dist/i18n/locales/it.js +493 -12
  576. package/dist/i18n/locales/it.js.map +1 -1
  577. package/dist/i18n/locales/ja.d.ts +490 -9
  578. package/dist/i18n/locales/ja.d.ts.map +1 -1
  579. package/dist/i18n/locales/ja.js +493 -12
  580. package/dist/i18n/locales/ja.js.map +1 -1
  581. package/dist/i18n/locales/nl.d.ts +490 -9
  582. package/dist/i18n/locales/nl.d.ts.map +1 -1
  583. package/dist/i18n/locales/nl.js +493 -12
  584. package/dist/i18n/locales/nl.js.map +1 -1
  585. package/dist/i18n/locales/pl.d.ts +490 -9
  586. package/dist/i18n/locales/pl.d.ts.map +1 -1
  587. package/dist/i18n/locales/pl.js +493 -12
  588. package/dist/i18n/locales/pl.js.map +1 -1
  589. package/dist/i18n/locales/pt.d.ts +490 -9
  590. package/dist/i18n/locales/pt.d.ts.map +1 -1
  591. package/dist/i18n/locales/pt.js +493 -12
  592. package/dist/i18n/locales/pt.js.map +1 -1
  593. package/dist/i18n/locales/ro.d.ts +490 -9
  594. package/dist/i18n/locales/ro.d.ts.map +1 -1
  595. package/dist/i18n/locales/ro.js +493 -12
  596. package/dist/i18n/locales/ro.js.map +1 -1
  597. package/dist/i18n/locales/ru.d.ts +490 -9
  598. package/dist/i18n/locales/ru.d.ts.map +1 -1
  599. package/dist/i18n/locales/ru.js +493 -12
  600. package/dist/i18n/locales/ru.js.map +1 -1
  601. package/dist/i18n/locales/sq.d.ts +490 -9
  602. package/dist/i18n/locales/sq.d.ts.map +1 -1
  603. package/dist/i18n/locales/sq.js +493 -12
  604. package/dist/i18n/locales/sq.js.map +1 -1
  605. package/dist/i18n/locales/sv.d.ts +490 -9
  606. package/dist/i18n/locales/sv.d.ts.map +1 -1
  607. package/dist/i18n/locales/sv.js +493 -12
  608. package/dist/i18n/locales/sv.js.map +1 -1
  609. package/dist/i18n/locales/tr.d.ts +490 -9
  610. package/dist/i18n/locales/tr.d.ts.map +1 -1
  611. package/dist/i18n/locales/tr.js +493 -12
  612. package/dist/i18n/locales/tr.js.map +1 -1
  613. package/dist/i18n/locales/zh.d.ts +490 -9
  614. package/dist/i18n/locales/zh.d.ts.map +1 -1
  615. package/dist/i18n/locales/zh.js +493 -12
  616. package/dist/i18n/locales/zh.js.map +1 -1
  617. package/dist/index.js +872 -809
  618. package/dist/index.js.map +1 -1
  619. package/dist/locales/ar.json +493 -12
  620. package/dist/locales/de.json +493 -12
  621. package/dist/locales/el.json +493 -12
  622. package/dist/locales/en.json +493 -12
  623. package/dist/locales/es.json +493 -12
  624. package/dist/locales/fr.json +493 -12
  625. package/dist/locales/hi.json +493 -12
  626. package/dist/locales/it.json +493 -12
  627. package/dist/locales/ja.json +493 -12
  628. package/dist/locales/nl.json +493 -12
  629. package/dist/locales/pl.json +493 -12
  630. package/dist/locales/pt.json +493 -12
  631. package/dist/locales/ro.json +493 -12
  632. package/dist/locales/ru.json +493 -12
  633. package/dist/locales/sq.json +493 -12
  634. package/dist/locales/sv.json +493 -12
  635. package/dist/locales/tr.json +493 -12
  636. package/dist/locales/zh.json +493 -12
  637. package/dist/patterns/alia-assistant/index.js +1 -1
  638. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  639. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +1 -1
  640. package/dist/patterns/signature-request/index.d.ts +3 -0
  641. package/dist/patterns/signature-request/index.d.ts.map +1 -0
  642. package/dist/patterns/signature-request/index.js +5 -0
  643. package/dist/patterns/signature-request/index.js.map +1 -0
  644. package/dist/patterns/signature-request/signature-request.d.ts +81 -0
  645. package/dist/patterns/signature-request/signature-request.d.ts.map +1 -0
  646. package/dist/tokens.css +2 -2
  647. package/package.json +32 -4
  648. package/dist/_chunks/benefit-card-Xnxj4Gmo.js.map +0 -1
  649. package/dist/_chunks/button-DD_0Xdmr.js.map +0 -1
  650. package/dist/_chunks/button-group-CvEnVzY7.js +0 -119
  651. package/dist/_chunks/button-group-CvEnVzY7.js.map +0 -1
  652. package/dist/_chunks/columns-2-8lq4-b8e.js.map +0 -1
  653. package/dist/_chunks/document-scanner-B23j4w7X.js.map +0 -1
  654. package/dist/_chunks/face-scheme-BT9_KdL0.js +0 -1450
  655. package/dist/_chunks/face-scheme-BT9_KdL0.js.map +0 -1
  656. package/dist/_chunks/file-upload-Kw1rdvFw.js.map +0 -1
  657. package/dist/_chunks/finished-terminal-Di4gtZ50.js.map +0 -1
  658. package/dist/_chunks/freemium-paywall-DFoeedwh.js.map +0 -1
  659. package/dist/_chunks/header-DaXWDw0M.js.map +0 -1
  660. package/dist/_chunks/icon-button-group-C48khLE0.js +0 -206
  661. package/dist/_chunks/icon-button-group-C48khLE0.js.map +0 -1
  662. package/dist/_chunks/insert-result-C7xSDb8q.js.map +0 -1
  663. package/dist/_chunks/link-cell-renderer-BCppbMec.js +0 -2185
  664. package/dist/_chunks/link-cell-renderer-BCppbMec.js.map +0 -1
  665. package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js.map +0 -1
  666. package/dist/_chunks/optical-prescription-Bmlbuopi.js +0 -653
  667. package/dist/_chunks/optical-prescription-Bmlbuopi.js.map +0 -1
  668. package/dist/_chunks/patient-search-X9SUZGpy.js.map +0 -1
  669. package/dist/_chunks/patient-shell-oiIRqEAl.js +0 -162
  670. package/dist/_chunks/patient-shell-oiIRqEAl.js.map +0 -1
  671. package/dist/_chunks/patient-table-BgWgNIMf.js.map +0 -1
  672. package/dist/_chunks/public-header.agent-C-opZaOw.js.map +0 -1
  673. package/dist/_chunks/radiograph-panel.agent-D1x33moc.js.map +0 -1
  674. package/dist/_chunks/rich-text-editor-DUgznqOf.js.map +0 -1
  675. package/dist/_chunks/sidebar-B0OBmJrC.js.map +0 -1
  676. package/dist/_chunks/signature-capture-Ct_4Md4e.js.map +0 -1
  677. package/dist/_chunks/signature-field-jgwYgUhO.js.map +0 -1
  678. package/dist/_chunks/subDays-DGSOp9d9.js +0 -8
  679. package/dist/_chunks/tooth-scheme-D_rso4uu.js +0 -2133
  680. package/dist/_chunks/tooth-scheme-D_rso4uu.js.map +0 -1
  681. package/dist/_chunks/transaction-chip-B6iWoVmU.js.map +0 -1
  682. package/dist/patterns/patient-shell/index.d.ts +0 -12
  683. package/dist/patterns/patient-shell/index.d.ts.map +0 -1
  684. package/dist/patterns/patient-shell/index.js +0 -5
  685. package/dist/patterns/patient-shell/patient-shell.d.ts +0 -62
  686. package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
  687. /package/dist/{patterns/patient-shell → components/data-table-tabs}/index.js.map +0 -0
@@ -1,1450 +0,0 @@
1
- import { jsxs as T, jsx as g } from "react/jsx-runtime";
2
- import { forwardRef as At, useId as Tt, useRef as _, useState as X, useCallback as k, useMemo as nt, useEffect as Ie, useImperativeHandle as _t } from "react";
3
- import * as ae from "@radix-ui/react-tooltip";
4
- import { c as It } from "./index-D2ZczOXr.js";
5
- import { useTranslation as Zt } from "react-i18next";
6
- import { u as Ot } from "./registry-DvAUVLHh.js";
7
- import { m as jt, A as $t } from "./annotation-marker-qt5R9WZX.js";
8
- import { B as ie } from "./button-DD_0Xdmr.js";
9
- import { S as zt } from "./slider-DN1CWkKB.js";
10
- import { R as Dt } from "./radio-TWf9Q-mp.js";
11
- import { R as Pt } from "./radio-group-CI-6SmSw.js";
12
- const se = {
13
- type: "string",
14
- description: "Face-zone id (e.g. 'glabella', 'nasolabialFold', 'forehead', 'mandibularAngleLeft' on the front view; 'cheekbone', 'masseter', 'chin' on a profile view)."
15
- }, Ut = {
16
- type: "string",
17
- enum: ["front", "profile-left", "profile-right"],
18
- description: "Active view id: 'front', 'profile-left', or 'profile-right'."
19
- }, ve = {
20
- enum: ["observation", "treatment", "concern", "note"]
21
- }, Bt = {
22
- id: "face-scheme",
23
- // pick — focus a zone (transient); set_value / edit_inline — record / clear
24
- // findings on a zone; view_change — switch the active view (front / left /
25
- // right profile), since each view renders a different zone set. Registration
26
- // (the photo fit) is exposed only as the auto-align action.
27
- capabilities: ["pick", "set_value", "edit_inline", "view_change"],
28
- state: {
29
- activeView: {
30
- // Which view is mounted — it determines which zones are in the DOM, so an
31
- // agent must read this before focus_zone on a profile-only zone.
32
- type: "string",
33
- descriptionKey: "ui.agent.faceScheme.state.activeView",
34
- description: "Id of the currently displayed view (front / profile-left / profile-right).",
35
- read: (t) => t.getView()
36
- },
37
- chart: {
38
- // A9: identifiers + finding ENUMS only — never the free-text finding
39
- // `note` (PHI) and never the patient-photo `src`. Notes are written but
40
- // never read back through the snapshot.
41
- type: "Record<string, string[]>",
42
- descriptionKey: "ui.agent.faceScheme.state.chart",
43
- description: "Current face chart — the finding types recorded on each zone, keyed by zone id. Free-text notes and the patient photo are not exposed here.",
44
- read: (t) => Object.fromEntries(
45
- Object.entries(t.getChart()).map(([n, c]) => [
46
- n,
47
- c.map((o) => o.type)
48
- ])
49
- )
50
- },
51
- markedZones: {
52
- type: "string[]",
53
- descriptionKey: "ui.agent.faceScheme.state.markedZones",
54
- description: "Zone ids carrying at least one finding.",
55
- read: (t) => Object.keys(t.getChart())
56
- }
57
- },
58
- actions: {
59
- focus_zone: {
60
- safety: "read",
61
- argsType: "{ id: string }",
62
- argsSchema: {
63
- type: "object",
64
- properties: { id: se },
65
- required: ["id"]
66
- },
67
- idempotent: !0,
68
- descriptionKey: "ui.agent.faceScheme.actions.focusZone",
69
- description: "Move focus to a specific face zone by id.",
70
- invoke: (t, n) => {
71
- t.focusZone(n.id);
72
- }
73
- },
74
- get_zone: {
75
- safety: "read",
76
- argsType: "{ id: string }",
77
- argsSchema: {
78
- type: "object",
79
- properties: { id: se },
80
- required: ["id"]
81
- },
82
- returns: "string[]",
83
- returnsSchema: { type: "array", items: ve },
84
- idempotent: !0,
85
- descriptionKey: "ui.agent.faceScheme.actions.getZone",
86
- description: "Read the finding types recorded on one zone (notes are not returned).",
87
- invoke: (t, n) => t.getZone(n.id).map((c) => c.type)
88
- },
89
- zones_with: {
90
- safety: "read",
91
- argsType: "{ finding: FaceFindingType }",
92
- argsSchema: {
93
- type: "object",
94
- properties: { finding: ve },
95
- required: ["finding"]
96
- },
97
- returns: "string[]",
98
- returnsSchema: { type: "array", items: se },
99
- idempotent: !0,
100
- descriptionKey: "ui.agent.faceScheme.actions.zonesWith",
101
- description: "List the zone ids carrying a given finding type.",
102
- invoke: (t, n) => t.zonesWith(n.finding)
103
- },
104
- set_finding: {
105
- safety: "write",
106
- argsType: "{ id: string; finding: FaceFindingType; note?: string }",
107
- argsSchema: {
108
- type: "object",
109
- properties: {
110
- id: se,
111
- finding: ve,
112
- note: { type: "string" }
113
- },
114
- required: ["id", "finding"]
115
- },
116
- idempotent: !0,
117
- descriptionKey: "ui.agent.faceScheme.actions.setFinding",
118
- description: "Record a finding on a zone, with an optional free-text note.",
119
- invoke: (t, n) => {
120
- t.setFinding(n.id, n.finding, n.note);
121
- }
122
- },
123
- remove_finding: {
124
- safety: "write",
125
- argsType: "{ id: string; finding: FaceFindingType }",
126
- argsSchema: {
127
- type: "object",
128
- properties: { id: se, finding: ve },
129
- required: ["id", "finding"]
130
- },
131
- idempotent: !0,
132
- descriptionKey: "ui.agent.faceScheme.actions.removeFinding",
133
- description: "Remove a single finding from a zone.",
134
- invoke: (t, n) => {
135
- t.removeFinding(n.id, n.finding);
136
- }
137
- },
138
- clear_zone: {
139
- safety: "destructive",
140
- argsType: "{ id: string }",
141
- argsSchema: {
142
- type: "object",
143
- properties: { id: se },
144
- required: ["id"]
145
- },
146
- idempotent: !0,
147
- descriptionKey: "ui.agent.faceScheme.actions.clearZone",
148
- description: "Clear every finding from a zone.",
149
- invoke: (t, n) => {
150
- t.clearZone(n.id);
151
- }
152
- },
153
- auto_align: {
154
- safety: "write",
155
- argsType: "{}",
156
- argsSchema: { type: "object", properties: {} },
157
- idempotent: !0,
158
- descriptionKey: "ui.agent.faceScheme.actions.autoAlign",
159
- description: "Run the on-device detector to align the zone overlay to the patient photo (works on the active view — front or profile). No-op if detection is disabled or no face is found.",
160
- invoke: (t) => {
161
- t.detect();
162
- }
163
- },
164
- set_view: {
165
- safety: "write",
166
- argsType: "{ view: FaceViewId }",
167
- argsSchema: {
168
- type: "object",
169
- properties: { view: Ut },
170
- required: ["view"]
171
- },
172
- idempotent: !0,
173
- descriptionKey: "ui.agent.faceScheme.actions.setView",
174
- description: "Switch the active view ('front' / 'profile-left' / 'profile-right'). Each view renders a different zone set, so switch before focusing a zone that belongs to another view.",
175
- invoke: (t, n) => {
176
- t.setView(n.view);
177
- }
178
- }
179
- },
180
- domHooks: {
181
- root: { attr: "data-component", value: "face-scheme" },
182
- instanceId: {
183
- attr: "data-component-id",
184
- sourceProp: "id",
185
- description: "Sourced from the id prop."
186
- },
187
- item: {
188
- attr: "data-zone",
189
- description: "Each clickable zone `<g>` carries its zone id as `data-zone` (plus `data-side` for the anatomical side). The root `<div>` carries the active view id as `data-view` — only the zones for the active view are in the DOM."
190
- }
191
- }
192
- }, Wt = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.18/vision_bundle.mjs", Vt = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.18/wasm", Yt = "https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task", Ht = {
193
- "right-eye": [33, 133],
194
- // subject's right eye, outer + inner corners
195
- "left-eye": [263, 362],
196
- // subject's left eye, outer + inner corners
197
- "nose-tip": [1],
198
- chin: [152],
199
- // Midline cephalometric points — the profile views fit on these (the detector
200
- // tracks them on a side profile even though the contralateral side is
201
- // occluded). The front view ignores ids it has no landmark for.
202
- nasion: [168],
203
- // bridge of the nose, between the brows
204
- subnasale: [2]
205
- // base of the nose / top of the philtrum
206
- }, Ze = /* @__PURE__ */ new Map();
207
- function Xt(t, n, c, o) {
208
- const d = `${t}|${n}|${c}`, s = Ze.get(d);
209
- if (s) return s;
210
- o == null || o("loading");
211
- const u = (async () => {
212
- const l = await import(
213
- /* @vite-ignore */
214
- t
215
- ), f = await l.FilesetResolver.forVisionTasks(n);
216
- return l.FaceLandmarker.createFromOptions(f, {
217
- baseOptions: { modelAssetPath: c, delegate: "GPU" },
218
- runningMode: "IMAGE",
219
- numFaces: 1
220
- });
221
- })();
222
- return Ze.set(d, u), u.catch(() => Ze.delete(d)), u;
223
- }
224
- function qt(t) {
225
- const n = new Image();
226
- return n.crossOrigin = "anonymous", n.src = t, n.decode().then(() => n);
227
- }
228
- async function Gt(t, n) {
229
- if (typeof window > "u" || typeof Image > "u")
230
- throw new Error("detectFaceLandmarks runs in the browser only.");
231
- const {
232
- viewWidth: c,
233
- viewHeight: o,
234
- visionModuleUrl: d = Wt,
235
- wasmBaseUrl: s = Vt,
236
- modelAssetPath: u = Yt,
237
- onStage: l
238
- } = n, [f, m] = await Promise.all([
239
- qt(t),
240
- Xt(d, s, u, l)
241
- ]);
242
- l == null || l("detecting");
243
- const x = m.detect(f).faceLandmarks[0];
244
- if (!x || x.length === 0) return null;
245
- const y = f.naturalWidth || f.width, C = f.naturalHeight || f.height, p = Math.max(c / y, o / C), N = (c - y * p) / 2, z = (o - C * p) / 2, K = (E) => ({
246
- x: N + E.x * y * p,
247
- y: z + E.y * C * p
248
- }), R = [];
249
- for (const [E, I] of Object.entries(Ht)) {
250
- let Z = 0, V = 0, D = 0;
251
- for (const q of I) {
252
- const Y = x[q];
253
- if (!Y) continue;
254
- const h = K(Y);
255
- Z += h.x, V += h.y, D++;
256
- }
257
- D > 0 && R.push({ id: E, photo: { x: Z / D, y: V / D } });
258
- }
259
- return R.length >= 3 ? R : null;
260
- }
261
- const Jt = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/ort.min.mjs", Qt = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/", L = 640, en = [8, 16, 32], tn = [
262
- "right-eye",
263
- "left-eye",
264
- "nose-tip",
265
- "mouth-right",
266
- "mouth-left"
267
- ], Oe = /* @__PURE__ */ new Map();
268
- async function nn(t, n, c, o) {
269
- const d = `${t}|${n}|${c}`, s = Oe.get(d);
270
- if (s) return s;
271
- o == null || o("loading");
272
- const u = (async () => {
273
- const l = await import(
274
- /* @vite-ignore */
275
- t
276
- );
277
- l.env.wasm.wasmPaths = n, l.env.wasm.numThreads = 1, l.env.logLevel = "error";
278
- const f = new Uint8Array(await (await fetch(c)).arrayBuffer()), m = await l.InferenceSession.create(f, {
279
- executionProviders: ["wasm"]
280
- });
281
- return { ort: l, session: m };
282
- })();
283
- return Oe.set(d, u), u.catch(() => Oe.delete(d)), u;
284
- }
285
- function rn(t) {
286
- const n = new Image();
287
- return n.crossOrigin = "anonymous", n.src = t, n.decode().then(() => n);
288
- }
289
- async function an() {
290
- return (await import("./face_detection_yunet_2023mar-BnsRs4bD.js")).default;
291
- }
292
- function sn(t, n) {
293
- const c = n.naturalWidth || n.width, o = n.naturalHeight || n.height, d = Math.min(L / c, L / o), s = Math.round(c * d), u = Math.round(o * d), l = Math.floor((L - s) / 2), f = Math.floor((L - u) / 2), m = document.createElement("canvas");
294
- m.width = L, m.height = L;
295
- const w = m.getContext("2d");
296
- if (!w) throw new Error("2D canvas context unavailable.");
297
- w.fillRect(0, 0, L, L), w.drawImage(n, l, f, s, u);
298
- const { data: x } = w.getImageData(0, 0, L, L), y = L * L, C = new Float32Array(3 * y);
299
- for (let p = 0; p < y; p++)
300
- C[p] = x[p * 4 + 2], C[y + p] = x[p * 4 + 1], C[2 * y + p] = x[p * 4];
301
- return {
302
- tensor: new t("float32", C, [1, 3, L, L]),
303
- scale: d,
304
- padX: l,
305
- padY: f
306
- };
307
- }
308
- const rt = (t) => 1 / (1 + Math.exp(-t));
309
- function cn(t, n) {
310
- let c = !1;
311
- const o = t.cls_8.data;
312
- for (let s = 0; s < Math.min(o.length, 256); s++)
313
- if (o[s] < 0 || o[s] > 1) {
314
- c = !0;
315
- break;
316
- }
317
- let d = null;
318
- for (const s of en) {
319
- const u = t[`cls_${s}`].data, l = t[`obj_${s}`].data, f = t[`kps_${s}`].data, m = L / s, w = L / s, x = m * w;
320
- for (let y = 0; y < x; y++) {
321
- let C = u[y], p = l[y];
322
- c && (C = rt(C), p = rt(p)), C = Math.min(Math.max(C, 0), 1), p = Math.min(Math.max(p, 0), 1);
323
- const N = Math.sqrt(C * p);
324
- if (N < n || d && N <= d.score) continue;
325
- const z = y % m, K = Math.floor(y / m), R = [];
326
- for (let E = 0; E < 5; E++)
327
- R.push([
328
- (z + f[y * 10 + 2 * E]) * s,
329
- (K + f[y * 10 + 2 * E + 1]) * s
330
- ]);
331
- d = { score: N, keypoints: R };
332
- }
333
- }
334
- return d;
335
- }
336
- async function on(t, n) {
337
- if (typeof window > "u" || typeof Image > "u")
338
- throw new Error("detectFaceYuNet runs in the browser only.");
339
- const {
340
- viewWidth: c,
341
- viewHeight: o,
342
- ortModuleUrl: d = Jt,
343
- ortWasmBaseUrl: s = Qt,
344
- modelUrl: u = await an(),
345
- scoreThreshold: l = 0.6,
346
- onStage: f
347
- } = n, [m, { ort: w, session: x }] = await Promise.all([
348
- rn(t),
349
- nn(d, s, u, f)
350
- ]);
351
- f == null || f("detecting");
352
- const { tensor: y, scale: C, padX: p, padY: N } = sn(w.Tensor, m), z = await x.run({ [x.inputNames[0]]: y }), K = cn(z, l);
353
- if (!K) return null;
354
- const R = m.naturalWidth || m.width, E = m.naturalHeight || m.height, I = Math.max(c / R, o / E), Z = (c - R * I) / 2, V = (o - E * I) / 2;
355
- return K.keypoints.map(([D, q], Y) => {
356
- const h = (D - p) / C, ce = (q - N) / C;
357
- return {
358
- id: tn[Y],
359
- photo: {
360
- x: Z + h * I,
361
- y: V + ce * I
362
- }
363
- };
364
- });
365
- }
366
- const je = "0 0 808 944", $e = { x: 404, y: 472 }, ut = {
367
- id: "faceContour",
368
- labelKey: "faceContour",
369
- d: "M688.38,439.4c-9.78,0-15.37,4.04-17.86,6.47,1.31-10.99,2.5-20.62,3.49-28.2,7.55-57.89,5.03-94.39,5.03-94.39-15.15-165.92-111.73-221.46-186.21-239.39h0s-.1-.02-.1-.02c-6.18-1.49-12.21-2.72-18.02-3.73l-.96-.2c-46.02-9.51-93.5-9.51-139.52,0l-.95.2c-5.82,1.01-11.85,2.24-18.04,3.73l-.08.02h0c-74.48,17.94-171.06,73.48-186.21,239.39,0,0-2.52,36.5,5.03,94.39,1,7.68,2.2,17.45,3.53,28.61-2.25-2.35-7.91-6.88-18.26-6.88-13.97,0-29.06,16.21-20.12,63.71,8.94,47.5,17.3,80.48,18.43,97.24,1.11,16.47,24.08,47.91,41.43,38.23.9,8.33,1.42,13.17,1.42,13.17,0,0,8.81,59.15,56.63,104.46,12.62,11.95,25.84,23.46,38.49,33.94,7.14-4.56,24-16.96,29.06-35.21.9-3.24,1.73-6.33,2.52-9.29,2.46-9.17,4.59-17.1,7.4-24.46,3.44-9.01,7.62-16.28,13.25-23.04-47.54-46.57-49.82-89.3-48.75-104.93-21.75-2.47-38.06-19.4-47.37-49.37-7.27-23.39-7.77-46.39-7.79-47.36-.02-1.34.43-2.57,1.21-3.54-.47-2.21-.65-3.58-.67-3.77-.28-2.23.97-4.38,3.05-5.24.34-.14.69-.23,1.04-.29.47-3.26,2.23-10.86,8.8-18.21,10.82-12.11,28.95-17.92,53.93-17.22,41.5,1.13,55.11,17.49,59.58,28.15,1.45.85,2.49,2.34,2.68,4.14,0,.05.02.21.05.45.22.48.36,1,.42,1.56.04.41.34,3.71.16,8.68.17,6.11.1,14.39-.75,23.68-.27,2.9-.6,5.73-.98,8.49,4.1-9.94,7.68-20.29,11.15-30.32l.31-.89-10.84-54.18c-2.15-3.39-8.76-12.5-21.75-19.51-21.63-11.68-51.16-12.3-85.4-1.8-2.58.79-5.32-.61-6.19-3.16l-53.03-154.45c-.88-1.09-1.31-2.52-1.05-4.01.26-1.43,6.68-35.35,39.46-69.52,19.15-19.96,43.37-35.84,72.01-47.21,35.3-14.02,77.45-21.18,125.28-21.27h0s.98,0,.98,0c47.83.1,89.98,7.25,125.28,21.27,28.63,11.37,52.86,27.26,72.01,47.21,30.62,31.92,38.24,63.61,39.32,68.82.29.8.42,1.35.47,1.59.17.87.11,1.77-.17,2.61l-53.21,154.96c-.88,2.55-3.62,3.95-6.19,3.16-34.24-10.5-63.77-9.88-85.4,1.8-11.42,6.17-17.92,13.96-20.78,18.06l-11.25,56.25.04.11c2.95,8.52,5.98,17.28,9.34,25.81-.14-1.26-.28-2.53-.4-3.82-.53-5.79-.75-11.19-.81-15.92-1.11-9.09-.51-15.85-.45-16.44.11-1.1.59-2.08,1.3-2.85.19-.72.52-1.37.96-1.94,3.86-10.54,16.77-28.3,60.04-29.48,24.93-.69,43.04,5.1,53.85,17.2,6.53,7.3,8.3,14.85,8.78,18.13.53.04,1.05.16,1.56.37,2.08.86,3.32,3.01,3.05,5.24-.02.14-.12.93-.37,2.25,1.7.96,2.84,2.8,2.8,4.89-.02.97-.52,23.97-7.79,47.36-8.99,28.91-24.49,45.69-45.11,49.05,1.16,15.29-.68,58.78-49.42,106.1,5.35,6.56,9.36,13.63,12.68,22.33,2.81,7.36,4.94,15.28,7.4,24.45.79,2.96,1.62,6.05,2.52,9.29,5.07,18.28,21.97,30.69,29.09,35.23,12.65-10.48,25.88-21.99,38.5-33.95,47.82-45.31,56.63-104.46,56.63-104.46,0,0,.51-4.77,1.4-13,17.31,9.1,39.99-22.04,41.09-38.41,1.13-16.77,9.49-49.74,18.43-97.24,8.94-47.5-6.15-63.71-20.12-63.71Z"
370
- }, dn = [
371
- {
372
- id: "lateralNeckRight",
373
- labelKey: "lateralNeckRight",
374
- d: "M234.37,783.6s32.84,133.08,163.93,137.04v-48.41s-103.52,3.15-163.93-88.63Z",
375
- cx: 316,
376
- cy: 852,
377
- side: "right"
378
- },
379
- {
380
- id: "lateralNeckLeft",
381
- labelKey: "lateralNeckLeft",
382
- d: "M572.98,783.6s-32.84,133.08-163.93,137.04v-48.41s103.52,3.15,163.93-88.63Z",
383
- cx: 491,
384
- cy: 852,
385
- side: "left"
386
- },
387
- {
388
- id: "forehead",
389
- labelKey: "forehead",
390
- d: "M404,206.87s-.1,0-.14,0h-1.06s-.09,0-.14,0c-193.61.2-222.63,42.82-226.18,50.14l51.08,148.75c44.34-12.51,72.83-4.7,89.09,4.28,11.9,6.57,19.12,14.63,22.86,19.75,9.12-6.42,21.26-11.05,36.17-13.79,13.2-2.43,24.31-2.56,27.4-2.54.05,0,.1,0,.16,0h.04s.07,0,.11,0h.04c.2,0,.4,0,.64,0,3.65,0,14.33.22,26.92,2.54,14.91,2.74,27.05,7.37,36.17,13.79,3.74-5.12,10.96-13.18,22.86-19.75,16.26-8.98,44.75-16.79,89.09-4.28l51.08-148.75c-3.54-7.32-32.57-49.94-226.18-50.14Z",
391
- cx: 403,
392
- cy: 318,
393
- side: "midline"
394
- },
395
- {
396
- id: "glabella",
397
- labelKey: "glabella",
398
- d: "M403.28,472.75s.03,0,.04,0c.11,0,.22,0,.34,0,.11,0,.22,0,.34,0,.02,0,.03,0,.04,0,28.06.09,43.26,5.62,51.09,10.26l8.65-43.23c-19.58-15.79-54.78-16.31-59.89-16.33-.13,0-.27,0-.4,0h-.16s-.16,0-.16,0c-.13,0-.27,0-.4,0-5.09-.02-39.63.51-59.32,15.85l8.74,43.71c7.83-4.64,23.03-10.17,51.09-10.26Z",
399
- cx: 404,
400
- cy: 453,
401
- side: "midline"
402
- },
403
- {
404
- id: "nasalBase",
405
- labelKey: "nasalBase",
406
- d: "M403.9,608.63c-.19.02-.38.06-.58.06-34.25,0-47.76,9.72-52.65,15.19-.02.21-.05.42-.1.62,10.07,8.84,28.11,13.48,52.75,13.48.15,0,.29.03.43.04.15-.01.29-.04.43-.04,24.98,0,43.18-4.76,53.17-13.83-4.69-5.41-18.09-15.46-52.89-15.46-.2,0-.38-.04-.58-.06Z",
407
- cx: 404,
408
- cy: 623,
409
- side: "midline"
410
- },
411
- {
412
- id: "nasolabialFold",
413
- labelKey: "nasolabialFold",
414
- d: "M347.77,580.98c-2.28,3.78-4.09,6.76-5.04,9.96-1.38,4.58-3.68,15.46,1.36,25.35,7.25-7.51,23.63-17.61,59.24-17.61.2,0,.38.04.58.06.19-.02.38-.06.58-.06,35.31,0,51.71,9.93,59.05,17.42,4.92-9.84,2.63-20.61,1.27-25.17-.96-3.19-2.76-6.18-5.04-9.96-5.23-8.65-12.39-20.5-14.97-45.03-2.34-22.26,2.15-36.18,6.11-43.75-5.65-3.61-19.1-9.4-47.23-9.45-27.9.05-41.36,5.75-47.09,9.36,3.98,7.55,8.51,21.49,6.16,43.84-2.58,24.53-9.74,36.38-14.97,45.03Z",
415
- cx: 404,
416
- cy: 550,
417
- side: "midline"
418
- },
419
- {
420
- id: "medialCheekboneRight",
421
- labelKey: "medialCheekboneRight",
422
- d: "M310.99,528.29c6.75-7.41,10.08-16.87,11.7-25.19-.55.67-1.13,1.34-1.73,2.02-11.93,13.41-27.69,20.63-45.58,20.88-24.57.33-43.87-10.86-55.92-20.57,6.83,15.71,22.29,36.28,56.41,36.28,15.2,0,27.02-4.51,35.12-13.42Z",
423
- cx: 271,
424
- cy: 522,
425
- side: "right"
426
- },
427
- {
428
- id: "medialCheekboneLeft",
429
- labelKey: "medialCheekboneLeft",
430
- d: "M529.65,526c-17.89-.25-33.66-7.47-45.58-20.88-.48-.54-.94-1.08-1.39-1.62.02.49.04.99.06,1.49,1.74,7.84,5.06,16.45,11.3,23.3,8.11,8.9,19.92,13.42,35.12,13.42,34.11,0,49.57-20.57,56.41-36.28-12.05,9.71-31.35,20.9-55.92,20.57Z",
431
- cx: 534,
432
- cy: 523,
433
- side: "left"
434
- },
435
- {
436
- id: "lateralCheekLeft",
437
- labelKey: "lateralCheekLeft",
438
- d: "M540.15,593.37c-18.18-.45-32.31-6.73-43.63-16.5-1.18-.24-2.29-.88-3.12-1.88-1.11-1.34-2.16-2.75-3.18-4.2-15.93-17.11-25.66-41.5-33.74-64.38-1.86,6.64-3.07,15.9-1.75,28.49,2.35,22.31,8.58,32.62,13.58,40.91,2.44,4.04,4.74,7.85,6.06,12.26,1.9,6.35,5.16,22.19-4,36.16,7.6,9.08,23.47,31.53,26.94,63.94,25.78-26.28,36.07-50.77,40.13-67.19,3.11-12.6,3.1-22.36,2.72-27.61Z",
439
- cx: 497,
440
- cy: 597,
441
- side: "left"
442
- },
443
- {
444
- id: "lateralCheekRight",
445
- labelKey: "lateralCheekRight",
446
- d: "M350.8,505.59c-14.12,40.11-33.1,85.3-81.73,87.86-.37,5.26-.37,15,2.72,27.53,4.02,16.29,14.18,40.52,39.5,66.55,3.52-31.28,18.56-53.18,26.31-62.61-9.73-14.13-6.4-30.4-4.46-36.85,1.32-4.41,3.62-8.22,6.06-12.26,5-8.29,11.23-18.6,13.58-40.91,1.38-13.12,0-22.63-1.99-29.32Z",
447
- cx: 311,
448
- cy: 597,
449
- side: "right"
450
- },
451
- {
452
- id: "zygomaticArchRight",
453
- labelKey: "zygomaticArchRight",
454
- d: "M319.21,534.06c-.26.3-.51.61-.78.91-10.08,11.1-24.4,16.73-42.56,16.73-30.94,0-48.47-15.12-58-28.84,4.69,25.35,16.61,59.69,46.82,59.69,16.21,0,28.81-5.46,38.96-14.31.06-.09.11-.18.18-.26,7.83-9.48,12.57-21.69,15.39-33.93Z",
455
- cx: 269,
456
- cy: 553,
457
- side: "right"
458
- },
459
- {
460
- id: "zygomaticArchLeft",
461
- labelKey: "zygomaticArchLeft",
462
- d: "M542.24,582.4c31.74,0,43.29-37.91,47.48-63.47-.28.46-.57.93-.86,1.4-9.09,14.32-26.82,31.38-59.69,31.38-18.08,0-32.36-5.59-42.43-16.6,2.41,10.07,6.15,20.06,11.85,28.48,10.9,11.46,24.85,18.81,43.65,18.81Z",
463
- cx: 538,
464
- cy: 551,
465
- side: "left"
466
- },
467
- {
468
- id: "upperForehead",
469
- labelKey: "upperForehead",
470
- d: "M524.46,147.46c-34.16-13.49-75.08-20.35-121.64-20.4-46.56.05-87.49,6.91-121.64,20.4-27.26,10.76-50.3,25.76-68.48,44.56-15.39,15.91-24.67,31.94-30.13,44.09,4.92-3.6,11.3-7.4,19.61-11.17,40.86-18.52,108.25-27.96,200.32-28.07.05,0,.11,0,.16,0h.68s.68,0,.68,0c.05,0,.11,0,.16,0,92.07.1,159.46,9.55,200.32,28.07,7.48,3.39,13.39,6.81,18.08,10.08-5.52-12-14.69-27.55-29.63-43-18.18-18.8-41.22-33.79-68.48-44.56Z",
471
- cx: 403,
472
- cy: 182,
473
- side: "midline"
474
- },
475
- {
476
- id: "marionetteLines",
477
- labelKey: "marionetteLines",
478
- d: "M344.66,676.82c23.78-8.45,44.18-6.91,59.31,4.4,15.13-11.32,35.54-12.87,59.33-4.41,9.61,3.41,17.99,7.81,23.93,11.32-3.32-27.6-16.56-47.44-23.55-56.2-11.99,10.66-31.94,16.05-59.49,16.05-.15,0-.29-.03-.43-.04-.15.01-.29.04-.43.04-27.09,0-46.83-5.21-58.88-15.52-7.05,8.98-19.76,28.44-23.08,55.31,5.9-3.44,14.03-7.65,23.29-10.94Z",
479
- cx: 404,
480
- cy: 660,
481
- side: "midline"
482
- },
483
- {
484
- id: "lowerLip",
485
- labelKey: "lowerLip",
486
- d: "M487.84,709.63c-4.92,5.03-11.64,11.3-19.65,17.27-17.67,13.18-35.13,19.92-51.28,19.92-4.52,0-8.94-.53-13.23-1.6-4.29,1.06-8.71,1.6-13.23,1.6-16.15,0-33.61-6.74-51.28-19.92-7.36-5.49-13.63-11.23-18.42-16.03,1.76,38.11,15.57,71.15,82.56,71.15.33,0,.64.04.95.1.31-.06.62-.1.95-.1,67.72,0,81.09-33.76,82.62-72.39Z",
487
- cx: 404,
488
- cy: 746,
489
- side: "midline"
490
- },
491
- {
492
- id: "lipCommissures",
493
- labelKey: "lipCommissures",
494
- d: "M407.45,691.27c-.9.8-2.02,1.19-3.13,1.23-1.34.13-2.72-.26-3.8-1.22-22.23-19.67-55.63-5.3-72.53,4.24,11.5,1.38,25.87,2.57,31.61,1.13,6.72-1.68,12.32.35,18.25,2.5,6.08,2.2,13.64,4.94,25.48,4.98,11.85-.04,19.41-2.78,25.48-4.98,5.93-2.15,11.53-4.18,18.25-2.5,5.93,1.48,21.03.17,32.69-1.26-16.96-9.54-50.17-23.72-72.31-4.13Z",
495
- cx: 404,
496
- cy: 688,
497
- side: "midline"
498
- },
499
- {
500
- id: "upperLip",
501
- labelKey: "upperLip",
502
- d: "M444.65,706.36c-3.59-.9-6.73.14-12.42,2.2-6.4,2.32-15.13,5.47-28.52,5.57-.03,0-.06,0-.09,0-.09,0-.18,0-.28,0-.09,0-.18,0-.28,0-.03,0-.06,0-.09,0-13.39-.1-22.12-3.25-28.52-5.57-5.69-2.06-8.83-3.1-12.42-2.2-6.87,1.72-20.85.72-32.07-.53,15.47,14.96,44.16,37.13,72.34,29.42.46-.13.93-.16,1.39-.15.46,0,.93.03,1.4.15,28.22,7.72,56.98-14.55,72.43-29.5-11.35,1.29-25.82,2.37-32.86.61Z",
503
- cx: 404,
504
- cy: 724,
505
- side: "midline"
506
- },
507
- {
508
- id: "submental",
509
- labelKey: "submental",
510
- d: "M402.47,796.81c-31.67.12-55.93,8.97-72.11,26.31-5.47,5.87-9.06,11.79-11.35,16.53.85.63,1.68,1.27,2.5,1.95,4.99,4.16,26.68,19.07,81.31,19.07s76.32-14.91,81.31-19.07c.65-.54,1.31-1.06,1.98-1.57-2.28-4.8-5.91-10.88-11.53-16.91-16.17-17.35-40.44-26.19-72.11-26.31Z",
511
- cx: 403,
512
- cy: 829,
513
- side: "midline"
514
- },
515
- {
516
- id: "mandibularAngleLeft",
517
- labelKey: "mandibularAngleLeft",
518
- d: "M514.03,757.42c-.91-3.27-1.74-6.39-2.54-9.37-2.39-8.91-4.46-16.6-7.08-23.48-1.84-4.83-3.93-9.07-6.37-12.99-1.26,23.6-6.85,40.74-17.31,53.43-10.17,12.33-24.87,20.32-44.53,24.16,17.13,3.95,34.7,11.85,48.39,26.79,5.59,6.1,9.46,12.22,12.09,17.4,10.43-7.53,28.1-20.6,47.98-36.72-9.19-6.29-25.19-19.64-30.61-39.21Z",
519
- cx: 490,
520
- cy: 772,
521
- side: "left"
522
- },
523
- {
524
- id: "mandibularAngleRight",
525
- labelKey: "mandibularAngleRight",
526
- d: "M372.3,789.03c-19.33-3.89-33.81-11.84-43.86-24.02-10.59-12.83-16.18-30.24-17.35-54.26-2.69,4.15-4.95,8.66-6.92,13.84-2.63,6.88-4.69,14.57-7.08,23.48-.8,2.98-1.64,6.1-2.54,9.37-5.42,19.55-21.39,32.89-30.58,39.19,19.56,15.86,36.98,28.78,47.47,36.36,2.63-5.1,6.44-11.07,11.9-17.03,13.85-15.11,31.67-23.02,48.98-26.92Z",
527
- cx: 318,
528
- cy: 772,
529
- side: "right"
530
- },
531
- {
532
- id: "eyelidRight",
533
- labelKey: "eyelidRight",
534
- d: "M270.93,458.23c-50.38-1.36-52.57,26.33-52.64,27.51-.08,1.39-.72,2.61-1.69,3.46,7.87,8.21,29.3,27.23,58.63,26.79,29.72-.41,43.34-22.6,47.54-31.28-.03-.39-.05-.75-.07-1.07-1.34-6.07-8.94-24.24-51.76-25.41Z",
535
- cx: 270,
536
- cy: 487,
537
- side: "right"
538
- },
539
- {
540
- id: "eyelidLeft",
541
- labelKey: "eyelidLeft",
542
- d: "M586.21,485.71c-.08-1.27-2.3-28.82-52.55-27.45-36.35.99-47.27,14.25-50.55,21.95.08.48.1.98.05,1.49-.01.11-.16,1.63-.31,4.22,4.82,9.37,18.52,29.69,46.94,30.08,29.04.43,50.34-18.21,58.4-26.55-1.13-.87-1.91-2.2-1.98-3.73Z",
543
- cx: 536,
544
- cy: 487,
545
- side: "left"
546
- }
547
- ], ln = [
548
- { id: "right-eye", labelKey: "rightEye", x: 268, y: 487 },
549
- { id: "left-eye", labelKey: "leftEye", x: 535, y: 487 },
550
- { id: "nose-tip", labelKey: "noseTip", x: 403, y: 620 },
551
- { id: "chin", labelKey: "chin", x: 404, y: 858 }
552
- ], mt = [
553
- {
554
- id: "cheekbone",
555
- labelKey: "cheekbone",
556
- d: "M587.86 415.87C586.01 408.8 583.79 409.02 576.91 410.15C573.08 410.38 567.86 410.32 561.24 408.36C547.07 403.39 488.66 358.5 465.97 345.98C436.12 334.42 407.31 328.09 390.38 326.48C395.19 331.07 399.27 338.58 388.69 345.72C397.48 346.49 408.73 348.34 421.39 351.61C467.3 374.36 523.12 420.78 541.55 435.68C550.62 443.21 555.39 449.39 559.11 454.28C564.66 461.73 567.89 466.16 579.26 467.46C583.31 467.67 586.22 465.29 588.19 460.34C591.18 452.28 592.1 431.43 587.86 415.88Z",
557
- cx: 490,
558
- cy: 397
559
- },
560
- {
561
- id: "profileContour",
562
- labelKey: "profileContour",
563
- d: "M657.04 427.15C645.32 417.42 612.92 377.67 608.47 342.76C610.05 315.91 614.77 299.37 606.91 241.79C600.19 175.54 556.62 116.74 420.63 130.08C253.44 160.79 152.79 273.93 132.98 380.57C116.36 516.03 182.43 589.12 182.43 589.12L226.57 641.41C234.86 650.15 249.78 644.43 261.09 627.35L321.54 525.13C328.57 512.58 325.7 495.54 318.17 493.61C294.63 488.83 257.86 468.83 262.84 409.94C267.69 380.06 284 357.04 302.38 340.78C330.2 319.79 367.62 311.97 382.74 320.74C382.87 320.84 382.94 320.94 382.99 321.04C388.82 321.28 405.44 322.73 426.75 326.43C424.09 323.46 422.53 319.98 422.13 315.98C421.41 309.9 423.49 304.51 423.88 303.54C426.23 284.75 477.87 242.7 506.61 211.31L506.84 210.99C508.32 208.89 511.62 207.65 515.45 207.77C519.23 207.92 522.88 209.42 524.98 211.72L567.11 326.31C568.13 330.65 567.2 335.05 564.76 336.69C563.35 337.54 561.24 339.5 558.91 342.14C559.06 342.41 559.15 342.57 559.15 342.57L573.97 372.38C575.71 369.67 578.22 365.84 581.33 362.37C585.49 356.14 590.79 348.98 597.61 352.24C598.15 352.43 598.76 354.7 598.84 357.08C598.91 358.84 598.59 359.88 598.14 359.69C597.37 359.38 596.65 359.2 595.96 359.12C597.33 369.53 600.96 398.18 595.38 398C588.92 397.38 587.72 374.56 588.46 362.31C586.69 363.79 584.85 365.85 582.96 368.5C580.04 371.85 577.73 375.59 576.26 377.97L577.27 380.55C577.56 381.29 577.66 382.22 577.55 383.11C577.43 384 577.11 384.76 576.66 385.24L553.04 396.96C558.13 400.5 560.86 401.88 562.35 402.34C568.32 404.04 572.97 404.02 576.7 403.74C583.09 402.53 587.8 400.9 590.94 412.75C594.16 424.28 596.78 449.29 591.87 464.27C589.18 471.56 584.78 475.46 579.05 475.22C575.99 474.97 573.36 474.4 571.04 473.57C567.75 472.35 565.15 470.69 562.9 468.71C562.88 472.1 562.76 476.4 562.38 481.46C567.8 483.15 578.56 487.63 584.78 500.94C588.58 509.77 589.68 521.45 587.53 535.74C590.03 539.27 597.49 548.85 608.32 547.11C615.16 544.28 621.37 543.88 625.6 545.18C627.13 536.84 628.35 525.82 627.96 516.71C626.08 501.81 623.74 494.92 625.48 485.82C627.82 477.03 640.49 466.24 651.72 451.57C662.37 438.81 663.39 438.52 657.07 427.15Z",
564
- cx: 390,
565
- cy: 383
566
- },
567
- {
568
- id: "temple",
569
- labelKey: "temple",
570
- d: "M551.29 339.27C551.73 338.72 552.17 338.34 552.62 338.11C556.19 334.28 559.65 331.21 562.14 329.85C562.68 329.54 562.9 328.65 562.67 327.75L518.07 213.95C517.55 213.37 516.78 213.26 516.36 213.24C515.95 213.22 515.19 213.27 514.81 213.81L514.57 214.13C507.63 223.01 490.31 241.35 473.08 259.55C456.86 274.15 435.38 293.06 434.06 303.22L434.04 303.36L433.97 303.51C433.88 303.72 424.42 324.26 448.09 332.54C448.37 332.66 448.62 332.79 448.84 332.93C456.22 335.74 463.82 338.97 471.46 342.54C502.66 360.75 523.25 375.04 536.66 384.85C535.73 382.31 534.95 379.47 534.57 376.45C533.66 370.15 534.7 364.78 536.86 360.11C539.61 349.89 545.41 345.33 549.41 341.41C549.46 341.36 549.51 341.3 549.56 341.25C550.19 340.57 550.77 339.92 551.29 339.26Z",
571
- cx: 494,
572
- cy: 299
573
- },
574
- {
575
- id: "preauricularArea",
576
- labelKey: "preauricularArea",
577
- d: "M399.04 423.47C400.19 426.46 399.28 429.83 397.03 431.07L421.24 493.26C429.33 496.6 440.56 504.27 451.47 519.28C455.98 526.45 460.47 535.45 464.49 546.37C473.34 527.06 479.06 492.31 479.5 447.01C480.52 417.95 479.02 394.87 478.75 390.28C457.75 375.55 435.02 362.96 415.32 355.59C403.76 352.86 393.4 351.38 385.05 350.82C383.53 355.04 382.54 362.85 384.93 378.19C389.1 396.84 398.92 423.16 399.04 423.46Z",
578
- cx: 432,
579
- cy: 449
580
- },
581
- {
582
- id: "mandibularBody",
583
- labelKey: "mandibularBody",
584
- d: "M448.9 529.33C441.36 518.39 433.39 511.79 426.69 508.14L444.05 565.22L444.11 565.55C444.61 568.53 446.18 612.75 465.58 621.58C467.31 622.11 469.2 622.59 471.21 623.04C472.27 587.41 463.32 555.13 448.9 529.33Z",
585
- cx: 449,
586
- cy: 566
587
- },
588
- {
589
- id: "submentalProfile",
590
- labelKey: "submentalProfile",
591
- d: "M499.51 624.48C500.22 624.28 501.01 624.05 501.85 623.78C506.95 622.1 508.34 617.25 499.33 608.72C499.3 608.71 499.28 608.69 499.25 608.67C498.87 608.43 498.48 608.2 498.08 607.95C489.61 603.09 481.6 597.71 477.16 594.66C477.83 603.57 477.42 613.28 475.61 623.94C494.7 628.41 483.66 636.08 483.66 636.08C483.66 636.08 476.69 649.28 527.7 627.3C518.99 627.63 510.52 627.34 503.56 626.55C496.4 626.16 495.89 625.71 499.5 624.48Z",
592
- cx: 502,
593
- cy: 622
594
- },
595
- {
596
- id: "masseter",
597
- labelKey: "masseter",
598
- d: "M554.71 459.19C550.92 454.22 546.49 448.51 537.91 441.39C528.42 433.63 510.52 417.13 488.4 397.93C489.3 421.03 491.75 514.66 467.63 555.34C470.6 563.87 473.34 573.19 475.46 583.39C476.18 582.97 476.93 582.94 477.54 583.4C477.77 583.56 487.55 590.84 499.76 598.04C530.58 563.84 546.09 529.73 552.28 505.65C557.13 483.51 556.81 466.48 556.58 461.68C555.96 460.87 555.34 460.04 554.7 459.2Z",
599
- cx: 512,
600
- cy: 498
601
- },
602
- {
603
- id: "cheek",
604
- labelKey: "cheek",
605
- d: "M503.7 600.29L503.69 600.76C506.68 599.48 519.15 594.49 532.76 586.74C551.63 579.2 568.84 567.08 579.23 546.08C584.39 529.37 584.46 515.84 580.48 506.25C575.46 495.21 566.3 491.13 561.55 489.57C560.86 495.06 559.83 501.15 558.34 507.68C551.78 532.36 535.25 566.52 503.69 600.3Z",
606
- cx: 544,
607
- cy: 545
608
- },
609
- {
610
- id: "chin",
611
- labelKey: "chin",
612
- d: "M622.37 557.72C618.53 556.38 613.08 555.94 606.76 557.59C595.83 558.3 588.65 550.46 584.99 545.44C584.69 546.34 584.38 547.24 584.03 548.15C571.22 572.11 550.01 585.32 530.6 593C522.53 597.65 514.89 601.46 509.24 604.26C515.21 610.11 514.33 615.81 510.02 618.18C502.34 623.58 523.79 624.61 543.95 623.09C547.34 622.17 550.83 621.19 554.45 620.12L594.99 602.7L595.21 602.54C596.13 601.8 602.57 595.37 608.29 593.49C613.07 590.42 621.01 568.35 622.15 559.26C622.19 558.76 622.27 558.26 622.36 557.75Z",
613
- cx: 562,
614
- cy: 585
615
- },
616
- {
617
- id: "browTail",
618
- labelKey: "browTail",
619
- d: "M555.64 346.57C555.64 346.57 530.25 360.36 547.29 391.38L572.95 381.28L555.64 346.57Z",
620
- cx: 552,
621
- cy: 369
622
- }
623
- ], at = mt.find((t) => t.id === "profileContour") ?? ut, it = mt.filter(
624
- (t) => t.id !== "profileContour"
625
- ).map((t) => ({
626
- id: t.id,
627
- labelKey: t.labelKey,
628
- d: t.d,
629
- cx: t.cx ?? 0,
630
- cy: t.cy ?? 0,
631
- side: t.side ?? "midline"
632
- })), st = [
633
- { id: "eye", labelKey: "eye", x: 561, y: 374 },
634
- { id: "nose-tip", labelKey: "noseTip", x: 668, y: 432 },
635
- { id: "mouth", labelKey: "mouth", x: 592, y: 532 }
636
- ], ct = {
637
- front: {
638
- id: "front",
639
- labelKey: "front",
640
- viewBox: je,
641
- pivot: $e,
642
- contour: ut,
643
- // The generator guarantees every clickable zone carries cx/cy/side.
644
- zones: dn,
645
- landmarks: ln
646
- },
647
- // The reshaped profile zones face +x; the right profile is the same mesh
648
- // mirrored. Both fit on the eye/nose-tip/mouth anchors — auto-detect and manual
649
- // drag/sliders all work; the right profile mirrors the fit at render time.
650
- "profile-left": {
651
- id: "profile-left",
652
- labelKey: "profileLeft",
653
- viewBox: je,
654
- pivot: $e,
655
- contour: at,
656
- zones: it,
657
- landmarks: st
658
- },
659
- "profile-right": {
660
- id: "profile-right",
661
- labelKey: "profileRight",
662
- viewBox: je,
663
- pivot: $e,
664
- contour: at,
665
- zones: it,
666
- landmarks: st,
667
- mirror: !0
668
- }
669
- }, ot = [
670
- "front",
671
- "profile-left",
672
- "profile-right"
673
- ], fn = [
674
- "observation",
675
- "treatment",
676
- "concern",
677
- "note"
678
- ], dt = {
679
- observation: { shape: "circle", tone: "info" },
680
- treatment: { shape: "square", tone: "success" },
681
- concern: { shape: "triangle", tone: "warning" },
682
- note: { shape: "diamond", tone: "neutral" }
683
- }, fe = [1, 0, 0, 1, 0, 0];
684
- function lt(t) {
685
- return `matrix(${t[0]} ${t[1]} ${t[2]} ${t[3]} ${t[4]} ${t[5]})`;
686
- }
687
- function ze(t, n) {
688
- return {
689
- x: t[0] * n.x + t[2] * n.y + t[4],
690
- y: t[1] * n.x + t[3] * n.y + t[5]
691
- };
692
- }
693
- const xe = Math.PI / 180;
694
- function un(t, n) {
695
- const c = t.rotation * xe, o = Math.cos(c), d = Math.sin(c), s = Math.tan(t.shear * xe), u = t.scaleX * o, l = t.scaleX * d, f = t.scaleY * (s * o - d), m = t.scaleY * (s * d + o), w = t.translateX + n.x - (u * n.x + f * n.y), x = t.translateY + n.y - (l * n.x + m * n.y);
696
- return [u, l, f, m, w, x];
697
- }
698
- function mn(t, n) {
699
- const [c, o, d, s, u, l] = t, f = Math.hypot(c, o), m = Math.atan2(o, c) / xe, w = c * s - o * d, x = f === 0 ? 0 : w / f, y = Math.atan2(c * d + o * s, w) / xe, C = u - n.x + (c * n.x + d * n.y), p = l - n.y + (o * n.x + s * n.y);
700
- return { scaleX: f, scaleY: x, rotation: m, shear: y, translateX: C, translateY: p };
701
- }
702
- function ft(t, n) {
703
- const c = Math.min(t.length, n.length);
704
- if (c < 3) return fe;
705
- let o = 0, d = 0, s = 0, u = 0, l = 0, f = 0, m = 0, w = 0, x = 0, y = 0, C = 0;
706
- for (let j = 0; j < c; j++) {
707
- const M = t[j], F = n[j];
708
- !M || !F || (o += M.x * M.x, d += M.x * M.y, s += M.x, u += M.y * M.y, l += M.y, f += F.x * M.x, m += F.x * M.y, w += F.x, x += F.y * M.x, y += F.y * M.y, C += F.y);
709
- }
710
- const p = o * (u * c - l * l) - d * (d * c - l * s) + s * (d * l - u * s);
711
- if (Math.abs(p) < 1e-9) return fe;
712
- const N = u * c - l * l, z = s * l - d * c, K = d * l - s * u, R = o * c - s * s, E = s * d - o * l, I = o * u - d * d, Z = (j, M, F) => [
713
- (N * j + z * M + K * F) / p,
714
- (z * j + R * M + E * F) / p,
715
- (K * j + E * M + I * F) / p
716
- ], [V, D, q] = Z(f, m, w), [Y, h, ce] = Z(x, y, C);
717
- return [V, Y, D, h, q, ce];
718
- }
719
- function hn(t) {
720
- const n = (f) => {
721
- var m;
722
- return (m = t.find((w) => w.id === f)) == null ? void 0 : m.photo;
723
- }, c = n("nose-tip"), o = n("right-eye"), d = n("left-eye"), s = n("mouth-right"), u = n("mouth-left");
724
- if (!c || !o || !d || !s || !u) return null;
725
- const l = (f, m) => Math.abs(f.x - c.x) >= Math.abs(m.x - c.x) ? f : m;
726
- return [
727
- { id: "eye", photo: l(o, d) },
728
- { id: "nose-tip", photo: c },
729
- { id: "mouth", photo: l(s, u) }
730
- ];
731
- }
732
- function pn() {
733
- return typeof navigator < "u" && typeof navigator.mediaDevices < "u" && typeof navigator.mediaDevices.getUserMedia == "function";
734
- }
735
- function gn(t) {
736
- const n = t instanceof Error ? t.name : "";
737
- return n === "NotAllowedError" || n === "SecurityError" ? "permission-denied" : n === "NotFoundError" || n === "OverconstrainedError" ? "no-camera" : n === "NotReadableError" || n === "AbortError" ? "not-readable" : "capture-failed";
738
- }
739
- const yn = {
740
- "permission-denied": "faceScheme.capture.error.permissionDenied",
741
- "no-camera": "faceScheme.capture.error.noCamera",
742
- "not-readable": "faceScheme.capture.error.notReadable",
743
- "insecure-context": "faceScheme.capture.error.insecureContext",
744
- "capture-failed": "faceScheme.capture.error.captureFailed"
745
- }, vn = {
746
- neutral: "ds:[fill:var(--muted-foreground)]",
747
- info: "ds:[fill:var(--info)]",
748
- success: "ds:[fill:var(--success)]",
749
- warning: "ds:[fill:var(--warning)]",
750
- error: "ds:[fill:var(--destructive)]",
751
- accent: "ds:[fill:var(--accent)]"
752
- }, xn = It(
753
- [
754
- "ds:[vector-effect:non-scaling-stroke]",
755
- "ds:transition-[fill-opacity] ds:[transition-duration:var(--animation-duration)]",
756
- "ds:[fill:transparent] ds:[stroke:var(--accent)] ds:[stroke-width:1]"
757
- ].join(" "),
758
- {
759
- variants: {
760
- interactive: { true: "ds:cursor-pointer", false: "" },
761
- marked: { true: "", false: "" }
762
- },
763
- compoundVariants: [
764
- {
765
- marked: !1,
766
- interactive: !0,
767
- class: "ds:hover:[fill:var(--accent)] ds:hover:[fill-opacity:0.14]"
768
- },
769
- {
770
- marked: !0,
771
- class: "ds:[fill:var(--accent)] ds:[fill-opacity:0.18]"
772
- }
773
- ],
774
- defaultVariants: { interactive: !1, marked: !1 }
775
- }
776
- ), Cn = {
777
- scaleX: { min: 0.3, max: 1.8, step: 0.01 },
778
- scaleY: { min: 0.3, max: 1.8, step: 0.01 },
779
- rotation: { min: -20, max: 20, step: 0.5 },
780
- shear: { min: -20, max: 20, step: 0.5 },
781
- translateX: { min: -240, max: 240, step: 1 },
782
- translateY: { min: -240, max: 240, step: 1 }
783
- }, bn = [
784
- "scaleX",
785
- "scaleY",
786
- "rotation",
787
- "shear",
788
- "translateX",
789
- "translateY"
790
- ], wn = At(
791
- ({
792
- id: t,
793
- patientPhoto: n,
794
- viewPhotos: c,
795
- view: o,
796
- defaultView: d = "front",
797
- onViewChange: s,
798
- showViewSwitcher: u = !0,
799
- mode: l = "interactive",
800
- value: f,
801
- defaultValue: m,
802
- onChange: w,
803
- onSelectZone: x,
804
- activeFinding: y,
805
- registration: C,
806
- defaultRegistration: p,
807
- onRegistrationChange: N,
808
- registrationMode: z = "off",
809
- autoDetect: K,
810
- onDetectStatus: R,
811
- allowCapture: E = !1,
812
- captureFacingMode: I = "user",
813
- onCapture: Z,
814
- legend: V = !1,
815
- ariaLabel: D,
816
- className: q
817
- }, Y) => {
818
- const { t: h } = Zt(), ce = Tt(), j = t ?? ce, M = _(null), F = _(null), ue = _(null), oe = _(null), De = _(null), Pe = _(null), Ce = _(!1), be = o !== void 0, [ht, pt] = X(
819
- o ?? d
820
- ), A = be ? o : ht, Ue = _(A);
821
- Ue.current = A;
822
- const we = k(
823
- (e) => {
824
- be || pt(e), s == null || s(e);
825
- },
826
- [be, s]
827
- ), b = ct[A], [, , B, Q] = b.viewBox.split(" ").map(Number), G = l === "interactive", Be = G && z === "adjust", ke = f !== void 0, [gt, yt] = X(m ?? {}), Me = ke ? f : gt, O = _(Me);
828
- O.current = Me;
829
- const ee = k(
830
- (e) => {
831
- ke || yt(e), w == null || w(e);
832
- },
833
- [ke, w]
834
- ), me = k(
835
- (e, r, a) => {
836
- const i = O.current[e] ?? [];
837
- i.some((v) => v.type === r) || ee({
838
- ...O.current,
839
- [e]: [...i, { type: r, note: a }]
840
- });
841
- },
842
- [ee]
843
- ), he = k(
844
- (e, r) => {
845
- const i = (O.current[e] ?? []).filter((S) => S.type !== r), v = { ...O.current };
846
- i.length > 0 ? v[e] = i : delete v[e], ee(v);
847
- },
848
- [ee]
849
- ), We = k(
850
- (e, r) => {
851
- (O.current[e] ?? []).some(
852
- (i) => i.type === r
853
- ) ? he(e, r) : me(e, r);
854
- },
855
- [me, he]
856
- ), Se = C !== void 0, [vt, xt] = X(
857
- p ?? {}
858
- ), Ee = Se ? C : vt, P = Ee[A] ?? fe, Ve = _(P);
859
- Ve.current = P;
860
- const Ye = _(Ee);
861
- Ye.current = Ee;
862
- const U = k(
863
- (e) => {
864
- const r = { ...Ye.current, [A]: e };
865
- Se || xt(r), N == null || N(r);
866
- },
867
- [Se, N, A]
868
- ), Re = nt(
869
- () => mn(P, b.pivot),
870
- [P, b.pivot]
871
- ), H = k(
872
- (e) => b.mirror ? { x: B - e.x, y: e.y } : e,
873
- [b.mirror, B]
874
- ), [Le, He] = X(
875
- () => b.landmarks.map((e) => H(ze(P, e)))
876
- ), pe = _(null);
877
- Ie(() => {
878
- pe.current === null && He(
879
- b.landmarks.map((e) => H(ze(P, e)))
880
- );
881
- }, [P, b.landmarks, H]);
882
- const ge = k(
883
- (e) => {
884
- const r = [], a = [];
885
- for (const i of e) {
886
- const v = b.landmarks.find((S) => S.id === i.id);
887
- v && (r.push({ x: v.x, y: v.y }), a.push(H(i.photo)));
888
- }
889
- r.length >= 3 && U(ft(r, a));
890
- },
891
- [U, b.landmarks, H]
892
- ), Xe = k(
893
- (e, r) => {
894
- const a = F.current;
895
- if (!a) return { x: 0, y: 0 };
896
- const i = a.createSVGPoint();
897
- i.x = e, i.y = r;
898
- const v = a.getScreenCTM();
899
- if (!v) return { x: 0, y: 0 };
900
- const S = i.matrixTransform(v.inverse());
901
- return { x: S.x, y: S.y };
902
- },
903
- []
904
- ), Ct = k(
905
- (e) => (r) => {
906
- pe.current = e, r.currentTarget.setPointerCapture(r.pointerId);
907
- },
908
- []
909
- ), bt = k(
910
- (e) => {
911
- const r = pe.current;
912
- if (r === null) return;
913
- const a = Xe(e.clientX, e.clientY), i = Le.map((S, _e) => _e === r ? a : S);
914
- He(i);
915
- const v = b.landmarks.map((S) => ({ x: S.x, y: S.y }));
916
- U(ft(v, i.map(H)));
917
- },
918
- [Le, Xe, b.landmarks, U, H]
919
- ), wt = k(() => {
920
- pe.current = null;
921
- }, []), [Ke, W] = X("idle"), [qe, te] = X(
922
- null
923
- ), [kt, Mt] = X({}), J = (c == null ? void 0 : c[A]) ?? (A === "front" ? n : void 0), $ = kt[A] ?? (J == null ? void 0 : J.src), ne = k(() => {
924
- var r;
925
- (r = oe.current) == null || r.getTracks().forEach((a) => a.stop()), oe.current = null;
926
- const e = ue.current;
927
- e && (e.srcObject = null);
928
- }, []), Ne = k(() => {
929
- ne(), W("idle");
930
- }, [ne]), Fe = k(async () => {
931
- var e;
932
- if (E) {
933
- if (!pn()) {
934
- te("insecure-context"), W("error");
935
- return;
936
- }
937
- te(null), W("requesting");
938
- try {
939
- const r = await navigator.mediaDevices.getUserMedia({
940
- video: { facingMode: I },
941
- audio: !1
942
- });
943
- if (Ce.current) {
944
- r.getTracks().forEach((i) => i.stop());
945
- return;
946
- }
947
- oe.current = r;
948
- const a = ue.current;
949
- if (a) {
950
- try {
951
- a.srcObject = r;
952
- } catch {
953
- }
954
- const i = (e = a.play) == null ? void 0 : e.call(a);
955
- i && typeof i.catch == "function" && i.catch(() => {
956
- });
957
- }
958
- W("streaming");
959
- } catch (r) {
960
- ne(), te(gn(r)), W("error");
961
- }
962
- }
963
- }, [E, I, ne]), de = k(
964
- (e, r, a) => {
965
- Mt((i) => ({ ...i, [A]: e })), Z == null || Z({ src: e, width: r, height: a, view: A });
966
- },
967
- [Z, A]
968
- ), St = k(() => {
969
- const e = ue.current, r = (e == null ? void 0 : e.videoWidth) || (e == null ? void 0 : e.clientWidth) || 0, a = (e == null ? void 0 : e.videoHeight) || (e == null ? void 0 : e.clientHeight) || 0;
970
- if (!e || e.readyState < 2 || r === 0 || a === 0) {
971
- te("capture-failed"), W("error");
972
- return;
973
- }
974
- const i = document.createElement("canvas");
975
- i.width = r, i.height = a;
976
- const v = i.getContext("2d");
977
- if (!v) {
978
- te("capture-failed"), W("error");
979
- return;
980
- }
981
- try {
982
- v.drawImage(e, 0, 0, r, a);
983
- } catch {
984
- te("capture-failed"), W("error");
985
- return;
986
- }
987
- ne(), de(i.toDataURL("image/jpeg", 0.92), r, a), W("idle");
988
- }, [ne, de]), Et = k(
989
- (e) => {
990
- var i;
991
- const r = (i = e.target.files) == null ? void 0 : i[0];
992
- if (e.target.value = "", !r) return;
993
- const a = new FileReader();
994
- a.onload = () => {
995
- const v = typeof a.result == "string" ? a.result : "";
996
- if (!v) return;
997
- const S = new Image();
998
- S.onload = () => de(v, S.naturalWidth, S.naturalHeight), S.onerror = () => de(v, B, Q), S.src = v;
999
- }, a.readAsDataURL(r);
1000
- },
1001
- [de, B, Q]
1002
- );
1003
- Ie(() => (Ce.current = !1, () => {
1004
- var e;
1005
- Ce.current = !0, (e = oe.current) == null || e.getTracks().forEach((r) => r.stop()), oe.current = null;
1006
- }), []);
1007
- const le = Ke === "streaming", Ge = _(!1);
1008
- Ie(() => {
1009
- var e;
1010
- Ge.current && !le && ((e = Pe.current) == null || e.focus()), Ge.current = le;
1011
- }, [le]);
1012
- const [ye, Rt] = X("idle"), re = k(
1013
- (e) => {
1014
- Rt(e), R == null || R(e);
1015
- },
1016
- [R]
1017
- ), Ae = k(async () => {
1018
- if (!K || !$ || b.landmarks.length === 0)
1019
- return !1;
1020
- const e = typeof K == "object" ? K : {}, r = (a) => re(a === "detecting" ? "detecting" : "loading");
1021
- try {
1022
- re("loading");
1023
- let a;
1024
- if (b.id === "front")
1025
- a = await Gt($, {
1026
- viewWidth: B,
1027
- viewHeight: Q,
1028
- onStage: r,
1029
- wasmBaseUrl: e.wasmBaseUrl,
1030
- modelAssetPath: e.modelAssetPath
1031
- });
1032
- else {
1033
- const i = await on($, {
1034
- viewWidth: B,
1035
- viewHeight: Q,
1036
- onStage: r,
1037
- ortModuleUrl: e.ortModuleUrl,
1038
- ortWasmBaseUrl: e.ortWasmBaseUrl,
1039
- modelUrl: e.yunetModelUrl
1040
- });
1041
- a = i && hn(i);
1042
- }
1043
- return !a || a.length < 3 ? (re("no-face"), !1) : (ge(a), re("done"), !0);
1044
- } catch {
1045
- return re("error"), !1;
1046
- }
1047
- }, [
1048
- K,
1049
- $,
1050
- b.id,
1051
- b.landmarks,
1052
- B,
1053
- Q,
1054
- re,
1055
- ge
1056
- ]), Je = k((e) => {
1057
- var r, a;
1058
- (a = (r = M.current) == null ? void 0 : r.querySelector(`[data-zone="${e}"]`)) == null || a.focus();
1059
- }, []), Te = nt(
1060
- () => ({
1061
- focusZone: Je,
1062
- getChart: () => O.current,
1063
- getZone: (e) => O.current[e] ?? [],
1064
- zonesWith: (e) => Object.entries(O.current).filter(([, r]) => r.some((a) => a.type === e)).map(([r]) => r),
1065
- setFinding: me,
1066
- removeFinding: he,
1067
- clearZone: (e) => {
1068
- if (!O.current[e]) return;
1069
- const r = { ...O.current };
1070
- delete r[e], ee(r);
1071
- },
1072
- getRegistration: () => Ve.current,
1073
- setRegistration: (e) => U(e),
1074
- resetRegistration: () => U(fe),
1075
- fitToLandmarks: ge,
1076
- detect: Ae,
1077
- startCapture: () => void Fe(),
1078
- cancelCapture: Ne,
1079
- getView: () => Ue.current,
1080
- setView: we
1081
- }),
1082
- [
1083
- Je,
1084
- me,
1085
- he,
1086
- ee,
1087
- U,
1088
- ge,
1089
- Ae,
1090
- Fe,
1091
- Ne,
1092
- we
1093
- ]
1094
- );
1095
- _t(Y, () => Te, [Te]), Ot(Bt, Te, j);
1096
- const Qe = k(
1097
- (e) => {
1098
- const r = h(`faceScheme.zone.${e.labelKey}`), a = O.current[e.id] ?? [];
1099
- if (a.length === 0) return r;
1100
- const i = a.map((v) => h(`faceScheme.finding.${v.type}`)).join(", ");
1101
- return h("faceScheme.zoneWithFindings", {
1102
- zone: r,
1103
- findings: i
1104
- });
1105
- },
1106
- [h]
1107
- ), et = k(
1108
- (e) => {
1109
- x == null || x(e.id), G && y && We(e.id, y);
1110
- },
1111
- [G, y, We, x]
1112
- ), Lt = J != null && J.altKey ? h(J.altKey) : h("faceScheme.photo.defaultAlt"), Kt = b.mirror ? `translate(${B} 0) scale(-1 1) ${lt(P)}` : lt(P), Nt = k(
1113
- (e, r) => {
1114
- U(un({ ...Re, [e]: r }, b.pivot));
1115
- },
1116
- [U, Re, b.pivot]
1117
- ), tt = !!K && !!$ && b.landmarks.length > 0, Ft = E;
1118
- return /* @__PURE__ */ T(
1119
- "div",
1120
- {
1121
- ref: M,
1122
- "data-component": "face-scheme",
1123
- "data-component-id": j,
1124
- "data-view": A,
1125
- className: ["ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", q].filter(Boolean).join(" "),
1126
- role: "group",
1127
- "aria-label": D ?? h("faceScheme.ariaLabel"),
1128
- children: [
1129
- u && ot.length > 1 && /* @__PURE__ */ g(
1130
- Pt,
1131
- {
1132
- label: h("faceScheme.viewSwitcherLabel"),
1133
- variant: "horizontal",
1134
- value: A,
1135
- onValueChange: (e) => we(e),
1136
- children: ot.map((e) => /* @__PURE__ */ g(
1137
- Dt,
1138
- {
1139
- value: e,
1140
- label: h(`faceScheme.view.${ct[e].labelKey}`)
1141
- },
1142
- e
1143
- ))
1144
- }
1145
- ),
1146
- le && /* @__PURE__ */ T(
1147
- "div",
1148
- {
1149
- "data-testid": "face-scheme-viewfinder",
1150
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
1151
- children: [
1152
- /* @__PURE__ */ g(
1153
- "video",
1154
- {
1155
- ref: ue,
1156
- autoPlay: !0,
1157
- playsInline: !0,
1158
- muted: !0,
1159
- "aria-label": h("faceScheme.capture.viewfinder"),
1160
- className: "ds:mx-auto ds:block ds:w-full ds:max-w-[28rem] ds:[border-radius:var(--radius-md)] ds:[transform:scaleX(-1)]"
1161
- }
1162
- ),
1163
- /* @__PURE__ */ T("div", { className: "ds:flex ds:flex-wrap ds:justify-center ds:gap-[var(--spacing-xs)]", children: [
1164
- /* @__PURE__ */ g(ie, { size: "sm", intent: "primary", onClick: () => St(), children: h("faceScheme.capture.capture") }),
1165
- /* @__PURE__ */ g(ie, { size: "sm", intent: "outline", onClick: Ne, children: h("faceScheme.capture.cancel") })
1166
- ] })
1167
- ]
1168
- }
1169
- ),
1170
- !le && /* @__PURE__ */ g(ae.Provider, { delayDuration: 200, children: /* @__PURE__ */ T(
1171
- "svg",
1172
- {
1173
- ref: F,
1174
- "data-testid": "face-scheme-svg",
1175
- viewBox: b.viewBox,
1176
- role: "group",
1177
- "aria-label": h(`faceScheme.view.${b.labelKey}`),
1178
- className: "ds:mx-auto ds:block ds:h-auto ds:w-full ds:max-w-[28rem] ds:touch-none ds:[border-radius:var(--radius-md)]",
1179
- children: [
1180
- $ && /* @__PURE__ */ g(
1181
- "image",
1182
- {
1183
- href: $,
1184
- x: 0,
1185
- y: 0,
1186
- width: B,
1187
- height: Q,
1188
- preserveAspectRatio: "xMidYMid slice",
1189
- role: "img",
1190
- "aria-label": Lt
1191
- }
1192
- ),
1193
- /* @__PURE__ */ T("g", { transform: Kt, children: [
1194
- !$ && /* @__PURE__ */ g(
1195
- "path",
1196
- {
1197
- d: b.contour.d,
1198
- "aria-hidden": "true",
1199
- className: "ds:[fill:none] ds:[stroke:var(--accent)] ds:[stroke-opacity:0.4] ds:[stroke-width:1] ds:[vector-effect:non-scaling-stroke] ds:[stroke-dasharray:4_5]"
1200
- }
1201
- ),
1202
- b.zones.map((e) => {
1203
- const r = Me[e.id] ?? [], a = r.length > 0;
1204
- return /* @__PURE__ */ T(ae.Root, { children: [
1205
- /* @__PURE__ */ g(ae.Trigger, { asChild: !0, children: /* @__PURE__ */ T(
1206
- "g",
1207
- {
1208
- "data-zone": e.id,
1209
- "data-side": e.side,
1210
- role: G || x ? "button" : "img",
1211
- "aria-label": Qe(e),
1212
- "aria-pressed": G && y ? a : void 0,
1213
- className: "ds:outline-none ds:[&:focus-visible>*:first-child]:[stroke:var(--ring)] ds:[&:focus-visible>*:first-child]:[stroke-width:var(--focus-ring-width)] ds:forced-colors:[&:focus-visible>*:first-child]:[stroke:CanvasText]",
1214
- tabIndex: G || x ? 0 : -1,
1215
- onClick: () => et(e),
1216
- onKeyDown: (i) => {
1217
- (i.key === "Enter" || i.key === " ") && (i.preventDefault(), et(e));
1218
- },
1219
- children: [
1220
- /* @__PURE__ */ g(
1221
- "path",
1222
- {
1223
- d: e.d,
1224
- className: xn({ interactive: G, marked: a })
1225
- }
1226
- ),
1227
- r.map((i, v) => {
1228
- const S = dt[i.type], _e = (v - (r.length - 1) / 2) * 26;
1229
- return /* @__PURE__ */ g(
1230
- "path",
1231
- {
1232
- d: jt(
1233
- S.shape,
1234
- e.cx + _e,
1235
- e.cy,
1236
- 11
1237
- ),
1238
- "aria-hidden": "true",
1239
- className: vn[S.tone]
1240
- },
1241
- i.type
1242
- );
1243
- })
1244
- ]
1245
- }
1246
- ) }),
1247
- /* @__PURE__ */ g(ae.Portal, { children: /* @__PURE__ */ T(
1248
- ae.Content,
1249
- {
1250
- sideOffset: 4,
1251
- className: "ds:z-50 ds:rounded-[var(--radius-sm)] ds:bg-[var(--popover)] ds:px-2 ds:py-1 ds:text-[length:var(--font-size-xs)] ds:text-[var(--popover-foreground)] ds:shadow-[var(--shadow-md)]",
1252
- children: [
1253
- Qe(e),
1254
- /* @__PURE__ */ g(ae.Arrow, { className: "ds:[fill:var(--popover)]" })
1255
- ]
1256
- }
1257
- ) })
1258
- ] }, e.id);
1259
- })
1260
- ] }),
1261
- Be && $ && /* @__PURE__ */ g("g", { "aria-hidden": "true", "data-testid": "face-scheme-handles", children: b.landmarks.map((e, r) => {
1262
- const a = Le[r] ?? H(ze(P, e));
1263
- return /* @__PURE__ */ T("g", { children: [
1264
- /* @__PURE__ */ g(
1265
- "circle",
1266
- {
1267
- cx: a.x,
1268
- cy: a.y,
1269
- r: 13,
1270
- "data-handle": e.id,
1271
- onPointerDown: Ct(r),
1272
- onPointerMove: bt,
1273
- onPointerUp: wt,
1274
- className: "ds:[fill:var(--background)] ds:[fill-opacity:0.9] ds:[stroke:var(--accent)] ds:[stroke-width:2.5] ds:[vector-effect:non-scaling-stroke] ds:cursor-grab ds:touch-none"
1275
- }
1276
- ),
1277
- /* @__PURE__ */ g(
1278
- "path",
1279
- {
1280
- d: `M ${a.x - 5} ${a.y} H ${a.x + 5} M ${a.x} ${a.y - 5} V ${a.y + 5}`,
1281
- className: "ds:[stroke:var(--accent)] ds:[stroke-width:2] ds:[vector-effect:non-scaling-stroke]",
1282
- pointerEvents: "none"
1283
- }
1284
- )
1285
- ] }, e.id);
1286
- }) })
1287
- ]
1288
- }
1289
- ) }),
1290
- Ft && /* @__PURE__ */ T("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
1291
- /* @__PURE__ */ T("div", { className: "ds:flex ds:flex-wrap ds:justify-center ds:gap-[var(--spacing-xs)]", children: [
1292
- /* @__PURE__ */ g(
1293
- ie,
1294
- {
1295
- ref: Pe,
1296
- size: "sm",
1297
- intent: $ ? "outline" : "primary",
1298
- onClick: () => void Fe(),
1299
- disabled: Ke === "requesting",
1300
- children: h(
1301
- $ ? "faceScheme.capture.retake" : "faceScheme.capture.take"
1302
- )
1303
- }
1304
- ),
1305
- /* @__PURE__ */ g(
1306
- ie,
1307
- {
1308
- size: "sm",
1309
- intent: "outline",
1310
- onClick: () => {
1311
- var e;
1312
- return (e = De.current) == null ? void 0 : e.click();
1313
- },
1314
- children: h("faceScheme.capture.upload")
1315
- }
1316
- ),
1317
- /* @__PURE__ */ g(
1318
- "input",
1319
- {
1320
- ref: De,
1321
- type: "file",
1322
- accept: "image/*",
1323
- capture: I,
1324
- onChange: Et,
1325
- className: "ds:sr-only",
1326
- "aria-hidden": "true",
1327
- tabIndex: -1,
1328
- "data-testid": "face-scheme-file-input"
1329
- }
1330
- )
1331
- ] }),
1332
- /* @__PURE__ */ g(
1333
- "span",
1334
- {
1335
- role: "status",
1336
- "aria-live": "polite",
1337
- className: "ds:text-center ds:text-[length:var(--font-size-xs)] ds:text-[var(--destructive)] ds:empty:hidden",
1338
- children: Ke === "error" && qe ? h(yn[qe]) : ""
1339
- }
1340
- )
1341
- ] }),
1342
- Be && /* @__PURE__ */ T(
1343
- "div",
1344
- {
1345
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
1346
- "data-testid": "face-scheme-registration",
1347
- children: [
1348
- /* @__PURE__ */ g("p", { className: "ds:m-0 ds:text-[length:var(--font-size-xs)] ds:text-[var(--muted-foreground)]", children: h("faceScheme.registration.hint") }),
1349
- /* @__PURE__ */ g("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-xs)] ds:sm:grid-cols-2", children: bn.map((e) => {
1350
- const r = Cn[e], a = e === "scaleX" || e === "scaleY";
1351
- return /* @__PURE__ */ T(
1352
- "div",
1353
- {
1354
- className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:text-[length:var(--font-size-xs)] ds:text-[var(--foreground)]",
1355
- children: [
1356
- /* @__PURE__ */ g("span", { children: h(`faceScheme.registration.${e}`) }),
1357
- /* @__PURE__ */ g(
1358
- zt,
1359
- {
1360
- "aria-label": h(`faceScheme.registration.${e}`),
1361
- value: [Re[e]],
1362
- min: r.min,
1363
- max: r.max,
1364
- step: r.step,
1365
- formatValue: (i) => a ? `${Math.round(i * 100)}%` : e === "rotation" || e === "shear" ? `${i.toFixed(1)}°` : `${Math.round(i)}`,
1366
- onValueChange: (i) => {
1367
- const v = i[0];
1368
- typeof v == "number" && Nt(e, v);
1369
- }
1370
- }
1371
- )
1372
- ]
1373
- },
1374
- e
1375
- );
1376
- }) }),
1377
- /* @__PURE__ */ T("div", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-xs)]", children: [
1378
- tt && /* @__PURE__ */ g(
1379
- ie,
1380
- {
1381
- size: "sm",
1382
- intent: "primary",
1383
- onClick: () => void Ae(),
1384
- disabled: ye === "loading" || ye === "detecting",
1385
- children: h("faceScheme.registration.autoDetect")
1386
- }
1387
- ),
1388
- /* @__PURE__ */ g(
1389
- ie,
1390
- {
1391
- size: "sm",
1392
- intent: "outline",
1393
- onClick: () => U(fe),
1394
- children: h("faceScheme.registration.reset")
1395
- }
1396
- ),
1397
- tt && /* @__PURE__ */ g(
1398
- "span",
1399
- {
1400
- role: "status",
1401
- "aria-live": "polite",
1402
- className: "ds:self-center ds:text-[length:var(--font-size-xs)] ds:text-[var(--muted-foreground)]",
1403
- children: ye === "idle" ? "" : h(`faceScheme.detect.${ye}`)
1404
- }
1405
- )
1406
- ] })
1407
- ]
1408
- }
1409
- ),
1410
- V && /* @__PURE__ */ g(
1411
- "ul",
1412
- {
1413
- "aria-label": h("faceScheme.legendLabel"),
1414
- className: "ds:flex ds:flex-wrap ds:gap-x-4 ds:gap-y-1 ds:p-0 ds:text-[length:var(--font-size-xs)] ds:text-[var(--muted-foreground)]",
1415
- children: fn.map((e) => {
1416
- const r = dt[e];
1417
- return /* @__PURE__ */ g("li", { className: "ds:flex ds:list-none ds:items-center", children: /* @__PURE__ */ g(
1418
- $t,
1419
- {
1420
- shape: r.shape,
1421
- tone: r.tone,
1422
- size: "sm",
1423
- label: h(`faceScheme.finding.${e}`)
1424
- }
1425
- ) }, e);
1426
- })
1427
- }
1428
- )
1429
- ]
1430
- }
1431
- );
1432
- }
1433
- );
1434
- wn.displayName = "FaceScheme";
1435
- export {
1436
- dt as F,
1437
- fe as I,
1438
- fn as a,
1439
- ct as b,
1440
- ot as c,
1441
- wn as d,
1442
- lt as e,
1443
- ze as f,
1444
- un as g,
1445
- mn as h,
1446
- Gt as i,
1447
- Bt as j,
1448
- ft as s
1449
- };
1450
- //# sourceMappingURL=face-scheme-BT9_KdL0.js.map