@alfadocs/ui-kit 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 (291) 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-DfAgfZDF.js → ai-credits-exhausted-notice-Bg8NpW2K.js} +2 -2
  5. package/dist/_chunks/{ai-permission-notice-qsdm4Sx4.js → ai-permission-notice-C00i6VhY.js} +2 -2
  6. package/dist/_chunks/{ai-prompt-input-DSGSe4LH.js → ai-prompt-input-DzgyoKyk.js} +141 -139
  7. package/dist/_chunks/{alert-DjsJMGRE.js → alert-9kEwDza3.js} +122 -112
  8. package/dist/_chunks/{alia-sidebar-qe0quZkB.js → alia-sidebar-B06ZSOaF.js} +3 -3
  9. package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js → anamnesis-summary-card-DQ3iE1gD.js} +2 -2
  10. package/dist/_chunks/{anamnesis-summary-rows-BQ_EokKz.js → anamnesis-summary-rows-CNK0fIJk.js} +392 -388
  11. package/dist/_chunks/{appointment-card-CL32sux-.js → appointment-card-5JMWi9_f.js} +2 -2
  12. package/dist/_chunks/{appointment-peek-B5mcDcXt.js → appointment-peek-D5XCfYKu.js} +2 -2
  13. package/dist/_chunks/{appointment-timeline-CCqjORFb.js → appointment-timeline-VFP6HoXT.js} +4 -4
  14. package/dist/_chunks/{appointment-tray-qtpJt8e0.js → appointment-tray-B3PDER3I.js} +3 -3
  15. package/dist/_chunks/{audio-recorder-B11RR-rC.js → audio-recorder-4Ll0pwYK.js} +3 -3
  16. package/dist/_chunks/{auth-form-parts-DwUTH6YN.js → auth-form-parts-B40zvD-a.js} +2 -2
  17. package/dist/_chunks/avatar-BPiPL7ND.js +199 -0
  18. package/dist/_chunks/{balance-badge-cell-DZNthHO1.js → balance-badge-cell-BG3DMly4.js} +4 -4
  19. package/dist/_chunks/{bishop-score-CaNTrikJ.js → bishop-score-Df8nF1qg.js} +2 -2
  20. package/dist/_chunks/{booking-tTVxKPQY.js → booking-B1pDbERi.js} +377 -335
  21. package/dist/_chunks/{calendar-BhN-jisv.js → calendar-BvOM8rG3.js} +2 -2
  22. package/dist/_chunks/{calendar-workspace-MRrzcxAy.js → calendar-workspace-CYK1M83j.js} +18 -18
  23. package/dist/_chunks/{chat-message-fRLZ95O5.js → chat-message-Be-9vIIQ.js} +2 -2
  24. package/dist/_chunks/{clinical-note-card-BnFTIs6x.js → clinical-note-card-Caidqcwa.js} +2 -2
  25. package/dist/_chunks/{color-picker-BsggJovx.js → color-picker-AcaWuKah.js} +99 -95
  26. package/dist/_chunks/{combobox-U5yfO6o0.js → combobox-vF9O-QoG.js} +92 -83
  27. package/dist/_chunks/{contact-profile-card-C4-OCshj.js → contact-profile-card-CAwwOqHl.js} +40 -40
  28. package/dist/_chunks/{control-room-rail-DUerqHeo.js → control-room-rail-BB6rCDWI.js} +3 -3
  29. package/dist/_chunks/{country-select-DF5Bd_mn.js → country-select-CSE2Zm_s.js} +2 -2
  30. package/dist/_chunks/dashboard-grid-7JzaiKnk.js +1487 -0
  31. package/dist/_chunks/{data-table-COoCQ4n_.js → data-table-Cty4-Jht.js} +3 -3
  32. package/dist/_chunks/{dependent-selector-DBr1AhLg.js → dependent-selector-C4kOgO8b.js} +2 -2
  33. package/dist/_chunks/{document-preview-VyQOjFVL.js → document-preview-513f3iPn.js} +4 -4
  34. package/dist/_chunks/{document-scanner-CXH_GYh4.js → document-scanner-Bd3wbzpI.js} +2 -2
  35. package/dist/_chunks/{editable-description-ChGNdYY8.js → editable-description-DnAFi360.js} +2 -2
  36. package/dist/_chunks/{entity-summary-Bj-Wxq7Y.js → entity-summary-C2B8yNmc.js} +4 -4
  37. package/dist/_chunks/{error-summary-PUE5Zxp9.js → error-summary-mGxIyDAY.js} +2 -2
  38. package/dist/_chunks/{face-scheme-DAD-mXzM.js → face-scheme-CSJdRNad.js} +248 -244
  39. package/dist/_chunks/{file-manager-RiV7-OEE.js → file-manager-D4cPnRhL.js} +3 -3
  40. package/dist/_chunks/{forgot-password-form-CPOfRE0C.js → forgot-password-form-Dqi7R-NL.js} +4 -4
  41. package/dist/_chunks/format-number-DdzqwMs1.js +13 -0
  42. package/dist/_chunks/{freemium-paywall-6DO7noHX.js → freemium-paywall-C73C8Rgd.js} +2 -2
  43. package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js → gestational-age-calculator-Du53p8MH.js} +2 -2
  44. package/dist/_chunks/{header-settings-BSH9Gk0J.js → header-settings-DlUbvAUx.js} +37 -36
  45. package/dist/_chunks/{heatmap-C1TeC7wT.js → heatmap-DbZIQg14.js} +4 -4
  46. package/dist/_chunks/{help-me-write-templates-Bw3Q58x-.js → help-me-write-templates-5WkUfvc_.js} +3 -3
  47. package/dist/_chunks/{kit-extensions-DWs1UEXb.js → kit-extensions-CYvLL4ee.js} +3 -3
  48. package/dist/_chunks/length-token-DwMnGEYT.js +24 -0
  49. package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js → link-cell-renderer-DtIsQWDO.js} +4 -4
  50. package/dist/_chunks/{login-dev-card-A-CL3mjt.js → login-dev-card-vEL-o5wq.js} +3 -3
  51. package/dist/_chunks/{map-view-BuVfJMEa.js → map-view-CtohteZD.js} +300 -191
  52. package/dist/_chunks/{marketplace-app-shell-DtSX8sYb.js → marketplace-app-shell-CcLQ0Dn-.js} +4 -4
  53. package/dist/_chunks/{message-card-A3mJNqfy.js → message-card-C_ksqIYM.js} +2 -2
  54. package/dist/_chunks/{message-tray-Ft6vSr71.js → message-tray-DCoQ4GQb.js} +3 -3
  55. package/dist/_chunks/{multi-select-CMaAQQgb.js → multi-select-BOad3za9.js} +110 -98
  56. package/dist/_chunks/{muscle-scheme-YoN3rYXV.js → muscle-scheme-C66WlCxG.js} +2 -2
  57. package/dist/_chunks/{note-timeline-DDqNU46n.js → note-timeline-KzL52MmB.js} +2 -2
  58. package/dist/_chunks/{notes-panel-IdsmqRFC.js → notes-panel-BXN46XkF.js} +6 -6
  59. package/dist/_chunks/notice-group-DkYzKyAZ.js +291 -0
  60. package/dist/_chunks/{notification-tray-BR3seWA7.js → notification-tray-Cp18MW5b.js} +2 -2
  61. package/dist/_chunks/{operator-hero-3_RG4Dkj.js → operator-hero-6aAIQaFZ.js} +83 -66
  62. package/dist/_chunks/{optical-prescription-CxfMsbxi.js → optical-prescription-ulXnDbBe.js} +525 -509
  63. package/dist/_chunks/panel-header-CbtlTe85.js +190 -0
  64. package/dist/_chunks/{panel-subview-yP4qIbKS.js → panel-subview-BPU7220K.js} +2 -2
  65. package/dist/_chunks/{patient-details-C-EWQTms.js → patient-details-C4Dyo7Ck.js} +4 -4
  66. package/dist/_chunks/{patient-field-row-lY-Tb5Mo.js → patient-field-row-DROvUkFu.js} +4 -4
  67. package/dist/_chunks/{patient-search-DpAKidZ5.js → patient-search-BADdx3M1.js} +2 -2
  68. package/dist/_chunks/{patient-summary-card-Bpto_VCD.js → patient-summary-card-CAimxbuI.js} +4 -4
  69. package/dist/_chunks/{payment-automation-upsell-BQ307qEX.js → payment-automation-upsell-CiwF5UrC.js} +2 -2
  70. package/dist/_chunks/{payment-form-XKtinW8r.js → payment-form-PBuh8PIa.js} +2 -2
  71. package/dist/_chunks/{pdf-viewer-BvoVMjH4.js → pdf-viewer-gAsNUsA8.js} +2 -2
  72. package/dist/_chunks/{periodontal-risk-chart-CPy7CNFe.js → periodontal-risk-chart-B7S9OmPC.js} +97 -89
  73. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js +236 -0
  74. package/dist/_chunks/{practice-results-BrUDDMXC.js → practice-results-BzThnpnm.js} +328 -298
  75. package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js → pregnancy-dating-EFcFUJkQ.js} +2 -2
  76. package/dist/_chunks/{privacy-mask-Ch7743uk.js → privacy-mask-CCz9zuIh.js} +2 -2
  77. package/dist/_chunks/{product-hub-panel-C_ZosrBt.js → product-hub-panel-YuFbNPlT.js} +2 -2
  78. package/dist/_chunks/progress-notice-DiHWZ8Ms.js +279 -0
  79. package/dist/_chunks/{province-select-Bd20Z9Br.js → province-select-CDjs5obD.js} +2 -2
  80. package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js → radiograph-panel.agent-4UllIoTQ.js} +2 -2
  81. package/dist/_chunks/{rating-C1Vrmpsi.js → rating-CGYpg5dj.js} +43 -44
  82. package/dist/_chunks/{registration-form-BxwqUZzk.js → registration-form-1B0PTDal.js} +4 -4
  83. package/dist/_chunks/{reviews-panel-AvsVgtJu.js → reviews-panel-CosDZyow.js} +29 -7
  84. package/dist/_chunks/{rich-text-editor-aCIoptbg.js → rich-text-editor-56dSsyZI.js} +3 -3
  85. package/dist/_chunks/{select-k4gBdS8N.js → select-4S-eYZUf.js} +244 -214
  86. package/dist/_chunks/{sign-document-D1P1nUQA.js → sign-document-BiOTs1P4.js} +2 -2
  87. package/dist/_chunks/{signature-request-3u6TvRt2.js → signature-request-DAmNj_uq.js} +5 -5
  88. package/dist/_chunks/skeleton-tTWJpvAq.js +415 -0
  89. package/dist/_chunks/{slot-grid-dj5f6R2w.js → slot-grid-D_gix9mJ.js} +2 -2
  90. package/dist/_chunks/{tabs-2x3L13jn.js → tabs-BTj-2qMZ.js} +2 -2
  91. package/dist/_chunks/{task-card-BS7Uqevr.js → task-card-Ci2XbLmq.js} +2 -2
  92. package/dist/_chunks/{task-editor-Bb5MMcid.js → task-editor-BomyxGoZ.js} +8 -8
  93. package/dist/_chunks/{task-tray-eQU4KJcA.js → task-tray-Dnc72nl-.js} +3 -3
  94. package/dist/_chunks/{tasks-panel-BOb57Ysw.js → tasks-panel-ATz9JDy8.js} +6 -6
  95. package/dist/_chunks/{theme-toggle-Ctb77x6O.js → theme-toggle-DT_Jn4DC.js} +147 -138
  96. package/dist/_chunks/{timeline-DEIuHrWz.js → timeline-wUuTDFY_.js} +2 -2
  97. package/dist/_chunks/{tool-rail-C-03rH2I.js → tool-rail-C-M3eVdY.js} +2 -2
  98. package/dist/_chunks/{transcript-panel-XudW5l6l.js → transcript-panel-CoHHpcFg.js} +2 -2
  99. package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js → treatment-receipt-pFqWFyD_.js} +2 -2
  100. package/dist/_chunks/{unit-converter-BPZ0Ldkb.js → unit-converter-CIoTmCmP.js} +2 -2
  101. package/dist/_chunks/{use-appointment-details-read-CVSPoP5j.js → use-appointment-details-read-CUGfE0hV.js} +12 -12
  102. package/dist/_chunks/use-dismissed-CTOWqA0e.js +177 -0
  103. package/dist/_chunks/{voice-control-panel-BJIEbDq6.js → voice-control-panel-B8Lrk0C4.js} +4 -4
  104. package/dist/_chunks/{warning-stack-BdY-0bd3.js → warning-stack-BhHUmRiD.js} +2 -2
  105. package/dist/_chunks/{workflow-map-CYbRD9ek.js → workflow-map-ln4_OG8A.js} +2 -2
  106. package/dist/agent-catalog.json +172 -4
  107. package/dist/agent-i18n/en.json +25 -1
  108. package/dist/components/_shared/format-number.d.ts +20 -0
  109. package/dist/components/_shared/length-token.d.ts +12 -0
  110. package/dist/components/_shared/option.d.ts +1 -0
  111. package/dist/components/address-fields/index.js +1 -1
  112. package/dist/components/agenda-card/index.js +1 -1
  113. package/dist/components/agenda-tray/index.js +1 -1
  114. package/dist/components/ai-credits-notice/index.js +1 -1
  115. package/dist/components/ai-permission-notice/index.js +1 -1
  116. package/dist/components/ai-prompt-input/index.js +1 -1
  117. package/dist/components/alert/alert.d.ts +26 -0
  118. package/dist/components/alert/index.js +1 -1
  119. package/dist/components/anamnesis-summary-card/index.js +1 -1
  120. package/dist/components/appointment-card/index.js +2 -2
  121. package/dist/components/appointment-details-panel/index.js +1 -1
  122. package/dist/components/appointment-peek/index.js +1 -1
  123. package/dist/components/appointment-timeline/index.js +1 -1
  124. package/dist/components/audio-recorder/index.js +1 -1
  125. package/dist/components/avatar/avatar.d.ts +2 -0
  126. package/dist/components/avatar/index.js +1 -1
  127. package/dist/components/bishop-score/index.js +1 -1
  128. package/dist/components/booking/index.js +1 -1
  129. package/dist/components/calendar/index.js +1 -1
  130. package/dist/components/chat-message/index.js +1 -1
  131. package/dist/components/clinical-note-card/index.js +1 -1
  132. package/dist/components/color-picker/index.js +1 -1
  133. package/dist/components/combobox/index.js +1 -1
  134. package/dist/components/contact-profile-card/index.js +1 -1
  135. package/dist/components/control-room-rail/index.js +1 -1
  136. package/dist/components/country-select/index.js +1 -1
  137. package/dist/components/dashboard-grid/dashboard-grid.d.ts +20 -1
  138. package/dist/components/dashboard-grid/index.js +1 -1
  139. package/dist/components/data-table/index.js +2 -2
  140. package/dist/components/dependent-selector/index.js +1 -1
  141. package/dist/components/document-preview/index.js +1 -1
  142. package/dist/components/document-scanner/index.js +1 -1
  143. package/dist/components/editable-description/index.js +1 -1
  144. package/dist/components/entity-summary/index.js +1 -1
  145. package/dist/components/error-summary/index.js +1 -1
  146. package/dist/components/face-scheme/index.js +1 -1
  147. package/dist/components/file-manager/index.js +1 -1
  148. package/dist/components/freemium-paywall/index.js +1 -1
  149. package/dist/components/gestational-age-calculator/index.js +1 -1
  150. package/dist/components/header-settings/index.js +1 -1
  151. package/dist/components/heatmap/index.js +1 -1
  152. package/dist/components/index.d.ts +4 -2
  153. package/dist/components/map-view/index.d.ts +1 -1
  154. package/dist/components/map-view/index.js +1 -1
  155. package/dist/components/map-view/map-view.d.ts +51 -0
  156. package/dist/components/message-card/index.js +1 -1
  157. package/dist/components/message-tray/index.js +1 -1
  158. package/dist/components/multi-select/index.js +1 -1
  159. package/dist/components/muscle-scheme/index.js +1 -1
  160. package/dist/components/note-timeline/index.js +1 -1
  161. package/dist/components/notes-panel/index.js +1 -1
  162. package/dist/components/notice-group/index.d.ts +3 -0
  163. package/dist/components/notice-group/index.js +6 -0
  164. package/dist/components/notice-group/notice-group.agent.d.ts +4 -0
  165. package/dist/components/notice-group/notice-group.d.ts +43 -0
  166. package/dist/components/notification-tray/index.js +1 -1
  167. package/dist/components/operator-hero/index.js +1 -1
  168. package/dist/components/optical-prescription/index.js +1 -1
  169. package/dist/components/optical-prescription/optical-prescription-data.d.ts +8 -8
  170. package/dist/components/panel-header/index.js +1 -1
  171. package/dist/components/panel-header/panel-header.d.ts +10 -0
  172. package/dist/components/panel-subview/index.js +1 -1
  173. package/dist/components/patient-details/index.js +1 -1
  174. package/dist/components/patient-search/index.js +1 -1
  175. package/dist/components/patient-summary-card/index.js +1 -1
  176. package/dist/components/patient-table/index.js +1 -1
  177. package/dist/components/payment-form/index.js +1 -1
  178. package/dist/components/pdf-viewer/index.js +1 -1
  179. package/dist/components/periodontal-risk-chart/index.js +1 -1
  180. package/dist/components/practice-profile-hero/index.js +1 -1
  181. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +4 -1
  182. package/dist/components/practice-results/index.js +1 -1
  183. package/dist/components/practice-results/practice-results.d.ts +10 -2
  184. package/dist/components/pregnancy-dating/index.js +1 -1
  185. package/dist/components/product-hub-tray/index.js +1 -1
  186. package/dist/components/progress-notice/index.d.ts +3 -0
  187. package/dist/components/progress-notice/index.js +6 -0
  188. package/dist/components/progress-notice/progress-notice.agent.d.ts +4 -0
  189. package/dist/components/progress-notice/progress-notice.d.ts +81 -0
  190. package/dist/components/province-select/index.js +1 -1
  191. package/dist/components/radiograph-panel/index.js +1 -1
  192. package/dist/components/rating/index.js +1 -1
  193. package/dist/components/reviews-panel/index.js +1 -1
  194. package/dist/components/rich-text-editor/index.js +2 -2
  195. package/dist/components/select/index.js +1 -1
  196. package/dist/components/select/select.d.ts +6 -0
  197. package/dist/components/sign-document/index.js +1 -1
  198. package/dist/components/skeleton/index.d.ts +1 -1
  199. package/dist/components/skeleton/index.js +1 -1
  200. package/dist/components/skeleton/skeleton.d.ts +41 -1
  201. package/dist/components/skeleton-scheme/index.js +1 -1
  202. package/dist/components/slot-grid/index.js +1 -1
  203. package/dist/components/tabs/index.js +1 -1
  204. package/dist/components/task-card/index.js +1 -1
  205. package/dist/components/task-editor/index.js +1 -1
  206. package/dist/components/task-tray/index.js +1 -1
  207. package/dist/components/tasks-panel/index.js +1 -1
  208. package/dist/components/theme-toggle/index.js +1 -1
  209. package/dist/components/timeline/index.js +1 -1
  210. package/dist/components/tool-rail/index.js +1 -1
  211. package/dist/components/transcript-panel/index.js +1 -1
  212. package/dist/components/treatment-receipt/index.js +1 -1
  213. package/dist/components/unit-converter/index.js +1 -1
  214. package/dist/components/voice-control-panel/index.js +1 -1
  215. package/dist/components/warning-stack/index.js +1 -1
  216. package/dist/components/workflow/index.js +1 -1
  217. package/dist/hooks/index.d.ts +1 -0
  218. package/dist/hooks/index.js +81 -76
  219. package/dist/hooks/use-dismissed.d.ts +58 -0
  220. package/dist/i18n/locales/ar.d.ts +22 -0
  221. package/dist/i18n/locales/ar.js +22 -0
  222. package/dist/i18n/locales/de.d.ts +22 -0
  223. package/dist/i18n/locales/de.js +22 -0
  224. package/dist/i18n/locales/el.d.ts +22 -0
  225. package/dist/i18n/locales/el.js +22 -0
  226. package/dist/i18n/locales/en.d.ts +22 -0
  227. package/dist/i18n/locales/en.js +22 -0
  228. package/dist/i18n/locales/es.d.ts +22 -0
  229. package/dist/i18n/locales/es.js +22 -0
  230. package/dist/i18n/locales/fr.d.ts +22 -0
  231. package/dist/i18n/locales/fr.js +22 -0
  232. package/dist/i18n/locales/hi.d.ts +22 -0
  233. package/dist/i18n/locales/hi.js +22 -0
  234. package/dist/i18n/locales/it.d.ts +22 -0
  235. package/dist/i18n/locales/it.js +22 -0
  236. package/dist/i18n/locales/ja.d.ts +22 -0
  237. package/dist/i18n/locales/ja.js +22 -0
  238. package/dist/i18n/locales/nl.d.ts +22 -0
  239. package/dist/i18n/locales/nl.js +22 -0
  240. package/dist/i18n/locales/pl.d.ts +22 -0
  241. package/dist/i18n/locales/pl.js +22 -0
  242. package/dist/i18n/locales/pt.d.ts +22 -0
  243. package/dist/i18n/locales/pt.js +22 -0
  244. package/dist/i18n/locales/ro.d.ts +22 -0
  245. package/dist/i18n/locales/ro.js +22 -0
  246. package/dist/i18n/locales/ru.d.ts +22 -0
  247. package/dist/i18n/locales/ru.js +22 -0
  248. package/dist/i18n/locales/sq.d.ts +22 -0
  249. package/dist/i18n/locales/sq.js +22 -0
  250. package/dist/i18n/locales/sv.d.ts +22 -0
  251. package/dist/i18n/locales/sv.js +22 -0
  252. package/dist/i18n/locales/tr.d.ts +22 -0
  253. package/dist/i18n/locales/tr.js +22 -0
  254. package/dist/i18n/locales/zh.d.ts +22 -0
  255. package/dist/i18n/locales/zh.js +22 -0
  256. package/dist/index.js +1194 -1183
  257. package/dist/locales/ar.json +22 -0
  258. package/dist/locales/de.json +22 -0
  259. package/dist/locales/el.json +22 -0
  260. package/dist/locales/en.json +22 -0
  261. package/dist/locales/es.json +22 -0
  262. package/dist/locales/fr.json +22 -0
  263. package/dist/locales/hi.json +22 -0
  264. package/dist/locales/it.json +22 -0
  265. package/dist/locales/ja.json +22 -0
  266. package/dist/locales/nl.json +22 -0
  267. package/dist/locales/pl.json +22 -0
  268. package/dist/locales/pt.json +22 -0
  269. package/dist/locales/ro.json +22 -0
  270. package/dist/locales/ru.json +22 -0
  271. package/dist/locales/sq.json +22 -0
  272. package/dist/locales/sv.json +22 -0
  273. package/dist/locales/tr.json +22 -0
  274. package/dist/locales/zh.json +22 -0
  275. package/dist/patterns/alia-assistant/index.js +1 -1
  276. package/dist/patterns/anamnesis/index.js +1 -1
  277. package/dist/patterns/calendar/index.js +1 -1
  278. package/dist/patterns/forgot-password-form/index.js +1 -1
  279. package/dist/patterns/help-me-write-templates/index.js +2 -2
  280. package/dist/patterns/login-form/index.js +1 -1
  281. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  282. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  283. package/dist/patterns/registration-form/index.js +1 -1
  284. package/dist/patterns/signature-request/index.js +1 -1
  285. package/dist/tokens.css +1 -1
  286. package/package.json +9 -1
  287. package/dist/_chunks/avatar-WZY3eGE7.js +0 -123
  288. package/dist/_chunks/dashboard-grid-B2MB7SRS.js +0 -1428
  289. package/dist/_chunks/panel-header-BJkaUwnl.js +0 -128
  290. package/dist/_chunks/practice-profile-hero-Dfc0F60y.js +0 -193
  291. package/dist/_chunks/skeleton-B1KTdJ4N.js +0 -116
