@alfadocs/ui-kit 0.70.0 → 0.71.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 (304) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  3. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  4. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
  5. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  6. package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
  7. package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
  8. package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
  9. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
  10. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  11. package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
  12. package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
  13. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  14. package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
  15. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
  16. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  17. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  18. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  19. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  20. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  21. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  22. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  23. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  24. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  25. package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
  26. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  27. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  28. package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
  29. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
  30. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  31. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  32. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  33. package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
  34. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  35. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
  36. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  37. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  38. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  39. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  40. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  41. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  42. package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
  43. package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
  44. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  45. package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
  46. package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
  47. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  48. package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
  49. package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
  50. package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
  51. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  52. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  53. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  54. package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
  55. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
  56. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  57. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  58. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  59. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  60. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  61. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  62. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  63. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  64. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  65. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  66. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  67. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  68. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  69. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  70. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  71. package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
  72. package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
  73. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  74. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  75. package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
  76. package/dist/agent-catalog.json +2062 -226
  77. package/dist/agent-i18n/en.json +206 -8
  78. package/dist/components/_shared/option.d.ts +2 -0
  79. package/dist/components/_shared/patient-fields.d.ts +1 -1
  80. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  81. package/dist/components/address-fields/address-fields.d.ts +29 -0
  82. package/dist/components/address-fields/index.d.ts +5 -0
  83. package/dist/components/address-fields/index.js +6 -0
  84. package/dist/components/ai-prompt-input/index.js +1 -1
  85. package/dist/components/anatomy-scheme/index.js +1 -1
  86. package/dist/components/app-frame/app-frame.d.ts +2 -2
  87. package/dist/components/app-frame/index.js +1 -1
  88. package/dist/components/appointment-card/index.js +2 -2
  89. package/dist/components/appointment-timeline/index.js +1 -1
  90. package/dist/components/audio-recorder/index.js +1 -1
  91. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  92. package/dist/components/autocomplete/index.js +1 -1
  93. package/dist/components/bishop-score/index.js +1 -1
  94. package/dist/components/booking/index.js +1 -1
  95. package/dist/components/button-group/index.js +1 -1
  96. package/dist/components/care-plan-card/index.js +1 -1
  97. package/dist/components/care-plan-entry-card/index.js +1 -1
  98. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  99. package/dist/components/care-plan-header/index.js +1 -1
  100. package/dist/components/chat-message/index.js +1 -1
  101. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  102. package/dist/components/city-input/city-input.d.ts +57 -0
  103. package/dist/components/city-input/index.d.ts +5 -0
  104. package/dist/components/city-input/index.js +6 -0
  105. package/dist/components/combobox/combobox.d.ts +17 -0
  106. package/dist/components/combobox/index.js +1 -1
  107. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  108. package/dist/components/connection-status/connection-status.d.ts +36 -0
  109. package/dist/components/connection-status/index.d.ts +4 -0
  110. package/dist/components/connection-status/index.js +6 -0
  111. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  112. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  113. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  114. package/dist/components/control-room-rail/index.d.ts +1 -0
  115. package/dist/components/control-room-rail/index.js +4 -3
  116. package/dist/components/counter/counter.d.ts +1 -1
  117. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  118. package/dist/components/country-select/country-select.d.ts +51 -0
  119. package/dist/components/country-select/index.d.ts +6 -0
  120. package/dist/components/country-select/index.js +9 -0
  121. package/dist/components/country-select/iso-3166.d.ts +15 -0
  122. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  123. package/dist/components/data-table/index.d.ts +2 -0
  124. package/dist/components/data-table/index.js +13 -11
  125. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  126. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  127. package/dist/components/entity-summary/index.js +1 -1
  128. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  129. package/dist/components/field-array/field-array.d.ts +45 -0
  130. package/dist/components/field-array/index.d.ts +4 -0
  131. package/dist/components/field-array/index.js +6 -0
  132. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  133. package/dist/components/gestational-age-calculator/index.js +1 -1
  134. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  135. package/dist/components/iban-input/iban-input.d.ts +51 -0
  136. package/dist/components/iban-input/index.d.ts +5 -0
  137. package/dist/components/iban-input/index.js +13 -0
  138. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  139. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  140. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  141. package/dist/components/icon-picker/index.d.ts +4 -0
  142. package/dist/components/icon-picker/index.js +6 -0
  143. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  144. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  145. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  146. package/dist/components/image-cropper/index.d.ts +5 -0
  147. package/dist/components/image-cropper/index.js +11 -0
  148. package/dist/components/index.d.ts +16 -1
  149. package/dist/components/message-card/index.js +1 -1
  150. package/dist/components/message-card/message-card.d.ts +14 -0
  151. package/dist/components/message-tray/index.js +1 -1
  152. package/dist/components/message-tray/message-tray.d.ts +4 -0
  153. package/dist/components/multi-select/index.js +1 -1
  154. package/dist/components/nav-grid/index.d.ts +4 -0
  155. package/dist/components/nav-grid/index.js +7 -0
  156. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  157. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  158. package/dist/components/notes-panel/index.js +1 -1
  159. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  160. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  161. package/dist/components/notification-card/index.js +1 -1
  162. package/dist/components/notification-card/notification-card.d.ts +15 -0
  163. package/dist/components/notification-tray/index.js +1 -1
  164. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  165. package/dist/components/operator-hero/index.js +1 -1
  166. package/dist/components/panel-header/index.d.ts +3 -0
  167. package/dist/components/panel-header/index.js +7 -0
  168. package/dist/components/panel-header/panel-header.d.ts +41 -0
  169. package/dist/components/patient-details/index.js +1 -1
  170. package/dist/components/patient-search/index.js +1 -1
  171. package/dist/components/patient-summary-card/index.js +1 -1
  172. package/dist/components/patient-table/index.js +1 -1
  173. package/dist/components/payment-card/index.js +1 -1
  174. package/dist/components/permission-matrix/index.d.ts +4 -0
  175. package/dist/components/permission-matrix/index.js +7 -0
  176. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  177. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  178. package/dist/components/position-grid/index.d.ts +4 -0
  179. package/dist/components/position-grid/index.js +7 -0
  180. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  181. package/dist/components/position-grid/position-grid.d.ts +39 -0
  182. package/dist/components/postal-code-input/index.d.ts +5 -0
  183. package/dist/components/postal-code-input/index.js +6 -0
  184. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  185. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  186. package/dist/components/practice-results/index.js +1 -1
  187. package/dist/components/pregnancy-dating/index.js +1 -1
  188. package/dist/components/product-hub-tray/index.js +1 -1
  189. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  190. package/dist/components/province-select/index.d.ts +6 -0
  191. package/dist/components/province-select/index.js +7 -0
  192. package/dist/components/province-select/it-provinces.d.ts +8 -0
  193. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  194. package/dist/components/province-select/province-select.d.ts +38 -0
  195. package/dist/components/public-footer/public-footer.d.ts +1 -1
  196. package/dist/components/public-header/index.js +1 -1
  197. package/dist/components/radiograph-panel/index.js +1 -1
  198. package/dist/components/reviews-panel/index.js +1 -1
  199. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  200. package/dist/components/rich-text-editor/index.js +1 -1
  201. package/dist/components/scroll-area/index.js +1 -1
  202. package/dist/components/select/index.js +1 -1
  203. package/dist/components/select/select.d.ts +8 -2
  204. package/dist/components/sheet/index.js +1 -1
  205. package/dist/components/sidebar/index.js +1 -1
  206. package/dist/components/skeleton/skeleton.d.ts +1 -1
  207. package/dist/components/tabs/index.js +1 -1
  208. package/dist/components/task-card/index.js +1 -1
  209. package/dist/components/task-card/task-card.d.ts +14 -6
  210. package/dist/components/task-tray/index.js +1 -1
  211. package/dist/components/tasks-panel/index.d.ts +4 -0
  212. package/dist/components/tasks-panel/index.js +6 -0
  213. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  214. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  215. package/dist/components/token-insert-menu/index.d.ts +4 -0
  216. package/dist/components/token-insert-menu/index.js +6 -0
  217. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  218. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  219. package/dist/components/tool-rail/index.d.ts +4 -0
  220. package/dist/components/tool-rail/index.js +6 -0
  221. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  222. package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
  223. package/dist/components/tooth-scheme/index.js +1 -1
  224. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  225. package/dist/components/transcript-panel/index.js +1 -1
  226. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  227. package/dist/components/unit-converter/index.js +1 -1
  228. package/dist/components/workflow/index.js +1 -1
  229. package/dist/hooks/use-edge-resize.d.ts +2 -2
  230. package/dist/i18n/locales/ar.d.ts +167 -2
  231. package/dist/i18n/locales/ar.js +157 -5
  232. package/dist/i18n/locales/de.d.ts +167 -2
  233. package/dist/i18n/locales/de.js +159 -5
  234. package/dist/i18n/locales/el.d.ts +167 -2
  235. package/dist/i18n/locales/el.js +164 -5
  236. package/dist/i18n/locales/en.d.ts +167 -2
  237. package/dist/i18n/locales/en.js +170 -5
  238. package/dist/i18n/locales/es.d.ts +167 -2
  239. package/dist/i18n/locales/es.js +156 -5
  240. package/dist/i18n/locales/fr.d.ts +167 -2
  241. package/dist/i18n/locales/fr.js +159 -5
  242. package/dist/i18n/locales/hi.d.ts +167 -2
  243. package/dist/i18n/locales/hi.js +155 -5
  244. package/dist/i18n/locales/it.d.ts +167 -2
  245. package/dist/i18n/locales/it.js +159 -5
  246. package/dist/i18n/locales/ja.d.ts +167 -2
  247. package/dist/i18n/locales/ja.js +160 -5
  248. package/dist/i18n/locales/nl.d.ts +167 -2
  249. package/dist/i18n/locales/nl.js +152 -5
  250. package/dist/i18n/locales/pl.d.ts +167 -2
  251. package/dist/i18n/locales/pl.js +160 -5
  252. package/dist/i18n/locales/pt.d.ts +167 -2
  253. package/dist/i18n/locales/pt.js +164 -5
  254. package/dist/i18n/locales/ro.d.ts +167 -2
  255. package/dist/i18n/locales/ro.js +164 -5
  256. package/dist/i18n/locales/ru.d.ts +167 -2
  257. package/dist/i18n/locales/ru.js +157 -5
  258. package/dist/i18n/locales/sq.d.ts +167 -2
  259. package/dist/i18n/locales/sq.js +161 -5
  260. package/dist/i18n/locales/sv.d.ts +167 -2
  261. package/dist/i18n/locales/sv.js +159 -5
  262. package/dist/i18n/locales/tr.d.ts +167 -2
  263. package/dist/i18n/locales/tr.js +157 -5
  264. package/dist/i18n/locales/zh.d.ts +167 -2
  265. package/dist/i18n/locales/zh.js +152 -5
  266. package/dist/index.js +823 -755
  267. package/dist/locales/ar.json +170 -5
  268. package/dist/locales/de.json +170 -5
  269. package/dist/locales/el.json +170 -5
  270. package/dist/locales/en.json +170 -5
  271. package/dist/locales/es.json +170 -5
  272. package/dist/locales/fr.json +170 -5
  273. package/dist/locales/hi.json +170 -5
  274. package/dist/locales/it.json +170 -5
  275. package/dist/locales/ja.json +170 -5
  276. package/dist/locales/nl.json +170 -5
  277. package/dist/locales/pl.json +170 -5
  278. package/dist/locales/pt.json +170 -5
  279. package/dist/locales/ro.json +170 -5
  280. package/dist/locales/ru.json +170 -5
  281. package/dist/locales/sq.json +170 -5
  282. package/dist/locales/sv.json +170 -5
  283. package/dist/locales/tr.json +170 -5
  284. package/dist/locales/zh.json +170 -5
  285. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  286. package/dist/patterns/alia-assistant/index.js +1 -1
  287. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  288. package/dist/patterns/patient-shell/index.js +1 -1
  289. package/dist/tokens.css +9 -1
  290. package/package.json +65 -5
  291. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  292. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  293. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  294. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  295. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  296. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  297. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  298. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  299. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  300. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  301. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  302. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  303. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  304. package/dist/components/ai-tools-rail/index.js +0 -6
