@alfadocs/ui-kit-debug 1.67.0 → 1.68.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 (499) hide show
  1. package/dist/_chunks/{address-fields-CJtu7LQU.js → address-fields-BUPRs3n-.js} +3 -3
  2. package/dist/_chunks/{address-fields-CJtu7LQU.js.map → address-fields-BUPRs3n-.js.map} +1 -1
  3. package/dist/_chunks/{agenda-card-DR9gDdKp.js → agenda-card-BDuvreCe.js} +2 -2
  4. package/dist/_chunks/{agenda-card-DR9gDdKp.js.map → agenda-card-BDuvreCe.js.map} +1 -1
  5. package/dist/_chunks/{agenda-tray-DGB1Zup-.js → agenda-tray-CfwylhWf.js} +3 -3
  6. package/dist/_chunks/{agenda-tray-DGB1Zup-.js.map → agenda-tray-CfwylhWf.js.map} +1 -1
  7. package/dist/_chunks/{ai-credits-exhausted-notice-DfAgfZDF.js → ai-credits-exhausted-notice-Bg8NpW2K.js} +2 -2
  8. package/dist/_chunks/{ai-credits-exhausted-notice-DfAgfZDF.js.map → ai-credits-exhausted-notice-Bg8NpW2K.js.map} +1 -1
  9. package/dist/_chunks/{ai-permission-notice-qsdm4Sx4.js → ai-permission-notice-C00i6VhY.js} +2 -2
  10. package/dist/_chunks/{ai-permission-notice-qsdm4Sx4.js.map → ai-permission-notice-C00i6VhY.js.map} +1 -1
  11. package/dist/_chunks/{ai-prompt-input-DSGSe4LH.js → ai-prompt-input-DzgyoKyk.js} +141 -139
  12. package/dist/_chunks/ai-prompt-input-DzgyoKyk.js.map +1 -0
  13. package/dist/_chunks/{alert-DjsJMGRE.js → alert-9kEwDza3.js} +122 -112
  14. package/dist/_chunks/alert-9kEwDza3.js.map +1 -0
  15. package/dist/_chunks/{alia-sidebar-qe0quZkB.js → alia-sidebar-B06ZSOaF.js} +3 -3
  16. package/dist/_chunks/{alia-sidebar-qe0quZkB.js.map → alia-sidebar-B06ZSOaF.js.map} +1 -1
  17. package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js → anamnesis-summary-card-DQ3iE1gD.js} +2 -2
  18. package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js.map → anamnesis-summary-card-DQ3iE1gD.js.map} +1 -1
  19. package/dist/_chunks/{anamnesis-summary-rows-BQ_EokKz.js → anamnesis-summary-rows-CNK0fIJk.js} +392 -388
  20. package/dist/_chunks/anamnesis-summary-rows-CNK0fIJk.js.map +1 -0
  21. package/dist/_chunks/{appointment-card-CL32sux-.js → appointment-card-5JMWi9_f.js} +2 -2
  22. package/dist/_chunks/{appointment-card-CL32sux-.js.map → appointment-card-5JMWi9_f.js.map} +1 -1
  23. package/dist/_chunks/{appointment-peek-B5mcDcXt.js → appointment-peek-D5XCfYKu.js} +2 -2
  24. package/dist/_chunks/{appointment-peek-B5mcDcXt.js.map → appointment-peek-D5XCfYKu.js.map} +1 -1
  25. package/dist/_chunks/{appointment-timeline-CCqjORFb.js → appointment-timeline-VFP6HoXT.js} +4 -4
  26. package/dist/_chunks/{appointment-timeline-CCqjORFb.js.map → appointment-timeline-VFP6HoXT.js.map} +1 -1
  27. package/dist/_chunks/{appointment-tray-qtpJt8e0.js → appointment-tray-B3PDER3I.js} +3 -3
  28. package/dist/_chunks/{appointment-tray-qtpJt8e0.js.map → appointment-tray-B3PDER3I.js.map} +1 -1
  29. package/dist/_chunks/{audio-recorder-B11RR-rC.js → audio-recorder-4Ll0pwYK.js} +3 -3
  30. package/dist/_chunks/{audio-recorder-B11RR-rC.js.map → audio-recorder-4Ll0pwYK.js.map} +1 -1
  31. package/dist/_chunks/{auth-form-parts-DwUTH6YN.js → auth-form-parts-B40zvD-a.js} +2 -2
  32. package/dist/_chunks/{auth-form-parts-DwUTH6YN.js.map → auth-form-parts-B40zvD-a.js.map} +1 -1
  33. package/dist/_chunks/avatar-BPiPL7ND.js +199 -0
  34. package/dist/_chunks/avatar-BPiPL7ND.js.map +1 -0
  35. package/dist/_chunks/{balance-badge-cell-DZNthHO1.js → balance-badge-cell-BG3DMly4.js} +4 -4
  36. package/dist/_chunks/{balance-badge-cell-DZNthHO1.js.map → balance-badge-cell-BG3DMly4.js.map} +1 -1
  37. package/dist/_chunks/{bishop-score-CaNTrikJ.js → bishop-score-Df8nF1qg.js} +2 -2
  38. package/dist/_chunks/{bishop-score-CaNTrikJ.js.map → bishop-score-Df8nF1qg.js.map} +1 -1
  39. package/dist/_chunks/{booking-tTVxKPQY.js → booking-B1pDbERi.js} +377 -335
  40. package/dist/_chunks/booking-B1pDbERi.js.map +1 -0
  41. package/dist/_chunks/{calendar-BhN-jisv.js → calendar-BvOM8rG3.js} +2 -2
  42. package/dist/_chunks/{calendar-BhN-jisv.js.map → calendar-BvOM8rG3.js.map} +1 -1
  43. package/dist/_chunks/{calendar-workspace-MRrzcxAy.js → calendar-workspace-CYK1M83j.js} +18 -18
  44. package/dist/_chunks/{calendar-workspace-MRrzcxAy.js.map → calendar-workspace-CYK1M83j.js.map} +1 -1
  45. package/dist/_chunks/{chat-message-fRLZ95O5.js → chat-message-Be-9vIIQ.js} +2 -2
  46. package/dist/_chunks/{chat-message-fRLZ95O5.js.map → chat-message-Be-9vIIQ.js.map} +1 -1
  47. package/dist/_chunks/{clinical-note-card-BnFTIs6x.js → clinical-note-card-Caidqcwa.js} +2 -2
  48. package/dist/_chunks/{clinical-note-card-BnFTIs6x.js.map → clinical-note-card-Caidqcwa.js.map} +1 -1
  49. package/dist/_chunks/{color-picker-BsggJovx.js → color-picker-AcaWuKah.js} +99 -95
  50. package/dist/_chunks/color-picker-AcaWuKah.js.map +1 -0
  51. package/dist/_chunks/{combobox-U5yfO6o0.js → combobox-vF9O-QoG.js} +92 -83
  52. package/dist/_chunks/combobox-vF9O-QoG.js.map +1 -0
  53. package/dist/_chunks/{contact-profile-card-C4-OCshj.js → contact-profile-card-CAwwOqHl.js} +40 -40
  54. package/dist/_chunks/contact-profile-card-CAwwOqHl.js.map +1 -0
  55. package/dist/_chunks/{control-room-rail-DUerqHeo.js → control-room-rail-BB6rCDWI.js} +3 -3
  56. package/dist/_chunks/{control-room-rail-DUerqHeo.js.map → control-room-rail-BB6rCDWI.js.map} +1 -1
  57. package/dist/_chunks/{country-select-DF5Bd_mn.js → country-select-CSE2Zm_s.js} +2 -2
  58. package/dist/_chunks/{country-select-DF5Bd_mn.js.map → country-select-CSE2Zm_s.js.map} +1 -1
  59. package/dist/_chunks/dashboard-grid-7JzaiKnk.js +1487 -0
  60. package/dist/_chunks/dashboard-grid-7JzaiKnk.js.map +1 -0
  61. package/dist/_chunks/{data-table-COoCQ4n_.js → data-table-Cty4-Jht.js} +3 -3
  62. package/dist/_chunks/{data-table-COoCQ4n_.js.map → data-table-Cty4-Jht.js.map} +1 -1
  63. package/dist/_chunks/{dependent-selector-DBr1AhLg.js → dependent-selector-C4kOgO8b.js} +2 -2
  64. package/dist/_chunks/{dependent-selector-DBr1AhLg.js.map → dependent-selector-C4kOgO8b.js.map} +1 -1
  65. package/dist/_chunks/{document-preview-VyQOjFVL.js → document-preview-513f3iPn.js} +4 -4
  66. package/dist/_chunks/{document-preview-VyQOjFVL.js.map → document-preview-513f3iPn.js.map} +1 -1
  67. package/dist/_chunks/{document-scanner-CXH_GYh4.js → document-scanner-Bd3wbzpI.js} +2 -2
  68. package/dist/_chunks/{document-scanner-CXH_GYh4.js.map → document-scanner-Bd3wbzpI.js.map} +1 -1
  69. package/dist/_chunks/{editable-description-ChGNdYY8.js → editable-description-DnAFi360.js} +2 -2
  70. package/dist/_chunks/{editable-description-ChGNdYY8.js.map → editable-description-DnAFi360.js.map} +1 -1
  71. package/dist/_chunks/{entity-summary-Bj-Wxq7Y.js → entity-summary-C2B8yNmc.js} +4 -4
  72. package/dist/_chunks/{entity-summary-Bj-Wxq7Y.js.map → entity-summary-C2B8yNmc.js.map} +1 -1
  73. package/dist/_chunks/{error-summary-PUE5Zxp9.js → error-summary-mGxIyDAY.js} +2 -2
  74. package/dist/_chunks/{error-summary-PUE5Zxp9.js.map → error-summary-mGxIyDAY.js.map} +1 -1
  75. package/dist/_chunks/{face-scheme-DAD-mXzM.js → face-scheme-CSJdRNad.js} +248 -244
  76. package/dist/_chunks/{face-scheme-DAD-mXzM.js.map → face-scheme-CSJdRNad.js.map} +1 -1
  77. package/dist/_chunks/{file-manager-RiV7-OEE.js → file-manager-D4cPnRhL.js} +3 -3
  78. package/dist/_chunks/{file-manager-RiV7-OEE.js.map → file-manager-D4cPnRhL.js.map} +1 -1
  79. package/dist/_chunks/{forgot-password-form-CPOfRE0C.js → forgot-password-form-Dqi7R-NL.js} +4 -4
  80. package/dist/_chunks/{forgot-password-form-CPOfRE0C.js.map → forgot-password-form-Dqi7R-NL.js.map} +1 -1
  81. package/dist/_chunks/format-number-DdzqwMs1.js +13 -0
  82. package/dist/_chunks/format-number-DdzqwMs1.js.map +1 -0
  83. package/dist/_chunks/{freemium-paywall-6DO7noHX.js → freemium-paywall-C73C8Rgd.js} +2 -2
  84. package/dist/_chunks/{freemium-paywall-6DO7noHX.js.map → freemium-paywall-C73C8Rgd.js.map} +1 -1
  85. package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js → gestational-age-calculator-Du53p8MH.js} +2 -2
  86. package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js.map → gestational-age-calculator-Du53p8MH.js.map} +1 -1
  87. package/dist/_chunks/{header-settings-BSH9Gk0J.js → header-settings-DlUbvAUx.js} +37 -36
  88. package/dist/_chunks/header-settings-DlUbvAUx.js.map +1 -0
  89. package/dist/_chunks/{heatmap-C1TeC7wT.js → heatmap-DbZIQg14.js} +4 -4
  90. package/dist/_chunks/{heatmap-C1TeC7wT.js.map → heatmap-DbZIQg14.js.map} +1 -1
  91. package/dist/_chunks/{help-me-write-templates-Bw3Q58x-.js → help-me-write-templates-5WkUfvc_.js} +3 -3
  92. package/dist/_chunks/{help-me-write-templates-Bw3Q58x-.js.map → help-me-write-templates-5WkUfvc_.js.map} +1 -1
  93. package/dist/_chunks/{kit-extensions-DWs1UEXb.js → kit-extensions-CYvLL4ee.js} +3 -3
  94. package/dist/_chunks/{kit-extensions-DWs1UEXb.js.map → kit-extensions-CYvLL4ee.js.map} +1 -1
  95. package/dist/_chunks/length-token-DwMnGEYT.js +24 -0
  96. package/dist/_chunks/length-token-DwMnGEYT.js.map +1 -0
  97. package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js → link-cell-renderer-DtIsQWDO.js} +4 -4
  98. package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js.map → link-cell-renderer-DtIsQWDO.js.map} +1 -1
  99. package/dist/_chunks/{login-dev-card-A-CL3mjt.js → login-dev-card-vEL-o5wq.js} +3 -3
  100. package/dist/_chunks/{login-dev-card-A-CL3mjt.js.map → login-dev-card-vEL-o5wq.js.map} +1 -1
  101. package/dist/_chunks/{map-view-BuVfJMEa.js → map-view-CtohteZD.js} +300 -191
  102. package/dist/_chunks/map-view-CtohteZD.js.map +1 -0
  103. package/dist/_chunks/{marketplace-app-shell-DtSX8sYb.js → marketplace-app-shell-CcLQ0Dn-.js} +4 -4
  104. package/dist/_chunks/{marketplace-app-shell-DtSX8sYb.js.map → marketplace-app-shell-CcLQ0Dn-.js.map} +1 -1
  105. package/dist/_chunks/{message-card-A3mJNqfy.js → message-card-C_ksqIYM.js} +2 -2
  106. package/dist/_chunks/{message-card-A3mJNqfy.js.map → message-card-C_ksqIYM.js.map} +1 -1
  107. package/dist/_chunks/{message-tray-Ft6vSr71.js → message-tray-DCoQ4GQb.js} +3 -3
  108. package/dist/_chunks/{message-tray-Ft6vSr71.js.map → message-tray-DCoQ4GQb.js.map} +1 -1
  109. package/dist/_chunks/{multi-select-CMaAQQgb.js → multi-select-BOad3za9.js} +110 -98
  110. package/dist/_chunks/multi-select-BOad3za9.js.map +1 -0
  111. package/dist/_chunks/{muscle-scheme-YoN3rYXV.js → muscle-scheme-C66WlCxG.js} +2 -2
  112. package/dist/_chunks/{muscle-scheme-YoN3rYXV.js.map → muscle-scheme-C66WlCxG.js.map} +1 -1
  113. package/dist/_chunks/{note-timeline-DDqNU46n.js → note-timeline-KzL52MmB.js} +2 -2
  114. package/dist/_chunks/{note-timeline-DDqNU46n.js.map → note-timeline-KzL52MmB.js.map} +1 -1
  115. package/dist/_chunks/{notes-panel-IdsmqRFC.js → notes-panel-BXN46XkF.js} +6 -6
  116. package/dist/_chunks/{notes-panel-IdsmqRFC.js.map → notes-panel-BXN46XkF.js.map} +1 -1
  117. package/dist/_chunks/notice-group-DkYzKyAZ.js +291 -0
  118. package/dist/_chunks/notice-group-DkYzKyAZ.js.map +1 -0
  119. package/dist/_chunks/{notification-tray-BR3seWA7.js → notification-tray-Cp18MW5b.js} +2 -2
  120. package/dist/_chunks/{notification-tray-BR3seWA7.js.map → notification-tray-Cp18MW5b.js.map} +1 -1
  121. package/dist/_chunks/{operator-hero-3_RG4Dkj.js → operator-hero-6aAIQaFZ.js} +83 -66
  122. package/dist/_chunks/operator-hero-6aAIQaFZ.js.map +1 -0
  123. package/dist/_chunks/{optical-prescription-CxfMsbxi.js → optical-prescription-ulXnDbBe.js} +525 -509
  124. package/dist/_chunks/optical-prescription-ulXnDbBe.js.map +1 -0
  125. package/dist/_chunks/panel-header-CbtlTe85.js +190 -0
  126. package/dist/_chunks/panel-header-CbtlTe85.js.map +1 -0
  127. package/dist/_chunks/{panel-subview-yP4qIbKS.js → panel-subview-BPU7220K.js} +2 -2
  128. package/dist/_chunks/{panel-subview-yP4qIbKS.js.map → panel-subview-BPU7220K.js.map} +1 -1
  129. package/dist/_chunks/{patient-details-C-EWQTms.js → patient-details-C4Dyo7Ck.js} +4 -4
  130. package/dist/_chunks/{patient-details-C-EWQTms.js.map → patient-details-C4Dyo7Ck.js.map} +1 -1
  131. package/dist/_chunks/{patient-field-row-lY-Tb5Mo.js → patient-field-row-DROvUkFu.js} +4 -4
  132. package/dist/_chunks/{patient-field-row-lY-Tb5Mo.js.map → patient-field-row-DROvUkFu.js.map} +1 -1
  133. package/dist/_chunks/{patient-search-DpAKidZ5.js → patient-search-BADdx3M1.js} +2 -2
  134. package/dist/_chunks/{patient-search-DpAKidZ5.js.map → patient-search-BADdx3M1.js.map} +1 -1
  135. package/dist/_chunks/{patient-summary-card-Bpto_VCD.js → patient-summary-card-CAimxbuI.js} +4 -4
  136. package/dist/_chunks/{patient-summary-card-Bpto_VCD.js.map → patient-summary-card-CAimxbuI.js.map} +1 -1
  137. package/dist/_chunks/{payment-automation-upsell-BQ307qEX.js → payment-automation-upsell-CiwF5UrC.js} +2 -2
  138. package/dist/_chunks/{payment-automation-upsell-BQ307qEX.js.map → payment-automation-upsell-CiwF5UrC.js.map} +1 -1
  139. package/dist/_chunks/{payment-form-XKtinW8r.js → payment-form-PBuh8PIa.js} +2 -2
  140. package/dist/_chunks/{payment-form-XKtinW8r.js.map → payment-form-PBuh8PIa.js.map} +1 -1
  141. package/dist/_chunks/{pdf-viewer-BvoVMjH4.js → pdf-viewer-gAsNUsA8.js} +2 -2
  142. package/dist/_chunks/{pdf-viewer-BvoVMjH4.js.map → pdf-viewer-gAsNUsA8.js.map} +1 -1
  143. package/dist/_chunks/{periodontal-risk-chart-CPy7CNFe.js → periodontal-risk-chart-B7S9OmPC.js} +97 -89
  144. package/dist/_chunks/periodontal-risk-chart-B7S9OmPC.js.map +1 -0
  145. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js +236 -0
  146. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js.map +1 -0
  147. package/dist/_chunks/{practice-results-BrUDDMXC.js → practice-results-BzThnpnm.js} +328 -298
  148. package/dist/_chunks/practice-results-BzThnpnm.js.map +1 -0
  149. package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js → pregnancy-dating-EFcFUJkQ.js} +2 -2
  150. package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js.map → pregnancy-dating-EFcFUJkQ.js.map} +1 -1
  151. package/dist/_chunks/{privacy-mask-Ch7743uk.js → privacy-mask-CCz9zuIh.js} +2 -2
  152. package/dist/_chunks/{privacy-mask-Ch7743uk.js.map → privacy-mask-CCz9zuIh.js.map} +1 -1
  153. package/dist/_chunks/{product-hub-panel-C_ZosrBt.js → product-hub-panel-YuFbNPlT.js} +2 -2
  154. package/dist/_chunks/{product-hub-panel-C_ZosrBt.js.map → product-hub-panel-YuFbNPlT.js.map} +1 -1
  155. package/dist/_chunks/progress-notice-DiHWZ8Ms.js +279 -0
  156. package/dist/_chunks/progress-notice-DiHWZ8Ms.js.map +1 -0
  157. package/dist/_chunks/{province-select-Bd20Z9Br.js → province-select-CDjs5obD.js} +2 -2
  158. package/dist/_chunks/{province-select-Bd20Z9Br.js.map → province-select-CDjs5obD.js.map} +1 -1
  159. package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js → radiograph-panel.agent-4UllIoTQ.js} +2 -2
  160. package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js.map → radiograph-panel.agent-4UllIoTQ.js.map} +1 -1
  161. package/dist/_chunks/{rating-C1Vrmpsi.js → rating-CGYpg5dj.js} +43 -44
  162. package/dist/_chunks/rating-CGYpg5dj.js.map +1 -0
  163. package/dist/_chunks/{registration-form-BxwqUZzk.js → registration-form-1B0PTDal.js} +4 -4
  164. package/dist/_chunks/{registration-form-BxwqUZzk.js.map → registration-form-1B0PTDal.js.map} +1 -1
  165. package/dist/_chunks/{reviews-panel-AvsVgtJu.js → reviews-panel-CosDZyow.js} +29 -7
  166. package/dist/_chunks/reviews-panel-CosDZyow.js.map +1 -0
  167. package/dist/_chunks/{rich-text-editor-aCIoptbg.js → rich-text-editor-56dSsyZI.js} +3 -3
  168. package/dist/_chunks/{rich-text-editor-aCIoptbg.js.map → rich-text-editor-56dSsyZI.js.map} +1 -1
  169. package/dist/_chunks/{select-k4gBdS8N.js → select-4S-eYZUf.js} +244 -214
  170. package/dist/_chunks/select-4S-eYZUf.js.map +1 -0
  171. package/dist/_chunks/{sign-document-D1P1nUQA.js → sign-document-BiOTs1P4.js} +2 -2
  172. package/dist/_chunks/{sign-document-D1P1nUQA.js.map → sign-document-BiOTs1P4.js.map} +1 -1
  173. package/dist/_chunks/{signature-request-3u6TvRt2.js → signature-request-DAmNj_uq.js} +5 -5
  174. package/dist/_chunks/{signature-request-3u6TvRt2.js.map → signature-request-DAmNj_uq.js.map} +1 -1
  175. package/dist/_chunks/skeleton-tTWJpvAq.js +415 -0
  176. package/dist/_chunks/skeleton-tTWJpvAq.js.map +1 -0
  177. package/dist/_chunks/{slot-grid-dj5f6R2w.js → slot-grid-D_gix9mJ.js} +2 -2
  178. package/dist/_chunks/{slot-grid-dj5f6R2w.js.map → slot-grid-D_gix9mJ.js.map} +1 -1
  179. package/dist/_chunks/{tabs-2x3L13jn.js → tabs-BTj-2qMZ.js} +2 -2
  180. package/dist/_chunks/{tabs-2x3L13jn.js.map → tabs-BTj-2qMZ.js.map} +1 -1
  181. package/dist/_chunks/{task-card-BS7Uqevr.js → task-card-Ci2XbLmq.js} +2 -2
  182. package/dist/_chunks/{task-card-BS7Uqevr.js.map → task-card-Ci2XbLmq.js.map} +1 -1
  183. package/dist/_chunks/{task-editor-Bb5MMcid.js → task-editor-BomyxGoZ.js} +8 -8
  184. package/dist/_chunks/{task-editor-Bb5MMcid.js.map → task-editor-BomyxGoZ.js.map} +1 -1
  185. package/dist/_chunks/{task-tray-eQU4KJcA.js → task-tray-Dnc72nl-.js} +3 -3
  186. package/dist/_chunks/{task-tray-eQU4KJcA.js.map → task-tray-Dnc72nl-.js.map} +1 -1
  187. package/dist/_chunks/{tasks-panel-BOb57Ysw.js → tasks-panel-ATz9JDy8.js} +6 -6
  188. package/dist/_chunks/{tasks-panel-BOb57Ysw.js.map → tasks-panel-ATz9JDy8.js.map} +1 -1
  189. package/dist/_chunks/{theme-toggle-Ctb77x6O.js → theme-toggle-DT_Jn4DC.js} +147 -138
  190. package/dist/_chunks/theme-toggle-DT_Jn4DC.js.map +1 -0
  191. package/dist/_chunks/{timeline-DEIuHrWz.js → timeline-wUuTDFY_.js} +2 -2
  192. package/dist/_chunks/{timeline-DEIuHrWz.js.map → timeline-wUuTDFY_.js.map} +1 -1
  193. package/dist/_chunks/{tool-rail-C-03rH2I.js → tool-rail-C-M3eVdY.js} +2 -2
  194. package/dist/_chunks/{tool-rail-C-03rH2I.js.map → tool-rail-C-M3eVdY.js.map} +1 -1
  195. package/dist/_chunks/{transcript-panel-XudW5l6l.js → transcript-panel-CoHHpcFg.js} +2 -2
  196. package/dist/_chunks/{transcript-panel-XudW5l6l.js.map → transcript-panel-CoHHpcFg.js.map} +1 -1
  197. package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js → treatment-receipt-pFqWFyD_.js} +2 -2
  198. package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js.map → treatment-receipt-pFqWFyD_.js.map} +1 -1
  199. package/dist/_chunks/{unit-converter-BPZ0Ldkb.js → unit-converter-CIoTmCmP.js} +2 -2
  200. package/dist/_chunks/{unit-converter-BPZ0Ldkb.js.map → unit-converter-CIoTmCmP.js.map} +1 -1
  201. package/dist/_chunks/{use-appointment-details-read-CVSPoP5j.js → use-appointment-details-read-CUGfE0hV.js} +12 -12
  202. package/dist/_chunks/{use-appointment-details-read-CVSPoP5j.js.map → use-appointment-details-read-CUGfE0hV.js.map} +1 -1
  203. package/dist/_chunks/use-dismissed-CTOWqA0e.js +177 -0
  204. package/dist/_chunks/use-dismissed-CTOWqA0e.js.map +1 -0
  205. package/dist/_chunks/{voice-control-panel-BJIEbDq6.js → voice-control-panel-B8Lrk0C4.js} +4 -4
  206. package/dist/_chunks/{voice-control-panel-BJIEbDq6.js.map → voice-control-panel-B8Lrk0C4.js.map} +1 -1
  207. package/dist/_chunks/{warning-stack-BdY-0bd3.js → warning-stack-BhHUmRiD.js} +2 -2
  208. package/dist/_chunks/{warning-stack-BdY-0bd3.js.map → warning-stack-BhHUmRiD.js.map} +1 -1
  209. package/dist/_chunks/{workflow-map-CYbRD9ek.js → workflow-map-ln4_OG8A.js} +2 -2
  210. package/dist/_chunks/{workflow-map-CYbRD9ek.js.map → workflow-map-ln4_OG8A.js.map} +1 -1
  211. package/dist/agent-catalog.json +172 -4
  212. package/dist/agent-i18n/en.json +25 -1
  213. package/dist/components/_shared/format-number.d.ts +20 -0
  214. package/dist/components/_shared/format-number.d.ts.map +1 -0
  215. package/dist/components/_shared/length-token.d.ts +12 -0
  216. package/dist/components/_shared/length-token.d.ts.map +1 -0
  217. package/dist/components/_shared/option.d.ts +1 -0
  218. package/dist/components/_shared/option.d.ts.map +1 -1
  219. package/dist/components/address-fields/index.js +1 -1
  220. package/dist/components/agenda-card/index.js +1 -1
  221. package/dist/components/agenda-tray/index.js +1 -1
  222. package/dist/components/ai-credits-notice/index.js +1 -1
  223. package/dist/components/ai-permission-notice/index.js +1 -1
  224. package/dist/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  225. package/dist/components/ai-prompt-input/index.js +1 -1
  226. package/dist/components/alert/alert.d.ts +26 -0
  227. package/dist/components/alert/alert.d.ts.map +1 -1
  228. package/dist/components/alert/index.js +1 -1
  229. package/dist/components/anamnesis-summary-card/index.js +1 -1
  230. package/dist/components/appointment-card/index.js +2 -2
  231. package/dist/components/appointment-details-panel/index.js +1 -1
  232. package/dist/components/appointment-peek/index.js +1 -1
  233. package/dist/components/appointment-timeline/index.js +1 -1
  234. package/dist/components/audio-recorder/index.js +1 -1
  235. package/dist/components/avatar/avatar.d.ts +2 -0
  236. package/dist/components/avatar/avatar.d.ts.map +1 -1
  237. package/dist/components/avatar/index.js +1 -1
  238. package/dist/components/bishop-score/index.js +1 -1
  239. package/dist/components/booking/booking.d.ts.map +1 -1
  240. package/dist/components/booking/details-form.d.ts.map +1 -1
  241. package/dist/components/booking/index.js +1 -1
  242. package/dist/components/calendar/index.js +1 -1
  243. package/dist/components/chat-message/index.js +1 -1
  244. package/dist/components/clinical-note-card/index.js +1 -1
  245. package/dist/components/color-picker/color-picker.d.ts.map +1 -1
  246. package/dist/components/color-picker/index.js +1 -1
  247. package/dist/components/combobox/combobox.d.ts.map +1 -1
  248. package/dist/components/combobox/index.js +1 -1
  249. package/dist/components/contact-profile-card/index.js +1 -1
  250. package/dist/components/control-room-rail/index.js +1 -1
  251. package/dist/components/country-select/index.js +1 -1
  252. package/dist/components/dashboard-grid/dashboard-grid.agent.d.ts.map +1 -1
  253. package/dist/components/dashboard-grid/dashboard-grid.d.ts +20 -1
  254. package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -1
  255. package/dist/components/dashboard-grid/index.js +1 -1
  256. package/dist/components/data-table/index.js +2 -2
  257. package/dist/components/dependent-selector/index.js +1 -1
  258. package/dist/components/document-preview/index.js +1 -1
  259. package/dist/components/document-scanner/index.js +1 -1
  260. package/dist/components/editable-description/index.js +1 -1
  261. package/dist/components/entity-summary/index.js +1 -1
  262. package/dist/components/error-summary/index.js +1 -1
  263. package/dist/components/face-scheme/face-scheme.d.ts.map +1 -1
  264. package/dist/components/face-scheme/index.js +1 -1
  265. package/dist/components/file-manager/index.js +1 -1
  266. package/dist/components/freemium-paywall/index.js +1 -1
  267. package/dist/components/gestational-age-calculator/index.js +1 -1
  268. package/dist/components/header-settings/header-settings.d.ts.map +1 -1
  269. package/dist/components/header-settings/index.js +1 -1
  270. package/dist/components/heatmap/index.js +1 -1
  271. package/dist/components/index.d.ts +4 -2
  272. package/dist/components/index.d.ts.map +1 -1
  273. package/dist/components/map-view/index.d.ts +1 -1
  274. package/dist/components/map-view/index.d.ts.map +1 -1
  275. package/dist/components/map-view/index.js +1 -1
  276. package/dist/components/map-view/map-view.d.ts +51 -0
  277. package/dist/components/map-view/map-view.d.ts.map +1 -1
  278. package/dist/components/message-card/index.js +1 -1
  279. package/dist/components/message-tray/index.js +1 -1
  280. package/dist/components/multi-select/index.js +1 -1
  281. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  282. package/dist/components/muscle-scheme/index.js +1 -1
  283. package/dist/components/note-timeline/index.js +1 -1
  284. package/dist/components/notes-panel/index.js +1 -1
  285. package/dist/components/notice-group/index.d.ts +3 -0
  286. package/dist/components/notice-group/index.d.ts.map +1 -0
  287. package/dist/components/notice-group/index.js +6 -0
  288. package/dist/components/notice-group/index.js.map +1 -0
  289. package/dist/components/notice-group/notice-group.agent.d.ts +4 -0
  290. package/dist/components/notice-group/notice-group.agent.d.ts.map +1 -0
  291. package/dist/components/notice-group/notice-group.d.ts +43 -0
  292. package/dist/components/notice-group/notice-group.d.ts.map +1 -0
  293. package/dist/components/notification-tray/index.js +1 -1
  294. package/dist/components/operator-hero/index.js +1 -1
  295. package/dist/components/operator-hero/operator-hero.d.ts.map +1 -1
  296. package/dist/components/optical-prescription/index.js +1 -1
  297. package/dist/components/optical-prescription/optical-prescription-data.d.ts +8 -8
  298. package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -1
  299. package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -1
  300. package/dist/components/panel-header/index.js +1 -1
  301. package/dist/components/panel-header/panel-header.d.ts +10 -0
  302. package/dist/components/panel-header/panel-header.d.ts.map +1 -1
  303. package/dist/components/panel-subview/index.js +1 -1
  304. package/dist/components/patient-details/index.js +1 -1
  305. package/dist/components/patient-search/index.js +1 -1
  306. package/dist/components/patient-summary-card/index.js +1 -1
  307. package/dist/components/patient-table/index.js +1 -1
  308. package/dist/components/payment-form/index.js +1 -1
  309. package/dist/components/pdf-viewer/index.js +1 -1
  310. package/dist/components/periodontal-risk-chart/index.js +1 -1
  311. package/dist/components/periodontal-risk-chart/periodontal-risk-chart.d.ts.map +1 -1
  312. package/dist/components/practice-profile-hero/index.js +1 -1
  313. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +4 -1
  314. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts.map +1 -1
  315. package/dist/components/practice-results/index.js +1 -1
  316. package/dist/components/practice-results/practice-results.d.ts +10 -2
  317. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  318. package/dist/components/pregnancy-dating/index.js +1 -1
  319. package/dist/components/product-hub-tray/index.js +1 -1
  320. package/dist/components/progress-notice/index.d.ts +3 -0
  321. package/dist/components/progress-notice/index.d.ts.map +1 -0
  322. package/dist/components/progress-notice/index.js +6 -0
  323. package/dist/components/progress-notice/index.js.map +1 -0
  324. package/dist/components/progress-notice/progress-notice.agent.d.ts +4 -0
  325. package/dist/components/progress-notice/progress-notice.agent.d.ts.map +1 -0
  326. package/dist/components/progress-notice/progress-notice.d.ts +81 -0
  327. package/dist/components/progress-notice/progress-notice.d.ts.map +1 -0
  328. package/dist/components/province-select/index.js +1 -1
  329. package/dist/components/radiograph-panel/index.js +1 -1
  330. package/dist/components/rating/index.js +1 -1
  331. package/dist/components/rating/rating.d.ts.map +1 -1
  332. package/dist/components/reviews-panel/index.js +1 -1
  333. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  334. package/dist/components/rich-text-editor/index.js +2 -2
  335. package/dist/components/select/index.js +1 -1
  336. package/dist/components/select/select.d.ts +6 -0
  337. package/dist/components/select/select.d.ts.map +1 -1
  338. package/dist/components/sign-document/index.js +1 -1
  339. package/dist/components/skeleton/index.d.ts +1 -1
  340. package/dist/components/skeleton/index.d.ts.map +1 -1
  341. package/dist/components/skeleton/index.js +1 -1
  342. package/dist/components/skeleton/skeleton.d.ts +41 -1
  343. package/dist/components/skeleton/skeleton.d.ts.map +1 -1
  344. package/dist/components/skeleton-scheme/index.js +1 -1
  345. package/dist/components/slot-grid/index.js +1 -1
  346. package/dist/components/tabs/index.js +1 -1
  347. package/dist/components/task-card/index.js +1 -1
  348. package/dist/components/task-editor/index.js +1 -1
  349. package/dist/components/task-tray/index.js +1 -1
  350. package/dist/components/tasks-panel/index.js +1 -1
  351. package/dist/components/theme-toggle/index.js +1 -1
  352. package/dist/components/theme-toggle/theme-toggle.d.ts.map +1 -1
  353. package/dist/components/timeline/index.js +1 -1
  354. package/dist/components/tool-rail/index.js +1 -1
  355. package/dist/components/transcript-panel/index.js +1 -1
  356. package/dist/components/treatment-receipt/index.js +1 -1
  357. package/dist/components/unit-converter/index.js +1 -1
  358. package/dist/components/voice-control-panel/index.js +1 -1
  359. package/dist/components/warning-stack/index.js +1 -1
  360. package/dist/components/workflow/index.js +1 -1
  361. package/dist/hooks/index.d.ts +1 -0
  362. package/dist/hooks/index.d.ts.map +1 -1
  363. package/dist/hooks/index.js +81 -76
  364. package/dist/hooks/index.js.map +1 -1
  365. package/dist/hooks/use-dismissed.d.ts +58 -0
  366. package/dist/hooks/use-dismissed.d.ts.map +1 -0
  367. package/dist/i18n/locales/ar.d.ts +22 -0
  368. package/dist/i18n/locales/ar.d.ts.map +1 -1
  369. package/dist/i18n/locales/ar.js +22 -0
  370. package/dist/i18n/locales/ar.js.map +1 -1
  371. package/dist/i18n/locales/de.d.ts +22 -0
  372. package/dist/i18n/locales/de.d.ts.map +1 -1
  373. package/dist/i18n/locales/de.js +22 -0
  374. package/dist/i18n/locales/de.js.map +1 -1
  375. package/dist/i18n/locales/el.d.ts +22 -0
  376. package/dist/i18n/locales/el.d.ts.map +1 -1
  377. package/dist/i18n/locales/el.js +22 -0
  378. package/dist/i18n/locales/el.js.map +1 -1
  379. package/dist/i18n/locales/en.d.ts +22 -0
  380. package/dist/i18n/locales/en.d.ts.map +1 -1
  381. package/dist/i18n/locales/en.js +22 -0
  382. package/dist/i18n/locales/en.js.map +1 -1
  383. package/dist/i18n/locales/es.d.ts +22 -0
  384. package/dist/i18n/locales/es.d.ts.map +1 -1
  385. package/dist/i18n/locales/es.js +22 -0
  386. package/dist/i18n/locales/es.js.map +1 -1
  387. package/dist/i18n/locales/fr.d.ts +22 -0
  388. package/dist/i18n/locales/fr.d.ts.map +1 -1
  389. package/dist/i18n/locales/fr.js +22 -0
  390. package/dist/i18n/locales/fr.js.map +1 -1
  391. package/dist/i18n/locales/hi.d.ts +22 -0
  392. package/dist/i18n/locales/hi.d.ts.map +1 -1
  393. package/dist/i18n/locales/hi.js +22 -0
  394. package/dist/i18n/locales/hi.js.map +1 -1
  395. package/dist/i18n/locales/it.d.ts +22 -0
  396. package/dist/i18n/locales/it.d.ts.map +1 -1
  397. package/dist/i18n/locales/it.js +22 -0
  398. package/dist/i18n/locales/it.js.map +1 -1
  399. package/dist/i18n/locales/ja.d.ts +22 -0
  400. package/dist/i18n/locales/ja.d.ts.map +1 -1
  401. package/dist/i18n/locales/ja.js +22 -0
  402. package/dist/i18n/locales/ja.js.map +1 -1
  403. package/dist/i18n/locales/nl.d.ts +22 -0
  404. package/dist/i18n/locales/nl.d.ts.map +1 -1
  405. package/dist/i18n/locales/nl.js +22 -0
  406. package/dist/i18n/locales/nl.js.map +1 -1
  407. package/dist/i18n/locales/pl.d.ts +22 -0
  408. package/dist/i18n/locales/pl.d.ts.map +1 -1
  409. package/dist/i18n/locales/pl.js +22 -0
  410. package/dist/i18n/locales/pl.js.map +1 -1
  411. package/dist/i18n/locales/pt.d.ts +22 -0
  412. package/dist/i18n/locales/pt.d.ts.map +1 -1
  413. package/dist/i18n/locales/pt.js +22 -0
  414. package/dist/i18n/locales/pt.js.map +1 -1
  415. package/dist/i18n/locales/ro.d.ts +22 -0
  416. package/dist/i18n/locales/ro.d.ts.map +1 -1
  417. package/dist/i18n/locales/ro.js +22 -0
  418. package/dist/i18n/locales/ro.js.map +1 -1
  419. package/dist/i18n/locales/ru.d.ts +22 -0
  420. package/dist/i18n/locales/ru.d.ts.map +1 -1
  421. package/dist/i18n/locales/ru.js +22 -0
  422. package/dist/i18n/locales/ru.js.map +1 -1
  423. package/dist/i18n/locales/sq.d.ts +22 -0
  424. package/dist/i18n/locales/sq.d.ts.map +1 -1
  425. package/dist/i18n/locales/sq.js +22 -0
  426. package/dist/i18n/locales/sq.js.map +1 -1
  427. package/dist/i18n/locales/sv.d.ts +22 -0
  428. package/dist/i18n/locales/sv.d.ts.map +1 -1
  429. package/dist/i18n/locales/sv.js +22 -0
  430. package/dist/i18n/locales/sv.js.map +1 -1
  431. package/dist/i18n/locales/tr.d.ts +22 -0
  432. package/dist/i18n/locales/tr.d.ts.map +1 -1
  433. package/dist/i18n/locales/tr.js +22 -0
  434. package/dist/i18n/locales/tr.js.map +1 -1
  435. package/dist/i18n/locales/zh.d.ts +22 -0
  436. package/dist/i18n/locales/zh.d.ts.map +1 -1
  437. package/dist/i18n/locales/zh.js +22 -0
  438. package/dist/i18n/locales/zh.js.map +1 -1
  439. package/dist/index.js +1194 -1183
  440. package/dist/index.js.map +1 -1
  441. package/dist/locales/ar.json +22 -0
  442. package/dist/locales/de.json +22 -0
  443. package/dist/locales/el.json +22 -0
  444. package/dist/locales/en.json +22 -0
  445. package/dist/locales/es.json +22 -0
  446. package/dist/locales/fr.json +22 -0
  447. package/dist/locales/hi.json +22 -0
  448. package/dist/locales/it.json +22 -0
  449. package/dist/locales/ja.json +22 -0
  450. package/dist/locales/nl.json +22 -0
  451. package/dist/locales/pl.json +22 -0
  452. package/dist/locales/pt.json +22 -0
  453. package/dist/locales/ro.json +22 -0
  454. package/dist/locales/ru.json +22 -0
  455. package/dist/locales/sq.json +22 -0
  456. package/dist/locales/sv.json +22 -0
  457. package/dist/locales/tr.json +22 -0
  458. package/dist/locales/zh.json +22 -0
  459. package/dist/patterns/alia-assistant/index.js +1 -1
  460. package/dist/patterns/anamnesis/anamnesis-export-pdf.d.ts.map +1 -1
  461. package/dist/patterns/anamnesis/index.js +1 -1
  462. package/dist/patterns/calendar/index.js +1 -1
  463. package/dist/patterns/forgot-password-form/index.js +1 -1
  464. package/dist/patterns/help-me-write-templates/index.js +2 -2
  465. package/dist/patterns/login-form/index.js +1 -1
  466. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  467. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  468. package/dist/patterns/registration-form/index.js +1 -1
  469. package/dist/patterns/signature-request/index.js +1 -1
  470. package/dist/tokens.css +1 -1
  471. package/package.json +9 -1
  472. package/dist/_chunks/ai-prompt-input-DSGSe4LH.js.map +0 -1
  473. package/dist/_chunks/alert-DjsJMGRE.js.map +0 -1
  474. package/dist/_chunks/anamnesis-summary-rows-BQ_EokKz.js.map +0 -1
  475. package/dist/_chunks/avatar-WZY3eGE7.js +0 -123
  476. package/dist/_chunks/avatar-WZY3eGE7.js.map +0 -1
  477. package/dist/_chunks/booking-tTVxKPQY.js.map +0 -1
  478. package/dist/_chunks/color-picker-BsggJovx.js.map +0 -1
  479. package/dist/_chunks/combobox-U5yfO6o0.js.map +0 -1
  480. package/dist/_chunks/contact-profile-card-C4-OCshj.js.map +0 -1
  481. package/dist/_chunks/dashboard-grid-B2MB7SRS.js +0 -1428
  482. package/dist/_chunks/dashboard-grid-B2MB7SRS.js.map +0 -1
  483. package/dist/_chunks/header-settings-BSH9Gk0J.js.map +0 -1
  484. package/dist/_chunks/map-view-BuVfJMEa.js.map +0 -1
  485. package/dist/_chunks/multi-select-CMaAQQgb.js.map +0 -1
  486. package/dist/_chunks/operator-hero-3_RG4Dkj.js.map +0 -1
  487. package/dist/_chunks/optical-prescription-CxfMsbxi.js.map +0 -1
  488. package/dist/_chunks/panel-header-BJkaUwnl.js +0 -128
  489. package/dist/_chunks/panel-header-BJkaUwnl.js.map +0 -1
  490. package/dist/_chunks/periodontal-risk-chart-CPy7CNFe.js.map +0 -1
  491. package/dist/_chunks/practice-profile-hero-Dfc0F60y.js +0 -193
  492. package/dist/_chunks/practice-profile-hero-Dfc0F60y.js.map +0 -1
  493. package/dist/_chunks/practice-results-BrUDDMXC.js.map +0 -1
  494. package/dist/_chunks/rating-C1Vrmpsi.js.map +0 -1
  495. package/dist/_chunks/reviews-panel-AvsVgtJu.js.map +0 -1
  496. package/dist/_chunks/select-k4gBdS8N.js.map +0 -1
  497. package/dist/_chunks/skeleton-B1KTdJ4N.js +0 -116
  498. package/dist/_chunks/skeleton-B1KTdJ4N.js.map +0 -1
  499. package/dist/_chunks/theme-toggle-Ctb77x6O.js.map +0 -1