@@ -0,0 +1,177 @@
1
+ import { useMemo as b, useSyncExternalStore as v, useCallback as g } from "react";
2
+ const f = "alfadocs-ui.dismissed.", _ = 720 * 60 * 60 * 1e3, S = 200, c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), M = 2 ** 31 - 1;
3
+ let a = null;
4
+ function m() {
5
+ if (typeof window > "u") return null;
6
+ try {
7
+ return window.localStorage;
8
+ } catch {
9
+ return null;
10
+ }
11
+ }
12
+ function w(t) {
13
+ return typeof t == "string" && t.length > 0 ? t : void 0;
14
+ }
15
+ function E(t, e) {
16
+ if (e === Number.POSITIVE_INFINITY) return null;
17
+ const n = e !== void 0 && Number.isFinite(e) && e > 0 ? e : _;
18
+ return t + n;
19
+ }
20
+ function p(t) {
21
+ if (t === null) return null;
22
+ try {
23
+ const e = JSON.parse(t);
24
+ if (e !== null && typeof e == "object" && typeof e.at == "number") {
25
+ const n = e.until;
26
+ return {
27
+ at: e.at,
28
+ until: typeof n == "number" ? n : null
29
+ };
30
+ }
31
+ } catch {
32
+ }
33
+ return "legacy";
34
+ }
35
+ const I = (t, e) => t !== null && t <= e;
36
+ function D(t) {
37
+ const e = Date.now();
38
+ if (l.has(t)) {
39
+ if (!I(l.get(t) ?? null, e)) return !0;
40
+ l.delete(t);
41
+ }
42
+ const n = m();
43
+ if (!n) return !1;
44
+ try {
45
+ const o = p(n.getItem(f + t));
46
+ return o === null ? !1 : o === "legacy" || !I(o.until, e) ? !0 : (n.removeItem(f + t), !1);
47
+ } catch {
48
+ return !1;
49
+ }
50
+ }
51
+ function O(t, e) {
52
+ try {
53
+ const n = [], o = [], r = [];
54
+ for (let i = 0; i < t.length; i += 1) {
55
+ const s = t.key(i);
56
+ if (s === null || !s.startsWith(f)) continue;
57
+ const u = p(t.getItem(s));
58
+ u !== null && (u === "legacy" ? (r.push(s), n.push({ name: s, at: e })) : I(u.until, e) ? o.push(s) : n.push({ name: s, at: u.at }));
59
+ }
60
+ for (const i of r) {
61
+ const s = {
62
+ at: e,
63
+ until: E(e, void 0)
64
+ };
65
+ t.setItem(i, JSON.stringify(s));
66
+ }
67
+ if (n.length > S) {
68
+ n.sort((i, s) => i.at - s.at);
69
+ for (const { name: i } of n.slice(0, n.length - S))
70
+ o.push(i);
71
+ }
72
+ for (const i of o) t.removeItem(i);
73
+ } catch {
74
+ }
75
+ }
76
+ function N() {
77
+ for (const t of c.keys()) t();
78
+ }
79
+ function F(t) {
80
+ if (l.has(t)) return l.get(t) ?? null;
81
+ const e = m();
82
+ if (!e) return null;
83
+ try {
84
+ const n = p(e.getItem(f + t));
85
+ return n === null || n === "legacy" ? null : n.until;
86
+ } catch {
87
+ return null;
88
+ }
89
+ }
90
+ function d() {
91
+ if (a !== null && (clearTimeout(a), a = null), typeof window > "u" || c.size === 0) return;
92
+ const t = Date.now();
93
+ let e = Number.POSITIVE_INFINITY;
94
+ for (const n of c.values())
95
+ for (const o of n) {
96
+ const r = F(o);
97
+ r !== null && r > t && r < e && (e = r);
98
+ }
99
+ e !== Number.POSITIVE_INFINITY && (a = setTimeout(
100
+ () => {
101
+ a = null, N(), d();
102
+ },
103
+ Math.min(e - t, M)
104
+ ));
105
+ }
106
+ function y() {
107
+ N(), d();
108
+ }
109
+ function x(t, e) {
110
+ const n = Date.now(), o = {
111
+ at: n,
112
+ until: E(n, e)
113
+ }, r = m();
114
+ let i = !1;
115
+ if (r) {
116
+ try {
117
+ r.setItem(f + t, JSON.stringify(o)), i = !0;
118
+ } catch {
119
+ i = !1;
120
+ }
121
+ i && O(r, n);
122
+ }
123
+ i ? l.delete(t) : l.set(t, o.until), y();
124
+ }
125
+ function A(t) {
126
+ l.delete(t);
127
+ const e = m();
128
+ if (e)
129
+ try {
130
+ e.removeItem(f + t);
131
+ } catch {
132
+ }
133
+ y();
134
+ }
135
+ function h(t) {
136
+ (t.key === null || t.key.startsWith(f)) && y();
137
+ }
138
+ function T(t) {
139
+ return (e) => (c.set(e, t), c.size === 1 && typeof window < "u" && window.addEventListener("storage", h), d(), () => {
140
+ c.delete(e), c.size === 0 && typeof window < "u" && window.removeEventListener("storage", h), d();
141
+ });
142
+ }
143
+ function L(t, e) {
144
+ const n = w(t), o = e == null ? void 0 : e.lifetimeMs, r = b(
145
+ () => T(n === void 0 ? [] : [n]),
146
+ [n]
147
+ ), i = v(
148
+ r,
149
+ () => n === void 0 ? !1 : D(n),
150
+ () => n !== void 0
151
+ ), s = g(() => {
152
+ n !== void 0 && x(n, o);
153
+ }, [n, o]), u = g(() => {
154
+ n !== void 0 && A(n);
155
+ }, [n]);
156
+ return { dismissed: i, dismiss: s, restore: u };
157
+ }
158
+ function P(t) {
159
+ const e = t.map(w), n = e.filter((s) => s !== void 0), o = JSON.stringify(n), r = b(
160
+ () => T(JSON.parse(o)),
161
+ [o]
162
+ ), i = v(
163
+ r,
164
+ () => e.map((s) => s !== void 0 && D(s) ? "1" : "0").join(""),
165
+ () => e.map((s) => s !== void 0 ? "1" : "0").join("")
166
+ );
167
+ return e.map((s, u) => i[u] === "1");
168
+ }
169
+ export {
170
+ _ as D,
171
+ S as a,
172
+ f as b,
173
+ w as c,
174
+ P as d,
175
+ L as u
176
+ };
177
+ //# sourceMappingURL=use-dismissed-CTOWqA0e.js.map
@@ -3,8 +3,8 @@ import { forwardRef as on, useId as $e, useState as I, useRef as r, useMemo as j
3
3
  import { c as K } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as sn, Trans as rn } from "react-i18next";
