@ds-mo/ui 13.17.0 → 13.18.1

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 (236) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +2 -2
  3. package/dist/agent.json +274 -25
  4. package/dist/angular/ds-filter-menu.d.ts +44 -0
  5. package/dist/angular/ds-filter-menu.js +57 -0
  6. package/dist/angular/ds-select.d.ts +12 -1
  7. package/dist/angular/ds-select.js +10 -4
  8. package/dist/angular/ds-table.d.ts +1 -4
  9. package/dist/angular/ds-table.js +2 -5
  10. package/dist/angular/index.d.ts +1 -1
  11. package/dist/angular/index.js +1 -0
  12. package/dist/angular/proxies.d.ts +1 -0
  13. package/dist/angular/proxies.js +1 -0
  14. package/dist/components/ds-agent-activity.js +1 -1
  15. package/dist/components/ds-agent-questionnaire.js +1 -1
  16. package/dist/components/ds-agent-response.js +1 -1
  17. package/dist/components/ds-agent-source-list.js +1 -1
  18. package/dist/components/ds-agent-tool-call.js +1 -1
  19. package/dist/components/ds-attachment-list.js +1 -1
  20. package/dist/components/ds-badge.js +1 -1
  21. package/dist/components/ds-banner.js +1 -1
  22. package/dist/components/ds-bar-nav.js +1 -1
  23. package/dist/components/ds-bar-title.js +1 -1
  24. package/dist/components/ds-bar-workflow.js +1 -1
  25. package/dist/components/ds-bar-workflow.js.map +1 -1
  26. package/dist/components/ds-breadcrumb.js +1 -1
  27. package/dist/components/ds-button-filled.js +1 -1
  28. package/dist/components/ds-button-unfilled.js +1 -1
  29. package/dist/components/ds-card-chart.js +1 -1
  30. package/dist/components/ds-card-overview.js +1 -1
  31. package/dist/components/ds-card-overview.js.map +1 -1
  32. package/dist/components/ds-card-setting.js +1 -1
  33. package/dist/components/ds-chart-legend.js +1 -1
  34. package/dist/components/ds-chart.js +1 -1
  35. package/dist/components/ds-checkbox.js +1 -1
  36. package/dist/components/ds-chip.js +1 -1
  37. package/dist/components/ds-code-block.js +1 -1
  38. package/dist/components/ds-conversation-list-item.js +1 -1
  39. package/dist/components/ds-conversation-list-item.js.map +1 -1
  40. package/dist/components/ds-conversation-list-section.js +1 -1
  41. package/dist/components/ds-empty-state.js +1 -1
  42. package/dist/components/ds-field.js +1 -1
  43. package/dist/components/ds-filter-menu.d.ts +11 -0
  44. package/dist/components/ds-filter-menu.js +2 -0
  45. package/dist/components/ds-filter-menu.js.map +1 -0
  46. package/dist/components/ds-input.js +1 -1
  47. package/dist/components/ds-input.js.map +1 -1
  48. package/dist/components/ds-markdown.js +1 -1
  49. package/dist/components/ds-menu.js +1 -1
  50. package/dist/components/ds-message-actions.js +1 -1
  51. package/dist/components/ds-message-bubble.js +1 -1
  52. package/dist/components/ds-message-composer.js +1 -1
  53. package/dist/components/ds-message-scroller.js +1 -1
  54. package/dist/components/ds-message.js +1 -1
  55. package/dist/components/ds-mobile-bar-nav.js +1 -1
  56. package/dist/components/ds-mobile-header.js +1 -1
  57. package/dist/components/ds-mobile-section-switcher.js +1 -1
  58. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  59. package/dist/components/ds-modal.js +1 -1
  60. package/dist/components/ds-modal.js.map +1 -1
  61. package/dist/components/ds-panel-nav.js +1 -1
  62. package/dist/components/ds-panel-sub-nav.js +1 -1
  63. package/dist/components/ds-panel-tool-header.js +1 -1
  64. package/dist/components/ds-panel-tool-search.js +1 -1
  65. package/dist/components/ds-panel-tools.js +1 -1
  66. package/dist/components/ds-radio.js +1 -1
  67. package/dist/components/ds-scroll-overlay.js +1 -1
  68. package/dist/components/ds-select.js +1 -1
  69. package/dist/components/ds-select.js.map +1 -1
  70. package/dist/components/ds-shell-app.js +1 -1
  71. package/dist/components/ds-shell-app.js.map +1 -1
  72. package/dist/components/ds-shell-page.js +1 -1
  73. package/dist/components/ds-shell-tools.js +1 -1
  74. package/dist/components/ds-skeleton.js +1 -1
  75. package/dist/components/ds-slider.js +1 -1
  76. package/dist/components/ds-swatch-picker.js +1 -1
  77. package/dist/components/ds-switch.js +1 -1
  78. package/dist/components/ds-tab-group.js +1 -1
  79. package/dist/components/ds-table.js +1 -1
  80. package/dist/components/ds-table.js.map +1 -1
  81. package/dist/components/ds-tag.js +1 -1
  82. package/dist/components/ds-text.js +1 -1
  83. package/dist/components/ds-toast.js +1 -1
  84. package/dist/components/ds-tooltip-chart.js +1 -1
  85. package/dist/components/ds-tooltip.js +1 -1
  86. package/dist/components/ds-typing-indicator.js +1 -1
  87. package/dist/components/p-B-CVaYE6.js +2 -0
  88. package/dist/components/{p-D9FdOR_m.js.map → p-B-CVaYE6.js.map} +1 -1
  89. package/dist/components/p-BAgjMUt3.js +2 -0
  90. package/dist/components/p-BAgjMUt3.js.map +1 -0
  91. package/dist/components/{p-CdKz-QT2.js → p-BCfgU8Fh.js} +2 -2
  92. package/dist/components/{p-CsXC1cHI.js → p-BDsAON4I.js} +2 -2
  93. package/dist/components/{p-GWUTrIlk.js → p-BOCrvs-v.js} +2 -2
  94. package/dist/components/{p-B69Re7HW.js → p-BOjGzd5N.js} +2 -2
  95. package/dist/components/{p-BAAjiAIF.js → p-BQkZ8FIl.js} +2 -2
  96. package/dist/components/p-BUAJ5TD7.js +2 -0
  97. package/dist/components/p-BUAJ5TD7.js.map +1 -0
  98. package/dist/components/p-BaiGt_o6.js +2 -0
  99. package/dist/components/{p-D4jQy3Ps.js.map → p-BaiGt_o6.js.map} +1 -1
  100. package/dist/components/p-BhOjnMLG.js +2 -0
  101. package/dist/components/p-BhOjnMLG.js.map +1 -0
  102. package/dist/components/p-BqFKxWVl.js +2 -0
  103. package/dist/components/p-BqFKxWVl.js.map +1 -0
  104. package/dist/components/p-ByNAXs5X.js +2 -0
  105. package/dist/components/p-ByNAXs5X.js.map +1 -0
  106. package/dist/components/p-C25Nmifd.js +2 -0
  107. package/dist/components/{p-m5CSrx_s.js.map → p-C25Nmifd.js.map} +1 -1
  108. package/dist/components/{p-00or0yGw.js → p-C7ywYAzN.js} +2 -2
  109. package/dist/components/p-CBTGKnIy.js +2 -0
  110. package/dist/components/{p-B94M62Tx.js.map → p-CBTGKnIy.js.map} +1 -1
  111. package/dist/components/{p-Dbobj7DI.js → p-CXYjqJwC.js} +2 -2
  112. package/dist/components/{p-D4j0deyd.js → p-C_tqXl5P.js} +2 -2
  113. package/dist/components/{p-CnIvWEVm.js → p-Ca0npbVt.js} +2 -2
  114. package/dist/components/p-ChGkNsWu.js +2 -0
  115. package/dist/components/p-ChGkNsWu.js.map +1 -0
  116. package/dist/components/p-CswBI711.js +2 -0
  117. package/dist/components/{p-CnUq7E8S.js.map → p-CswBI711.js.map} +1 -1
  118. package/dist/components/p-CtSxm6PI.js +2 -0
  119. package/dist/components/{p-DyqLVdJp.js.map → p-CtSxm6PI.js.map} +1 -1
  120. package/dist/components/p-D0-VdNjl.js +2 -0
  121. package/dist/components/{p-BMAZWEDa.js.map → p-D0-VdNjl.js.map} +1 -1
  122. package/dist/components/{p-dEouiXJ8.js → p-D8nnhQNJ.js} +2 -2
  123. package/dist/components/{p-D4AfoIu6.js → p-DGhSz9Fo.js} +2 -2
  124. package/dist/components/{p-DStd98dM.js → p-DGvAZk-D.js} +2 -2
  125. package/dist/components/p-DGvAZk-D.js.map +1 -0
  126. package/dist/components/p-DQK2ZH60.js +2 -0
  127. package/dist/components/{p-D5sIwLjA.js.map → p-DQK2ZH60.js.map} +1 -1
  128. package/dist/components/p-DTMxwYQj.js +2 -0
  129. package/dist/components/{p-B2SoinWf.js.map → p-DTMxwYQj.js.map} +1 -1
  130. package/dist/components/{p-C891ueIx.js → p-DYoCb_sj.js} +2 -2
  131. package/dist/components/{p-Dhx_3_tf.js → p-DZFilC--.js} +2 -2
  132. package/dist/components/p-DZFilC--.js.map +1 -0
  133. package/dist/components/{p-GbTasczF.js → p-Dcnd5ZX5.js} +2 -2
  134. package/dist/components/{p-BRze4tRe.js → p-DeBto13S.js} +2 -2
  135. package/dist/components/p-NdahPypA.js +2 -0
  136. package/dist/components/p-NdahPypA.js.map +1 -0
  137. package/dist/components/{p-CqDJRVT8.js → p-NzOcZg8r.js} +2 -2
  138. package/dist/components/p-PzI11fs8.js +2 -0
  139. package/dist/components/p-PzI11fs8.js.map +1 -0
  140. package/dist/components/{p-Cohb8T7G.js → p-QdI17bl-.js} +2 -2
  141. package/dist/components/{p-chA2WA5x.js → p-Qzh-wyTg.js} +2 -2
  142. package/dist/components/{p-DrvEhJhO.js → p-eu5AZEuT.js} +2 -2
  143. package/dist/components/{p-Qf-os3lG.js → p-oyZjjoYV.js} +2 -2
  144. package/dist/components/p-tR8INOIN.js +2 -0
  145. package/dist/components/p-tR8INOIN.js.map +1 -0
  146. package/dist/docs/components.json +1294 -114
  147. package/dist/lib/utils/choice-list.d.ts +10 -0
  148. package/dist/lib/utils/index.js +4 -1
  149. package/dist/lib/utils/index.js.map +2 -2
  150. package/dist/lib/utils/token-defaults.d.ts +2 -0
  151. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  152. package/dist/mcp-data/registry/bar-nav.json +2 -2
  153. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  154. package/dist/mcp-data/registry/button-unfilled.json +6 -6
  155. package/dist/mcp-data/registry/filter-menu.json +644 -0
  156. package/dist/mcp-data/registry/menu.json +11 -8
  157. package/dist/mcp-data/registry/modal.json +3 -3
  158. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  159. package/dist/mcp-data/registry/registry.json +276 -24
  160. package/dist/mcp-data/registry/select.json +132 -7
  161. package/dist/mcp-data/registry/shell-app.json +1 -1
  162. package/dist/mcp-data/registry/shell-tools.json +1 -1
  163. package/dist/mcp-data/registry/table.json +12 -26
  164. package/dist/mcp-data/registry/text.json +2 -2
  165. package/dist/react/components.d.ts +1 -0
  166. package/dist/react/components.js +1 -0
  167. package/dist/react/ds-filter-menu.d.ts +17 -0
  168. package/dist/react/ds-filter-menu.js +19 -0
  169. package/dist/react/ds-select.d.ts +3 -1
  170. package/dist/react/ds-select.js +3 -1
  171. package/dist/react/ds-table.d.ts +1 -2
  172. package/dist/react/ds-table.js +0 -1
  173. package/dist/styles/prose.css +19 -3
  174. package/dist/styles/table.css +7 -5
  175. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -2
  176. package/dist/types/components/FilterMenu/FilterMenu.d.ts +137 -0
  177. package/dist/types/components/Menu/Menu.d.ts +1 -1
  178. package/dist/types/components/Menu/menu-types.d.ts +9 -0
  179. package/dist/types/components/Modal/Modal.d.ts +1 -0
  180. package/dist/types/components/Select/Select.d.ts +34 -0
  181. package/dist/types/components/Table/Table.d.ts +2 -3
  182. package/dist/types/components/Table/index.d.ts +1 -1
  183. package/dist/types/components/Table/table-model.d.ts +1 -2
  184. package/dist/types/components/Table/table-types.d.ts +1 -4
  185. package/dist/types/components.d.ts +374 -10
  186. package/dist/types/utils/choice-list-parts.d.ts +17 -0
  187. package/dist/types/utils/choice-list.d.ts +10 -0
  188. package/dist/types/utils/select-controller.d.ts +2 -0
  189. package/dist/types/utils/token-defaults.d.ts +2 -0
  190. package/package.json +2 -1
  191. package/dist/components/p-B2SoinWf.js +0 -2
  192. package/dist/components/p-B53Vpuqq.js +0 -2
  193. package/dist/components/p-B53Vpuqq.js.map +0 -1
  194. package/dist/components/p-B94M62Tx.js +0 -2
  195. package/dist/components/p-BMAZWEDa.js +0 -2
  196. package/dist/components/p-BtUgncSJ.js +0 -2
  197. package/dist/components/p-BtUgncSJ.js.map +0 -1
  198. package/dist/components/p-CMbcRN92.js +0 -2
  199. package/dist/components/p-CMbcRN92.js.map +0 -1
  200. package/dist/components/p-CXduurfd.js +0 -2
  201. package/dist/components/p-CXduurfd.js.map +0 -1
  202. package/dist/components/p-CnUq7E8S.js +0 -2
  203. package/dist/components/p-D4jQy3Ps.js +0 -2
  204. package/dist/components/p-D5sIwLjA.js +0 -2
  205. package/dist/components/p-D9CDoQBx.js +0 -2
  206. package/dist/components/p-D9CDoQBx.js.map +0 -1
  207. package/dist/components/p-D9FdOR_m.js +0 -2
  208. package/dist/components/p-DO5-fplZ.js +0 -2
  209. package/dist/components/p-DO5-fplZ.js.map +0 -1
  210. package/dist/components/p-DStd98dM.js.map +0 -1
  211. package/dist/components/p-Dhx_3_tf.js.map +0 -1
  212. package/dist/components/p-DyqLVdJp.js +0 -2
  213. package/dist/components/p-NQOI5gN1.js +0 -2
  214. package/dist/components/p-NQOI5gN1.js.map +0 -1
  215. package/dist/components/p-m5CSrx_s.js +0 -2
  216. package/dist/components/p-ymtdhOU5.js +0 -2
  217. package/dist/components/p-ymtdhOU5.js.map +0 -1
  218. /package/dist/components/{p-CdKz-QT2.js.map → p-BCfgU8Fh.js.map} +0 -0
  219. /package/dist/components/{p-CsXC1cHI.js.map → p-BDsAON4I.js.map} +0 -0
  220. /package/dist/components/{p-GWUTrIlk.js.map → p-BOCrvs-v.js.map} +0 -0
  221. /package/dist/components/{p-B69Re7HW.js.map → p-BOjGzd5N.js.map} +0 -0
  222. /package/dist/components/{p-BAAjiAIF.js.map → p-BQkZ8FIl.js.map} +0 -0
  223. /package/dist/components/{p-00or0yGw.js.map → p-C7ywYAzN.js.map} +0 -0
  224. /package/dist/components/{p-Dbobj7DI.js.map → p-CXYjqJwC.js.map} +0 -0
  225. /package/dist/components/{p-D4j0deyd.js.map → p-C_tqXl5P.js.map} +0 -0
  226. /package/dist/components/{p-CnIvWEVm.js.map → p-Ca0npbVt.js.map} +0 -0
  227. /package/dist/components/{p-dEouiXJ8.js.map → p-D8nnhQNJ.js.map} +0 -0
  228. /package/dist/components/{p-D4AfoIu6.js.map → p-DGhSz9Fo.js.map} +0 -0
  229. /package/dist/components/{p-C891ueIx.js.map → p-DYoCb_sj.js.map} +0 -0
  230. /package/dist/components/{p-GbTasczF.js.map → p-Dcnd5ZX5.js.map} +0 -0
  231. /package/dist/components/{p-BRze4tRe.js.map → p-DeBto13S.js.map} +0 -0
  232. /package/dist/components/{p-CqDJRVT8.js.map → p-NzOcZg8r.js.map} +0 -0
  233. /package/dist/components/{p-Cohb8T7G.js.map → p-QdI17bl-.js.map} +0 -0
  234. /package/dist/components/{p-chA2WA5x.js.map → p-Qzh-wyTg.js.map} +0 -0
  235. /package/dist/components/{p-DrvEhJhO.js.map → p-eu5AZEuT.js.map} +0 -0
  236. /package/dist/components/{p-Qf-os3lG.js.map → p-oyZjjoYV.js.map} +0 -0
