@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,152 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { type TaskItem } from '../task-card';
4
+ /** Which set of tasks the panel shows — the host owns the actual feed. */
5
+ export type TasksPanelScope = 'patient' | 'mine';
6
+ /** Status segment value. Mirrors the platform `done` filter (default `todo`). */
7
+ export type TasksPanelStatusFilter = 'todo' | 'done' | 'all';
8
+ /**
9
+ * Panel-local extension of the card's `TaskItem`. The extra fields here drive
10
+ * bucketing + filtering; the row's display fields (the typed link via
11
+ * `linkType` + `linkedLabel`, the `assigneeLabel`, `dueLabel`) live on
12
+ * `TaskItem` and are rendered by `TaskCard` itself. The host maps the platform
13
+ * `DoctorReminder` → this shape — composing `title` (a summary, NOT the bare
14
+ * type), `note`, the linked entity, the assignee, and `dueLabel`.
15
+ */
16
+ export interface TasksPanelItem extends TaskItem {
17
+ /** ISO-8601 due/scheduled instant (platform `DoctorReminder.date`). Buckets + orders the list. */
18
+ dueIso: string;
19
+ /** System or custom task-type key (`recall` | `payment` | `collection` | `other` | `custom-*`). Drives the type filter + badge. */
20
+ type?: string;
21
+ /**
22
+ * Localised type label, required for CUSTOM types (the panel resolves system
23
+ * keys itself). Falls back to the system label for the four known keys.
24
+ */
25
+ typeLabel?: string;
26
+ /**
27
+ * Assignee id (the platform `practiceUser`). Omit ⇒ unassigned; give pool
28
+ * tasks a shared sentinel value (e.g. `'unassigned'`) if you want the pool
29
+ * itself filterable. Drives the assignee FILTER (exact match); the displayed
30
+ * name is `TaskItem.assigneeLabel`.
31
+ */
32
+ assignee?: string;
33
+ /** Provenance — manual vs workflow-created. Filter only. */
34
+ createdBy?: 'user' | 'workflow';
35
+ }
36
+ /** Curated imperative handle — identifiers + structural state only, no PHI. */
37
+ export interface TasksPanelHandle {
38
+ getItems: () => Array<{
39
+ id: string;
40
+ status: string;
41
+ }>;
42
+ selectItem: (id: string) => void;
43
+ toggleDone: (id: string) => void;
44
+ dismiss: (id: string) => void;
45
+ jumpToOverdue: () => void;
46
+ setFilter: (next: {
47
+ status?: TasksPanelStatusFilter;
48
+ type?: string | null;
49
+ assignee?: string | null;
50
+ overdueOnly?: boolean;
51
+ }) => void;
52
+ /** Switch the task scope segment (patient ↔ mine). The host re-feeds items. */
53
+ changeScope: (next: TasksPanelScope) => void;
54
+ /** Request the host to append the next page of tasks (mirrors onLoadMore). */
55
+ loadMore: () => void;
56
+ }
57
+ interface FilterOption {
58
+ /** Stable value passed back through the matching `on…Change`. */
59
+ value: string;
60
+ /** Localised label. */
61
+ label: string;
62
+ }
63
+ export interface TasksPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'onClick' | 'id' | 'title'> {
64
+ /** Stable instance id, surfaced as `data-component-id`. */
65
+ id?: string;
66
+ /** Tasks to render — any order; bucketed + sorted internally (due ASC, Done last). */
67
+ items: TasksPanelItem[];
68
+ /** ISO-8601 "now" anchor — buckets + overdue compute against it. Defaults to the current instant; stories pass a fixed value. */
69
+ nowIso?: string;
70
+ /** Panel heading. Defaults to the localised "Tasks". */
71
+ title?: string;
72
+ /** Visual density forwarded to each TaskCard. Defaults to `xs` — the compact rail row. */
73
+ size?: 'xs' | 'sm' | 'md';
74
+ /** Fires when a row is activated. */
75
+ onOpenTask?: (item: TasksPanelItem) => void;
76
+ /** Fires when the host should toggle a task's done state. */
77
+ onToggleDone?: (item: TasksPanelItem) => void;
78
+ /** Fires when the host should open the task editor. Omit to hide the per-row edit action. */
79
+ onEditTask?: (item: TasksPanelItem) => void;
80
+ /** Fires when the host should dismiss / remove a task. Omit to hide the per-row dismiss action. */
81
+ onDismissTask?: (item: TasksPanelItem) => void;
82
+ /** Fires when the header "Add" affordance is activated. Omit to hide it. */
83
+ onAddTask?: () => void;
84
+ /**
85
+ * Read-only mode — hides every write affordance (toggle / edit / dismiss /
86
+ * add). Mirrors the platform gating writes behind `practice_task_edit`.
87
+ */
88
+ readOnly?: boolean;
89
+ /**
90
+ * Per-row trailing action toolbar, forwarded to each TaskCard's `actions`
91
+ * slot. Overrides the default toggle / edit / dismiss buttons (the type Badge
92
+ * is always prepended by the panel). Ignored when `readOnly`.
93
+ */
94
+ renderItemActions?: (item: TasksPanelItem) => ReactNode;
95
+ /** Controlled scope segment. */
96
+ scope?: TasksPanelScope;
97
+ /** Uncontrolled initial scope. Default `'patient'` when both scopes are available, else the only one. */
98
+ defaultScope?: TasksPanelScope;
99
+ /** Fires when the user switches scope — the host re-feeds `items`. */
100
+ onScopeChange?: (next: TasksPanelScope) => void;
101
+ /** Which scopes the segment offers. Omit ⇒ no scope segment (single-scope panel). */
102
+ availableScopes?: TasksPanelScope[];
103
+ /** Load the next page — fired when the bottom edge is reached and via the footer button. */
104
+ onLoadMore?: () => void;
105
+ /** Whether more tasks exist. Defaults to `true` when `onLoadMore` is set. */
106
+ hasMore?: boolean;
107
+ /** Show the bottom loading row while the next page is fetched. */
108
+ loadingMore?: boolean;
109
+ /** Full-panel initial loading state (skeleton rows in the body). */
110
+ loading?: boolean;
111
+ /** Error surface — `true` for the default error EmptyState, or a custom node. */
112
+ error?: boolean | ReactNode;
113
+ /** Show the filter header (status segment + type / assignee selects + overdue toggle). Default `true`. */
114
+ showFilters?: boolean;
115
+ /** Controlled status segment. */
116
+ statusFilter?: TasksPanelStatusFilter;
117
+ /** Uncontrolled initial status segment. Default `'todo'` (the platform default). */
118
+ defaultStatusFilter?: TasksPanelStatusFilter;
119
+ onStatusFilterChange?: (next: TasksPanelStatusFilter) => void;
120
+ /** Task types for the type filter. Omit ⇒ no type filter. */
121
+ typeOptions?: FilterOption[];
122
+ /** Controlled type filter (`null`/empty ⇒ all). */
123
+ typeFilter?: string | null;
124
+ onTypeFilterChange?: (next: string | null) => void;
125
+ /** Assignees for the assignee filter. Pass an explicit Unassigned option if wanted. Omit ⇒ no assignee filter. */
126
+ assigneeOptions?: FilterOption[];
127
+ /** Controlled assignee filter (`null`/empty ⇒ anyone). */
128
+ assigneeFilter?: string | null;
129
+ onAssigneeFilterChange?: (next: string | null) => void;
130
+ /** Controlled overdue-only toggle. */
131
+ overdueOnly?: boolean;
132
+ /** Uncontrolled initial overdue-only state. Default `false`. */
133
+ defaultOverdueOnly?: boolean;
134
+ onOverdueOnlyChange?: (next: boolean) => void;
135
+ emptyTitle?: string;
136
+ emptyDescription?: string;
137
+ /** CTA wired into the first-use empty state (e.g. Create task). */
138
+ emptyAction?: {
139
+ label: string;
140
+ onClick: () => void;
141
+ };
142
+ /** Accessible name for the panel region (defaults to `title`). */
143
+ 'aria-label'?: string;
144
+ }
145
+ declare const rootVariants: (props?: ({
146
+ size?: "sm" | "md" | "xs" | null | undefined;
147
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
148
+ export declare const TasksPanel: import("react").ForwardRefExoticComponent<TasksPanelProps & import("react").RefAttributes<HTMLElement>>;
149
+ /** Re-export of the size variant union for downstream typing. */
150
+ export type TasksPanelSize = NonNullable<VariantProps<typeof rootVariants>['size']>;
151
+ export {};
152
+ //# sourceMappingURL=tasks-panel.d.ts.map
@@ -0,0 +1,4 @@
1
+ export { TokenInsertMenu } from './token-insert-menu';
2
+ export type { TokenInsertMenuProps, TokenInsertMenuToken, TokenInsertMenuHandle, } from './token-insert-menu';
3
+ export { tokenInsertMenuAgent } from './token-insert-menu.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { T as t, t as o } from "../../_chunks/token-insert-menu-CFQqTe_n.js";
2
+ export {
3
+ t as TokenInsertMenu,
4
+ o as tokenInsertMenuAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { TokenInsertMenuHandle } from './token-insert-menu';
3
+ export declare const tokenInsertMenuAgent: AgentAdapter<TokenInsertMenuHandle>;
4
+ //# sourceMappingURL=token-insert-menu.agent.d.ts.map
@@ -0,0 +1,33 @@
1
+ /** One selectable merge-token. */
2
+ export interface TokenInsertMenuToken {
3
+ /** Raw token text inserted verbatim (e.g. `"{{patient.name}}"`). */
4
+ value: string;
5
+ /** Human-readable label shown in the menu. Already localised by the consumer. */
6
+ label: string;
7
+ /** Optional section heading — when ANY token has one, the menu renders grouped. */
8
+ group?: string;
9
+ }
10
+ /** Agent-readiness curated handle for TokenInsertMenu. */
11
+ export interface TokenInsertMenuHandle {
12
+ isOpen: () => boolean;
13
+ open: () => void;
14
+ close: () => void;
15
+ /** Emit a token to the consumer (mirrors a user selecting it). */
16
+ insert: (token: string) => void;
17
+ }
18
+ export interface TokenInsertMenuProps {
19
+ /** The merge-tokens to offer. `value` is inserted; `label` is shown. */
20
+ tokens: TokenInsertMenuToken[];
21
+ /** Called with the chosen token's raw `value`. The consumer inserts it at
22
+ * the caret of their target field — this component never owns the field. */
23
+ onInsert: (token: string) => void;
24
+ /** The trigger button's visible text (already localised by the consumer). */
25
+ triggerLabel: string;
26
+ disabled?: boolean;
27
+ /** Opaque instance id — surfaced as `data-component-id` + agent instance id. */
28
+ id?: string;
29
+ /** Extra classes for the trigger button. */
30
+ className?: string;
31
+ }
32
+ export declare const TokenInsertMenu: import("react").ForwardRefExoticComponent<TokenInsertMenuProps & import("react").RefAttributes<HTMLButtonElement>>;
33
+ //# sourceMappingURL=token-insert-menu.d.ts.map
@@ -0,0 +1,4 @@
1
+ export { ToolRail } from './tool-rail';
2
+ export type { ToolRailProps, ToolRailHandle, ToolRailTool } from './tool-rail';
3
+ export { toolRailAgent } from './tool-rail.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { T as l, t } from "../../_chunks/tool-rail-BZx0-yIr.js";
2
+ export {
3
+ l as ToolRail,
4
+ t as toolRailAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { ToolRailHandle } from './tool-rail';
3
+ export declare const toolRailAgent: AgentAdapter<ToolRailHandle>;
4
+ //# sourceMappingURL=tool-rail.agent.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
- export interface AiToolsRailTool {
3
+ import type { AgentAdapter } from '../../agent/types';
4
+ export interface ToolRailTool {
4
5
  /** Stable tool id — used in `data-active`, the imperative handle, and
5
6
  * to label the open panel region. */
6
7
  id: string;
@@ -52,14 +53,14 @@ export interface AiToolsRailTool {
52
53
  reorderable?: boolean;
53
54
  }
54
55
  /**
55
- * Curated imperative handle for AiToolsRail. Exposed as the forwardRef
56
+ * Curated imperative handle for ToolRail. Exposed as the forwardRef
56
57
  * target so a future agent / MCP UI bridge can drive the rail without
57
- * touching the DOM. See `ai-tools-rail.agent.ts`.
58
+ * touching the DOM. See `tool-rail.agent.ts`.
58
59
  *
59
60
  * State surfaced here is strictly identifiers + counts — never any
60
61
  * tool's panel content (which may carry PHI).
61
62
  */
62
- export interface AiToolsRailHandle {
63
+ export interface ToolRailHandle {
63
64
  /** Currently-active tool id, or null when collapsed to strip-only. */
64
65
  getActiveToolId: () => string | null;
65
66
  /** Activate a tool by id (opens its panel), or null to collapse. */
@@ -72,11 +73,11 @@ export interface AiToolsRailHandle {
72
73
  declare const railVariants: (props?: ({
73
74
  side?: "end" | "start" | null | undefined;
74
75
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
75
- export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
76
+ export interface ToolRailProps extends VariantProps<typeof railVariants> {
76
77
  /** Stable instance id, surfaced on the root as `data-component-id`. */
77
78
  id?: string;
78
79
  /** The tools shown as icons on the strip. */
79
- tools: AiToolsRailTool[];
80
+ tools: ToolRailTool[];
80
81
  /** Controlled active tool id (null = collapsed / strip-only). */
81
82
  activeToolId?: string | null;
82
83
  /** Uncontrolled initial active tool id (default null). */
@@ -91,7 +92,7 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
91
92
  * Opt-in resize affordance for the open tool panel. Renders a
92
93
  * `role="separator"` drag handle on the panel's inner edge (the edge
93
94
  * facing the main content). The committed width is written to
94
- * `--ai-tools-rail-panel-inline-size` on the panel element (288–640px);
95
+ * `--tool-rail-panel-inline-size` on the panel element (288–640px);
95
96
  * Enter / double-click resets to the token-driven default. Default `false`.
96
97
  */
97
98
  resizablePanel?: boolean;
@@ -113,7 +114,7 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
113
114
  * omitted, the rail announces the generic run-relative position.
114
115
  */
115
116
  formatReorderAnnouncement?: (args: {
116
- tool: AiToolsRailTool;
117
+ tool: ToolRailTool;
117
118
  from: number;
118
119
  to: number;
119
120
  }) => string;
@@ -123,7 +124,7 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
123
124
  * a small affordance such as a pin toggle — the rail attaches no meaning to
124
125
  * what it renders. Receives the tool and its index / active state.
125
126
  */
126
- renderToolAffordance?: (tool: AiToolsRailTool, context: {
127
+ renderToolAffordance?: (tool: ToolRailTool, context: {
127
128
  index: number;
128
129
  isActive: boolean;
129
130
  isRovingTarget: boolean;
@@ -133,11 +134,27 @@ export interface AiToolsRailProps extends VariantProps<typeof railVariants> {
133
134
  * above its scroll region. Host-owned content (e.g. a pin / unpin control) —
134
135
  * the rail attaches no meaning. Receives the active tool.
135
136
  */
136
- renderPanelHeader?: (tool: AiToolsRailTool, context: {
137
+ renderPanelHeader?: (tool: ToolRailTool, context: {
137
138
  isActive: boolean;
138
139
  }) => ReactNode;
140
+ /**
141
+ * Identity override for the root's `data-component` attribute. Defaults to
142
+ * `'tool-rail'`. A product wrapper (e.g. ControlRoomRail) passes its own
143
+ * kebab id so the DOM / cascade boundary — and an agent's `domHooks.root` —
144
+ * can tell its surface apart from a bare ToolRail, without the engine ever
145
+ * importing the wrapper.
146
+ */
147
+ dataComponent?: string;
148
+ /**
149
+ * Agent adapter registered for this rail instance. Defaults to
150
+ * `toolRailAgent`. A wrapper passes its own adapter (matching
151
+ * `dataComponent`) so the rail registers under the wrapper's identity. The
152
+ * instance id is sourced from the `id` prop (also stamped as
153
+ * `data-component-id`).
154
+ */
155
+ agentAdapter?: AgentAdapter<ToolRailHandle>;
139
156
  className?: string;
140
157
  }
141
- export declare const AiToolsRail: import("react").ForwardRefExoticComponent<AiToolsRailProps & import("react").RefAttributes<AiToolsRailHandle>>;
158
+ export declare const ToolRail: import("react").ForwardRefExoticComponent<ToolRailProps & import("react").RefAttributes<ToolRailHandle>>;
142
159
  export {};
143
- //# sourceMappingURL=ai-tools-rail.d.ts.map
160
+ //# sourceMappingURL=tool-rail.d.ts.map
@@ -1,4 +1,4 @@
1
- import { C as o, a as e, b as t, c as E, F as S, d as T, e as I, P as _, f as l, S as r, g as O, h as N, T as n, i as c, j as h, k as m, l as A, m as i, n as C, o as D, p as F, s as L, q as R, r as P, t as p, u as M, v as U, z as u, w as y, x as b } from "../../_chunks/tooth-scheme-BhQoPNBD.js";
1
+ import { C as o, a as e, b as t, c as E, F as S, d as T, e as I, P as _, f as l, S as r, g as O, h as N, T as n, i as c, j as h, k as m, l as A, m as i, n as C, o as D, p as F, s as L, q as R, r as P, t as p, u as M, v as U, z as u, w as y, x as b } from "../../_chunks/tooth-scheme-DJZtzfeY.js";
2
2
  export {
3
3
  o as CONDITION_COLORS,
4
4
  e as CONDITION_PLAN_FOLDER,
@@ -93,6 +93,15 @@ export interface ToothSchemeProps {
93
93
  * chart directly. Default `false`.
94
94
  */
95
95
  controls?: boolean;
96
+ /**
97
+ * Where to render the `controls` gear. `undefined` (default) renders it
98
+ * inline at the top-end of the chart. Pass a DOM element (e.g. a ref'd slot in
99
+ * your card header) to portal the gear + its popover into that slot instead,
100
+ * so the chart options can sit on the title line. While the slot is mounting
101
+ * the prop will be `null`; the gear renders nothing until the element exists,
102
+ * so it never flashes inline first. No effect unless `controls` is on.
103
+ */
104
+ controlsContainer?: HTMLElement | null;
96
105
  /** Accessible label override for the chart region. */
97
106
  ariaLabel?: string;
98
107
  /** Extra class names on the wrapper. */
@@ -1,4 +1,4 @@
1
- import { T as t, t as n } from "../../_chunks/transcript-panel-3THQX6nJ.js";
1
+ import { T as t, t as n } from "../../_chunks/transcript-panel-CHGHHHdT.js";
2
2
  export {
3
3
  t as TranscriptPanel,
4
4
  n as transcriptPanelAgent
@@ -18,7 +18,7 @@ export interface TranscriptPanelHandle {
18
18
  /** Copy the turn's text to the clipboard. */
19
19
  copyTurn: (id: string) => Promise<void> | void;
20
20
  }
21
- export interface TranscriptPanelProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof rootVariants> {
21
+ export interface TranscriptPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'children'>, VariantProps<typeof rootVariants> {
22
22
  lines: TranscriptLine[];
23
23
  /** Current playback time in seconds — drives the active line highlight. */
24
24
  currentTime?: number;
@@ -29,6 +29,6 @@ export interface TranscriptPanelProps extends Omit<HTMLAttributes<HTMLDivElement
29
29
  declare const rootVariants: (props?: ({
30
30
  size?: "sm" | "md" | "lg" | null | undefined;
31
31
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
32
- export declare const TranscriptPanel: import("react").ForwardRefExoticComponent<TranscriptPanelProps & import("react").RefAttributes<HTMLDivElement>>;
32
+ export declare const TranscriptPanel: import("react").ForwardRefExoticComponent<TranscriptPanelProps & import("react").RefAttributes<HTMLElement>>;
33
33
  export {};
34
34
  //# sourceMappingURL=transcript-panel.d.ts.map
@@ -1,4 +1,4 @@
1
- import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-YEpD9evj.js";
1
+ import { C as r, U as t, a as U, b as e, c as n } from "../../_chunks/unit-converter-CwlZbfdn.js";
2
2
  export {
3
3
  r as CATEGORIES,
4
4
  t as UNITS,
@@ -1,4 +1,4 @@
1
- import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-Dy8mLCqF.js";
1
+ import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-M8MBBHQm.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Pixel-based edge-resize for fixed-width chrome surfaces (the Sidebar's
3
- * inline-end edge, the AiToolsRail panel's inner edge). Mirrors the
3
+ * inline-end edge, the ToolRail panel's inner edge). Mirrors the
4
4
  * separator semantics of `Resizable`'s Handle — `role="separator"`,
5
5
  * arrow keys with RTL flip, Shift for coarse steps, Home/End to the
6
6
  * extremes, Enter or double-click to reset — but sizes a single target
@@ -19,7 +19,7 @@ export interface UseEdgeResizeOptions {
19
19
  /**
20
20
  * Which logical edge of the target carries the handle. `inline-end`
21
21
  * for a start-docked surface (Sidebar); `inline-start` for an
22
- * end-docked one (AiToolsRail panel with `side="end"`).
22
+ * end-docked one (ToolRail panel with `side="end"`).
23
23
  */
24
24
  edge: 'inline-start' | 'inline-end';
25
25
  /** The element being resized. The width override lands on its style. */