5
5
  import { u as an, w as cn } from "./ai-credits-notice-DQ-r3iQU.js";
6
- import { A as ln, a as dn } from "./ai-credits-exhausted-notice-DfAgfZDF.js";
7
- import { A as un } from "./ai-permission-notice-qsdm4Sx4.js";
6
+ import { A as ln, a as dn } from "./ai-credits-exhausted-notice-Bg8NpW2K.js";
7
+ import { A as un } from "./ai-permission-notice-C00i6VhY.js";
8
8
  import { A as fn } from "./ai-sparkle-D23NT8Z_.js";
9
9
  import { B as pn } from "./badge-BUk4RjTS.js";
10
10
  import { B as qe } from "./button-D-MQxsA_.js";
@@ -14,7 +14,7 @@ import { F as yn } from "./form-field-Ani72sVY.js";
14
14
  import { K as bn } from "./kbd-Bx7eQv9f.js";
15
15
  import { L as pe } from "./list-CNnn7DOD.js";
16
16
  import { L as xn } from "./live-region-C41SO3cA.js";
17
- import { S as wn } from "./select-k4gBdS8N.js";
17
+ import { S as wn } from "./select-4S-eYZUf.js";
18
18
  import { a as Nn, b as Ct, c as Cn, d as kn } from "./ai-fab-pill-BOu96kCx.js";