@@ -0,0 +1,17 @@
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 './react-runtime.js';
6
+ import { type DsFilterMenuCustomEvent, type FilterMenuChangeDetail } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsFilterMenu as DsFilterMenuElement } from "@ds-mo/ui/dist/components/ds-filter-menu.js";
9
+ export type DsFilterMenuEvents = {
10
+ onDsChange: EventName<DsFilterMenuCustomEvent<FilterMenuChangeDetail>>;
11
+ onDsClear: EventName<DsFilterMenuCustomEvent<void>>;
12
+ onDsActiveFilterChange: EventName<DsFilterMenuCustomEvent<string>>;
13
+ onDsClose: EventName<DsFilterMenuCustomEvent<void>>;
14
+ onDsOpenChange: EventName<DsFilterMenuCustomEvent<boolean>>;
15
+ onDsAfterClose: EventName<DsFilterMenuCustomEvent<void>>;
16
+ };
17
+ export declare const DsFilterMenu: StencilReactComponent<DsFilterMenuElement, DsFilterMenuEvents, Components.DsFilterMenu>;
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsFilterMenu as DsFilterMenuElement, defineCustomElement as defineDsFilterMenu } from "@ds-mo/ui/dist/components/ds-filter-menu.js";
5
+ export const DsFilterMenu = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-filter-menu',
7
+ elementClass: DsFilterMenuElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {
11
+ onDsChange: 'dsChange',
12
+ onDsClear: 'dsClear',
13
+ onDsActiveFilterChange: 'dsActiveFilterChange',
14
+ onDsClose: 'dsClose',
15
+ onDsOpenChange: 'dsOpenChange',
16
+ onDsAfterClose: 'dsAfterClose'
17
+ },
18
+ defineCustomElement: defineDsFilterMenu
19
+ });
@@ -3,12 +3,14 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsSelectCustomEvent, type SelectValue } from "@ds-mo/ui";
6
+ import { type DsSelectCustomEvent, type SelectOptionActionDetail, type SelectValue } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsSelect as DsSelectElement } from "@ds-mo/ui/dist/components/ds-select.js";
9
9
  export type DsSelectEvents = {
10
10
  onDsChange: EventName<DsSelectCustomEvent<SelectValue>>;
11
11
  onDsClear: EventName<DsSelectCustomEvent<void>>;
12
12
  onDsOpenChange: EventName<DsSelectCustomEvent<boolean>>;
13
+ onDsFooterAction: EventName<DsSelectCustomEvent<void>>;
14
+ onDsOptionAction: EventName<DsSelectCustomEvent<SelectOptionActionDetail>>;
13
15
  };
