@alfadocs/ui-kit 1.66.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 (305) hide show
  1. package/dist/_chunks/{address-fields-CJtu7LQU.js → address-fields-BUPRs3n-.js} +3 -3
  2. package/dist/_chunks/{agenda-card-DR9gDdKp.js → agenda-card-BDuvreCe.js} +2 -2
  3. package/dist/_chunks/{agenda-tray-DGB1Zup-.js → agenda-tray-CfwylhWf.js} +3 -3
  4. package/dist/_chunks/ai-credits-exhausted-notice-Bg8NpW2K.js +287 -0
  5. package/dist/_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js +43 -0
  6. package/dist/_chunks/ai-credits-notice-DQ-r3iQU.js +191 -0
  7. package/dist/_chunks/{ai-permission-notice-DpRmZ9Q3.js → ai-permission-notice-C00i6VhY.js} +2 -2
  8. package/dist/_chunks/{ai-prompt-input-DSGSe4LH.js → ai-prompt-input-DzgyoKyk.js} +141 -139
  9. package/dist/_chunks/{alert-DdDpOi-P.js → alert-9kEwDza3.js} +122 -111
  10. package/dist/_chunks/{alia-sidebar-qe0quZkB.js → alia-sidebar-B06ZSOaF.js} +3 -3
  11. package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js → anamnesis-summary-card-DQ3iE1gD.js} +2 -2
  12. package/dist/_chunks/{anamnesis-summary-rows-BIfw890v.js → anamnesis-summary-rows-CNK0fIJk.js} +392 -388
  13. package/dist/_chunks/{appointment-card-CL32sux-.js → appointment-card-5JMWi9_f.js} +2 -2
  14. package/dist/_chunks/{appointment-peek-B5mcDcXt.js → appointment-peek-D5XCfYKu.js} +2 -2
  15. package/dist/_chunks/{appointment-timeline-CCqjORFb.js → appointment-timeline-VFP6HoXT.js} +4 -4
  16. package/dist/_chunks/{appointment-tray-qtpJt8e0.js → appointment-tray-B3PDER3I.js} +3 -3
  17. package/dist/_chunks/{audio-recorder-DR-u1qbl.js → audio-recorder-4Ll0pwYK.js} +3 -3
  18. package/dist/_chunks/{auth-form-parts-Cmb41LSQ.js → auth-form-parts-B40zvD-a.js} +2 -2
  19. package/dist/_chunks/avatar-BPiPL7ND.js +199 -0
  20. package/dist/_chunks/{balance-badge-cell-DZNthHO1.js → balance-badge-cell-BG3DMly4.js} +4 -4
  21. package/dist/_chunks/{bishop-score-CaNTrikJ.js → bishop-score-Df8nF1qg.js} +2 -2
  22. package/dist/_chunks/{booking-DkjatiXc.js → booking-B1pDbERi.js} +377 -335
  23. package/dist/_chunks/{calendar-BhN-jisv.js → calendar-BvOM8rG3.js} +2 -2
  24. package/dist/_chunks/{calendar-workspace-Cp8yTZ1g.js → calendar-workspace-CYK1M83j.js} +19 -19
  25. package/dist/_chunks/{chat-message-fRLZ95O5.js → chat-message-Be-9vIIQ.js} +2 -2
  26. package/dist/_chunks/{clinical-note-card-BnFTIs6x.js → clinical-note-card-Caidqcwa.js} +2 -2
  27. package/dist/_chunks/{color-picker-BsggJovx.js → color-picker-AcaWuKah.js} +99 -95
  28. package/dist/_chunks/{combobox-U5yfO6o0.js → combobox-vF9O-QoG.js} +92 -83
  29. package/dist/_chunks/{contact-profile-card-C4-OCshj.js → contact-profile-card-CAwwOqHl.js} +40 -40
  30. package/dist/_chunks/{control-room-rail-DUerqHeo.js → control-room-rail-BB6rCDWI.js} +3 -3
  31. package/dist/_chunks/{country-select-DF5Bd_mn.js → country-select-CSE2Zm_s.js} +2 -2
  32. package/dist/_chunks/dashboard-grid-7JzaiKnk.js +1487 -0
  33. package/dist/_chunks/{data-table-COoCQ4n_.js → data-table-Cty4-Jht.js} +3 -3
  34. package/dist/_chunks/{dependent-selector-DBr1AhLg.js → dependent-selector-C4kOgO8b.js} +2 -2
  35. package/dist/_chunks/{document-preview-B1dQm292.js → document-preview-513f3iPn.js} +4 -4
  36. package/dist/_chunks/{document-scanner-CVPVLK7z.js → document-scanner-Bd3wbzpI.js} +2 -2
  37. package/dist/_chunks/{editable-description-ChGNdYY8.js → editable-description-DnAFi360.js} +2 -2
  38. package/dist/_chunks/{entity-summary-BQ9_KA8S.js → entity-summary-C2B8yNmc.js} +4 -4
  39. package/dist/_chunks/{error-summary-DrUfuKu1.js → error-summary-mGxIyDAY.js} +2 -2
  40. package/dist/_chunks/{face-scheme-DAD-mXzM.js → face-scheme-CSJdRNad.js} +248 -244
  41. package/dist/_chunks/{file-manager-RiV7-OEE.js → file-manager-D4cPnRhL.js} +3 -3
  42. package/dist/_chunks/{forgot-password-form-CgZkEvZy.js → forgot-password-form-Dqi7R-NL.js} +4 -4
  43. package/dist/_chunks/format-number-DdzqwMs1.js +13 -0
  44. package/dist/_chunks/{freemium-paywall-DKJHRFpp.js → freemium-paywall-C73C8Rgd.js} +2 -2
  45. package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js → gestational-age-calculator-Du53p8MH.js} +2 -2
  46. package/dist/_chunks/{header-settings-BSH9Gk0J.js → header-settings-DlUbvAUx.js} +37 -36
  47. package/dist/_chunks/{heatmap-C1TeC7wT.js → heatmap-DbZIQg14.js} +4 -4
  48. package/dist/_chunks/help-me-write-templates-5WkUfvc_.js +687 -0
  49. package/dist/_chunks/hourglass-BEAzW1wE.js +26 -0
  50. package/dist/_chunks/{kit-extensions-DWs1UEXb.js → kit-extensions-CYvLL4ee.js} +3 -3
  51. package/dist/_chunks/length-token-DwMnGEYT.js +24 -0
  52. package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js → link-cell-renderer-DtIsQWDO.js} +4 -4
  53. package/dist/_chunks/{login-dev-card-PnADNcI9.js → login-dev-card-vEL-o5wq.js} +3 -3
  54. package/dist/_chunks/{map-view-BuVfJMEa.js → map-view-CtohteZD.js} +300 -191
  55. package/dist/_chunks/{marketplace-app-shell-C-2e4eCD.js → marketplace-app-shell-CcLQ0Dn-.js} +4 -4
  56. package/dist/_chunks/{message-card-A3mJNqfy.js → message-card-C_ksqIYM.js} +2 -2
  57. package/dist/_chunks/{message-tray-Ft6vSr71.js → message-tray-DCoQ4GQb.js} +3 -3
  58. package/dist/_chunks/{multi-select-CMaAQQgb.js → multi-select-BOad3za9.js} +110 -98
  59. package/dist/_chunks/{muscle-scheme-YoN3rYXV.js → muscle-scheme-C66WlCxG.js} +2 -2
  60. package/dist/_chunks/{note-timeline-DDqNU46n.js → note-timeline-KzL52MmB.js} +2 -2
  61. package/dist/_chunks/{notes-panel-uEGIL7mi.js → notes-panel-BXN46XkF.js} +6 -6
  62. package/dist/_chunks/notice-group-DkYzKyAZ.js +291 -0
  63. package/dist/_chunks/{notification-tray-BR3seWA7.js → notification-tray-Cp18MW5b.js} +2 -2
  64. package/dist/_chunks/{operator-hero-3_RG4Dkj.js → operator-hero-6aAIQaFZ.js} +83 -66
  65. package/dist/_chunks/{optical-prescription-CxfMsbxi.js → optical-prescription-ulXnDbBe.js} +525 -509
  66. package/dist/_chunks/panel-header-CbtlTe85.js +190 -0
  67. package/dist/_chunks/{panel-subview-yP4qIbKS.js → panel-subview-BPU7220K.js} +2 -2
  68. package/dist/_chunks/{patient-details-4P1vA9Ls.js → patient-details-C4Dyo7Ck.js} +4 -4
  69. package/dist/_chunks/{patient-field-row-CBXhlfGD.js → patient-field-row-DROvUkFu.js} +155 -176
  70. package/dist/_chunks/{patient-search-DOnDUVsl.js → patient-search-BADdx3M1.js} +2 -2
  71. package/dist/_chunks/{patient-summary-card-CuDLo8MP.js → patient-summary-card-CAimxbuI.js} +4 -4
  72. package/dist/_chunks/{payment-automation-upsell-C8MEu0t6.js → payment-automation-upsell-CiwF5UrC.js} +2 -2
  73. package/dist/_chunks/{payment-form-C3dGY7v4.js → payment-form-PBuh8PIa.js} +2 -2
  74. package/dist/_chunks/{pdf-viewer-DJ9VN7cu.js → pdf-viewer-gAsNUsA8.js} +2 -2
  75. package/dist/_chunks/{periodontal-risk-chart-CPy7CNFe.js → periodontal-risk-chart-B7S9OmPC.js} +97 -89
  76. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js +236 -0
  77. package/dist/_chunks/{practice-results-8h2Utpt3.js → practice-results-BzThnpnm.js} +328 -298
  78. package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js → pregnancy-dating-EFcFUJkQ.js} +2 -2
  79. package/dist/_chunks/{privacy-mask-Ch7743uk.js → privacy-mask-CCz9zuIh.js} +2 -2
  80. package/dist/_chunks/{product-hub-panel-C_ZosrBt.js → product-hub-panel-YuFbNPlT.js} +2 -2
  81. package/dist/_chunks/progress-notice-DiHWZ8Ms.js +279 -0
  82. package/dist/_chunks/{province-select-Bd20Z9Br.js → province-select-CDjs5obD.js} +2 -2
  83. package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js → radiograph-panel.agent-4UllIoTQ.js} +2 -2
  84. package/dist/_chunks/{rating-C1Vrmpsi.js → rating-CGYpg5dj.js} +43 -44
  85. package/dist/_chunks/{registration-form-BQyT_kBX.js → registration-form-1B0PTDal.js} +4 -4
  86. package/dist/_chunks/{reviews-panel-AvsVgtJu.js → reviews-panel-CosDZyow.js} +29 -7
  87. package/dist/_chunks/{rich-text-editor-M2gT_E7f.js → rich-text-editor-56dSsyZI.js} +1653 -1743
  88. package/dist/_chunks/{select-k4gBdS8N.js → select-4S-eYZUf.js} +244 -214
  89. package/dist/_chunks/{sign-document-CY7xTXbm.js → sign-document-BiOTs1P4.js} +2 -2
  90. package/dist/_chunks/{signature-request-BMCHy2ZO.js → signature-request-DAmNj_uq.js} +5 -5
  91. package/dist/_chunks/skeleton-tTWJpvAq.js +415 -0
  92. package/dist/_chunks/{slot-grid-dj5f6R2w.js → slot-grid-D_gix9mJ.js} +2 -2
  93. package/dist/_chunks/{tabs-2x3L13jn.js → tabs-BTj-2qMZ.js} +2 -2
  94. package/dist/_chunks/{task-card-BS7Uqevr.js → task-card-Ci2XbLmq.js} +2 -2
  95. package/dist/_chunks/{task-editor-CifOznfq.js → task-editor-BomyxGoZ.js} +8 -8
  96. package/dist/_chunks/{task-tray-eQU4KJcA.js → task-tray-Dnc72nl-.js} +3 -3
  97. package/dist/_chunks/{tasks-panel-8nLwBw6P.js → tasks-panel-ATz9JDy8.js} +6 -6
  98. package/dist/_chunks/{theme-toggle-Ctb77x6O.js → theme-toggle-DT_Jn4DC.js} +147 -138
  99. package/dist/_chunks/{timeline-DEIuHrWz.js → timeline-wUuTDFY_.js} +2 -2
  100. package/dist/_chunks/{tool-rail-C-03rH2I.js → tool-rail-C-M3eVdY.js} +2 -2
  101. package/dist/_chunks/{transcript-panel-XudW5l6l.js → transcript-panel-CoHHpcFg.js} +2 -2
  102. package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js → treatment-receipt-pFqWFyD_.js} +2 -2
  103. package/dist/_chunks/{unit-converter-BPZ0Ldkb.js → unit-converter-CIoTmCmP.js} +2 -2
  104. package/dist/_chunks/{use-appointment-details-read-B-FEWbQM.js → use-appointment-details-read-CUGfE0hV.js} +13 -13
  105. package/dist/_chunks/use-dismissed-CTOWqA0e.js +177 -0
  106. package/dist/_chunks/voice-control-panel-B8Lrk0C4.js +1148 -0
  107. package/dist/_chunks/{warning-stack-HYWAytZV.js → warning-stack-BhHUmRiD.js} +2 -2
  108. package/dist/_chunks/{workflow-map-C2B2qIr1.js → workflow-map-ln4_OG8A.js} +2 -2
  109. package/dist/agent-catalog.json +221 -6
  110. package/dist/agent-i18n/en.json +32 -5
  111. package/dist/components/_shared/format-number.d.ts +20 -0
  112. package/dist/components/_shared/length-token.d.ts +12 -0
  113. package/dist/components/_shared/option.d.ts +1 -0
  114. package/dist/components/address-fields/index.js +1 -1
  115. package/dist/components/agenda-card/index.js +1 -1
  116. package/dist/components/agenda-tray/index.js +1 -1
  117. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.agent.d.ts +4 -0
  118. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.d.ts +96 -0
  119. package/dist/components/ai-credits-notice/ai-credits-notice.d.ts +30 -4
  120. package/dist/components/ai-credits-notice/index.d.ts +3 -0
  121. package/dist/components/ai-credits-notice/index.js +10 -4
  122. package/dist/components/ai-permission-notice/index.js +1 -1
  123. package/dist/components/ai-prompt-input/index.js +1 -1
  124. package/dist/components/alert/alert.d.ts +26 -0
  125. package/dist/components/alert/index.js +1 -1
  126. package/dist/components/anamnesis-summary-card/index.js +1 -1
  127. package/dist/components/appointment-card/index.js +2 -2
  128. package/dist/components/appointment-details-panel/index.js +1 -1
  129. package/dist/components/appointment-peek/index.js +1 -1
  130. package/dist/components/appointment-timeline/index.js +1 -1
  131. package/dist/components/audio-recorder/index.js +1 -1
  132. package/dist/components/avatar/avatar.d.ts +2 -0
  133. package/dist/components/avatar/index.js +1 -1
  134. package/dist/components/bishop-score/index.js +1 -1
  135. package/dist/components/booking/index.js +1 -1
  136. package/dist/components/calendar/index.js +1 -1
  137. package/dist/components/chat-message/index.js +1 -1
  138. package/dist/components/clinical-note-card/index.js +1 -1
  139. package/dist/components/color-picker/index.js +1 -1
  140. package/dist/components/combobox/index.js +1 -1
  141. package/dist/components/contact-profile-card/index.js +1 -1
  142. package/dist/components/control-room-rail/index.js +1 -1
  143. package/dist/components/country-select/index.js +1 -1
  144. package/dist/components/dashboard-grid/dashboard-grid.d.ts +20 -1
  145. package/dist/components/dashboard-grid/index.js +1 -1
  146. package/dist/components/data-table/index.js +2 -2
  147. package/dist/components/dependent-selector/index.js +1 -1
  148. package/dist/components/document-preview/index.js +1 -1
  149. package/dist/components/document-scanner/index.js +1 -1
  150. package/dist/components/editable-description/index.js +1 -1
  151. package/dist/components/entity-summary/index.js +1 -1
  152. package/dist/components/error-summary/index.js +1 -1
  153. package/dist/components/face-scheme/index.js +1 -1
  154. package/dist/components/file-manager/index.js +1 -1
  155. package/dist/components/freemium-paywall/index.js +1 -1
  156. package/dist/components/gestational-age-calculator/index.js +1 -1
  157. package/dist/components/header-settings/index.js +1 -1
  158. package/dist/components/heatmap/index.js +1 -1
  159. package/dist/components/index.d.ts +4 -2
  160. package/dist/components/map-view/index.d.ts +1 -1
  161. package/dist/components/map-view/index.js +1 -1
  162. package/dist/components/map-view/map-view.d.ts +51 -0
  163. package/dist/components/message-card/index.js +1 -1
  164. package/dist/components/message-tray/index.js +1 -1
  165. package/dist/components/multi-select/index.js +1 -1
  166. package/dist/components/muscle-scheme/index.js +1 -1
  167. package/dist/components/note-timeline/index.js +1 -1
  168. package/dist/components/notes-panel/index.js +1 -1
  169. package/dist/components/notice-group/index.d.ts +3 -0
  170. package/dist/components/notice-group/index.js +6 -0
  171. package/dist/components/notice-group/notice-group.agent.d.ts +4 -0
  172. package/dist/components/notice-group/notice-group.d.ts +43 -0
  173. package/dist/components/notification-tray/index.js +1 -1
  174. package/dist/components/operator-hero/index.js +1 -1
  175. package/dist/components/optical-prescription/index.js +1 -1
  176. package/dist/components/optical-prescription/optical-prescription-data.d.ts +8 -8
  177. package/dist/components/panel-header/index.js +1 -1
  178. package/dist/components/panel-header/panel-header.d.ts +10 -0
  179. package/dist/components/panel-subview/index.js +1 -1
  180. package/dist/components/patient-details/index.js +1 -1
  181. package/dist/components/patient-search/index.js +1 -1
  182. package/dist/components/patient-summary-card/index.js +1 -1
  183. package/dist/components/patient-table/index.js +1 -1
  184. package/dist/components/payment-form/index.js +1 -1
  185. package/dist/components/pdf-viewer/index.js +1 -1
  186. package/dist/components/periodontal-risk-chart/index.js +1 -1
  187. package/dist/components/practice-profile-hero/index.js +1 -1
  188. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +4 -1
  189. package/dist/components/practice-results/index.js +1 -1
  190. package/dist/components/practice-results/practice-results.d.ts +10 -2
  191. package/dist/components/pregnancy-dating/index.js +1 -1
  192. package/dist/components/product-hub-tray/index.js +1 -1
  193. package/dist/components/progress-notice/index.d.ts +3 -0
  194. package/dist/components/progress-notice/index.js +6 -0
  195. package/dist/components/progress-notice/progress-notice.agent.d.ts +4 -0
  196. package/dist/components/progress-notice/progress-notice.d.ts +81 -0
  197. package/dist/components/province-select/index.js +1 -1
  198. package/dist/components/radiograph-panel/index.js +1 -1
  199. package/dist/components/rating/index.js +1 -1
  200. package/dist/components/reviews-panel/index.js +1 -1
  201. package/dist/components/rich-text-editor/index.js +2 -2
  202. package/dist/components/select/index.js +1 -1
  203. package/dist/components/select/select.d.ts +6 -0
  204. package/dist/components/sign-document/index.js +1 -1
  205. package/dist/components/skeleton/index.d.ts +1 -1
  206. package/dist/components/skeleton/index.js +1 -1
  207. package/dist/components/skeleton/skeleton.d.ts +41 -1
  208. package/dist/components/skeleton-scheme/index.js +1 -1
  209. package/dist/components/slot-grid/index.js +1 -1
  210. package/dist/components/tabs/index.js +1 -1
  211. package/dist/components/task-card/index.js +1 -1
  212. package/dist/components/task-editor/index.js +1 -1
  213. package/dist/components/task-tray/index.js +1 -1
  214. package/dist/components/tasks-panel/index.js +1 -1
  215. package/dist/components/theme-toggle/index.js +1 -1
  216. package/dist/components/timeline/index.js +1 -1
  217. package/dist/components/tool-rail/index.js +1 -1
  218. package/dist/components/transcript-panel/index.js +1 -1
  219. package/dist/components/treatment-receipt/index.js +1 -1
  220. package/dist/components/unit-converter/index.js +1 -1
  221. package/dist/components/voice-control-panel/index.d.ts +2 -1
  222. package/dist/components/voice-control-panel/index.js +1 -1
  223. package/dist/components/voice-control-panel/voice-control-panel.d.ts +43 -3
  224. package/dist/components/warning-stack/index.js +1 -1
  225. package/dist/components/workflow/index.js +1 -1
  226. package/dist/hooks/index.d.ts +1 -0
  227. package/dist/hooks/index.js +81 -76
  228. package/dist/hooks/use-dismissed.d.ts +58 -0
  229. package/dist/i18n/locales/ar.d.ts +49 -12
  230. package/dist/i18n/locales/ar.js +49 -12
  231. package/dist/i18n/locales/de.d.ts +49 -12
  232. package/dist/i18n/locales/de.js +49 -12
  233. package/dist/i18n/locales/el.d.ts +49 -12
  234. package/dist/i18n/locales/el.js +49 -12
  235. package/dist/i18n/locales/en.d.ts +49 -12
  236. package/dist/i18n/locales/en.js +49 -12
  237. package/dist/i18n/locales/es.d.ts +49 -12
  238. package/dist/i18n/locales/es.js +49 -12
  239. package/dist/i18n/locales/fr.d.ts +49 -12
  240. package/dist/i18n/locales/fr.js +49 -12
  241. package/dist/i18n/locales/hi.d.ts +49 -12
  242. package/dist/i18n/locales/hi.js +49 -12
  243. package/dist/i18n/locales/it.d.ts +49 -12
  244. package/dist/i18n/locales/it.js +49 -12
  245. package/dist/i18n/locales/ja.d.ts +49 -12
  246. package/dist/i18n/locales/ja.js +49 -12
  247. package/dist/i18n/locales/nl.d.ts +49 -12
  248. package/dist/i18n/locales/nl.js +49 -12
  249. package/dist/i18n/locales/pl.d.ts +49 -12
  250. package/dist/i18n/locales/pl.js +49 -12
  251. package/dist/i18n/locales/pt.d.ts +49 -12
  252. package/dist/i18n/locales/pt.js +49 -12
  253. package/dist/i18n/locales/ro.d.ts +49 -12
  254. package/dist/i18n/locales/ro.js +49 -12
  255. package/dist/i18n/locales/ru.d.ts +49 -12
  256. package/dist/i18n/locales/ru.js +49 -12
  257. package/dist/i18n/locales/sq.d.ts +49 -12
  258. package/dist/i18n/locales/sq.js +49 -12
  259. package/dist/i18n/locales/sv.d.ts +49 -12
  260. package/dist/i18n/locales/sv.js +49 -12
  261. package/dist/i18n/locales/tr.d.ts +49 -12
  262. package/dist/i18n/locales/tr.js +49 -12
  263. package/dist/i18n/locales/zh.d.ts +49 -12
  264. package/dist/i18n/locales/zh.js +49 -12
  265. package/dist/index.js +1193 -1177
  266. package/dist/locales/ar.json +49 -12
  267. package/dist/locales/de.json +49 -12
  268. package/dist/locales/el.json +49 -12
  269. package/dist/locales/en.json +49 -12
  270. package/dist/locales/es.json +49 -12
  271. package/dist/locales/fr.json +49 -12
  272. package/dist/locales/hi.json +49 -12
  273. package/dist/locales/it.json +49 -12
  274. package/dist/locales/ja.json +49 -12
  275. package/dist/locales/nl.json +49 -12
  276. package/dist/locales/pl.json +49 -12
  277. package/dist/locales/pt.json +49 -12
  278. package/dist/locales/ro.json +49 -12
  279. package/dist/locales/ru.json +49 -12
  280. package/dist/locales/sq.json +49 -12
  281. package/dist/locales/sv.json +49 -12
  282. package/dist/locales/tr.json +49 -12
  283. package/dist/locales/zh.json +49 -12
  284. package/dist/patterns/alia-assistant/index.js +1 -1
  285. package/dist/patterns/anamnesis/index.js +1 -1
  286. package/dist/patterns/calendar/index.js +1 -1
  287. package/dist/patterns/forgot-password-form/index.js +1 -1
  288. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +6 -23
  289. package/dist/patterns/help-me-write-templates/index.js +8 -7
  290. package/dist/patterns/login-form/index.js +1 -1
  291. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  292. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  293. package/dist/patterns/registration-form/index.js +1 -1
  294. package/dist/patterns/signature-request/index.js +1 -1
  295. package/dist/tokens.css +1 -1
  296. package/package.json +9 -1
  297. package/dist/_chunks/ai-credits-notice-pK9BOmEz.js +0 -90
  298. package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js +0 -17
  299. package/dist/_chunks/avatar-WZY3eGE7.js +0 -123
  300. package/dist/_chunks/dashboard-grid-B2MB7SRS.js +0 -1428
  301. package/dist/_chunks/help-me-write-templates-DFmqnsAa.js +0 -747
  302. package/dist/_chunks/panel-header-BJkaUwnl.js +0 -128
  303. package/dist/_chunks/practice-profile-hero-Dfc0F60y.js +0 -193
  304. package/dist/_chunks/skeleton-B1KTdJ4N.js +0 -116
  305. package/dist/_chunks/voice-control-panel-C0BfY23Y.js +0 -1009