19
19
  import { c as An } from "./compose-refs-C0k0tdqF.js";
20
20
  import { g as Rn, a as En } from "./glass-surface-CPok0jEe.js";
@@ -1145,4 +1145,4 @@ export {
1145
1145
  no as V,
1146
1146
  Gn as v
1147
1147
  };
1148
- //# sourceMappingURL=voice-control-panel-BJIEbDq6.js.map
1148
+ //# sourceMappingURL=voice-control-panel-B8Lrk0C4.js.map
@@ -3,7 +3,7 @@ import { forwardRef as dn, useId as P, useState as y, useEffect as f, useMemo as
3
3
  import { c as cn } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as ln } from "react-i18next";
5
5
  import { u as un } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
6
- import { A as C } from "./alert-DjsJMGRE.js";
6
+ import { A as C } from "./alert-9kEwDza3.js";
7
7
  import { B as fn } from "./button-D-MQxsA_.js";
8
8
  import { I as mn } from "./icon-button-C_1TgRiK.js";
9
9
  import { X as gn } from "./x-B5YnXwCz.js";
@@ -270,4 +270,4 @@ Nn.displayName = "WarningStack";
270
270
  export {
271
271
  Nn as W
272
272
  };
273
- //# sourceMappingURL=warning-stack-BdY-0bd3.js.map
273
+ //# sourceMappingURL=warning-stack-BhHUmRiD.js.map
@@ -13,7 +13,7 @@ import { T as ae } from "./trash-2-uumy3fy1.js";
13
13
  import { C as Ne } from "./circle-dashed-CUj6o2cA.js";