14
16
  export declare const DsSelect: StencilReactComponent<DsSelectElement, DsSelectEvents, Components.DsSelect>;
@@ -10,7 +10,9 @@ export const DsSelect = /*@__PURE__*/ createComponent({
10
10
  events: {
11
11
  onDsChange: 'dsChange',
12
12
  onDsClear: 'dsClear',
13
- onDsOpenChange: 'dsOpenChange'
13
+ onDsOpenChange: 'dsOpenChange',
14
+ onDsFooterAction: 'dsFooterAction',
15
+ onDsOptionAction: 'dsOptionAction'
14
16
  },
15
17
  defineCustomElement: defineDsSelect
16
18
  });
@@ -3,12 +3,11 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type TableGroupingChangeDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
6
+ import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
9
9
  export type DsTableEvents = {
10
10
  onDsSortChange: EventName<DsTableCustomEvent<TableSortChangeDetail>>;
11
- onDsGroupingChange: EventName<DsTableCustomEvent<TableGroupingChangeDetail>>;
12
11
  onDsGroupCollapseChange: EventName<DsTableCustomEvent<TableGroupCollapseChangeDetail>>;
13
12
  onDsSelectionChange: EventName<DsTableCustomEvent<TableSelectionChangeDetail>>;
14
13
  onDsLoadMore: EventName<DsTableCustomEvent<TableLoadMoreDetail>>;
@@ -9,7 +9,6 @@ export const DsTable = /*@__PURE__*/ createComponent({
9
9
  react: React,
10
10
  events: {
11
11
  onDsSortChange: 'dsSortChange',
12
- onDsGroupingChange: 'dsGroupingChange',
13
12
  onDsGroupCollapseChange: 'dsGroupCollapseChange',
14
13
  onDsSelectionChange: 'dsSelectionChange',
15
14
  onDsLoadMore: 'dsLoadMore',
@@ -125,9 +125,25 @@
125
125
 
126
126
  :where(.ds-prose)
127
127
  :where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
128
- color: var(--color-foreground-brand);
129
- text-decoration: underline;
130
- text-decoration-color: var(--color-foreground-tertiary);
128
+ color: var(--color-foreground-bold-brand);
129
+ text-decoration-line: none;
130
+ text-decoration-color: currentcolor;
131
+ text-decoration-thickness: var(--ds-text-decoration-thickness, var(--dimension-stroke-width-012));
132
+ text-underline-offset: var(--ds-text-decoration-offset, var(--dimension-space-025));
133
+ }
134
+
135
+ @media (hover: hover) and (pointer: fine) {
136
+ :where(.ds-prose)
137
+ :where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)):hover {
138
+ text-decoration-line: underline;
139
+ }
140
+ }
141
+
142
+ @media (forced-colors: active) {
143
+ :where(.ds-prose)
144
+ :where(a):not(:where([data-ds-prose='off'], [data-ds-prose='off'] *)) {
145
+ text-decoration-line: underline;
146
+ }
131
147
  }
132
148
 
133
149
  :where(.ds-prose)
@@ -291,6 +291,10 @@
291
291
  padding: var(--ds-control-padding-inline, var(--dimension-space-075));
292
292
  }
