@ds-mo/ui 13.3.0 → 13.5.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 (391) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +14 -1
  3. package/dist/agent.json +126 -28
  4. package/dist/angular/boolean-value-accessor.js +3 -3
  5. package/dist/angular/ds-agent-activity.js +3 -3
  6. package/dist/angular/ds-agent-response.d.ts +1 -1
  7. package/dist/angular/ds-agent-response.js +5 -5
  8. package/dist/angular/ds-agent-source-list.js +3 -3
  9. package/dist/angular/ds-agent-tool-call.js +3 -3
  10. package/dist/angular/ds-attachment-list.js +3 -3
  11. package/dist/angular/ds-avatar.js +3 -3
  12. package/dist/angular/ds-badge.js +3 -3
  13. package/dist/angular/ds-bar-nav.js +3 -3
  14. package/dist/angular/ds-bar-title.js +3 -3
  15. package/dist/angular/ds-bar-workflow.js +3 -3
  16. package/dist/angular/ds-breadcrumb.js +3 -3
  17. package/dist/angular/ds-button-filled.js +3 -3
  18. package/dist/angular/ds-button-unfilled.js +3 -3
  19. package/dist/angular/ds-card-data-viz.js +3 -3
  20. package/dist/angular/ds-card-overview.js +3 -3
  21. package/dist/angular/ds-card-setting.js +3 -3
  22. package/dist/angular/ds-chart-bar.js +3 -3
  23. package/dist/angular/ds-chart-donut.js +3 -3
  24. package/dist/angular/ds-chart-legend.js +3 -3
  25. package/dist/angular/ds-chart-line.js +3 -3
  26. package/dist/angular/ds-checkbox.js +3 -3
  27. package/dist/angular/ds-chip.js +3 -3
  28. package/dist/angular/ds-code-block.js +3 -3
  29. package/dist/angular/ds-conversation-list-item.js +3 -3
  30. package/dist/angular/ds-conversation-list-section.js +3 -3
  31. package/dist/angular/ds-conversation-list.js +3 -3
  32. package/dist/angular/ds-divider.js +3 -3
  33. package/dist/angular/ds-empty-state.js +3 -3
  34. package/dist/angular/ds-field.js +3 -3
  35. package/dist/angular/ds-icon.js +3 -3
  36. package/dist/angular/ds-input.js +3 -3
  37. package/dist/angular/ds-loader.js +3 -3
  38. package/dist/angular/ds-markdown.js +3 -3
  39. package/dist/angular/ds-menu.js +3 -3
  40. package/dist/angular/ds-message-actions.d.ts +19 -0
  41. package/dist/angular/ds-message-actions.js +45 -0
  42. package/dist/angular/ds-message-bubble.js +3 -3
  43. package/dist/angular/ds-message-composer.js +3 -3
  44. package/dist/angular/ds-message-scroller.js +3 -3
  45. package/dist/angular/ds-message.d.ts +1 -1
  46. package/dist/angular/ds-message.js +5 -5
  47. package/dist/angular/ds-mobile-bar-nav.js +3 -3
  48. package/dist/angular/ds-mobile-header.js +3 -3
  49. package/dist/angular/ds-mobile-section-switcher.js +3 -3
  50. package/dist/angular/ds-mobile-sheet-nav.js +3 -3
  51. package/dist/angular/ds-modal.js +3 -3
  52. package/dist/angular/ds-panel-nav.js +3 -3
  53. package/dist/angular/ds-panel-sub-nav.js +3 -3
  54. package/dist/angular/ds-panel-tool-header.js +3 -3
  55. package/dist/angular/ds-panel-tool-search.js +3 -3
  56. package/dist/angular/ds-panel-tools.js +3 -3
  57. package/dist/angular/ds-radio.js +3 -3
  58. package/dist/angular/ds-scroll-overlay.js +3 -3
  59. package/dist/angular/ds-select.js +3 -3
  60. package/dist/angular/ds-shell-app.js +3 -3
  61. package/dist/angular/ds-shell-page.js +3 -3
  62. package/dist/angular/ds-shell-tools.js +3 -3
  63. package/dist/angular/ds-skeleton.js +3 -3
  64. package/dist/angular/ds-slider.js +3 -3
  65. package/dist/angular/ds-swatch-picker.js +3 -3
  66. package/dist/angular/ds-switch.js +3 -3
  67. package/dist/angular/ds-tab-group.js +3 -3
  68. package/dist/angular/ds-tag.js +3 -3
  69. package/dist/angular/ds-text.js +3 -3
  70. package/dist/angular/ds-toast.js +3 -3
  71. package/dist/angular/ds-tooltip-data-viz.js +3 -3
  72. package/dist/angular/ds-tooltip.js +3 -3
  73. package/dist/angular/ds-typing-indicator.js +3 -3
  74. package/dist/angular/index.d.ts +1 -1
  75. package/dist/angular/index.js +1 -0
  76. package/dist/angular/proxies.d.ts +1 -0
  77. package/dist/angular/proxies.js +1 -0
  78. package/dist/angular/radio-value-accessor.js +3 -3
  79. package/dist/angular/select-value-accessor.js +3 -3
  80. package/dist/angular/text-value-accessor.js +3 -3
  81. package/dist/angular/value-accessor.js +3 -3
  82. package/dist/components/ds-agent-response.js +1 -1
  83. package/dist/components/ds-agent-response.js.map +1 -1
  84. package/dist/components/ds-agent-tool-call.js +1 -1
  85. package/dist/components/ds-attachment-list.js +1 -1
  86. package/dist/components/ds-bar-nav.js +1 -1
  87. package/dist/components/ds-bar-title.js +1 -1
  88. package/dist/components/ds-bar-workflow.js +1 -1
  89. package/dist/components/ds-card-overview.js +1 -1
  90. package/dist/components/ds-card-overview.js.map +1 -1
  91. package/dist/components/ds-chart-donut.js +1 -1
  92. package/dist/components/ds-chart-line.js +1 -1
  93. package/dist/components/ds-code-block.js +1 -1
  94. package/dist/components/ds-conversation-list-item.js +1 -1
  95. package/dist/components/ds-conversation-list-section.js +1 -1
  96. package/dist/components/ds-empty-state.js +1 -1
  97. package/dist/components/ds-field.js +1 -1
  98. package/dist/components/ds-input.js +1 -1
  99. package/dist/components/ds-input.js.map +1 -1
  100. package/dist/components/ds-markdown.js +1 -1
  101. package/dist/components/ds-menu.js +1 -1
  102. package/dist/components/ds-message-actions.d.ts +11 -0
  103. package/dist/components/ds-message-actions.js +2 -0
  104. package/dist/components/ds-message-actions.js.map +1 -0
  105. package/dist/components/ds-message-composer.js +1 -1
  106. package/dist/components/ds-message-scroller.js +1 -1
  107. package/dist/components/ds-message.js +1 -1
  108. package/dist/components/ds-mobile-bar-nav.js +1 -1
  109. package/dist/components/ds-mobile-header.js +1 -1
  110. package/dist/components/ds-mobile-section-switcher.js +1 -1
  111. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  112. package/dist/components/ds-panel-nav.js +1 -1
  113. package/dist/components/ds-panel-tool-header.js +1 -1
  114. package/dist/components/ds-panel-tool-search.js +1 -1
  115. package/dist/components/ds-panel-tools.js +1 -1
  116. package/dist/components/ds-select.js +1 -1
  117. package/dist/components/ds-select.js.map +1 -1
  118. package/dist/components/ds-shell-app.js +1 -1
  119. package/dist/components/ds-shell-page.js +1 -1
  120. package/dist/components/ds-shell-tools.js +1 -1
  121. package/dist/components/ds-swatch-picker.js +1 -1
  122. package/dist/components/ds-toast.js +1 -1
  123. package/dist/components/ds-tooltip-data-viz.js +1 -1
  124. package/dist/components/ds-typing-indicator.js +1 -1
  125. package/dist/components/index.d.ts +3 -0
  126. package/dist/components/{p-DEaszb15.js → p-1moOgMI-.js} +2 -2
  127. package/dist/components/p-4scN0Mgn.js +2 -0
  128. package/dist/components/{p-dVlKpt8U.js → p-B3PdrMP0.js} +2 -2
  129. package/dist/components/{p-Beejrd-R.js → p-BN9FZESH.js} +2 -2
  130. package/dist/components/{p-CAAWaTYD.js → p-BQTJ7ePr.js} +2 -2
  131. package/dist/components/{p-POvz6PiQ.js → p-BgjtMMye.js} +2 -2
  132. package/dist/components/p-BnhGV__o.js +2 -0
  133. package/dist/components/p-BnhGV__o.js.map +1 -0
  134. package/dist/components/p-BxEOlO5k.js +2 -0
  135. package/dist/components/p-BxEOlO5k.js.map +1 -0
  136. package/dist/components/{p-CUWFHTM6.js → p-CIgag7g2.js} +2 -2
  137. package/dist/components/{p-E7Ds1fQa.js → p-CQ4vAZ9j.js} +2 -2
  138. package/dist/components/{p-L-JEw-kX.js → p-CUSz0JFa.js} +2 -2
  139. package/dist/components/{p-xNfMEOpU.js → p-CWItD0gL.js} +2 -2
  140. package/dist/components/p-CWKrq35a.js +2 -0
  141. package/dist/components/p-CWKrq35a.js.map +1 -0
  142. package/dist/components/{p-CyjC57Dk.js → p-CmUGA_q4.js} +2 -2
  143. package/dist/components/p-CqOswTy8.js +2 -0
  144. package/dist/components/{p-Bi-21Kvd.js.map → p-CqOswTy8.js.map} +1 -1
  145. package/dist/components/{p-DKaXlmoQ.js → p-D4bVE7e4.js} +2 -2
  146. package/dist/components/{p-DAbOfJgz.js → p-D5PN6zdD.js} +2 -2
  147. package/dist/components/{p-BvvoC1lV.js → p-DXGKfXTh.js} +2 -2
  148. package/dist/components/{p-krhJI5_Y.js → p-DtV263qO.js} +2 -2
  149. package/dist/components/{p-vY5ia2gz.js → p-RT1mts9U.js} +2 -2
  150. package/dist/components/{p-z6c6TMlA.js → p-a6cnCKWk.js} +2 -2
  151. package/dist/docs/components.json +291 -16
  152. package/dist/mcp-data/registry/agent-activity.json +1 -1
  153. package/dist/mcp-data/registry/agent-response.json +25 -4
  154. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  155. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  156. package/dist/mcp-data/registry/attachment-list.json +1 -1
  157. package/dist/mcp-data/registry/avatar.json +2 -2
  158. package/dist/mcp-data/registry/badge.json +1 -1
  159. package/dist/mcp-data/registry/bar-nav.json +1 -1
  160. package/dist/mcp-data/registry/bar-title.json +1 -1
  161. package/dist/mcp-data/registry/bar-workflow.json +1 -1
  162. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  163. package/dist/mcp-data/registry/button-filled.json +1 -1
  164. package/dist/mcp-data/registry/button-unfilled.json +1 -1
  165. package/dist/mcp-data/registry/card-data-viz.json +1 -1
  166. package/dist/mcp-data/registry/card-overview.json +33 -35
  167. package/dist/mcp-data/registry/card-setting.json +1 -1
  168. package/dist/mcp-data/registry/chart-bar.json +1 -1
  169. package/dist/mcp-data/registry/chart-donut.json +1 -1
  170. package/dist/mcp-data/registry/chart-legend.json +1 -1
  171. package/dist/mcp-data/registry/chart-line.json +1 -1
  172. package/dist/mcp-data/registry/checkbox.json +1 -1
  173. package/dist/mcp-data/registry/chip.json +1 -1
  174. package/dist/mcp-data/registry/code-block.json +2 -2
  175. package/dist/mcp-data/registry/conversation-list-item.json +1 -1
  176. package/dist/mcp-data/registry/conversation-list-section.json +1 -1
  177. package/dist/mcp-data/registry/conversation-list.json +1 -1
  178. package/dist/mcp-data/registry/divider.json +1 -1
  179. package/dist/mcp-data/registry/empty-state.json +1 -1
  180. package/dist/mcp-data/registry/field.json +1 -1
  181. package/dist/mcp-data/registry/icon.json +1 -1
  182. package/dist/mcp-data/registry/input.json +6 -6
  183. package/dist/mcp-data/registry/loader.json +1 -1
  184. package/dist/mcp-data/registry/markdown.json +1 -1
  185. package/dist/mcp-data/registry/menu.json +1 -1
  186. package/dist/mcp-data/registry/message-actions.json +186 -0
  187. package/dist/mcp-data/registry/message-bubble.json +1 -1
  188. package/dist/mcp-data/registry/message-composer.json +1 -1
  189. package/dist/mcp-data/registry/message-scroller.json +1 -1
  190. package/dist/mcp-data/registry/message.json +28 -7
  191. package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
  192. package/dist/mcp-data/registry/mobile-header.json +1 -1
  193. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  194. package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
  195. package/dist/mcp-data/registry/modal.json +1 -1
  196. package/dist/mcp-data/registry/panel-nav.json +1 -1
  197. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  198. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  199. package/dist/mcp-data/registry/panel-tool-search.json +1 -1
  200. package/dist/mcp-data/registry/panel-tools.json +1 -1
  201. package/dist/mcp-data/registry/radio.json +1 -1
  202. package/dist/mcp-data/registry/registry.json +129 -28
  203. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  204. package/dist/mcp-data/registry/select.json +5 -5
  205. package/dist/mcp-data/registry/shell-app.json +1 -1
  206. package/dist/mcp-data/registry/shell-page.json +1 -1
  207. package/dist/mcp-data/registry/shell-tools.json +1 -1
  208. package/dist/mcp-data/registry/skeleton.json +1 -1
  209. package/dist/mcp-data/registry/slider.json +1 -1
  210. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  211. package/dist/mcp-data/registry/switch.json +1 -1
  212. package/dist/mcp-data/registry/tab-group.json +1 -1
  213. package/dist/mcp-data/registry/tag.json +1 -1
  214. package/dist/mcp-data/registry/text.json +1 -1
  215. package/dist/mcp-data/registry/toast.json +1 -1
  216. package/dist/mcp-data/registry/tooltip-data-viz.json +1 -1
  217. package/dist/mcp-data/registry/tooltip.json +1 -1
  218. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  219. package/dist/react/components.d.ts +1 -0
  220. package/dist/react/components.js +1 -0
  221. package/dist/react/ds-agent-activity.d.ts +1 -1
  222. package/dist/react/ds-agent-activity.js +1 -1
  223. package/dist/react/ds-agent-response.d.ts +1 -1
  224. package/dist/react/ds-agent-response.js +1 -1
  225. package/dist/react/ds-agent-source-list.d.ts +1 -1
  226. package/dist/react/ds-agent-source-list.js +1 -1
  227. package/dist/react/ds-agent-tool-call.d.ts +1 -1
  228. package/dist/react/ds-agent-tool-call.js +1 -1
  229. package/dist/react/ds-attachment-list.d.ts +1 -1
  230. package/dist/react/ds-attachment-list.js +1 -1
  231. package/dist/react/ds-avatar.d.ts +1 -1
  232. package/dist/react/ds-avatar.js +1 -1
  233. package/dist/react/ds-badge.d.ts +1 -1
  234. package/dist/react/ds-badge.js +1 -1
  235. package/dist/react/ds-bar-nav.d.ts +1 -1
  236. package/dist/react/ds-bar-nav.js +1 -1
  237. package/dist/react/ds-bar-title.d.ts +1 -1
  238. package/dist/react/ds-bar-title.js +1 -1
  239. package/dist/react/ds-bar-workflow.d.ts +1 -1
  240. package/dist/react/ds-bar-workflow.js +1 -1
  241. package/dist/react/ds-breadcrumb.d.ts +1 -1
  242. package/dist/react/ds-breadcrumb.js +1 -1
  243. package/dist/react/ds-button-filled.d.ts +1 -1
  244. package/dist/react/ds-button-filled.js +1 -1
  245. package/dist/react/ds-button-unfilled.d.ts +1 -1
  246. package/dist/react/ds-button-unfilled.js +1 -1
  247. package/dist/react/ds-card-data-viz.d.ts +1 -1
  248. package/dist/react/ds-card-data-viz.js +1 -1
  249. package/dist/react/ds-card-overview.d.ts +1 -1
  250. package/dist/react/ds-card-overview.js +1 -1
  251. package/dist/react/ds-card-setting.d.ts +1 -1
  252. package/dist/react/ds-card-setting.js +1 -1
  253. package/dist/react/ds-chart-bar.d.ts +1 -1
  254. package/dist/react/ds-chart-bar.js +1 -1
  255. package/dist/react/ds-chart-donut.d.ts +1 -1
  256. package/dist/react/ds-chart-donut.js +1 -1
  257. package/dist/react/ds-chart-legend.d.ts +1 -1
  258. package/dist/react/ds-chart-legend.js +1 -1
  259. package/dist/react/ds-chart-line.d.ts +1 -1
  260. package/dist/react/ds-chart-line.js +1 -1
  261. package/dist/react/ds-checkbox.d.ts +1 -1
  262. package/dist/react/ds-checkbox.js +1 -1
  263. package/dist/react/ds-chip.d.ts +1 -1
  264. package/dist/react/ds-chip.js +1 -1
  265. package/dist/react/ds-code-block.d.ts +1 -1
  266. package/dist/react/ds-code-block.js +1 -1
  267. package/dist/react/ds-conversation-list-item.d.ts +1 -1
  268. package/dist/react/ds-conversation-list-item.js +1 -1
  269. package/dist/react/ds-conversation-list-section.d.ts +1 -1
  270. package/dist/react/ds-conversation-list-section.js +1 -1
  271. package/dist/react/ds-conversation-list.d.ts +1 -1
  272. package/dist/react/ds-conversation-list.js +1 -1
  273. package/dist/react/ds-divider.d.ts +1 -1
  274. package/dist/react/ds-divider.js +1 -1
  275. package/dist/react/ds-empty-state.d.ts +1 -1
  276. package/dist/react/ds-empty-state.js +1 -1
  277. package/dist/react/ds-field.d.ts +1 -1
  278. package/dist/react/ds-field.js +1 -1
  279. package/dist/react/ds-icon.d.ts +1 -1
  280. package/dist/react/ds-icon.js +1 -1
  281. package/dist/react/ds-input.d.ts +1 -1
  282. package/dist/react/ds-input.js +1 -1
  283. package/dist/react/ds-loader.d.ts +1 -1
  284. package/dist/react/ds-loader.js +1 -1
  285. package/dist/react/ds-markdown.d.ts +1 -1
  286. package/dist/react/ds-markdown.js +1 -1
  287. package/dist/react/ds-menu.d.ts +1 -1
  288. package/dist/react/ds-menu.js +1 -1
  289. package/dist/react/ds-message-actions.d.ts +13 -0
  290. package/dist/react/ds-message-actions.js +15 -0
  291. package/dist/react/ds-message-bubble.d.ts +1 -1
  292. package/dist/react/ds-message-bubble.js +1 -1
  293. package/dist/react/ds-message-composer.d.ts +1 -1
  294. package/dist/react/ds-message-composer.js +1 -1
  295. package/dist/react/ds-message-scroller.d.ts +1 -1
  296. package/dist/react/ds-message-scroller.js +1 -1
  297. package/dist/react/ds-message.d.ts +1 -1
  298. package/dist/react/ds-message.js +1 -1
  299. package/dist/react/ds-mobile-bar-nav.d.ts +1 -1
  300. package/dist/react/ds-mobile-bar-nav.js +1 -1
  301. package/dist/react/ds-mobile-header.d.ts +1 -1
  302. package/dist/react/ds-mobile-header.js +1 -1
  303. package/dist/react/ds-mobile-section-switcher.d.ts +1 -1
  304. package/dist/react/ds-mobile-section-switcher.js +1 -1
  305. package/dist/react/ds-mobile-sheet-nav.d.ts +1 -1
  306. package/dist/react/ds-mobile-sheet-nav.js +1 -1
  307. package/dist/react/ds-modal.d.ts +1 -1
  308. package/dist/react/ds-modal.js +1 -1
  309. package/dist/react/ds-panel-nav.d.ts +1 -1
  310. package/dist/react/ds-panel-nav.js +1 -1
  311. package/dist/react/ds-panel-sub-nav.d.ts +1 -1
  312. package/dist/react/ds-panel-sub-nav.js +1 -1
  313. package/dist/react/ds-panel-tool-header.d.ts +1 -1
  314. package/dist/react/ds-panel-tool-header.js +1 -1
  315. package/dist/react/ds-panel-tool-search.d.ts +1 -1
  316. package/dist/react/ds-panel-tool-search.js +1 -1
  317. package/dist/react/ds-panel-tools.d.ts +1 -1
  318. package/dist/react/ds-panel-tools.js +1 -1
  319. package/dist/react/ds-radio.d.ts +1 -1
  320. package/dist/react/ds-radio.js +1 -1
  321. package/dist/react/ds-scroll-overlay.d.ts +1 -1
  322. package/dist/react/ds-scroll-overlay.js +1 -1
  323. package/dist/react/ds-select.d.ts +1 -1
  324. package/dist/react/ds-select.js +1 -1
  325. package/dist/react/ds-shell-app.d.ts +1 -1
  326. package/dist/react/ds-shell-app.js +1 -1
  327. package/dist/react/ds-shell-page.d.ts +1 -1
  328. package/dist/react/ds-shell-page.js +1 -1
  329. package/dist/react/ds-shell-tools.d.ts +1 -1
  330. package/dist/react/ds-shell-tools.js +1 -1
  331. package/dist/react/ds-skeleton.d.ts +1 -1
  332. package/dist/react/ds-skeleton.js +1 -1
  333. package/dist/react/ds-slider.d.ts +1 -1
  334. package/dist/react/ds-slider.js +1 -1
  335. package/dist/react/ds-swatch-picker.d.ts +1 -1
  336. package/dist/react/ds-swatch-picker.js +1 -1
  337. package/dist/react/ds-switch.d.ts +1 -1
  338. package/dist/react/ds-switch.js +1 -1
  339. package/dist/react/ds-tab-group.d.ts +1 -1
  340. package/dist/react/ds-tab-group.js +1 -1
  341. package/dist/react/ds-tag.d.ts +1 -1
  342. package/dist/react/ds-tag.js +1 -1
  343. package/dist/react/ds-text.d.ts +1 -1
  344. package/dist/react/ds-text.js +1 -1
  345. package/dist/react/ds-toast.d.ts +1 -1
  346. package/dist/react/ds-toast.js +1 -1
  347. package/dist/react/ds-tooltip-data-viz.d.ts +1 -1
  348. package/dist/react/ds-tooltip-data-viz.js +1 -1
  349. package/dist/react/ds-tooltip.d.ts +1 -1
  350. package/dist/react/ds-tooltip.js +1 -1
  351. package/dist/react/ds-typing-indicator.d.ts +1 -1
  352. package/dist/react/ds-typing-indicator.js +1 -1
  353. package/dist/react/react-runtime.d.ts +17 -0
  354. package/dist/react/react-runtime.js +13 -0
  355. package/dist/types/components/AgentResponse/AgentResponse.d.ts +3 -1
  356. package/dist/types/components/CardOverview/CardOverview.d.ts +11 -10
  357. package/dist/types/components/CardOverview/card-overview-controller.d.ts +13 -1
  358. package/dist/types/components/CardOverview/card-overview-types.d.ts +8 -2
  359. package/dist/types/components/CardOverview/index.d.ts +1 -1
  360. package/dist/types/components/CodeBlock/CodeBlock.d.ts +3 -1
  361. package/dist/types/components/Input/Input.d.ts +1 -1
  362. package/dist/types/components/Message/Message.d.ts +4 -1
  363. package/dist/types/components/MessageActions/MessageActions.d.ts +18 -0
  364. package/dist/types/components/Select/Select.d.ts +1 -1
  365. package/dist/types/components/conversation-types.d.ts +5 -0
  366. package/dist/types/components.d.ts +88 -18
  367. package/dist/types/utils/clipboard.d.ts +31 -0
  368. package/package.json +5 -8
  369. package/dist/components/p-B_A4g4Xe.js +0 -2
  370. package/dist/components/p-B_A4g4Xe.js.map +0 -1
  371. package/dist/components/p-Bi-21Kvd.js +0 -2
  372. package/dist/components/p-DV-tK5TR.js +0 -2
  373. package/dist/components/p-awaBUdlz.js +0 -2
  374. package/dist/components/p-awaBUdlz.js.map +0 -1
  375. /package/dist/components/{p-DEaszb15.js.map → p-1moOgMI-.js.map} +0 -0
  376. /package/dist/components/{p-DV-tK5TR.js.map → p-4scN0Mgn.js.map} +0 -0
  377. /package/dist/components/{p-dVlKpt8U.js.map → p-B3PdrMP0.js.map} +0 -0
  378. /package/dist/components/{p-Beejrd-R.js.map → p-BN9FZESH.js.map} +0 -0
  379. /package/dist/components/{p-CAAWaTYD.js.map → p-BQTJ7ePr.js.map} +0 -0
  380. /package/dist/components/{p-POvz6PiQ.js.map → p-BgjtMMye.js.map} +0 -0
  381. /package/dist/components/{p-CUWFHTM6.js.map → p-CIgag7g2.js.map} +0 -0
  382. /package/dist/components/{p-E7Ds1fQa.js.map → p-CQ4vAZ9j.js.map} +0 -0
  383. /package/dist/components/{p-L-JEw-kX.js.map → p-CUSz0JFa.js.map} +0 -0
  384. /package/dist/components/{p-xNfMEOpU.js.map → p-CWItD0gL.js.map} +0 -0
  385. /package/dist/components/{p-CyjC57Dk.js.map → p-CmUGA_q4.js.map} +0 -0
  386. /package/dist/components/{p-DKaXlmoQ.js.map → p-D4bVE7e4.js.map} +0 -0
  387. /package/dist/components/{p-DAbOfJgz.js.map → p-D5PN6zdD.js.map} +0 -0
  388. /package/dist/components/{p-BvvoC1lV.js.map → p-DXGKfXTh.js.map} +0 -0
  389. /package/dist/components/{p-krhJI5_Y.js.map → p-DtV263qO.js.map} +0 -0
  390. /package/dist/components/{p-vY5ia2gz.js.map → p-RT1mts9U.js.map} +0 -0
  391. /package/dist/components/{p-z6c6TMlA.js.map → p-a6cnCKWk.js.map} +0 -0
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"13.3.0","components":65,"digest":"e45b15820c04d5a560af9cff20f318989cad1b2fdb84f1a6735a6e871f3cf279","completedAt":"2026-07-31T03:23:36.002Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"13.5.0","components":66,"digest":"eebaa1f1eabb8a41935b6137f29b9e5a04282391042c802fc0025b1e4802e141","completedAt":"2026-07-31T23:33:12.355Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "13.3.0",
4
+ "packageVersion": "13.5.0",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
@@ -35,6 +35,11 @@
35
35
  "role": "Renders ordered normalized agent response parts.",