@@ -1,10 +1,11 @@
1
- import { jsxs as m, jsx as r } from "react/jsx-runtime";
2
- import { forwardRef as T, useId as $, useMemo as S } from "react";
3
- import { c as _ } from "./index-D2ZczOXr.js";
1
+ import { jsxs as m, jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as I, useId as S, useMemo as _ } from "react";
3
+ import { c as D } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as j } from "react-i18next";
5
5
  import { B as w } from "./badge-BUk4RjTS.js";
6
- import { C as N } from "./card-BA4Ig_kn.js";
6
+ import { C } from "./card-BA4Ig_kn.js";
7
7
  import { u as M } from "./registry-DvAUVLHh.js";
8
+ import { a as A } from "./format-number-DdzqwMs1.js";
8
9
  const B = {
9
10
  id: "periodontal-risk-chart",
10
11
  capabilities: [],
@@ -35,36 +36,36 @@ const B = {
35
36
  description: "Sourced from the id prop."
36
37
  }
37
38
  }
38
- }, A = [
39
+ }, O = [
39
40
  "bleeding",
40
41
  "pockets",
41
42
  "toothLoss",
42
43
  "boneLossAge",
43
44
  "smoking",
44
45
  "systemic"
45
- ], D = {
46
+ ], U = {
46
47
  low: 0.4,
47
48
  moderate: 0.7,
48
49
  high: 1
49
50
  };