293
293
 
294
+ :where(.ds-table__bar-copy--summary) {
295
+ justify-content: flex-end;
296
+ }
297
+
294
298
  :where(.ds-table__bar-copy > slot) {
295
299
  display: contents;
296
300
  }
@@ -314,7 +318,7 @@
314
318
  :where(.ds-table__footer) {
315
319
  border-end-start-radius: var(--_table-radius);
316
320
  border-end-end-radius: var(--_table-radius);
317
- border-block-start: var(--dimension-stroke-width-012) solid var(--_table-column-border);
321
+ border-block-start: var(--dimension-stroke-width-012) solid var(--_table-border);
318
322
  color: var(--color-foreground-secondary);
319
323
  }
320
324
 
@@ -529,7 +533,7 @@
529
533
  block-size: var(--_table-row-min-block-size);
530
534
  padding: var(--_table-cell-padding-block) var(--_table-cell-padding-inline);
531
535
  --ds-interaction-group-divider-width: var(--dimension-stroke-width-012);
532
- --ds-interaction-group-divider-color: var(--_table-border);
536
+ --ds-interaction-group-divider-color: var(--_table-column-border);
533
537
  border-block-end: 0;
534
538
  background-color: inherit;
535
539
  vertical-align: top;
@@ -808,9 +812,7 @@
808
812
  }