36
36
  "required": true
37
37
  },
38
+ {
39
+ "component": "component:ds-message-actions",
40
+ "role": "Provides completed-response Copy and controlled feedback without owning response data or consequences.",
41
+ "required": false
42
+ },
38
43
  {
39
44
  "component": "component:ds-message-composer",
40
45
  "role": "Emits participant submission and stop intent.",
@@ -45,6 +50,7 @@
45
50
  "The application owns scripted or real transport, immutable response parts, retry, stop, generated titles, and persistence.",
46
51
  "User-sent prompts use MessageBubble's user variant and body-medium regular default with secondary foreground; the application does not promote ordinary sent-message copy to body-large.",
47
52
  "AgentResponse renders directly in Message without a MessageBubble surface, owns ordered display only, and never reveals private reasoning.",
53
+ "MessageActions may copy application-authored response text and emit controlled feedback intent; the application owns serialization, persistence, submission, permissions, analytics, and model consequences.",
48
54
  "Markdown parsing and safe node creation belong to the renderer; the renderer-neutral @ds-mo/ui/prose.css surface owns only semantic-tree styling.",
49
55
  "Tool-call components display execution state but do not request participant approval."
50
56
  ],
@@ -284,6 +290,11 @@
284
290
  "role": "Owns plain user-sent and received person-to-person surfaces and their body-medium default independently of row semantics.",
