@alfadocs/ui-kit 0.67.1 → 0.69.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 (347) hide show
  1. package/dist/_chunks/{accordion-9lJSMMsZ.js → accordion-DnIa7OHX.js} +69 -47
  2. package/dist/_chunks/actions-cell-renderer-DrcaxB0w.js +2061 -0
  3. package/dist/_chunks/address-autocomplete-BEX9PXty.js +496 -0
  4. package/dist/_chunks/{agenda-card.agent-B_R47-c9.js → agenda-card.agent-mTCrkKSZ.js} +6 -1
  5. package/dist/_chunks/{agenda-tray-T-BumlGZ.js → agenda-tray-g0kg7HwB.js} +36 -24
  6. package/dist/_chunks/{ai-consent-banner-Dxtx_WAh.js → ai-consent-banner-CXlsNX1c.js} +3 -3
  7. package/dist/_chunks/{ai-prompt-input-BwEACCPm.js → ai-prompt-input-CuhTo9mh.js} +80 -61
  8. package/dist/_chunks/{ai-tools-rail-CInA_1-E.js → ai-tools-rail-BA_sqy1A.js} +87 -70
  9. package/dist/_chunks/{alia-sidebar-Ckv0yCKi.js → alia-sidebar-B47qRQb5.js} +5 -5
  10. package/dist/_chunks/{anamnesis-card-N8pIKWuS.js → anamnesis-card-DRmE24OQ.js} +2 -2
  11. package/dist/_chunks/{appointment-tray-BMl89NPW.js → appointment-tray-CZtvtaH-.js} +32 -20
  12. package/dist/_chunks/{audio-recorder-DjXLP4aF.js → audio-recorder-DYXXnGug.js} +59 -56
  13. package/dist/_chunks/{autocomplete-CcCFlVf-.js → autocomplete-DOeGouCL.js} +157 -132
  14. package/dist/_chunks/bishop-score-PJI3AXzA.js +304 -0
  15. package/dist/_chunks/bmi-calculator-BZtIJ53x.js +434 -0
  16. package/dist/_chunks/{booking-L8-YP8BJ.js → booking-C3VqFReX.js} +420 -397
  17. package/dist/_chunks/{breadcrumb-OTbaY70e.js → breadcrumb-CchdeG7d.js} +42 -28
  18. package/dist/_chunks/{calculator-dialog-CFk4I91b.js → calculator-dialog-BR5iU0kf.js} +2 -2
  19. package/dist/_chunks/{calendar-oYWOCrnf.js → calendar-CZUjL8SZ.js} +258 -201
  20. package/dist/_chunks/{care-plan-card-BwVUyUBb.js → care-plan-card-CvFGXa2z.js} +10 -6
  21. package/dist/_chunks/{care-plan-entry-card-VzdQHcOL.js → care-plan-entry-card-C3E_gClk.js} +17 -13
  22. package/dist/_chunks/{carousel.agent-vt21A_el.js → carousel.agent-4v8Emr9E.js} +219 -198
  23. package/dist/_chunks/{chart-Cg3e9EH9.js → chart-CMr3eW62.js} +150 -109
  24. package/dist/_chunks/{chat-container-ogB4OskO.js → chat-container-DWho5hPR.js} +47 -34
  25. package/dist/_chunks/{chat-input-B5zjNEUN.js → chat-input-BcXTetgM.js} +57 -41
  26. package/dist/_chunks/{checkbox-DRcOdmXv.js → checkbox-BuZ1u__2.js} +41 -27
  27. package/dist/_chunks/{checkbox-group-CpUwlHug.js → checkbox-group-PqNmQ-cE.js} +3 -3
  28. package/dist/_chunks/{clinical-note-card-gtrxv6zn.js → clinical-note-card-DqQYf_D4.js} +2 -2
  29. package/dist/_chunks/{collapsible-X3oaLPU3.js → collapsible-BrnRiCC6.js} +26 -23
  30. package/dist/_chunks/{color-picker-FXpItIaF.js → color-picker-C_fZl6sA.js} +124 -112
  31. package/dist/_chunks/{combobox-BC-DFx8G.js → combobox-Clum7gJ1.js} +165 -128
  32. package/dist/_chunks/{command-palette-BiPAAno-.js → command-palette-CJzmc5pC.js} +87 -64
  33. package/dist/_chunks/{contact-profile-card-7BMB85T6.js → contact-profile-card-Dramqa9C.js} +13 -11
  34. package/dist/_chunks/{copy-field-CCq7j6Zc.js → copy-field-Bjw9u2cV.js} +42 -35
  35. package/dist/_chunks/counter-dRlTNC_y.js +55 -0
  36. package/dist/_chunks/{cycle-calculator-BF0ointe.js → cycle-calculator-DmRGJNaT.js} +3 -3
  37. package/dist/_chunks/{date-picker-oGg5BnXL.js → date-picker-Dl9RKxaV.js} +76 -57
  38. package/dist/_chunks/{date-range-picker-C5BWfH_T.js → date-range-picker-CTUeR6Bj.js} +73 -46
  39. package/dist/_chunks/{date-time-picker-Ze1My59T.js → date-time-picker-BhoogS5Q.js} +64 -40
  40. package/dist/_chunks/{dependent-selector-DpzGtr_J.js → dependent-selector-CG_FOHya.js} +44 -30
  41. package/dist/_chunks/{dialog-DMGnSelc.js → dialog-ZNuboNmy.js} +35 -28
  42. package/dist/_chunks/{document-scanner-D2qehl3-.js → document-scanner-CTubA0-N.js} +12 -4
  43. package/dist/_chunks/{dropdown-menu-DwwPovMZ.js → dropdown-menu-qrxjymfw.js} +94 -93
  44. package/dist/_chunks/{due-date-calculator-DU9AEWNy.js → due-date-calculator-BTmsIQqD.js} +4 -4
  45. package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +448 -0
  46. package/dist/_chunks/{email-input-lQivsFrw.js → email-input-B_Y55f5G.js} +3 -3
  47. package/dist/_chunks/{fetal-weight-BVSzOhuR.js → fetal-weight-CRz7KE2D.js} +2 -2
  48. package/dist/_chunks/{file-upload-BosbPDb1.js → file-upload-5ScQd4fE.js} +118 -100
  49. package/dist/_chunks/{fiscal-code-input-DPtqluVb.js → fiscal-code-input-Cf-8O4Fj.js} +76 -63
  50. package/dist/_chunks/{freemium-paywall-CkWjv3o6.js → freemium-paywall-DZ2mBS3w.js} +78 -71
  51. package/dist/_chunks/{gestational-age-calculator-DBlFdoiP.js → gestational-age-calculator-BleUdhbI.js} +5 -5
  52. package/dist/_chunks/{hcg-doubling-if4Q8aSX.js → hcg-doubling-CnjDXX6U.js} +3 -3
  53. package/dist/_chunks/{header-settings-CNOqIhoW.js → header-settings-DJqoAl5m.js} +86 -46
  54. package/dist/_chunks/{index.modern-D2LGACWg.js → index.modern-Zta-A4Jm.js} +3 -3
  55. package/dist/_chunks/{list-BOwqwy03.js → list-DgE1xWBM.js} +99 -84
  56. package/dist/_chunks/{locale-picker-C9JmBht3.js → locale-picker-ChYYSX2N.js} +47 -35
  57. package/dist/_chunks/{map-view-Tb5VfK9Y.js → map-view-BkOoGoX2.js} +160 -115
  58. package/dist/_chunks/{marketplace-app-shell-D4-T9Qzz.js → marketplace-app-shell-6T9W4Knl.js} +4 -4
  59. package/dist/_chunks/{message-card.agent-4IeIgrnJ.js → message-card.agent-ZLhx3Bs5.js} +6 -1
  60. package/dist/_chunks/{message-tray-CVyJajVJ.js → message-tray-DwrBLJlf.js} +90 -48
  61. package/dist/_chunks/{multi-select-BcPylvHR.js → multi-select-BdHHDrRN.js} +196 -153
  62. package/dist/_chunks/{navigation-menu-C6lBYVv9.js → navigation-menu-DRUi6sSj.js} +75 -42
  63. package/dist/_chunks/{notification-card.agent-Rqt3ofk9.js → notification-card.agent-DxGBZb8T.js} +5 -1
  64. package/dist/_chunks/{notification-tray-DlgenTEe.js → notification-tray-Btb9oQeZ.js} +112 -97
  65. package/dist/_chunks/{number-input-Dj5L3pXK.js → number-input-DxphVG_A.js} +36 -27
  66. package/dist/_chunks/{operator-hero-f_KaRhw5.js → operator-hero-CP2Nhupm.js} +12 -8
  67. package/dist/_chunks/{otp-input-xQ4Ps5VY.js → otp-input-DzBQ-CpE.js} +52 -33
  68. package/dist/_chunks/{pagination-DQOgnxxw.js → pagination-D58kglCr.js} +181 -162
  69. package/dist/_chunks/{patient-search-DR9XUYRQ.js → patient-search-CBC_ySF6.js} +69 -60
  70. package/dist/_chunks/{patient-shell-BfgufL_q.js → patient-shell-DV3XEtIB.js} +3 -3
  71. package/dist/_chunks/{patient-summary-card-hEmr4eTW.js → patient-summary-card-B836_fDB.js} +95 -103
  72. package/dist/_chunks/patient-table-CDuosVru.js +889 -0
  73. package/dist/_chunks/{payment-form-nXocS_MX.js → payment-form-DvjwYVIT.js} +56 -44
  74. package/dist/_chunks/{payment-request-card-CYE5vhZ0.js → payment-request-card-DioWKBUq.js} +2 -2
  75. package/dist/_chunks/{pdf-viewer-GsfNqeeT.js → pdf-viewer-D6BPfW2D.js} +205 -157
  76. package/dist/_chunks/{periodontal-chart-card-Dh3KgvYG.js → periodontal-chart-card-BuDEMbHE.js} +2 -2
  77. package/dist/_chunks/{phone-input-DVXhNlIl.js → phone-input-DjU-XmO_.js} +64 -47
  78. package/dist/_chunks/{popover-DTbfAuR0.js → popover-B2qCDhJC.js} +37 -32
  79. package/dist/_chunks/{practice-results-DND2SAt7.js → practice-results-KrTHqZua.js} +278 -242
  80. package/dist/_chunks/{pregnancy-dating-QY-sqpvj.js → pregnancy-dating-DORUAOHB.js} +6 -6
  81. package/dist/_chunks/{pregnancy-weight-gain-DOJXXNYP.js → pregnancy-weight-gain-DVz4rr7-.js} +3 -3
  82. package/dist/_chunks/{privacy-lock-C7JyMf0y.js → privacy-lock-BzMLQu-j.js} +32 -28
  83. package/dist/_chunks/{product-hub-panel-CAXDFeGP.js → product-hub-panel-e6pW220e.js} +45 -27
  84. package/dist/_chunks/{progress-kzIRcdaq.js → progress-DA413-zn.js} +2 -2
  85. package/dist/_chunks/{public-footer.agent-CfXuW1x6.js → public-footer.agent-D0cFbjWl.js} +151 -146
  86. package/dist/_chunks/{public-header.agent-BOhJgZEU.js → public-header.agent-DqkqA-ca.js} +107 -102
  87. package/dist/_chunks/{qr-code-DNXhi6se.js → qr-code-CPkEs5mG.js} +52 -46
  88. package/dist/_chunks/{radio-group-CLjK-SlK.js → radio-group-BPt7pKZW.js} +5 -5
  89. package/dist/_chunks/{recaptcha-widget-BCNHsgqt.js → recaptcha-widget-BC-4To9b.js} +9 -2
  90. package/dist/_chunks/registry-DvAUVLHh.js +51 -0
  91. package/dist/_chunks/{resizable-3vzqDlg6.js → resizable-DVGcfOrk.js} +193 -173
  92. package/dist/_chunks/{reviews-panel-DBktKm7i.js → reviews-panel-Dq7LMDcH.js} +87 -68
  93. package/dist/_chunks/rich-text-editor-BsV7zUdg.js +2142 -0
  94. package/dist/_chunks/{search-bar-SY2BcV2N.js → search-bar-C_T3pBJn.js} +105 -78
  95. package/dist/_chunks/{search-input-DbxrnHkW.js → search-input-DQvGxR74.js} +2 -2
  96. package/dist/_chunks/{search-input.agent-CfZvViOd.js → search-input.agent-DRH54coT.js} +19 -4
  97. package/dist/_chunks/{select-CEtRcon5.js → select-DMLG44F5.js} +72 -56
  98. package/dist/_chunks/{session-countdown-LPnhTHjn.js → session-countdown-X1Ki6i0M.js} +3 -3
  99. package/dist/_chunks/{sheet-taJer-Ha.js → sheet-BxsE7eQm.js} +59 -45
  100. package/dist/_chunks/{sidebar-DaB4ulxH.js → sidebar-DY9jGjgt.js} +254 -248
  101. package/dist/_chunks/{sign-document-CdAiHiCh.js → sign-document-B4DeRhTe.js} +75 -49
  102. package/dist/_chunks/{signature-capture-COi0Uiqu.js → signature-capture-Ct_4Md4e.js} +138 -104
  103. package/dist/_chunks/{slider-BHWzXdjt.js → slider-DN1CWkKB.js} +85 -65
  104. package/dist/_chunks/{sparkline-DGhCSw8M.js → sparkline-iOXYgvJe.js} +75 -53
  105. package/dist/_chunks/{stepper-accordion.agent-C4quJ-MD.js → stepper-accordion.agent-cmEguIdx.js} +7 -1
  106. package/dist/_chunks/{stepper-progress-DDjq5nei.js → stepper-progress-Bv0njx4g.js} +30 -24
  107. package/dist/_chunks/{suggestion-chip.agent-6sNWFj7m.js → suggestion-chip.agent-Brn3CiFE.js} +9 -8
  108. package/dist/_chunks/{switch-BJ6HD3Mn.js → switch-OILsBLWo.js} +25 -19
  109. package/dist/_chunks/{tabs-BIQ0ew1T.js → tabs-BxcOziCo.js} +67 -58
  110. package/dist/_chunks/{task-card.agent-CUPKYd7w.js → task-card.agent-Bt14CzUd.js} +4 -1
  111. package/dist/_chunks/{task-tray-CAncV-QQ.js → task-tray-qOEQflu4.js} +74 -57
  112. package/dist/_chunks/{text-area-BIx0tZ05.js → text-area-Bt3p7Pt0.js} +41 -34
  113. package/dist/_chunks/{text-input-BaClJL8Y.js → text-input-B-OWQ1Je.js} +15 -8
  114. package/dist/_chunks/{theme-toggle-DETmSu_h.js → theme-toggle-XB6o_lgs.js} +38 -26
  115. package/dist/_chunks/{time-picker-B5umYwfv.js → time-picker-BPlJWm8w.js} +41 -31
  116. package/dist/_chunks/{timeline-DQa5Tyz4.js → timeline-CqA4nKTI.js} +33 -25
  117. package/dist/_chunks/{toast.agent-vuLRRn2a.js → toast.agent-57UzyR9U.js} +62 -45
  118. package/dist/_chunks/{tooth-scheme-BIx1O2aJ.js → tooth-scheme-yBr53cvv.js} +421 -348
  119. package/dist/_chunks/{transcript-panel-CLHmv83g.js → transcript-panel-3THQX6nJ.js} +47 -33
  120. package/dist/_chunks/unit-converter-YEpD9evj.js +337 -0
  121. package/dist/_chunks/{use-password-requirements-DsgduV1x.js → use-password-requirements-BXvS2MBS.js} +131 -117
  122. package/dist/_chunks/users-MBVtUzwd.js +17 -0
  123. package/dist/_chunks/warning-stack-BsgaEbL8.js +283 -0
  124. package/dist/_chunks/{whatsapp-button-DUjlWGKf.js → whatsapp-button-BIy6NaJK.js} +6 -3
  125. package/dist/_chunks/{workflow-map-JAZryZJr.js → workflow-map-Bdam9pGp.js} +99 -88
  126. package/dist/agent/index.d.ts +4 -4
  127. package/dist/agent/index.js +36 -0
  128. package/dist/agent/registry.d.ts +33 -0
  129. package/dist/agent/types.d.ts +78 -2
  130. package/dist/agent-catalog.json +6905 -509
  131. package/dist/agent-i18n/en.json +1175 -0
  132. package/dist/components/accordion/index.js +1 -1
  133. package/dist/components/address-autocomplete/address-autocomplete.agent.d.ts +4 -0
  134. package/dist/components/address-autocomplete/address-autocomplete.d.ts +18 -0
  135. package/dist/components/address-autocomplete/index.d.ts +2 -1
  136. package/dist/components/address-autocomplete/index.js +3 -2
  137. package/dist/components/agenda-card/index.js +1 -1
  138. package/dist/components/agenda-tray/index.js +1 -1
  139. package/dist/components/ai-consent-banner/index.js +1 -1
  140. package/dist/components/ai-prompt-input/index.js +1 -1
  141. package/dist/components/ai-tools-rail/index.js +1 -1
  142. package/dist/components/anamnesis-card/index.js +1 -1
  143. package/dist/components/appointment-card/index.js +1 -1
  144. package/dist/components/audio-recorder/index.js +1 -1
  145. package/dist/components/autocomplete/index.js +1 -1
  146. package/dist/components/bishop-score/bishop-score.agent.d.ts +4 -0
  147. package/dist/components/bishop-score/bishop-score.d.ts +17 -1
  148. package/dist/components/bishop-score/index.js +1 -1
  149. package/dist/components/bmi-calculator/bmi-calculator.agent.d.ts +4 -0
  150. package/dist/components/bmi-calculator/bmi-calculator.d.ts +26 -0
  151. package/dist/components/bmi-calculator/index.js +1 -1
  152. package/dist/components/booking/index.js +1 -1
  153. package/dist/components/breadcrumb/index.js +1 -1
  154. package/dist/components/calculator-dialog/index.js +1 -1
  155. package/dist/components/calendar/index.js +1 -1
  156. package/dist/components/care-plan-card/index.js +1 -1
  157. package/dist/components/care-plan-entry-card/index.js +1 -1
  158. package/dist/components/carousel/index.js +1 -1
  159. package/dist/components/chart/index.js +1 -1
  160. package/dist/components/chat-container/index.js +1 -1
  161. package/dist/components/chat-input/index.js +1 -1
  162. package/dist/components/checkbox/index.js +1 -1
  163. package/dist/components/checkbox-group/index.js +1 -1
  164. package/dist/components/clinical-note-card/index.js +1 -1
  165. package/dist/components/collapsible/index.js +1 -1
  166. package/dist/components/color-picker/index.js +1 -1
  167. package/dist/components/combobox/index.js +1 -1
  168. package/dist/components/command-palette/index.js +1 -1
  169. package/dist/components/contact-profile-card/index.js +1 -1
  170. package/dist/components/copy-field/index.js +1 -1
  171. package/dist/components/counter/counter.d.ts +22 -0
  172. package/dist/components/counter/index.d.ts +3 -0
  173. package/dist/components/counter/index.js +5 -0
  174. package/dist/components/cycle-calculator/index.js +1 -1
  175. package/dist/components/data-table/data-table.d.ts +1 -1
  176. package/dist/components/data-table/filters/date-range-filter.d.ts +1 -1
  177. package/dist/components/data-table/index.js +31 -30
  178. package/dist/components/data-table/toolbar.d.ts +4 -1
  179. package/dist/components/date-picker/index.js +1 -1
  180. package/dist/components/date-range-picker/index.js +1 -1
  181. package/dist/components/date-time-picker/index.js +1 -1
  182. package/dist/components/dependent-selector/index.js +1 -1
  183. package/dist/components/dialog/index.js +1 -1
  184. package/dist/components/document-scanner/index.js +1 -1
  185. package/dist/components/dropdown-menu/index.js +1 -1
  186. package/dist/components/due-date-calculator/index.js +1 -1
  187. package/dist/components/email-input/index.js +1 -1
  188. package/dist/components/fetal-weight/index.js +1 -1
  189. package/dist/components/file-upload/index.js +1 -1
  190. package/dist/components/fiscal-code-input/index.js +1 -1
  191. package/dist/components/freemium-paywall/freemium-paywall.d.ts +6 -0
  192. package/dist/components/freemium-paywall/index.js +1 -1
  193. package/dist/components/gestational-age-calculator/index.js +1 -1
  194. package/dist/components/hcg-doubling/index.js +1 -1
  195. package/dist/components/header-settings/index.js +1 -1
  196. package/dist/components/index.d.ts +2 -0
  197. package/dist/components/list/index.js +1 -1
  198. package/dist/components/locale-picker/index.js +1 -1
  199. package/dist/components/map-view/index.js +1 -1
  200. package/dist/components/message-card/index.js +1 -1
  201. package/dist/components/message-tray/index.js +1 -1
  202. package/dist/components/multi-select/index.js +1 -1
  203. package/dist/components/navigation-menu/index.js +1 -1
  204. package/dist/components/notification-card/index.js +1 -1
  205. package/dist/components/notification-tray/index.js +1 -1
  206. package/dist/components/number-input/index.js +1 -1
  207. package/dist/components/operator-hero/index.js +1 -1
  208. package/dist/components/otp-input/index.js +1 -1
  209. package/dist/components/pagination/index.js +1 -1
  210. package/dist/components/password-input/index.js +1 -1
  211. package/dist/components/patient-search/index.js +1 -1
  212. package/dist/components/patient-summary-card/index.js +1 -1
  213. package/dist/components/patient-table/cell-renderers/balance-badge-cell.d.ts +13 -0
  214. package/dist/components/patient-table/cell-renderers/care-plan-status-cell.d.ts +43 -0
  215. package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +45 -0
  216. package/dist/components/patient-table/cell-renderers/next-appointment-cell.d.ts +24 -0
  217. package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +26 -0
  218. package/dist/components/patient-table/columns.d.ts +102 -0
  219. package/dist/components/patient-table/index.d.ts +24 -0
  220. package/dist/components/patient-table/index.js +13 -0
  221. package/dist/components/patient-table/patient-table.d.ts +138 -0
  222. package/dist/components/patient-table/types.d.ts +172 -0
  223. package/dist/components/patient-table/use-responsive-columns.d.ts +109 -0
  224. package/dist/components/payment-card/index.js +1 -1
  225. package/dist/components/payment-form/index.js +1 -1
  226. package/dist/components/pdf-viewer/index.js +1 -1
  227. package/dist/components/periodontal-chart-card/index.js +1 -1
  228. package/dist/components/phone-input/index.js +1 -1
  229. package/dist/components/popover/index.js +1 -1
  230. package/dist/components/practice-results/index.js +1 -1
  231. package/dist/components/pregnancy-dating/index.js +1 -1
  232. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  233. package/dist/components/privacy-lock/index.js +1 -1
  234. package/dist/components/product-hub-tray/index.js +1 -1
  235. package/dist/components/progress/index.js +1 -1
  236. package/dist/components/public-footer/index.js +1 -1
  237. package/dist/components/public-header/index.js +1 -1
  238. package/dist/components/qr-code/index.js +1 -1
  239. package/dist/components/radio-group/index.js +1 -1
  240. package/dist/components/recaptcha-widget/index.js +1 -1
  241. package/dist/components/resizable/index.js +1 -1
  242. package/dist/components/reviews-panel/index.js +1 -1
  243. package/dist/components/rich-text-editor/index.js +1 -1
  244. package/dist/components/rich-text-editor/rich-text-editor.d.ts +15 -0
  245. package/dist/components/search-bar/index.js +1 -1
  246. package/dist/components/search-input/index.js +2 -2
  247. package/dist/components/select/index.js +1 -1
  248. package/dist/components/session-countdown/index.js +1 -1
  249. package/dist/components/sheet/index.js +1 -1
  250. package/dist/components/sidebar/index.js +1 -1
  251. package/dist/components/sidebar/sidebar.d.ts +7 -0
  252. package/dist/components/sign-document/index.js +1 -1
  253. package/dist/components/signature-capture/index.js +1 -1
  254. package/dist/components/slider/index.js +1 -1
  255. package/dist/components/sparkline/index.js +1 -1
  256. package/dist/components/stepper-accordion/index.js +1 -1
  257. package/dist/components/stepper-progress/index.js +1 -1
  258. package/dist/components/suggestion-chip/index.js +1 -1
  259. package/dist/components/switch/index.js +1 -1
  260. package/dist/components/tabs/index.js +1 -1
  261. package/dist/components/task-card/index.js +1 -1
  262. package/dist/components/task-tray/index.js +1 -1
  263. package/dist/components/text-area/index.js +1 -1
  264. package/dist/components/text-input/index.js +1 -1
  265. package/dist/components/theme-toggle/index.js +1 -1
  266. package/dist/components/time-picker/index.js +1 -1
  267. package/dist/components/timeline/index.js +1 -1
  268. package/dist/components/toast/index.js +1 -1
  269. package/dist/components/tooth-scheme/index.js +1 -1
  270. package/dist/components/transcript-panel/index.js +1 -1
  271. package/dist/components/unit-converter/index.js +1 -1
  272. package/dist/components/unit-converter/unit-converter.agent.d.ts +4 -0
  273. package/dist/components/unit-converter/unit-converter.d.ts +27 -0
  274. package/dist/components/warning-stack/index.js +1 -1
  275. package/dist/components/warning-stack/warning-stack.d.ts +9 -0
  276. package/dist/components/whatsapp-button/index.d.ts +1 -1
  277. package/dist/components/whatsapp-button/index.js +3 -2
  278. package/dist/components/whatsapp-button/whatsapp-button.d.ts +3 -0
  279. package/dist/components/workflow/index.js +1 -1
  280. package/dist/i18n/locales/ar.d.ts +74 -0
  281. package/dist/i18n/locales/ar.js +76 -2
  282. package/dist/i18n/locales/de.d.ts +74 -0
  283. package/dist/i18n/locales/de.js +76 -2
  284. package/dist/i18n/locales/el.d.ts +74 -0
  285. package/dist/i18n/locales/el.js +76 -2
  286. package/dist/i18n/locales/en.d.ts +92 -0
  287. package/dist/i18n/locales/en.js +94 -2
  288. package/dist/i18n/locales/es.d.ts +74 -0
  289. package/dist/i18n/locales/es.js +76 -2
  290. package/dist/i18n/locales/fr.d.ts +74 -0
  291. package/dist/i18n/locales/fr.js +76 -2
  292. package/dist/i18n/locales/hi.d.ts +74 -0
  293. package/dist/i18n/locales/hi.js +76 -2
  294. package/dist/i18n/locales/it.d.ts +74 -0
  295. package/dist/i18n/locales/it.js +76 -2
  296. package/dist/i18n/locales/ja.d.ts +74 -0
  297. package/dist/i18n/locales/ja.js +76 -2
  298. package/dist/i18n/locales/nl.d.ts +74 -0
  299. package/dist/i18n/locales/nl.js +76 -2
  300. package/dist/i18n/locales/pl.d.ts +74 -0
  301. package/dist/i18n/locales/pl.js +76 -2
  302. package/dist/i18n/locales/pt.d.ts +74 -0
  303. package/dist/i18n/locales/pt.js +76 -2
  304. package/dist/i18n/locales/ro.d.ts +74 -0
  305. package/dist/i18n/locales/ro.js +76 -2
  306. package/dist/i18n/locales/ru.d.ts +74 -0
  307. package/dist/i18n/locales/ru.js +76 -2
  308. package/dist/i18n/locales/sq.d.ts +74 -0
  309. package/dist/i18n/locales/sq.js +76 -2
  310. package/dist/i18n/locales/sv.d.ts +74 -0
  311. package/dist/i18n/locales/sv.js +76 -2
  312. package/dist/i18n/locales/tr.d.ts +74 -0
  313. package/dist/i18n/locales/tr.js +76 -2
  314. package/dist/i18n/locales/zh.d.ts +74 -0
  315. package/dist/i18n/locales/zh.js +76 -2
  316. package/dist/index.js +688 -673
  317. package/dist/locales/ar.json +76 -2
  318. package/dist/locales/de.json +76 -2
  319. package/dist/locales/el.json +76 -2
  320. package/dist/locales/en.json +76 -2
  321. package/dist/locales/es.json +76 -2
  322. package/dist/locales/fr.json +76 -2
  323. package/dist/locales/hi.json +76 -2
  324. package/dist/locales/it.json +76 -2
  325. package/dist/locales/ja.json +76 -2
  326. package/dist/locales/nl.json +76 -2
  327. package/dist/locales/pl.json +76 -2
  328. package/dist/locales/pt.json +76 -2
  329. package/dist/locales/ro.json +76 -2
  330. package/dist/locales/ru.json +76 -2
  331. package/dist/locales/sq.json +76 -2
  332. package/dist/locales/sv.json +76 -2
  333. package/dist/locales/tr.json +76 -2
  334. package/dist/locales/zh.json +76 -2
  335. package/dist/patterns/alia-assistant/index.js +1 -1
  336. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  337. package/dist/patterns/patient-shell/index.js +1 -1
  338. package/dist/tokens.css +3 -2
  339. package/package.json +14 -1
  340. package/dist/_chunks/address-autocomplete-CT-9AOli.js +0 -358
  341. package/dist/_chunks/bishop-score-CjsB9bM-.js +0 -185
  342. package/dist/_chunks/bmi-calculator-n-823_1V.js +0 -258
  343. package/dist/_chunks/editable-currency-cell-renderer-D1ewvJKO.js +0 -2391
  344. package/dist/_chunks/registry-nPAVE19X.js +0 -21
  345. package/dist/_chunks/rich-text-editor-DAeCXiQG.js +0 -1973
  346. package/dist/_chunks/unit-converter-C1V3ACM9.js +0 -196
  347. package/dist/_chunks/warning-stack-Cv4fr5zo.js +0 -220
