@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
@@ -0,0 +1,147 @@
1
+ import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as v, useState as O, useRef as w, useEffect as x, useMemo as y, Fragment as R } from "react";
3
+ import { B as S } from "./button-DD_0Xdmr.js";
4
+ import { D as r } from "./dropdown-menu-qrxjymfw.js";
5
+ import { u as C } from "./registry-DvAUVLHh.js";
6
+ const K = {
7
+ id: "token-insert-menu",
8
+ capabilities: ["open", "close"],
9
+ state: {
10
+ isOpen: {
11
+ type: "boolean",
12
+ descriptionKey: "ui.agent.tokenInsertMenu.state.isOpen",
13
+ description: "True when the token menu is currently open.",
14
+ read: (n) => n.isOpen()
15
+ }
16
+ },
17
+ actions: {
18
+ open: {
19
+ safety: "read",
20
+ idempotent: !0,
21
+ descriptionKey: "ui.agent.tokenInsertMenu.actions.open",
22
+ description: "Open the token menu.",
23
+ invoke: (n) => {
24
+ n.open();
25
+ }
26
+ },
27
+ close: {
28
+ safety: "read",
29
+ idempotent: !0,
30
+ descriptionKey: "ui.agent.tokenInsertMenu.actions.close",
31
+ description: "Close the token menu.",
32
+ invoke: (n) => {
33
+ n.close();
34
+ }
35
+ },
36
+ insert: {
37
+ safety: "write",
38
+ argsType: "{ token: string }",
39
+ argsSchema: {
40
+ type: "object",
41
+ properties: { token: { type: "string" } },
42
+ required: ["token"]
43
+ },
44
+ descriptionKey: "ui.agent.tokenInsertMenu.actions.insert",
45
+ description: "Emit a merge-token to the consumer for cursor insertion.",
46
+ examples: [
47
+ {
48
+ args: { token: "{{patient.name}}" },
49
+ note: "Emit the patient-name placeholder for cursor insertion."
50
+ }
51
+ ],
52
+ invoke: (n, s) => {
53
+ n.insert(s.token);
54
+ }
55
+ }
56
+ },
57
+ domHooks: {
58
+ root: {
59
+ attr: "data-component",
60
+ value: "token-insert-menu",
61
+ description: "Marks the TokenInsertMenu wrapper."
62
+ },
63
+ instanceId: {
64
+ attr: "data-component-id",
65
+ sourceProp: "id",
66
+ description: "Sourced from the id prop."
67
+ }
68
+ }
69
+ }, j = v(function({ tokens: s, onInsert: p, triggerLabel: M, disabled: m, id: l, className: I }, T) {
70
+ const [a, c] = O(!1), f = w(a);
71
+ x(() => {
72
+ f.current = a;
73
+ }, [a]);
74
+ const h = y(() => {
75
+ if (!s.some((t) => t.group)) return null;
76
+ const e = [], i = /* @__PURE__ */ new Map();
77
+ for (const t of s) {
78
+ const u = t.group ?? "", k = i.get(u);
79
+ k ? k.push(t) : (i.set(u, [t]), e.push(u));
80
+ }
81
+ return e.map((t) => ({
82
+ heading: t,
83
+ items: i.get(t) ?? []
84
+ }));
85
+ }, [s]), b = y(
86
+ () => ({
87
+ isOpen: () => f.current,
88
+ open: () => c(!0),
89
+ close: () => c(!1),
90
+ insert: (e) => p(e)
91
+ }),
92
+ [p]
93
+ );
94
+ C(K, b, l);
95
+ const g = (e) => /* @__PURE__ */ o(
96
+ r.Item,
97
+ {
98
+ description: /* @__PURE__ */ o("span", { className: "ds:font-mono ds:text-muted-foreground", children: e.value }),
99
+ onSelect: () => p(e.value),
100
+ children: e.label
101
+ },
102
+ e.value
103
+ );
104
+ return /* @__PURE__ */ d(
105
+ r.Root,
106
+ {
107
+ open: a,
108
+ onOpenChange: (e) => {
109
+ m || c(e);
110
+ },
111
+ children: [
112
+ /* @__PURE__ */ o(
113
+ "span",
114
+ {
115
+ className: "ds:inline-flex",
116
+ "data-component": "token-insert-menu",
117
+ "data-component-id": l,
118
+ children: /* @__PURE__ */ o(r.Trigger, { asChild: !0, children: /* @__PURE__ */ o(
119
+ S,
120
+ {
121
+ ref: T,
122
+ type: "button",
123
+ intent: "outline",
124
+ disabled: m,
125
+ className: I,
126
+ children: M
127
+ }
128
+ ) })
129
+ }
130
+ ),
131
+ /* @__PURE__ */ o(r.Content, { align: "start", children: h ? h.map((e, i) => /* @__PURE__ */ d(R, { children: [
132
+ i > 0 ? /* @__PURE__ */ o(r.Separator, {}) : null,
133
+ /* @__PURE__ */ d(r.Group, { children: [
134
+ e.heading ? /* @__PURE__ */ o(r.Label, { children: e.heading }) : null,
135
+ e.items.map(g)
136
+ ] })
137
+ ] }, e.heading || `section-${i}`)) : s.map(g) })
138
+ ]
139
+ }
140
+ );
141
+ });
142
+ j.displayName = "TokenInsertMenu";
143
+ export {
144
+ j as T,
145
+ K as t
146
+ };
147
+ //# sourceMappingURL=token-insert-menu-CFQqTe_n.js.map
@@ -0,0 +1,524 @@
1
+ import { jsxs as D, jsx as f } from "react/jsx-runtime";
2
+ import { forwardRef as Re, useRef as m, useState as E, useMemo as R, useId as ke, useCallback as F, useEffect as Te, useImperativeHandle as ze, Fragment as _e } from "react";
3
+ import { c as w } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as Ae } from "react-i18next";
5
+ import { I as Se } from "./icon-button-LqoiKcUN.js";
6
+ import { S as De } from "./scroll-area-BZOvUhwQ.js";
7
+ import { a as Ee } from "./tooltip-DvmfrNvB.js";
8
+ import { u as Ne } from "./use-controllable-state-BiY4xTzM.js";
9
+ import { u as Ce } from "./use-edge-resize-ZnGG7gyO.js";
10
+ import { u as te } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
11
+ import { u as Ve } from "./registry-DvAUVLHh.js";
12
+ const Le = {
13
+ id: "tool-rail",
14
+ capabilities: ["open", "close", "select_single"],
15
+ state: {
16
+ activeToolId: {
17
+ type: "string | null",
18
+ descriptionKey: "ui.toolRail.agent.state.activeToolId",
19
+ description: "Id of the tool whose panel is currently open, or null when the rail is collapsed to its strip. No panel content is ever exposed.",
20
+ read: (o) => o.getActiveToolId()
21
+ }
22
+ },
23
+ actions: {
24
+ open: {
25
+ // Pure ephemeral panel state (open) — no data loss, no external effect.
26
+ safety: "read",
27
+ argsType: "{ id: string }",
28
+ argsSchema: {
29
+ type: "object",
30
+ properties: { id: { type: "string" } },
31
+ required: ["id"]
32
+ },
33
+ idempotent: !0,
34
+ // descriptionKey shape is intentionally pre-existing — already resolves to
35
+ // real multi-locale translations; do not canonicalise.
36
+ descriptionKey: "ui.toolRail.agent.actions.open",
37
+ description: "Open the given tool's panel.",
38
+ examples: [{ args: { id: "inbox" }, note: "Open the inbox tool panel." }],
39
+ invoke: (o, a) => {
40
+ o.open(a.id);
41
+ }
42
+ },
43
+ close: {
44
+ safety: "read",
45
+ idempotent: !0,
46
+ descriptionKey: "ui.toolRail.agent.actions.close",
47
+ description: "Collapse the rail to its strip (no active tool).",
48
+ invoke: (o) => {
49
+ o.close();
50
+ }
51
+ },
52
+ select_tool: {
53
+ safety: "read",
54
+ argsType: "{ id: string | null }",
55
+ argsSchema: {
56
+ type: "object",
57
+ properties: { id: { type: ["string", "null"] } },
58
+ required: ["id"]
59
+ },
60
+ idempotent: !0,
61
+ descriptionKey: "ui.toolRail.agent.actions.selectTool",
62
+ description: "Set the active tool by id (opens its panel), or pass null to collapse.",
63
+ invoke: (o, a) => {
64
+ o.setActiveTool(a.id);
65
+ }
66
+ }
67
+ },
68
+ domHooks: {
69
+ root: {
70
+ attr: "data-component",
71
+ value: "tool-rail",
72
+ description: "Marks the ToolRail wrapper."
73
+ },
74
+ instanceId: {
75
+ attr: "data-component-id",
76
+ sourceProp: "id",
77
+ description: "Sourced from the id prop. Required to address a specific rail from the agent."
78
+ },
79
+ item: {
80
+ attr: "data-tool-id",
81
+ description: "Stable tool id emitted on each strip IconButton. The active icon also carries data-active set to its id."
82
+ }
83
+ }
84
+ }, Ke = "ds:[inline-size:3rem]", je = "ds:[inline-size:var(--tool-rail-panel-inline-size,var(--ai-tools-rail-panel-inline-size,22rem))]", ae = "--tool-rail-panel-inline-size", Pe = 288, Me = 640, qe = 352, Be = w(
85
+ ["ds:flex ds:shrink-0 ds:h-full", "ds:bg-[var(--background)]"].join(" "),
86
+ {
87
+ variants: {
88
+ side: {
89
+ // Strip docks inline-end; the panel mounts inline-start of it
90
+ // (flex-row, panel rendered first). Shadow faces the main area —
91
+ // no border against main (the rail stays line-free; the only seam
92
+ // is the strip↔panel divider on the open panel, see render).
93
+ // Accessible (AAA) theme swaps the soft chrome shadow for a solid 1px
94
+ // border on the content-facing edge (border-s for end-docked).
95
+ end: "ds:flex-row ds:shadow-[var(--shadow-chrome-start)] ds:[.theme-accessible_&]:border-s ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none",
96
+ // Strip docks inline-start; the panel mounts inline-end of it.
97
+ start: "ds:flex-row-reverse ds:shadow-[var(--shadow-chrome-end)] ds:[.theme-accessible_&]:border-e ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none"
98
+ }
99
+ },
100
+ defaultVariants: { side: "end" }
101
+ }
102
+ ), Fe = w(
103
+ [
104
+ "ds:flex ds:shrink-0 ds:flex-col ds:items-center",
105
+ "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
106
+ "ds:gap-[var(--spacing-xs)]",
107
+ Ke
108
+ ].join(" ")
109
+ ), Ue = w(
110
+ [
111
+ "ds:relative ds:flex ds:min-h-0 ds:flex-col ds:h-full",
112
+ "ds:bg-[var(--background)]",
113
+ je,
114
+ // Defensive: the panel doesn't animate its width today, but if a
115
+ // consumer adds a transition on the var, suppress it mid-drag.
116
+ "ds:data-[resizing]:transition-none"
117
+ ].join(" ")
118
+ ), He = w(
119
+ [
120
+ "ds:absolute ds:[inset-block:0] ds:z-[1] ds:select-none ds:touch-none",
121
+ "ds:[inline-size:var(--resizable-handle-size)] ds:cursor-col-resize",
122
+ "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
123
+ "ds:hover:bg-[var(--accent)] ds:focus-visible:bg-[var(--accent)] ds:data-[resizing]:bg-[var(--accent)]",
124
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
125
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
126
+ "ds:forced-colors:focus-visible:outline-[CanvasText]",
127
+ "ds:before:absolute ds:before:content-['']",
128
+ "ds:before:[block-size:100%]",
129
+ "ds:before:[inline-size:var(--min-target-size)]",
130
+ "ds:before:[inset-block:0]",
131
+ "ds:before:[inset-inline:calc(0px_-_(var(--min-target-size)_-_var(--resizable-handle-size))_/_2)]"
132
+ ],
133
+ {
134
+ variants: {
135
+ edge: {
136
+ "inline-start": "ds:start-0",
137
+ "inline-end": "ds:end-0"
138
+ }
139
+ },
140
+ defaultVariants: { edge: "inline-start" }
141
+ }
142
+ ), $e = w(
143
+ [
144
+ "ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]",
145
+ "ds:inline-flex ds:items-center ds:justify-center",
146
+ "ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]",
147
+ "ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]",
148
+ "ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]",
149
+ "ds:rounded-[var(--radius-full)]",
150
+ "ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]",
151
+ "ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none",
152
+ "ds:pointer-events-none ds:select-none",
153
+ "ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]"
154
+ ].join(" ")
155
+ ), Oe = w(
156
+ // `group/rail-tool` lets an affordance overlay (e.g. a pin star) reveal on
157
+ // hover / focus-within of the whole slot.
158
+ ["ds:group/rail-tool ds:relative", "ds:rounded-[var(--radius-sm)]"],
159
+ {
160
+ variants: {
161
+ dragging: { true: "ds:opacity-60", false: "" },
162
+ dropTarget: {
163
+ true: "ds:outline-[length:var(--focus-ring-width)] ds:outline-dashed ds:outline-[var(--accent)] ds:outline-offset-[length:var(--focus-ring-offset)]",
164
+ false: ""
165
+ },
166
+ reorderable: {
167
+ true: "ds:cursor-grab ds:active:cursor-grabbing",
168
+ false: ""
169
+ }
170
+ },
171
+ defaultVariants: {
172
+ dragging: !1,
173
+ dropTarget: !1,
174
+ reorderable: !1
175
+ }
176
+ }
177
+ );
178
+ function We(o, a) {
179
+ return o > 99 ? a : String(o);
180
+ }
181
+ const Ze = Re(
182
+ ({
183
+ id: o,
184
+ tools: a,
185
+ activeToolId: re,
186
+ defaultActiveToolId: ne = null,
187
+ onActiveToolChange: ie,
188
+ side: k = "end",
189
+ railLabel: oe,
190
+ resizablePanel: T = !1,
191
+ onReorder: z,
192
+ formatReorderAnnouncement: N,
193
+ renderToolAffordance: C,
194
+ renderPanelHeader: U,
195
+ dataComponent: le = "tool-rail",
196
+ agentAdapter: de = Le,
197
+ className: ce
198
+ }, ue) => {
199
+ var Q;
200
+ const { t: p } = Ae(), [fe, v] = Ne({
201
+ value: re,
202
+ defaultValue: ne,
203
+ onChange: ie
204
+ }), g = fe ?? null, V = m([]), _ = m(null), [L, K] = E(0), h = m(!1), j = m(!1), b = R(
205
+ () => a.findIndex((e) => e.id === g),
206
+ [a, g]
207
+ ), l = b >= 0 ? a[b] : null, pe = R(
208
+ () => a.findIndex((e) => !e.disabled),
209
+ [a]
210
+ ), H = R(() => {
211
+ var s;
212
+ const e = (s = a[0]) == null ? void 0 : s.scope;
213
+ return e ? a.findIndex((t) => t.scope && t.scope !== e) : -1;
214
+ }, [a]), ve = H > 0, d = R(() => {
215
+ var t;
216
+ const e = a.findIndex((i) => i.reorderable);
217
+ if (e < 0) return null;
218
+ let s = e;
219
+ for (; s + 1 < a.length && ((t = a[s + 1]) != null && t.reorderable); ) s += 1;
220
+ return { first: e, last: s };
221
+ }, [a]), $ = !!z && d !== null, ge = ke(), [I, P] = E(null), [O, A] = E(null), [be, me] = E(""), M = m(!1), W = F(
222
+ (e, s) => {
223
+ if (!z || !d) return;
224
+ const t = Math.max(
225
+ d.first,
226
+ Math.min(d.last, s)
227
+ );
228
+ if (t === e) return;
229
+ z(e, t);
230
+ const i = a[e];
231
+ if (i) {
232
+ const n = N ? N({ tool: i, from: e, to: t }) : p("toolRail.reorderAnnounce", {
233
+ tool: i.label,
234
+ to: t - d.first + 1,
235
+ total: d.last - d.first + 1,
236
+ defaultValue: "{{tool}} moved to position {{to}} of {{total}}"
237
+ });
238
+ n && (M.current = !M.current, me(M.current ? n : `${n}​`));
239
+ }
240
+ },
241
+ [z, d, a, p, N]
242
+ ), x = b >= 0 ? b : L >= 0 && !((Q = a[L]) != null && Q.disabled) ? L : pe, he = F(
243
+ (e, s) => {
244
+ const t = a.find((i) => i.id === e);
245
+ !t || t.disabled || (h.current = s, v(g === e ? null : e));
246
+ },
247
+ [a, g, v]
248
+ ), ye = F(
249
+ (e) => {
250
+ var y, r, u;
251
+ const s = a.length;
252
+ if (s === 0 || e.altKey) return;
253
+ let t = null;
254
+ if (e.key === "ArrowDown" ? t = (x + 1) % s : e.key === "ArrowUp" ? t = (x - 1 + s) % s : e.key === "Home" ? t = 0 : e.key === "End" && (t = s - 1), t === null) return;
255
+ const i = e.key === "ArrowUp" || e.key === "End";
256
+ let n = t, c = 0;
257
+ for (; c < s && ((y = a[n]) != null && y.disabled); )
258
+ n = i ? (n - 1 + s) % s : (n + 1) % s, c += 1;
259
+ (r = a[n]) != null && r.disabled || (e.preventDefault(), K(n), (u = V.current[n]) == null || u.focus());
260
+ },
261
+ [a, x]
262
+ ), S = m(null);
263
+ Te(() => {
264
+ const e = S.current;
265
+ if (!e) return;
266
+ const s = (t) => {
267
+ if (t.key !== "Escape" || b < 0) return;
268
+ t.preventDefault();
269
+ const i = b;
270
+ v(null), K(i), requestAnimationFrame(() => {
271
+ var n;
272
+ (n = V.current[i]) == null || n.focus();
273
+ });
274
+ };
275
+ return e.addEventListener("keydown", s), () => e.removeEventListener("keydown", s);
276
+ }, [b, v]), te(() => {
277
+ var e;
278
+ l && h.current && ((e = _.current) == null || e.focus()), h.current = !1;
279
+ }, [l]);
280
+ const Z = k === "end" ? "inline-start" : "inline-end", { separatorProps: X, isResizing: Y, isResized: G } = Ce({
281
+ edge: Z,
282
+ targetRef: _,
283
+ cssProperty: ae,
284
+ minSize: Pe,
285
+ maxSize: Me,
286
+ defaultSize: qe,
287
+ disabled: !T
288
+ }), J = X["aria-valuenow"];
289
+ te(() => {
290
+ var e;
291
+ !T || !G || !l || (e = _.current) == null || e.style.setProperty(
292
+ ae,
293
+ `${J}px`
294
+ );
295
+ }, [l, T, G, J]);
296
+ const q = m(g);
297
+ q.current = g;
298
+ const B = R(
299
+ () => ({
300
+ getActiveToolId: () => q.current,
301
+ setActiveTool: (e) => {
302
+ h.current = !1, v(e);
303
+ },
304
+ open: (e) => {
305
+ const s = a.find((t) => t.id === e);
306
+ !s || s.disabled || (h.current = !1, v(e));
307
+ },
308
+ close: () => {
309
+ const e = q.current;
310
+ h.current = !1, v(null), e != null && requestAnimationFrame(() => {
311
+ var s, t;
312
+ (t = (s = S.current) == null ? void 0 : s.querySelector(
313
+ `[data-tool-id="${CSS.escape(e)}"]`
314
+ )) == null || t.focus();
315
+ });
316
+ }
317
+ }),
318
+ [a, v]
319
+ );
320
+ ze(ue, () => B, [B]), Ve(de, B, o);
321
+ const we = p("toolRail.badgeCountOverflow", {
322
+ defaultValue: "99+"
323
+ });
324
+ return /* @__PURE__ */ D(
325
+ "div",
326
+ {
327
+ ref: S,
328
+ "data-component": le,
329
+ "data-component-id": o,
330
+ "data-side": k,
331
+ className: [Be({ side: k }), ce].filter(Boolean).join(" "),
332
+ children: [
333
+ $ ? /* @__PURE__ */ f("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: be }) : null,
334
+ l ? /* @__PURE__ */ D(
335
+ "aside",
336
+ {
337
+ ref: _,
338
+ tabIndex: -1,
339
+ "aria-label": p("toolRail.panelLabel", {
340
+ tool: l.label,
341
+ defaultValue: "{{tool}} panel"
342
+ }),
343
+ "data-tool-rail-state": "expanded",
344
+ "data-active-tool": l.id,
345
+ "data-resizing": Y ? "" : void 0,
346
+ className: [
347
+ Ue(),
348
+ // Subtle shadow — not a line — separating the panel from the
349
+ // icon strip (the tab row). The panel casts a soft chrome
350
+ // shadow toward the strip on its strip-facing edge. `z-[1]`
351
+ // lifts it above the adjacent strip (the panel is already
352
+ // `relative`) so the shadow paints at the seam instead of being
353
+ // covered by the strip's opaque background. Only renders while
354
+ // the panel is open (the aside is unmounted when collapsed), so
355
+ // it never doubles as a rail↔main seam. In the accessible (AAA)
356
+ // theme the soft shadow becomes a solid 1px border on that same
357
+ // strip-facing edge.
358
+ "ds:z-[1]",
359
+ k === "end" ? "ds:shadow-[var(--shadow-chrome-end)] ds:[.theme-accessible_&]:border-e ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none" : "ds:shadow-[var(--shadow-chrome-start)] ds:[.theme-accessible_&]:border-s ds:[.theme-accessible_&]:border-[var(--border)] ds:[.theme-accessible_&]:shadow-none",
360
+ "ds:focus-visible:outline-none"
361
+ ].join(" "),
362
+ children: [
363
+ U ? U(l, { isActive: !0 }) : null,
364
+ l.header ? /* @__PURE__ */ f("div", { className: "ds:shrink-0", children: l.header }) : null,
365
+ l.fill ? (
366
+ // data-tool-fill: a self-scrolling panel owns its own native
367
+ // scroll (it can't use the rail's ScrollArea), so a token rule
368
+ // paints its scrollbar to match the 8px overlay. See tokens/index.css.
369
+ /* @__PURE__ */ f("div", { "data-tool-fill": "", className: "ds:flex-1 ds:min-h-0", children: l.panel })
370
+ ) : /* @__PURE__ */ f(
371
+ De,
372
+ {
373
+ orientation: "vertical",
374
+ className: "ds:flex-1 ds:min-h-0",
375
+ children: l.panel
376
+ }
377
+ ),
378
+ T ? /* @__PURE__ */ f(
379
+ "div",
380
+ {
381
+ ...X,
382
+ "aria-label": p("toolRail.resizePanel", {
383
+ defaultValue: "Resize tool panel"
384
+ }),
385
+ "data-resizing": Y ? "" : void 0,
386
+ className: He({ edge: Z })
387
+ }
388
+ ) : null
389
+ ]
390
+ }
391
+ ) : null,
392
+ /* @__PURE__ */ f(Ee, { children: /* @__PURE__ */ f(
393
+ "div",
394
+ {
395
+ role: "toolbar",
396
+ "aria-orientation": "vertical",
397
+ "aria-label": oe ?? p("toolRail.railLabel", { defaultValue: "Tools" }),
398
+ className: Fe(),
399
+ onKeyDown: ye,
400
+ children: a.map((e, s) => {
401
+ const t = e.id === g, i = typeof e.badgeCount == "number" && e.badgeCount > 0, n = i ? p("toolRail.toolWithCount", {
402
+ tool: e.label,
403
+ count: e.badgeCount,
404
+ defaultValue: "{{tool}}, {{count}} updates"
405
+ }) : e.label, c = $ && !!e.reorderable && !e.disabled, y = c ? `${ge}-${e.id}` : void 0;
406
+ return /* @__PURE__ */ D(_e, { children: [
407
+ ve && s === H ? /* @__PURE__ */ f(
408
+ "div",
409
+ {
410
+ role: "separator",
411
+ "aria-orientation": "horizontal",
412
+ className: "ds:my-[var(--spacing-2xs)] ds:h-px ds:w-[var(--spacing-lg)] ds:shrink-0 ds:bg-[var(--border)] ds:forced-colors:bg-[CanvasText]"
413
+ }
414
+ ) : null,
415
+ /* @__PURE__ */ D(
416
+ "div",
417
+ {
418
+ className: Oe({
419
+ dragging: I === s,
420
+ dropTarget: O === s && I !== s,
421
+ reorderable: c
422
+ }),
423
+ "data-dragging": I === s ? "" : void 0,
424
+ draggable: c || void 0,
425
+ onDragStart: c ? (r) => {
426
+ P(s), r.dataTransfer.effectAllowed = "move", r.dataTransfer.setData(
427
+ "text/plain",
428
+ String(s)
429
+ );
430
+ } : void 0,
431
+ onDragOver: c ? (r) => {
432
+ I !== null && (r.preventDefault(), r.dataTransfer.dropEffect = "move", O !== s && A(s));
433
+ } : void 0,
434
+ onDragLeave: c ? () => A((r) => r === s ? null : r) : void 0,
435
+ onDrop: c ? (r) => {
436
+ r.preventDefault();
437
+ const u = I;
438
+ A(null), P(null), !(u === null || u === s) && W(u, s);
439
+ } : void 0,
440
+ onDragEnd: c ? () => {
441
+ P(null), A(null);
442
+ } : void 0,
443
+ children: [
444
+ /* @__PURE__ */ f(
445
+ Se,
446
+ {
447
+ ref: (r) => {
448
+ V.current[s] = r;
449
+ },
450
+ icon: e.icon,
451
+ tooltip: e.label,
452
+ "aria-label": n,
453
+ intent: "ghost",
454
+ size: "sm",
455
+ disabled: e.disabled,
456
+ "aria-pressed": t,
457
+ "aria-expanded": t,
458
+ "data-active": t ? e.id : void 0,
459
+ "data-tool-id": e.id,
460
+ "aria-describedby": y,
461
+ "aria-keyshortcuts": c ? "Alt+ArrowUp Alt+ArrowDown" : void 0,
462
+ tabIndex: s === x ? 0 : -1,
463
+ onFocus: () => {
464
+ e.disabled || K(s);
465
+ },
466
+ onClick: () => he(e.id, j.current),
467
+ onKeyDown: (r) => {
468
+ if (r.key === "Enter" || r.key === " ") {
469
+ j.current = !0;
470
+ return;
471
+ }
472
+ if (c && r.altKey && d) {
473
+ let u = null;
474
+ if (r.key === "ArrowUp" ? u = s - 1 : r.key === "ArrowDown" ? u = s + 1 : r.key === "Home" ? u = d.first : r.key === "End" && (u = d.last), u !== null) {
475
+ r.preventDefault();
476
+ const Ie = Math.max(
477
+ d.first,
478
+ Math.min(d.last, u)
479
+ ), xe = e.id;
480
+ W(s, Ie), requestAnimationFrame(() => {
481
+ var ee, se;
482
+ (se = (ee = S.current) == null ? void 0 : ee.querySelector(
483
+ `[data-tool-id="${CSS.escape(xe)}"]`
484
+ )) == null || se.focus();
485
+ });
486
+ }
487
+ }
488
+ },
489
+ onKeyUp: (r) => {
490
+ (r.key === "Enter" || r.key === " ") && (j.current = !1);
491
+ }
492
+ }
493
+ ),
494
+ i ? /* @__PURE__ */ f("span", { "aria-hidden": "true", className: $e(), children: We(
495
+ e.badgeCount,
496
+ we
497
+ ) }) : null,
498
+ C == null ? void 0 : C(e, {
499
+ index: s,
500
+ isActive: t,
501
+ isRovingTarget: s === x
502
+ }),
503
+ y ? /* @__PURE__ */ f("span", { id: y, className: "ds:sr-only", children: p("toolRail.reorderInstructions", {
504
+ tool: e.label,
505
+ defaultValue: "Reorder {{tool}}. Press Alt + Up or Alt + Down to move."
506
+ }) }) : null
507
+ ]
508
+ }
509
+ )
510
+ ] }, e.id);
511
+ })
512
+ }
513
+ ) })
514
+ ]
515
+ }
516
+ );
517
+ }
518
+ );
519
+ Ze.displayName = "ToolRail";
520
+ export {
521
+ Ze as T,
522
+ Le as t
523
+ };
524
+ //# sourceMappingURL=tool-rail-BZx0-yIr.js.map