285
291
  "required": true
286
292
  },
293
+ {
294
+ "component": "component:ds-message-actions",
295
+ "role": "Provides optional message Copy and controlled response-feedback actions in the Message metadata region.",
296
+ "required": false
297
+ },
287
298
  {
288
299
  "component": "component:ds-typing-indicator",
289
300
  "role": "Presents transient participant typing status without representing it as persisted message content.",
@@ -306,12 +317,14 @@
306
317
  "When history search is present, distinguish an empty history from a populated history with no matching conversations.",
307
318
  "Plain user-sent and received person-to-person copy uses MessageBubble's body-medium regular default; user bubbles use secondary foreground, and the application must not promote ordinary conversation turns to body-large.",
308
319
  "TypingIndicator owns transient participant typing status and is composed directly in an incoming Message; it is never approximated with a MessageBubble variant.",
320
+ "MessageActions owns browser Copy behavior and controlled feedback intent. The application supplies copyable content and owns feedback persistence, submission, permissions, analytics, and consequences.",
309
321
  "MessageScroller owns reader-relative transcript position and follow behavior. Compose MessageComposer in its overlay slot with 8px padding on every side so transcript content moves behind the surface while measured bottom clearance keeps the latest turn readable.",
310
322
  "MessageComposer emits intent while the application controls its value and status. Its submit action defaults to brand for agent and person-to-person channels; select another submitIntent only for a different semantic consequence, never merely to identify AI content."
311
323
  ],
