@ds-mo/ui 12.0.0 → 12.2.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 (253) hide show
  1. package/README.md +18 -1
  2. package/dist/.build-stamp +1 -1
  3. package/dist/agent-patterns.json +3 -2
  4. package/dist/agent.json +314 -41
  5. package/dist/angular/ds-avatar.d.ts +1 -1
  6. package/dist/angular/ds-avatar.js +3 -3
  7. package/dist/angular/ds-bar-workflow.d.ts +28 -0
  8. package/dist/angular/ds-bar-workflow.js +48 -0
  9. package/dist/angular/ds-conversation-list.d.ts +1 -1
  10. package/dist/angular/ds-conversation-list.js +4 -3
  11. package/dist/angular/ds-scroll-overlay.d.ts +19 -0
  12. package/dist/angular/ds-scroll-overlay.js +43 -0
  13. package/dist/angular/index.d.ts +1 -1
  14. package/dist/angular/index.js +2 -0
  15. package/dist/angular/proxies.d.ts +2 -0
  16. package/dist/angular/proxies.js +2 -0
  17. package/dist/components/ds-agent-activity.js +1 -1
  18. package/dist/components/ds-agent-response.js +1 -1
  19. package/dist/components/ds-agent-source-list.js +1 -1
  20. package/dist/components/ds-agent-tool-call.js +1 -1
  21. package/dist/components/ds-attachment-list.js +1 -1
  22. package/dist/components/ds-avatar.js +1 -1
  23. package/dist/components/ds-avatar.js.map +1 -1
  24. package/dist/components/ds-badge.js +1 -1
  25. package/dist/components/ds-bar-nav.js +1 -1
  26. package/dist/components/ds-bar-nav.js.map +1 -1
  27. package/dist/components/ds-bar-title.js +1 -1
  28. package/dist/components/ds-bar-title.js.map +1 -1
  29. package/dist/components/ds-bar-workflow.d.ts +11 -0
  30. package/dist/components/ds-bar-workflow.js +2 -0
  31. package/dist/components/ds-bar-workflow.js.map +1 -0
  32. package/dist/components/ds-button-filled.js +1 -1
  33. package/dist/components/ds-button-unfilled.js +1 -1
  34. package/dist/components/ds-card-data-viz-donut.js +1 -1
  35. package/dist/components/ds-card-data-viz-donut.js.map +1 -1
  36. package/dist/components/ds-card-setting.js +1 -1
  37. package/dist/components/ds-card-setting.js.map +1 -1
  38. package/dist/components/ds-card-shell-data-viz.js +1 -1
  39. package/dist/components/ds-chart-bar.js +1 -1
  40. package/dist/components/ds-chart-donut.js +1 -1
  41. package/dist/components/ds-chart-legend.js +1 -1
  42. package/dist/components/ds-chart-line.js +1 -1
  43. package/dist/components/ds-checkbox.js +1 -1
  44. package/dist/components/ds-chip.js +1 -1
  45. package/dist/components/ds-chip.js.map +1 -1
  46. package/dist/components/ds-code-block.js +1 -1
  47. package/dist/components/ds-conversation-list-item.js +1 -1
  48. package/dist/components/ds-conversation-list-item.js.map +1 -1
  49. package/dist/components/ds-conversation-list-section.js +1 -1
  50. package/dist/components/ds-conversation-list-section.js.map +1 -1
  51. package/dist/components/ds-conversation-list.js +1 -1
  52. package/dist/components/ds-conversation-list.js.map +1 -1
  53. package/dist/components/ds-divider.js +1 -1
  54. package/dist/components/ds-empty-state.js +1 -1
  55. package/dist/components/ds-field.js +1 -1
  56. package/dist/components/ds-icon.js +1 -1
  57. package/dist/components/ds-input.js +1 -1
  58. package/dist/components/ds-input.js.map +1 -1
  59. package/dist/components/ds-markdown.js +1 -1
  60. package/dist/components/ds-menu.js +1 -1
  61. package/dist/components/ds-message-bubble.js +1 -1
  62. package/dist/components/ds-message-bubble.js.map +1 -1
  63. package/dist/components/ds-message-composer.js +1 -1
  64. package/dist/components/ds-message-composer.js.map +1 -1
  65. package/dist/components/ds-message-scroller.js +1 -1
  66. package/dist/components/ds-message-scroller.js.map +1 -1
  67. package/dist/components/ds-message.js +1 -1
  68. package/dist/components/ds-modal.js +1 -1
  69. package/dist/components/ds-panel-nav.js +1 -1
  70. package/dist/components/ds-panel-sub-nav.js +1 -1
  71. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  72. package/dist/components/ds-panel-tool-header.js +1 -1
  73. package/dist/components/ds-panel-tool-search.js +1 -1
  74. package/dist/components/ds-panel-tools.js +1 -1
  75. package/dist/components/ds-radio.js +1 -1
  76. package/dist/components/ds-radio.js.map +1 -1
  77. package/dist/components/ds-scroll-overlay.d.ts +11 -0
  78. package/dist/components/ds-scroll-overlay.js +2 -0
  79. package/dist/components/ds-scroll-overlay.js.map +1 -0
  80. package/dist/components/ds-select-multi.js +1 -1
  81. package/dist/components/ds-select-multi.js.map +1 -1
  82. package/dist/components/ds-select.js +1 -1
  83. package/dist/components/ds-select.js.map +1 -1
  84. package/dist/components/ds-shell-app.js +1 -1
  85. package/dist/components/ds-shell-gradient-picker.js +1 -1
  86. package/dist/components/ds-shell-gradient-swatch.js +1 -1
  87. package/dist/components/ds-shell-gradient-swatch.js.map +1 -1
  88. package/dist/components/ds-shell-page.js +1 -1
  89. package/dist/components/ds-shell-page.js.map +1 -1
  90. package/dist/components/ds-skeleton.js +1 -1
  91. package/dist/components/ds-slider.js +1 -1
  92. package/dist/components/ds-slider.js.map +1 -1
  93. package/dist/components/ds-swatch-picker.js +1 -1
  94. package/dist/components/ds-switch.js +1 -1
  95. package/dist/components/ds-tab-group.js +1 -1
  96. package/dist/components/ds-tab-group.js.map +1 -1
  97. package/dist/components/ds-tag.js +1 -1
  98. package/dist/components/ds-tag.js.map +1 -1
  99. package/dist/components/ds-text.js +1 -1
  100. package/dist/components/ds-toast.js +1 -1
  101. package/dist/components/ds-tooltip-data-viz.js +1 -1
  102. package/dist/components/ds-tooltip.js +1 -1
  103. package/dist/components/ds-typing-indicator.js +1 -1
  104. package/dist/components/p-2W-ZjZCR.js +2 -0
  105. package/dist/components/{p-CwTVEAl2.js.map → p-2W-ZjZCR.js.map} +1 -1
  106. package/dist/components/p-8OOCLGph.js +2 -0
  107. package/dist/components/p-8OOCLGph.js.map +1 -0
  108. package/dist/components/{p-BYHKdFzV.js → p-B8CubPgQ.js} +2 -2
  109. package/dist/components/{p-DuNZGFkV.js → p-BAfG3M8z.js} +2 -2
  110. package/dist/components/p-BAfG3M8z.js.map +1 -0
  111. package/dist/components/p-BE_CDJeL.js +2 -0
  112. package/dist/components/p-BE_CDJeL.js.map +1 -0
  113. package/dist/components/{p-BH3es4p7.js → p-BRLDJmkh.js} +2 -2
  114. package/dist/components/p-BpA9uYKX.js +2 -0
  115. package/dist/components/p-BpA9uYKX.js.map +1 -0
  116. package/dist/components/{p-Bs6SS34m.js → p-C0_8K4y7.js} +2 -2
  117. package/dist/components/{p-BhKhX1er.js → p-CA3kLO7K.js} +2 -2
  118. package/dist/components/{p-DfIch2Dk.js → p-CCHqsF_H.js} +2 -2
  119. package/dist/components/p-CG5EX4NW.js +2 -0
  120. package/dist/components/{p-DABj3qTX.js.map → p-CG5EX4NW.js.map} +1 -1
  121. package/dist/components/{p-DVk0wxxX.js → p-CHkI3oIS.js} +2 -2
  122. package/dist/components/{p-liMPkhUP.js → p-CNffejay.js} +2 -2
  123. package/dist/components/{p-B3YvoGjS.js → p-Cxpl-rzP.js} +2 -2
  124. package/dist/components/p-CydY-v7X.js +2 -0
  125. package/dist/components/p-CydY-v7X.js.map +1 -0
  126. package/dist/components/{p-BkwBtZs3.js → p-D6jK2Hyi.js} +2 -2
  127. package/dist/components/{p-Cy04lXlc.js → p-DBi1bmOL.js} +2 -2
  128. package/dist/components/{p-DxeHimqk.js → p-DOCKtrS4.js} +2 -2
  129. package/dist/components/p-DbpfpeQT.js +2 -0
  130. package/dist/components/p-DbpfpeQT.js.map +1 -0
  131. package/dist/components/{p-6vj4kh70.js → p-DcGpdIlT.js} +2 -2
  132. package/dist/components/p-DyGB97Oy.js +2 -0
  133. package/dist/components/{p-Dy_sZ-dI.js.map → p-DyGB97Oy.js.map} +1 -1
  134. package/dist/components/p-GMDGgtY8.js +2 -0
  135. package/dist/components/{p-BUmDHPr3.js.map → p-GMDGgtY8.js.map} +1 -1
  136. package/dist/components/{p-Cf2J9MEo.js → p-XgIQ3oI_.js} +2 -2
  137. package/dist/components/{p-Cf-i-6aE.js → p-ky1msbJ8.js} +2 -2
  138. package/dist/components/p-xY3TjBF5.js +2 -0
  139. package/dist/components/{p-DUHcJWTQ.js.map → p-xY3TjBF5.js.map} +1 -1
  140. package/dist/docs/components.json +685 -56
  141. package/dist/lib/utils/anchored-popup.d.ts +5 -1
  142. package/dist/mcp-data/registry/agent-activity.json +1 -1
  143. package/dist/mcp-data/registry/agent-response.json +10 -5
  144. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  145. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  146. package/dist/mcp-data/registry/attachment-list.json +1 -1
  147. package/dist/mcp-data/registry/avatar.json +27 -8
  148. package/dist/mcp-data/registry/badge.json +1 -1
  149. package/dist/mcp-data/registry/bar-nav.json +1 -1
  150. package/dist/mcp-data/registry/bar-title.json +13 -8
  151. package/dist/mcp-data/registry/bar-workflow.json +368 -0
  152. package/dist/mcp-data/registry/button-filled.json +2 -2
  153. package/dist/mcp-data/registry/button-unfilled.json +2 -2
  154. package/dist/mcp-data/registry/card-data-viz-donut.json +1 -1
  155. package/dist/mcp-data/registry/card-setting.json +1 -1
  156. package/dist/mcp-data/registry/card-shell-data-viz.json +1 -1
  157. package/dist/mcp-data/registry/chart-bar.json +1 -1
  158. package/dist/mcp-data/registry/chart-donut.json +1 -1
  159. package/dist/mcp-data/registry/chart-legend.json +1 -1
  160. package/dist/mcp-data/registry/chart-line.json +1 -1
  161. package/dist/mcp-data/registry/checkbox.json +2 -2
  162. package/dist/mcp-data/registry/chip.json +1 -1
  163. package/dist/mcp-data/registry/code-block.json +1 -1
  164. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  165. package/dist/mcp-data/registry/conversation-list-section.json +3 -3
  166. package/dist/mcp-data/registry/conversation-list.json +37 -10
  167. package/dist/mcp-data/registry/divider.json +1 -1
  168. package/dist/mcp-data/registry/empty-state.json +1 -1
  169. package/dist/mcp-data/registry/field.json +1 -1
  170. package/dist/mcp-data/registry/icon.json +2 -2
  171. package/dist/mcp-data/registry/input.json +1 -1
  172. package/dist/mcp-data/registry/loader.json +1 -1
  173. package/dist/mcp-data/registry/markdown.json +16 -11
  174. package/dist/mcp-data/registry/menu.json +10 -8
  175. package/dist/mcp-data/registry/message-bubble.json +1 -1
  176. package/dist/mcp-data/registry/message-composer.json +1 -1
  177. package/dist/mcp-data/registry/message-scroller.json +4 -4
  178. package/dist/mcp-data/registry/message.json +1 -1
  179. package/dist/mcp-data/registry/modal.json +1 -1
  180. package/dist/mcp-data/registry/panel-nav.json +1 -1
  181. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  182. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  183. package/dist/mcp-data/registry/panel-tool-search.json +2 -2
  184. package/dist/mcp-data/registry/panel-tools.json +1 -1
  185. package/dist/mcp-data/registry/radio.json +1 -1
  186. package/dist/mcp-data/registry/registry.json +320 -41
  187. package/dist/mcp-data/registry/scroll-overlay.json +183 -0
  188. package/dist/mcp-data/registry/select-multi.json +1 -1
  189. package/dist/mcp-data/registry/select.json +1 -1
  190. package/dist/mcp-data/registry/shell-app.json +1 -1
  191. package/dist/mcp-data/registry/shell-gradient-picker.json +1 -1
  192. package/dist/mcp-data/registry/shell-gradient-swatch.json +2 -2
  193. package/dist/mcp-data/registry/shell-page.json +15 -11
  194. package/dist/mcp-data/registry/skeleton.json +1 -1
  195. package/dist/mcp-data/registry/slider.json +2 -2
  196. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  197. package/dist/mcp-data/registry/switch.json +2 -2
  198. package/dist/mcp-data/registry/tab-group.json +2 -2
  199. package/dist/mcp-data/registry/tag.json +1 -1
  200. package/dist/mcp-data/registry/text.json +1 -1
  201. package/dist/mcp-data/registry/toast.json +1 -1
  202. package/dist/mcp-data/registry/tooltip-data-viz.json +1 -1
  203. package/dist/mcp-data/registry/tooltip.json +1 -1
  204. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  205. package/dist/react/components.d.ts +2 -0
  206. package/dist/react/components.js +2 -0
  207. package/dist/react/ds-bar-workflow.d.ts +14 -0
  208. package/dist/react/ds-bar-workflow.js +16 -0
  209. package/dist/react/ds-scroll-overlay.d.ts +12 -0
  210. package/dist/react/ds-scroll-overlay.js +12 -0
  211. package/dist/styles/prose.css +214 -0
  212. package/dist/types/components/Avatar/Avatar.d.ts +4 -1
  213. package/dist/types/components/BarTitle/BarTitle.d.ts +2 -0
  214. package/dist/types/components/BarWorkflow/BarWorkflow.d.ts +37 -0
  215. package/dist/types/components/BarWorkflow/bar-workflow-types.d.ts +12 -0
  216. package/dist/types/components/ConversationList/ConversationList.d.ts +12 -0
  217. package/dist/types/components/Menu/Menu.d.ts +1 -2
  218. package/dist/types/components/MessageScroller/MessageScroller.d.ts +1 -6
  219. package/dist/types/components/ScrollOverlay/ScrollOverlay.d.ts +28 -0
  220. package/dist/types/components/ShellPage/ShellPage.d.ts +5 -0
  221. package/dist/types/components.d.ts +231 -3
  222. package/dist/types/stories/isolated-overlay-docs.d.ts +13 -0
  223. package/dist/types/utils/anchored-popup.d.ts +5 -1
  224. package/dist/types/utils/scroll-overlay-controller.d.ts +35 -0
  225. package/package.json +6 -5
  226. package/dist/components/p-BUmDHPr3.js +0 -2
  227. package/dist/components/p-BZZwQfmN.js +0 -2
  228. package/dist/components/p-BZZwQfmN.js.map +0 -1
  229. package/dist/components/p-CUik7PCi.js +0 -2
  230. package/dist/components/p-CUik7PCi.js.map +0 -1
  231. package/dist/components/p-CwTVEAl2.js +0 -2
  232. package/dist/components/p-DABj3qTX.js +0 -2
  233. package/dist/components/p-DUHcJWTQ.js +0 -2
  234. package/dist/components/p-DuNZGFkV.js.map +0 -1
  235. package/dist/components/p-Dy_sZ-dI.js +0 -2
  236. package/dist/components/p-l6PmnW_P.js +0 -2
  237. package/dist/components/p-l6PmnW_P.js.map +0 -1
  238. package/dist/components/p-xFbUt9Tc.js +0 -2
  239. package/dist/components/p-xFbUt9Tc.js.map +0 -1
  240. /package/dist/components/{p-BYHKdFzV.js.map → p-B8CubPgQ.js.map} +0 -0
  241. /package/dist/components/{p-BH3es4p7.js.map → p-BRLDJmkh.js.map} +0 -0
  242. /package/dist/components/{p-Bs6SS34m.js.map → p-C0_8K4y7.js.map} +0 -0
  243. /package/dist/components/{p-BhKhX1er.js.map → p-CA3kLO7K.js.map} +0 -0
  244. /package/dist/components/{p-DfIch2Dk.js.map → p-CCHqsF_H.js.map} +0 -0
  245. /package/dist/components/{p-DVk0wxxX.js.map → p-CHkI3oIS.js.map} +0 -0
  246. /package/dist/components/{p-liMPkhUP.js.map → p-CNffejay.js.map} +0 -0
  247. /package/dist/components/{p-B3YvoGjS.js.map → p-Cxpl-rzP.js.map} +0 -0
  248. /package/dist/components/{p-BkwBtZs3.js.map → p-D6jK2Hyi.js.map} +0 -0
  249. /package/dist/components/{p-Cy04lXlc.js.map → p-DBi1bmOL.js.map} +0 -0
  250. /package/dist/components/{p-DxeHimqk.js.map → p-DOCKtrS4.js.map} +0 -0
  251. /package/dist/components/{p-6vj4kh70.js.map → p-DcGpdIlT.js.map} +0 -0
  252. /package/dist/components/{p-Cf2J9MEo.js.map → p-XgIQ3oI_.js.map} +0 -0
  253. /package/dist/components/{p-Cf-i-6aE.js.map → p-ky1msbJ8.js.map} +0 -0