14
14
  import { C as Ce } from "./circle-j7oZoouK.js";
15
15
  import { u as _e } from "./registry-DvAUVLHh.js";
16
- import { A as V } from "./alert-DjsJMGRE.js";
16
+ import { A as V } from "./alert-9kEwDza3.js";
17
17
  import { B as Se } from "./button-D-MQxsA_.js";
18
18
  import { D as N } from "./dropdown-menu-D1we7oAY.js";
19
19
  import { E } from "./empty-state-pL1qum99.js";
@@ -1321,4 +1321,4 @@ export {
1321
1321
  ee as r,
1322
1322
  D as w
1323
1323
  };
1324
- //# sourceMappingURL=workflow-map-CYbRD9ek.js.map
1324
+ //# sourceMappingURL=workflow-map-ln4_OG8A.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.67.0",
3
+ "packageVersion": "1.68.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -567,7 +567,7 @@
567
567
  "root": {
568
568
  "attr": "data-component",
569
569
  "value": "alert",
570
- "description": "Marks the element as a kit Alert. The root also emits `data-state=\"open\" | \"closing\"` while the dismiss animation runs. Alerts inherit native `id` from props, which is what agents address them by."
570
+ "description": "Marks the element as a kit Alert. The root also emits `data-state=\"open\" | \"closing\"` while the dismiss animation runs. Alerts inherit native `id` from props, which is what agents address them by. An alert with `dismissKey` that was dismissed in this browser is not rendered at all."
571
571
  }