@@ -0,0 +1,51 @@
1
+ import { type IbanReason } from './is-valid-iban';
2
+ /** Agent-readiness curated handle for IbanInput. */
3
+ export interface IbanInputHandle {
4
+ getValue: () => string;
5
+ setValue: (value: string) => void;
6
+ clear: () => void;
7
+ focus: () => void;
8
+ isValid: () => boolean;
9
+ }
10
+ /** Structured payload emitted on every keystroke alongside the raw value. */
11
+ export interface IbanChangeMeta {
12
+ /** Structurally complete AND the mod-97-10 checksum matches. */
13
+ isValid: boolean;
14
+ /** Whether the value has reached its country's expected length. */
15
+ isComplete: boolean;
16
+ /** Why the value is (in)valid — drives consumer messaging. */
17
+ reason: IbanReason;
18
+ }
19
+ export interface IbanInputProps {
20
+ /** Controlled value (raw, uppercased, no spaces). Pair with onChange. */
21
+ value?: string;
22
+ /** Uncontrolled initial value. Normalised on mount. */
23
+ defaultValue?: string;
24
+ /** Fires on every keystroke with the normalised raw string + meta. */
25
+ onChange?: (raw: string, meta: IbanChangeMeta) => void;
26
+ size?: 'sm' | 'md' | 'lg';
27
+ tone?: 'default' | 'error';
28
+ /** When the invalid tone + error string surface. Never marks partial input invalid. */
29
+ validateOn?: 'change' | 'blur' | 'submit';
30
+ /** Controlled escape hatch to force the invalid state (e.g. bank rejection). */
31
+ showError?: boolean;
32
+ /** Overrides the kit's default i18n error string. */
33
+ errorMessage?: string;
34
+ disabled?: boolean;
35
+ readOnly?: boolean;
36
+ required?: boolean;
37
+ placeholder?: string;
38
+ /** Render the format caption when NOT inside a FormField. */
39
+ showFormatHint?: boolean;
40
+ id?: string;
41
+ name?: string;
42
+ className?: string;
43
+ 'aria-label'?: string;
44
+ }
45
+ declare const wrapperVariants: (props?: ({
46
+ size?: "sm" | "md" | "lg" | null | undefined;
47
+ tone?: "default" | "error" | null | undefined;
48
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
49
+ export declare const IbanInput: import("react").ForwardRefExoticComponent<IbanInputProps & import("react").RefAttributes<HTMLInputElement>>;
50
+ export { wrapperVariants as ibanWrapperVariants };
51
+ //# sourceMappingURL=iban-input.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { IbanInput, ibanWrapperVariants } from './iban-input';
2
+ export type { IbanInputProps, IbanInputHandle, IbanChangeMeta, } from './iban-input';
3
+ export { ibanInputAgent } from './iban-input.agent';
4
+ export { classifyIban, isValidIban, ibanMod97, IBAN_LENGTHS, MIN_IBAN_LENGTH, MAX_IBAN_LENGTH, type IbanReason, } from './is-valid-iban';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { I as n, a as I, M as i, b, c as N, i as p, d as r, w as t, e as A } from "../../_chunks/iban-input-B0TWzR1R.js";
2
+ export {
3
+ n as IBAN_LENGTHS,
4
+ I as IbanInput,
5
+ i as MAX_IBAN_LENGTH,
6
+ b as MIN_IBAN_LENGTH,
7
+ N as classifyIban,
8
+ p as ibanInputAgent,
9
+ r as ibanMod97,
10
+ t as ibanWrapperVariants,
11
+ A as isValidIban
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,31 @@
1
+ /** Why an IBAN is (in)valid — drives the component's error messaging. */
2
+ export type IbanReason = 'valid' | 'empty' | 'incomplete' | 'badFormat' | 'badChecksum';
3
+ /**
4
+ * Published IBAN lengths by ISO-3166 alpha-2 country code (the SEPA zone plus
5
+ * the common non-SEPA registry entries). Used to decide when a typed value is
6
+ * "complete" so the component never flags a partially-entered IBAN as invalid.
7
+ */
8
+ export declare const IBAN_LENGTHS: Record<string, number>;
9
+ /** The shortest registered IBAN (Norway, 15) — the completeness floor for an
10
+ * unknown country code. */
11
+ export declare const MIN_IBAN_LENGTH = 15;
12
+ /** The longest registered IBAN (34) — the hard input cap. */
13
+ export declare const MAX_IBAN_LENGTH = 34;
14
+ /**
15
+ * ISO 7064 mod-97-10. Moves the leading 4 characters (country + check digits)
16
+ * to the end, maps letters A–Z to 10–35, and reduces the resulting decimal
17
+ * string modulo 97 in chunks (avoids BigInt). A valid IBAN yields `1`.
18
+ *
19
+ * Assumes `value` is already normalised to `[A-Z0-9]` (uppercase, no spaces).
20
+ */
21
+ export declare function ibanMod97(value: string): number;
22
+ /**
23
+ * Classify a normalised (uppercased, `[A-Z0-9]`, ≤34-char) IBAN string. Returns
24
+ * `'incomplete'` while the value is shorter than its country expects so the
25
+ * caller can stay silent mid-entry, and only `'badFormat'` / `'badChecksum'`
26
+ * once the value is structurally complete.
27
+ */
28
+ export declare function classifyIban(raw: string): IbanReason;
29
+ /** Convenience boolean wrapper around {@link classifyIban}. */
30
+ export declare function isValidIban(raw: string): boolean;
31
+ //# sourceMappingURL=is-valid-iban.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { IconPickerHandle } from './icon-picker';
3
+ export declare const iconPickerAgent: AgentAdapter<IconPickerHandle>;
4
+ //# sourceMappingURL=icon-picker.agent.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from 'react';
2
+ /** One selectable glyph. `label` is the accessible name (consumer-localised);
3
+ * `node` is the rendered lucide/SVG element. */
4
+ export interface IconPickerIcon {
5
+ id: string;
6
+ label: string;
7
+ node: ReactNode;
8
+ }
9
+ /** Agent-readiness curated handle for IconPicker. */
10
+ export interface IconPickerHandle {
11
+ getValue: () => string;
12
+ setValue: (id: string) => void;
13
+ isOpen: () => boolean;
14
+ open: () => void;
15
+ close: () => void;
16
+ getQuery: () => string;
17
+ setQuery: (query: string) => void;
18
+ }
19
+ export interface IconPickerProps {
20
+ /** The glyph set. `label` is each glyph's accessible name. */
21
+ icons: IconPickerIcon[];
22
+ /** Controlled selected icon id. Pair with onChange. */
23
+ value?: string;
24
+ /** Uncontrolled initial selected icon id. */
25
+ defaultValue?: string;
26
+ /** Fires with the chosen icon id when a glyph is picked. */
27
+ onChange?: (id: string) => void;
28
+ /** Shown on the trigger when nothing is selected. */
29
+ placeholder?: ReactNode;
30
+ disabled?: boolean;
31
+ id?: string;
32
+ className?: string;
33
+ /** Trigger accessible name. Defaults to the bundled `iconPicker.trigger`. */
34
+ 'aria-label'?: string;
35
+ }
36
+ declare const optionVariants: (props?: ({
37
+ selected?: boolean | null | undefined;
38
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
39
+ export declare const IconPicker: import("react").ForwardRefExoticComponent<IconPickerProps & import("react").RefAttributes<HTMLButtonElement>>;
40
+ export { optionVariants as iconPickerOptionVariants };
41
+ //# sourceMappingURL=icon-picker.d.ts.map
@@ -0,0 +1,4 @@
1
+ export { IconPicker } from './icon-picker';
2
+ export type { IconPickerProps, IconPickerHandle, IconPickerIcon, } from './icon-picker';
3
+ export { iconPickerAgent } from './icon-picker.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { I as i, i as o } from "../../_chunks/icon-picker-0B7KhrF1.js";
2
+ export {
3
+ i as IconPicker,
4
+ o as iconPickerAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,30 @@
1
+ /** Normalised crop rectangle (each field in the closed interval [0, 1]). */
2
+ export interface CropRect {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export declare const clamp01: (v: number) => number;
9
+ /**
10
+ * Clamp a rectangle so it stays within the unit box and never shrinks below
11
+ * `minSize` on either axis.
12
+ */
13
+ export declare function clampRect(rect: CropRect, minSize: number): CropRect;
14
+ /**
15
+ * Coerce a rectangle's height to honour a pixel aspect ratio
16
+ * (`width_px / height_px`), anchored at its top-inline-start corner. `boxW` /
17
+ * `boxH` are the displayed image box's pixel dimensions. A non-positive aspect
18
+ * or unmeasured box returns the rectangle unchanged.
19
+ */
20
+ export declare function applyAspect(rect: CropRect, aspect: number | undefined, boxW: number, boxH: number): CropRect;
21
+ /** A sensible centred default — an 80% box, aspect-coerced when one is set. */
22
+ export declare function defaultCrop(aspect: number | undefined, boxW: number, boxH: number): CropRect;
23
+ /** Round each field to whole percentages — used for the live-region readout. */
24
+ export declare function toPercent(rect: CropRect): {
25
+ x: number;
26
+ y: number;
27
+ width: number;
28
+ height: number;
29
+ };
30
+ //# sourceMappingURL=crop-geometry.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { ImageCropperHandle } from './image-cropper';
3
+ export declare const imageCropperAgent: AgentAdapter<ImageCropperHandle>;
4
+ //# sourceMappingURL=image-cropper.agent.d.ts.map
@@ -0,0 +1,32 @@
1
+ import { type CropRect } from './crop-geometry';
2
+ /** Agent-readiness curated handle for ImageCropper. */
3
+ export interface ImageCropperHandle {
4
+ getCrop: () => CropRect;
5
+ setCrop: (rect: CropRect) => void;
6
+ reset: () => void;
7
+ focus: () => void;
8
+ }
9
+ export interface ImageCropperProps {
10
+ /** Source of the image to crop (object URL, data URL, or remote src). */
11
+ src: string;
12
+ /** Accessible description of the image being cropped (consumer-supplied). */
13
+ alt: string;
14
+ /** Pixel aspect ratio (width / height) to lock the crop to. Omit for free-form. */
15
+ aspect?: number;
16
+ /** Controlled crop rect in normalised [0,1] coordinates. Pair with onChange. */
17
+ value?: CropRect;
18
+ /** Uncontrolled initial crop rect. */
19
+ defaultValue?: CropRect;
20
+ /** Fires with the new normalised crop rect on every move/resize. */
21
+ onChange?: (rect: CropRect) => void;
22
+ /** Smallest crop edge as a fraction of the image (default 0.1). */
23
+ minSize?: number;
24
+ /** Normalised step applied per arrow-key press (default 0.02). */
25
+ keyboardStep?: number;
26
+ disabled?: boolean;
27
+ id?: string;
28
+ className?: string;
29
+ 'aria-label'?: string;
30
+ }
31
+ export declare const ImageCropper: import("react").ForwardRefExoticComponent<ImageCropperProps & import("react").RefAttributes<HTMLDivElement>>;
32
+ //# sourceMappingURL=image-cropper.d.ts.map
@@ -0,0 +1,5 @@
1
+ export { ImageCropper } from './image-cropper';
2
+ export type { ImageCropperProps, ImageCropperHandle } from './image-cropper';
3
+ export { imageCropperAgent } from './image-cropper.agent';
4
+ export { clampRect, applyAspect, defaultCrop, toPercent, clamp01, type CropRect, } from './crop-geometry';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import { I as p, a as r, c as s, b as t, d as c, i as o, t as m } from "../../_chunks/image-cropper-D9jqJy19.js";
2
+ export {
3
+ p as ImageCropper,
4
+ r as applyAspect,
5
+ s as clamp01,
6
+ t as clampRect,
7
+ c as defaultCrop,
8
+ o as imageCropperAgent,
9
+ m as toPercent
10
+ };
11
+ //# sourceMappingURL=index.js.map
@@ -10,6 +10,11 @@ export { SafeHtml, sanitiseHtml } from './_shared/safe-html';
10
10
  export type { SafeHtmlProps, SafeHtmlProfile } from './_shared/safe-html';
11
11
  export type { OptionShape } from './_shared/option';
12
12
  export * from './address-autocomplete';
13
+ export * from './address-fields';
14
+ export * from './city-input';
15
+ export * from './country-select';
16
+ export * from './postal-code-input';
17
+ export * from './province-select';
13
18
  export * from './autocomplete';
14
19
  export * from './checkbox';
15
20
  export * from './checkbox-group';
@@ -26,6 +31,13 @@ export * from './bishop-score';
26
31
  export * from './fetal-weight';
27
32
  export * from './hcg-doubling';
28
33
  export * from './email-input';
34
+ export * from './iban-input';
35
+ export * from './field-array';
36
+ export * from './icon-picker';
37
+ export * from './image-cropper';
38
+ export * from './permission-matrix';
39
+ export * from './position-grid';
40
+ export * from './token-insert-menu';
29
41
  export * from './file-upload';
30
42
  export * from './form-field';
31
43
  export * from './multi-select';
@@ -54,6 +66,7 @@ export * from './calculator-dialog';
54
66
  export * from './cycle-calculator';
55
67
  export * from './card';
56
68
  export * from './carousel';
69
+ export * from './connection-status';
57
70
  export * from './contact-card';
58
71
  export * from './counter';
59
72
  export * from './data-table';
@@ -75,12 +88,12 @@ export * from './stat';
75
88
  export * from './tag';
76
89
  export * from './timeline';
77
90
  export * from './timestamp';
78
- export * from './ai-tools-rail';
79
91
  export * from './control-room-rail';
80
92
  export * from './breadcrumb';
81
93
  export * from './command-palette';
82
94
  export * from './header';
83
95
  export * from './navigation-menu';
96
+ export * from './nav-grid';
84
97
  export * from './link';
85
98
  export * from './pagination';
86
99
  export * from './public-footer';
@@ -119,12 +132,14 @@ export * from './sheet';
119
132
  export * from './spinner';
120
133
  export * from './task-card';
121
134
  export * from './task-tray';
135
+ export * from './tasks-panel';
122
136
  export * from './toast';
123
137
  export * from './tooltip';
124
138
  export * from './warning-stack';
125
139
  export * from './app-frame';
126
140
  export * from './aspect-ratio';
127
141
  export * from './collapsible';
142
+ export * from './panel-header';
128
143
  export * from './resizable';
129
144
  export * from './scroll-area';
130
145
  export * from './separator';
@@ -1,4 +1,4 @@
1
- import { M as a } from "../../_chunks/message-card-Bx4GmLvf.js";
1
+ import { M as a } from "../../_chunks/message-card-DsHFFiL1.js";
2
2
  import { m as o } from "../../_chunks/message-card.agent-ZLhx3Bs5.js";
3
3
  import { i as f } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
@@ -39,6 +39,19 @@ export interface MessageCardProps extends Omit<HTMLAttributes<HTMLDivElement>, '
39
39
  * controls (used by dashboards / sidebars).
40
40
  */
41
41
  variant?: 'compact' | 'dashboard';
42
+ /**
43
+ * Fires when the read/unread status ball (the corner badge on the avatar) is
44
+ * activated. Supply to make the ball an interactive toggle; omit and it
45
+ * renders as a static read-state indicator.
46
+ */
47
+ onToggleRead?: (item: MessageItem) => void;
48
+ /**
49
+ * Row chrome for the `compact` variant (ignored for `dashboard`). `'flat'`
50
+ * (default) — chrome-less row inside a bordered tray. `'elevated'` — own
51
+ * card chrome (border + `--shadow-sm`), matching `AppointmentCard` /
52
+ * `ClinicalNoteCard` for rail feeds (e.g. the Inbox).
53
+ */
54
+ surface?: 'flat' | 'elevated';
42
55
  /** Visual density. */
43
56
  size?: 'sm' | 'md';
44
57
  /** Fires when the row / title is activated. */
@@ -67,6 +80,7 @@ declare const cardVariants: (props?: ({
67
80
  variant?: "compact" | "dashboard" | null | undefined;
68
81
  size?: "sm" | "md" | null | undefined;
69
82
  state?: "read" | "unread" | null | undefined;
83
+ surface?: "flat" | "elevated" | null | undefined;
70
84
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
71
85
  export declare const MessageCard: import("react").ForwardRefExoticComponent<MessageCardProps & import("react").RefAttributes<HTMLDivElement>>;
72
86
  //# sourceMappingURL=message-card.d.ts.map
@@ -1,4 +1,4 @@
1
- import { M as s, m as r } from "../../_chunks/message-tray-DwrBLJlf.js";
1
+ import { M as s, m as r } from "../../_chunks/message-tray-C0a6CL1_.js";
2
2
  export {
3
3
  s as MessageTray,
4
4
  r as messageTrayAgent
@@ -18,6 +18,10 @@ export interface MessageTrayHandle {
18
18
  selectItem: (id: string) => void;
19
19
  markRead: (id: string) => void;
20
20
  dismiss: (id: string) => void;
21
+ /** Request the host to mark every message as read (mirrors onMarkAllRead). */
22
+ markAllRead: () => void;
23
+ /** Navigate to the full inbox (mirrors onViewAll). */
24
+ viewAll: () => void;
21
25
  }
22
26
  export interface MessageTrayProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'children' | 'role' | 'id'>, VariantProps<typeof messageTrayVariants> {
23
27
  /**
@@ -1,4 +1,4 @@
1
- import { M as a, m as l, a as i } from "../../_chunks/multi-select-BdHHDrRN.js";
1
+ import { M as a, m as l, a as i } from "../../_chunks/multi-select-WE4S9FIF.js";
2
2
  export {
3
3
  a as MultiSelect,
4
4
  l as multiSelectAgent,
@@ -0,0 +1,4 @@
1
+ export { NavGrid, navGridTileVariants } from './nav-grid';
2
+ export type { NavGridProps, NavGridItem, NavGridHandle } from './nav-grid';
3
+ export { navGridAgent } from './nav-grid.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { N as i, n, t as s } from "../../_chunks/nav-grid-9xphY3FM.js";
2
+ export {
3
+ i as NavGrid,
4
+ n as navGridAgent,
5
+ s as navGridTileVariants
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { NavGridHandle } from './nav-grid';
3
+ export declare const navGridAgent: AgentAdapter<NavGridHandle>;
4
+ //# sourceMappingURL=nav-grid.agent.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from 'react';
2
+ export interface NavGridItem {
3
+ /** Stable, opaque id. Emitted as `data-nav-item-id`; agents target it. */
4
+ id: string;
5
+ /** Localised tile label — supplied by the consumer (never bundled here). */
6
+ label: string;
7
+ /** Optional localised supporting text shown under the label. */
8
+ description?: string;
9
+ /** Decorative leading glyph. Rendered `aria-hidden`. */
10
+ icon?: ReactNode;
11
+ /** When set, the tile is a navigating anchor (kit Link). */
12
+ href?: string;
13
+ /** When `href` is absent, the tile is a button firing this handler. */
14
+ onSelect?: () => void;
15
+ /** Render the tile non-interactive and visually muted. */
16
+ disabled?: boolean;
17
+ }
18
+ /** Agent-readiness curated handle for NavGrid. */
19
+ export interface NavGridHandle {
20
+ getItemCount: () => number;
21
+ /** Activate the tile with the given id (navigate, or fire its onSelect). */
22
+ openItem: (id: string) => void;
23
+ }
24
+ export interface NavGridProps {
25
+ /** Tiles to render. label / description / icon are consumer-supplied props. */
26
+ items: NavGridItem[];
27
+ /** REQUIRED — the nav landmark's accessible name (e.g. "Settings sections"). */
28
+ ariaLabel: string;
29
+ /** Column count. Omit for the responsive default (1 → 2 → 3 at sm / lg). */
30
+ columns?: 1 | 2 | 3 | 4;
31
+ /** `label` sorts tiles by `label.localeCompare`; `none` (default) preserves order. */
32
+ sort?: 'label' | 'none';
33
+ id?: string;
34
+ className?: string;
35
+ }
36
+ declare const tileVariants: (props?: ({
37
+ disabled?: boolean | null | undefined;
38
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
39
+ export declare const NavGrid: import("react").ForwardRefExoticComponent<NavGridProps & import("react").RefAttributes<HTMLElement>>;
40
+ export { tileVariants as navGridTileVariants };
41
+ //# sourceMappingURL=nav-grid.d.ts.map
@@ -1,4 +1,4 @@
1
- import { N as a } from "../../_chunks/notes-panel-ay8_lPrA.js";
1
+ import { N as a } from "../../_chunks/notes-panel-DXiMfuvp.js";
2
2
  export {
3
3
  a as NotesPanel
4
4
  };
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { NotesPanelHandle } from './notes-panel';
3
+ export declare const notesPanelAgent: AgentAdapter<NotesPanelHandle>;
4
+ //# sourceMappingURL=notes-panel.agent.d.ts.map
@@ -3,6 +3,31 @@ import type { ClinicalNoteCardProps } from '../clinical-note-card';
3
3
  import type { RichTextEditorProps, RichTextEditorToolbar, RedactorFactory } from '../rich-text-editor';
4
4
  /** One note in the panel — the data subset of `ClinicalNoteCard`. */
5
5
  export type NotesPanelNote = Pick<ClinicalNoteCardProps, 'id' | 'dateIso' | 'createdAtIso' | 'author' | 'clinical' | 'attachedTo' | 'content' | 'contentFormat' | 'pinned' | 'flagged'>;
6
+ /**
7
+ * Curated agent handle for NotesPanel. Reads the note timeline's STRUCTURE
8
+ * (ids + pinned / flagged / clinical flags — never the note body or author,
9
+ * both PHI) and drives the composer + per-note toggles. See
10
+ * `notes-panel.agent.ts`.
11
+ */
12
+ export interface NotesPanelHandle {
13
+ /** Timeline snapshot — ids + flags only, never note content (PHI). */
14
+ getNotes: () => Array<{
15
+ id?: string;
16
+ pinned: boolean;
17
+ flagged: boolean;
18
+ clinical: boolean;
19
+ }>;
20
+ /** Whether the composer is mounted (onAddNote is wired). */
21
+ canAddNote: () => boolean;
22
+ /** Whether clinical notes may be written (the permission gate). */
23
+ canAddClinical: () => boolean;
24
+ /** Commit a new note with explicit content (mirrors the composer's submit). */
25
+ addNote: (submission: NotesPanelSubmission) => void;
26
+ /** Toggle a note's pinned state (mirrors onTogglePin). */
27
+ togglePin: (id: string) => void;
28
+ /** Toggle a note's flagged state (mirrors onToggleFlag). */
29
+ toggleFlag: (id: string) => void;
30
+ }
6
31
  /** Payload handed to `onAddNote` when the composer commits. */
7
32
  export interface NotesPanelSubmission {
8
33
  /** The note body — rich HTML (`composer='rich'`) or plain text. */
@@ -11,6 +36,11 @@ export interface NotesPanelSubmission {
11
36
  clinical: boolean;
12
37
  }
13
38
  export interface NotesPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'title' | 'children'> {
39
+ /**
40
+ * Stable instance id. Surfaced on the root as `data-component-id` so an
41
+ * agent / MCP UI bridge can address this specific notes panel.
42
+ */
43
+ id?: string;
14
44
  /** Notes to render, newest-first by convention. Pinned notes lead. */
15
45
  notes: NotesPanelNote[];
16
46
  /** Commit a new note. Omit to hide the composer (read-only timeline). */
@@ -1,4 +1,4 @@
1
- import { N as a, i as t } from "../../_chunks/notification-card-D2jiKSJJ.js";
1
+ import { N as a, i as t } from "../../_chunks/notification-card-BMqNzCIt.js";
2
2
  import { n as f } from "../../_chunks/notification-card.agent-DxGBZb8T.js";
3
3
  export {
4
4
  a as NotificationCard,
@@ -27,10 +27,24 @@ export interface NotificationCardProps extends Omit<HTMLAttributes<HTMLDivElemen
27
27
  * controls (used by dashboards / sidebars).
28
28
  */
29
29
  variant?: 'compact' | 'dashboard';
30
+ /**
31
+ * Row chrome for the `compact` variant (ignored for `dashboard`, which
32
+ * always carries its own card border). `'flat'` (default) — chrome-less row
33
+ * for use inside a bordered tray. `'elevated'` — each row carries its own
34
+ * card chrome (border + `--shadow-sm`), matching `AppointmentCard` /
35
+ * `ClinicalNoteCard` for placing rows directly on a rail (e.g. the Inbox).
36
+ */
37
+ surface?: 'flat' | 'elevated';
30
38
  /** Visual density. */
31
39
  size?: 'sm' | 'md';
32
40
  /** Fires when the card title / body is activated. */
33
41
  onActivate?: (item: NotificationItem) => void;
42
+ /**
43
+ * Fires when the read/unread status ball (the corner badge on the category
44
+ * icon) is activated. Supply to make the ball an interactive toggle; omit and
45
+ * it renders as a static read-state indicator.
46
+ */
47
+ onToggleRead?: (item: NotificationItem) => void;
34
48
  /** Fires when the dismiss control is activated. */
35
49
  onDismiss?: (item: NotificationItem) => void;
36
50
  /**
@@ -55,6 +69,7 @@ declare const cardVariants: (props?: ({
55
69
  variant?: "compact" | "dashboard" | null | undefined;
56
70
  size?: "sm" | "md" | null | undefined;
57
71
  state?: "read" | "unread" | null | undefined;
72
+ surface?: "flat" | "elevated" | null | undefined;
58
73
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
59
74
  export declare function isSafeNotificationUrl(url: string): boolean;
60
75
  export declare const NotificationCard: import("react").ForwardRefExoticComponent<NotificationCardProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,4 @@
1
- import { N as o, n as t } from "../../_chunks/notification-tray-AEun6DN2.js";
1
+ import { N as o, n as t } from "../../_chunks/notification-tray-BmUlCx3g.js";
2
2
  export {
3
3
  o as NotificationTray,
4
4
  t as notificationTrayAgent
@@ -18,6 +18,10 @@ export interface NotificationTrayHandle {
18
18
  selectItem: (id: string) => void;
19
19
  markRead: (id: string) => void;
20
20
  dismiss: (id: string) => void;
21
+ /** Request the host to mark every notification as read (mirrors onMarkAllRead). */
22
+ markAllRead: () => void;
23
+ /** Navigate to the full notification list (mirrors onViewAll). */
24
+ viewAll: () => void;
21
25
  }
22
26
  export interface NotificationTrayProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'children' | 'role' | 'id'>, VariantProps<typeof notificationTrayVariants> {
23
27
  /**
@@ -1,4 +1,4 @@
1
- import { O as e, o as a } from "../../_chunks/operator-hero-CR0Rqh4-.js";
1
+ import { O as e, o as a } from "../../_chunks/operator-hero-BO8TqzX2.js";
2
2
  export {
3
3
  e as OperatorHero,
4
4
  a as operatorHeroAgent
@@ -0,0 +1,3 @@
1
+ export { PanelHeader, PanelHeaderActionsProvider, usePanelHeaderActions, } from './panel-header';
2
+ export type { PanelHeaderProps } from './panel-header';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,7 @@
1
+ import { P as r, a as s, u as n } from "../../_chunks/panel-header-D313n_9-.js";
2
+ export {
3
+ r as PanelHeader,
4
+ s as PanelHeaderActionsProvider,
5
+ n as usePanelHeaderActions
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,41 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ /**
4
+ * Provides rail-injected actions that every descendant `PanelHeader`
5
+ * appends to its action cluster, after the panel's own `actions`. The
6
+ * rail (or any host) wraps the panel subtree once; standalone panels
7
+ * render without a provider and inject nothing.
8
+ */
9
+ export declare function PanelHeaderActionsProvider({ actions, children, }: {
10
+ actions: ReactNode;
11
+ children: ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ /** Reads the rail-injected actions for the current subtree (default `null`). */
14
+ export declare function usePanelHeaderActions(): ReactNode;
15
+ declare const headerVariants: (props?: ({
16
+ sticky?: boolean | null | undefined;
17
+ divider?: boolean | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ export interface PanelHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'>, VariantProps<typeof headerVariants> {
20
+ /** Heading content. Already translated upstream. */
21
+ title: ReactNode;
22
+ /** Optional leading glyph — auto `aria-hidden` and sized to `--spacing` 4. */
23
+ icon?: ReactNode;
24
+ /** `id` applied to the heading so panels can wire `aria-labelledby`. */
25
+ headingId?: string;
26
+ /** Semantic heading level. Default `2`. */
27
+ headingLevel?: 2 | 3;
28
+ /** Panel-owned actions, rendered inline-end of the title row. */
29
+ actions?: ReactNode;
30
+ /** Optional second row, typically filter controls. */
31
+ filters?: ReactNode;
32
+ /** Pin to the top of the scroll region. Default `false`. */
33
+ sticky?: boolean;
34
+ /** Bottom hairline. Default `true`. */
35
+ divider?: boolean;
36
+ /** Type scale of the heading. Default `'card'`. */
37
+ titleScale?: 'card' | 'section';
38
+ }
39
+ export declare const PanelHeader: import("react").ForwardRefExoticComponent<PanelHeaderProps & import("react").RefAttributes<HTMLElement>>;
40
+ export {};
41
+ //# sourceMappingURL=panel-header.d.ts.map
@@ -1,4 +1,4 @@
1
- import { P as e, p as i } from "../../_chunks/patient-details-Dlhqb5ig.js";
1
+ import { P as e, p as i } from "../../_chunks/patient-details-DgfTJimE.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-Be6cLrHR.js";
1
+ import { P as t, p as r } from "../../_chunks/patient-search-CSWQKOSP.js";
2
2
  export {
3
3
  t as PatientSearch,
4
4
  r as patientSearchAgent