@@ -11,6 +11,7 @@ export { DsAvatar } from "./ds-avatar.js";
11
11
  export { DsBadge } from "./ds-badge.js";
12
12
  export { DsBarNav } from "./ds-bar-nav.js";
13
13
  export { DsBarTitle } from "./ds-bar-title.js";
14
+ export { DsBarWorkflow } from "./ds-bar-workflow.js";
14
15
  export { DsButtonFilled } from "./ds-button-filled.js";
15
16
  export { DsButtonUnfilled } from "./ds-button-unfilled.js";
16
17
  export { DsCardDataVizDonut } from "./ds-card-data-viz-donut.js";
@@ -45,6 +46,7 @@ export { DsPanelToolHeader } from "./ds-panel-tool-header.js";
45
46
  export { DsPanelToolSearch } from "./ds-panel-tool-search.js";
46
47
  export { DsPanelTools } from "./ds-panel-tools.js";
47
48
  export { DsRadio } from "./ds-radio.js";
49
+ export { DsScrollOverlay } from "./ds-scroll-overlay.js";
48
50
  export { DsSelectMulti } from "./ds-select-multi.js";
49
51
  export { DsSelect } from "./ds-select.js";
50
52
  export { DsShellApp } from "./ds-shell-app.js";
@@ -12,6 +12,7 @@ export { DsAvatar } from "./ds-avatar.js";
12
12
  export { DsBadge } from "./ds-badge.js";