@@ -1,27 +1,50 @@
1
1
  import { jsx as u, jsxs as j } from "react/jsx-runtime";
2
- import { forwardRef as Tt, useState as H, useRef as de, useEffect as ne, useMemo as Te, useCallback as E, useImperativeHandle as St } from "react";
3
- import * as K from "@radix-ui/react-tooltip";
4
- import { c as Y } from "./index-D2ZczOXr.js";
5
- import { useTranslation as nt } from "react-i18next";
6
- import { u as Lt } from "./registry-nPAVE19X.js";
7
- import { I as It } from "./icon-button-LqoiKcUN.js";
8
- import { P as Se } from "./popover-DTbfAuR0.js";
9
- import { S as kt } from "./select-CEtRcon5.js";
10
- import { S as Ot } from "./switch-BJ6HD3Mn.js";
11
- import { S as At } from "./settings-ca2Yi9R8.js";
12
- const Ct = {
2
+ import { forwardRef as Lt, useState as q, useRef as le, useEffect as re, useMemo as Le, useCallback as R, useImperativeHandle as It } from "react";
3
+ import * as B from "@radix-ui/react-tooltip";
4
+ import { c as V } from "./index-D2ZczOXr.js";
5
+ import { useTranslation as ot } from "react-i18next";
6
+ import { u as Ct } from "./registry-DvAUVLHh.js";
7
+ import { I as At } from "./icon-button-LqoiKcUN.js";
8
+ import { P as Ie } from "./popover-B2qCDhJC.js";
9
+ import { S as Ot } from "./select-DMLG44F5.js";
10
+ import { S as kt } from "./switch-OILsBLWo.js";
11
+ import { S as Dt } from "./settings-ca2Yi9R8.js";
12
+ const G = {
13
+ type: "string",
14
+ description: "FDI tooth id, e.g. '11'–'48' permanent, '51'–'85' primary."
15
+ }, ue = {
16
+ enum: [
17
+ "caries",
18
+ "filled",
19
+ "crowned",
20
+ "temporaryCrown",
21
+ "bridge",
22
+ "missing",
23
+ "implant",
24
+ "implantExtraction",
25
+ "stub",
26
+ "destroyed",
27
+ "rootCanal"
28
+ ]
29
+ }, Mt = {
30
+ enum: ["mesial", "distal", "occlusal", "buccal", "lingual"]
31
+ }, _t = {
13
32
  id: "tooth-scheme",
14
- // pick — focus/select a tooth; edit_inline record/clear findings;
33
+ // pick — focus/select a tooth (`focus_tooth`, transient, not persisted);
34
+ // set_value / edit_inline — `set_finding` records a finding and marks the
35
+ // affected surfaces (set-surface), `remove_finding` clears one;
15
36
  // view_change — the side/plan projection + dentition are view props.
16
- capabilities: ["pick", "edit_inline", "view_change"],
37
+ capabilities: ["pick", "set_value", "edit_inline", "view_change"],
17
38
  state: {
18
39
  chart: {
19
40
  type: "object",
41
+ descriptionKey: "ui.agent.toothScheme.state.chart",
20
42
  description: "Current dental chart — findings (and marked surfaces) keyed by FDI id.",
21
43
  read: (t) => t.getChart()
22
44
  },
23
45
  chartedTeeth: {
24
46
  type: "string[]",
47
+ descriptionKey: "ui.agent.toothScheme.state.chartedTeeth",
25
48
  description: "FDI ids of every tooth carrying at least one finding.",
26
49
  read: (t) => Object.keys(t.getChart())
27
50
  }
@@ -30,6 +53,13 @@ const Ct = {
30
53
  focus_tooth: {
31
54
  safety: "read",
32
55
  argsType: "{ id: FdiId }",
56
+ argsSchema: {
57
+ type: "object",
58
+ properties: { id: G },
59
+ required: ["id"]
60
+ },
61
+ idempotent: !0,
62
+ descriptionKey: "ui.agent.toothScheme.actions.focusTooth",
33
63
  description: "Move focus to a specific tooth by FDI id.",
34
64
  invoke: (t, n) => {
35
65
  t.focusTooth(n.id);
@@ -38,18 +68,47 @@ const Ct = {
38
68
  get_tooth: {
39
69
  safety: "read",
40
70
  argsType: "{ id: FdiId }",
71
+ argsSchema: {
72
+ type: "object",
73
+ properties: { id: G },
74
+ required: ["id"]
75
+ },
76
+ returns: "ToothCondition[]",
77
+ returnsSchema: { type: "array", items: ue },
78
+ idempotent: !0,
79
+ descriptionKey: "ui.agent.toothScheme.actions.getTooth",
41
80
  description: "Read the findings recorded on one tooth (FDI id).",
42
81
  invoke: (t, n) => t.getTooth(n.id)
43
82
  },
44
83
  teeth_with: {
45
84
  safety: "read",
46
85
  argsType: "{ condition: ToothCondition }",
86
+ argsSchema: {
87
+ type: "object",
88
+ properties: { condition: ue },
89
+ required: ["condition"]
90
+ },
91
+ returns: "FdiId[]",
92
+ returnsSchema: { type: "array", items: G },
93
+ idempotent: !0,
94
+ descriptionKey: "ui.agent.toothScheme.actions.teethWith",
47
95
  description: "List the FDI ids of every tooth carrying a given finding (e.g. all teeth with caries).",
48
96
  invoke: (t, n) => t.teethWith(n.condition)
49
97
  },
50
98
  set_finding: {
51
99
  safety: "write",
52
100
  argsType: "{ id: FdiId; condition: ToothCondition; surfaces?: Surface[] }",
101
+ argsSchema: {
102
+ type: "object",
103
+ properties: {
104
+ id: G,
105
+ condition: ue,
106
+ surfaces: { type: "array", items: Mt }
107
+ },
108
+ required: ["id", "condition"]
109
+ },
110
+ idempotent: !0,
111
+ descriptionKey: "ui.agent.toothScheme.actions.setFinding",
53
112
  description: "Record a finding on a tooth (crown, implant, root canal, caries, …). Optionally mark the affected surfaces for a surface finding.",
54
113
  invoke: (t, n) => {
55
114
  t.setFinding(n.id, n.condition, n.surfaces);
@@ -58,6 +117,13 @@ const Ct = {
58
117
  remove_finding: {
59
118
  safety: "write",
60
119
  argsType: "{ id: FdiId; condition: ToothCondition }",
120
+ argsSchema: {
121
+ type: "object",
122
+ properties: { id: G, condition: ue },
123
+ required: ["id", "condition"]
124
+ },
125
+ idempotent: !0,
126
+ descriptionKey: "ui.agent.toothScheme.actions.removeFinding",
61
127
  description: "Remove a single finding from a tooth.",
62
128
  invoke: (t, n) => {
63
129
  t.removeFinding(n.id, n.condition);
@@ -66,6 +132,13 @@ const Ct = {
66
132
  clear_tooth: {
67
133
  safety: "destructive",
68
134
  argsType: "{ id: FdiId }",
135
+ argsSchema: {
136
+ type: "object",
137
+ properties: { id: G },
138
+ required: ["id"]
139
+ },
140
+ idempotent: !0,
141
+ descriptionKey: "ui.agent.toothScheme.actions.clearTooth",
69
142
  description: "Clear every finding from a tooth.",
70
143
  invoke: (t, n) => {
71
144
  t.clearTooth(n.id);
@@ -84,7 +157,7 @@ const Ct = {
84
157
  description: "Each rendered tooth `<g>` carries its FDI id as `data-fdi`. The `data-projection` attribute on the root exposes the side/plan view."
85
158
  }
86
159
  }
87
- }, Ae = [
160
+ }, De = [
88
161
  // upper
89
162
  "18",
90
163
  "17",
@@ -119,7 +192,7 @@ const Ct = {
119
192
  "36",
120
193
  "37",
121
194
  "38"
122
- ], Ce = [
195
+ ], Me = [
123
196
  // upper
124
197
  "55",
125
198
  "54",
@@ -143,17 +216,17 @@ const Ct = {
143
216
  "74",
144
217
  "75"
145
218
  ];
146
- function Dt(t) {
219
+ function Et(t) {
147
220
  return t <= 2 ? "incisor" : t === 3 ? "canine" : t <= 5 ? "premolar" : "molar";
148
221
  }
149
- function Mt(t) {
222
+ function Nt(t) {
150
223
  return t <= 2 ? "incisor" : t === 3 ? "canine" : "molar";
151
224
  }
152
- function Nt(t, n) {
225
+ function Rt(t, n) {
153
226
  const i = (t - 1) % 4 + 1;
154
227
  return `${i === 1 ? "UR" : i === 2 ? "UL" : i === 3 ? "LL" : "LR"}${n}`;
155
228
  }
156
- function Rt(t, n) {
229
+ function jt(t, n) {
157
230
  switch (t) {
158
231
  case 1:
159
232
  return String(1 + (8 - n));
@@ -167,7 +240,7 @@ function Rt(t, n) {
167
240
  return "";
168
241
  }
169
242
  }
170
- function _t(t, n) {
243
+ function Ft(t, n) {
171
244
  const i = "ABCDEFGHIJKLMNOPQRST";
172
245
  let r = -1;
173
246
  switch (t) {
@@ -188,8 +261,8 @@ function _t(t, n) {
188
261
  }
189
262
  return r >= 0 ? i[r] : "";
190
263
  }
191
- function Et(t) {
192
- const n = Number(t[0]), i = Number(t[1]), r = n >= 5, l = r ? Mt(i) : Dt(i), m = n === 1 || n === 2 || n === 5 || n === 6 ? "upper" : "lower", $ = n === 1 || n === 4 || n === 5 || n === 8 ? "right" : "left", v = r ? _t(n, i) : Rt(n, i), f = Nt(n, i);
264
+ function qt(t) {
265
+ const n = Number(t[0]), i = Number(t[1]), r = n >= 5, l = r ? Nt(i) : Et(i), m = n === 1 || n === 2 || n === 5 || n === 6 ? "upper" : "lower", $ = n === 1 || n === 4 || n === 5 || n === 8 ? "right" : "left", v = r ? Ft(n, i) : jt(n, i), f = Rt(n, i);
193
266
  return {
194
267
  fdi: t,
195
268
  universal: v,
@@ -203,17 +276,17 @@ function Et(t) {
203
276
  };
204
277
  }
205
278
  const F = [
206
- ...Ae,
207
- ...Ce
208
- ].reduce((t, n) => (t[n] = Et(n), t), {}), jt = Object.fromEntries(
279
+ ...De,
280
+ ...Me
281
+ ].reduce((t, n) => (t[n] = qt(n), t), {}), Ht = Object.fromEntries(
209
282
  Object.entries(F).map(([t, n]) => [t, n.universal])
210
- ), Ft = Object.fromEntries(
283
+ ), Wt = Object.fromEntries(
211
284
  Object.entries(F).map(([t, n]) => [t, n.palmer])
212
285
  );
213
- function Me(t) {
286
+ function Ee(t) {
214
287
  return t.dentition !== "primary" ? t.fdi : `${t.quadrant - 4}${t.positionInQuadrant}`;
215
288
  }
216
- const Ht = 0.72, hn = {
289
+ const Ut = 0.72, gn = {
217
290
  caries: "--destructive",
218
291
  filled: "--info",
219
292
  crowned: "--warning",
@@ -225,7 +298,7 @@ const Ht = 0.72, hn = {
225
298
  stub: "--muted-foreground",
226
299
  destroyed: "--destructive",
227
300
  rootCanal: "--primary"
228
- }, ue = {
301
+ }, he = {
229
302
  caries: "var(--destructive)",
230
303
  filled: "var(--info)",
231
304
  crowned: "var(--warning)",
@@ -237,7 +310,7 @@ const Ht = 0.72, hn = {
237
310
  stub: "var(--muted-foreground)",
238
311
  destroyed: "var(--destructive)",
239
312
  rootCanal: "var(--primary)"
240
- }, De = {
313
+ }, _e = {
241
314
  crowned: { folder: "crown", resolve: "per-fdi" },
242
315
  temporaryCrown: { folder: "temporaryCrown", resolve: "per-fdi" },
243
316
  bridge: { folder: "replacement", resolve: "per-fdi" },
@@ -247,116 +320,116 @@ const Ht = 0.72, hn = {
247
320
  stub: { folder: "stub", resolve: "general" },
248
321
  rootCanal: { folder: "rootTreatment", resolve: "rct" }
249
322
  };
250
- function rt(t, n, i) {
323
+ function it(t, n, i) {
251
324
  const r = t.arch === "upper" ? "top" : "bottom", l = `${n}/side/${i.folder}/${r}`;
252
325
  if (i.resolve === "general") return `${l}/general.webp`;
253
- const m = Me(t);
326
+ const m = Ee(t);
254
327
  return i.resolve === "rct" ? `${l}/${m}/full.webp` : `${l}/${m}.webp`;
255
328
  }
256
- const qt = {
329
+ const Kt = {
257
330
  mesial: "mesial",
258
331
  distal: "distal",
259
332
  occlusal: "occlusal",
260
333
  buccal: "vestibular",
261
334
  lingual: "oral"
262
- }, Wt = {
335
+ }, Pt = {
263
336
  caries: "caries",
264
337
  filled: "filling"
265
338
  };
266
- function Pt(t, n, i, r) {
339
+ function Zt(t, n, i, r) {
267
340
  const l = t.arch === "upper" ? "top" : "bottom";
268
- return `${n}/plan/${i}/${l}/${Me(t)}-${qt[r]}.webp`;
341
+ return `${n}/plan/${i}/${l}/${Ee(t)}-${Kt[r]}.webp`;
269
342
  }
270
- function Le(t) {
343
+ function Ce(t) {
271
344
  return t.anatomy === "molar" || t.anatomy === "premolar" ? ["top", "bottom", "left", "right", "center"] : ["top", "bottom", "left", "right"];
272
345
  }
273
- function Ge(t, n) {
346
+ function Xe(t, n) {
274
347
  if (n === "center") return "occlusal";
275
348
  if (n === "top") return t.arch === "upper" ? "buccal" : "lingual";
276
349
  if (n === "bottom") return t.arch === "upper" ? "lingual" : "buccal";
277
350
  const i = t.quadrant <= 4 ? t.quadrant : t.quadrant - 4, r = i === 1 || i === 4;
278
351
  return n === "left" ? r ? "distal" : "mesial" : r ? "mesial" : "distal";
279
352
  }
280
- const Qe = (t) => Math.round(t * 100) / 100;
281
- function Ut(t, n, i) {
282
- const { x: r, y: l, w: m, h: $ } = n, v = r + m, f = l + $, a = (O, M) => `${Qe(O)} ${Qe(M)}`;
353
+ const Je = (t) => Math.round(t * 100) / 100;
354
+ function Vt(t, n, i) {
355
+ const { x: r, y: l, w: m, h: $ } = n, v = r + m, f = l + $, a = (A, M) => `${Je(A)} ${Je(M)}`;
283
356
  if (!i) {
284
- const O = r + m / 2, M = l + $ / 2;
357
+ const A = r + m / 2, M = l + $ / 2;
285
358
  switch (t) {
286
359
  case "top":
287
- return `M ${a(r, l)} L ${a(v, l)} L ${a(O, M)} Z`;
360
+ return `M ${a(r, l)} L ${a(v, l)} L ${a(A, M)} Z`;
288
361
  case "bottom":
289
- return `M ${a(r, f)} L ${a(v, f)} L ${a(O, M)} Z`;
362
+ return `M ${a(r, f)} L ${a(v, f)} L ${a(A, M)} Z`;
290
363
  case "left":
291
- return `M ${a(r, l)} L ${a(O, M)} L ${a(r, f)} Z`;
364
+ return `M ${a(r, l)} L ${a(A, M)} L ${a(r, f)} Z`;
292
365
  case "right":
293
- return `M ${a(v, l)} L ${a(O, M)} L ${a(v, f)} Z`;
366
+ return `M ${a(v, l)} L ${a(A, M)} L ${a(v, f)} Z`;
294
367
  default:
295
368
  return "";
296
369
  }
297
370
  }
298
- const w = r + m * 0.3, S = l + $ * 0.3, k = r + m * 0.7, g = l + $ * 0.7;
371
+ const y = r + m * 0.3, T = l + $ * 0.3, C = r + m * 0.7, g = l + $ * 0.7;
299
372
  switch (t) {
300
373
  case "center":
301
- return `M ${a(w, S)} L ${a(k, S)} L ${a(k, g)} L ${a(w, g)} Z`;
374
+ return `M ${a(y, T)} L ${a(C, T)} L ${a(C, g)} L ${a(y, g)} Z`;
302
375
  case "top":
303
- return `M ${a(r, l)} L ${a(v, l)} L ${a(k, S)} L ${a(w, S)} Z`;
376
+ return `M ${a(r, l)} L ${a(v, l)} L ${a(C, T)} L ${a(y, T)} Z`;
304
377
  case "bottom":
305
- return `M ${a(r, f)} L ${a(v, f)} L ${a(k, g)} L ${a(w, g)} Z`;
378
+ return `M ${a(r, f)} L ${a(v, f)} L ${a(C, g)} L ${a(y, g)} Z`;
306
379
  case "left":
307
- return `M ${a(r, l)} L ${a(w, S)} L ${a(w, g)} L ${a(r, f)} Z`;
380
+ return `M ${a(r, l)} L ${a(y, T)} L ${a(y, g)} L ${a(r, f)} Z`;
308
381
  case "right":
309
- return `M ${a(v, l)} L ${a(k, S)} L ${a(k, g)} L ${a(v, f)} Z`;
382
+ return `M ${a(v, l)} L ${a(C, T)} L ${a(C, g)} L ${a(v, f)} Z`;
310
383
  default:
311
384
  return "";
312
385
  }
313
386
  }
314
- const Ie = 5, Xe = 40, U = 4, q = 36, ot = 62;
315
- function it(t, n, i = "default", r = "side") {
387
+ const Ae = 5, et = 40, K = 4, H = 36, st = 62;
388
+ function at(t, n, i = "default", r = "side") {
316
389
  const l = t.arch === "upper" ? "top" : "bottom";
317
- return `${n}/${r}/${i}/${l}/${Me(t)}.webp`;
390
+ return `${n}/${r}/${i}/${l}/${Ee(t)}.webp`;
318
391
  }
319
- function Zt(t, n = ot) {
320
- const i = t === "primary" ? Ce : t === "mixed" ? [...Ae, ...Ce] : Ae, r = [], l = [];
392
+ function Yt(t, n = st) {
393
+ const i = t === "primary" ? Me : t === "mixed" ? [...De, ...Me] : De, r = [], l = [];
321
394
  for (const g of i)
322
395
  F[g].arch === "upper" ? r.push(g) : l.push(g);
323
- const m = q + Ie, $ = Math.max(r.length, l.length), v = $ > 0 ? $ * m - Ie : 0;
324
- function f(g, O) {
325
- const M = g.length > 0 ? g.length * m - Ie : 0, fe = (v - M) / 2;
326
- return g.map((d, he) => {
327
- const re = F[d];
396
+ const m = H + Ae, $ = Math.max(r.length, l.length), v = $ > 0 ? $ * m - Ae : 0;
397
+ function f(g, A) {
398
+ const M = g.length > 0 ? g.length * m - Ae : 0, me = (v - M) / 2;
399
+ return g.map((d, pe) => {
400
+ const oe = F[d];
328
401
  return {
329
402
  fdi: d,
330
- meta: re,
331
- x: fe + he * m,
332
- y: O
403
+ meta: oe,
404
+ x: me + pe * m,
405
+ y: A
333
406
  };
334
407
  });
335
408
  }
336
- const a = f(r, 0), w = f(l, n + Xe), S = v > 0 ? v : $ * m, k = n * 2 + Xe;
337
- return { teeth: [...a, ...w], width: S, height: k };
409
+ const a = f(r, 0), y = f(l, n + et), T = v > 0 ? v : $ * m, C = n * 2 + et;
410
+ return { teeth: [...a, ...y], width: T, height: C };
338
411
  }
339
- function Je(t, n) {
412
+ function tt(t, n) {
340
413
  switch (n) {
341
414
  case "universal":
342
- return jt[t] ?? t;
415
+ return Ht[t] ?? t;
343
416
  case "palmer":
344
- return Ft[t] ?? t;
417
+ return Wt[t] ?? t;
345
418
  case "fdi":
346
419
  default:
347
420
  return t;
348
421
  }
349
422
  }
350
- function mn() {
423
+ function vn() {
351
424
  return {};
352
425
  }
353
- function et(t) {
426
+ function nt(t) {
354
427
  const n = {};
355
428
  for (const [i, r] of Object.entries(t))
356
429
  !r || r.length === 0 || (n[i] = { conditions: r, surfaces: [] });
357
430
  return n;
358
431
  }
359
- const Vt = Y(
432
+ const zt = V(
360
433
  [
361
434
  "ds:tooth-scheme-alfadocs",
362
435
  "ds:flex ds:flex-col",
@@ -376,28 +449,28 @@ const Vt = Y(
376
449
  "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
377
450
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
378
451
  ].join(" ")
379
- ), Yt = Y(
452
+ ), Bt = V(
380
453
  [
381
454
  "ds:block",
382
455
  "ds:w-full ds:min-w-fit ds:h-auto",
383
456
  "ds:text-[var(--foreground)]"
384
457
  ].join(" ")
385
- ), zt = Y(
458
+ ), Gt = V(
386
459
  [
387
460
  "ds:group ds:cursor-pointer",
388
461
  "ds:focus:outline-none",
389
462
  "ds:transition-[fill,stroke,opacity] ds:duration-[var(--animation-duration)]",
390
463
  "ds:motion-reduce:transition-none"
391
464
  ].join(" ")
392
- ), Bt = Y(
465
+ ), Qt = V(
393
466
  [
394
467
  "ds:flex ds:flex-wrap ds:items-center",
395
468
  "ds:gap-[var(--spacing-sm)]",
396
469
  "type-meta ds:text-[var(--muted-foreground)]"
397
470
  ].join(" ")
398
- ), Kt = Y(
471
+ ), Xt = V(
399
472
  ["ds:inline-flex ds:items-center", "ds:gap-[var(--spacing-xs)]"].join(" ")
400
- ), Gt = Y(["ds:sr-only"].join(" ")), Qt = Y(
473
+ ), Jt = V(["ds:sr-only"].join(" ")), en = V(
401
474
  [
402
475
  "ds:cursor-pointer ds:outline-none",
403
476
  "ds:fill-transparent ds:stroke-transparent",
@@ -409,17 +482,17 @@ const Vt = Y(
409
482
  "ds:forced-colors:focus-visible:stroke-[CanvasText]"
410
483
  ].join(" ")
411
484
  );
412
- function ke(t) {
485
+ function Oe(t) {
413
486
  return t.value !== void 0;
414
487
  }
415
- function le() {
488
+ function fe() {
416
489
  return { conditions: [], surfaces: [] };
417
490
  }
418
- function tt(t, n) {
491
+ function rt(t, n) {
419
492
  const i = t ?? [];
420
493
  return n ? i.includes(n) ? i.filter((r) => r !== n) : [...i, n] : i.length === 0 ? ["caries"] : [];
421
494
  }
422
- function Xt(t, n, i) {
495
+ function tn(t, n, i) {
423
496
  var l;
424
497
  return i ? ((l = {
425
498
  top: { ArrowDown: "center" },
@@ -434,7 +507,7 @@ function Xt(t, n, i) {
434
507
  }
435
508
  }[t]) == null ? void 0 : l[n]) ?? t : n === "ArrowUp" ? "top" : n === "ArrowDown" ? "bottom" : n === "ArrowLeft" ? "left" : n === "ArrowRight" ? "right" : t;
436
509
  }
437
- const Jt = [
510
+ const nn = [
438
511
  "caries",
439
512
  "filled",
440
513
  "crowned",
@@ -447,11 +520,11 @@ const Jt = [
447
520
  "destroyed",
448
521
  "missing"
449
522
  ];
450
- function en({
523
+ function rn({
451
524
  condition: t,
452
525
  assetBaseUrl: n
453
526
  }) {
454
- const i = F[16], r = De[t], l = t === "missing", m = t === "caries" || t === "filled", $ = 36 * 0.9, v = 62 * 0.9, f = (36 - $) / 2, a = (62 - v) / 2;
527
+ const i = F[16], r = _e[t], l = t === "missing", m = t === "caries" || t === "filled", $ = 36 * 0.9, v = 62 * 0.9, f = (36 - $) / 2, a = (62 - v) / 2;
455
528
  return /* @__PURE__ */ j(
456
529
  "svg",
457
530
  {
@@ -464,7 +537,7 @@ function en({
464
537
  /* @__PURE__ */ u(
465
538
  "image",
466
539
  {
467
- href: it(i, n),
540
+ href: at(i, n),
468
541
  x: f,
469
542
  y: a,
470
543
  width: $,
@@ -476,7 +549,7 @@ function en({
476
549
  r ? /* @__PURE__ */ u(
477
550
  "image",
478
551
  {
479
- href: rt(i, n, r),
552
+ href: it(i, n, r),
480
553
  x: f,
481
554
  y: a,
482
555
  width: $,
@@ -492,7 +565,7 @@ function en({
492
565
  width: 30,
493
566
  height: 58,
494
567
  fill: "none",
495
- stroke: ue[t],
568
+ stroke: he[t],
496
569
  strokeWidth: 2,
497
570
  strokeDasharray: t === "filled" ? "4 2" : void 0,
498
571
  rx: 6
@@ -502,7 +575,7 @@ function en({
502
575
  "path",
503
576
  {
504
577
  d: "M7 9 L29 53 M29 9 L7 53",
505
- stroke: ue.missing,
578
+ stroke: he.missing,
506
579
  strokeWidth: 2,
507
580
  fill: "none"
508
581
  }
@@ -511,8 +584,8 @@ function en({
511
584
  }
512
585
  );
513
586
  }
514
- function tn({ assetBaseUrl: t }) {
515
- const { t: n } = nt();
587
+ function on({ assetBaseUrl: t }) {
588
+ const { t: n } = ot();
516
589
  return /* @__PURE__ */ j(
517
590
  "section",
518
591
  {
@@ -521,14 +594,14 @@ function tn({ assetBaseUrl: t }) {
521
594
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:rounded-[var(--radius-md)] ds:bg-[var(--card)] ds:border ds:border-[color:var(--card-border)] ds:p-[var(--spacing-sm)] ds:shadow-[var(--shadow-card)] ds:[.theme-accessible_&]:border-2",
522
595
  children: [
523
596
  /* @__PURE__ */ u("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: n("toothScheme.legendLabel") }),
524
- /* @__PURE__ */ u("ul", { className: Bt(), children: Jt.map((i) => /* @__PURE__ */ j(
597
+ /* @__PURE__ */ u("ul", { className: Qt(), children: nn.map((i) => /* @__PURE__ */ j(
525
598
  "li",
526
599
  {
527
- className: Kt(),
600
+ className: Xt(),
528
601
  "data-condition": i,
529
602
  "data-testid": `tooth-scheme-legend-item-${i}`,
530
603
  children: [
531
- /* @__PURE__ */ u(en, { condition: i, assetBaseUrl: t }),
604
+ /* @__PURE__ */ u(rn, { condition: i, assetBaseUrl: t }),
532
605
  /* @__PURE__ */ u("span", { children: n(`toothScheme.condition.${i}`) })
533
606
  ]
534
607
  },
@@ -538,7 +611,7 @@ function tn({ assetBaseUrl: t }) {
538
611
  }
539
612
  );
540
613
  }
541
- function Oe({
614
+ function ke({
542
615
  label: t,
543
616
  value: n,
544
617
  options: i,
@@ -555,7 +628,7 @@ function Oe({
555
628
  }
556
629
  ),
557
630
  /* @__PURE__ */ u(
558
- kt,
631
+ Ot,
559
632
  {
560
633
  size: "md",
561
634
  "aria-label": t,
@@ -567,7 +640,7 @@ function Oe({
567
640
  )
568
641
  ] });
569
642
  }
570
- const st = Tt(
643
+ const ct = Lt(
571
644
  ({
572
645
  id: t,
573
646
  dentition: n = "permanent",
@@ -579,89 +652,89 @@ const st = Tt(
579
652
  onChange: v,
580
653
  onSelect: f,
581
654
  conditions: a,
582
- activeCondition: w,
583
- assetBaseUrl: S = "/toothscheme/teeth",
584
- legend: k = !1,
655
+ activeCondition: y,
656
+ assetBaseUrl: T = "/toothscheme/teeth",
657
+ legend: C = !1,
585
658
  controls: g = !1,
586
- ariaLabel: O,
659
+ ariaLabel: A,
587
660
  className: M
588
- }, fe) => {
589
- const { t: d } = nt(), [he, re] = H(n), [at, Ne] = H(i), [ct, Re] = H(l), [dt, _e] = H(k), [me, lt] = H(null), G = g ? he : n, Q = g ? at : i, Ee = g ? dt : k, oe = g ? ct : l, W = oe === "plan" ? "plan" : "side", je = oe === "both", Fe = de(g);
590
- ne(() => {
591
- g && !Fe.current && (re(n), Ne(i), Re(l), _e(k)), Fe.current = g;
592
- }, [g, n, i, l, k]);
593
- const [ut, He] = H(() => m !== void 0 ? m : $ !== void 0 ? $ : a ? et(a) : {}), p = ke({ value: m }) ? m : ut;
594
- ne(() => {
595
- ke({ value: m }) || a !== void 0 && He(et(a));
661
+ }, me) => {
662
+ const { t: d } = ot(), [pe, oe] = q(n), [dt, Ne] = q(i), [lt, Re] = q(l), [ut, je] = q(C), [ge, ft] = q(null), Q = g ? pe : n, X = g ? dt : i, Fe = g ? ut : C, ie = g ? lt : l, W = ie === "plan" ? "plan" : "side", qe = ie === "both", He = le(g);
663
+ re(() => {
664
+ g && !He.current && (oe(n), Ne(i), Re(l), je(C)), He.current = g;
665
+ }, [g, n, i, l, C]);
666
+ const [ht, We] = q(() => m !== void 0 ? m : $ !== void 0 ? $ : a ? nt(a) : {}), p = Oe({ value: m }) ? m : ht;
667
+ re(() => {
668
+ Oe({ value: m }) || a !== void 0 && We(nt(a));
596
669
  }, [a, m]);
597
- const N = W === "plan" ? 44 : ot, X = Te(
598
- () => Zt(G, N),
599
- [G, N]
600
- ), Z = Te(() => X.teeth.map((e) => e.fdi), [X]), pe = Z[0], [ie, z] = H(pe);
601
- ne(() => {
602
- (!ie || !Z.includes(ie)) && z(pe);
603
- }, [pe, ie, Z]);
604
- const [ft, B] = H(""), ge = de(null), A = E(
670
+ const _ = W === "plan" ? 44 : st, J = Le(
671
+ () => Yt(Q, _),
672
+ [Q, _]
673
+ ), P = Le(() => J.teeth.map((e) => e.fdi), [J]), ve = P[0], [se, Y] = q(ve);
674
+ re(() => {
675
+ (!se || !P.includes(se)) && Y(ve);
676
+ }, [ve, se, P]);
677
+ const [mt, z] = q(""), be = le(null), O = R(
605
678
  (e) => {
606
- ke({ value: m }) || He(e), v == null || v(e);
679
+ Oe({ value: m }) || We(e), v == null || v(e);
607
680
  },
608
681
  [v, m]
609
- ), R = E((e) => {
610
- const o = ge.current;
682
+ ), E = R((e) => {
683
+ const o = be.current;
611
684
  if (!o) return;
612
685
  const s = o.querySelector(`g[data-fdi="${e}"]`);
613
- s && (s.focus(), z(e));
614
- }, []), _ = W === "plan" && r === "interactive" && (w === "caries" || w === "filled"), [T, J] = H(null);
615
- ne(() => {
616
- (!_ || T && !Z.includes(T.fdi)) && J(null);
617
- }, [_, T, Z]);
618
- const qe = E((e, o) => {
686
+ s && (s.focus(), Y(e));
687
+ }, []), N = W === "plan" && r === "interactive" && (y === "caries" || y === "filled"), [S, ee] = q(null);
688
+ re(() => {
689
+ (!N || S && !P.includes(S.fdi)) && ee(null);
690
+ }, [N, S, P]);
691
+ const Ue = R((e, o) => {
619
692
  var c;
620
- const s = (c = ge.current) == null ? void 0 : c.querySelector(
693
+ const s = (c = be.current) == null ? void 0 : c.querySelector(
621
694
  `path[data-fdi="${e}"][data-zone="${o}"]`
622
695
  );
623
696
  s == null || s.focus();
624
- }, []), ve = de(null);
625
- ne(() => {
626
- T ? qe(T.fdi, T.zone) : ve.current && R(ve.current.fdi), ve.current = T;
627
- }, [T, qe, R]);
628
- const ht = E(
697
+ }, []), ye = le(null);
698
+ re(() => {
699
+ S ? Ue(S.fdi, S.zone) : ye.current && E(ye.current.fdi), ye.current = S;
700
+ }, [S, Ue, E]);
701
+ const pt = R(
629
702
  (e, o) => {
630
703
  const s = p[e];
631
- return !!(s && s.surfaces.includes(o) && s.conditions.includes(w));
704
+ return !!(s && s.surfaces.includes(o) && s.conditions.includes(y));
632
705
  },
633
- [p, w]
634
- ), We = E(
706
+ [p, y]
707
+ ), Ke = R(
635
708
  (e, o) => {
636
- o && o.conditions.length > 0 ? B(
709
+ o && o.conditions.length > 0 ? z(
637
710
  d("toothScheme.selected", {
638
711
  id: e,
639
712
  conditions: o.conditions.map((s) => d(`toothScheme.condition.${s}`)).join(", ")
640
713
  })
641
- ) : B(d("toothScheme.deselected", { id: e }));
714
+ ) : z(d("toothScheme.deselected", { id: e }));
642
715
  },
643
716
  [d]
644
- ), be = E(
717
+ ), we = R(
645
718
  (e, o) => {
646
- if (!_) return;
647
- const s = w, c = p[e] ?? le(), x = c.surfaces.includes(o), L = c.conditions.includes(s);
648
- let b, y;
649
- x && L ? (b = c.surfaces.filter((V) => V !== o), y = b.length === 0 ? c.conditions.filter((V) => V !== s) : c.conditions) : (b = x ? c.surfaces : [...c.surfaces, o], y = L ? c.conditions : [...c.conditions, s]);
719
+ if (!N) return;
720
+ const s = y, c = p[e] ?? fe(), x = c.surfaces.includes(o), L = c.conditions.includes(s);
721
+ let b, w;
722
+ x && L ? (b = c.surfaces.filter((Z) => Z !== o), w = b.length === 0 ? c.conditions.filter((Z) => Z !== s) : c.conditions) : (b = x ? c.surfaces : [...c.surfaces, o], w = L ? c.conditions : [...c.conditions, s]);
650
723
  const I = { ...p };
651
- y.length === 0 && b.length === 0 ? delete I[e] : I[e] = { ...c, conditions: y, surfaces: b }, A(I), We(e, I[e]), f == null || f(e);
724
+ w.length === 0 && b.length === 0 ? delete I[e] : I[e] = { ...c, conditions: w, surfaces: b }, O(I), Ke(e, I[e]), f == null || f(e);
652
725
  },
653
726
  [
654
- _,
655
- w,
727
+ N,
728
+ y,
656
729
  p,
657
- A,
658
- We,
730
+ O,
731
+ Ke,
659
732
  f
660
733
  ]
661
- ), we = E((e) => {
734
+ ), xe = R((e) => {
662
735
  const o = F[e];
663
- o && (z(e), J({ fdi: e, zone: Le(o)[0] }));
664
- }, []), mt = E(
736
+ o && (Y(e), ee({ fdi: e, zone: Ce(o)[0] }));
737
+ }, []), gt = R(
665
738
  (e, o, s) => {
666
739
  const c = F[o];
667
740
  if (c)
@@ -671,28 +744,28 @@ const st = Tt(
671
744
  case "ArrowLeft":
672
745
  case "ArrowRight": {
673
746
  e.preventDefault(), e.stopPropagation();
674
- const x = Le(c).includes("center"), L = Xt(s, e.key, x);
675
- L !== s && J({ fdi: o, zone: L });
747
+ const x = Ce(c).includes("center"), L = tn(s, e.key, x);
748
+ L !== s && ee({ fdi: o, zone: L });
676
749
  return;
677
750
  }
678
751
  case " ":
679
752
  case "Enter": {
680
- e.preventDefault(), e.stopPropagation(), be(o, Ge(c, s));
753
+ e.preventDefault(), e.stopPropagation(), we(o, Xe(c, s));
681
754
  return;
682
755
  }
683
756
  case "Escape": {
684
- e.preventDefault(), e.stopPropagation(), J(null);
757
+ e.preventDefault(), e.stopPropagation(), ee(null);
685
758
  return;
686
759
  }
687
760
  default:
688
761
  return;
689
762
  }
690
763
  },
691
- [be]
692
- ), pt = de(null), ye = Te(
764
+ [we]
765
+ ), vt = le(null), $e = Le(
693
766
  () => ({
694
767
  focusTooth: (e) => {
695
- R(e);
768
+ E(e);
696
769
  },
697
770
  getChart: () => p,
698
771
  getTooth: (e) => {
@@ -701,7 +774,7 @@ const st = Tt(
701
774
  },
702
775
  teethWith: (e) => Object.entries(p).filter(([, o]) => o.conditions.includes(e)).map(([o]) => o),
703
776
  setFinding: (e, o, s) => {
704
- const c = p[e] ?? le();
777
+ const c = p[e] ?? fe();
705
778
  if (c.conditions.includes(o) && !s) return;
706
779
  const x = {
707
780
  ...p,
@@ -711,47 +784,47 @@ const st = Tt(
711
784
  surfaces: s ?? c.surfaces
712
785
  }
713
786
  };
714
- A(x);
787
+ O(x);
715
788
  },
716
789
  removeFinding: (e, o) => {
717
790
  const s = p[e];
718
791
  if (!s || !s.conditions.includes(o)) return;
719
792
  const c = s.conditions.filter((L) => L !== o), x = { ...p };
720
- c.length === 0 ? delete x[e] : x[e] = { ...s, conditions: c }, A(x);
793
+ c.length === 0 ? delete x[e] : x[e] = { ...s, conditions: c }, O(x);
721
794
  },
722
795
  clearTooth: (e) => {
723
796
  if (!p[e]) return;
724
797
  const o = { ...p };
725
- delete o[e], A(o);
798
+ delete o[e], O(o);
726
799
  }
727
800
  }),
728
- [p, A, R]
801
+ [p, O, E]
729
802
  );
730
- St(fe, () => ye, [ye]), Lt(Ct, ye, t);
731
- const gt = E(
803
+ It(me, () => $e, [$e]), Ct(_t, $e, t);
804
+ const bt = R(
732
805
  (e, o) => {
733
806
  var L;
734
807
  if (r !== "interactive") return;
735
808
  const s = F[o];
736
809
  if (!s) return;
737
- const c = Z, x = c.indexOf(o);
810
+ const c = P, x = c.indexOf(o);
738
811
  switch (e.key) {
739
812
  case "ArrowRight": {
740
813
  e.preventDefault();
741
814
  const b = Math.min(c.length - 1, x + 1);
742
- R(c[b]);
815
+ E(c[b]);
743
816
  return;
744
817
  }
745
818
  case "ArrowLeft": {
746
819
  e.preventDefault();
747
820
  const b = Math.max(0, x - 1);
748
- R(c[b]);
821
+ E(c[b]);
749
822
  return;
750
823
  }
751
824
  case "ArrowUp":
752
825
  case "ArrowDown": {
753
826
  e.preventDefault();
754
- const y = {
827
+ const w = {
755
828
  1: 4,
756
829
  4: 1,
757
830
  2: 3,
@@ -761,43 +834,43 @@ const st = Tt(
761
834
  6: 7,
762
835
  7: 6
763
836
  }[s.quadrant];
764
- if (!y) return;
765
- const I = `${y}${s.positionInQuadrant}`;
766
- c.includes(I) && R(I);
837
+ if (!w) return;
838
+ const I = `${w}${s.positionInQuadrant}`;
839
+ c.includes(I) && E(I);
767
840
  return;
768
841
  }
769
842
  case "Home": {
770
843
  e.preventDefault();
771
844
  const b = c.filter(
772
- (y) => F[y].quadrant === s.quadrant
845
+ (w) => F[w].quadrant === s.quadrant
773
846
  );
774
- b.length > 0 && R(b[0]);
847
+ b.length > 0 && E(b[0]);
775
848
  return;
776
849
  }
777
850
  case "End": {
778
851
  e.preventDefault();
779
852
  const b = c.filter(
780
- (y) => F[y].quadrant === s.quadrant
853
+ (w) => F[w].quadrant === s.quadrant
781
854
  );
782
- b.length > 0 && R(b[b.length - 1]);
855
+ b.length > 0 && E(b[b.length - 1]);
783
856
  return;
784
857
  }
785
858
  case " ":
786
859
  case "Enter": {
787
- if (e.preventDefault(), _) {
788
- we(o);
860
+ if (e.preventDefault(), N) {
861
+ xe(o);
789
862
  return;
790
863
  }
791
- const b = (L = p[o]) == null ? void 0 : L.conditions, y = tt(b, w), I = { ...p };
792
- y.length === 0 ? (delete I[o], B(d("toothScheme.deselected", { id: o }))) : (I[o] = {
793
- ...p[o] ?? le(),
794
- conditions: y
795
- }, B(
864
+ const b = (L = p[o]) == null ? void 0 : L.conditions, w = rt(b, y), I = { ...p };
865
+ w.length === 0 ? (delete I[o], z(d("toothScheme.deselected", { id: o }))) : (I[o] = {
866
+ ...p[o] ?? fe(),
867
+ conditions: w
868
+ }, z(
796
869
  d("toothScheme.selected", {
797
870
  id: o,
798
- conditions: y.map((V) => d(`toothScheme.condition.${V}`)).join(", ")
871
+ conditions: w.map((Z) => d(`toothScheme.condition.${Z}`)).join(", ")
799
872
  })
800
- )), A(I), f == null || f(o);
873
+ )), O(I), f == null || f(o);
801
874
  return;
802
875
  }
803
876
  default:
@@ -805,92 +878,92 @@ const st = Tt(
805
878
  }
806
879
  },
807
880
  [
808
- w,
881
+ y,
809
882
  p,
810
- A,
811
- we,
812
- R,
883
+ O,
884
+ xe,
885
+ E,
813
886
  r,
814
887
  f,
815
- _,
888
+ N,
816
889
  d,
817
- Z
890
+ P
818
891
  ]
819
- ), vt = E(
892
+ ), yt = R(
820
893
  (e) => {
821
894
  var x;
822
895
  if (r !== "interactive") return;
823
- z(e);
824
- const o = (x = p[e]) == null ? void 0 : x.conditions, s = tt(o, w), c = { ...p };
825
- s.length === 0 ? (delete c[e], B(d("toothScheme.deselected", { id: e }))) : (c[e] = {
826
- ...p[e] ?? le(),
896
+ Y(e);
897
+ const o = (x = p[e]) == null ? void 0 : x.conditions, s = rt(o, y), c = { ...p };
898
+ s.length === 0 ? (delete c[e], z(d("toothScheme.deselected", { id: e }))) : (c[e] = {
899
+ ...p[e] ?? fe(),
827
900
  conditions: s
828
- }, B(
901
+ }, z(
829
902
  d("toothScheme.selected", {
830
903
  id: e,
831
904
  conditions: s.map((L) => d(`toothScheme.condition.${L}`)).join(", ")
832
905
  })
833
- )), A(c), f == null || f(e);
906
+ )), O(c), f == null || f(e);
834
907
  },
835
- [w, p, A, r, f, d]
836
- ), Pe = X.width + 4, Ue = X.height + 4, xe = O ?? d("toothScheme.ariaLabel"), Ze = je ? `${xe} — ${d("toothScheme.view.side")}` : xe, bt = r === "interactive" ? void 0 : 0;
837
- return /* @__PURE__ */ u(K.Provider, { delayDuration: 200, children: /* @__PURE__ */ j(
908
+ [y, p, O, r, f, d]
909
+ ), Pe = J.width + 4, Ze = J.height + 4, Se = A ?? d("toothScheme.ariaLabel"), Ve = qe ? `${Se} — ${d("toothScheme.view.side")}` : Se, wt = r === "interactive" ? void 0 : 0;
910
+ return /* @__PURE__ */ u(B.Provider, { delayDuration: 200, children: /* @__PURE__ */ j(
838
911
  "div",
839
912
  {
840
- ref: pt,
913
+ ref: vt,
841
914
  role: "region",
842
- "aria-label": Ze,
843
- tabIndex: bt,
844
- className: [Vt(), M].filter(Boolean).join(" "),
915
+ "aria-label": Ve,
916
+ tabIndex: wt,
917
+ className: [zt(), M].filter(Boolean).join(" "),
845
918
  "data-component": "tooth-scheme",
846
919
  "data-component-id": t,
847
920
  "data-testid": "tooth-scheme-root",
848
- "data-dentition": G,
849
- "data-numbering": Q,
921
+ "data-dentition": Q,
922
+ "data-numbering": X,
850
923
  "data-mode": r,
851
924
  "data-projection": W,
852
- "data-view-mode": oe,
925
+ "data-view-mode": ie,
853
926
  children: [
854
927
  g ? /* @__PURE__ */ u(
855
928
  "div",
856
929
  {
857
930
  className: "ds:flex ds:w-full ds:justify-end",
858
931
  "data-testid": "tooth-scheme-controls",
859
- children: /* @__PURE__ */ j(Se.Root, { children: [
860
- /* @__PURE__ */ u(Se.Trigger, { asChild: !0, children: /* @__PURE__ */ u(
861
- It,
932
+ children: /* @__PURE__ */ j(Ie.Root, { children: [
933
+ /* @__PURE__ */ u(Ie.Trigger, { asChild: !0, children: /* @__PURE__ */ u(
934
+ At,
862
935
  {
863
936
  size: "sm",
864
937
  intent: "outline",
865
- icon: /* @__PURE__ */ u(At, { "aria-hidden": "true" }),
938
+ icon: /* @__PURE__ */ u(Dt, { "aria-hidden": "true" }),
866
939
  "aria-label": d("toothScheme.options.label"),
867
940
  tooltip: d("toothScheme.options.label")
868
941
  }
869
942
  ) }),
870
943
  /* @__PURE__ */ u(
871
- Se.Content,
944
+ Ie.Content,
872
945
  {
873
- ref: lt,
946
+ ref: ft,
874
947
  align: "end",
875
948
  size: "md",
876
949
  "aria-label": d("toothScheme.options.label"),
877
950
  children: /* @__PURE__ */ j("div", { className: "ds:flex ds:w-[var(--popover-size-sm)] ds:max-w-full ds:flex-col ds:gap-[var(--spacing-md)]", children: [
878
951
  /* @__PURE__ */ u("div", { className: "ds:flex ds:border-b ds:border-[color:var(--border)] ds:pb-[var(--spacing-sm)] ds:[&>*]:w-full ds:[&>*]:justify-between", children: /* @__PURE__ */ u(
879
- Ot,
952
+ kt,
880
953
  {
881
954
  label: d("toothScheme.options.legend"),
882
955
  labelSide: "start",
883
- checked: Ee,
884
- onCheckedChange: _e
956
+ checked: Fe,
957
+ onCheckedChange: je
885
958
  }
886
959
  ) }),
887
960
  /* @__PURE__ */ u(
888
- Oe,
961
+ ke,
889
962
  {
890
- container: me,
963
+ container: ge,
891
964
  label: d("toothScheme.options.dentition"),
892
- value: G,
893
- onValueChange: (e) => re(e),
965
+ value: Q,
966
+ onValueChange: (e) => oe(e),
894
967
  options: [
895
968
  {
896
969
  value: "permanent",
@@ -908,11 +981,11 @@ const st = Tt(
908
981
  }
909
982
  ),
910
983
  /* @__PURE__ */ u(
911
- Oe,
984
+ ke,
912
985
  {
913
- container: me,
986
+ container: ge,
914
987
  label: d("toothScheme.options.numbering"),
915
- value: Q,
988
+ value: X,
916
989
  onValueChange: (e) => Ne(e),
917
990
  options: [
918
991
  {
@@ -931,11 +1004,11 @@ const st = Tt(
931
1004
  }
932
1005
  ),
933
1006
  /* @__PURE__ */ u(
934
- Oe,
1007
+ ke,
935
1008
  {
936
- container: me,
1009
+ container: ge,
937
1010
  label: d("toothScheme.options.view"),
938
- value: oe,
1011
+ value: ie,
939
1012
  onValueChange: (e) => Re(e),
940
1013
  options: [
941
1014
  {
@@ -962,50 +1035,50 @@ const st = Tt(
962
1035
  /* @__PURE__ */ u(
963
1036
  "svg",
964
1037
  {
965
- ref: ge,
966
- viewBox: `0 0 ${Pe} ${Ue}`,
1038
+ ref: be,
1039
+ viewBox: `0 0 ${Pe} ${Ze}`,
967
1040
  width: Pe,
968
- height: Ue,
969
- className: Yt(),
1041
+ height: Ze,
1042
+ className: Bt(),
970
1043
  role: "group",
971
- "aria-label": Ze,
1044
+ "aria-label": Ve,
972
1045
  focusable: "false",
973
1046
  "data-testid": "tooth-scheme-svg",
974
1047
  xmlns: "http://www.w3.org/2000/svg",
975
- children: X.teeth.map((e) => {
976
- var Ke;
977
- const o = p[e.fdi], s = (Ke = o == null ? void 0 : o.conditions) == null ? void 0 : Ke[0], c = d(
1048
+ children: J.teeth.map((e) => {
1049
+ var Qe;
1050
+ const o = p[e.fdi], s = (Qe = o == null ? void 0 : o.conditions) == null ? void 0 : Qe[0], c = d(
978
1051
  `toothScheme.anatomy.${e.meta.anatomy}`
979
1052
  ), x = s ? `, ${d(`toothScheme.condition.${s}`)}` : "", L = d("toothScheme.toothLabel", {
980
- id: Je(e.fdi, Q),
1053
+ id: tt(e.fdi, X),
981
1054
  anatomy: c,
982
1055
  conditionSuffix: x
983
- }), b = r === "interactive" ? T ? -1 : e.fdi === ie ? 0 : -1 : void 0, y = (o == null ? void 0 : o.conditions) ?? [], I = y.includes("missing"), V = y.map((h) => ({
1056
+ }), b = r === "interactive" ? S ? -1 : e.fdi === se ? 0 : -1 : void 0, w = (o == null ? void 0 : o.conditions) ?? [], I = w.includes("missing"), Z = w.map((h) => ({
984
1057
  condition: h,
985
- spec: De[h]
1058
+ spec: _e[h]
986
1059
  })).filter(
987
1060
  (h) => !!h.spec
988
- ), $e = y.find(
989
- (h) => h !== "missing" && !De[h]
990
- ), Ve = $e ? ue[$e] : void 0, wt = s ? `${c} · ${d(`toothScheme.condition.${s}`)}` : c, Ye = Je(e.fdi, Q), yt = it(
1061
+ ), Te = w.find(
1062
+ (h) => h !== "missing" && !_e[h]
1063
+ ), Ye = Te ? he[Te] : void 0, xt = s ? `${c} · ${d(`toothScheme.condition.${s}`)}` : c, ze = tt(e.fdi, X), $t = at(
991
1064
  e.meta,
992
- S,
1065
+ T,
993
1066
  "default",
994
1067
  W
995
- ), xt = W === "plan" ? y.flatMap((h) => {
996
- const D = Wt[h];
997
- return D ? ((o == null ? void 0 : o.surfaces) ?? []).map((ce) => ({
998
- key: `${h}-${ce}`,
999
- url: Pt(
1068
+ ), St = W === "plan" ? w.flatMap((h) => {
1069
+ const D = Pt[h];
1070
+ return D ? ((o == null ? void 0 : o.surfaces) ?? []).map((de) => ({
1071
+ key: `${h}-${de}`,
1072
+ url: Zt(
1000
1073
  e.meta,
1001
- S,
1074
+ T,
1002
1075
  D,
1003
- ce
1076
+ de
1004
1077
  )
1005
1078
  })) : [];
1006
- }) : [], ze = (e.meta.dentition === "primary" ? Ht : 1) * 0.9, ee = q * ze, te = N * ze, se = (q - ee) / 2, ae = (N - te) / 2, C = _ && (T == null ? void 0 : T.fdi) === e.fdi, Be = _ ? Le(e.meta) : [], $t = Be.includes("center");
1007
- return /* @__PURE__ */ j(K.Root, { children: [
1008
- /* @__PURE__ */ u(K.Trigger, { asChild: !0, children: /* @__PURE__ */ j(
1079
+ }) : [], Be = (e.meta.dentition === "primary" ? Ut : 1) * 0.9, te = H * Be, ne = _ * Be, ae = (H - te) / 2, ce = (_ - ne) / 2, k = N && (S == null ? void 0 : S.fdi) === e.fdi, Ge = N ? Ce(e.meta) : [], Tt = Ge.includes("center");
1080
+ return /* @__PURE__ */ j(B.Root, { children: [
1081
+ /* @__PURE__ */ u(B.Trigger, { asChild: !0, children: /* @__PURE__ */ j(
1009
1082
  "g",
1010
1083
  {
1011
1084
  "data-fdi": e.fdi,
@@ -1017,121 +1090,121 @@ const st = Tt(
1017
1090
  "data-testid": `tooth-${e.fdi}`,
1018
1091
  transform: `translate(${e.x}, ${e.y})`,
1019
1092
  tabIndex: b,
1020
- role: C ? "group" : r === "interactive" ? "button" : "img",
1093
+ role: k ? "group" : r === "interactive" ? "button" : "img",
1021
1094
  "aria-label": L,
1022
- "aria-pressed": C ? void 0 : r === "interactive" ? s !== void 0 : void 0,
1023
- className: zt(),
1024
- onClick: C ? void 0 : r === "interactive" ? _ ? () => we(e.fdi) : () => vt(e.fdi) : void 0,
1025
- onFocus: () => z(e.fdi),
1026
- onKeyDown: C ? void 0 : (h) => gt(h, e.fdi),
1095
+ "aria-pressed": k ? void 0 : r === "interactive" ? s !== void 0 : void 0,
1096
+ className: Gt(),
1097
+ onClick: k ? void 0 : r === "interactive" ? N ? () => xe(e.fdi) : () => yt(e.fdi) : void 0,
1098
+ onFocus: () => Y(e.fdi),
1099
+ onKeyDown: k ? void 0 : (h) => bt(h, e.fdi),
1027
1100
  children: [
1028
1101
  /* @__PURE__ */ u(
1029
1102
  "rect",
1030
1103
  {
1031
- x: -U,
1032
- y: -U,
1033
- width: q + U * 2,
1034
- height: N + U * 2,
1104
+ x: -K,
1105
+ y: -K,
1106
+ width: H + K * 2,
1107
+ height: _ + K * 2,
1035
1108
  fill: "transparent"
1036
1109
  }
1037
1110
  ),
1038
1111
  /* @__PURE__ */ u(
1039
1112
  "image",
1040
1113
  {
1041
- href: yt,
1042
- x: se,
1043
- y: ae,
1044
- width: ee,
1045
- height: te,
1114
+ href: $t,
1115
+ x: ae,
1116
+ y: ce,
1117
+ width: te,
1118
+ height: ne,
1046
1119
  preserveAspectRatio: "xMidYMid meet",
1047
1120
  opacity: I ? 0.25 : 1,
1048
1121
  "aria-hidden": "true"
1049
1122
  }
1050
1123
  ),
1051
- W === "side" ? V.map(({ condition: h, spec: D }) => /* @__PURE__ */ u(
1124
+ W === "side" ? Z.map(({ condition: h, spec: D }) => /* @__PURE__ */ u(
1052
1125
  "image",
1053
1126
  {
1054
- href: rt(
1127
+ href: it(
1055
1128
  e.meta,
1056
- S,
1129
+ T,
1057
1130
  D
1058
1131
  ),
1059
- x: se,
1060
- y: ae,
1061
- width: ee,
1062
- height: te,
1132
+ x: ae,
1133
+ y: ce,
1134
+ width: te,
1135
+ height: ne,
1063
1136
  preserveAspectRatio: "xMidYMid meet",
1064
1137
  "aria-hidden": "true",
1065
1138
  pointerEvents: "none"
1066
1139
  },
1067
1140
  h
1068
1141
  )) : null,
1069
- W === "plan" ? xt.map(({ key: h, url: D }) => /* @__PURE__ */ u(
1142
+ W === "plan" ? St.map(({ key: h, url: D }) => /* @__PURE__ */ u(
1070
1143
  "image",
1071
1144
  {
1072
1145
  href: D,
1073
- x: se,
1074
- y: ae,
1075
- width: ee,
1076
- height: te,
1146
+ x: ae,
1147
+ y: ce,
1148
+ width: te,
1149
+ height: ne,
1077
1150
  preserveAspectRatio: "xMidYMid meet",
1078
1151
  "aria-hidden": "true",
1079
1152
  pointerEvents: "none"
1080
1153
  },
1081
1154
  h
1082
1155
  )) : null,
1083
- _ ? Be.map((h) => {
1084
- const D = Ge(e.meta, h), ce = ht(e.fdi, D);
1156
+ N ? Ge.map((h) => {
1157
+ const D = Xe(e.meta, h), de = pt(e.fdi, D);
1085
1158
  return /* @__PURE__ */ u(
1086
1159
  "path",
1087
1160
  {
1088
- d: Ut(
1161
+ d: Vt(
1089
1162
  h,
1090
- { x: se, y: ae, w: ee, h: te },
1091
- $t
1163
+ { x: ae, y: ce, w: te, h: ne },
1164
+ Tt
1092
1165
  ),
1093
1166
  "data-fdi": e.fdi,
1094
1167
  "data-zone": h,
1095
1168
  "data-surface": D,
1096
1169
  "data-testid": `tooth-${e.fdi}-zone-${h}`,
1097
- role: C ? "button" : void 0,
1098
- tabIndex: C ? (T == null ? void 0 : T.zone) === h ? 0 : -1 : void 0,
1099
- "aria-label": C ? d("toothScheme.toothLabel", {
1100
- id: Ye,
1170
+ role: k ? "button" : void 0,
1171
+ tabIndex: k ? (S == null ? void 0 : S.zone) === h ? 0 : -1 : void 0,
1172
+ "aria-label": k ? d("toothScheme.toothLabel", {
1173
+ id: ze,
1101
1174
  anatomy: d(
1102
1175
  `toothScheme.surface.${D}`
1103
1176
  ),
1104
1177
  conditionSuffix: ""
1105
1178
  }) : void 0,
1106
- "aria-pressed": C ? ce : void 0,
1179
+ "aria-pressed": k ? de : void 0,
1107
1180
  strokeWidth: "var(--focus-ring-width)",
1108
- className: Qt(),
1109
- onClick: (P) => {
1110
- P.stopPropagation(), C || z(e.fdi), be(e.fdi, D);
1181
+ className: en(),
1182
+ onClick: (U) => {
1183
+ U.stopPropagation(), k || Y(e.fdi), we(e.fdi, D);
1111
1184
  },
1112
- onKeyDown: C ? (P) => mt(
1113
- P,
1185
+ onKeyDown: k ? (U) => gt(
1186
+ U,
1114
1187
  e.fdi,
1115
1188
  h
1116
1189
  ) : void 0,
1117
- onFocus: C ? () => J(
1118
- (P) => P && P.fdi === e.fdi && P.zone === h ? P : { fdi: e.fdi, zone: h }
1190
+ onFocus: k ? () => ee(
1191
+ (U) => U && U.fdi === e.fdi && U.zone === h ? U : { fdi: e.fdi, zone: h }
1119
1192
  ) : void 0
1120
1193
  },
1121
1194
  h
1122
1195
  );
1123
1196
  }) : null,
1124
- W === "side" && Ve ? /* @__PURE__ */ u(
1197
+ W === "side" && Ye ? /* @__PURE__ */ u(
1125
1198
  "rect",
1126
1199
  {
1127
1200
  x: 3,
1128
1201
  y: 2,
1129
- width: q - 6,
1130
- height: N - 4,
1202
+ width: H - 6,
1203
+ height: _ - 4,
1131
1204
  fill: "none",
1132
- stroke: Ve,
1205
+ stroke: Ye,
1133
1206
  strokeWidth: "2",
1134
- strokeDasharray: $e === "filled" ? "4 2" : void 0,
1207
+ strokeDasharray: Te === "filled" ? "4 2" : void 0,
1135
1208
  rx: "6",
1136
1209
  pointerEvents: "none"
1137
1210
  }
@@ -1139,8 +1212,8 @@ const st = Tt(
1139
1212
  I ? /* @__PURE__ */ u(
1140
1213
  "path",
1141
1214
  {
1142
- d: `M7 9 L${q - 7} ${N - 9} M${q - 7} 9 L7 ${N - 9}`,
1143
- stroke: ue.missing,
1215
+ d: `M7 9 L${H - 7} ${_ - 9} M${H - 7} 9 L7 ${_ - 9}`,
1216
+ stroke: he.missing,
1144
1217
  strokeWidth: "2",
1145
1218
  fill: "none",
1146
1219
  pointerEvents: "none"
@@ -1149,10 +1222,10 @@ const st = Tt(
1149
1222
  /* @__PURE__ */ u(
1150
1223
  "rect",
1151
1224
  {
1152
- x: -U,
1153
- y: -U,
1154
- width: q + U * 2,
1155
- height: N + U * 2,
1225
+ x: -K,
1226
+ y: -K,
1227
+ width: H + K * 2,
1228
+ height: _ + K * 2,
1156
1229
  fill: "none",
1157
1230
  stroke: "var(--ring)",
1158
1231
  strokeWidth: "var(--focus-ring-width)",
@@ -1169,28 +1242,28 @@ const st = Tt(
1169
1242
  /* @__PURE__ */ u(
1170
1243
  "text",
1171
1244
  {
1172
- x: q / 2,
1173
- y: e.meta.arch === "upper" ? N + 12 : -4,
1245
+ x: H / 2,
1246
+ y: e.meta.arch === "upper" ? _ + 12 : -4,
1174
1247
  textAnchor: "middle",
1175
1248
  fontSize: "10",
1176
1249
  fill: "var(--muted-foreground)",
1177
1250
  className: "ds:select-none",
1178
1251
  "aria-hidden": "true",
1179
- children: Ye
1252
+ children: ze
1180
1253
  }
1181
1254
  )
1182
1255
  ]
1183
1256
  }
1184
1257
  ) }),
1185
- /* @__PURE__ */ u(K.Portal, { children: /* @__PURE__ */ j(
1186
- K.Content,
1258
+ /* @__PURE__ */ u(B.Portal, { children: /* @__PURE__ */ j(
1259
+ B.Content,
1187
1260
  {
1188
1261
  side: "top",
1189
1262
  sideOffset: 6,
1190
1263
  className: "ds:z-[var(--z-tooltip)] ds:rounded-[var(--radius-sm)] ds:bg-[var(--foreground)] ds:text-[var(--background)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pt-[calc(var(--spacing-xs)/2)] ds:pb-[calc(var(--spacing-xs)/2)] ds:text-[length:var(--font-size-xs)]",
1191
1264
  children: [
1192
- wt,
1193
- /* @__PURE__ */ u(K.Arrow, { className: "ds:fill-[var(--foreground)]" })
1265
+ xt,
1266
+ /* @__PURE__ */ u(B.Arrow, { className: "ds:fill-[var(--foreground)]" })
1194
1267
  ]
1195
1268
  }
1196
1269
  ) })
@@ -1198,29 +1271,29 @@ const st = Tt(
1198
1271
  })
1199
1272
  }
1200
1273
  ),
1201
- je ? /* @__PURE__ */ u(
1202
- st,
1274
+ qe ? /* @__PURE__ */ u(
1275
+ ct,
1203
1276
  {
1204
1277
  projection: "plan",
1205
- dentition: G,
1206
- numbering: Q,
1278
+ dentition: Q,
1279
+ numbering: X,
1207
1280
  mode: r,
1208
1281
  value: p,
1209
- onChange: A,
1210
- activeCondition: w,
1211
- assetBaseUrl: S,
1212
- ariaLabel: `${xe} — ${d("toothScheme.view.occlusal")}`
1282
+ onChange: O,
1283
+ activeCondition: y,
1284
+ assetBaseUrl: T,
1285
+ ariaLabel: `${Se} — ${d("toothScheme.view.occlusal")}`
1213
1286
  }
1214
1287
  ) : null,
1215
- Ee ? /* @__PURE__ */ u(tn, { assetBaseUrl: S }) : null,
1288
+ Fe ? /* @__PURE__ */ u(on, { assetBaseUrl: T }) : null,
1216
1289
  /* @__PURE__ */ u(
1217
1290
  "div",
1218
1291
  {
1219
- className: Gt(),
1292
+ className: Jt(),
1220
1293
  "aria-live": "polite",
1221
1294
  "aria-atomic": "true",
1222
1295
  "data-testid": "tooth-scheme-live",
1223
- children: ft
1296
+ children: mt
1224
1297
  }
1225
1298
  )
1226
1299
  ]
@@ -1228,30 +1301,30 @@ const st = Tt(
1228
1301
  ) });
1229
1302
  }
1230
1303
  );
1231
- st.displayName = "ToothScheme";
1304
+ ct.displayName = "ToothScheme";
1232
1305
  export {
1233
- ue as C,
1306
+ he as C,
1234
1307
  F,
1235
- Ae as P,
1236
- qt as S,
1237
- st as T,
1238
- Wt as a,
1239
- De as b,
1240
- hn as c,
1241
- Ft as d,
1242
- jt as e,
1243
- Ce as f,
1244
- et as g,
1245
- rt as h,
1246
- mn as i,
1247
- Zt as j,
1248
- Ct as k,
1249
- Je as l,
1250
- Ge as m,
1251
- Le as n,
1252
- Vt as r,
1253
- Pt as s,
1254
- it as t,
1255
- Ut as z
1308
+ De as P,
1309
+ Kt as S,
1310
+ ct as T,
1311
+ Pt as a,
1312
+ _e as b,
1313
+ gn as c,
1314
+ Wt as d,
1315
+ Ht as e,
1316
+ Me as f,
1317
+ nt as g,
1318
+ it as h,
1319
+ vn as i,
1320
+ Yt as j,
1321
+ _t as k,
1322
+ tt as l,
1323
+ Xe as m,
1324
+ Ce as n,
1325
+ zt as r,
1326
+ Zt as s,
1327
+ at as t,
1328
+ Vt as z
1256
1329
  };
1257
- //# sourceMappingURL=tooth-scheme-BIx1O2aJ.js.map
1330
+ //# sourceMappingURL=tooth-scheme-yBr53cvv.js.map