@alfadocs/ui-kit 0.69.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 (425) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
  3. package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
  4. package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
  5. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  6. package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
  7. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  8. package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
  9. package/dist/_chunks/anatomy-scheme-CXSk11UJ.js +2445 -0
  10. package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
  11. package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
  12. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  13. package/dist/_chunks/appointment-card-DVaeJNVB.js +294 -0
  14. package/dist/_chunks/appointment-timeline-PJgnrjFb.js +388 -0
  15. package/dist/_chunks/appointment-tray-B16QPGbm.js +193 -0
  16. package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-DNDsOLqO.js} +3 -3
  17. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  18. package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
  19. package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-Cym_TeQY.js} +3 -3
  20. package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
  21. package/dist/_chunks/{booking-C3VqFReX.js → booking-C7do4vaR.js} +7 -7
  22. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  23. package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-DzPDYgtK.js} +5 -5
  24. package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CEnQy7YP.js} +5 -5
  25. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  26. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  27. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  28. package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
  29. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  30. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  31. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  32. package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
  33. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  34. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  35. package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
  36. package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
  37. package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
  38. package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
  39. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  40. package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
  41. package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-DmrgYSEX.js} +38 -20
  42. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  43. package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
  44. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  45. package/dist/_chunks/field-value-3jMM0uDx.js +415 -0
  46. package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
  47. package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
  48. package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-DKzEV5Qi.js} +4 -4
  49. package/dist/_chunks/hash-CysBBS_N.js +17 -0
  50. package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
  51. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  52. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  53. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  54. package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-De_SLjSq.js} +792 -668
  55. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  56. package/dist/_chunks/lock-CKOIn0IK.js +15 -0
  57. package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-BGqkywsi.js} +5 -5
  58. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  59. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  60. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  61. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  62. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  63. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  64. package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-BmUlCx3g.js} +201 -166
  65. package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-BO8TqzX2.js} +3 -3
  66. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  67. package/dist/_chunks/patient-details-DgfTJimE.js +759 -0
  68. package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-CSWQKOSP.js} +3 -3
  69. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  70. package/dist/_chunks/patient-summary-card-D4NdgYJB.js +452 -0
  71. package/dist/_chunks/patient-table-CERknpd8.js +1110 -0
  72. package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
  73. package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-Blf-MFNY.js} +125 -136
  74. package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
  75. package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
  76. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  77. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  78. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  79. package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-El5Z-oVp.js} +4 -4
  80. package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CunHrOpO.js} +4 -4
  81. package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
  82. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  83. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  84. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  85. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  86. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  87. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  88. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  89. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  90. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  91. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  92. package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
  93. package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
  94. package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
  95. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  96. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  97. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  98. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  99. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  100. package/dist/_chunks/tool-rail-BZx0-yIr.js +524 -0
  101. package/dist/_chunks/tooth-scheme-DJZtzfeY.js +2133 -0
  102. package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
  103. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  104. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  105. package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
  106. package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
  107. package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
  108. package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
  109. package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-M8MBBHQm.js} +107 -119
  110. package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
  111. package/dist/agent/index.js +5 -4
  112. package/dist/agent/types.d.ts +19 -2
  113. package/dist/agent-catalog.json +3325 -322
  114. package/dist/agent-i18n/en.json +314 -14
  115. package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
  116. package/dist/components/_shared/entity-card/index.d.ts +1 -1
  117. package/dist/components/_shared/field-value.d.ts +21 -0
  118. package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
  119. package/dist/components/_shared/field-visibility.d.ts +36 -0
  120. package/dist/components/_shared/option.d.ts +2 -0
  121. package/dist/components/_shared/patient-fields.d.ts +119 -0
  122. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  123. package/dist/components/address-fields/address-fields.d.ts +29 -0
  124. package/dist/components/address-fields/index.d.ts +5 -0
  125. package/dist/components/address-fields/index.js +6 -0
  126. package/dist/components/agenda-card/index.js +1 -1
  127. package/dist/components/agenda-tray/index.js +1 -1
  128. package/dist/components/ai-consent-banner/index.js +1 -1
  129. package/dist/components/ai-prompt-input/index.js +1 -1
  130. package/dist/components/alert/alert.d.ts +5 -0
  131. package/dist/components/alert/index.js +1 -1
  132. package/dist/components/anamnesis-card/index.js +1 -1
  133. package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
  134. package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
  135. package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
  136. package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
  137. package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
  138. package/dist/components/anatomy-scheme/index.d.ts +6 -0
  139. package/dist/components/anatomy-scheme/index.js +17 -0
  140. package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
  141. package/dist/components/annotation-marker/index.d.ts +3 -0
  142. package/dist/components/annotation-marker/index.js +7 -0
  143. package/dist/components/app-frame/app-frame.d.ts +2 -2
  144. package/dist/components/app-frame/index.js +1 -1
  145. package/dist/components/appointment-card/appointment-card.d.ts +25 -1
  146. package/dist/components/appointment-card/index.js +6 -5
  147. package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
  148. package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
  149. package/dist/components/appointment-timeline/index.d.ts +4 -0
  150. package/dist/components/appointment-timeline/index.js +6 -0
  151. package/dist/components/audio-recorder/index.js +1 -1
  152. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  153. package/dist/components/autocomplete/index.js +1 -1
  154. package/dist/components/badge/badge.d.ts +6 -2
  155. package/dist/components/badge/index.js +1 -1
  156. package/dist/components/bishop-score/index.js +1 -1
  157. package/dist/components/bmi-calculator/index.js +1 -1
  158. package/dist/components/booking/index.js +1 -1
  159. package/dist/components/button-group/index.js +1 -1
  160. package/dist/components/care-plan-card/index.js +1 -1
  161. package/dist/components/care-plan-entry-card/index.js +1 -1
  162. package/dist/components/care-plan-header/care-plan-header.agent.d.ts +4 -0
  163. package/dist/components/care-plan-header/care-plan-header.d.ts +111 -0
  164. package/dist/components/care-plan-header/index.d.ts +4 -0
  165. package/dist/components/care-plan-header/index.js +6 -0
  166. package/dist/components/chat-message/index.js +1 -1
  167. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  168. package/dist/components/city-input/city-input.d.ts +57 -0
  169. package/dist/components/city-input/index.d.ts +5 -0
  170. package/dist/components/city-input/index.js +6 -0
  171. package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
  172. package/dist/components/clinical-note-card/index.js +1 -1
  173. package/dist/components/combobox/combobox.d.ts +17 -0
  174. package/dist/components/combobox/index.js +1 -1
  175. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  176. package/dist/components/connection-status/connection-status.d.ts +36 -0
  177. package/dist/components/connection-status/index.d.ts +4 -0
  178. package/dist/components/connection-status/index.js +6 -0
  179. package/dist/components/contact-profile-card/index.js +1 -1
  180. package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
  181. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  182. package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
  183. package/dist/components/control-room-rail/index.d.ts +6 -0
  184. package/dist/components/control-room-rail/index.js +10 -0
  185. package/dist/components/counter/counter.d.ts +1 -1
  186. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  187. package/dist/components/country-select/country-select.d.ts +51 -0
  188. package/dist/components/country-select/index.d.ts +6 -0
  189. package/dist/components/country-select/index.js +9 -0
  190. package/dist/components/country-select/iso-3166.d.ts +15 -0
  191. package/dist/components/cycle-calculator/index.js +1 -1
  192. package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
  193. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  194. package/dist/components/data-table/index.d.ts +3 -1
  195. package/dist/components/data-table/index.js +35 -32
  196. package/dist/components/dependent-selector/index.js +1 -1
  197. package/dist/components/document-scanner/index.js +1 -1
  198. package/dist/components/due-date-calculator/index.js +2 -2
  199. package/dist/components/email-input/index.js +1 -1
  200. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  201. package/dist/components/entity-summary/entity-summary.d.ts +92 -0
  202. package/dist/components/entity-summary/index.d.ts +3 -0
  203. package/dist/components/entity-summary/index.js +5 -0
  204. package/dist/components/fetal-weight/index.js +1 -1
  205. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  206. package/dist/components/field-array/field-array.d.ts +45 -0
  207. package/dist/components/field-array/index.d.ts +4 -0
  208. package/dist/components/field-array/index.js +6 -0
  209. package/dist/components/file-upload/index.js +1 -1
  210. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  211. package/dist/components/freemium-paywall/index.js +1 -1
  212. package/dist/components/gestational-age-calculator/index.js +1 -1
  213. package/dist/components/hcg-doubling/index.js +1 -1
  214. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  215. package/dist/components/iban-input/iban-input.d.ts +51 -0
  216. package/dist/components/iban-input/index.d.ts +5 -0
  217. package/dist/components/iban-input/index.js +13 -0
  218. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  219. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  220. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  221. package/dist/components/icon-picker/index.d.ts +4 -0
  222. package/dist/components/icon-picker/index.js +6 -0
  223. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  224. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  225. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  226. package/dist/components/image-cropper/index.d.ts +5 -0
  227. package/dist/components/image-cropper/index.js +11 -0
  228. package/dist/components/index.d.ts +25 -1
  229. package/dist/components/message-card/index.js +1 -1
  230. package/dist/components/message-card/message-card.d.ts +14 -0
  231. package/dist/components/message-tray/index.js +1 -1
  232. package/dist/components/message-tray/message-tray.d.ts +4 -0
  233. package/dist/components/multi-select/index.js +1 -1
  234. package/dist/components/nav-grid/index.d.ts +4 -0
  235. package/dist/components/nav-grid/index.js +7 -0
  236. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  237. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  238. package/dist/components/notes-panel/index.d.ts +3 -0
  239. package/dist/components/notes-panel/index.js +5 -0
  240. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  241. package/dist/components/notes-panel/notes-panel.d.ts +94 -0
  242. package/dist/components/notification-card/index.js +1 -1
  243. package/dist/components/notification-card/notification-card.d.ts +15 -0
  244. package/dist/components/notification-tray/index.js +1 -1
  245. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  246. package/dist/components/operator-hero/index.js +1 -1
  247. package/dist/components/panel-header/index.d.ts +3 -0
  248. package/dist/components/panel-header/index.js +7 -0
  249. package/dist/components/panel-header/panel-header.d.ts +41 -0
  250. package/dist/components/patient-details/index.d.ts +5 -0
  251. package/dist/components/patient-details/index.js +6 -0
  252. package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
  253. package/dist/components/patient-details/patient-details.d.ts +96 -0
  254. package/dist/components/patient-search/index.js +1 -1
  255. package/dist/components/patient-summary-card/index.js +1 -1
  256. package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
  257. package/dist/components/patient-table/columns.d.ts +69 -40
  258. package/dist/components/patient-table/index.d.ts +2 -6
  259. package/dist/components/patient-table/index.js +8 -9
  260. package/dist/components/patient-table/patient-table.d.ts +38 -4
  261. package/dist/components/patient-table/types.d.ts +52 -2
  262. package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
  263. package/dist/components/payment-card/index.js +1 -1
  264. package/dist/components/payment-form/index.js +1 -1
  265. package/dist/components/pdf-viewer/index.js +1 -1
  266. package/dist/components/periodontal-chart-card/index.js +1 -1
  267. package/dist/components/permission-matrix/index.d.ts +4 -0
  268. package/dist/components/permission-matrix/index.js +7 -0
  269. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  270. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  271. package/dist/components/position-grid/index.d.ts +4 -0
  272. package/dist/components/position-grid/index.js +7 -0
  273. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  274. package/dist/components/position-grid/position-grid.d.ts +39 -0
  275. package/dist/components/postal-code-input/index.d.ts +5 -0
  276. package/dist/components/postal-code-input/index.js +6 -0
  277. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  278. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  279. package/dist/components/practice-results/index.js +1 -1
  280. package/dist/components/pregnancy-dating/index.js +1 -1
  281. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  282. package/dist/components/product-hub-tray/index.js +1 -1
  283. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  284. package/dist/components/province-select/index.d.ts +6 -0
  285. package/dist/components/province-select/index.js +7 -0
  286. package/dist/components/province-select/it-provinces.d.ts +8 -0
  287. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  288. package/dist/components/province-select/province-select.d.ts +38 -0
  289. package/dist/components/public-footer/public-footer.d.ts +1 -1
  290. package/dist/components/public-header/index.js +1 -1
  291. package/dist/components/radiograph-panel/index.d.ts +4 -0
  292. package/dist/components/radiograph-panel/index.js +7 -0
  293. package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
  294. package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
  295. package/dist/components/reviews-panel/index.js +1 -1
  296. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  297. package/dist/components/rich-text-editor/index.js +1 -1
  298. package/dist/components/scroll-area/index.js +1 -1
  299. package/dist/components/select/index.js +1 -1
  300. package/dist/components/select/select.d.ts +8 -2
  301. package/dist/components/sheet/index.js +1 -1
  302. package/dist/components/sidebar/index.js +2 -2
  303. package/dist/components/sign-document/index.js +1 -1
  304. package/dist/components/skeleton/skeleton.d.ts +1 -1
  305. package/dist/components/stepper-accordion/index.js +1 -1
  306. package/dist/components/tab-bar/index.js +1 -1
  307. package/dist/components/tab-bar/tab-bar.d.ts +18 -1
  308. package/dist/components/tabs/index.js +1 -1
  309. package/dist/components/task-card/index.js +1 -1
  310. package/dist/components/task-card/task-card.d.ts +14 -6
  311. package/dist/components/task-tray/index.js +1 -1
  312. package/dist/components/tasks-panel/index.d.ts +4 -0
  313. package/dist/components/tasks-panel/index.js +6 -0
  314. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  315. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  316. package/dist/components/token-insert-menu/index.d.ts +4 -0
  317. package/dist/components/token-insert-menu/index.js +6 -0
  318. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  319. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  320. package/dist/components/tool-rail/index.d.ts +4 -0
  321. package/dist/components/tool-rail/index.js +6 -0
  322. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  323. package/dist/components/tool-rail/tool-rail.d.ts +160 -0
  324. package/dist/components/tooth-scheme/index.d.ts +2 -2
  325. package/dist/components/tooth-scheme/index.js +30 -23
  326. package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
  327. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
  328. package/dist/components/tooth-scheme/tooth-scheme.d.ts +84 -11
  329. package/dist/components/transaction-chip/index.js +1 -1
  330. package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
  331. package/dist/components/transcript-panel/index.js +1 -1
  332. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  333. package/dist/components/unit-converter/index.js +1 -1
  334. package/dist/components/warning-stack/index.js +1 -1
  335. package/dist/components/warning-stack/warning-stack.d.ts +10 -7
  336. package/dist/components/workflow/index.js +1 -1
  337. package/dist/hooks/index.d.ts +1 -0
  338. package/dist/hooks/index.js +24 -22
  339. package/dist/hooks/use-clamp-overflow.d.ts +19 -0
  340. package/dist/hooks/use-edge-resize.d.ts +2 -2
  341. package/dist/hooks/use-overflow-collapse.d.ts +46 -0
  342. package/dist/hooks/use-persistent-state.d.ts +7 -1
  343. package/dist/hooks/use-scroll-overflow.d.ts +36 -0
  344. package/dist/i18n/locales/ar.d.ts +475 -26
  345. package/dist/i18n/locales/ar.js +478 -31
  346. package/dist/i18n/locales/de.d.ts +475 -26
  347. package/dist/i18n/locales/de.js +480 -31
  348. package/dist/i18n/locales/el.d.ts +475 -26
  349. package/dist/i18n/locales/el.js +485 -31
  350. package/dist/i18n/locales/en.d.ts +476 -34
  351. package/dist/i18n/locales/en.js +492 -39
  352. package/dist/i18n/locales/es.d.ts +475 -26
  353. package/dist/i18n/locales/es.js +477 -31
  354. package/dist/i18n/locales/fr.d.ts +475 -26
  355. package/dist/i18n/locales/fr.js +480 -31
  356. package/dist/i18n/locales/hi.d.ts +475 -26
  357. package/dist/i18n/locales/hi.js +476 -31
  358. package/dist/i18n/locales/it.d.ts +475 -26
  359. package/dist/i18n/locales/it.js +480 -31
  360. package/dist/i18n/locales/ja.d.ts +475 -26
  361. package/dist/i18n/locales/ja.js +481 -31
  362. package/dist/i18n/locales/nl.d.ts +475 -26
  363. package/dist/i18n/locales/nl.js +473 -31
  364. package/dist/i18n/locales/pl.d.ts +475 -26
  365. package/dist/i18n/locales/pl.js +481 -31
  366. package/dist/i18n/locales/pt.d.ts +475 -26
  367. package/dist/i18n/locales/pt.js +485 -31
  368. package/dist/i18n/locales/ro.d.ts +475 -26
  369. package/dist/i18n/locales/ro.js +485 -31
  370. package/dist/i18n/locales/ru.d.ts +475 -26
  371. package/dist/i18n/locales/ru.js +478 -31
  372. package/dist/i18n/locales/sq.d.ts +475 -26
  373. package/dist/i18n/locales/sq.js +482 -31
  374. package/dist/i18n/locales/sv.d.ts +475 -26
  375. package/dist/i18n/locales/sv.js +480 -31
  376. package/dist/i18n/locales/tr.d.ts +475 -26
  377. package/dist/i18n/locales/tr.js +478 -31
  378. package/dist/i18n/locales/zh.d.ts +475 -26
  379. package/dist/i18n/locales/zh.js +473 -31
  380. package/dist/index.js +826 -709
  381. package/dist/locales/ar.json +480 -31
  382. package/dist/locales/de.json +480 -31
  383. package/dist/locales/el.json +480 -31
  384. package/dist/locales/en.json +480 -31
  385. package/dist/locales/es.json +480 -31
  386. package/dist/locales/fr.json +480 -31
  387. package/dist/locales/hi.json +480 -31
  388. package/dist/locales/it.json +480 -31
  389. package/dist/locales/ja.json +480 -31
  390. package/dist/locales/nl.json +480 -31
  391. package/dist/locales/pl.json +480 -31
  392. package/dist/locales/pt.json +480 -31
  393. package/dist/locales/ro.json +480 -31
  394. package/dist/locales/ru.json +480 -31
  395. package/dist/locales/sq.json +480 -31
  396. package/dist/locales/sv.json +480 -31
  397. package/dist/locales/tr.json +480 -31
  398. package/dist/locales/zh.json +480 -31
  399. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  400. package/dist/patterns/alia-assistant/index.js +1 -1
  401. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  402. package/dist/patterns/patient-shell/index.js +1 -1
  403. package/dist/tokens.css +9 -1
  404. package/package.json +101 -5
  405. package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
  406. package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
  407. package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
  408. package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
  409. package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
  410. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  411. package/dist/_chunks/notification-card-BiESdm8q.js +0 -255
  412. package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
  413. package/dist/_chunks/patient-table-CDuosVru.js +0 -889
  414. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  415. package/dist/_chunks/rich-text-editor-BsV7zUdg.js +0 -2142
  416. package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
  417. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  418. package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
  419. package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
  420. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  421. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +0 -68
  422. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  423. package/dist/components/ai-tools-rail/index.js +0 -6
  424. package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +0 -45
  425. package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