13
13
  export { DsBarNav } from "./ds-bar-nav.js";
14
14
  export { DsBarTitle } from "./ds-bar-title.js";
15
+ export { DsBarWorkflow } from "./ds-bar-workflow.js";
15
16
  export { DsButtonFilled } from "./ds-button-filled.js";
16
17
  export { DsButtonUnfilled } from "./ds-button-unfilled.js";
17
18
  export { DsCardDataVizDonut } from "./ds-card-data-viz-donut.js";
@@ -46,6 +47,7 @@ export { DsPanelToolHeader } from "./ds-panel-tool-header.js";
46
47
  export { DsPanelToolSearch } from "./ds-panel-tool-search.js";
47
48
  export { DsPanelTools } from "./ds-panel-tools.js";
48
49
  export { DsRadio } from "./ds-radio.js";
50
+ export { DsScrollOverlay } from "./ds-scroll-overlay.js";
49
51
  export { DsSelectMulti } from "./ds-select-multi.js";
50
52
  export { DsSelect } from "./ds-select.js";
51
53
  export { DsShellApp } from "./ds-shell-app.js";
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
6
+ import { type DsBarWorkflowCustomEvent } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsBarWorkflow as DsBarWorkflowElement } from "@ds-mo/ui/dist/components/ds-bar-workflow.js";
9
+ export type DsBarWorkflowEvents = {
10
+ onDsExit: EventName<DsBarWorkflowCustomEvent<MouseEvent>>;
11
+ onDsStepChange: EventName<DsBarWorkflowCustomEvent<string>>;
12
+ onDsSubmit: EventName<DsBarWorkflowCustomEvent<MouseEvent>>;
13
+ };
14
+ export declare const DsBarWorkflow: StencilReactComponent<DsBarWorkflowElement, DsBarWorkflowEvents, Components.DsBarWorkflow, 'heading'>;
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { createComponent } from '@stencil/react-output-target/runtime';
3
+ import React from 'react';
4
+ import { DsBarWorkflow as DsBarWorkflowElement, defineCustomElement as defineDsBarWorkflow } from "@ds-mo/ui/dist/components/ds-bar-workflow.js";
5
+ export const DsBarWorkflow = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-bar-workflow',
7
+ elementClass: DsBarWorkflowElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {
11
+ onDsExit: 'dsExit',
12
+ onDsStepChange: 'dsStepChange',
13
+ onDsSubmit: 'dsSubmit'
14
+ },
15
+ defineCustomElement: defineDsBarWorkflow
16
+ });
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
6
+ import { type DsScrollOverlayCustomEvent, type ScrollOverlayScrollDetail } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsScrollOverlay as DsScrollOverlayElement } from "@ds-mo/ui/dist/components/ds-scroll-overlay.js";
9
+ export type DsScrollOverlayEvents = {
10
+ onDsScroll: EventName<DsScrollOverlayCustomEvent<ScrollOverlayScrollDetail>>;
11
+ };
12
+ export declare const DsScrollOverlay: StencilReactComponent<DsScrollOverlayElement, DsScrollOverlayEvents, Components.DsScrollOverlay>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from '@stencil/react-output-target/runtime';
3
+ import React from 'react';
4
+ import { DsScrollOverlay as DsScrollOverlayElement, defineCustomElement as defineDsScrollOverlay } from "@ds-mo/ui/dist/components/ds-scroll-overlay.js";
5
+ export const DsScrollOverlay = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-scroll-overlay',
7
+ elementClass: DsScrollOverlayElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: { onDsScroll: 'dsScroll' },
11
+ defineCustomElement: defineDsScrollOverlay
12
+ });
@@ -0,0 +1,214 @@
1
+ /*
2
+ * Renderer-neutral document rhythm for safe semantic DOM.
3
+ *
4
+ * Import `@ds-mo/ui/prose.css`, then apply `.ds-prose` to a consumer-owned
5
+ * semantic container. Keep selectors at zero specificity so ordinary product
6
+ * CSS can override the recipe. `data-ds-prose="off"` opts an entire embedded
7
+ * product-UI subtree out of prose element styling.
8
+ */
9
+
10
+ :where(.ds-prose) {
11
+ display: block;
12
+ box-sizing: border-box;
13
+ max-inline-size: 100%;
14
+ min-inline-size: 0;
15
+ color: inherit;
16
+ overflow-wrap: anywhere;
17
+ }
18
+
19
+ :where(.ds-prose)
20
+ :where(p, ul, ol, dl, blockquote, figure, figcaption, table):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
21
+ margin: 0;
22
+ color: inherit;
23
+ font-family: var(--typography-font-family);
24
+ font-size: var(--typography-fontsize-md);
25
+ font-weight: var(--typography-weight-regular);
26
+ line-height: var(--typography-lineheight-md);
27
+ letter-spacing: var(--typography-letterspacing-negative-half);
28
+ }
29
+
30
+ :where(.ds-prose)
31
+ :where(h1, h2, h3, h4, h5, h6):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
32
+ margin: 0;
33
+ color: var(--color-foreground-primary);
34
+ font-family: var(--typography-font-family);
35
+ font-weight: var(--typography-weight-semibold);
36
+ }
37
+
38
+ :where(.ds-prose)
39
+ :where(h1, h2):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
40
+ font-size: var(--typography-fontsize-xl);
41
+ line-height: var(--typography-lineheight-xl);
42
+ letter-spacing: var(--typography-letterspacing-negative-double);
43
+ }
44
+
45
+ :where(.ds-prose)
46
+ :where(h3, h4):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
47
+ font-size: var(--typography-fontsize-lg);
48
+ line-height: var(--typography-lineheight-lg);
49
+ letter-spacing: var(--typography-letterspacing-negative);
50
+ }
51
+
52
+ :where(.ds-prose)
53
+ :where(h5, h6):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
54
+ font-size: var(--typography-fontsize-md);
55
+ line-height: var(--typography-lineheight-md);
56
+ letter-spacing: var(--typography-letterspacing-negative);
57
+ }
58
+
59
+ /* New blocks own their leading space, so appending streamed content never
60
+ * changes the style or position of an earlier sibling. */
61
+ :where(.ds-prose) > :where(* + *) {
62
+ margin-block-start: var(--dimension-space-150);
63
+ }
64
+
65
+ :where(.ds-prose)
66
+ > :where(*)
67
+ + :where(h1, h2, h3, h4, h5, h6):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
68
+ margin-block-start: var(--dimension-space-200);
69
+ }
70
+
71
+ :where(.ds-prose)
72
+ > :where(h1, h2, h3, h4, h5, h6):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *))
73
+ + :where(*) {
74
+ margin-block-start: var(--dimension-space-100);
75
+ }
76
+
77
+ :where(.ds-prose)
78
+ :where(blockquote, li, dd)
79
+ > :where(* + *):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
80
+ margin-block-start: var(--dimension-space-050);
81
+ }
82
+
83
+ :where(.ds-prose)
84
+ :where(li + li, dt + dd):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
85
+ margin-block-start: var(--dimension-space-050);
86
+ }
87
+
88
+ :where(.ds-prose)
89
+ :where(ul, ol):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
90
+ padding-inline-start: var(--dimension-space-300);
91
+ }
92
+
93
+ :where(.ds-prose)
94
+ :where(li > ul, li > ol):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
95
+ margin-block-start: var(--dimension-space-050);
96
+ }
97
+
98
+ :where(.ds-prose)
99
+ :where(li > input[type='checkbox']):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
100
+ margin-inline-end: var(--dimension-space-050);
101
+ }
102
+
103
+ :where(.ds-prose)
104
+ :where(blockquote):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
105
+ padding-inline-start: var(--dimension-space-150);
106
+ border-inline-start: var(--dimension-stroke-width-025) solid var(--color-border-secondary);
107
+ color: var(--color-foreground-secondary);
108
+ }
109
+
110
+ :where(.ds-prose)
111
+ :where(strong, b):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
112
+ font-weight: var(--typography-weight-medium);
113
+ }
114
+
115
+ :where(.ds-prose)
116
+ :where(h1, h2, h3, h4, h5, h6)
117
+ :where(strong, b):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
118
+ font-weight: inherit;
119
+ }
120
+
121
+ :where(.ds-prose)
122
+ :where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
123
+ color: var(--color-foreground-brand);
124
+ text-decoration: underline;
125
+ }
126
+
127
+ :where(.ds-prose)
128
+ :where(code):not(:where(pre code, [data-ds-prose='off'], [data-ds-prose='off'] *)) {
129
+ padding: var(--dimension-space-012) var(--dimension-space-025);
130
+ border-radius: var(--dimension-radius-025);
131
+ background: var(--color-background-secondary);
132
+ font-family: var(--typography-fontfamily-mono);
133
+ font-size: var(--typography-fontsize-sm);
134
+ line-height: var(--typography-lineheight-sm);
135
+ letter-spacing: var(--typography-letterspacing-none);
136
+ }
137
+
138
+ :where(.ds-prose)
139
+ :where(pre):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
140
+ box-sizing: border-box;
141
+ max-inline-size: 100%;
142
+ min-inline-size: 0;
143
+ margin: 0;
144
+ padding: var(--dimension-space-150);
145
+ overflow: auto;
146
+ border-radius: var(--dimension-radius-050);
147
+ background: var(--color-background-strong-neutral);
148
+ color: var(--color-foreground-faint-neutral);
149
+ font-family: var(--typography-fontfamily-mono);
150
+ font-size: var(--typography-fontsize-sm);
151
+ line-height: var(--typography-lineheight-sm);
152
+ letter-spacing: var(--typography-letterspacing-none);
153
+ tab-size: 2;
154
+ }
155
+
156
+ :where(.ds-prose)
157
+ :where(pre code):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
158
+ padding: 0;
159
+ background: transparent;
160
+ color: inherit;
161
+ font: inherit;
162
+ letter-spacing: inherit;
163
+ white-space: pre;
164
+ }
165
+
166
+ :where(.ds-prose)
167
+ :where(hr):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
168
+ margin: 0;
169
+ border: 0;
170
+ border-block-start: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);
171
+ }
172
+
173
+ :where(.ds-prose__table-scroll) {
174
+ box-sizing: border-box;
175
+ max-inline-size: 100%;
176
+ min-inline-size: 0;
177
+ overflow-x: auto;
178
+ }
179
+
180
+ :where(.ds-prose)
181
+ :where(table):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
182
+ inline-size: 100%;
183
+ border-collapse: collapse;
184
+ }
185
+
186
+ :where(.ds-prose)
187
+ :where(th, td):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
188
+ padding: var(--dimension-space-075);
189
+ border: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);
190
+ text-align: start;
191
+ vertical-align: top;
192
+ overflow-wrap: anywhere;
193
+ }
194
+
195
+ :where(.ds-prose)
196
+ :where(th):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
197
+ color: var(--color-foreground-primary);
198
+ font-weight: var(--typography-weight-medium);
199
+ }
200
+
201
+ :where(.ds-prose)
202
+ :where(img, video, svg):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
203
+ max-inline-size: 100%;
204
+ block-size: auto;
205
+ }
206
+
207
+ :where(.ds-prose)
208
+ :where(figcaption):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
209
+ margin-block-start: var(--dimension-space-050);
210
+ color: var(--color-foreground-secondary);
211
+ font-size: var(--typography-fontsize-sm);
212
+ line-height: var(--typography-lineheight-sm);
213
+ letter-spacing: var(--typography-letterspacing-none);
214
+ }
@@ -1,9 +1,12 @@
1
1
  import type { IconColor } from '../Icon/Icon';