809
813
 
810
814
  :where(.ds-table__cell-tag-stack--tag-with-text .ds-table__cell-tag-text) {
811
- padding-inline: calc(
812
- var(--_table-cell-track-padding-inline) + var(--_table-cell-track-label-inset)
813
- );
815
+ padding-inline: var(--_table-cell-track-padding-inline);
814
816
  padding-block: var(--dimension-space-025);
815
817
  min-block-size: 0;
816
818
  }
@@ -60,8 +60,8 @@ export declare class ButtonUnfilled {
60
60
  controls: string | undefined;
61
61
  /**
62
62
  * Controlled disclosure or popup state forwarded to `aria-expanded`.
63
- * Popup triggers hold a pressed visual while open; ordinary disclosures
64
- * retain the normal resting appearance.
63
+ * Popup triggers hold only the pressed wash while open; their resting
64
+ * foreground is unchanged. Ordinary disclosures remain visually neutral.
65
65
  */
66
66
  expanded: boolean | undefined;
67
67
  haspopup: ButtonUnfilledPopup | undefined;
@@ -0,0 +1,137 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type ControlWidth } from '../../utils';
3
+ import type { AnchoredAlign, AnchoredSide } from '../../utils/anchored-position';
4
+ export type FilterMenuFilterKind = 'single' | 'multiple' | 'boolean' | 'date';
5
+ export type FilterMenuSize = 'lg' | 'md' | 'sm' | 'xs';
6
+ export type FilterMenuWidth = ControlWidth;
7
+ export interface FilterMenuOption {
8
+ label: string;
9
+ value: string;
10
+ description?: string;
11
+ isInactive?: boolean;
12
+ }
13
+ export interface FilterMenuFilter {
14
+ id: string;
15
+ label: string;
16
+ kind: FilterMenuFilterKind;
17
+ options?: FilterMenuOption[];
18
+ description?: string;
19
+ fieldLabel?: string;
20
+ /** Draw a standard menu-section divider after this category. */
21
+ divider?: boolean;
22
+ }
23
+ export type FilterMenuValue = string[] | boolean | string;
24
+ export type FilterMenuValues = Record<string, FilterMenuValue | undefined>;
25
+ export interface FilterMenuChangeDetail {
26
+ filterId: string;
27
+ value: FilterMenuValue;
28
+ }
29
+ export declare class FilterMenu {
30
+ el: HTMLElement;
31
+ /** Controlled popup visibility. */
32
+ open: boolean;
33
+ /** Select trigger text. The selected count is appended automatically. */
34
+ triggerLabel: string;
35
+ /** Optional select trigger prefix icon name. */
36
+ icon: string | undefined;
37
+ /** Select trigger density. */
38
+ size: FilterMenuSize;
39
+ /** Select trigger width fit. */
40
+ width: FilterMenuWidth;
41
+ /** Show the surface-aware inset border around the select trigger. */
42
+ hasBorder: boolean;
43
+ /** Show selected interaction fill when one or more criteria are active. */
44
+ activeFill: boolean;
45
+ /** ID applied to the internal select trigger. */
46
+ inputId: string | undefined;
47
+ /** Direct accessible name for the internal select trigger. */
48
+ ariaLabel: string | null;
49
+ /** Product-owned filter categories and option definitions. */
50
+ filters: FilterMenuFilter[];
51
+ /** Controlled values keyed by filter id. */
52
+ values: FilterMenuValues;
53
+ /** Controlled category shown in the option pane. */
54
+ activeFilterId: string | undefined;
55
+ /** External trigger element to position against. */
56
+ anchor: HTMLElement | undefined;
57
+ /** ID of the external trigger element used for positioning and focus return. */
58
+ anchorId: string | undefined;
59
+ /** Preferred popup side; collision handling may flip it. */
60
+ side: AnchoredSide;
61
+ /** Cross-axis alignment against the trigger. */
62
+ align: AnchoredAlign;
63
+ /** Gap between trigger and popup — number in px or a TokoMo length. */
64
+ sideOffset: number | string;
65
+ /** Cross-axis offset — number in px or a TokoMo length. */
66
+ alignOffset: number | string;
67
+ /** Popup width. It remains clamped to the viewport by the component recipe. */
68
+ menuWidth: string;
69
+ /** Accessible name for the non-modal filter dialog. */
70
+ menuLabel: string;
71
+ /** Accessible name for the category tab list. */
72
+ categoriesLabel: string;
73
+ /** Footer action and date-clear accessible label. */
74
+ clearLabel: string;
75
+ /** Show a visible focus ring on initial entry after keyboard activation. */
76
+ initialFocusVisible: boolean;
77
+ private shouldRender;
78
+ private closing;
79
+ private positionReady;
80
+ private pos;
81
+ private focusRingVisible;
82
+ private activeOptionIndex;
83
+ /** Requests a controlled value replacement without closing the popup. */
84
+ dsChange: EventEmitter<FilterMenuChangeDetail>;
85
+ /** Requests that the consumer clear every filter value. */
86
+ dsClear: EventEmitter<void>;
87
+ /** Requests a controlled active-category replacement. */
88
+ dsActiveFilterChange: EventEmitter<string>;
89
+ /** Requests that the controlled popup close. */
90
+ dsClose: EventEmitter<void>;
91
+ /** Emitted whenever internal select-trigger activation changes popup visibility. */
92
+ dsOpenChange: EventEmitter<boolean>;
93
+ /** Emitted after exit motion and rendered popup removal complete. */
94
+ dsAfterClose: EventEmitter<void>;
95
+ private readonly generatedId;
96
+ private outsideHandler;
97
+ private triggerElement;
98
+ private pendingInitialFocusVisible;
99
+ private closeTimer;
100
+ private closingSnapshot;
101
+ private readonly position;
102
+ componentDidLoad(): void;
103
+ disconnectedCallback(): void;
104
+ onOpenChange(isOpen: boolean): void;
105
+ onPositionInputChange(): void;
106
+ handleKeyDown(event: KeyboardEvent): void;
107
+ private get resolvedAnchor();
108
+ private get usesInternalTrigger();
109
+ private get anchorFocusTarget();
110
+ private get viewportPad();
111
+ private get popupFallbackWidth();
112
+ private get popupFallbackHeight();
113
+ private setupListeners;
114
+ private teardownListeners;
115
+ private close;
116
+ private toggleFromTrigger;
117
+ private handleTriggerKeyDown;
118
+ private finishClose;
119
+ private captureClosingSnapshot;
120
+ private focusAnchor;
121
+ private focusInitialCategory;
122
+ private tabLeavesPopup;
123
+ private moveFocusAfterTab;
124
+ private selectedFilter;
125
+ private selectedCount;
126
+ private totalSelected;
127
+ private activeFilterCount;
128
+ private selectCategory;
129
+ private handleCategoryKeyDown;
130
+ private handlePanelKeyDown;
131
+ private handleOptionKeyDown;
132
+ private toggleMultiple;
133
+ private selectOption;
134
+ private renderOptions;
135
+ render(): any;
136
+ }
137
+ //# sourceMappingURL=FilterMenu.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { type ChoicePopupAnchorAlignment, type ControlSize } from '../../utils';
3
3
  import type { MenuAlign, MenuSide } from './menu-position';