312
324
  "accessibility": [
313
325
  "Give history and transcript regions distinct localized names.",
314
326
  "Preserve message author, order, time, status, and delivery meaning in text.",
327
+ "When metadata actions use hover visibility, fade the complete reserved metadata row, preserve keyboard access, and keep the row visible for touch input.",
315
328
  "Do not force the reader back to the live edge after deliberate transcript interaction."
316
329
  ],
317
330
  "responsiveBehavior": [
package/dist/agent.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "13.3.0",
4
+ "packageVersion": "13.5.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -99,6 +99,7 @@
99
99
  ],
100
100
  "commonlyComposedWith": [
101
101
  "component:ds-message",
102
+ "component:ds-message-actions",
102
103
  "component:ds-markdown",
103
104
  "component:ds-agent-activity",
104
105
  "component:ds-agent-tool-call",
@@ -109,12 +110,14 @@
109
110
  ],
110
111
  "accessibility": [
111
112
  "Part order matches authored reading order and remains inside generic message semantics.",
112
- "Streaming state supplements rather than replaces meaningful textual status."
113
+ "Streaming state supplements rather than replaces meaningful textual status.",
114
+ "Forwarded metadata actions retain Message ordering, keyboard reveal, and touch visibility."
113
115
  ],
114
116
  "states": [
115
117
  "The owner replaces immutable part arrays as scripted or live output changes.",
116
118
  "AgentResponse renders directly in Message without borrowing a plain MessageBubble surface.",
117
- "Markdown parts use the optional safe renderer; prose CSS owns only semantic-tree styling and never response ordering or streaming state."
119
+ "Markdown parts use the optional safe renderer; prose CSS owns only semantic-tree styling and never response ordering or streaming state.",
120
+ "The application may compose MessageActions for completed-response Copy and controlled feedback while retaining persistent retry or recovery controls in the separate actions slot."
118
121
  ],