572
572
  }
573
573
  },
@@ -3303,6 +3303,12 @@
3303
3303
  "type": "string | null",
3304
3304
  "description": "The widget the host has marked (for example while its settings are open), or null. Set by the host, not by agents.",
3305
3305
  "descriptionKey": "ui.agent.dashboardGrid.state.selectedId"
3306
+ },
3307
+ {
3308
+ "name": "loadingIds",
3309
+ "type": "string[]",
3310
+ "description": "Ids of the widgets still waiting for their figures (the host set loading). Their bodies show placeholders, so read their values only once they leave this list. Set by the host, not by agents.",
3311
+ "descriptionKey": "ui.agent.dashboardGrid.state.loadingIds"
3306
3312
  }
3307
3313
  ],
3308
3314
  "actions": [
@@ -3432,7 +3438,7 @@
3432
3438
  },
3433
3439
  "item": {
3434
3440
  "attr": "data-widget-id",
3435
- "description": "Each widget wrapper carries its layout id."
3441
+ "description": "Each widget wrapper carries its layout id. While its figures load it also carries data-loading=\"true\" and aria-busy=\"true\"."
3436
3442
  }
3437
3443
  }
3438
3444
  },
@@ -8614,6 +8620,75 @@
8614
8620
  }
8615
8621
  }
8616
8622
  },
8623
+ {
8624
+ "kind": "component",
8625
+ "id": "notice-group",
8626
+ "capabilities": [
8627
+ "expand"
8628
+ ],
8629
+ "state": [
8630
+ {
8631
+ "name": "noteCount",
8632
+ "type": "number",
8633
+ "description": "How many folding notes (not errors or progress notices) are still shown, dismissed ones excluded.",
8634
+ "descriptionKey": "ui.agent.noticeGroup.state.noteCount"
8635
+ },
8636
+ {
8637
+ "name": "grouped",
8638
+ "type": "boolean",
8639
+ "description": "True while the notes sit behind one summary row (two or more notes).",
8640
+ "descriptionKey": "ui.agent.noticeGroup.state.grouped"
8641
+ },
8642
+ {
8643
+ "name": "open",
8644
+ "type": "boolean",
8645
+ "description": "Whether the summary row is open (expanded), so every note is visible.",
8646
+ "descriptionKey": "ui.agent.noticeGroup.state.open"
8647
+ }
8648
+ ],
8649
+ "actions": [
8650
+ {
8651
+ "name": "set_open",
8652
+ "safety": "read",
8653
+ "argsType": "open",
8654
+ "argsSchema": {
8655
+ "type": "object",
8656
+ "properties": {
8657
+ "open": {
8658
+ "type": "boolean",
8659
+ "description": "True to show every note, false to fold them."
8660
+ }
8661
+ },
8662
+ "required": [
8663
+ "open"
8664
+ ]
8665
+ },
8666
+ "returns": "boolean (applied)",
8667
+ "returnsSchema": {
8668
+ "type": "boolean",
8669
+ "description": "True when applied (with a controlled open, when asked of the host); false when there is no summary row (fewer than two notes)."
8670
+ },
8671
+ "idempotent": true,
8672
+ "errors": [
8673
+ "Fewer than two notes (grouped is false): returns false."
8674
+ ],
8675
+ "description": "Open (expand) or fold the notes behind the summary row. With a controlled open the host decides.",
8676
+ "descriptionKey": "ui.agent.noticeGroup.actions.setOpen"
8677
+ }
8678
+ ],
8679
+ "domHooks": {
8680
+ "root": {
8681
+ "attr": "data-component",
8682
+ "value": "notice-group",
8683
+ "description": "Marks the NoticeGroup. Carries data-grouped=\"true\" while the notes fold behind the summary row, whose Alert carries data-notice-group-summary."
8684
+ },
8685
+ "instanceId": {
8686
+ "attr": "data-component-id",
8687
+ "sourceProp": "id",
8688
+ "description": "Sourced from the id prop."
8689
+ }
8690
+ }
8691
+ },
8617
8692
  {
8618
8693
  "kind": "component",
8619
8694
  "id": "notification-card",
@@ -11964,6 +12039,99 @@
11964
12039
  }
11965
12040
  }
11966
12041
  },