50
- function te(o) {
51
+ function re(o) {
51
52
  return o === "high" ? 2 : o === "moderate" ? 1 : 0;
52
53
  }
53
- function x(o, l, s) {
54
- return o >= s ? "high" : o >= l ? "moderate" : "low";
54
+ function x(o, l, a) {
55
+ return o >= a ? "high" : o >= l ? "moderate" : "low";
55
56
  }
56
- const U = {
57
+ const K = {
57
58
  none: "low",
58
59
  former: "low",
59
60
  light: "moderate",
60
61
  moderate: "high",
61
62
  heavy: "high"
62
63
  };
63
- function K(o) {
64
- const l = [], s = (e, d, a) => l.push({ factor: e, level: d, radius: D[d], valueText: a });
64
+ function W(o) {
65
+ const l = [], a = (e, d, i) => l.push({ factor: e, level: d, radius: U[d], valueText: i });
65
66
  {
66
67
  const e = o.bleedingPercent;
67
- s(
68
+ a(
68
69
  "bleeding",
69
70
  e == null ? "low" : x(e, 10, 26),
70
71
  e == null ? null : `${Math.round(e)}%`
@@ -72,7 +73,7 @@ function K(o) {
72
73
  }
73
74
  {
74
75
  const e = o.pocketsOver5mm;
75
- s(
76
+ a(
76
77
  "pockets",
77
78
  e == null ? "low" : x(e, 5, 9),
78
79
  e == null ? null : String(e)
@@ -80,7 +81,7 @@ function K(o) {
80
81
  }
81
82
  {
82
83
  const e = o.toothLoss;
83
- s(
84
+ a(
84
85
  "toothLoss",
85
86
  e == null ? "low" : x(e, 5, 9),
86
87
  e == null ? null : String(e)
@@ -89,69 +90,69 @@ function K(o) {
89
90
  {
90
91
  const e = o.boneLossPercent, d = o.ageYears;
91
92
  if (e == null || d == null || d <= 0)
92
- s("boneLossAge", "low", null);
93
+ a("boneLossAge", "low", null);
93
94
  else {
94
- const a = e / d;
95
- s(
95
+ const i = e / d;
96
+ a(
96
97
  "boneLossAge",
97
- a > 1 ? "high" : a >= 0.5 ? "moderate" : "low",
98
- a.toFixed(2)
98
+ i > 1 ? "high" : i >= 0.5 ? "moderate" : "low",
99
+ i.toFixed(2)
99
100
  );
100
101
  }
101
102
  }
102
103
  {
103
104
  const e = o.smoking;
104
- s("smoking", e == null ? "low" : U[e], e ?? null);
105
+ a("smoking", e == null ? "low" : K[e], e ?? null);
105
106
  }
106
107
  {
107
108
  const e = o.systemic;
108
- s("systemic", e ? "high" : "low", e == null ? null : e ? "yes" : "no");
109
+ a("systemic", e ? "high" : "low", e == null ? null : e ? "yes" : "no");
109
110
  }
110
111
  const g = l.filter((e) => e.level === "high").length, p = l.filter((e) => e.level === "moderate").length, y = g > 0 || p >= 2 ? "high" : p === 1 ? "moderate" : "low";
111
112
  return { factors: l, overall: y };
112
113
  }
113
- const f = 240, W = _("ds:w-full ds:text-[color:var(--foreground)]", {
114
+ const f = 240, z = D("ds:w-full ds:text-[color:var(--foreground)]", {
114
115
  variants: {
115
116
  surface: { flat: "", elevated: "" }
116
117
  },
117
118
  defaultVariants: { surface: "elevated" }
118
119
  }), k = f / 2, h = f / 2 - 16;
119
120
  function v(o, l) {
120
- const s = (-90 + o * 60) * Math.PI / 180;
121
- return { x: k + l * Math.cos(s), y: k + l * Math.sin(s) };
121
+ const a = (-90 + o * 60) * Math.PI / 180;
122
+ return { x: k + l * Math.cos(a), y: k + l * Math.sin(a) };
122
123
  }
123
124
  function u(o) {
124
- return A.map((l, s) => {
125
- const g = v(s, h * o);
125
+ return O.map((l, a) => {
126
+ const g = v(a, h * o);
126
127
  return `${g.x.toFixed(1)},${g.y.toFixed(1)}`;
127
128
  }).join(" ");
128
129
  }
129
- const C = {
130
+ const F = {
130
131
  low: "success",
131
132
  moderate: "warning",
132
133
  high: "error"
133
- }, z = {
134
+ }, G = {
134
135
  low: "Low",
135
136
  moderate: "Moderate",
136
137
  high: "High"
137
- }, G = {
138
+ }, H = {
138
139
  bleeding: "Bleeding on probing",
139
140
  pockets: "Residual pockets ≥5 mm",
140
141
  toothLoss: "Tooth loss",
141
142
  boneLossAge: "Bone loss / age",
142
143
  smoking: "Smoking",
143
144
  systemic: "Systemic / genetic"
144
- }, H = T(
145
+ }, q = I(
145
146
  ({
146
147
  inputs: o,
147
148
  surface: l = "elevated",
148
- locale: s,
149
+ locale: a,
149
150
  "aria-label": g,
150
151
  id: p,
151
152
  className: y,
152
153
  ...e
153
154
  }, d) => {
154
- const { t: a, i18n: O } = j("ui"), E = $(), F = s ?? O.language ?? "en", c = S(() => K(o), [o]);
155
+ const { t: i, i18n: E } = j("ui"), P = S(), b = a ?? E.language ?? "en", c = _(() => W(o), [o]);
155
156
  M(
156
157
  B,
157
158
  {
@@ -162,46 +163,53 @@ const C = {
162
163
  },
163
164
  p
164
165
  );
165
- const P = c.factors.map((t, n) => {
166
- const i = v(n, h * t.radius);
167
- return `${i.x.toFixed(1)},${i.y.toFixed(1)}`;
168
- }).join(" "), b = (t) => a(`periodontalRiskChart.level.${t}`, {
169
- defaultValue: z[t]
170
- }), V = (t, n) => {
171
- if (n == null)
172
- return a("periodontalRiskChart.valueUnset", "not recorded");
166
+ const V = c.factors.map((t, r) => {
167
+ const n = v(r, h * t.radius);
168
+ return `${n.x.toFixed(1)},${n.y.toFixed(1)}`;
169
+ }).join(" "), L = (t) => i(`periodontalRiskChart.level.${t}`, {
170
+ defaultValue: G[t]
171
+ }), T = (t, r) => {
172
+ if (r == null)
173
+ return i("periodontalRiskChart.valueUnset", "not recorded");
173
174
  if (t === "smoking")
174
- return a(`periodontalRiskChart.smoking.${n}`, { defaultValue: n });
175
+ return i(`periodontalRiskChart.smoking.${r}`, { defaultValue: r });
175
176
  if (t === "systemic")
176
- return a(`periodontalRiskChart.systemic.${n}`, { defaultValue: n });
177
+ return i(`periodontalRiskChart.systemic.${r}`, { defaultValue: r });
178
+ if (t === "boneLossAge") {
179
+ const n = Number.parseFloat(r);
180
+ return Number.isFinite(n) ? A(n, b, {
181
+ minimumFractionDigits: 2,
182
+ maximumFractionDigits: 2
183
+ }) : r;
184
+ }
177
185
  if (t === "bleeding") {
178
- const i = Number.parseFloat(n);
179
- if (Number.isFinite(i))
186
+ const n = Number.parseFloat(r);
187
+ if (Number.isFinite(n))
180
188
  try {
181
- return a("periodontalRiskChart.percent", {
182
- value: new Intl.NumberFormat(F, {
189
+ return i("periodontalRiskChart.percent", {
190
+ value: A(n, b, {
183
191
  maximumFractionDigits: 0
184
- }).format(i),
192
+ }),
185
193
  defaultValue: "{{value}}%"
186
194
  });
187
195
  } catch {
188
- return n;
196
+ return r;
189
197
  }
190
198
  }
191
- return n;
192
- }, L = a("periodontalRiskChart.heading", "Periodontal risk"), I = g ?? L, R = /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
199
+ return r;
200
+ }, R = i("periodontalRiskChart.heading", "Periodontal risk"), $ = g ?? R, N = /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
193
201
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
194
- /* @__PURE__ */ r(
202
+ /* @__PURE__ */ s(
195
203
  "h2",
196
204
  {
197
- id: E,
205
+ id: P,
198
206
  className: "type-title-card ds:m-0 ds:text-[color:var(--foreground)]",
199
- children: L
207
+ children: R
200
208
  }
201
209
  ),
202
210
  /* @__PURE__ */ m("span", { className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
203
- /* @__PURE__ */ r("span", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: a("periodontalRiskChart.overall.label", "Overall") }),
204
- /* @__PURE__ */ r(w, { variant: C[c.overall], size: "sm", children: b(c.overall) })
211
+ /* @__PURE__ */ s("span", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: i("periodontalRiskChart.overall.label", "Overall") }),
212
+ /* @__PURE__ */ s(w, { variant: F[c.overall], size: "sm", children: L(c.overall) })
205
213
  ] })
206
214
  ] }),
207
215
  /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-lg)]", children: [
@@ -213,7 +221,7 @@ const C = {
213
221
  "aria-hidden": "true",
214
222
  focusable: "false",
215
223
  children: [
216
- /* @__PURE__ */ r(
224
+ /* @__PURE__ */ s(
217
225
  "polygon",
218
226
  {
219
227
  points: u(1),
@@ -221,7 +229,7 @@ const C = {
221
229
  fillOpacity: 0.1
222
230
  }
223
231
  ),
224
- /* @__PURE__ */ r(
232
+ /* @__PURE__ */ s(
225
233
  "polygon",
226
234
  {
227
235
  points: u(0.7),
@@ -229,7 +237,7 @@ const C = {
229
237
  fillOpacity: 0.12
230
238
  }
231
239
  ),
232
- /* @__PURE__ */ r(
240
+ /* @__PURE__ */ s(
233
241
  "polygon",
234
242
  {
235
243
  points: u(0.4),
@@ -237,7 +245,7 @@ const C = {
237
245
  fillOpacity: 0.14
238
246
  }
239
247
  ),
240
- [1, 0.7, 0.4].map((t) => /* @__PURE__ */ r(
248
+ [1, 0.7, 0.4].map((t) => /* @__PURE__ */ s(
241
249
  "polygon",
242
250
  {
243
251
  points: u(t),
@@ -247,25 +255,25 @@ const C = {
247
255
  },
248
256
  t
249
257
  )),
250
- A.map((t, n) => {
251
- const i = v(n, h);
252
- return /* @__PURE__ */ r(
258
+ O.map((t, r) => {
259
+ const n = v(r, h);
260
+ return /* @__PURE__ */ s(
253
261
  "line",
254
262
  {
255
263
  x1: k,
256
264
  y1: k,
257
- x2: i.x,
258
- y2: i.y,
265
+ x2: n.x,
266
+ y2: n.y,
259
267
  stroke: "var(--border)",
260
268
  strokeWidth: 1
261
269
  },
262
- n
270
+ r
263
271
  );
264
272
  }),
265
- /* @__PURE__ */ r(
273
+ /* @__PURE__ */ s(
266
274
  "polygon",
267
275
  {
268
- points: P,
276
+ points: V,
269
277
  fill: "var(--primary)",
270
278
  fillOpacity: 0.18,
271
279
  stroke: "var(--primary)",
@@ -273,13 +281,13 @@ const C = {
273
281
  strokeLinejoin: "round"
274
282
  }
275
283
  ),
276
- c.factors.map((t, n) => {
277
- const i = v(n, h * t.radius);
278
- return /* @__PURE__ */ r(
284
+ c.factors.map((t, r) => {
285
+ const n = v(r, h * t.radius);
286
+ return /* @__PURE__ */ s(
279
287
  "circle",
280
288
  {
281
- cx: i.x,
282
- cy: i.y,
289
+ cx: n.x,
290
+ cy: n.y,
283
291
  r: 3,
284
292
  fill: "var(--primary)"
285
293
  },
@@ -289,46 +297,46 @@ const C = {
289
297
  ]
290
298
  }
291
299
  ),
292
- /* @__PURE__ */ r(
300
+ /* @__PURE__ */ s(
293
301
  "dl",
294
302
  {
295
303
  className: "type-body-sm ds:grid ds:min-w-[12rem] ds:flex-1 ds:grid-cols-[auto_1fr] ds:gap-x-[var(--spacing-md)] ds:gap-y-[var(--spacing-2xs)] ds:m-0",
296
- "aria-label": a("periodontalRiskChart.factors.label", "Risk factors"),
304
+ "aria-label": i("periodontalRiskChart.factors.label", "Risk factors"),
297
305
  children: c.factors.map((t) => /* @__PURE__ */ m("div", { className: "ds:contents", children: [
298
- /* @__PURE__ */ r("dt", { className: "ds:text-[color:var(--muted-foreground)]", children: a(`periodontalRiskChart.factor.${t.factor}`, {
299
- defaultValue: G[t.factor]
306
+ /* @__PURE__ */ s("dt", { className: "ds:text-[color:var(--muted-foreground)]", children: i(`periodontalRiskChart.factor.${t.factor}`, {
307
+ defaultValue: H[t.factor]
300
308
  }) }),
301
309
  /* @__PURE__ */ m("dd", { className: "ds:m-0 ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
302
- /* @__PURE__ */ r(w, { variant: C[t.level], size: "sm", children: b(t.level) }),
303
- /* @__PURE__ */ r("span", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: V(t.factor, t.valueText) })
310
+ /* @__PURE__ */ s(w, { variant: F[t.level], size: "sm", children: L(t.level) }),
311
+ /* @__PURE__ */ s("span", { className: "type-meta ds:text-[color:var(--muted-foreground)]", children: T(t.factor, t.valueText) })
304
312
  ] })
305
313
  ] }, t.factor))
306
314
  }
307
315
  )
308
316
  ] })
309
317
  ] });
310
- return /* @__PURE__ */ r(
318
+ return /* @__PURE__ */ s(
311
319
  "div",
312
320
  {
313
321
  ref: d,
314
322
  role: "group",
315
- "aria-label": I,
323
+ "aria-label": $,
316
324
  "data-component": "periodontal-risk-chart",
317
325
  "data-component-id": p,
318
326
  id: p,
319
- className: W({ surface: l, className: y }),
327
+ className: z({ surface: l, className: y }),
320
328
  ...e,
321
- children: l === "elevated" ? /* @__PURE__ */ r(N, { variant: "elevated", children: /* @__PURE__ */ r(N.Body, { children: R }) }) : R
329
+ children: l === "elevated" ? /* @__PURE__ */ s(C, { variant: "elevated", children: /* @__PURE__ */ s(C.Body, { children: N }) }) : N
322
330
  }
323
331
  );
324
332
  }
325
333
  );
326
- H.displayName = "PeriodontalRiskChart";
334
+ q.displayName = "PeriodontalRiskChart";
327
335
  export {
328
- A as P,
329
- H as a,
330
- K as c,
336
+ O as P,
337
+ q as a,
338
+ W as c,
331
339
  B as p,
332
- te as r
340
+ re as r
333
341
  };
334
- //# sourceMappingURL=periodontal-risk-chart-CPy7CNFe.js.map
342
+ //# sourceMappingURL=periodontal-risk-chart-B7S9OmPC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"periodontal-risk-chart-B7S9OmPC.js","sources":["../../src/components/periodontal-risk-chart/periodontal-risk-chart.agent.ts","../../src/components/periodontal-risk-chart/periodontal-risk-data.ts","../../src/components/periodontal-risk-chart/periodontal-risk-chart.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { PeriodontalRiskChartHandle } from './periodontal-risk-chart';\n\n/* -------------------------------------------------------------------- */\n/* PeriodontalRiskChart — agent adapter */\n/* */\n/* Read-only. Exposes the derived risk verdict and per-factor levels — */\n/* ordinal risk bands only, never the raw clinical inputs or any patient */\n/* identity. */\n/* -------------------------------------------------------------------- */\n\nexport const periodontalRiskChartAgent: AgentAdapter<PeriodontalRiskChartHandle> =\n {\n id: 'periodontal-risk-chart',\n capabilities: [],\n state: {\n overall: {\n type: 'string',\n descriptionKey: 'ui.agent.periodontalRiskChart.state.overall',\n description:\n 'Overall periodontal risk verdict — \"low\" | \"moderate\" | \"high\". Aggregate only.',\n read: (handle) => handle.getOverall(),\n },\n factorLevels: {\n type: 'object',\n descriptionKey: 'ui.agent.periodontalRiskChart.state.factorLevels',\n description:\n 'Per-factor risk levels keyed by factor (bleeding, pockets, toothLoss, boneLossAge, smoking, systemic) — each \"low\" | \"moderate\" | \"high\". No raw values.',\n read: (handle) => handle.getFactorLevels(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'periodontal-risk-chart',\n description: 'Marks the PeriodontalRiskChart root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n };\n","/* -------------------------------------------------------------------- */\n/* PeriodontalRiskChart — data model */\n/* */\n/* The Lang & Tonetti (2003) periodontal risk assessment — six vectors, */\n/* each scored low / moderate / high, drawn as a hexagon \"spider web\". */\n/* This module owns the thresholds and the pure scoring function; the */\n/* component owns only the geometry + a11y presentation. */\n/* -------------------------------------------------------------------- */\n\n/** The six risk vectors of the Lang & Tonetti diagram. */\nexport const PERIODONTAL_RISK_FACTORS = [\n 'bleeding',\n 'pockets',\n 'toothLoss',\n 'boneLossAge',\n 'smoking',\n 'systemic',\n] as const;\n\nexport type PeriodontalRiskFactor = (typeof PERIODONTAL_RISK_FACTORS)[number];\n\n/** Ordinal risk level for one factor and for the whole assessment. */\nexport type PeriodontalRiskLevel = 'low' | 'moderate' | 'high';\n\n/** Environmental (smoking) exposure bands. */\nexport type SmokingExposure =\n | 'none'\n | 'former'\n | 'light'\n | 'moderate'\n | 'heavy';\n\n/** Consumer-supplied risk inputs. All optional — an absent factor scores low. */\nexport interface PeriodontalRiskInputs {\n /** Bleeding on probing, % of sites (0–100). */\n bleedingPercent?: number;\n /** Number of residual pockets ≥ 5 mm. */\n pocketsOver5mm?: number;\n /** Number of teeth lost (of 28, third molars excluded). */\n toothLoss?: number;\n /** % bone loss at the worst site — combined with `ageYears` into BL/age. */\n boneLossPercent?: number;\n /** Patient age in years (denominator of the bone-loss/age ratio). */\n ageYears?: number;\n /** Smoking exposure band. */\n smoking?: SmokingExposure;\n /** A relevant systemic / genetic factor is present (e.g. diabetes, IL-1). */\n systemic?: boolean;\n}\n\n/** Scored result for one factor. */\nexport interface PeriodontalRiskFactorScore {\n factor: PeriodontalRiskFactor;\n level: PeriodontalRiskLevel;\n /** 0 (best) → 1 (worst): the normalised radius used to plot the vertex. */\n radius: number;\n /** Raw value formatted for the accessible summary, or null when unset. */\n valueText: string | null;\n}\n\n/** The whole assessment. */\nexport interface PeriodontalRiskResult {\n factors: PeriodontalRiskFactorScore[];\n overall: PeriodontalRiskLevel;\n}\n\nconst LEVEL_RADIUS: Record<PeriodontalRiskLevel, number> = {\n low: 0.4,\n moderate: 0.7,\n high: 1,\n};\n\n/** Order a level to an ordinal (low 0 … high 2). */\nexport function riskOrdinal(level: PeriodontalRiskLevel): 0 | 1 | 2 {\n return level === 'high' ? 2 : level === 'moderate' ? 1 : 0;\n}\n\nfunction band(\n value: number,\n moderateAt: number,\n highAt: number,\n): PeriodontalRiskLevel {\n if (value >= highAt) return 'high';\n if (value >= moderateAt) return 'moderate';\n return 'low';\n}\n\nconst SMOKING_LEVEL: Record<SmokingExposure, PeriodontalRiskLevel> = {\n none: 'low',\n former: 'low',\n light: 'moderate',\n moderate: 'high',\n heavy: 'high',\n};\n\n/**\n * Score the six vectors and the overall risk. Overall follows the Lang &\n * Tonetti reading: high if any vector is high or two-or-more are moderate;\n * low only when every vector is low; moderate otherwise.\n */\nexport function computePeriodontalRisk(\n inputs: PeriodontalRiskInputs,\n): PeriodontalRiskResult {\n const scores: PeriodontalRiskFactorScore[] = [];\n\n const push = (\n factor: PeriodontalRiskFactor,\n level: PeriodontalRiskLevel,\n valueText: string | null,\n ) => scores.push({ factor, level, radius: LEVEL_RADIUS[level], valueText });\n\n // Bleeding on probing (%): <10 low, 10–25 moderate, >25 high.\n {\n const v = inputs.bleedingPercent;\n push(\n 'bleeding',\n v == null ? 'low' : band(v, 10, 26),\n v == null ? null : `${Math.round(v)}%`,\n );\n }\n // Residual pockets ≥5 mm: ≤4 low, 5–8 moderate, ≥9 high.\n {\n const v = inputs.pocketsOver5mm;\n push(\n 'pockets',\n v == null ? 'low' : band(v, 5, 9),\n v == null ? null : String(v),\n );\n }\n // Tooth loss: ≤4 low, 5–8 moderate, ≥9 high.\n {\n const v = inputs.toothLoss;\n push(\n 'toothLoss',\n v == null ? 'low' : band(v, 5, 9),\n v == null ? null : String(v),\n );\n }\n // Bone loss / age ratio: <0.5 low, 0.5–1.0 moderate, >1.0 high.\n {\n const bl = inputs.boneLossPercent;\n const age = inputs.ageYears;\n if (bl == null || age == null || age <= 0) {\n push('boneLossAge', 'low', null);\n } else {\n const ratio = bl / age;\n push(\n 'boneLossAge',\n ratio > 1 ? 'high' : ratio >= 0.5 ? 'moderate' : 'low',\n ratio.toFixed(2),\n );\n }\n }\n // Environmental (smoking).\n {\n const v = inputs.smoking;\n push('smoking', v == null ? 'low' : SMOKING_LEVEL[v], v ?? null);\n }\n // Systemic / genetic: present → high.\n {\n const v = inputs.systemic;\n push('systemic', v ? 'high' : 'low', v == null ? null : v ? 'yes' : 'no');\n }\n\n const highs = scores.filter((s) => s.level === 'high').length;\n const moderates = scores.filter((s) => s.level === 'moderate').length;\n const overall: PeriodontalRiskLevel =\n highs > 0 || moderates >= 2 ? 'high' : moderates === 1 ? 'moderate' : 'low';\n\n return { factors: scores, overall };\n}\n","import {\n forwardRef,\n useId,\n useMemo,\n type ComponentPropsWithoutRef,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { periodontalRiskChartAgent } from './periodontal-risk-chart.agent';\nimport {\n computePeriodontalRisk,\n PERIODONTAL_RISK_FACTORS,\n type PeriodontalRiskFactor,\n type PeriodontalRiskInputs,\n type PeriodontalRiskLevel,\n} from './periodontal-risk-data';\nimport { formatNumber } from '../_shared/format-number';\n\n/* -------------------------------------------------------------------- */\n/* PeriodontalRiskChart */\n/* */\n/* The Lang & Tonetti (2003) periodontal risk \"spider web\": six vectors */\n/* (bleeding, residual pockets, tooth loss, bone-loss/age, smoking, */\n/* systemic) each scored low / moderate / high, drawn as a hexagon. */\n/* */\n/* The hexagon SVG is DECORATIVE (aria-hidden) — the accessible source */\n/* of truth is the worded summary: an overall-risk Badge plus a <dl> of */\n/* the six factors with their level and value. Colour is never the sole */\n/* cue (every band and the overall verdict is also worded). */\n/* -------------------------------------------------------------------- */\n\nconst VIEW = 240;\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n surface: { flat: '', elevated: '' },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Types */\n/* -------------------------------------------------------------------- */\n\nexport interface PeriodontalRiskChartHandle {\n /** The overall risk verdict. */\n getOverall: () => PeriodontalRiskLevel;\n /** Per-factor risk levels, keyed by factor. */\n getFactorLevels: () => Record<PeriodontalRiskFactor, PeriodontalRiskLevel>;\n}\n\nexport interface PeriodontalRiskChartProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children'\n> {\n /** The six risk inputs. Absent factors score low. */\n inputs: PeriodontalRiskInputs;\n /** `'elevated'` (default) wraps in a Card; `'flat'` drops the chrome. */\n surface?: 'flat' | 'elevated';\n /** Locale for number formatting. Falls back to `i18n.language`. */\n locale?: string;\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Geometry */\n/* -------------------------------------------------------------------- */\n\nconst CENTER = VIEW / 2;\nconst RADIUS = VIEW / 2 - 16;\n\n/** Vertex `i` (0 = top, clockwise) at a given radius. */\nfunction vertex(i: number, r: number): { x: number; y: number } {\n const angle = ((-90 + i * 60) * Math.PI) / 180;\n return { x: CENTER + r * Math.cos(angle), y: CENTER + r * Math.sin(angle) };\n}\n\n/** The six-point polygon string for a ring at fraction `f` of the radius. */\nfunction hexPoints(f: number): string {\n return PERIODONTAL_RISK_FACTORS.map((_, i) => {\n const v = vertex(i, RADIUS * f);\n return `${v.x.toFixed(1)},${v.y.toFixed(1)}`;\n }).join(' ');\n}\n\nconst BADGE_TONE: Record<\n PeriodontalRiskLevel,\n 'success' | 'warning' | 'error'\n> = {\n low: 'success',\n moderate: 'warning',\n high: 'error',\n};\n\nconst LEVEL_DEFAULT: Record<PeriodontalRiskLevel, string> = {\n low: 'Low',\n moderate: 'Moderate',\n high: 'High',\n};\n\nconst FACTOR_DEFAULT: Record<PeriodontalRiskFactor, string> = {\n bleeding: 'Bleeding on probing',\n pockets: 'Residual pockets ≥5 mm',\n toothLoss: 'Tooth loss',\n boneLossAge: 'Bone loss / age',\n smoking: 'Smoking',\n systemic: 'Systemic / genetic',\n};\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const PeriodontalRiskChart = forwardRef<\n HTMLDivElement,\n PeriodontalRiskChartProps\n>(\n (\n {\n inputs,\n surface = 'elevated',\n locale,\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation('ui');\n const headingId = useId();\n const resolvedLocale = locale ?? i18n.language ?? 'en';\n\n const result = useMemo(() => computePeriodontalRisk(inputs), [inputs]);\n\n useAgentRegistration(\n periodontalRiskChartAgent,\n {\n getOverall: () => result.overall,\n getFactorLevels: () =>\n Object.fromEntries(\n result.factors.map((f) => [f.factor, f.level]),\n ) as Record<PeriodontalRiskFactor, PeriodontalRiskLevel>,\n },\n id,\n );\n\n const patientPoints = result.factors\n .map((f, i) => {\n const v = vertex(i, RADIUS * f.radius);\n return `${v.x.toFixed(1)},${v.y.toFixed(1)}`;\n })\n .join(' ');\n\n const levelLabel = (level: PeriodontalRiskLevel): string =>\n t(`periodontalRiskChart.level.${level}`, {\n defaultValue: LEVEL_DEFAULT[level],\n });\n\n const factorValueText = (\n factor: PeriodontalRiskFactor,\n raw: string | null,\n ): string => {\n if (raw == null)\n return t('periodontalRiskChart.valueUnset', 'not recorded');\n if (factor === 'smoking')\n return t(`periodontalRiskChart.smoking.${raw}`, { defaultValue: raw });\n if (factor === 'systemic')\n return t(`periodontalRiskChart.systemic.${raw}`, { defaultValue: raw });\n if (factor === 'boneLossAge') {\n // The data layer writes the ratio with a dot (\"0.50\"); show it in\n // the UI language's separator (\"0,50\" in Italian).\n const n = Number.parseFloat(raw);\n return Number.isFinite(n)\n ? formatNumber(n, resolvedLocale, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n })\n : raw;\n }\n if (factor === 'bleeding') {\n // raw already carries the '%' glyph from the data layer; localise digits.\n const n = Number.parseFloat(raw);\n if (Number.isFinite(n)) {\n try {\n return t('periodontalRiskChart.percent', {\n value: formatNumber(n, resolvedLocale, {\n maximumFractionDigits: 0,\n }),\n defaultValue: '{{value}}%',\n });\n } catch {\n return raw;\n }\n }\n }\n return raw;\n };\n\n const heading = t('periodontalRiskChart.heading', 'Periodontal risk');\n const resolvedAriaLabel = ariaLabel ?? heading;\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]\">\n <h2\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {heading}\n </h2>\n <span className=\"ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]\">\n <span className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {t('periodontalRiskChart.overall.label', 'Overall')}\n </span>\n <Badge variant={BADGE_TONE[result.overall]} size=\"sm\">\n {levelLabel(result.overall)}\n </Badge>\n </span>\n </div>\n\n <div className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-lg)]\">\n {/* Decorative hexagon — the <dl> below is the accessible source. */}\n <svg\n viewBox={`0 0 ${VIEW} ${VIEW}`}\n className=\"ds:w-full ds:max-w-[240px] ds:aspect-square\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <polygon\n points={hexPoints(1)}\n fill=\"var(--destructive)\"\n fillOpacity={0.1}\n />\n <polygon\n points={hexPoints(0.7)}\n fill=\"var(--warning)\"\n fillOpacity={0.12}\n />\n <polygon\n points={hexPoints(0.4)}\n fill=\"var(--success)\"\n fillOpacity={0.14}\n />\n {[1, 0.7, 0.4].map((f) => (\n <polygon\n key={f}\n points={hexPoints(f)}\n fill=\"none\"\n stroke=\"var(--border)\"\n strokeWidth={1}\n />\n ))}\n {PERIODONTAL_RISK_FACTORS.map((_, i) => {\n const v = vertex(i, RADIUS);\n return (\n <line\n key={i}\n x1={CENTER}\n y1={CENTER}\n x2={v.x}\n y2={v.y}\n stroke=\"var(--border)\"\n strokeWidth={1}\n />\n );\n })}\n <polygon\n points={patientPoints}\n fill=\"var(--primary)\"\n fillOpacity={0.18}\n stroke=\"var(--primary)\"\n strokeWidth={2}\n strokeLinejoin=\"round\"\n />\n {result.factors.map((f, i) => {\n const v = vertex(i, RADIUS * f.radius);\n return (\n <circle\n key={f.factor}\n cx={v.x}\n cy={v.y}\n r={3}\n fill=\"var(--primary)\"\n />\n );\n })}\n </svg>\n\n <dl\n className=\"type-body-sm ds:grid ds:min-w-[12rem] ds:flex-1 ds:grid-cols-[auto_1fr] ds:gap-x-[var(--spacing-md)] ds:gap-y-[var(--spacing-2xs)] ds:m-0\"\n aria-label={t('periodontalRiskChart.factors.label', 'Risk factors')}\n >\n {result.factors.map((f) => (\n <div key={f.factor} className=\"ds:contents\">\n <dt className=\"ds:text-[color:var(--muted-foreground)]\">\n {t(`periodontalRiskChart.factor.${f.factor}`, {\n defaultValue: FACTOR_DEFAULT[f.factor],\n })}\n </dt>\n <dd className=\"ds:m-0 ds:flex ds:items-center ds:gap-[var(--spacing-2xs)]\">\n <Badge variant={BADGE_TONE[f.level]} size=\"sm\">\n {levelLabel(f.level)}\n </Badge>\n <span className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {factorValueText(f.factor, f.valueText)}\n </span>\n </dd>\n </div>\n ))}\n </dl>\n </div>\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-label={resolvedAriaLabel}\n data-component=\"periodontal-risk-chart\"\n data-component-id={id}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n inner\n )}\n </div>\n );\n },\n);\n\nPeriodontalRiskChart.displayName = 'PeriodontalRiskChart';\n\nexport type PeriodontalRiskChartSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["periodontalRiskChartAgent","handle","PERIODONTAL_RISK_FACTORS","LEVEL_RADIUS","riskOrdinal","level","band","value","moderateAt","highAt","SMOKING_LEVEL","computePeriodontalRisk","inputs","scores","push","factor","valueText","v","bl","age","ratio","highs","s","moderates","overall","VIEW","rootVariants","cva","CENTER","RADIUS","vertex","i","r","angle","hexPoints","f","_","BADGE_TONE","LEVEL_DEFAULT","FACTOR_DEFAULT","PeriodontalRiskChart","forwardRef","surface","locale","ariaLabel","id","className","rest","ref","t","i18n","useTranslation","headingId","useId","resolvedLocale","result","useMemo","useAgentRegistration","patientPoints","levelLabel","factorValueText","raw","formatNumber","heading","resolvedAriaLabel","inner","jsxs","jsx","Badge","Card"],"mappings":"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"}