4
- import type { MenuItemData, MenuSection } from './menu-types';
4
+ import { type MenuItemData, type MenuSection } from './menu-types';
5
5
  export type MenuSelectionMode = 'none' | 'single';
6
6
  export type MenuSize = ControlSize;
7
7
  export declare class Menu {
@@ -1,12 +1,21 @@
1
1
  import type { SwatchPickerOption, SwatchPickerSection } from '../SwatchPicker/swatch-picker-types';
2
+ import type { TagContrast, TagIntent } from '../Tag/Tag';
2
3
  export type { MenuAlign, MenuSide } from './menu-position';
3
4
  export { PANEL_NAV_USER_MENU_PLACEMENT, PANEL_TOOLS_HEADER_MENU_PLACEMENT, type MenuPlacement, } from './menu-placement';
5
+ export interface MenuItemTagData {
6
+ label: string;
7
+ intent?: TagIntent;
8
+ contrast?: TagContrast;
9
+ rounded?: boolean;
10
+ }
4
11
  export interface MenuItemData {
5
12
  label: string;
6
13
  value?: string;
7
14
  subtext?: string;
8
15
  /** Show a supplemental brand notification dot. */
9
16
  dot?: boolean;
17
+ /** Show a non-interactive tag at the trailing edge of the row. */
18
+ tag?: MenuItemTagData;
10
19
  isSelected?: boolean;
11
20
  isInactive?: boolean;
12
21
  isDestructive?: boolean;
@@ -27,6 +27,7 @@ export declare class Modal {
27
27
  private previousFocus;
28
28
  private closeTimer;
29
29
  componentDidLoad(): void;
30
+ componentDidRender(): void;
30
31
  disconnectedCallback(): void;
31
32
  onOpenChange(isOpen: boolean): void;
32
33
  private focusClose;
@@ -6,7 +6,13 @@ export type SelectSection = ChoiceSection;
6
6
  export type SelectBackground = ChoiceBackground;
7
7
  export type SelectSize = 'lg' | 'md' | 'sm' | 'xs';
8
8
  export type SelectWidth = ControlWidth;
9
+ export type SelectPopupAlign = 'start' | 'end';
9
10
  export type SelectValue = string | string[];
11
+ export interface SelectOptionActionDetail {
12
+ value: string;
13
+ anchorId: string;
14
+ originalEvent: MouseEvent;
15
+ }
10
16
  export declare class Select {
11
17
  el: HTMLElement;
12
18
  internals: ElementInternals;
@@ -30,10 +36,18 @@ export declare class Select {
30
36
  requiredMessage: string;
31
37
  /** Trigger text shown when no valid value is selected. */
32
38
  placeholder: string;
39
+ /** Optional scalar-mode trigger text that does not change the selected option label. */
40
+ triggerLabel: string | undefined;
41
+ /** Present triggerLabel with placeholder emphasis while preserving the selected value. */
42
+ triggerLabelPlaceholder: boolean;
43
+ /** Show a supplemental notification dot beside the trigger label. */
44
+ dot: boolean;
33
45
  /** Control density. */
34
46
  size: SelectSize;
35
47
  /** Width fit — hug content (default) or fill the parent. */
36
48
  width: SelectWidth;
49
+ /** Align the popup's choice edge to the trigger start or end edge. */
50
+ popupAlign: SelectPopupAlign;
37
51
  /** Shared inactive treatment; removes interaction and form submission. */
38
52
  isInactive: boolean;
39
53
  /** Replace the prefix with a loader and disable option interaction. */
@@ -50,6 +64,8 @@ export declare class Select {
50
64
  clearLabel: string;
51
65
  /** Localized noun displayed after the selected count in multiple mode. */
52
66
  selectedLabel: string;
67
+ /** Optional text action shown in the popup footer instead of the clear action. */
68
+ footerActionLabel: string | undefined;
53
69
  /** Show immediate local filtering over option labels, subtext, and section headings. */
54
70
  searchable: boolean;
55
71
  /** Localized search-field placeholder and accessible name. */
@@ -78,23 +94,36 @@ export declare class Select {
78
94
  dsClear: EventEmitter<void>;
79
95
  /** Emitted whenever popup visibility changes. */
80
96
  dsOpenChange: EventEmitter<boolean>;
97
+ /** Emitted when the optional popup footer action is activated. */
98
+ dsFooterAction: EventEmitter<void>;
99
+ /** Emitted when an option's contextual ellipsis action is activated. */
100
+ dsOptionAction: EventEmitter<SelectOptionActionDetail>;
81
101
  private activeIndex;
82
102
  private searchTerm;
83
103
  private formDisabled;
84
104
  private position;
85
105
  private positionReady;
86
106
  private focusRingVisible;
107
+ private compactFooterSummary;
87
108
  private readonly generatedId;
88
109
  private readonly listboxId;
89
110
  private readonly errorId;
90
111
  private initialValue;
91
112
  private readonly controller;
113
+ private footerContentElement?;
114
+ private footerSummaryMeasureElement?;
115
+ private footerClearElement?;
116
+ private footerResizeObserver?;
117
+ private observedFooterContentElement?;
118
+ private footerMeasurementFrame?;
92
119
  private createController;
93
120
  componentWillLoad(): void;
94
121
  componentDidLoad(): void;
122
+ componentDidRender(): void;
95
123
  disconnectedCallback(): void;
96
124
  syncFormValue(): void;
97
125
  onLoadingChange(): void;
126
+ onPopupAlignChange(): void;
98
127
  onOpenChange(open: boolean): void;
99
128
  onSearchTermChange(): void;
100
129
  onActiveIndexChange(): void;
@@ -113,10 +142,15 @@ export declare class Select {
113
142
  private get selectedOption();
114
143
  private get hasSelection();
115
144
  private get activeOptionId();
145
+ private get popupRole();
146
+ private observeFooterContent;
147
+ private scheduleFooterSummaryMeasurement;
148
+ private measureFooterSummary;
116
149
  private closePopup;
117
150
  private openPopup;
118
151
  private selectOption;
119
152
  private clearSelection;
153
+ private activateFooterAction;
120
154
  private readonly handleListKeyDown;
121
155
  private readonly handleTriggerKeyDown;
122
156
  private renderOption;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
2
+ import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
3
3
  export declare class Table {
4
4
  el: HTMLElement;
5
5
  /** Stable column definitions. Assign through JavaScript. */
@@ -8,7 +8,7 @@ export declare class Table {
8
8
  rows: TableRow[];
9
9
  /** One level of application-owned grouped data. Assign through JavaScript. */
10
10
  groups: TableGroup[];
11
- /** Controlled grouping column and group-order direction. */
11
+ /** Controlled grouping column. Applications supply groups in their final fixed order. */
12
12
  grouping: TableGroupingState | null;
13
13
  /** Controlled member-row sort state. */
14
14
  sort: TableSortState | null;
@@ -69,7 +69,6 @@ export declare class Table {
69
69
  /** Supports {count} and {total} placeholders. */
70
70
  rowsLoadedLabel: string;
71
71
  dsSortChange: EventEmitter<TableSortChangeDetail>;
72
- dsGroupingChange: EventEmitter<TableGroupingChangeDetail>;
73
72
  dsGroupCollapseChange: EventEmitter<TableGroupCollapseChangeDetail>;
74
73
  dsSelectionChange: EventEmitter<TableSelectionChangeDetail>;
75
74
  dsLoadMore: EventEmitter<TableLoadMoreDetail>;
@@ -1,2 +1,2 @@
1
- export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupIntent, TableHeaderSegment, TableGroupingChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
1
+ export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellValue, TableColumn, TableGroup, TableGroupingState, TableRow, TableSortState } from './table-types';
1
+ import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellValue, TableColumn, TableGroup, TableRow, TableSortState } from './table-types';
2
2
  export interface TableSelectionState {
3
3
  selectableRowIds: string[];
4
4
  selectedLoadedCount: number;
@@ -16,7 +16,6 @@ export declare function isTableCellBlank(value: TableCellValue): value is TableC
16
16
  export declare function tableCellPrimary(value: TableCellValue): string | number | null;
17
17
  export declare function tableRowSelectionLabel(row: TableRow, columns: TableColumn[]): string;
18
18
  export declare function nextTableSortState(current: TableSortState | null | undefined, columnId: string): TableSortState;
19
- export declare function nextTableGroupOrder(grouping: TableGroupingState): TableGroupingState;
20
19
  export declare function toggleTableGroupCollapsed(collapsedGroupIds: string[], groupId: string): string[];
21
20
  export declare function nextTableGroupsCollapsed(collapsedGroupIds: string[], groupIds: string[]): string[];
22
21
  /** Host for grouped collapse-all: the trailing action lane or a scrollport-owned overlay. */
@@ -24,7 +24,7 @@ export interface TableSortState {
24
24
  columnId: string;
25
25
  direction: TableSortDirection;
26
26
  }
27
- /** One controlled grouping level plus the supplied group-order direction. */
27
+ /** One controlled grouping level. Applications supply groups in their final fixed order. */
28
28
  export interface TableGroupingState {
29
29
  columnId: string;
30
30
  direction: TableSortDirection;
@@ -178,9 +178,6 @@ export interface TableGroup {
178
178
  export interface TableSortChangeDetail {
179
179
  sort: TableSortState | null;
180
180
  }
181
- export interface TableGroupingChangeDetail {
182
- grouping: TableGroupingState;
183
- }
184
181
  export interface TableSelectionChangeDetail {
185
182
  selectedRowIds: string[];
186
183
  scope: 'row' | 'all-loaded' | 'group';