12042
+ {
12043
+ "kind": "component",
12044
+ "id": "progress-notice",
12045
+ "capabilities": [
12046
+ "expand",
12047
+ "dismiss"
12048
+ ],
12049
+ "state": [
12050
+ {
12051
+ "name": "value",
12052
+ "type": "number",
12053
+ "description": "Progress so far, in the units of max.",
12054
+ "descriptionKey": "ui.agent.progressNotice.state.value"
12055
+ },
12056
+ {
12057
+ "name": "max",
12058
+ "type": "number",
12059
+ "description": "The value at which the import is done.",
12060
+ "descriptionKey": "ui.agent.progressNotice.state.max"
12061
+ },
12062
+ {
12063
+ "name": "complete",
12064
+ "type": "boolean",
12065
+ "description": "True once every item is ready or the value has reached max.",
12066
+ "descriptionKey": "ui.agent.progressNotice.state.complete"
12067
+ },
12068
+ {
12069
+ "name": "readyCount",
12070
+ "type": "number",
12071
+ "description": "How many items in the details list are ready.",
12072
+ "descriptionKey": "ui.agent.progressNotice.state.readyCount"
12073
+ },
12074
+ {
12075
+ "name": "itemCount",
12076
+ "type": "number",
12077
+ "description": "How many items the details list has (0: no list).",
12078
+ "descriptionKey": "ui.agent.progressNotice.state.itemCount"
12079
+ },
12080
+ {
12081
+ "name": "detailsOpen",
12082
+ "type": "boolean",
12083
+ "description": "Whether the details list is open.",
12084
+ "descriptionKey": "ui.agent.progressNotice.state.detailsOpen"
12085
+ }
12086
+ ],
12087
+ "actions": [
12088
+ {
12089
+ "name": "set_details_open",
12090
+ "safety": "read",
12091
+ "argsType": "open",
12092
+ "argsSchema": {
12093
+ "type": "object",
12094
+ "properties": {
12095
+ "open": {
12096
+ "type": "boolean",
12097
+ "description": "True to open the details list, false to close it."
12098
+ }
12099
+ },
12100
+ "required": [
12101
+ "open"
12102
+ ]
12103
+ },
12104
+ "returns": "boolean (applied)",
12105
+ "returnsSchema": {
12106
+ "type": "boolean",
12107
+ "description": "True when applied; false when the notice has no list."
12108
+ },
12109
+ "idempotent": true,
12110
+ "errors": [
12111
+ "No details list (itemCount is 0): returns false."
12112
+ ],
12113
+ "description": "Open or close the details list of the import.",
12114
+ "descriptionKey": "ui.agent.progressNotice.actions.setDetailsOpen"
12115
+ }
12116
+ ],
12117
+ "domHooks": {
12118
+ "root": {
12119
+ "attr": "data-component",
12120
+ "value": "progress-notice",
12121
+ "description": "Marks the ProgressNotice. Also carries data-complete=\"true\" once the import is complete. The notice inside is a kit Alert; its close control is [data-alert-dismiss]."
12122
+ },
12123
+ "instanceId": {
12124
+ "attr": "data-component-id",
12125
+ "sourceProp": "id",
12126
+ "description": "Sourced from the id prop."
12127
+ },
12128
+ "item": {
12129
+ "attr": "data-item-id",
12130
+ "sourceProp": "items[].id",
12131
+ "description": "Each row of the details list, from ProgressNoticeItem.id. A ready row also carries data-ready=\"true\"."
12132
+ }
12133
+ }
12134
+ },
11967
12135
  {
11968
12136
  "kind": "component",
11969
12137
  "id": "province-select",
@@ -13255,7 +13423,7 @@
13255
13423
  "root": {
13256
13424
  "attr": "data-component",
13257
13425
  "value": "skeleton",
13258
- "description": "Marks the element as a kit Skeleton placeholder."
13426
+ "description": "Marks the element as a kit Skeleton placeholder. A preset root also carries data-preset: figure, line-chart, bar-chart, heatmap, table or list. Decorative; the busy region around it says what is loading."
13259
13427
  }
13260
13428
  }
13261
13429
  },
@@ -406,7 +406,8 @@
406
406
  "cols": "Logical column count of the board.",
407
407
  "editing": "Whether edit mode is on. Move/resize actions are refused while it is off — the host app owns the toggle.",
408
408
  "stacked": "Whether the board is narrower than its stackBelow width and shows its widgets as one read-only column. Move/resize actions are unavailable while it is true, even in edit mode; the saved layout is unchanged.",
409
- "selectedId": "The widget the host has marked (for example while its settings are open), or null. Set by the host, not by agents."
409
+ "selectedId": "The widget the host has marked (for example while its settings are open), or null. Set by the host, not by agents.",
410
+ "loadingIds": "Ids of the widgets still waiting for their figures (the host set loading). Their bodies show placeholders, so read their values only once they leave this list. Set by the host, not by agents."
410
411
  },
411
412
  "actions": {
412
413
  "revealWidget": "Scroll a widget into view (its scrolling ancestor and the window) and highlight it briefly. Works in view and edit mode, and for a widget added a moment ago. Does not move focus.",
@@ -874,6 +875,16 @@
874
875
  "toggleFlag": "Toggle the flagged state of the note with the given id. Returns the host's promise; a refusal restores the flag and the panel shows the host's message. Rejects without reaching the host when the panel refuses: a deleted note, or a write for the note still pending."
875
876
  }
876
877
  },
878
+ "noticeGroup": {
879
+ "state": {
880
+ "noteCount": "How many folding notes (not errors or progress notices) are still shown, dismissed ones excluded.",
881
+ "grouped": "True while the notes sit behind one summary row (two or more notes).",
882
+ "open": "Whether the summary row is open (expanded), so every note is visible."
883
+ },
884
+ "actions": {
885
+ "setOpen": "Open (expand) or fold the notes behind the summary row. With a controlled open the host decides."
886
+ }
887
+ },
877
888
  "notificationTray": {
878
889
  "state": {
879
890
  "items": "Currently-displayed notifications. Ids + read flag only — no PHI.",
@@ -1185,6 +1196,19 @@
1185
1196
  "close": "Close the product-updates panel."
1186
1197
  }
1187
1198
  },
