@alfadocs/ui-kit-debug 0.70.0 → 0.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/address-fields-CPbFJ8e8.js.map +1 -0
  3. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  4. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js.map → ai-prompt-input-V4DdOeqv.js.map} +1 -1
  5. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  6. package/dist/_chunks/alia-sidebar-DvIUzIX9.js.map +1 -0
  7. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
  8. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js.map → anatomy-scheme-CXSk11UJ.js.map} +1 -1
  9. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  10. package/dist/_chunks/app-frame-DIEMIC5V.js.map +1 -0
  11. package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
  12. package/dist/_chunks/appointment-card-DVaeJNVB.js.map +1 -0
  13. package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
  14. package/dist/_chunks/appointment-timeline-PJgnrjFb.js.map +1 -0
  15. package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
  16. package/dist/_chunks/{appointment-tray-DRRw5ROi.js.map → appointment-tray-B16QPGbm.js.map} +1 -1
  17. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
  18. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js.map → audio-recorder-DNDsOLqO.js.map} +1 -1
  19. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  20. package/dist/_chunks/autocomplete-BrONKN8l.js.map +1 -0
  21. package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
  22. package/dist/_chunks/{bishop-score-DnYWtZa_.js.map → bishop-score-Cym_TeQY.js.map} +1 -1
  23. package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
  24. package/dist/_chunks/{booking-DUBI0oqt.js.map → booking-C7do4vaR.js.map} +1 -1
  25. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  26. package/dist/_chunks/{button-group-Ciq6J4IW.js.map → button-group-CvEnVzY7.js.map} +1 -1
  27. package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
  28. package/dist/_chunks/{care-plan-card-C5sTfY9G.js.map → care-plan-card-DzPDYgtK.js.map} +1 -1
  29. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
  30. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js.map → care-plan-entry-card-CEnQy7YP.js.map} +1 -1
  31. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  32. package/dist/_chunks/care-plan-header-DcXFXWit.js.map +1 -0
  33. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  34. package/dist/_chunks/chat-message-DzpcJR-q.js.map +1 -0
  35. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  36. package/dist/_chunks/city-input-Dkgaak7I.js.map +1 -0
  37. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  38. package/dist/_chunks/clipboard-list-S7s-MXQq.js.map +1 -0
  39. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  40. package/dist/_chunks/combobox-DnqSF0IH.js.map +1 -0
  41. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  42. package/dist/_chunks/connection-status-CY1HV8Wg.js.map +1 -0
  43. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  44. package/dist/_chunks/control-room-rail-FAQZrGVL.js.map +1 -0
  45. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  46. package/dist/_chunks/country-select-BwUZQvTa.js.map +1 -0
  47. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  48. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js.map +1 -0
  49. package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
  50. package/dist/_chunks/{entity-card-9_62gY7l.js.map → entity-card-DmrgYSEX.js.map} +1 -1
  51. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  52. package/dist/_chunks/entity-summary-CaM1Y-xE.js.map +1 -0
  53. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  54. package/dist/_chunks/field-array-siUZzfYe.js.map +1 -0
  55. package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
  56. package/dist/_chunks/field-value-3jMM0uDx.js.map +1 -0
  57. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
  58. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js.map → gestational-age-calculator-DKzEV5Qi.js.map} +1 -1
  59. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  60. package/dist/_chunks/iban-input-B0TWzR1R.js.map +1 -0
  61. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  62. package/dist/_chunks/icon-picker-0B7KhrF1.js.map +1 -0
  63. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  64. package/dist/_chunks/image-cropper-D9jqJy19.js.map +1 -0
  65. package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
  66. package/dist/_chunks/link-cell-renderer-De_SLjSq.js.map +1 -0
  67. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  68. package/dist/_chunks/list-checks-BUs75d_o.js.map +1 -0
  69. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
  70. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js.map → marketplace-app-shell-BGqkywsi.js.map} +1 -1
  71. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  72. package/dist/_chunks/message-card-DsHFFiL1.js.map +1 -0
  73. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  74. package/dist/_chunks/message-tray-C0a6CL1_.js.map +1 -0
  75. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  76. package/dist/_chunks/{multi-select-BdHHDrRN.js.map → multi-select-WE4S9FIF.js.map} +1 -1
  77. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  78. package/dist/_chunks/nav-grid-9xphY3FM.js.map +1 -0
  79. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  80. package/dist/_chunks/notes-panel-DXiMfuvp.js.map +1 -0
  81. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  82. package/dist/_chunks/notification-card-BMqNzCIt.js.map +1 -0
  83. package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
  84. package/dist/_chunks/notification-tray-BmUlCx3g.js.map +1 -0
  85. package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
  86. package/dist/_chunks/{operator-hero-CR0Rqh4-.js.map → operator-hero-BO8TqzX2.js.map} +1 -1
  87. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  88. package/dist/_chunks/panel-header-D313n_9-.js.map +1 -0
  89. package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
  90. package/dist/_chunks/patient-details-DgfTJimE.js.map +1 -0
  91. package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
  92. package/dist/_chunks/{patient-search-Be6cLrHR.js.map → patient-search-CSWQKOSP.js.map} +1 -1
  93. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  94. package/dist/_chunks/{patient-shell-DV3XEtIB.js.map → patient-shell-BMwsIKlW.js.map} +1 -1
  95. package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
  96. package/dist/_chunks/{patient-summary-card-WySCMwwA.js.map → patient-summary-card-D4NdgYJB.js.map} +1 -1
  97. package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
  98. package/dist/_chunks/{patient-table-CHxf3Oqk.js.map → patient-table-CERknpd8.js.map} +1 -1
  99. package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
  100. package/dist/_chunks/{payment-request-card-BcZJwu9z.js.map → payment-request-card-Blf-MFNY.js.map} +1 -1
  101. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  102. package/dist/_chunks/permission-matrix-Bw5oexUt.js.map +1 -0
  103. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  104. package/dist/_chunks/position-grid-CcvqHaKN.js.map +1 -0
  105. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  106. package/dist/_chunks/postal-code-input-UCOYuRY2.js.map +1 -0
  107. package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
  108. package/dist/_chunks/{practice-results-C6qDfxos.js.map → practice-results-El5Z-oVp.js.map} +1 -1
  109. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
  110. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js.map → pregnancy-dating-CunHrOpO.js.map} +1 -1
  111. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  112. package/dist/_chunks/product-hub-panel-DtU7KXxm.js.map +1 -0
  113. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  114. package/dist/_chunks/province-select-D_TZvix3.js.map +1 -0
  115. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  116. package/dist/_chunks/{public-header.agent-DqkqA-ca.js.map → public-header.agent-TxmC_x1I.js.map} +1 -1
  117. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  118. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js.map +1 -0
  119. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  120. package/dist/_chunks/reviews-panel-DxkSrgMl.js.map +1 -0
  121. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  122. package/dist/_chunks/rich-text-editor-C8tyGjfb.js.map +1 -0
  123. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  124. package/dist/_chunks/scroll-area-BZOvUhwQ.js.map +1 -0
  125. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  126. package/dist/_chunks/select-KsyRr8WH.js.map +1 -0
  127. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  128. package/dist/_chunks/sheet-umkfZjF6.js.map +1 -0
  129. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  130. package/dist/_chunks/sidebar-QCp9wHNP.js.map +1 -0
  131. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  132. package/dist/_chunks/{tabs-BxcOziCo.js.map → tabs-CYZVKKDl.js.map} +1 -1
  133. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  134. package/dist/_chunks/task-card-DCdsI0ZT.js.map +1 -0
  135. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  136. package/dist/_chunks/{task-tray-qOEQflu4.js.map → task-tray-DNVejijD.js.map} +1 -1
  137. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  138. package/dist/_chunks/tasks-panel-C9odmawT.js.map +1 -0
  139. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  140. package/dist/_chunks/token-insert-menu-CFQqTe_n.js.map +1 -0
  141. package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
  142. package/dist/_chunks/tool-rail-BZx0-yIr.js.map +1 -0
  143. package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
  144. package/dist/_chunks/tooth-scheme-DJZtzfeY.js.map +1 -0
  145. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  146. package/dist/_chunks/transcript-panel-CHGHHHdT.js.map +1 -0
  147. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  148. package/dist/_chunks/{unit-converter-YEpD9evj.js.map → unit-converter-CwlZbfdn.js.map} +1 -1
  149. package/dist/_chunks/use-edge-resize-ZnGG7gyO.js.map +1 -1
  150. package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
  151. package/dist/_chunks/workflow-map-M8MBBHQm.js.map +1 -0
  152. package/dist/agent-catalog.json +2062 -226
  153. package/dist/agent-i18n/en.json +206 -8
  154. package/dist/components/_shared/option.d.ts +2 -0
  155. package/dist/components/_shared/option.d.ts.map +1 -1
  156. package/dist/components/_shared/patient-fields.d.ts +1 -1
  157. package/dist/components/_shared/patient-fields.d.ts.map +1 -1
  158. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  159. package/dist/components/address-fields/address-fields.agent.d.ts.map +1 -0
  160. package/dist/components/address-fields/address-fields.d.ts +29 -0
  161. package/dist/components/address-fields/address-fields.d.ts.map +1 -0
  162. package/dist/components/address-fields/index.d.ts +5 -0
  163. package/dist/components/address-fields/index.d.ts.map +1 -0
  164. package/dist/components/address-fields/index.js +6 -0
  165. package/dist/components/ai-prompt-input/index.js +1 -1
  166. package/dist/components/anatomy-scheme/index.js +1 -1
  167. package/dist/components/app-frame/app-frame.d.ts +2 -2
  168. package/dist/components/app-frame/app-frame.d.ts.map +1 -1
  169. package/dist/components/app-frame/index.js +1 -1
  170. package/dist/components/appointment-card/appointment-card.d.ts.map +1 -1
  171. package/dist/components/appointment-card/index.js +2 -2
  172. package/dist/components/appointment-timeline/appointment-timeline.d.ts.map +1 -1
  173. package/dist/components/appointment-timeline/index.js +1 -1
  174. package/dist/components/audio-recorder/index.js +1 -1
  175. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  176. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  177. package/dist/components/autocomplete/index.js +1 -1
  178. package/dist/components/bishop-score/index.js +1 -1
  179. package/dist/components/booking/index.js +1 -1
  180. package/dist/components/button-group/button-group.d.ts.map +1 -1
  181. package/dist/components/button-group/index.js +1 -1
  182. package/dist/components/care-plan-card/index.js +1 -1
  183. package/dist/components/care-plan-entry-card/index.js +1 -1
  184. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  185. package/dist/components/care-plan-header/care-plan-header.d.ts.map +1 -1
  186. package/dist/components/care-plan-header/index.js +1 -1
  187. package/dist/components/chat-message/chat-message.d.ts.map +1 -1
  188. package/dist/components/chat-message/index.js +1 -1
  189. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  190. package/dist/components/city-input/city-input.agent.d.ts.map +1 -0
  191. package/dist/components/city-input/city-input.d.ts +57 -0
  192. package/dist/components/city-input/city-input.d.ts.map +1 -0
  193. package/dist/components/city-input/index.d.ts +5 -0
  194. package/dist/components/city-input/index.d.ts.map +1 -0
  195. package/dist/components/city-input/index.js +6 -0
  196. package/dist/components/city-input/index.js.map +1 -0
  197. package/dist/components/combobox/combobox.d.ts +17 -0
  198. package/dist/components/combobox/combobox.d.ts.map +1 -1
  199. package/dist/components/combobox/index.js +1 -1
  200. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  201. package/dist/components/connection-status/connection-status.agent.d.ts.map +1 -0
  202. package/dist/components/connection-status/connection-status.d.ts +36 -0
  203. package/dist/components/connection-status/connection-status.d.ts.map +1 -0
  204. package/dist/components/connection-status/index.d.ts +4 -0
  205. package/dist/components/connection-status/index.d.ts.map +1 -0
  206. package/dist/components/connection-status/index.js +6 -0
  207. package/dist/components/connection-status/index.js.map +1 -0
  208. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  209. package/dist/components/control-room-rail/control-room-context.d.ts.map +1 -1
  210. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  211. package/dist/components/control-room-rail/control-room-rail.agent.d.ts.map +1 -0
  212. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  213. package/dist/components/control-room-rail/control-room-rail.d.ts.map +1 -1
  214. package/dist/components/control-room-rail/index.d.ts +1 -0
  215. package/dist/components/control-room-rail/index.d.ts.map +1 -1
  216. package/dist/components/control-room-rail/index.js +4 -3
  217. package/dist/components/counter/counter.d.ts +1 -1
  218. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  219. package/dist/components/country-select/country-select.agent.d.ts.map +1 -0
  220. package/dist/components/country-select/country-select.d.ts +51 -0
  221. package/dist/components/country-select/country-select.d.ts.map +1 -0
  222. package/dist/components/country-select/index.d.ts +6 -0
  223. package/dist/components/country-select/index.d.ts.map +1 -0
  224. package/dist/components/country-select/index.js +9 -0
  225. package/dist/components/country-select/index.js.map +1 -0
  226. package/dist/components/country-select/iso-3166.d.ts +15 -0
  227. package/dist/components/country-select/iso-3166.d.ts.map +1 -0
  228. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  229. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts.map +1 -0
  230. package/dist/components/data-table/filters/select-filter.d.ts.map +1 -1
  231. package/dist/components/data-table/index.d.ts +2 -0
  232. package/dist/components/data-table/index.d.ts.map +1 -1
  233. package/dist/components/data-table/index.js +13 -11
  234. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  235. package/dist/components/entity-summary/entity-summary.agent.d.ts.map +1 -0
  236. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  237. package/dist/components/entity-summary/entity-summary.d.ts.map +1 -1
  238. package/dist/components/entity-summary/index.js +1 -1
  239. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  240. package/dist/components/field-array/field-array.agent.d.ts.map +1 -0
  241. package/dist/components/field-array/field-array.d.ts +45 -0
  242. package/dist/components/field-array/field-array.d.ts.map +1 -0
  243. package/dist/components/field-array/index.d.ts +4 -0
  244. package/dist/components/field-array/index.d.ts.map +1 -0
  245. package/dist/components/field-array/index.js +6 -0
  246. package/dist/components/field-array/index.js.map +1 -0
  247. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  248. package/dist/components/gestational-age-calculator/index.js +1 -1
  249. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  250. package/dist/components/iban-input/iban-input.agent.d.ts.map +1 -0
  251. package/dist/components/iban-input/iban-input.d.ts +51 -0
  252. package/dist/components/iban-input/iban-input.d.ts.map +1 -0
  253. package/dist/components/iban-input/index.d.ts +5 -0
  254. package/dist/components/iban-input/index.d.ts.map +1 -0
  255. package/dist/components/iban-input/index.js +13 -0
  256. package/dist/components/iban-input/index.js.map +1 -0
  257. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  258. package/dist/components/iban-input/is-valid-iban.d.ts.map +1 -0
  259. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  260. package/dist/components/icon-picker/icon-picker.agent.d.ts.map +1 -0
  261. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  262. package/dist/components/icon-picker/icon-picker.d.ts.map +1 -0
  263. package/dist/components/icon-picker/index.d.ts +4 -0
  264. package/dist/components/icon-picker/index.d.ts.map +1 -0
  265. package/dist/components/icon-picker/index.js +6 -0
  266. package/dist/components/icon-picker/index.js.map +1 -0
  267. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  268. package/dist/components/image-cropper/crop-geometry.d.ts.map +1 -0
  269. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  270. package/dist/components/image-cropper/image-cropper.agent.d.ts.map +1 -0
  271. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  272. package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
  273. package/dist/components/image-cropper/index.d.ts +5 -0
  274. package/dist/components/image-cropper/index.d.ts.map +1 -0
  275. package/dist/components/image-cropper/index.js +11 -0
  276. package/dist/components/image-cropper/index.js.map +1 -0
  277. package/dist/components/index.d.ts +16 -1
  278. package/dist/components/index.d.ts.map +1 -1
  279. package/dist/components/message-card/index.js +1 -1
  280. package/dist/components/message-card/message-card.d.ts +14 -0
  281. package/dist/components/message-card/message-card.d.ts.map +1 -1
  282. package/dist/components/message-tray/index.js +1 -1
  283. package/dist/components/message-tray/message-tray.agent.d.ts.map +1 -1
  284. package/dist/components/message-tray/message-tray.d.ts +4 -0
  285. package/dist/components/message-tray/message-tray.d.ts.map +1 -1
  286. package/dist/components/multi-select/index.js +1 -1
  287. package/dist/components/multi-select/multi-select.d.ts.map +1 -1
  288. package/dist/components/nav-grid/index.d.ts +4 -0
  289. package/dist/components/nav-grid/index.d.ts.map +1 -0
  290. package/dist/components/nav-grid/index.js +7 -0
  291. package/dist/components/nav-grid/index.js.map +1 -0
  292. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  293. package/dist/components/nav-grid/nav-grid.agent.d.ts.map +1 -0
  294. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  295. package/dist/components/nav-grid/nav-grid.d.ts.map +1 -0
  296. package/dist/components/notes-panel/index.js +1 -1
  297. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  298. package/dist/components/notes-panel/notes-panel.agent.d.ts.map +1 -0
  299. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  300. package/dist/components/notes-panel/notes-panel.d.ts.map +1 -1
  301. package/dist/components/notification-card/index.js +1 -1
  302. package/dist/components/notification-card/notification-card.d.ts +15 -0
  303. package/dist/components/notification-card/notification-card.d.ts.map +1 -1
  304. package/dist/components/notification-tray/index.js +1 -1
  305. package/dist/components/notification-tray/notification-tray.agent.d.ts.map +1 -1
  306. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  307. package/dist/components/notification-tray/notification-tray.d.ts.map +1 -1
  308. package/dist/components/operator-hero/index.js +1 -1
  309. package/dist/components/panel-header/index.d.ts +3 -0
  310. package/dist/components/panel-header/index.d.ts.map +1 -0
  311. package/dist/components/panel-header/index.js +7 -0
  312. package/dist/components/panel-header/index.js.map +1 -0
  313. package/dist/components/panel-header/panel-header.d.ts +41 -0
  314. package/dist/components/panel-header/panel-header.d.ts.map +1 -0
  315. package/dist/components/patient-details/index.js +1 -1
  316. package/dist/components/patient-details/patient-details.d.ts.map +1 -1
  317. package/dist/components/patient-search/index.js +1 -1
  318. package/dist/components/patient-summary-card/index.js +1 -1
  319. package/dist/components/patient-summary-card/patient-summary-card.d.ts.map +1 -1
  320. package/dist/components/patient-table/index.js +1 -1
  321. package/dist/components/payment-card/index.js +1 -1
  322. package/dist/components/permission-matrix/index.d.ts +4 -0
  323. package/dist/components/permission-matrix/index.d.ts.map +1 -0
  324. package/dist/components/permission-matrix/index.js +7 -0
  325. package/dist/components/permission-matrix/index.js.map +1 -0
  326. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  327. package/dist/components/permission-matrix/permission-matrix.agent.d.ts.map +1 -0
  328. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  329. package/dist/components/permission-matrix/permission-matrix.d.ts.map +1 -0
  330. package/dist/components/position-grid/index.d.ts +4 -0
  331. package/dist/components/position-grid/index.d.ts.map +1 -0
  332. package/dist/components/position-grid/index.js +7 -0
  333. package/dist/components/position-grid/index.js.map +1 -0
  334. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  335. package/dist/components/position-grid/position-grid.agent.d.ts.map +1 -0
  336. package/dist/components/position-grid/position-grid.d.ts +39 -0
  337. package/dist/components/position-grid/position-grid.d.ts.map +1 -0
  338. package/dist/components/postal-code-input/index.d.ts +5 -0
  339. package/dist/components/postal-code-input/index.d.ts.map +1 -0
  340. package/dist/components/postal-code-input/index.js +6 -0
  341. package/dist/components/postal-code-input/index.js.map +1 -0
  342. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  343. package/dist/components/postal-code-input/postal-code-input.agent.d.ts.map +1 -0
  344. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  345. package/dist/components/postal-code-input/postal-code-input.d.ts.map +1 -0
  346. package/dist/components/practice-results/index.js +1 -1
  347. package/dist/components/pregnancy-dating/index.js +1 -1
  348. package/dist/components/product-hub-tray/index.js +1 -1
  349. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  350. package/dist/components/product-hub-tray/product-hub-tray.d.ts.map +1 -1
  351. package/dist/components/province-select/index.d.ts +6 -0
  352. package/dist/components/province-select/index.d.ts.map +1 -0
  353. package/dist/components/province-select/index.js +7 -0
  354. package/dist/components/province-select/index.js.map +1 -0
  355. package/dist/components/province-select/it-provinces.d.ts +8 -0
  356. package/dist/components/province-select/it-provinces.d.ts.map +1 -0
  357. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  358. package/dist/components/province-select/province-select.agent.d.ts.map +1 -0
  359. package/dist/components/province-select/province-select.d.ts +38 -0
  360. package/dist/components/province-select/province-select.d.ts.map +1 -0
  361. package/dist/components/public-footer/public-footer.d.ts +1 -1
  362. package/dist/components/public-header/index.js +1 -1
  363. package/dist/components/radiograph-panel/index.js +1 -1
  364. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  365. package/dist/components/reviews-panel/index.js +1 -1
  366. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  367. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  368. package/dist/components/rich-text-editor/editor-toolbar.d.ts.map +1 -1
  369. package/dist/components/rich-text-editor/index.js +1 -1
  370. package/dist/components/rich-text-editor/rich-text-editor.agent.d.ts.map +1 -1
  371. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  372. package/dist/components/scroll-area/index.js +1 -1
  373. package/dist/components/select/index.js +1 -1
  374. package/dist/components/select/select.d.ts +8 -2
  375. package/dist/components/select/select.d.ts.map +1 -1
  376. package/dist/components/sheet/index.js +1 -1
  377. package/dist/components/sheet/sheet.d.ts.map +1 -1
  378. package/dist/components/sidebar/index.js +1 -1
  379. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  380. package/dist/components/skeleton/skeleton.d.ts +1 -1
  381. package/dist/components/tabs/index.js +1 -1
  382. package/dist/components/task-card/index.js +1 -1
  383. package/dist/components/task-card/task-card.d.ts +14 -6
  384. package/dist/components/task-card/task-card.d.ts.map +1 -1
  385. package/dist/components/task-tray/index.js +1 -1
  386. package/dist/components/tasks-panel/index.d.ts +4 -0
  387. package/dist/components/tasks-panel/index.d.ts.map +1 -0
  388. package/dist/components/tasks-panel/index.js +6 -0
  389. package/dist/components/tasks-panel/index.js.map +1 -0
  390. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  391. package/dist/components/tasks-panel/tasks-panel.agent.d.ts.map +1 -0
  392. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  393. package/dist/components/tasks-panel/tasks-panel.d.ts.map +1 -0
  394. package/dist/components/token-insert-menu/index.d.ts +4 -0
  395. package/dist/components/token-insert-menu/index.d.ts.map +1 -0
  396. package/dist/components/token-insert-menu/index.js +6 -0
  397. package/dist/components/token-insert-menu/index.js.map +1 -0
  398. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  399. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts.map +1 -0
  400. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  401. package/dist/components/token-insert-menu/token-insert-menu.d.ts.map +1 -0
  402. package/dist/components/tool-rail/index.d.ts +4 -0
  403. package/dist/components/tool-rail/index.d.ts.map +1 -0
  404. package/dist/components/tool-rail/index.js +6 -0
  405. package/dist/components/tool-rail/index.js.map +1 -0
  406. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  407. package/dist/components/tool-rail/tool-rail.agent.d.ts.map +1 -0
  408. package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
  409. package/dist/components/tool-rail/tool-rail.d.ts.map +1 -0
  410. package/dist/components/tooth-scheme/index.js +1 -1
  411. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  412. package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
  413. package/dist/components/transcript-panel/index.js +1 -1
  414. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  415. package/dist/components/transcript-panel/transcript-panel.d.ts.map +1 -1
  416. package/dist/components/unit-converter/index.js +1 -1
  417. package/dist/components/workflow/index.js +1 -1
  418. package/dist/hooks/use-edge-resize.d.ts +2 -2
  419. package/dist/i18n/locales/ar.d.ts +167 -2
  420. package/dist/i18n/locales/ar.d.ts.map +1 -1
  421. package/dist/i18n/locales/ar.js +157 -5
  422. package/dist/i18n/locales/ar.js.map +1 -1
  423. package/dist/i18n/locales/de.d.ts +167 -2
  424. package/dist/i18n/locales/de.d.ts.map +1 -1
  425. package/dist/i18n/locales/de.js +159 -5
  426. package/dist/i18n/locales/de.js.map +1 -1
  427. package/dist/i18n/locales/el.d.ts +167 -2
  428. package/dist/i18n/locales/el.d.ts.map +1 -1
  429. package/dist/i18n/locales/el.js +164 -5
  430. package/dist/i18n/locales/el.js.map +1 -1
  431. package/dist/i18n/locales/en.d.ts +167 -2
  432. package/dist/i18n/locales/en.d.ts.map +1 -1
  433. package/dist/i18n/locales/en.js +170 -5
  434. package/dist/i18n/locales/en.js.map +1 -1
  435. package/dist/i18n/locales/es.d.ts +167 -2
  436. package/dist/i18n/locales/es.d.ts.map +1 -1
  437. package/dist/i18n/locales/es.js +156 -5
  438. package/dist/i18n/locales/es.js.map +1 -1
  439. package/dist/i18n/locales/fr.d.ts +167 -2
  440. package/dist/i18n/locales/fr.d.ts.map +1 -1
  441. package/dist/i18n/locales/fr.js +159 -5
  442. package/dist/i18n/locales/fr.js.map +1 -1
  443. package/dist/i18n/locales/hi.d.ts +167 -2
  444. package/dist/i18n/locales/hi.d.ts.map +1 -1
  445. package/dist/i18n/locales/hi.js +155 -5
  446. package/dist/i18n/locales/hi.js.map +1 -1
  447. package/dist/i18n/locales/it.d.ts +167 -2
  448. package/dist/i18n/locales/it.d.ts.map +1 -1
  449. package/dist/i18n/locales/it.js +159 -5
  450. package/dist/i18n/locales/it.js.map +1 -1
  451. package/dist/i18n/locales/ja.d.ts +167 -2
  452. package/dist/i18n/locales/ja.d.ts.map +1 -1
  453. package/dist/i18n/locales/ja.js +160 -5
  454. package/dist/i18n/locales/ja.js.map +1 -1
  455. package/dist/i18n/locales/nl.d.ts +167 -2
  456. package/dist/i18n/locales/nl.d.ts.map +1 -1
  457. package/dist/i18n/locales/nl.js +152 -5
  458. package/dist/i18n/locales/nl.js.map +1 -1
  459. package/dist/i18n/locales/pl.d.ts +167 -2
  460. package/dist/i18n/locales/pl.d.ts.map +1 -1
  461. package/dist/i18n/locales/pl.js +160 -5
  462. package/dist/i18n/locales/pl.js.map +1 -1
  463. package/dist/i18n/locales/pt.d.ts +167 -2
  464. package/dist/i18n/locales/pt.d.ts.map +1 -1
  465. package/dist/i18n/locales/pt.js +164 -5
  466. package/dist/i18n/locales/pt.js.map +1 -1
  467. package/dist/i18n/locales/ro.d.ts +167 -2
  468. package/dist/i18n/locales/ro.d.ts.map +1 -1
  469. package/dist/i18n/locales/ro.js +164 -5
  470. package/dist/i18n/locales/ro.js.map +1 -1
  471. package/dist/i18n/locales/ru.d.ts +167 -2
  472. package/dist/i18n/locales/ru.d.ts.map +1 -1
  473. package/dist/i18n/locales/ru.js +157 -5
  474. package/dist/i18n/locales/ru.js.map +1 -1
  475. package/dist/i18n/locales/sq.d.ts +167 -2
  476. package/dist/i18n/locales/sq.d.ts.map +1 -1
  477. package/dist/i18n/locales/sq.js +161 -5
  478. package/dist/i18n/locales/sq.js.map +1 -1
  479. package/dist/i18n/locales/sv.d.ts +167 -2
  480. package/dist/i18n/locales/sv.d.ts.map +1 -1
  481. package/dist/i18n/locales/sv.js +159 -5
  482. package/dist/i18n/locales/sv.js.map +1 -1
  483. package/dist/i18n/locales/tr.d.ts +167 -2
  484. package/dist/i18n/locales/tr.d.ts.map +1 -1
  485. package/dist/i18n/locales/tr.js +157 -5
  486. package/dist/i18n/locales/tr.js.map +1 -1
  487. package/dist/i18n/locales/zh.d.ts +167 -2
  488. package/dist/i18n/locales/zh.d.ts.map +1 -1
  489. package/dist/i18n/locales/zh.js +152 -5
  490. package/dist/i18n/locales/zh.js.map +1 -1
  491. package/dist/index.js +823 -755
  492. package/dist/index.js.map +1 -1
  493. package/dist/locales/ar.json +170 -5
  494. package/dist/locales/de.json +170 -5
  495. package/dist/locales/el.json +170 -5
  496. package/dist/locales/en.json +170 -5
  497. package/dist/locales/es.json +170 -5
  498. package/dist/locales/fr.json +170 -5
  499. package/dist/locales/hi.json +170 -5
  500. package/dist/locales/it.json +170 -5
  501. package/dist/locales/ja.json +170 -5
  502. package/dist/locales/nl.json +170 -5
  503. package/dist/locales/pl.json +170 -5
  504. package/dist/locales/pt.json +170 -5
  505. package/dist/locales/ro.json +170 -5
  506. package/dist/locales/ru.json +170 -5
  507. package/dist/locales/sq.json +170 -5
  508. package/dist/locales/sv.json +170 -5
  509. package/dist/locales/tr.json +170 -5
  510. package/dist/locales/zh.json +170 -5
  511. package/dist/patterns/alia-assistant/alia-chat-surface.d.ts.map +1 -1
  512. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  513. package/dist/patterns/alia-assistant/alia-types.d.ts.map +1 -1
  514. package/dist/patterns/alia-assistant/index.js +1 -1
  515. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  516. package/dist/patterns/patient-shell/index.js +1 -1
  517. package/dist/tokens.css +9 -1
  518. package/package.json +65 -5
  519. package/dist/_chunks/ai-tools-rail-B5NEghsp.js.map +0 -1
  520. package/dist/_chunks/alia-sidebar-B47qRQb5.js.map +0 -1
  521. package/dist/_chunks/app-frame-BYx1gcV7.js.map +0 -1
  522. package/dist/_chunks/appointment-card-C06aZqA7.js.map +0 -1
  523. package/dist/_chunks/appointment-timeline-BJM0S_Fg.js.map +0 -1
  524. package/dist/_chunks/autocomplete-DOeGouCL.js.map +0 -1
  525. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  526. package/dist/_chunks/care-plan-header-BUwqDTtz.js.map +0 -1
  527. package/dist/_chunks/chat-message-3V54YipB.js.map +0 -1
  528. package/dist/_chunks/combobox-Clum7gJ1.js.map +0 -1
  529. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  530. package/dist/_chunks/control-room-rail-Y8ryLYsP.js.map +0 -1
  531. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  532. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js.map +0 -1
  533. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  534. package/dist/_chunks/entity-summary-BxRjFh_4.js.map +0 -1
  535. package/dist/_chunks/field-value-NXYczdpO.js.map +0 -1
  536. package/dist/_chunks/link-cell-renderer-CTXqtXV-.js.map +0 -1
  537. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  538. package/dist/_chunks/message-card-Bx4GmLvf.js.map +0 -1
  539. package/dist/_chunks/message-tray-DwrBLJlf.js.map +0 -1
  540. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  541. package/dist/_chunks/notes-panel-ay8_lPrA.js.map +0 -1
  542. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  543. package/dist/_chunks/notification-card-D2jiKSJJ.js.map +0 -1
  544. package/dist/_chunks/notification-tray-AEun6DN2.js.map +0 -1
  545. package/dist/_chunks/patient-details-Dlhqb5ig.js.map +0 -1
  546. package/dist/_chunks/product-hub-panel-e6pW220e.js.map +0 -1
  547. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  548. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js.map +0 -1
  549. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  550. package/dist/_chunks/reviews-panel-Dq7LMDcH.js.map +0 -1
  551. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  552. package/dist/_chunks/rich-text-editor-DlCqPixb.js.map +0 -1
  553. package/dist/_chunks/scroll-area-5wNK0Cyz.js.map +0 -1
  554. package/dist/_chunks/select-DMLG44F5.js.map +0 -1
  555. package/dist/_chunks/sheet-BxsE7eQm.js.map +0 -1
  556. package/dist/_chunks/sidebar-DY9jGjgt.js.map +0 -1
  557. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  558. package/dist/_chunks/task-card-BwY9jaV1.js.map +0 -1
  559. package/dist/_chunks/tooth-scheme-BhQoPNBD.js.map +0 -1
  560. package/dist/_chunks/transcript-panel-3THQX6nJ.js.map +0 -1
  561. package/dist/_chunks/workflow-map-Dy8mLCqF.js.map +0 -1
  562. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  563. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts.map +0 -1
  564. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts.map +0 -1
  565. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  566. package/dist/components/ai-tools-rail/index.d.ts.map +0 -1
  567. package/dist/components/ai-tools-rail/index.js +0 -6
  568. /package/dist/components/{ai-tools-rail → address-fields}/index.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-tray-C0a6CL1_.js","sources":["../../src/components/message-tray/message-tray.agent.ts","../../src/components/message-tray/message-tray.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — MessageTray. */\n/* */\n/* Tray-level surface: open/close the inbox panel, read message ids and */\n/* unread flag (never sender names / subjects / previews — those are */\n/* PHI), and route per-message operations through the curated handle. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { MessageTrayHandle } from './message-tray';\n\nexport const messageTrayAgent: AgentAdapter<MessageTrayHandle> = {\n id: 'message-tray',\n capabilities: ['open', 'close', 'select_single', 'dismiss', 'navigate'],\n state: {\n items: {\n type: 'Array<{ id: string; read: boolean }>',\n descriptionKey: 'ui.agent.messageTray.state.items',\n description:\n 'Currently-displayed messages. Ids + read flag only — no PHI / no sender names.',\n read: (handle) => handle.getItems(),\n },\n unreadCount: {\n type: 'number',\n descriptionKey: 'ui.agent.messageTray.state.unreadCount',\n description: 'Badge unread count surfaced by the host.',\n read: (handle) => handle.getUnreadCount(),\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.messageTray.state.isOpen',\n description: 'Whether the dropdown panel is currently open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n open: {\n // Pure ephemeral panel-visibility change — read.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.open',\n description: 'Open the message panel.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n // Pure ephemeral panel-visibility change — read.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.close',\n description: 'Close the message panel.',\n invoke: (handle) => {\n handle.close();\n },\n },\n select_item: {\n // Activates (navigates to) a message — ephemeral view change, read.\n safety: 'read',\n argsType: '{ id: string }',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description:\n 'Stable message id to activate (sourced from item.id).',\n },\n },\n required: ['id'],\n },\n descriptionKey: 'ui.agent.messageTray.actions.selectItem',\n description: 'Activate the message with the given id.',\n examples: [\n { args: { id: 'msg-1' }, note: 'Open the message with id \"msg-1\".' },\n ],\n invoke: (handle, args: { id: string }) => {\n handle.selectItem(args.id);\n },\n },\n mark_read: {\n // Persists read-intent for one message, reversible via the same UI — write.\n safety: 'write',\n argsType: '{ id: string }',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Stable message id to mark as read.',\n },\n },\n required: ['id'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.markRead',\n description: 'Request the host to mark a message as read.',\n invoke: (handle, args: { id: string }) => {\n handle.markRead(args.id);\n },\n },\n dismiss: {\n // Archives / removes a message — irreversible from this UI, destructive.\n safety: 'destructive',\n argsType: '{ id: string }',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Stable message id to dismiss / archive.',\n },\n },\n required: ['id'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.dismiss',\n description:\n 'Request the host to dismiss / archive the message with the given id.',\n invoke: (handle, args: { id: string }) => {\n handle.dismiss(args.id);\n },\n },\n mark_all_read: {\n // Persists read-intent across every message, reversible per-message — write.\n safety: 'write',\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.markAllRead',\n description: 'Request the host to mark every message as read.',\n invoke: (handle) => {\n handle.markAllRead();\n },\n },\n view_all: {\n // Navigates to the full inbox surface — ephemeral view change, read.\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.messageTray.actions.viewAll',\n description: 'Navigate to the full inbox / message list.',\n invoke: (handle) => {\n handle.viewAll();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'message-tray',\n description: 'Marks the MessageTray wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description:\n 'Sourced from the id prop. Required to address a specific tray from the agent.',\n },\n item: {\n attr: 'data-message-id',\n description:\n 'Stable message id emitted on each rendered MessageCard inside the tray.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type HTMLAttributes,\n} from 'react';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { Mail } from 'lucide-react';\nimport { IconButton } from '../button/icon-button';\nimport { Button } from '../button/button';\nimport { Separator } from '../separator/separator';\nimport { Skeleton } from '../skeleton/skeleton';\nimport { ScrollArea } from '../scroll-area/scroll-area';\nimport { MessageCard, type MessageItem } from '../message-card/message-card';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { messageTrayAgent } from './message-tray.agent';\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\n/**\n * Curated imperative handle for MessageTray. Exposed as the forwardRef\n * target so a future agent / MCP UI bridge can drive the tray without\n * touching the DOM. See `message-tray.agent.ts`.\n */\nexport interface MessageTrayHandle {\n open: () => void;\n close: () => void;\n isOpen: () => boolean;\n getItems: () => Array<{ id: string; read: boolean }>;\n getUnreadCount: () => number;\n selectItem: (id: string) => void;\n markRead: (id: string) => void;\n dismiss: (id: string) => void;\n /** Request the host to mark every message as read (mirrors onMarkAllRead). */\n markAllRead: () => void;\n /** Navigate to the full inbox (mirrors onViewAll). */\n viewAll: () => void;\n}\n\nexport interface MessageTrayProps\n extends\n Omit<\n HTMLAttributes<HTMLDivElement>,\n 'onClick' | 'children' | 'role' | 'id'\n >,\n VariantProps<typeof messageTrayVariants> {\n /**\n * Stable instance id. Surfaced on the root as `data-component-id` so\n * an agent / MCP UI bridge can address this specific tray.\n */\n id?: string;\n /** Fires when the host should mark a single message as read (used by agent integration). */\n onMarkRead?: (item: MessageItem) => void;\n /** Messages rendered in the dropdown panel. */\n items: MessageItem[];\n /** Number of unread messages. Drives the badge count. */\n unreadCount?: number;\n /** Controlled open state. */\n open?: boolean;\n /** Fires when the open state changes. */\n onOpenChange?: (open: boolean) => void;\n /** Fires when the user activates an item (click or Enter/Space). */\n onItemClick?: (item: MessageItem) => void;\n /** Fires when the user dismisses / archives a message. */\n onDismiss?: (item: MessageItem) => void;\n /** Fires when the user clicks the header \"Mark all as read\" action. */\n onMarkAllRead?: () => void;\n /** When true the panel shows skeleton placeholders. */\n loading?: boolean;\n /**\n * Advisory item count before the list scrolls. Consumers override the cap\n * via the `--message-tray-max-block-size` custom property.\n */\n maxVisible?: number;\n /** When set renders a footer link that invokes `onViewAll`. */\n viewAllLabel?: string;\n /** Fires when the footer \"View all\" link is clicked. */\n onViewAll?: () => void;\n /** Panel alignment relative to the trigger. Default `'end'`. */\n align?: 'start' | 'center' | 'end';\n /** Side of the trigger to open on. Default `'bottom'`. */\n side?: 'top' | 'bottom';\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA */\n/* ------------------------------------------------------------------ */\n\nconst messageTrayVariants = cva('ds:relative ds:inline-flex ds:items-center', {\n variants: {\n size: {\n sm: '',\n md: '',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst panelVariants = cva(\n [\n 'ds:flex ds:flex-col',\n 'ds:bg-[var(--popover)] ds:text-[var(--popover-foreground)]',\n 'ds:border ds:border-[color:var(--card-border)]',\n 'ds:rounded-[var(--radius-md)]',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:z-[var(--z-popover)]',\n // Width: fluid below the design cap so narrow viewports keep a visible\n // gutter on both sides (shadow included). Cap slightly wider than\n // NotificationTray because message rows carry subject + preview.\n 'ds:w-[min(26rem,calc(100vw-2*var(--spacing-md)))]',\n // Height: below the `sm` breakpoint the panel takes a near-full-screen\n // sheet shape so the user gets room to triage an inbox without\n // scrolling a tiny popover. `6rem` reserves space for the Header\n // (≈4rem) plus the sideOffset + collisionPadding (≈2rem). Above `sm`\n // it returns to `h-auto` so the list's own cap governs the height.\n 'ds:h-[calc(100dvh-6rem)] ds:sm:h-auto',\n 'ds:data-[state=open]:animate-in ds:data-[state=closed]:animate-out',\n 'ds:data-[state=closed]:fade-out-0 ds:data-[state=open]:fade-in-0',\n 'ds:data-[state=closed]:zoom-out-95 ds:data-[state=open]:zoom-in-95',\n 'ds:motion-reduce:transition-none ds:motion-reduce:animate-none',\n 'ds:focus-visible:outline-none',\n 'ds:forced-colors:border-[CanvasText]',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:p-[var(--spacing-xs)]',\n md: 'ds:p-[var(--spacing-sm)]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n);\n\nconst badgeVariants = cva(\n [\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))] ds:h-[calc(var(--spacing-md)+var(--spacing-xs))] ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' '),\n);\n\n/* ------------------------------------------------------------------ */\n/* Helpers */\n/* ------------------------------------------------------------------ */\n\nfunction formatBadgeCount(count: number, overflowLabel: string): string {\n return count > 99 ? overflowLabel : String(count);\n}\n\nfunction SkeletonRow() {\n return (\n <div\n aria-hidden=\"true\"\n className=\"ds:flex ds:items-start ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-sm)]\"\n >\n <Skeleton variant=\"circular\" size=\"sm\" />\n <div className=\"ds:flex-1 ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <Skeleton variant=\"text\" size=\"md\" width=\"60%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"80%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"95%\" />\n <Skeleton variant=\"text\" size=\"sm\" width=\"30%\" />\n </div>\n </div>\n );\n}\n\nfunction EmptyPanel() {\n const { t } = useTranslation();\n return (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"ds:flex ds:flex-col ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)] ds:p-[var(--spacing-lg)] ds:text-center\"\n >\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:justify-center ds:size-10 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--muted)] ds:text-[color:var(--muted-foreground)] ds:[&>svg]:size-5\"\n >\n <Mail />\n </span>\n <p className=\"type-title-item ds:text-[color:var(--foreground)]\">\n {t('messageTray.noMessages', 'No messages')}\n </p>\n <p className=\"type-meta ds:text-[color:var(--muted-foreground)]\">\n {t('messageTray.noMessagesDescription', 'Your inbox is clear.')}\n </p>\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Root */\n/* ------------------------------------------------------------------ */\n\nexport const MessageTray = forwardRef<HTMLDivElement, MessageTrayProps>(\n (\n {\n id,\n items,\n unreadCount,\n open,\n onOpenChange,\n onItemClick,\n onDismiss,\n onMarkRead,\n onMarkAllRead,\n loading = false,\n maxVisible,\n viewAllLabel,\n onViewAll,\n align = 'end',\n side = 'bottom',\n size = 'md',\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const [isOpenRaw, handleOpenChange] = useControllableState<boolean>({\n value: open,\n defaultValue: false,\n onChange: onOpenChange,\n });\n const isOpen = isOpenRaw ?? false;\n\n /* Exit-animation list — same AnimatePresence-style bookkeeping as\n * NotificationTray. See that component for rationale. */\n type Displayed = { item: MessageItem; leaving: boolean };\n const [displayed, setDisplayed] = useState<Displayed[]>(() =>\n items.map((item) => ({ item, leaving: false })),\n );\n\n const animationDurationMs = useCallback((): number => {\n if (typeof window === 'undefined') return 200;\n const raw = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue('--animation-duration');\n if (!raw) return 200;\n const trimmed = raw.trim();\n const n = parseFloat(trimmed);\n if (!Number.isFinite(n)) return 200;\n return trimmed.endsWith('ms') ? n : n * 1000;\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n setDisplayed((prev) => {\n const nextIds = new Set(items.map((i) => i.id));\n const prevIds = new Set(prev.map((d) => d.item.id));\n\n const merged: Displayed[] = prev.map((d) => {\n if (nextIds.has(d.item.id)) {\n const fresh = items.find((i) => i.id === d.item.id);\n return fresh\n ? { item: fresh, leaving: false }\n : { ...d, leaving: true };\n }\n return { ...d, leaving: true };\n });\n\n for (const i of items) {\n if (!prevIds.has(i.id)) merged.push({ item: i, leaving: false });\n }\n return merged;\n });\n }, [items]);\n\n useEffect(() => {\n if (!displayed.some((d) => d.leaving)) return;\n const ms = animationDurationMs();\n const timer = setTimeout(() => {\n setDisplayed((prev) => prev.filter((d) => !d.leaving));\n }, ms);\n return () => clearTimeout(timer);\n }, [displayed, animationDurationMs]);\n\n const liveRegionRef = useRef<HTMLDivElement | null>(null);\n const lastTopIdRef = useRef<string | undefined>(items[0]?.id);\n\n useEffect(() => {\n const topId = items[0]?.id;\n const prev = lastTopIdRef.current;\n if (prev && topId && prev !== topId && liveRegionRef.current) {\n const newest = items[0];\n if (newest && !newest.read) {\n liveRegionRef.current.textContent = t('messageTray.newMessage', {\n sender: newest.sender.name,\n defaultValue: 'New message from {{sender}}',\n });\n }\n }\n lastTopIdRef.current = topId;\n }, [items, t]);\n\n const displayCount = unreadCount ?? 0;\n const triggerAriaLabel =\n displayCount > 0\n ? t('messageTray.triggerLabel', {\n count: displayCount,\n defaultValue: 'Messages, {{count}} unread',\n })\n : t('messageTray.triggerLabelNone', 'Messages, none unread');\n\n const badgeLabel = formatBadgeCount(\n displayCount,\n t('messageTray.badgeCountOverflow', '99+'),\n );\n\n const panelClass = panelVariants({ size });\n\n /* Curated imperative handle for agent integration. See\n * message-tray.agent.ts. */\n const itemsRef = useRef<MessageItem[]>(items);\n itemsRef.current = items;\n const unreadRef = useRef<number | undefined>(unreadCount);\n unreadRef.current = unreadCount;\n const isOpenRef = useRef<boolean>(isOpen);\n isOpenRef.current = isOpen;\n\n const handle = useMemo<MessageTrayHandle>(\n () => ({\n open: () => handleOpenChange(true),\n close: () => handleOpenChange(false),\n isOpen: () => isOpenRef.current,\n getItems: () =>\n itemsRef.current.map((i) => ({ id: i.id, read: !!i.read })),\n getUnreadCount: () =>\n unreadRef.current ?? itemsRef.current.filter((i) => !i.read).length,\n selectItem: (targetId: string) => {\n const found = itemsRef.current.find((i) => i.id === targetId);\n if (found) onItemClick?.(found);\n },\n markRead: (targetId: string) => {\n const found = itemsRef.current.find((i) => i.id === targetId);\n if (found) onMarkRead?.(found);\n },\n dismiss: (targetId: string) => {\n const found = itemsRef.current.find((i) => i.id === targetId);\n if (found) onDismiss?.(found);\n },\n markAllRead: () => onMarkAllRead?.(),\n viewAll: () => onViewAll?.(),\n }),\n [\n handleOpenChange,\n onItemClick,\n onMarkRead,\n onDismiss,\n onMarkAllRead,\n onViewAll,\n ],\n );\n\n const rootRef = useRef<HTMLDivElement>(null);\n useImperativeHandle(ref, () => rootRef.current as HTMLDivElement, []);\n useAgentRegistration(messageTrayAgent, handle, id);\n\n return (\n <div\n ref={rootRef}\n data-component=\"message-tray\"\n data-component-id={id}\n className={[messageTrayVariants({ size }), className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <RadixPopover.Root open={isOpen} onOpenChange={handleOpenChange}>\n <RadixPopover.Trigger asChild>\n <IconButton\n icon={<Mail />}\n intent=\"outline\"\n size={size === 'sm' ? 'sm' : 'md'}\n aria-label={triggerAriaLabel}\n aria-haspopup=\"dialog\"\n />\n </RadixPopover.Trigger>\n {displayCount > 0 ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"message-tray-badge\"\n className={badgeVariants()}\n >\n {badgeLabel}\n </span>\n ) : null}\n <div\n ref={liveRegionRef}\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n />\n <RadixPopover.Portal>\n <RadixPopover.Content\n role=\"dialog\"\n aria-label={t('messageTray.panelTitle', 'Messages')}\n side={side}\n align={align}\n sideOffset={8}\n // `spacing-md` (16px) keeps Radix's collision-avoidance from\n // flush-mounting the panel against the viewport edge when the\n // trigger is near the inline-end of a narrow screen.\n collisionPadding={16}\n className={panelClass}\n >\n <div className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pb-[var(--spacing-xs)]\">\n <h3 className=\"ds:m-0 type-title-card ds:text-[color:var(--foreground)]\">\n {t('messageTray.panelTitle', 'Messages')}\n </h3>\n {onMarkAllRead && items.some((item) => !item.read) ? (\n <Button\n intent=\"link\"\n size=\"sm\"\n onClick={onMarkAllRead}\n className=\"ds:text-[length:var(--font-size-xs)]\"\n >\n {t('messageTray.markAllRead', 'Mark all as read')}\n </Button>\n ) : null}\n </div>\n <Separator />\n {/* Below `sm` the panel is a near-full-screen sheet (see\n `panelVariants`) and the scroll area expands to fill the\n remaining space with `flex-1`. Above `sm` it caps at the\n `--message-tray-max-block-size` custom property so the\n popover stays compact. The ScrollArea viewport owns the\n overflow + is keyboard-focusable, so the list keeps only its\n role/content classes. */}\n <ScrollArea\n orientation=\"vertical\"\n className=\"ds:flex-1 ds:min-h-0 ds:sm:flex-none ds:sm:[max-block-size:var(--message-tray-max-block-size,26rem)]\"\n >\n <div\n // Only carry `role=\"list\"` when there are list children —\n // axe's `aria-required-children` rule fires on an empty\n // list. The loading skeleton + populated rendering both\n // produce role=\"listitem\" descendants below.\n role={displayed.length > 0 ? 'list' : undefined}\n data-max-visible={maxVisible}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:pt-[var(--spacing-xs)]\"\n >\n {loading ? (\n <>\n <SkeletonRow />\n <SkeletonRow />\n <SkeletonRow />\n </>\n ) : displayed.length === 0 ? (\n <EmptyPanel />\n ) : (\n displayed.map(({ item, leaving }) => (\n <MessageCard\n key={item.id}\n item={item}\n variant=\"compact\"\n leaving={leaving}\n onActivate={onItemClick}\n onDismiss={onDismiss}\n data-message-id={item.id}\n />\n ))\n )}\n </div>\n </ScrollArea>\n {viewAllLabel ? (\n <>\n <Separator />\n <div className=\"ds:pt-[var(--spacing-xs)]\">\n <Button\n intent=\"link\"\n size=\"sm\"\n onClick={onViewAll}\n className=\"ds:w-full ds:justify-center\"\n >\n {viewAllLabel}\n </Button>\n </div>\n </>\n ) : null}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n </RadixPopover.Root>\n </div>\n );\n },\n);\n\nMessageTray.displayName = 'MessageTray';\n"],"names":["messageTrayAgent","handle","args","messageTrayVariants","cva","panelVariants","badgeVariants","formatBadgeCount","count","overflowLabel","SkeletonRow","jsxs","jsx","Skeleton","EmptyPanel","t","useTranslation","Mail","MessageTray","forwardRef","id","items","unreadCount","open","onOpenChange","onItemClick","onDismiss","onMarkRead","onMarkAllRead","loading","maxVisible","viewAllLabel","onViewAll","align","side","size","className","rest","ref","isOpenRaw","handleOpenChange","useControllableState","isOpen","displayed","setDisplayed","useState","item","animationDurationMs","useCallback","raw","trimmed","n","useIsomorphicLayoutEffect","prev","nextIds","i","prevIds","d","merged","fresh","useEffect","ms","timer","liveRegionRef","useRef","lastTopIdRef","_a","topId","newest","displayCount","triggerAriaLabel","badgeLabel","panelClass","itemsRef","unreadRef","isOpenRef","useMemo","targetId","found","rootRef","useImperativeHandle","useAgentRegistration","RadixPopover","IconButton","Button","Separator","ScrollArea","Fragment","leaving","MessageCard"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { jsx as n, jsxs as x } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as w } from "react/jsx-runtime";
2
2
  import { forwardRef as Ke, useContext as Me, useState as B, useRef as I, useMemo as V, useEffect as U, useCallback as je } from "react";
3
3
  import * as q from "@radix-ui/react-popover";
4
4
  import { _ as u } from "./index-4xgbg-sn.js";
5
5
  import { c as le } from "./index-D2ZczOXr.js";
6
6
  import { useTranslation as Pe } from "react-i18next";
7
7
  import { u as $e, F as Be } from "./form-field-context-B3APVHKx.js";
8
- import { T as oe } from "./tooltip-DvmfrNvB.js";
8
+ import { T as ie } from "./tooltip-DvmfrNvB.js";
9
9
  import { c as Ue } from "./compose-refs-C0k0tdqF.js";
10
10
  import { u as Qe } from "./use-controllable-state-BiY4xTzM.js";
11
11
  import { u as Ye } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
@@ -144,7 +144,7 @@ const Ze = {
144
144
  },
145
145
  defaultVariants: { size: "md" }
146
146
  }
147
- ), ie = le(
147
+ ), oe = le(
148
148
  [
149
149
  "ds:inline-flex ds:items-center ds:gap-1",
150
150
  "ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-muted",
@@ -196,7 +196,7 @@ const Ze = {
196
196
  "ds:rounded-[var(--radius-sm)] ds:ps-2 ds:pe-2 ds:py-1.5",
197
197
  "ds:text-[var(--font-size-sm)] ds:font-medium ds:text-primary ds:outline-none ds:select-none",
198
198
  "ds:data-[selected=true]:bg-muted"
199
- ].join(" "), nt = "__ui-multiselect-select-all__", ot = "__ui-multiselect-clear-all__", de = Ke(
199
+ ].join(" "), nt = "__ui-multiselect-select-all__", it = "__ui-multiselect-clear-all__", de = Ke(
200
200
  function({
201
201
  options: c,
202
202
  value: ce,
@@ -227,30 +227,30 @@ const Ze = {
227
227
  value: ce,
228
228
  defaultValue: ue ?? [],
229
229
  onChange: pe
230
- }), r = ye ?? [], [k, m] = B(!1), [f, K] = B(""), S = I(null), w = I([]), H = I(null), Se = Ue(be, H), h = y && b.disabled || !!fe, we = y && b.required, X = y && b.invalid, xe = y && b.describedBy ? b.describedBy : void 0, Ie = L ?? (y ? b.id : void 0), ke = V(() => {
230
+ }), n = ye ?? [], [k, m] = B(!1), [f, K] = B(""), S = I(null), x = I([]), H = I(null), Se = Ue(be, H), h = y && b.disabled || !!fe, xe = y && b.required, X = y && b.invalid, we = y && b.describedBy ? b.describedBy : void 0, Ie = L ?? (y ? b.id : void 0), ke = V(() => {
231
231
  const e = /* @__PURE__ */ new Map();
232
232
  for (const t of c) e.set(t.value, t.label);
233
233
  return e;
234
- }, [c]), J = typeof v == "number" && r.length >= v, C = (e) => {
234
+ }, [c]), J = typeof v == "number" && n.length >= v, C = (e) => {
235
235
  z(e);
236
236
  }, Ce = (e) => {
237
- if (r.includes(e)) {
238
- C(r.filter((t) => t !== e));
237
+ if (n.includes(e)) {
238
+ C(n.filter((t) => t !== e));
239
239
  return;
240
240
  }
241
- J || C([...r, e]);
241
+ J || C([...n, e]);
242
242
  }, M = (e) => {
243
- const t = r.filter((s, o) => o !== e);
243
+ const t = n.filter((s, o) => o !== e);
244
244
  return C(t), t;
245
245
  }, Ae = () => {
246
246
  const e = c.filter((s) => !s.disabled).map((s) => s.value), t = typeof v == "number" ? v : e.length;
247
247
  C(e.slice(0, t));
248
248
  }, Ne = () => {
249
249
  C([]);
250
- }, W = I(r);
250
+ }, W = I(n);
251
251
  U(() => {
252
- W.current = r;
253
- }, [r]);
252
+ W.current = n;
253
+ }, [n]);
254
254
  const Z = I(f);
255
255
  U(() => {
256
256
  Z.current = f;
@@ -288,22 +288,22 @@ const Ze = {
288
288
  ), Te = (e) => {
289
289
  var o;
290
290
  const t = e.currentTarget;
291
- if (e.key === "Backspace" && f === "" && r.length > 0) {
291
+ if (e.key === "Backspace" && f === "" && n.length > 0) {
292
292
  e.preventDefault();
293
- const i = r.length - 1, d = M(i).length - 1;
293
+ const i = n.length - 1, d = M(i).length - 1;
294
294
  d >= 0 && requestAnimationFrame(() => {
295
295
  var g;
296
- (g = w.current[d]) == null || g.focus();
296
+ (g = x.current[d]) == null || g.focus();
297
297
  });
298
298
  return;
299
299
  }
300
300
  const s = t.selectionStart === 0 && t.selectionEnd === 0;
301
- if ((e.key === "ArrowLeft" || e.key === "ArrowRight") && s && r.length > 0) {
301
+ if ((e.key === "ArrowLeft" || e.key === "ArrowRight") && s && n.length > 0) {
302
302
  const i = document.dir === "rtl" || t.dir === "rtl";
303
303
  if (i && e.key === "ArrowRight" || !i && e.key === "ArrowLeft") {
304
304
  e.preventDefault();
305
- const d = r.length - 1;
306
- (o = w.current[d]) == null || o.focus();
305
+ const d = n.length - 1;
306
+ (o = x.current[d]) == null || o.focus();
307
307
  }
308
308
  return;
309
309
  }
@@ -327,7 +327,7 @@ const Ze = {
327
327
  const ze = Math.min(e, F.length - 1);
328
328
  requestAnimationFrame(() => {
329
329
  var _;
330
- (_ = w.current[ze]) == null || _.focus();
330
+ (_ = x.current[ze]) == null || _.focus();
331
331
  });
332
332
  return;
333
333
  }
@@ -335,11 +335,11 @@ const Ze = {
335
335
  if (t.key === o) {
336
336
  t.preventDefault();
337
337
  const F = Math.max(0, e - 1);
338
- (l = w.current[F]) == null || l.focus();
338
+ (l = x.current[F]) == null || l.focus();
339
339
  return;
340
340
  }
341
341
  if (t.key === i) {
342
- t.preventDefault(), e < r.length - 1 ? (d = w.current[e + 1]) == null || d.focus() : (g = S.current) == null || g.focus();
342
+ t.preventDefault(), e < n.length - 1 ? (d = x.current[e + 1]) == null || d.focus() : (g = S.current) == null || g.focus();
343
343
  return;
344
344
  }
345
345
  t.key === "Escape" && (m(!1), (N = S.current) == null || N.focus());
@@ -367,8 +367,8 @@ const Ze = {
367
367
  t();
368
368
  const s = new ResizeObserver(t);
369
369
  return s.observe(e), () => s.disconnect();
370
- }, [r.length, R]);
371
- const E = r.map((e) => ({
370
+ }, [n.length, R]);
371
+ const E = n.map((e) => ({
372
372
  value: e,
373
373
  label: ke.get(e) ?? e
374
374
  })), re = T === Number.POSITIVE_INFINITY || T >= E.length, Fe = re ? E : E.slice(0, T), ne = re ? [] : E.slice(T), A = ne.length, Ve = (e) => {
@@ -381,13 +381,13 @@ const Ze = {
381
381
  m(!1);
382
382
  return;
383
383
  }
384
- m(e), e || (K(""), O == null || O(r));
384
+ m(e), e || (K(""), O == null || O(n));
385
385
  }, Oe = Y || G, De = p("inputs.multiSelect.selected", {
386
- count: r.length,
387
- defaultValue: `${r.length} selected`
386
+ count: n.length,
387
+ defaultValue: `${n.length} selected`
388
388
  }), { onClick: $, ...Le } = ve;
389
- return /* @__PURE__ */ n(u, { shouldFilter: !1, label: De, children: /* @__PURE__ */ x(q.Root, { open: k, onOpenChange: qe, children: [
390
- /* @__PURE__ */ n(q.Anchor, { asChild: !0, children: /* @__PURE__ */ x(
389
+ return /* @__PURE__ */ r(u, { shouldFilter: !1, label: De, children: /* @__PURE__ */ w(q.Root, { open: k, onOpenChange: qe, children: [
390
+ /* @__PURE__ */ r(q.Anchor, { asChild: !0, children: /* @__PURE__ */ w(
391
391
  "div",
392
392
  {
393
393
  ref: Se,
@@ -403,20 +403,20 @@ const Ze = {
403
403
  children: [
404
404
  Fe.map((e, t) => (
405
405
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions -- chip pill receives focus via roving tabindex; chip removal uses an inner button
406
- /* @__PURE__ */ x(
406
+ /* @__PURE__ */ w(
407
407
  "span",
408
408
  {
409
409
  ref: (s) => {
410
- w.current[t] = s;
410
+ x.current[t] = s;
411
411
  },
412
412
  tabIndex: h ? -1 : 0,
413
413
  "data-ui-chip": "true",
414
- className: ie({ size: R }),
414
+ className: oe({ size: R }),
415
415
  onKeyDown: Ee(t),
416
416
  "aria-label": e.label,
417
417
  children: [
418
- /* @__PURE__ */ n("span", { children: e.label }),
419
- /* @__PURE__ */ n(
418
+ /* @__PURE__ */ r("span", { children: e.label }),
419
+ /* @__PURE__ */ r(
420
420
  "button",
421
421
  {
422
422
  type: "button",
@@ -434,7 +434,7 @@ const Ze = {
434
434
  });
435
435
  },
436
436
  className: tt,
437
- children: /* @__PURE__ */ n(Je, { "aria-hidden": "true", className: "ds:size-3.5" })
437
+ children: /* @__PURE__ */ r(Je, { "aria-hidden": "true", className: "ds:size-3.5" })
438
438
  }
439
439
  )
440
440
  ]
@@ -442,22 +442,22 @@ const Ze = {
442
442
  e.value
443
443
  )
444
444
  )),
445
- A > 0 ? /* @__PURE__ */ n(
446
- oe,
445
+ A > 0 ? /* @__PURE__ */ r(
446
+ ie,
447
447
  {
448
448
  label: ne.map((e) => e.label).join(", "),
449
449
  delayDuration: 200,
450
- children: /* @__PURE__ */ n(
450
+ children: /* @__PURE__ */ r(
451
451
  "span",
452
452
  {
453
- className: ie({ size: R }),
453
+ className: oe({ size: R }),
454
454
  tabIndex: 0,
455
455
  role: "button",
456
456
  "aria-label": p("inputs.multiSelect.overflow", {
457
457
  count: A,
458
458
  defaultValue: `+${A} more`
459
459
  }),
460
- children: /* @__PURE__ */ n("span", { children: p("inputs.multiSelect.overflow", {
460
+ children: /* @__PURE__ */ r("span", { children: p("inputs.multiSelect.overflow", {
461
461
  count: A,
462
462
  defaultValue: `+${A} more`
463
463
  }) })
@@ -465,7 +465,7 @@ const Ze = {
465
465
  )
466
466
  }
467
467
  ) : null,
468
- /* @__PURE__ */ n(
468
+ /* @__PURE__ */ r(
469
469
  u.Input,
470
470
  {
471
471
  ref: S,
@@ -475,12 +475,12 @@ const Ze = {
475
475
  onFocus: () => {
476
476
  h || m(!0);
477
477
  },
478
- placeholder: r.length === 0 ? te : "",
478
+ placeholder: n.length === 0 ? te : "",
479
479
  id: Ie,
480
480
  "aria-label": y ? void 0 : he,
481
- "aria-describedby": xe,
481
+ "aria-describedby": we,
482
482
  "aria-invalid": X || void 0,
483
- "aria-required": we || void 0,
483
+ "aria-required": xe || void 0,
484
484
  disabled: h,
485
485
  className: [
486
486
  "ds:flex-1 ds:min-w-[6rem] ds:bg-transparent ds:outline-none",
@@ -492,7 +492,7 @@ const Ze = {
492
492
  ]
493
493
  }
494
494
  ) }),
495
- /* @__PURE__ */ n(q.Portal, { children: /* @__PURE__ */ n(
495
+ /* @__PURE__ */ r(q.Portal, { children: /* @__PURE__ */ r(
496
496
  q.Content,
497
497
  {
498
498
  onOpenAutoFocus: (e) => e.preventDefault(),
@@ -500,7 +500,7 @@ const Ze = {
500
500
  align: "start",
501
501
  sideOffset: 4,
502
502
  className: st,
503
- children: /* @__PURE__ */ x(
503
+ children: /* @__PURE__ */ w(
504
504
  u.List,
505
505
  {
506
506
  role: "listbox",
@@ -508,8 +508,8 @@ const Ze = {
508
508
  "aria-label": te,
509
509
  className: "ds:max-h-[20rem] ds:overflow-y-auto ds:p-1",
510
510
  children: [
511
- Oe ? /* @__PURE__ */ x(u.Group, { children: [
512
- Y ? /* @__PURE__ */ n(
511
+ Oe ? /* @__PURE__ */ w(u.Group, { children: [
512
+ Y ? /* @__PURE__ */ r(
513
513
  u.Item,
514
514
  {
515
515
  value: nt,
@@ -518,20 +518,20 @@ const Ze = {
518
518
  children: p("inputs.multiSelect.selectAll", "Select all")
519
519
  }
520
520
  ) : null,
521
- G ? /* @__PURE__ */ n(
521
+ G ? /* @__PURE__ */ r(
522
522
  u.Item,
523
523
  {
524
- value: ot,
524
+ value: it,
525
525
  onSelect: Ne,
526
526
  className: ae,
527
527
  children: p("inputs.multiSelect.clearAll", "Clear all")
528
528
  }
529
529
  ) : null
530
530
  ] }) : null,
531
- /* @__PURE__ */ n(u.Empty, { className: "ds:ps-2 ds:pe-2 ds:py-2 type-body-sm ds:text-muted-foreground", children: p("inputs.multiSelect.noOptions", "No options found") }),
531
+ /* @__PURE__ */ r(u.Empty, { className: "ds:ps-2 ds:pe-2 ds:py-2 type-body-sm ds:text-muted-foreground", children: p("inputs.multiSelect.noOptions", "No options found") }),
532
532
  Re.map(({ group: e, items: t }, s) => {
533
533
  const o = t.map((i) => {
534
- const l = r.includes(i.value), d = !l && J, g = !!i.disabled || d, N = /* @__PURE__ */ x(
534
+ const l = n.includes(i.value), d = !l && J, g = !!i.disabled || d, N = /* @__PURE__ */ w(
535
535
  u.Item,
536
536
  {
537
537
  value: i.value,
@@ -544,25 +544,37 @@ const Ze = {
544
544
  "aria-disabled": g || void 0,
545
545
  className: rt,
546
546
  children: [
547
- /* @__PURE__ */ n(
547
+ /* @__PURE__ */ r(
548
548
  "span",
549
549
  {
550
550
  className: [
551
- "ds:inline-flex ds:items-center ds:justify-center ds:me-2 ds:shrink-0",
551
+ "ds:inline-flex ds:items-center ds:justify-center ds:me-[var(--spacing-xs)] ds:shrink-0",
552
552
  "ds:size-4 ds:rounded-[var(--radius-sm)] ds:border ds:border-border",
553
553
  l ? "ds:bg-primary ds:border-primary ds:text-primary-foreground" : "ds:bg-background"
554
554
  ].join(" "),
555
555
  "aria-hidden": "true",
556
- children: l ? /* @__PURE__ */ n(We, { className: "ds:size-3.5" }) : null
556
+ children: l ? /* @__PURE__ */ r(We, { className: "ds:size-3.5" }) : null
557
557
  }
558
558
  ),
559
- /* @__PURE__ */ n("span", { className: "ds:flex-1 ds:text-start", children: i.label })
559
+ i.startAdornment ? (
560
+ // Decorative by contract — the accessible name comes
561
+ // from the option label.
562
+ /* @__PURE__ */ r(
563
+ "span",
564
+ {
565
+ "aria-hidden": "true",
566
+ className: "ds:inline-flex ds:items-center ds:shrink-0 ds:me-[var(--spacing-xs)]",
567
+ children: i.startAdornment
568
+ }
569
+ )
570
+ ) : null,
571
+ /* @__PURE__ */ r("span", { className: "ds:flex-1 ds:text-start", children: i.label })
560
572
  ]
561
573
  },
562
574
  i.value
563
575
  );
564
- return d ? /* @__PURE__ */ n(
565
- oe,
576
+ return d ? /* @__PURE__ */ r(
577
+ ie,
566
578
  {
567
579
  label: p("inputs.multiSelect.maxReached", {
568
580
  count: v,
@@ -574,7 +586,7 @@ const Ze = {
574
586
  i.value
575
587
  ) : N;
576
588
  });
577
- return e ? /* @__PURE__ */ n(
589
+ return e ? /* @__PURE__ */ r(
578
590
  u.Group,
579
591
  {
580
592
  heading: e,
@@ -582,7 +594,7 @@ const Ze = {
582
594
  children: o
583
595
  },
584
596
  `group-${e}`
585
- ) : /* @__PURE__ */ n(u.Group, { children: o }, `group-${s}`);
597
+ ) : /* @__PURE__ */ r(u.Group, { children: o }, `group-${s}`);
586
598
  })
587
599
  ]
588
600
  }
@@ -593,10 +605,10 @@ const Ze = {
593
605
  }
594
606
  );
595
607
  de.displayName = "MultiSelect";
596
- const wt = de;
608
+ const xt = de;
597
609
  export {
598
- wt as M,
610
+ xt as M,
599
611
  et as a,
600
612
  Ze as m
601
613
  };
602
- //# sourceMappingURL=multi-select-BdHHDrRN.js.map
614
+ //# sourceMappingURL=multi-select-WE4S9FIF.js.map