119
122
  "responsiveBehavior": [
120
123
  "Rich content uses the available transcript width while respecting readable measure and local overflow constraints."
@@ -140,6 +143,10 @@
140
143
  "type": "string",
141
144
  "required": false
142
145
  },
146
+ "metadataVisibility": {
147
+ "type": "MessageMetadataVisibility",
148
+ "required": false
149
+ },
143
150
  "parts": {
144
151
  "type": "AgentResponsePart[]",
145
152
  "required": false
@@ -416,7 +423,7 @@
416
423
  "intentStatus": "complete",
417
424
  "intent": {
418
425
  "audience": "general",
419
- "status": "experimental",
426
+ "status": "stable",
420
427
  "summary": "Compact icon avatar for visually identifying a person, group, channel, or conversation type.",
421
428
  "useWhen": [
422
429
  "A list or message composition needs a consistent circular identity marker represented by an icon at md, sm, or xs control density."
@@ -1783,12 +1790,12 @@
1783
1790
  "tag": "ds-card-overview",
1784
1791
  "name": "card-overview",
1785
1792
  "title": "CardOverview",
1786
- "summary": "Page-level summary card pairing one headline score with a reporting period, an application-owned period control, and a responsive grid of comparable measures, with an optional elevated scroll-collapse surface and compact 48px presentation.",
1793
+ "summary": "Page-level summary with a persistent 48px reporting bar above an equal-track grid of an optional safety score and comparable measures, plus an elevated page-controlled collapse surface.",
1787
1794
  "intentStatus": "complete",
1788
1795
  "intent": {
1789
1796
  "audience": "general",
1790
1797
  "status": "experimental",
1791
- "summary": "Page-level summary card pairing one headline score with a reporting period, an application-owned period control, and a responsive grid of comparable measures, with an optional elevated scroll-collapse surface and compact 48px presentation.",
1798
+ "summary": "Page-level summary with a persistent 48px reporting bar above an equal-track grid of an optional safety score and comparable measures, plus an elevated page-controlled collapse surface.",
1792
1799
  "useWhen": [
1793
1800
  "A page opens with one headline figure that the surrounding measures explain.",
1794
1801
  "Every measure is compared against the same period, so one caption describes the comparison for all of them.",
@@ -1820,8 +1827,7 @@
1820
1827
  ],
1821
1828
  "accessibility": [
1822
1829
  "The bar is a labelled region; set overviewLabel to name what is being summarised, such as Safety summary.",
1823
- "Trend arrows are decorative and hidden from assistive technology, so the formatted change value must read correctly on its own.",
1824
- "Colour never carries the trend meaning alone; the arrow direction and the value are both present.",
1830
+ "Colour never carries trend meaning alone; the arrow direction and formatted change value are both included in the accessible text.",
1825
1831
  "Measures become selectable only when they are not inactive. Selectable measures form one roving tab stop, so the grid is a single stop and arrow keys move between measures.",
1826
1832
  "Set labelTooltip when a measure's label needs qualifying rather than shortening the label into something ambiguous.",
1827
1833
  "While loading, the region exposes a busy state and renders skeletons whose type metrics match the resolved content."
@@ -1830,20 +1836,21 @@
1830
1836
  "Score and measures are supplied as data; the component owns their type treatment so summary bars stay consistent across pages.",
1831
1837
  "Trend is supplied already resolved as a direction, a formatted value, and a tone. Whether a rise reads well is a product decision, so the component never infers tone from the numbers. Derive it with resolveMetricTrend.",
1832
1838
  "Omit a trend when there is nothing to report; resolveMetricTrend returns null in that case so no zero change is rendered.",
1833
- "Omit score to render the bar without a headline figure. Set scoreErrorMessage to report that the figure could not be resolved while the measures remain readable.",
1839
+ "Omit score to render a centered Score unavailable cell with a tertiary border and no score fill. Set scoreErrorMessage to replace that copy while the measures remain readable.",
1834
1840
  "Loading replaces the score and the measures with skeletons and does not alter the slotted period control.",
1835
- "At most six measures are shown. Keep larger collections outside the summary bar rather than turning it into a dense dashboard.",
1836
- "The period control is slotted rather than owned, because the choice of stepper, select, or date range varies by product surface.",
1837
- "During a page-controlled scroll collapse, the component preserves its expanded flow height while the elevated visual surface shrinks toward 48px and the full content translates upward inside an internal clip. The elevation remains fitted to the visible surface instead of being clipped with the content.",
1838
- "compact is exactly 48px high and keeps only the score label, score value, trend, reporting copy, and slotted period control. It omits the score band, measures, and footer."
1841
+ "At most seven measures are shown. Keep larger collections outside the summary bar rather than turning it into a dense dashboard.",
1842
+ "The period and filter controls are slotted rather than owned. Use the period slot when the current range is selectable; otherwise periodLabel supplies fixed current copy in the same md control-frame and label-inset anatomy. Use the filter slot for the application-owned comparison-window control. Slotted Selects use hasBorder false so the 48px bar owns their surrounding boundary.",
1843
+ "A numeric safety score infers fair from 0–50, good from 51–80, and excellent from 81–100. The level can be supplied explicitly when the displayed value is not numeric. The deprecated band field is ignored.",
1844
+ "The safety score is the first grid cell and uses the same track, 8px outer inset, 6px inner padding, dividers, and responsive behavior as metric cells. The display value removes 12px from both block edges of its line box so it does not increase the shared row height. Score remains nonselectable and excluded from metric roving focus.",
1845
+ "During page-controlled scroll collapse, the component preserves its expanded flow height and stationary reporting bar while the metric grid moves and clips beneath it. Elevation remains fitted to the visible surface.",
1846
+ "compact is exactly 48px high and renders only the reporting bar. It omits Score, measures, and footer."
1839
1847
  ],
1840
1848
  "responsiveBehavior": [
1841
- "The measure grid reflows to fewer columns and finally stacks, driven by the minimum measure width alone. There is no measurement and no horizontal scrolling.",
1849
+ "The measure grid reflows to fewer columns and finally stacks without horizontal scrolling. Even cell totals prefer complete rows; odd totals retain the densest fitting layout and may leave an orphan in the final row.",
1842
1850
  "Every occupied grid track has the same width. When a final row is incomplete, its measures keep the same width as the row above and the unused tracks remain empty.",
1843
1851
  "Set metricMinWidth to change the width a measure may shrink to before the grid drops a column.",
1844
- "The score block hugs its content and never shrinks, so the headline figure holds its size while the grid absorbs the remaining width.",
1845
- "Once the card reaches its narrow stacked state, one summary block holds the score label, score, trend, score band, reporting period, and the application-owned period control above the single-column measures.",
1846
- "In that stacked summary, the score and trend share one line at the start, while the score band is hidden to preserve space. The period control stays at the upper end, while the current period and comparison sit on separate right-aligned lines beside the score.",
1852
+ "The safety score participates in the same equal-width tracks as measures rather than occupying a separate rail.",
1853
+ "The reporting bar owns an exact 8px inset on every edge. Fixed current copy and slotted controls begin at that inset; their labels share md control-frame geometry and truncate before changing the 48px height.",
1847
1854
  "Every measure occupies a full-width row in the stacked state.",
1848
1855
  "Set layout to stacked when the owning page shell enters a responsive mode before the card's own container reaches its narrow threshold.",
1849
1856
  "CardOverview does not observe scroll, choose sticky offsets, or switch its own presentation. The page owner supplies collapse progress, keeps the card sticky at the appropriate shell inset, and swaps to compact at the 48px endpoint.",
@@ -1852,7 +1859,7 @@
1852
1859
  "frameworkCaveats": {
1853
1860
  "customElements": [
1854
1861
  "Assign score and metrics as JavaScript properties; both are objects and cannot be expressed as HTML attributes.",
1855
- "Place the period control in the filter slot; the component reserves space for it but never renders one.",
1862
+ "Place an optional current-range control in the period slot and the comparison-window control in the filter slot; the component reserves their layout but never computes or renders controls.",
1856
1863
  "When driving scroll collapse, update scrollCollapseProgress from page-owned geometry and swap to a separate compact presentation at the endpoint."
1857
1864
  ],
1858
1865
  "react": [
@@ -1863,7 +1870,7 @@
1863
1870
  "angular": [
1864
1871
  "Bind [score] and [metrics] as properties and read the selected measure from $event.detail on (dsMetricSelect).",
1865
1872
  "Derive each trend with resolveMetricTrend so tone stays an explicit product decision.",
1866
- "Keep sticky geometry and [scrollCollapseProgress] in the page owner; CardOverview only renders the visual collapse."
1873
+ "Keep date math, sticky geometry, and [scrollCollapseProgress] in the page owner; CardOverview only renders the supplied composition and visual collapse."
1867
1874
  ]
1868
1875
  },
1869
1876
  "references": [
@@ -1939,11 +1946,9 @@
1939
1946
  },
1940
1947
  "dependencies": [
1941
1948
  "@ds-mo/ui",
1942
- "@ds-mo/tokens",
1943
- "@ds-mo/icons"
1949
+ "@ds-mo/tokens"
1944
1950
  ],
1945
1951
  "componentDependencies": [
1946
- "icon",
1947
1952
  "skeleton",
1948
1953
  "text",
1949
1954
  "tooltip"
@@ -3713,7 +3718,7 @@
3713
3718
  ],
3714
3719
  "states": [
3715
3720
  "Every size applies one complete control-density recipe across frame height, inline padding, icon zones, text-container inset, gap, and radius; supporting error content follows the shared 4px field flow.",
3716
- "The normal field boundary uses the shared secondary inset border. Focus promotes it to the thicker bold-brand inset stroke, while error uses the thicker bold-negative inset stroke without changing geometry.",
3721
+ "The normal field boundary uses the shared secondary inset border. Focus promotes it to the thicker bold-brand inset stroke, while error uses the thicker bold-negative inset stroke without changing geometry. Set hasBorder to false only in chrome that supplies enough surrounding structure; the control then remains borderless at rest, while focused, and while invalid, with semantics and supporting error copy unchanged.",
3717
3722
  "Placeholder text is secondary at rest and quaternary while the editable field is focused because it becomes decorative once typing begins.",
3718
3723
  "Entered values use the parent surface's primary foreground; prefix icons, suffix content, and resting placeholder text use its secondary foreground.",
3719
3724
  "Search fields show a standard borderless CrossCircle icon action only while they contain a value. Clearing emits the empty value and restores focus to the native field.",
@@ -4260,12 +4265,12 @@
4260
4265
  "tag": "ds-message",
4261
4266
  "name": "message",
4262
4267
  "title": "Message",
4263
- "summary": "Channel-neutral message row owning direction, grouping, author, time, delivery metadata, and header, footer, or action accessory regions.",
4268
+ "summary": "Channel-neutral message row owning direction, grouping, author, time, delivery metadata, and persistent or metadata action regions.",
4264
4269
  "intentStatus": "complete",
4265
4270
  "intent": {
4266
4271
  "audience": "general",
4267
4272
  "status": "experimental",
4268
- "summary": "Channel-neutral message row owning direction, grouping, author, time, delivery metadata, and header, footer, or action accessory regions.",
4273
+ "summary": "Channel-neutral message row owning direction, grouping, author, time, delivery metadata, and persistent or metadata action regions.",
4269
4274
  "useWhen": [
4270
4275
  "A transcript contains messages that need consistent incoming, outgoing, or system layout."
4271
4276
  ],
@@ -4274,6 +4279,7 @@
4274
4279
  ],
4275
4280
  "commonlyComposedWith": [
4276
4281
  "component:ds-message-bubble",
4282
+ "component:ds-message-actions",
4277
4283
  "component:ds-message-scroller"
4278
4284
  ],
4279
4285
  "patterns": [
@@ -4281,14 +4287,16 @@
4281
4287
  ],
4282
4288
  "accessibility": [
4283
4289
  "Author and time metadata remain textual when they are necessary to interpret the transcript.",
4284
- "Delivery failure uses negative Failed to send text in the footer while the message bubble keeps its normal outgoing treatment; when time is also visible, a tertiary middle dot separates the failure label and timestamp."
4290
+ "Delivery failure uses negative Failed to send text in the footer while the message bubble keeps its normal outgoing treatment; when time is also visible, a tertiary middle dot separates the failure label and timestamp.",
4291
+ "Hover-only metadata rows remain keyboard reachable, reveal on focus, and stay visible for touch and coarse-pointer input."
4285
4292
  ],
4286
4293
  "states": [
4287
4294
  "Pass an ISO timestamp. Message keeps the full value in dateTime and formats the visible value as a localized time; applications must not render a raw ISO string as visible transcript metadata.",
4288
4295
  "A visible incoming author uses body-small emphasis with primary foreground; timestamp and delivery metadata remain caption text.",
4289
4296
  "Visible author, bubble content, and timestamp or delivery footer use consistent 4px vertical gaps.",
4290
4297
  "Grouping joins adjacent bubble corners, shows the incoming author only at the start, and shows delivery/time metadata only at the end. Outgoing author remains in the accessible message label without repeating a visible You label.",
4291
- "Set showAuthor false only when the product makes participant and assistant roles visually self-evident; continue passing author so the accessible message label remains specific."
4298
+ "Set showAuthor false only when the product makes participant and assistant roles visually self-evident; continue passing author so the accessible message label remains specific.",
4299
+ "Metadata actions precede incoming timestamps and follow outgoing timestamps. In hover mode the complete reserved footer—delivery, timestamp, and actions—fades as one unit without changing geometry; the persistent actions slot retains separate message-level controls."
4292
4300
  ],
4293
4301
  "responsiveBehavior": [
4294
4302
  "Outgoing and incoming rows adapt to available width while preserving their directional alignment."
@@ -4322,6 +4330,10 @@
4322
4330
  "type": "string",
4323
4331
  "required": false
4324
4332
  },
4333
+ "metadataVisibility": {
4334
+ "type": "MessageMetadataVisibility",
4335
+ "required": false
4336
+ },
4325
4337
  "scrollAnchor": {
4326
4338
  "type": "boolean",
4327
4339
  "required": false
@@ -4355,6 +4367,92 @@
4355
4367
  "text"
4356
4368
  ]
4357
4369
  },
4370
+ {
4371
+ "id": "component:ds-message-actions",
4372
+ "tag": "ds-message-actions",
4373
+ "name": "message-actions",
4374
+ "title": "MessageActions",
4375
+ "summary": "Reusable message-level Copy and controlled response-feedback actions with consistent compact presentation and browser clipboard feedback.",
4376
+ "intentStatus": "complete",
4377
+ "intent": {
4378
+ "audience": "specialized",
4379
+ "status": "experimental",
4380
+ "summary": "Reusable message-level Copy and controlled response-feedback actions with consistent compact presentation and browser clipboard feedback.",
4381
+ "useWhen": [
4382
+ "A message metadata row needs Copy alone or Copy with mutually exclusive positive and negative response feedback."
4383
+ ],
4384
+ "avoidWhen": [
4385
+ "The action executes, retries, regenerates, approves, edits, or otherwise changes message content."
4386
+ ],
4387
+ "commonlyComposedWith": [
4388
+ "component:ds-message",
4389
+ "component:ds-agent-response",
4390
+ "component:ds-button-unfilled"
4391
+ ],
4392
+ "patterns": [
4393
+ "pattern:conversation",
4394
+ "pattern:agent-chat"
4395
+ ],
4396
+ "accessibility": [
4397
+ "Every icon action has a matching tooltip and accessible name.",
4398
+ "Feedback uses genuine pressed toggle semantics and Copy announces its temporary Copied state through the control name."
4399
+ ],
4400
+ "states": [
4401
+ "The component owns clipboard execution and temporary copied feedback while the application supplies the exact copyable text.",
4402
+ "Feedback is controlled: the component emits the requested positive, negative, or cleared value while the application owns persistence and consequences.",
4403
+ "Copy, positive feedback, and negative feedback retain one stable order."
4404
+ ],
4405
+ "responsiveBehavior": [
4406
+ "The compact action group follows the visibility and metadata placement policy of its owning Message."
4407
+ ],
4408
+ "references": [
4409
+ {
4410
+ "label": "Message metadata composition",
4411
+ "path": "src/wc/components/Message/Message.stories.ts"
4412
+ }
4413
+ ]
4414
+ },
4415
+ "api": {
4416
+ "props": {
4417
+ "copyText": {
4418
+ "type": "string | undefined",
4419
+ "required": false
4420
+ },
4421
+ "feedback": {
4422
+ "type": "MessageFeedback | undefined",
4423
+ "required": false
4424
+ },
4425
+ "feedbackEnabled": {
4426
+ "type": "boolean",
4427
+ "required": false
4428
+ }
4429
+ },
4430
+ "events": [
4431
+ {
4432
+ "name": "dsCopyResult",
4433
+ "detail": "MessageCopyResultEventDetail"
4434
+ },
4435
+ {
4436
+ "name": "dsFeedbackChange",
4437
+ "detail": "MessageFeedback | undefined"
4438
+ }
4439
+ ],
4440
+ "slots": []
4441
+ },
4442
+ "exports": {
4443
+ "customElement": "ds-message-actions",
4444
+ "react": "DsMessageActions",
4445
+ "angular": "DsMessageActions"
4446
+ },
4447
+ "dependencies": [
4448
+ "@ds-mo/ui",
4449
+ "@ds-mo/tokens"
4450
+ ],
4451
+ "componentDependencies": [
4452
+ "button-unfilled",
4453
+ "tooltip"
4454
+ ]
4455
+ },
4358
4456
  {
4359
4457
  "id": "component:ds-message-bubble",
4360
4458
  "tag": "ds-message-bubble",
@@ -6334,7 +6432,7 @@
6334
6432
  "An empty filtered list composes the message-only body variant of EmptyState. Keep the default neutral no-results message unless localized product guidance makes the outcome clearer.",
6335
6433
  "Enable searchable for more than roughly 20 options, user-managed listings, large domains such as addresses, or sets users cannot efficiently scan. Local matching includes option labels, subtext, and section headings; the owner resolves remote data before assigning options.",
6336
6434
  "Validation timing belongs to the form owner and may be immediate or deferred until blur or submit; the Select exposes validity and error presentation without imposing that policy.",
6337
- "The error trigger uses a 1.5px bold-negative inset stroke so invalid state remains distinguishable from the normal 1px border without changing control geometry.",
6435
+ "The error trigger uses a 1.5px bold-negative inset stroke so invalid state remains distinguishable from the normal 1px border without changing control geometry. Set hasBorder to false for chrome where the trigger must remain borderless at rest, when selected or focused, and when invalid; error semantics and supporting copy remain available.",
6338
6436
  "An initially empty option set is not an expected Select use case. The no-results state describes a search with no matches, not a source with no choices.",
6339
6437
  "Use options for a flat list or sections for grouped choices; when sections are present they take precedence.",
6340
6438
  "The background prop describes the actual parent surface and uses the same surface set as ButtonUnfilled."
@@ -9,8 +9,8 @@ export class BooleanValueAccessor extends ValueAccessor {
9
9
  writeValue(value) {
10
10
  this.el.nativeElement.checked = this.lastValue = value == null ? false : value;
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: BooleanValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: BooleanValueAccessor, isStandalone: true, selector: "ds-checkbox, ds-switch", host: { listeners: { "dsChange": "handleChangeEvent($event.target?.[\"checked\"])" } }, providers: [
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: BooleanValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.0", type: BooleanValueAccessor, isStandalone: true, selector: "ds-checkbox, ds-switch", host: { listeners: { "dsChange": "handleChangeEvent($event.target?.[\"checked\"])" } }, providers: [
14
14
  {
15
15
  provide: NG_VALUE_ACCESSOR,
16
16
  useExisting: forwardRef(() => BooleanValueAccessor),
@@ -18,7 +18,7 @@ export class BooleanValueAccessor extends ValueAccessor {
18
18
  }
19
19
  ], usesInheritance: true, ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: BooleanValueAccessor, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: BooleanValueAccessor, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  /* tslint:disable-next-line:directive-selector */
@@ -16,8 +16,8 @@ let DsAgentActivity = class DsAgentActivity {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentActivity, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAgentActivity, isStandalone: true, selector: "ds-agent-activity", inputs: { heading: "heading", items: "items", open: "open" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentActivity, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAgentActivity, isStandalone: true, selector: "ds-agent-activity", inputs: { heading: "heading", items: "items", open: "open" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAgentActivity = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsAgentActivity = __decorate([
26
26
  })
27
27
  ], DsAgentActivity);
28
28
  export { DsAgentActivity };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentActivity, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentActivity, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-agent-activity',
@@ -6,7 +6,7 @@ export declare class DsAgentResponse {
6
6
  protected el: HTMLDsAgentResponseElement;
7
7
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<DsAgentResponse, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<DsAgentResponse, "ds-agent-response", never, { "author": { "alias": "author"; "required": false; }; "messageId": { "alias": "messageId"; "required": false; }; "parts": { "alias": "parts"; "required": false; }; "showAuthor": { "alias": "showAuthor"; "required": false; }; "streaming": { "alias": "streaming"; "required": false; }; "timestamp": { "alias": "timestamp"; "required": false; }; }, {}, never, ["*"], true, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsAgentResponse, "ds-agent-response", never, { "author": { "alias": "author"; "required": false; }; "messageId": { "alias": "messageId"; "required": false; }; "metadataVisibility": { "alias": "metadataVisibility"; "required": false; }; "parts": { "alias": "parts"; "required": false; }; "showAuthor": { "alias": "showAuthor"; "required": false; }; "streaming": { "alias": "streaming"; "required": false; }; "timestamp": { "alias": "timestamp"; "required": false; }; }, {}, never, ["*"], true, never>;
10
10
  }
11
11
  export declare interface DsAgentResponse extends Components.DsAgentResponse {
12
12
  }
@@ -16,23 +16,23 @@ let DsAgentResponse = class DsAgentResponse {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentResponse, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAgentResponse, isStandalone: true, selector: "ds-agent-response", inputs: { author: "author", messageId: "messageId", parts: "parts", showAuthor: "showAuthor", streaming: "streaming", timestamp: "timestamp" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentResponse, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAgentResponse, isStandalone: true, selector: "ds-agent-response", inputs: { author: "author", messageId: "messageId", metadataVisibility: "metadataVisibility", parts: "parts", showAuthor: "showAuthor", streaming: "streaming", timestamp: "timestamp" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAgentResponse = __decorate([
23
23
  ProxyCmp({
24
24
  defineCustomElementFn: defineDsAgentResponse,
25
- inputs: ['author', 'messageId', 'parts', 'showAuthor', 'streaming', 'timestamp']
25
+ inputs: ['author', 'messageId', 'metadataVisibility', 'parts', 'showAuthor', 'streaming', 'timestamp']
26
26
  })
27
27
  ], DsAgentResponse);
28
28
  export { DsAgentResponse };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentResponse, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentResponse, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-agent-response',
33
33
  changeDetection: ChangeDetectionStrategy.OnPush,
34
34
  template: '<ng-content></ng-content>',
35
35
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
36
- inputs: ['author', 'messageId', 'parts', 'showAuthor', 'streaming', 'timestamp'],
36
+ inputs: ['author', 'messageId', 'metadataVisibility', 'parts', 'showAuthor', 'streaming', 'timestamp'],
37
37
  }]
38
38
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
@@ -16,8 +16,8 @@ let DsAgentSourceList = class DsAgentSourceList {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentSourceList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAgentSourceList, isStandalone: true, selector: "ds-agent-source-list", inputs: { heading: "heading", items: "items", open: "open" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentSourceList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAgentSourceList, isStandalone: true, selector: "ds-agent-source-list", inputs: { heading: "heading", items: "items", open: "open" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAgentSourceList = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsAgentSourceList = __decorate([
26
26
  })
27
27
  ], DsAgentSourceList);
28
28
  export { DsAgentSourceList };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentSourceList, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentSourceList, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-agent-source-list',
@@ -16,8 +16,8 @@ let DsAgentToolCall = class DsAgentToolCall {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentToolCall, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAgentToolCall, isStandalone: true, selector: "ds-agent-tool-call", inputs: { error: "error", input: "input", label: "label", name: "name", open: "open", output: "output", state: "state" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentToolCall, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAgentToolCall, isStandalone: true, selector: "ds-agent-tool-call", inputs: { error: "error", input: "input", label: "label", name: "name", open: "open", output: "output", state: "state" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAgentToolCall = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsAgentToolCall = __decorate([
26
26
  })
27
27
  ], DsAgentToolCall);
28
28
  export { DsAgentToolCall };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAgentToolCall, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAgentToolCall, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-agent-tool-call',
@@ -16,8 +16,8 @@ let DsAttachmentList = class DsAttachmentList {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAttachmentList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAttachmentList, isStandalone: true, selector: "ds-attachment-list", inputs: { items: "items", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAttachmentList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAttachmentList, isStandalone: true, selector: "ds-attachment-list", inputs: { items: "items", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAttachmentList = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsAttachmentList = __decorate([
26
26
  })
27
27
  ], DsAttachmentList);
28
28
  export { DsAttachmentList };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAttachmentList, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAttachmentList, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-attachment-list',
@@ -16,8 +16,8 @@ let DsAvatar = class DsAvatar {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsAvatar, isStandalone: true, selector: "ds-avatar", inputs: { icon: "icon", iconColor: "iconColor", label: "label", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsAvatar, isStandalone: true, selector: "ds-avatar", inputs: { icon: "icon", iconColor: "iconColor", label: "label", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsAvatar = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsAvatar = __decorate([
26
26
  })
27
27
  ], DsAvatar);
28
28
  export { DsAvatar };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsAvatar, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsAvatar, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-avatar',
@@ -16,8 +16,8 @@ let DsBadge = class DsBadge {
16
16
  c.detach();
17
17
  this.el = r.nativeElement;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsBadge, isStandalone: true, selector: "ds-badge", inputs: { background: "background", count: "count", gradientBackground: "gradientBackground", hasRing: "hasRing", label: "label", max: "max", surface: "surface", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsBadge, isStandalone: true, selector: "ds-badge", inputs: { background: "background", count: "count", gradientBackground: "gradientBackground", hasRing: "hasRing", label: "label", max: "max", surface: "surface", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  };
22
22
  DsBadge = __decorate([
23
23
  ProxyCmp({
@@ -26,7 +26,7 @@ DsBadge = __decorate([
26
26
  })
27
27
  ], DsBadge);
28
28
  export { DsBadge };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsBadge, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsBadge, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ds-badge',
@@ -17,8 +17,8 @@ let DsBarNav = class DsBarNav {
17
17
  c.detach();
18
18
  this.el = r.nativeElement;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsBarNav, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.7", type: DsBarNav, isStandalone: true, selector: "ds-bar-nav", inputs: { basePath: "basePath", currentUrl: "currentUrl", heading: "heading", moreTabsLabel: "moreTabsLabel", navStyle: "navStyle", tabs: "tabs", value: "value" }, outputs: { dsTabChange: "dsTabChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsBarNav, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsBarNav, isStandalone: true, selector: "ds-bar-nav", inputs: { basePath: "basePath", currentUrl: "currentUrl", heading: "heading", moreTabsLabel: "moreTabsLabel", navStyle: "navStyle", tabs: "tabs", value: "value" }, outputs: { dsTabChange: "dsTabChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  };
23
23
  DsBarNav = __decorate([
24
24
  ProxyCmp({
@@ -27,7 +27,7 @@ DsBarNav = __decorate([
27
27
  })
28
28
  ], DsBarNav);
29
29
  export { DsBarNav };
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: DsBarNav, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsBarNav, decorators: [{
31
31
  type: Component,
32
32
  args: [{
33
33
  selector: 'ds-bar-nav',