1199
+ "progressNotice": {
1200
+ "state": {
1201
+ "value": "Progress so far, in the units of max.",
1202
+ "max": "The value at which the import is done.",
1203
+ "complete": "True once every item is ready or the value has reached max.",
1204
+ "readyCount": "How many items in the details list are ready.",
1205
+ "itemCount": "How many items the details list has (0: no list).",
1206
+ "detailsOpen": "Whether the details list is open."
1207
+ },
1208
+ "actions": {
1209
+ "setDetailsOpen": "Open or close the details list of the import."
1210
+ }
1211
+ },
1188
1212
  "progress": {
1189
1213
  "state": {
1190
1214
  "value": "The figure the bar currently shows, in the same units as the `max` prop (default max 100) — including a value written imperatively by `set_value`. Null while indeterminate.",
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared number formatter for figures the kit shows or announces: a rating,
3
+ * a file size, an angle, a contrast ratio. Use it instead of `toFixed`,
4
+ * which always writes a dot, and instead of a bare `Intl.NumberFormat`,
5
+ * which shows English digits in Albanian on Chromium (no Albanian number
6
+ * data there; see `numberLocale`).
7
+ *
8
+ * The UI language goes through `canonicalLocale` first, so a host's POSIX
9
+ * tag (`it_IT.UTF-8`) formats as Italian rather than throwing.
10
+ */
11
+ /** `value` in the UI `language`, with the given `Intl` options. */
12
+ export declare function formatNumber(value: number, language: string | undefined, options?: Intl.NumberFormatOptions): string;
13
+ /**
14
+ * A star rating as the kit writes it everywhere: at most one decimal, in
15
+ * the language's own separator ("4,6" in Italian, "4.6" in English, "5"
16
+ * for a whole number). Rating, OperatorHero and every hero or card that
17
+ * shows a score use this, so visible text and aria-labels always agree.
18
+ */
19
+ export declare function formatRating(value: number, language: string | undefined): string;
20
+ //# sourceMappingURL=format-number.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { type RefObject } from 'react';
2
+ /**
3
+ * A length token (`--spacing-lg`) in px, as `context` resolves it, for an
4
+ * API that takes only a number: Radix `collisionPadding`, say. The token
5
+ * is read from the element (so a theme root or a host override applies)
6
+ * and may be px (host-compat writes px) or rem (the kit's own sheet).
7
+ * Anything else, or no DOM, gives `fallback`.
8
+ */
9
+ export declare function lengthTokenPx(token: string, context: Element | null, fallback: number): number;
10
+ /** {@link lengthTokenPx} for the element behind `ref`, read after mount. */
11
+ export declare function useLengthTokenPx(token: string, ref: RefObject<Element | null>, fallback: number): number;
12
+ //# sourceMappingURL=length-token.d.ts.map
@@ -7,6 +7,7 @@ export interface OptionShape<T extends string = string> {
7
7
  disabled?: boolean;
8
8
  description?: string;
9
9
  descriptionTone?: OptionDescriptionTone;
10
+ dir?: 'auto' | 'ltr' | 'rtl';
10
11
  startAdornment?: ReactNode;
11
12
  endContent?: ReactNode;
12
13
  }
@@ -1,4 +1,4 @@
1
- import { A as e, a } from "../../_chunks/address-fields-CJtu7LQU.js";
1
+ import { A as e, a } from "../../_chunks/address-fields-BUPRs3n-.js";
2
2
  export {
3
3
  e as AddressFields,
4
4
  a as addressFieldsAgent
@@ -1,4 +1,4 @@
1
- import { A as e } from "../../_chunks/agenda-card-DR9gDdKp.js";
1
+ import { A as e } from "../../_chunks/agenda-card-BDuvreCe.js";
2
2
  import { a as d } from "../../_chunks/agenda-card.agent-Cb5tuEh3.js";
3
3
  import { i as g } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-DGB1Zup-.js";
1
+ import { A as r, a as g } from "../../_chunks/agenda-tray-CfwylhWf.js";
2
2
  export {
3
3
  r as AgendaTray,
4
4
  g as agendaTrayAgent
@@ -1,6 +1,6 @@
1
1
  import { A as t } from "../../_chunks/ai-credits-notice-DQ-r3iQU.js";
2
2
  import { a, b as r, c as o } from "../../_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js";
3
- import { A as d, a as A, i as C } from "../../_chunks/ai-credits-exhausted-notice-DfAgfZDF.js";
3
+ import { A as d, a as A, i as C } from "../../_chunks/ai-credits-exhausted-notice-Bg8NpW2K.js";
4
4
  export {
5
5
  d as AiCreditsExhaustedNotice,
6
6
  t as AiCreditsNotice,
@@ -1,4 +1,4 @@
1
- import { A as e, a as o } from "../../_chunks/ai-permission-notice-qsdm4Sx4.js";
1
+ import { A as e, a as o } from "../../_chunks/ai-permission-notice-C00i6VhY.js";
2
2
  export {
3
3
  e as AiConsentBanner,
4
4
  o as aiConsentBannerAgent
@@ -1,4 +1,4 @@
1
- import { A as a, a as o } from "../../_chunks/ai-prompt-input-DSGSe4LH.js";
1
+ import { A as a, a as o } from "../../_chunks/ai-prompt-input-DzgyoKyk.js";
2
2
  export {
3
3
  a as AIPromptInput,
4
4
  o as aiPromptInputAgent
@@ -20,8 +20,34 @@ interface AlertTitleProps extends HTMLAttributes<HTMLHeadingElement> {
20
20
  export type AlertAnnounce = 'off' | 'polite' | 'assertive';
21
21
  export interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'role'>, VariantProps<typeof alertVariants> {
22
22
  variant?: 'info' | 'success' | 'warning' | 'error' | 'promo';
23
+ /** Shows the close button. Defaults to true when `dismissKey` is set. */
23
24
  dismissible?: boolean;
25
+ /**
26
+ * Remember a dismissal in this browser. Dismissing stores the key (in
27
+ * `localStorage`, under `alfadocs-ui.dismissed.`), and the alert stays
28
+ * hidden for that key from then on, even when `open` is true. A new key
29
+ * shows it again, so put the condition in the key, for example
30
+ * `hours-${hoursVersion}`. The key is stored as written in plain
31
+ * browser storage: never put personal or patient data in it. Where
32
+ * storage is unavailable the dismissal lasts for this page only.
33
+ * Errors should not be dismissible. A dismissal lasts 30 days (see
34
+ * `dismissLifetimeMs`), and the kit keeps at most 200, oldest out first.
35
+ */
36
+ dismissKey?: string;
37
+ /**
38
+ * How long a `dismissKey` dismissal lasts, in ms. Defaults to 30 days
39
+ * (`DISMISSED_DEFAULT_LIFETIME_MS`). `Infinity` keeps it until the cap
40
+ * drops it. Stored with the dismissal, so changing it later affects
41
+ * only new dismissals.
42
+ */
43
+ dismissLifetimeMs?: number;
44
+ /** Controlled visibility. `false` hides the alert whatever `dismissKey` says. */
24
45
  open?: boolean;
46
+ /**
47
+ * Fires `false` when the user dismisses the alert. With `dismissKey`
48
+ * the stored key hides it, so an uncontrolled alert returns by itself
49
+ * on a new key; a host that sets `open` to false here must set it back.
50
+ */
25
51
  onOpenChange?: (open: boolean) => void;
26
52
  icon?: ReactNode;
27
53
  /** Announcement urgency — sets `role` **and** `aria-live` together, so the
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/alert-DjsJMGRE.js";
1
+ import { A as o } from "../../_chunks/alert-9kEwDza3.js";
2
2
  export {
3
3
  o as Alert
4
4
  };
@@ -1,4 +1,4 @@
1
- import { A as r, a as s } from "../../_chunks/anamnesis-summary-card-CMzBLTiN.js";
1
+ import { A as r, a as s } from "../../_chunks/anamnesis-summary-card-DQ3iE1gD.js";
2
2
  export {
3
3
  r as AnamnesisSummaryCard,
4
4
  s as anamnesisSummaryCardAgent
@@ -1,5 +1,5 @@
1
- import { A as p } from "../../_chunks/appointment-card-CL32sux-.js";
2
- import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-qtpJt8e0.js";
1
+ import { A as p } from "../../_chunks/appointment-card-5JMWi9_f.js";
2
+ import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-B3PDER3I.js";
3
3
  import { i } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
5
5
  p as AppointmentCard,
@@ -1,4 +1,4 @@
1
- import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-CVSPoP5j.js";
1
+ import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-CUGfE0hV.js";
2
2
  export {
3
3
  e as AppointmentDetailsPanel,
4
4
  n as appointmentDetailsPanelAgent,
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/appointment-peek-B5mcDcXt.js";
1
+ import { A as o } from "../../_chunks/appointment-peek-D5XCfYKu.js";
2
2
  import { a as n } from "../../_chunks/appointment-peek.agent-C539tNFM.js";
3
3
  export {
4
4
  o as AppointmentPeek,