@@ -1,4 +1,3 @@
1
- /** International Latin eye abbreviations — `od` = right eye, `os` = left eye. */
2
1
  export type Eye = 'od' | 'os';
3
2
  /** Distance band — `far` (per lontano), `intermediate`, `near` (per vicino). */
4
3
  export type DistanceBand = 'far' | 'intermediate' | 'near';
@@ -73,26 +72,27 @@ export declare const PRISM_MAX = 20;
73
72
  /**
74
73
  * Format a number with an explicit leading sign — `+1.50`, `-2.25`. Zero is
75
74
  * rendered unsigned (`0.00`). Used for sphere and cylinder, where optometry
76
- * convention always shows the sign.
75
+ * convention always shows the sign. `language` (the UI language, default
76
+ * English) picks the decimal separator: `+1,50` in Italian.
77
77
  */
78
- export declare function formatSigned(value: number, fractionDigits?: number): string;
78
+ export declare function formatSigned(value: number, fractionDigits?: number, language?: string): string;
79
79
  /** Sphere power, explicit sign, 2 dp (`+2.00` / `-1.25`). */
80
- export declare function formatSphere(value: number): string;
80
+ export declare function formatSphere(value: number, language?: string): string;
81
81
  /** Cylinder power, explicit sign, 2 dp. */