2
+ export type AvatarSize = 'md' | 'sm' | 'xs';
2
3
  export declare class Avatar {
3
4
  /** Canonical IcoMo icon name displayed inside the avatar. */
4
5
  icon: string;
5
- /** Semantic color for the icon. Use primary to surface unread or current identity state. */
6
+ /** Semantic icon hierarchy. Use primary for stronger emphasis; secondary is the default. */
6
7
  iconColor: IconColor;
8
+ /** Circle and icon density. Maps to 32/20, 24/16, or 16/12 px. */
9
+ size: AvatarSize;
7
10
  /** Optional accessible label. Omit when the surrounding content already conveys the meaning. */
8
11
  label: string | undefined;
9
12
  render(): any;
@@ -45,6 +45,8 @@ export declare class BarTitle {
45
45
  handleSectionsChange(): void;
46
46
  handleActionsChange(): void;
47
47
  private get compact();
48
+ /** Tooltip copy is fixed and generic; backAriaLabel/actionsAriaLabel stay page-specific. */
49
+ private get backTooltipLabel();
48
50
  private get primaryCollapsed();
49
51
  private get selectableSections();
50
52
  private get hasSectionSelector();
@@ -0,0 +1,37 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import type { BarWorkflowStep, BarWorkflowSubmitAction } from './bar-workflow-types';
3
+ export declare class BarWorkflow {
4
+ /** The workflow's single visible h1. */
5
+ heading: string;
6
+ /** Ordered workflow steps. Step state is controlled by the application. */
7
+ steps: BarWorkflowStep[];
8
+ /** Id of the current workflow step. Falls back to the first step. */
9
+ value: string;
10
+ /** Concise tooltip label for the Exit control. */
11
+ exitLabel: string;
12
+ /** Workflow-specific accessible name for Exit. */
13
+ exitAriaLabel: string;
14
+ /** Tooltip and accessible name for the previous-step control. */
15
+ previousLabel: string;
16
+ /** Tooltip and accessible name for the next-step control. */
17
+ nextLabel: string;
18
+ /** The final-step Save or Submit action. */
19
+ submitAction: BarWorkflowSubmitAction;
20
+ /** Prevent advancing while the current step is incomplete or invalid. */
21
+ isNextInactive: boolean;
22
+ /** Emitted when Exit is activated. */
23
+ dsExit: EventEmitter<MouseEvent>;
24
+ /** Emitted with the target previous or next step id. The component never mutates value. */
25
+ dsStepChange: EventEmitter<string>;
26
+ /** Emitted when the final Save or Submit control is activated. */
27
+ dsSubmit: EventEmitter<MouseEvent>;
28
+ private get currentIndex();
29
+ private get previousStep();
30
+ private get nextStep();
31
+ private get isLastStep();
32
+ private get resolvedHeading();
33
+ private handlePrevious;
34
+ private handleNext;
35
+ render(): any;
36
+ }
37
+ //# sourceMappingURL=BarWorkflow.d.ts.map
@@ -0,0 +1,12 @@
1
+ export interface BarWorkflowStep {
2
+ id: string;
3
+ label: string;
4
+ isInactive?: boolean;
5
+ }
6
+ export interface BarWorkflowSubmitAction {
7
+ label: string;
8
+ type?: 'button' | 'submit' | 'reset';
9
+ isInactive?: boolean;
10
+ isLoading?: boolean;
11
+ }
12
+ //# sourceMappingURL=bar-workflow-types.d.ts.map
@@ -1,4 +1,16 @@
1
+ export type ConversationListActionLayout = 'floating' | 'footer';
1
2
  export declare class ConversationList {
3
+ el: HTMLElement;
4
+ /** Corner icon action or full-width persistent footer action. */
5
+ actionLayout: ConversationListActionLayout;
6
+ private viewport?;
7
+ private content?;
8
+ private overlay?;
9
+ private scrollOverlayController?;
10
+ private emptySlotObserver?;
11
+ componentDidLoad(): void;
12
+ disconnectedCallback(): void;
13
+ private syncEmptyStateLayout;
2
14
  render(): any;
3
15
  }
4
16
  //# sourceMappingURL=ConversationList.d.ts.map
@@ -11,6 +11,7 @@ export declare class Menu {
11
11
  /** Give ordinary rows mutually-exclusive radio-menu semantics using isSelected. */
12
12
  selectionMode: MenuSelectionMode;
13
13
  sections: MenuSection[];
14
+ /** Preferred side; placement flips to the opposite side when that offers a better fit. */
14
15
  side: MenuSide;
15
16
  align: MenuAlign;
16
17
  /** Align choice-row edges to the anchor by default; use `popup-frame` only for custom frame geometry. */
@@ -46,10 +47,8 @@ export declare class Menu {
46
47
  private clickOutsideHandler;
47
48
  private scrollResizeHandler;
48
49
  private closeTimer;
49
- private itemEls;
50
50
  private positionRetryRaf;
51
51
  private livePositionRaf;
52
- private listenersReady;
53
52
  /** Last content actually painted while open; retained unchanged through exit motion. */
54
53
  private lastRenderedSections;
55
54
  private closingSections;
@@ -11,15 +11,12 @@ export declare class MessageScroller {
11
11
  private viewport?;
12
12
  private content?;
13
13
  private overlay?;
14
- private resizeObserver?;
15
- private overlayResizeObserver?;
14
+ private scrollOverlayController?;
16
15
  private mutationObserver?;
17
16
  private following;
18
17
  private atStart;
19
18
  private programmatic;
20
19
  private previousScrollHeight;
21
- private overlayBlockSize;
22
- private overlayContentBlockSize;
23
20
  componentDidLoad(): void;
24
21
  disconnectedCallback(): void;
25
22
  scrollToMessage(id: string): Promise<boolean>;
@@ -29,8 +26,6 @@ export declare class MessageScroller {
29
26
  private scrollTo;
30
27
  private connectObservers;
31
28
  private handleContentGrowth;
32
- private syncContentFade;
33
- private syncOverlayContentBlockSize;
34
29
  private applyDefaultPosition;
35
30
  private isAtLiveEdge;
36
31
  private handleScroll;
@@ -0,0 +1,28 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export interface ScrollOverlayScrollDetail {
3
+ scrollTop: number;
4
+ scrollHeight: number;
5
+ clientHeight: number;
6
+ }
7
+ export declare class ScrollOverlay {
8
+ el: HTMLElement;
9
+ /** Optional accessible name. When provided, the scrollport is a focusable region. */
10
+ scrollLabel: string | undefined;
11
+ /** Reports scroll position without exposing the internal scrollport element. */
12
+ dsScroll: EventEmitter<ScrollOverlayScrollDetail>;
13
+ private viewport?;
14
+ private content?;
15
+ private overlay?;
16
+ private controller?;
17
+ componentDidLoad(): void;
18
+ disconnectedCallback(): void;
19
+ /** Move the owned scrollport to its beginning. */
20
+ scrollToStart(): Promise<void>;
21
+ /** Move the owned scrollport to its live end. */
22
+ scrollToEnd(): Promise<void>;
23
+ /** Re-measure footer geometry after an imperative slotted-content update. */
24
+ refreshOverlay(): Promise<void>;
25
+ private handleScroll;
26
+ render(): any;
27
+ }
28
+ //# sourceMappingURL=ScrollOverlay.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import type { ShellPageContentInset, ShellPageHeaderPresentation } from './shell-page-types';
2
2
  export declare class ShellPage {
3
+ private static readonly MAX_HEADER_REVEAL_FRAMES;
3
4
  el: HTMLElement;
4
5
  /** Automatic container/scroll behavior, or an explicit header variant override. */
5
6
  headerPresentation: ShellPageHeaderPresentation;
@@ -13,6 +14,7 @@ export declare class ShellPage {
13
14
  private expandedHeaderHeight;
14
15
  private resizeObserver;
15
16
  private headerResizeObserver;
17
+ private headerRevealFrame;
16
18
  private scrollRoot;
17
19
  private readonly layoutCoalescer;
18
20
  componentDidLoad(): void;
@@ -29,6 +31,9 @@ export declare class ShellPage {
29
31
  private syncCapacity;
30
32
  private get compactHeaderHeight();
31
33
  private setSpacerHeight;
34
+ private variantClass;
35
+ private cancelHeaderReveal;
36
+ private revealHeaderWhenSynced;
32
37
  private syncHeaderVariant;
33
38
  private observeHeader;
34
39
  private handleHeaderSlotChange;