@@ -2,6 +2,8 @@ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  export type TaskStatus = 'open' | 'in-progress' | 'done';
4
4
  export type TaskPriority = 'low' | 'normal' | 'high';
5
+ /** Which entity the task links to. The platform `DoctorReminder` links to exactly one of these (or none). */
6
+ export type TaskLinkType = 'patient' | 'company' | 'operator';
5
7
  export interface TaskItem {
6
8
  /** Unique identifier for the task. */
7
9
  id: string;
@@ -16,11 +18,17 @@ export interface TaskItem {
16
18
  */
17
19
  dueLabel?: string;
18
20
  /**
19
- * Linked-entity line (the patient / company / operator the task points
20
- * at). Rendered as an eyebrow under the description; localised by the
21
- * consumer (e.g. "Patient: Mario Rossi").
21
+ * Linked-entity NAME (the patient / company / operator the task points at) —
22
+ * e.g. "Mario Rossi". When `linkType` is set the card renders it as a typed
23
+ * chip (a per-type glyph + an accessible "Patient/Company/Operator:" prefix);
24
+ * otherwise it renders as a plain eyebrow line. The consumer composes the
25
+ * name only — no prefix.
22
26
  */
23
27
  linkedLabel?: string;
28
+ /** Type of the linked entity — drives the leading glyph + the accessible prefix on the linked chip. */
29
+ linkType?: TaskLinkType;
30
+ /** Localised assignee display name (host-composed, e.g. "Dr. Alfa"). Renders an assignee chip on the meta line. */
31
+ assigneeLabel?: string;
24
32
  /** Free-text note attached to the task — muted body line, clamped. */
25
33
  note?: string;
26
34
  /** Lifecycle state — drives the leading icon. */
@@ -33,8 +41,8 @@ export interface TaskItem {
33
41
  export interface TaskCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>, VariantProps<typeof taskCardVariants> {
34
42
  /** The task to render. */
35
43
  item: TaskItem;
36
- /** Visual density. */
37
- size?: 'sm' | 'md';
44
+ /** Visual density. `xs` is the compact rail row (Control Room); `sm`/`md` for in-page lists. */
45
+ size?: 'xs' | 'sm' | 'md';
38
46
  /** Fires when the row is activated (click / Enter / Space). */
39
47
  onActivate?: (item: TaskItem) => void;
40
48
  /**
@@ -45,7 +53,7 @@ export interface TaskCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onC
45
53
  actions?: ReactNode;
46
54
  }
47
55
  declare const taskCardVariants: (props?: ({
48
- size?: "sm" | "md" | null | undefined;
56
+ size?: "sm" | "md" | "xs" | null | undefined;
49
57
  interactive?: boolean | null | undefined;
50
58
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
51
59
  export declare function isSafeTaskUrl(url: string): boolean;
@@ -1,4 +1,4 @@
1
- import { T as s, t } from "../../_chunks/task-tray-qOEQflu4.js";
1
+ import { T as s, t } from "../../_chunks/task-tray-DNVejijD.js";
2
2
  export {
3
3
  s as TaskTray,
4
4
  t as taskTrayAgent
@@ -0,0 +1,4 @@
1
+ export { TasksPanel } from './tasks-panel';
2
+ export type { TasksPanelProps, TasksPanelHandle, TasksPanelItem, TasksPanelSize, TasksPanelScope, TasksPanelStatusFilter, } from './tasks-panel';
3
+ export { tasksPanelAgent } from './tasks-panel.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { T as e, t } from "../../_chunks/tasks-panel-C9odmawT.js";
2
+ export {
3
+ e as TasksPanel,
4
+ t as tasksPanelAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { TasksPanelHandle } from './tasks-panel';
3
+ export declare const tasksPanelAgent: AgentAdapter<TasksPanelHandle>;
4
+ //# sourceMappingURL=tasks-panel.agent.d.ts.map
@@ -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
@@ -0,0 +1,160 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import type { AgentAdapter } from '../../agent/types';
4
+ export interface ToolRailTool {
5
+ /** Stable tool id — used in `data-active`, the imperative handle, and
6
+ * to label the open panel region. */
7
+ id: string;
8
+ /** Accessible name for the strip icon + tooltip, and the open panel's
9
+ * region label. Never rendered as visible body text. */
10
+ label: string;
11
+ /** lucide-react glyph (rendered `aria-hidden` inside the IconButton). */
12
+ icon: ReactNode;
13
+ /** Panel body for this tool. Rendered inline-start of the strip when
14
+ * `side='end'` (mirrored for `'start'`). The consumer composes it. */
15
+ panel: ReactNode;
16
+ /**
17
+ * Optional non-scrolling header for this tool's panel. Rendered pinned at
18
+ * the top of the open panel — above the scroll region — so a tool's title /
19
+ * filters stay visible as the body scrolls. This is the rail-level home for
20
+ * a sticky tool header; every tool gets it for free.
21
+ */
22
+ header?: ReactNode;
23
+ /**
24
+ * When true the panel body is NOT wrapped in the rail's `ScrollArea` — the
25
+ * tool fills the (height-bounded) panel and owns its own scroll/layout.
26
+ * Use for self-scrolling tools (e.g. `AppointmentTimeline`, whose infinite
27
+ * scroll + today-anchoring + edge fades require it to be the scroll
28
+ * container). Default `false` (the rail scrolls the body).
29
+ */
30
+ fill?: boolean;
31
+ /** Optional unseen / notification count shown on the strip icon. */
32
+ badgeCount?: number;
33
+ /** When true the icon is non-interactive and skipped by roving focus. */
34
+ disabled?: boolean;
35
+ /**
36
+ * Scope tier (drives the two-group divider). The two scope values render in
37
+ * array order with a divider at the boundary between them — order the array
38
+ * so the groups stay contiguous. A divider only appears when BOTH groups are
39
+ * present; omit `scope` on every tool for an ungrouped strip (legacy). The
40
+ * rail attaches no meaning beyond grouping — the host decides which value
41
+ * leads (e.g. the Control Room pins favourites first).
42
+ */
43
+ scope?: 'global' | 'contextual';
44
+ /**
45
+ * When true this icon joins the drag-and-drop / `Alt`+Arrow reorder run.
46
+ * The host supplies `onReorder` and owns the resulting order. Moves are
47
+ * confined to the contiguous run of `reorderable` tools — so if EVERY tool
48
+ * is `reorderable` the run is the whole strip and a tool can be dragged
49
+ * across the scope divider; the host's `onReorder` decides what crossing it
50
+ * means (e.g. the Control Room reads it as pin / unpin). Reordering never
51
+ * changes focus roving — focus follows the moved tool to its new slot.
52
+ */
53
+ reorderable?: boolean;
54
+ }
55
+ /**
56
+ * Curated imperative handle for ToolRail. Exposed as the forwardRef
57
+ * target so a future agent / MCP UI bridge can drive the rail without
58
+ * touching the DOM. See `tool-rail.agent.ts`.
59
+ *
60
+ * State surfaced here is strictly identifiers + counts — never any
61
+ * tool's panel content (which may carry PHI).
62
+ */
63
+ export interface ToolRailHandle {
64
+ /** Currently-active tool id, or null when collapsed to strip-only. */
65
+ getActiveToolId: () => string | null;
66
+ /** Activate a tool by id (opens its panel), or null to collapse. */
67
+ setActiveTool: (id: string | null) => void;
68
+ /** Activate a tool by id (opens its panel). */
69
+ open: (id: string) => void;
70
+ /** Collapse to strip-only (no active tool). */
71
+ close: () => void;
72
+ }
73
+ declare const railVariants: (props?: ({
74
+ side?: "end" | "start" | null | undefined;
75
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
76
+ export interface ToolRailProps extends VariantProps<typeof railVariants> {
77
+ /** Stable instance id, surfaced on the root as `data-component-id`. */
78
+ id?: string;
79
+ /** The tools shown as icons on the strip. */
80
+ tools: ToolRailTool[];
81
+ /** Controlled active tool id (null = collapsed / strip-only). */
82
+ activeToolId?: string | null;
83
+ /** Uncontrolled initial active tool id (default null). */
84
+ defaultActiveToolId?: string | null;
85
+ /** Fires whenever the active tool changes (incl. → null on collapse). */
86
+ onActiveToolChange?: (id: string | null) => void;
87
+ /** Which edge the rail docks to. Default `'end'` (inline-end). */
88
+ side?: 'start' | 'end';
89
+ /** Accessible label for the toolbar strip. */
90
+ railLabel?: string;
91
+ /**
92
+ * Opt-in resize affordance for the open tool panel. Renders a
93
+ * `role="separator"` drag handle on the panel's inner edge (the edge
94
+ * facing the main content). The committed width is written to
95
+ * `--tool-rail-panel-inline-size` on the panel element (288–640px);
96
+ * Enter / double-click resets to the token-driven default. Default `false`.
97
+ */
98
+ resizablePanel?: boolean;
99
+ /**
100
+ * Fires when the user reorders the `reorderable` run (drag-drop or
101
+ * `Alt`+Arrow). `from` / `to` are indices into `tools`; the host applies the
102
+ * move to the array it passes back. Reordering is enabled when this callback
103
+ * is supplied AND at least one tool is `reorderable`. When the whole strip is
104
+ * reorderable, `to` may land in the other scope group — the host interprets
105
+ * the crossing (and may treat it as a no-op, e.g. reordering within a
106
+ * host-ordered group).
107
+ */
108
+ onReorder?: (from: number, to: number) => void;
109
+ /**
110
+ * Optional override for the polite live-region message announced after a
111
+ * reorder. Lets the host phrase membership-aware moves (e.g. "Pinned X to
112
+ * favourites") instead of the generic "moved to position N". Return an empty
113
+ * string to stay silent (e.g. for a move the host treats as a no-op). When
114
+ * omitted, the rail announces the generic run-relative position.
115
+ */
116
+ formatReorderAnnouncement?: (args: {
117
+ tool: ToolRailTool;
118
+ from: number;
119
+ to: number;
120
+ }) => string;
121
+ /**
122
+ * Optional per-icon overlay control, rendered as a sibling of each strip
123
+ * IconButton (the same positioned box the notification badge uses). Use for
124
+ * a small affordance such as a pin toggle — the rail attaches no meaning to
125
+ * what it renders. Receives the tool and its index / active state.
126
+ */
127
+ renderToolAffordance?: (tool: ToolRailTool, context: {
128
+ index: number;
129
+ isActive: boolean;
130
+ isRovingTarget: boolean;
131
+ }) => ReactNode;
132
+ /**
133
+ * Optional non-scrolling header rendered at the top of the OPEN tool panel,
134
+ * above its scroll region. Host-owned content (e.g. a pin / unpin control) —
135
+ * the rail attaches no meaning. Receives the active tool.
136
+ */
137
+ renderPanelHeader?: (tool: ToolRailTool, context: {
138
+ isActive: boolean;
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>;
156
+ className?: string;
157
+ }
158
+ export declare const ToolRail: import("react").ForwardRefExoticComponent<ToolRailProps & import("react").RefAttributes<ToolRailHandle>>;
159
+ export {};
160
+ //# sourceMappingURL=tool-rail.d.ts.map
@@ -1,5 +1,5 @@
1
1
  export * from './tooth-scheme';
2
- export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, toothImageUrl, conditionSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, emptyChart, labelFor, layoutTeeth, } from './tooth-data';
3
- export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, SideSymbolSpec, ToothMeta, PositionedTooth, } from './tooth-data';
2
+ export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, toothImageUrl, conditionSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, emptyChart, labelFor, layoutTeeth, layoutSpecials, specialsForRow, specialIconUrl, generalElement, isSpecialElement, SPECIAL_ELEMENTS, SPECIAL_BY_ID, } from './tooth-data';
3
+ export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, Radiograph, RadiographKind, SideSymbolSpec, SpecialElement, SpecialElementKind, PositionedSpecial, ToothMeta, PositionedTooth, } from './tooth-data';
4
4
  export { toothSchemeAgent } from './tooth-scheme.agent';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,27 +1,34 @@
1
- import { C as o, a as t, b as e, c as T, F as O, d as _, e as E, P as I, f as S, S as r, T as N, g as h, h as m, i as n, l as A, j as l, s as C, t as D, k as F, r as c, z as R, m as i, n as L } from "../../_chunks/tooth-scheme-yBr53cvv.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
- t as CONDITION_PLAN_FOLDER,
5
- e as CONDITION_SIDE_SYMBOL,
6
- T as CONDITION_TOKENS,
7
- O as FDI_TO_META,
8
- _ as FDI_TO_PALMER,
9
- E as FDI_TO_UNIVERSAL,
10
- I as PERMANENT_TEETH,
11
- S as PRIMARY_TEETH,
12
- r as SURFACE_ASSET_NAME,
13
- N as ToothScheme,
14
- h as chartFromConditions,
15
- m as conditionSymbolUrl,
16
- n as emptyChart,
17
- A as labelFor,
18
- l as layoutTeeth,
19
- C as surfaceSymbolUrl,
20
- D as toothImageUrl,
21
- F as toothSchemeAgent,
22
- c as toothSchemeVariants,
23
- R as zonePath,
24
- i as zoneSurface,
25
- L as zonesForTooth
4
+ e as CONDITION_PLAN_FOLDER,
5
+ t as CONDITION_SIDE_SYMBOL,
6
+ E as CONDITION_TOKENS,
7
+ S as FDI_TO_META,
8
+ T as FDI_TO_PALMER,
9
+ I as FDI_TO_UNIVERSAL,
10
+ _ as PERMANENT_TEETH,
11
+ l as PRIMARY_TEETH,
12
+ r as SPECIAL_BY_ID,
13
+ O as SPECIAL_ELEMENTS,
14
+ N as SURFACE_ASSET_NAME,
15
+ n as ToothScheme,
16
+ c as chartFromConditions,
17
+ h as conditionSymbolUrl,
18
+ m as emptyChart,
19
+ A as generalElement,
20
+ i as isSpecialElement,
21
+ C as labelFor,
22
+ D as layoutSpecials,
23
+ F as layoutTeeth,
24
+ L as specialIconUrl,
25
+ R as specialsForRow,
26
+ P as surfaceSymbolUrl,
27
+ p as toothImageUrl,
28
+ M as toothSchemeAgent,
29
+ U as toothSchemeVariants,
30
+ u as zonePath,
31
+ y as zoneSurface,
32
+ b as zonesForTooth
26
33
  };
27
34
  //# sourceMappingURL=index.js.map