82
- export declare function formatCylinder(value: number): string;
82
+ export declare function formatCylinder(value: number, language?: string): string;
83
83
  /** Reading addition — always positive, 2 dp (`+2.00`). */
84
- export declare function formatAdd(value: number): string;
84
+ export declare function formatAdd(value: number, language?: string): string;
85
85
  /** Axis, integer degrees with the degree symbol (`90°`). */
86
86
  export declare function formatAxis(value: number): string;
87
87
  /** Prism, 2 dp (`2.00`). */
88
- export declare function formatPrism(value: number): string;
88
+ export declare function formatPrism(value: number, language?: string): string;
89
89
  /**
90
90
  * Format the numeric value of one refraction column for the read-only grid.
91
91
  * `base` is a string enum the component resolves through i18n separately, so it
92
92
  * never reaches this numeric formatter; any unhandled field falls through the
93
93
  * default branch and is coerced with `String(value)`.
94
94
  */
95
- export declare function formatRefraction(field: keyof RefractionRow, value: number): string;
95
+ export declare function formatRefraction(field: keyof RefractionRow, value: number, language?: string): string;
96
96
  /** Power along one principal meridian, for the optical power cross. */
97
97
  export interface MeridianPower {
98
98
  /** Meridian orientation, degrees, normalised to [0, 180). */
@@ -1,4 +1,4 @@
1
- import { P as r, a as s, u as n } from "../../_chunks/panel-header-BJkaUwnl.js";
1
+ import { P as r, a as s, u as n } from "../../_chunks/panel-header-CbtlTe85.js";
2
2
  export {
3
3
  r as PanelHeader,
4
4
  s as PanelHeaderActionsProvider,
@@ -42,6 +42,16 @@ export interface PanelHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'tit
42
42
  * plain-text form worth showing.
43
43
  */
44
44
  titleTooltip?: string;
45
+ /**
46
+ * Move the action cluster to its own line, under the title, when the
47
+ * full title and the cluster do not fit side by side. Default `false`:
48
+ * the title clips with an ellipsis instead, which suits a rail panel
49
+ * with a few icon buttons. Set it when the cluster is wide (a rating
50
+ * summary, a text button), where clipping would leave only a letter or
51
+ * two of the title. With it the title never clips: a title wider than
52
+ * the row by itself wraps onto more lines.
53
+ */
54
+ wrapActions?: boolean;
45
55
  }
46
56
  export declare const PanelHeader: import("react").ForwardRefExoticComponent<PanelHeaderProps & import("react").RefAttributes<HTMLElement>>;
47
57
  export {};
@@ -1,4 +1,4 @@
1
- import { P as o } from "../../_chunks/panel-subview-yP4qIbKS.js";
1
+ import { P as o } from "../../_chunks/panel-subview-BPU7220K.js";
2
2
  import { p as r } from "../../_chunks/panel-subview.agent-BIBvE-IW.js";
3
3
  export {
4
4
  o as PanelSubview,
@@ -1,4 +1,4 @@
1
- import { P as e, p as i } from "../../_chunks/patient-details-4P1vA9Ls.js";
1
+ import { P as e, p as i } from "../../_chunks/patient-details-C4Dyo7Ck.js";
2
2
  export {
3
3
  e as PatientDetails,
4
4
  i as patientDetailsAgent
@@ -1,4 +1,4 @@
1
- import { P as t, p as r } from "../../_chunks/patient-search-DOnDUVsl.js";
1
+ import { P as t, p as r } from "../../_chunks/patient-search-BADdx3M1.js";
2
2
  export {
3
3
  t as PatientSearch,
4
4
  r as patientSearchAgent
@@ -1,4 +1,4 @@
1
- import { P as t, p as m } from "../../_chunks/patient-summary-card-CuDLo8MP.js";
1
+ import { P as t, p as m } from "../../_chunks/patient-summary-card-CAimxbuI.js";
2
2
  export {
3
3
  t as PatientSummaryCard,
4
4
  m as patientSummaryCardAgent
@@ -1,4 +1,4 @@
1
- import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-DZNthHO1.js";
1
+ import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-BG3DMly4.js";
2
2
  export {
3
3
  s as BalanceBadgeCell,
4
4
  l as CarePlanStatusCell,
@@ -1,4 +1,4 @@
1
- import { P as r, f as s, p as m, a as e, s as n, b as o, c as i } from "../../_chunks/payment-form-C3dGY7v4.js";
1
+ import { P as r, f as s, p as m, a as e, s as n, b as o, c as i } from "../../_chunks/payment-form-PBuh8PIa.js";
2
2
  export {
3
3
  r as PaymentForm,
4
4
  s as formatPaymentAmount,
@@ -1,4 +1,4 @@
1
- import { P as p, p as a } from "../../_chunks/pdf-viewer-DJ9VN7cu.js";
1
+ import { P as p, p as a } from "../../_chunks/pdf-viewer-gAsNUsA8.js";
2
2
  export {
3
3
  p as PDFViewer,
4
4
  a as pdfViewerAgent
@@ -1,4 +1,4 @@
1
- import { P as o, a as s, c as i, p as t, r as e } from "../../_chunks/periodontal-risk-chart-CPy7CNFe.js";
1
+ import { P as o, a as s, c as i, p as t, r as e } from "../../_chunks/periodontal-risk-chart-B7S9OmPC.js";
2
2
  export {
3
3
  o as PERIODONTAL_RISK_FACTORS,
4
4
  s as PeriodontalRiskChart,
@@ -1,4 +1,4 @@
1
- import { P as o, p as a } from "../../_chunks/practice-profile-hero-Dfc0F60y.js";
1
+ import { P as o, p as a } from "../../_chunks/practice-profile-hero-qfrsFQI_.js";
2
2
  export {
3
3
  o as PracticeProfileHero,
4
4
  a as practiceProfileHeroAgent
@@ -33,7 +33,10 @@ export interface PracticeProfileHeroProps extends Omit<ComponentPropsWithoutRef<
33
33
  * Optional cover image painted as a full-width strip above the body.
34
34
  * The strip renders ONLY when this is set — a practice without a cover
35
35
  * image gets no strip (and no empty gradient band). While the image
36
- * loads, the brand gradient shows underneath it.
36
+ * loads, the brand gradient shows in the strip. If it fails to load
37
+ * (404, 401, not an image), the strip goes, as if no cover had been
38
+ * passed, and `data-has-cover` reads `"false"`. A different URL tries
39
+ * again.
37
40
  */
38
41
  coverImageUrl?: string;
39
42
  /** Rating summary — when present, renders a Rating + numeric breakdown line. */
@@ -1,4 +1,4 @@
1
- import { P as t, p as a } from "../../_chunks/practice-results-8h2Utpt3.js";
1
+ import { P as t, p as a } from "../../_chunks/practice-results-BzThnpnm.js";
2
2
  export {
3
3
  t as PracticeResults,
4
4
  a as practiceResultsAgent
@@ -155,7 +155,12 @@ export interface PracticeResultsProps extends Omit<ComponentPropsWithoutRef<'div
155
155
  results: PracticeResult[];
156
156
  /** Total count for the "{{count}} risultati" header. May differ from results.length. */
157
157
  totalCount?: number;
158
- /** Visible search location — drives map centre + distance calcs. */
158
+ /**
159
+ * Visible search location. Drives the distance figures and the header
160
+ * label. On the map it is the starting view, and the view when no
161
+ * result has a location: as soon as results with a location are listed,
162
+ * the map fits them all into view instead (capped at zoom 15).
163
+ */
159
164
  searchCentre?: {
160
165
  lat: number;
161
166
  lng: number;
@@ -174,7 +179,10 @@ export interface PracticeResultsProps extends Omit<ComponentPropsWithoutRef<'div
174
179
  * theming (`getGoogleMapsTheme()`), same as before.
175
180
  */
176
181
  mapId?: string;
177
- /** Initial map zoom. Default 13. */
182
+ /**
183
+ * Map zoom before the results are fitted, and with no results to fit.
184
+ * Default 13.
185
+ */
178
186
  defaultZoom?: number;
179
187
  /** Fires when patient pans/zooms (split + map-first only). */
180
188
  onBoundsChange?: (bounds: PracticeResultsBounds) => void;
@@ -1,4 +1,4 @@
1
- import { P as r } from "../../_chunks/pregnancy-dating-B8wo4l_r.js";
1
+ import { P as r } from "../../_chunks/pregnancy-dating-EFcFUJkQ.js";
2
2
  export {
3
3
  r as PregnancyDating
4
4
  };
@@ -1,4 +1,4 @@
1
- import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-C_ZosrBt.js";
1
+ import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-YuFbNPlT.js";
2
2
  import { i as s } from "../../_chunks/is-safe-url-DkETxeHz.js";
3
3
  export {
4
4
  u as ProductHubPanel,
@@ -0,0 +1,3 @@
1
+ export { ProgressNotice, type ProgressNoticeProps, type ProgressNoticeItem, type ProgressNoticeHandle, } from './progress-notice';
2
+ export { progressNoticeAgent } from './progress-notice.agent';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { P as r, p as s } from "../../_chunks/progress-notice-DiHWZ8Ms.js";
2
+ export {
3
+ r as ProgressNotice,
4
+ s as progressNoticeAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { ProgressNoticeHandle } from './progress-notice';
3
+ export declare const progressNoticeAgent: AgentAdapter<ProgressNoticeHandle>;
4
+ //# sourceMappingURL=progress-notice.agent.d.ts.map
@@ -0,0 +1,81 @@
1
+ import { type HTMLAttributes } from 'react';
2
+ export interface ProgressNoticeItem {
3
+ /** Stable key. */
4
+ id: string;
5
+ /** What is being prepared, for example a practice's name. Translated. */
6
+ name: string;
7
+ /**
8
+ * One line on where it stands, for example "Money ready, statistics 6
9
+ * of 24 months". Translated.
10
+ */
11
+ status?: string;
12
+ /** True once this item is ready. */
13
+ ready: boolean;
14
+ }
15
+ export interface ProgressNoticeHandle {
16
+ /** What the notice shows now: counts and flags, no item names. */
17
+ getState: () => {
18
+ value: number;
19
+ max: number;
20
+ complete: boolean;
21
+ readyCount: number;
22
+ itemCount: number;
23
+ detailsOpen: boolean;
24
+ };
25
+ /** Open or close the details list. False when there is no list. */
26
+ setDetailsOpen: (open: boolean) => boolean;
27
+ }
28
+ export interface ProgressNoticeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'role' | 'children'> {
29
+ /** Heading, for example "Preparing your figures". Translated. */
30
+ title: string;
31
+ /**
32
+ * Heading level of the title. Set it one below the heading that
33
+ * introduces the page or board. Unset, it is Alert's default (h5).
34
+ */
35
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
36
+ /** Progress so far, in the units of `max`. */
37
+ value: number;
38
+ /** The value at which the import is done. Defaults to 100. */
39
+ max?: number;
40
+ /**
41
+ * One line under the title, for example "2 of 4 practices ready".
42
+ * Translated. Also the progress bar's value text.
43
+ */
44
+ summary?: string;
45
+ /** One row each in the expandable details list. Omit for no list. */
46
+ items?: ProgressNoticeItem[];
47
+ /** Controlled: whether the details list is open. */
48
+ detailsOpen?: boolean;
49
+ /** Uncontrolled: whether the details list starts open. Defaults to false. */
50
+ defaultDetailsOpen?: boolean;
51
+ /** Fires when the details list opens or closes. */
52
+ onDetailsOpenChange?: (open: boolean) => void;
53
+ /** Controlled visibility. Defaults to shown. */
54
+ open?: boolean;
55
+ /** Fires when the user dismisses the notice (`dismissible`). */
56
+ onOpenChange?: (open: boolean) => void;
57
+ /** Shows the close button. Defaults to true when `dismissKey` is set. */
58
+ dismissible?: boolean;
59
+ /**
60
+ * Remember a dismissal in this browser, as on Alert: the notice stays
61
+ * hidden for this key, and a new key shows it again. Put the import in
62
+ * the key (for example its id). Never personal or patient data.
63
+ */
64
+ dismissKey?: string;
65
+ /** How long a `dismissKey` dismissal lasts, in ms (default 30 days). */
66
+ dismissLifetimeMs?: number;
67
+ /**
68
+ * Fires once each time the import becomes complete: every item is
69
+ * ready, or `value` reaches `max`. Also on mount when it already is.
70
+ */
71
+ onComplete?: () => void;
72
+ /**
73
+ * Announced when the import completes. Translated. Defaults to the
74
+ * kit's "Everything is ready."
75
+ */
76
+ completeAnnouncement?: string;
77
+ /** Opaque instance id, emitted as `data-component-id` for agents. */
78
+ id?: string;
79
+ }
80
+ export declare const ProgressNotice: import("react").ForwardRefExoticComponent<ProgressNoticeProps & import("react").RefAttributes<HTMLDivElement>>;
81
+ //# sourceMappingURL=progress-notice.d.ts.map
@@ -1,4 +1,4 @@
1
- import { I as o, P as r, p as t } from "../../_chunks/province-select-Bd20Z9Br.js";
1
+ import { I as o, P as r, p as t } from "../../_chunks/province-select-CDjs5obD.js";
2
2
  export {
3
3
  o as IT_PROVINCES,
4
4
  r as ProvinceSelect,
@@ -1,4 +1,4 @@
1
- import { R as o, I as e, r as n } from "../../_chunks/radiograph-panel.agent-8Ewv8-d7.js";
1
+ import { R as o, I as e, r as n } from "../../_chunks/radiograph-panel.agent-4UllIoTQ.js";
2
2
  export {
3
3
  o as RadiographPanel,
4
4
  e as RadiographPanelIcon,
@@ -1,4 +1,4 @@
1
- import { R as r } from "../../_chunks/rating-C1Vrmpsi.js";
1
+ import { R as r } from "../../_chunks/rating-CGYpg5dj.js";
2
2
  export {
3
3
  r as Rating
4
4
  };
@@ -1,4 +1,4 @@
1
- import { R as r, r as s } from "../../_chunks/reviews-panel-AvsVgtJu.js";
1
+ import { R as r, r as s } from "../../_chunks/reviews-panel-CosDZyow.js";
2
2
  export {
3
3
  r as ReviewsPanel,
4
4
  s as reviewsPanelAgent
@@ -1,5 +1,5 @@
1
- import { R as i, r as o, w as a } from "../../_chunks/rich-text-editor-M2gT_E7f.js";
2
- import { k as s } from "../../_chunks/kit-extensions-DWs1UEXb.js";
1
+ import { R as i, r as o, w as a } from "../../_chunks/rich-text-editor-56dSsyZI.js";
2
+ import { k as s } from "../../_chunks/kit-extensions-CYvLL4ee.js";
3
3
  export {
4
4
  i as RichTextEditor,
5
5
  s as kitEditorExtensions,
@@ -1,4 +1,4 @@
1
- import { S as a, a as l, b as S, c, d as s, e as o, f as r, g as p, h as g, i, j as m } from "../../_chunks/select-k4gBdS8N.js";
1
+ import { S as a, a as l, b as S, c, d as s, e as o, f as r, g as p, h as g, i, j as m } from "../../_chunks/select-4S-eYZUf.js";
2
2
  export {
3
3
  a as Select,
4
4
  l as SelectContent,
@@ -73,6 +73,9 @@ type SelectItemProps = ComponentPropsWithoutRef<typeof RadixSelect.Item> & Varia
73
73
  /** Let the label wrap onto a second line; it is clipped after two. In
74
74
  * the trigger it stays on one line. */
75
75
  wrapLabel?: boolean;
76
+ /** Writing direction of the label (`OptionShape.dir`). Set on the
77
+ * element that clips, so a long label keeps its start in view. */
78
+ labelDir?: OptionShape['dir'];
76
79
  };
77
80
  declare const SelectItem: import("react").ForwardRefExoticComponent<Omit<RadixSelect.SelectItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & VariantProps<(props?: ({
78
81
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -111,6 +114,9 @@ declare const SelectItem: import("react").ForwardRefExoticComponent<Omit<RadixSe
111
114
  /** Let the label wrap onto a second line; it is clipped after two. In
112
115
  * the trigger it stays on one line. */
113
116
  wrapLabel?: boolean;
117
+ /** Writing direction of the label (`OptionShape.dir`). Set on the
118
+ * element that clips, so a long label keeps its start in view. */
119
+ labelDir?: OptionShape["dir"];
114
120
  } & import("react").RefAttributes<HTMLDivElement>>;
115
121
  declare const SelectItemText: import("react").ForwardRefExoticComponent<Omit<RadixSelect.SelectItemTextProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
116
122
  declare const SelectGroup: import("react").ForwardRefExoticComponent<Omit<RadixSelect.SelectGroupProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import { S as o, s } from "../../_chunks/sign-document-CY7xTXbm.js";
1
+ import { S as o, s } from "../../_chunks/sign-document-BiOTs1P4.js";
2
2
  export {
3
3
  o as SignDocument,
4
4
  s as signDocumentAgent
@@ -1,3 +1,3 @@
1
1
  export { Skeleton, CONTENT_ENTER_CLASS } from './skeleton';
2
- export type { SkeletonProps } from './skeleton';
2
+ export type { SkeletonProps, SkeletonPreset, SkeletonPresetProps, SkeletonBarChartProps, SkeletonTableProps, SkeletonHeatmapProps, SkeletonListProps, } from './skeleton';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { C as o, S as C } from "../../_chunks/skeleton-B1KTdJ4N.js";
1
+ import { C as o, S as C } from "../../_chunks/skeleton-tTWJpvAq.js";
2
2
  export {
3
3
  o as CONTENT_ENTER_CLASS,
4
4
  C as Skeleton
@@ -36,6 +36,46 @@ export interface SkeletonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'ari
36
36
  */
37
37
  stagger?: number;
38
38
  }
39
- export declare const Skeleton: import("react").ForwardRefExoticComponent<SkeletonProps & import("react").RefAttributes<HTMLDivElement>>;
39
+ export type SkeletonPreset = 'figure' | 'line-chart' | 'bar-chart' | 'table' | 'heatmap' | 'list';
40
+ export interface SkeletonPresetProps extends Omit<HTMLAttributes<HTMLDivElement>, 'aria-hidden' | 'style' | 'children' | 'tabIndex'> {
41
+ /**
42
+ * Pulse the shapes. Defaults to true. There is never a pulse under
43
+ * reduced motion, in forced colours, or in the accessible themes,
44
+ * whatever this says.
45
+ */
46
+ animate?: boolean;
47
+ }
48
+ export interface SkeletonBarChartProps extends SkeletonPresetProps {
49
+ /** Number of bars, 2 to 12. Defaults to 6. */
50
+ bars?: number;
51
+ }
52
+ export interface SkeletonTableProps extends SkeletonPresetProps {
53
+ /** Body rows under the header, 1 to 20. Defaults to 4. */
54
+ rows?: number;
55
+ /** Columns, 1 to 8. Defaults to 3. */
56
+ columns?: number;
57
+ }
58
+ export interface SkeletonHeatmapProps extends SkeletonPresetProps {
59
+ /** Rows, 1 to 12. Defaults to 5. */
60
+ rows?: number;
61
+ /** Columns, 1 to 12. Defaults to 7, one week. */
62
+ columns?: number;
63
+ }
64
+ export interface SkeletonListProps extends SkeletonPresetProps {
65
+ /** Items, 1 to 10. Defaults to 3. */
66
+ items?: number;
67
+ }
68
+ /**
69
+ * Placeholder shapes. `<Skeleton>` is one atom (a line, a circle, a
70
+ * block); the members are presets shaped like a whole widget.
71
+ */
72
+ export declare const Skeleton: import("react").ForwardRefExoticComponent<SkeletonProps & import("react").RefAttributes<HTMLDivElement>> & {
73
+ Figure: import("react").ForwardRefExoticComponent<SkeletonPresetProps & import("react").RefAttributes<HTMLDivElement>>;
74
+ LineChart: import("react").ForwardRefExoticComponent<SkeletonPresetProps & import("react").RefAttributes<HTMLDivElement>>;
75
+ BarChart: import("react").ForwardRefExoticComponent<SkeletonBarChartProps & import("react").RefAttributes<HTMLDivElement>>;
76
+ Table: import("react").ForwardRefExoticComponent<SkeletonTableProps & import("react").RefAttributes<HTMLDivElement>>;
77
+ Heatmap: import("react").ForwardRefExoticComponent<SkeletonHeatmapProps & import("react").RefAttributes<HTMLDivElement>>;
78
+ List: import("react").ForwardRefExoticComponent<SkeletonListProps & import("react").RefAttributes<HTMLDivElement>>;
79
+ };
40
80
  export {};
41
81
  //# sourceMappingURL=skeleton.d.ts.map
@@ -5,7 +5,7 @@ import { c as T1 } from "../../_chunks/index-D2ZczOXr.js";
5
5
  import { useTranslation as N1 } from "react-i18next";
6
6
  import { u as E1 } from "../../_chunks/registry-DvAUVLHh.js";
7
7
  import { m as R1, A as _1 } from "../../_chunks/annotation-marker-D-M7y4R1.js";
8
- import { T as A } from "../../_chunks/tabs-2x3L13jn.js";
8
+ import { T as A } from "../../_chunks/tabs-BTj-2qMZ.js";
9
9
  import { a as V1, Z as C1 } from "../../_chunks/zoom-out-Dnif4kJx.js";
10
10
  import { M as F1 } from "../../_chunks/maximize-2-BYd2Kti7.js";
11
11
  const I = {
@@ -1,4 +1,4 @@
1
- import { S as i, f as t, i as e, s as r } from "../../_chunks/slot-grid-dj5f6R2w.js";
1
+ import { S as i, f as t, i as e, s as r } from "../../_chunks/slot-grid-D_gix9mJ.js";
2
2
  export {
3
3
  i as SlotGrid,
4
4
  t as findFirstAvailable,
@@ -1,4 +1,4 @@
1
- import { T as t, a as b, b as T, c as e, t as r } from "../../_chunks/tabs-2x3L13jn.js";
1
+ import { T as t, a as b, b as T, c as e, t as r } from "../../_chunks/tabs-BTj-2qMZ.js";
2
2
  export {
3
3
  t as Tabs,
4
4
  b as TabsContent,
@@ -1,4 +1,4 @@
1
- import { T as s, i as t } from "../../_chunks/task-card-BS7Uqevr.js";
1
+ import { T as s, i as t } from "../../_chunks/task-card-Ci2XbLmq.js";
2
2
  import { t as o } from "../../_chunks/task-card.agent-CF2N_uu4.js";
3
3
  export {
4
4
  s as TaskCard,
@@ -1,4 +1,4 @@
1
- import { T as o, t as r } from "../../_chunks/task-editor-CifOznfq.js";
1
+ import { T as o, t as r } from "../../_chunks/task-editor-BomyxGoZ.js";
2
2
  export {
3
3
  o as TaskEditor,
4
4
  r as taskEditorAgent
@@ -1,4 +1,4 @@
1
- import { T as s, t } from "../../_chunks/task-tray-eQU4KJcA.js";
1
+ import { T as s, t } from "../../_chunks/task-tray-Dnc72nl-.js";
2
2
  export {
3
3
  s as TaskTray,
4
4
  t as taskTrayAgent
@@ -1,4 +1,4 @@
1
- import { T as e, t } from "../../_chunks/tasks-panel-8nLwBw6P.js";
1
+ import { T as e, t } from "../../_chunks/tasks-panel-ATz9JDy8.js";
2
2
  export {
3
3
  e as TasksPanel,
4
4
  t as tasksPanelAgent
@@ -1,4 +1,4 @@
1
- import { T as o, t } from "../../_chunks/theme-toggle-Ctb77x6O.js";
1
+ import { T as o, t } from "../../_chunks/theme-toggle-DT_Jn4DC.js";
2
2
  export {
3
3
  o as ThemeToggle,
4
4
  t as themeToggleAgent
@@ -1,4 +1,4 @@
1
- import { T as t, t as m } from "../../_chunks/timeline-DEIuHrWz.js";
1
+ import { T as t, t as m } from "../../_chunks/timeline-wUuTDFY_.js";
2
2
  export {
3
3
  t as Timeline,
4
4
  m as timelineAgent
@@ -1,4 +1,4 @@
1
- import { T as l, t } from "../../_chunks/tool-rail-C-03rH2I.js";
1
+ import { T as l, t } from "../../_chunks/tool-rail-C-M3eVdY.js";
2
2
  export {
3
3
  l as ToolRail,
4
4
  t as toolRailAgent
@@ -1,4 +1,4 @@
1
- import { T as t, t as n } from "../../_chunks/transcript-panel-XudW5l6l.js";
1
+ import { T as t, t as n } from "../../_chunks/transcript-panel-CoHHpcFg.js";
2
2
  export {
3
3
  t as TranscriptPanel,
4
4
  n as transcriptPanelAgent
@@ -1,4 +1,4 @@
1
- import { T as r } from "../../_chunks/treatment-receipt-Cpm8tqQN.js";
1
+ import { T as r } from "../../_chunks/treatment-receipt-pFqWFyD_.js";
2
2
  import { t as m } from "../../_chunks/treatment-receipt.agent-bpFm2RPH.js";
3
3
  export {
4
4
  r as TreatmentReceipt,
@@ -1,4 +1,4 @@
1
- import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-BPZ0Ldkb.js";
1
+ import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-CIoTmCmP.js";
2
2
  export {
3
3
  r as CATEGORIES,
4
4
  t as UNITS,
@@ -1,5 +1,6 @@
1
1
  export { VoiceControlPanel } from './voice-control-panel';
2
- export type { VoiceControlPanelProps, VoiceControlPanelHandle, VoiceControlStatus, VoiceControlTone, VoiceControlError, VoiceControlMessage, VoiceControlTranscript, VoiceControlLanguage, VoiceControlCandidate, VoiceControlCommand, VoiceControlToggle, VoiceControlLayout, VoiceControlPosition, } from './voice-control-panel';
2
+ export type { VoiceControlPanelProps, VoiceControlPanelHandle, VoiceControlStatus, VoiceControlTone, VoiceControlError, VoiceControlMessage, VoiceControlTranscript, VoiceControlLanguage, VoiceControlCandidate, VoiceControlCommand, VoiceControlToggle, VoiceControlLayout, VoiceControlPosition, VoiceControlAiCredits, } from './voice-control-panel';
3
3
  export type { AiConsentGate } from '../ai-permission-notice';
4
+ export type { AiCreditsInfo, AiCreditsExpiring, AiCreditsNoticeProps, } from '../ai-credits-notice';
4
5
  export { voiceControlPanelAgent } from './voice-control-panel.agent';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { V as n, v as a } from "../../_chunks/voice-control-panel-C0BfY23Y.js";
1
+ import { V as n, v as a } from "../../_chunks/voice-control-panel-B8Lrk0C4.js";
2
2
  export {
3
3
  n as VoiceControlPanel,
4
4
  a as voiceControlPanelAgent
@@ -1,4 +1,5 @@
1
1
  import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type AiCreditsInfo, type AiCreditsNoticeProps } from '../ai-credits-notice';
2
3
  import { type AiConsentBannerHeadingLevel, type AiConsentGate } from '../ai-permission-notice';
3
4
  import { type KbdNamedKey } from '../kbd';
4
5
  /** Where the host's voice session is. */
@@ -45,14 +46,29 @@ export type VoiceControlToggle = 'start' | 'stop';
45
46
  export type VoiceControlLayout = 'inline' | 'floating';
46
47
  /** The viewport corner of the floating pill. Logical: mirrors in RTL. */
47
48
  export type VoiceControlPosition = 'bottom-end' | 'bottom-start';
49
+ /**
50
+ * The practice's AI credits, as the platform keeps them (a yearly allowance
51
+ * that expires, then welcome and bought credits that do not), plus whether
52
+ * they have run out. See `AiCreditsInfo` for the allowance, the dates and
53
+ * the next steps the host can offer.
54
+ */
55
+ export interface VoiceControlAiCredits extends AiCreditsInfo {
56
+ /**
57
+ * Out of AI credits. Every way of starting shows the out-of-credits
58
+ * notice in the panel instead of calling `onToggle`; stopping is never
59
+ * gated. Set while a session runs or is paused, the panel stops it
60
+ * (`onToggle('stop')`, once) and shows the notice on its own.
61
+ */
62
+ exhausted?: boolean;
63
+ }
48
64
  /** Curated imperative handle for agent / external automation. */
49
65
  export interface VoiceControlPanelHandle {
50
66
  getStatus: () => VoiceControlStatus;
51
67
  /** Ask the host to start (`onToggle('start')`) unless already starting
52
68
  * or listening, or disabled. Gated by `aiConsent` like a press. */
53
69
  start: () => void;
54
- /** Ask the host to stop or cancel a start (`onToggle('stop')`); a no-op
55
- * when not starting or listening. Never gated. */
70
+ /** Ask the host to stop, cancel a start or end a paused session
71
+ * (`onToggle('stop')`); a no-op when idle or stopped. Never gated. */
56
72
  stop: () => void;
57
73
  getCandidateIds: () => string[];
58
74
  pickCandidate: (id: string) => void;
@@ -66,6 +82,12 @@ export interface VoiceControlPanelHandle {
66
82
  openPanel: () => void;
67
83
  /** Floating layout: close the panel; listening carries on. A no-op inline. */
68
84
  closePanel: () => void;
85
+ /** Whether `aiCredits.exhausted` is gating every start. */
86
+ isCreditsExhausted: () => boolean;
87
+ /** Whether the out-of-credits notice is showing. */
88
+ isCreditsNoticeOpen: () => boolean;
89
+ /** Close the out-of-credits notice, back to the controls. */
90
+ closeCreditsNotice: () => void;
69
91
  }
70
92
  export interface VoiceControlPanelProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children' | 'onToggle'> {
71
93
  /** Where the host's voice session is. Drives the button, dot and status. */
@@ -154,8 +176,26 @@ export interface VoiceControlPanelProps extends Omit<HTMLAttributes<HTMLDivEleme
154
176
  * calling `onToggle`; stopping is never gated. Omit for ungated behaviour.
155
177
  */
156
178
  aiConsent?: AiConsentGate;
157
- /** Heading level for the `AiConsentBanner` title. Default: the banner's. */
179
+ /**
180
+ * Heading level for the `AiConsentBanner` title and the out-of-credits
181
+ * notice title, which show in the same place. Default 5.
182
+ */
158
183
  aiConsentHeadingLevel?: AiConsentBannerHeadingLevel;
184
+ /**
185
+ * The practice's AI credits. With `exhausted`, every way of starting (the
186
+ * Start button, the pill's mic, the shortcut, the agent's
187
+ * `start_listening`) shows the out-of-credits notice instead of calling
188
+ * `onToggle`, after the consent check; stopping is never gated. Running
189
+ * low (80% used, or `runningLow`) and `expiring` show as quiet lines in
190
+ * the panel and never block. Omit for ungated behaviour.
191
+ */
192
+ aiCredits?: VoiceControlAiCredits;
193
+ /**
194
+ * Floating only: the `AiCreditsNotice` hover card on the pill's mic, as on
195
+ * the RichTextEditor's AI triggers. It never takes the click: the mic
196
+ * still starts, stops or opens a gate exactly as without it.
197
+ */
198
+ aiCreditsNotice?: AiCreditsNoticeProps;
159
199
  }
160
200
  type ShortcutModifier = Extract<KbdNamedKey, 'Alt' | 'Control' | 'Shift' | 'Meta'>;
161
201
  interface ParsedShortcut {