@ds-mo/ui 13.18.0 → 14.0.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 (218) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +2 -2
  3. package/dist/agent.json +137 -17
  4. package/dist/angular/ds-bar-action.d.ts +18 -0
  5. package/dist/angular/ds-bar-action.js +42 -0
  6. package/dist/angular/ds-table.d.ts +1 -4
  7. package/dist/angular/ds-table.js +2 -5
  8. package/dist/angular/index.d.ts +1 -1
  9. package/dist/angular/index.js +1 -0
  10. package/dist/angular/proxies.d.ts +1 -0
  11. package/dist/angular/proxies.js +1 -0
  12. package/dist/components/ds-agent-activity.js +1 -1
  13. package/dist/components/ds-agent-questionnaire.js +1 -1
  14. package/dist/components/ds-agent-response.js +1 -1
  15. package/dist/components/ds-agent-source-list.js +1 -1
  16. package/dist/components/ds-agent-tool-call.js +1 -1
  17. package/dist/components/ds-attachment-list.js +1 -1
  18. package/dist/components/ds-avatar.js +1 -1
  19. package/dist/components/ds-banner.js +1 -1
  20. package/dist/components/ds-bar-action.d.ts +11 -0
  21. package/dist/components/ds-bar-action.js +2 -0
  22. package/dist/components/ds-bar-action.js.map +1 -0
  23. package/dist/components/ds-bar-nav.js +1 -1
  24. package/dist/components/ds-bar-title.js +1 -1
  25. package/dist/components/ds-bar-workflow.js +1 -1
  26. package/dist/components/ds-bar-workflow.js.map +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-setting.js +1 -1
  32. package/dist/components/ds-chip.js +1 -1
  33. package/dist/components/ds-code-block.js +1 -1
  34. package/dist/components/ds-conversation-list-item.js +1 -1
  35. package/dist/components/ds-conversation-list-item.js.map +1 -1
  36. package/dist/components/ds-conversation-list-section.js +1 -1
  37. package/dist/components/ds-empty-state.js +1 -1
  38. package/dist/components/ds-field.js +1 -1
  39. package/dist/components/ds-filter-menu.js +1 -1
  40. package/dist/components/ds-filter-menu.js.map +1 -1
  41. package/dist/components/ds-icon.js +1 -1
  42. package/dist/components/ds-input.js +1 -1
  43. package/dist/components/ds-markdown.js +1 -1
  44. package/dist/components/ds-menu.js +1 -1
  45. package/dist/components/ds-message-actions.js +1 -1
  46. package/dist/components/ds-message-composer.js +1 -1
  47. package/dist/components/ds-message-scroller.js +1 -1
  48. package/dist/components/ds-message.js +1 -1
  49. package/dist/components/ds-mobile-bar-nav.js +1 -1
  50. package/dist/components/ds-mobile-header.js +1 -1
  51. package/dist/components/ds-mobile-section-switcher.js +1 -1
  52. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  53. package/dist/components/ds-modal.js +1 -1
  54. package/dist/components/ds-panel-nav.js +1 -1
  55. package/dist/components/ds-panel-tool-header.js +1 -1
  56. package/dist/components/ds-panel-tool-search.js +1 -1
  57. package/dist/components/ds-panel-tools.js +1 -1
  58. package/dist/components/ds-select.js +1 -1
  59. package/dist/components/ds-select.js.map +1 -1
  60. package/dist/components/ds-shell-app.js +1 -1
  61. package/dist/components/ds-shell-app.js.map +1 -1
  62. package/dist/components/ds-shell-page.js +1 -1
  63. package/dist/components/ds-shell-tools.js +1 -1
  64. package/dist/components/ds-swatch-picker.js +1 -1
  65. package/dist/components/ds-tab-group.js +1 -1
  66. package/dist/components/ds-table.js +1 -1
  67. package/dist/components/ds-table.js.map +1 -1
  68. package/dist/components/ds-tag.js +1 -1
  69. package/dist/components/ds-toast.js +1 -1
  70. package/dist/components/ds-typing-indicator.js +1 -1
  71. package/dist/components/{p-BxQlH4gl.js → p--z-DWRkg.js} +2 -2
  72. package/dist/components/p--z-DWRkg.js.map +1 -0
  73. package/dist/components/{p-DtvJTPds.js → p-1KtrhAC7.js} +2 -2
  74. package/dist/components/p-1KtrhAC7.js.map +1 -0
  75. package/dist/components/{p-BqFKxWVl.js → p-B7Hf86NF.js} +2 -2
  76. package/dist/components/{p-BCfgU8Fh.js → p-BDCrM8-1.js} +2 -2
  77. package/dist/components/p-BFfLvMZd.js +2 -0
  78. package/dist/components/p-BFfLvMZd.js.map +1 -0
  79. package/dist/components/p-BKsWDUnX.js +2 -0
  80. package/dist/components/p-BKsWDUnX.js.map +1 -0
  81. package/dist/components/{p-BOjGzd5N.js → p-BagXfn1G.js} +2 -2
  82. package/dist/components/{p-DeBto13S.js → p-Bf_D3crn.js} +2 -2
  83. package/dist/components/{p-CUQTEeLp.js → p-CElfUmMp.js} +2 -2
  84. package/dist/components/{p-BMq4DJWh.js → p-CIhETsHv.js} +2 -2
  85. package/dist/components/{p-5uI3i2vg.js → p-CQS5aWiC.js} +2 -2
  86. package/dist/components/{p-oyZjjoYV.js → p-CUeuemsF.js} +2 -2
  87. package/dist/components/{p-BQkZ8FIl.js → p-Cae9PFPE.js} +2 -2
  88. package/dist/components/{p-C_tqXl5P.js → p-Cih1XCy3.js} +2 -2
  89. package/dist/components/{p-N4m0evkj.js → p-CoTD4Mmb.js} +2 -2
  90. package/dist/components/{p-C7ywYAzN.js → p-D-kWb8cF.js} +2 -2
  91. package/dist/components/{p-BtY2nJW4.js → p-D0i_J2rj.js} +2 -2
  92. package/dist/components/{p-Qzh-wyTg.js → p-DLkNcCY0.js} +2 -2
  93. package/dist/components/p-DXHq_AfZ.js +2 -0
  94. package/dist/components/{p-CP2W8qxB.js.map → p-DXHq_AfZ.js.map} +1 -1
  95. package/dist/components/{p-Xr9OO-Ao.js → p-DXgSSxyB.js} +2 -2
  96. package/dist/components/{p-CswBI711.js → p-DY_sA9Jz.js} +2 -2
  97. package/dist/components/{p-BDsAON4I.js → p-DatlGTJp.js} +2 -2
  98. package/dist/components/{p-NzOcZg8r.js → p-DcPVSNDr.js} +2 -2
  99. package/dist/components/{p-CB8iBV_M.js → p-DofS_hVZ.js} +2 -2
  100. package/dist/components/p-DofS_hVZ.js.map +1 -0
  101. package/dist/components/{p-smzwm_EW.js → p-S9IjLCGj.js} +2 -2
  102. package/dist/components/{p-C8keZ4k6.js → p-ZtJM0cZm.js} +2 -2
  103. package/dist/components/{p-NuRg_IoA.js → p-nMkoXLC0.js} +2 -2
  104. package/dist/docs/components.json +170 -30
  105. package/dist/mcp-data/registry/agent-activity.json +2 -2
  106. package/dist/mcp-data/registry/agent-questionnaire.json +2 -2
  107. package/dist/mcp-data/registry/agent-response.json +2 -2
  108. package/dist/mcp-data/registry/agent-source-list.json +2 -2
  109. package/dist/mcp-data/registry/agent-tool-call.json +2 -2
  110. package/dist/mcp-data/registry/attachment-list.json +2 -2
  111. package/dist/mcp-data/registry/avatar.json +2 -2
  112. package/dist/mcp-data/registry/badge.json +2 -2
  113. package/dist/mcp-data/registry/banner.json +2 -2
  114. package/dist/mcp-data/registry/bar-action.json +237 -0
  115. package/dist/mcp-data/registry/bar-nav.json +2 -2
  116. package/dist/mcp-data/registry/bar-title.json +2 -2
  117. package/dist/mcp-data/registry/bar-workflow.json +2 -2
  118. package/dist/mcp-data/registry/breadcrumb.json +2 -2
  119. package/dist/mcp-data/registry/button-filled.json +2 -2
  120. package/dist/mcp-data/registry/button-unfilled.json +8 -8
  121. package/dist/mcp-data/registry/card-chart.json +2 -2
  122. package/dist/mcp-data/registry/card-overview.json +3 -3
  123. package/dist/mcp-data/registry/card-setting.json +2 -2
  124. package/dist/mcp-data/registry/chart-legend.json +2 -2
  125. package/dist/mcp-data/registry/chart.json +2 -2
  126. package/dist/mcp-data/registry/checkbox.json +2 -2
  127. package/dist/mcp-data/registry/chip.json +2 -2
  128. package/dist/mcp-data/registry/code-block.json +2 -2
  129. package/dist/mcp-data/registry/conversation-list-item.json +2 -2
  130. package/dist/mcp-data/registry/conversation-list-section.json +2 -2
  131. package/dist/mcp-data/registry/conversation-list.json +2 -2
  132. package/dist/mcp-data/registry/divider.json +2 -2
  133. package/dist/mcp-data/registry/empty-state.json +2 -2
  134. package/dist/mcp-data/registry/field.json +2 -2
  135. package/dist/mcp-data/registry/filter-menu.json +5 -4
  136. package/dist/mcp-data/registry/icon.json +3 -3
  137. package/dist/mcp-data/registry/input.json +2 -2
  138. package/dist/mcp-data/registry/loader.json +2 -2
  139. package/dist/mcp-data/registry/markdown.json +2 -2
  140. package/dist/mcp-data/registry/menu.json +3 -3
  141. package/dist/mcp-data/registry/message-actions.json +2 -2
  142. package/dist/mcp-data/registry/message-bubble.json +2 -2
  143. package/dist/mcp-data/registry/message-composer.json +2 -2
  144. package/dist/mcp-data/registry/message-scroller.json +2 -2
  145. package/dist/mcp-data/registry/message.json +2 -2
  146. package/dist/mcp-data/registry/mobile-bar-nav.json +2 -2
  147. package/dist/mcp-data/registry/mobile-header.json +2 -2
  148. package/dist/mcp-data/registry/mobile-section-switcher.json +2 -2
  149. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  150. package/dist/mcp-data/registry/modal.json +2 -2
  151. package/dist/mcp-data/registry/panel-nav.json +2 -2
  152. package/dist/mcp-data/registry/panel-sub-nav.json +2 -2
  153. package/dist/mcp-data/registry/panel-tool-header.json +3 -3
  154. package/dist/mcp-data/registry/panel-tool-search.json +2 -2
  155. package/dist/mcp-data/registry/panel-tools.json +2 -2
  156. package/dist/mcp-data/registry/radio.json +2 -2
  157. package/dist/mcp-data/registry/registry.json +141 -18
  158. package/dist/mcp-data/registry/scroll-overlay.json +3 -3
  159. package/dist/mcp-data/registry/select.json +4 -3
  160. package/dist/mcp-data/registry/shell-app.json +3 -3
  161. package/dist/mcp-data/registry/shell-page.json +2 -2
  162. package/dist/mcp-data/registry/shell-tools.json +3 -3
  163. package/dist/mcp-data/registry/skeleton.json +2 -2
  164. package/dist/mcp-data/registry/slider.json +2 -2
  165. package/dist/mcp-data/registry/swatch-picker.json +2 -2
  166. package/dist/mcp-data/registry/switch.json +2 -2
  167. package/dist/mcp-data/registry/tab-group.json +2 -2
  168. package/dist/mcp-data/registry/table.json +16 -29
  169. package/dist/mcp-data/registry/tag.json +2 -2
  170. package/dist/mcp-data/registry/text.json +2 -2
  171. package/dist/mcp-data/registry/toast.json +2 -2
  172. package/dist/mcp-data/registry/tooltip-chart.json +2 -2
  173. package/dist/mcp-data/registry/tooltip.json +2 -2
  174. package/dist/mcp-data/registry/typing-indicator.json +2 -2
  175. package/dist/react/components.d.ts +1 -0
  176. package/dist/react/components.js +1 -0
  177. package/dist/react/ds-bar-action.d.ts +12 -0
  178. package/dist/react/ds-bar-action.js +12 -0
  179. package/dist/react/ds-table.d.ts +1 -2
  180. package/dist/react/ds-table.js +0 -1
  181. package/dist/styles/table.css +16 -4
  182. package/dist/types/components/BarAction/BarAction.d.ts +25 -0
  183. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -2
  184. package/dist/types/components/Table/Table.d.ts +2 -3
  185. package/dist/types/components/Table/index.d.ts +1 -1
  186. package/dist/types/components/Table/table-model.d.ts +1 -2
  187. package/dist/types/components/Table/table-types.d.ts +1 -4
  188. package/dist/types/components.d.ts +84 -8
  189. package/package.json +5 -5
  190. package/dist/components/p-BxQlH4gl.js.map +0 -1
  191. package/dist/components/p-C8U5BsJf.js +0 -2
  192. package/dist/components/p-C8U5BsJf.js.map +0 -1
  193. package/dist/components/p-CB8iBV_M.js.map +0 -1
  194. package/dist/components/p-CP2W8qxB.js +0 -2
  195. package/dist/components/p-Csq6XDgm.js +0 -2
  196. package/dist/components/p-Csq6XDgm.js.map +0 -1
  197. package/dist/components/p-DtvJTPds.js.map +0 -1
  198. /package/dist/components/{p-BqFKxWVl.js.map → p-B7Hf86NF.js.map} +0 -0
  199. /package/dist/components/{p-BCfgU8Fh.js.map → p-BDCrM8-1.js.map} +0 -0
  200. /package/dist/components/{p-BOjGzd5N.js.map → p-BagXfn1G.js.map} +0 -0
  201. /package/dist/components/{p-DeBto13S.js.map → p-Bf_D3crn.js.map} +0 -0
  202. /package/dist/components/{p-CUQTEeLp.js.map → p-CElfUmMp.js.map} +0 -0
  203. /package/dist/components/{p-BMq4DJWh.js.map → p-CIhETsHv.js.map} +0 -0
  204. /package/dist/components/{p-5uI3i2vg.js.map → p-CQS5aWiC.js.map} +0 -0
  205. /package/dist/components/{p-oyZjjoYV.js.map → p-CUeuemsF.js.map} +0 -0
  206. /package/dist/components/{p-BQkZ8FIl.js.map → p-Cae9PFPE.js.map} +0 -0
  207. /package/dist/components/{p-C_tqXl5P.js.map → p-Cih1XCy3.js.map} +0 -0
  208. /package/dist/components/{p-N4m0evkj.js.map → p-CoTD4Mmb.js.map} +0 -0
  209. /package/dist/components/{p-C7ywYAzN.js.map → p-D-kWb8cF.js.map} +0 -0
  210. /package/dist/components/{p-BtY2nJW4.js.map → p-D0i_J2rj.js.map} +0 -0
  211. /package/dist/components/{p-Qzh-wyTg.js.map → p-DLkNcCY0.js.map} +0 -0
  212. /package/dist/components/{p-Xr9OO-Ao.js.map → p-DXgSSxyB.js.map} +0 -0
  213. /package/dist/components/{p-CswBI711.js.map → p-DY_sA9Jz.js.map} +0 -0
  214. /package/dist/components/{p-BDsAON4I.js.map → p-DatlGTJp.js.map} +0 -0
  215. /package/dist/components/{p-NzOcZg8r.js.map → p-DcPVSNDr.js.map} +0 -0
  216. /package/dist/components/{p-smzwm_EW.js.map → p-S9IjLCGj.js.map} +0 -0
  217. /package/dist/components/{p-C8keZ4k6.js.map → p-ZtJM0cZm.js.map} +0 -0
  218. /package/dist/components/{p-NuRg_IoA.js.map → p-nMkoXLC0.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-08-14T00:27:50",
2
+ "timestamp": "2026-08-14T23:15:24",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.5",
@@ -2457,6 +2457,168 @@
2457
2457
  ]
2458
2458
  }
2459
2459
  },
2460
+ {
2461
+ "filePath": "src/wc/components/BarAction/BarAction.tsx",
2462
+ "encapsulation": "scoped",
2463
+ "tag": "ds-bar-action",
2464
+ "docs": "",
2465
+ "docsTags": [],
2466
+ "usage": {},
2467
+ "props": [
2468
+ {
2469
+ "name": "clearLabel",
2470
+ "type": "string",
2471
+ "complexType": {
2472
+ "original": "string",
2473
+ "resolved": "string",
2474
+ "references": {}
2475
+ },
2476
+ "mutable": false,
2477
+ "attr": "clear-label",
2478
+ "reflectToAttr": false,
2479
+ "docs": "Visible Clear control label.",
2480
+ "docsTags": [
2481
+ {
2482
+ "name": "default",
2483
+ "text": "'Clear'"
2484
+ }
2485
+ ],
2486
+ "default": "'Clear'",
2487
+ "values": [
2488
+ {
2489
+ "type": "string"
2490
+ }
2491
+ ],
2492
+ "optional": false,
2493
+ "required": false,
2494
+ "getter": false,
2495
+ "setter": false
2496
+ },
2497
+ {
2498
+ "name": "count",
2499
+ "type": "number",
2500
+ "complexType": {
2501
+ "original": "number",
2502
+ "resolved": "number",
2503
+ "references": {}
2504
+ },
2505
+ "mutable": false,
2506
+ "attr": "count",
2507
+ "reflectToAttr": false,
2508
+ "docs": "Number of selected items. The bar is hidden while this is below one.",
2509
+ "docsTags": [
2510
+ {
2511
+ "name": "default",
2512
+ "text": "0"
2513
+ }
2514
+ ],
2515
+ "default": "0",
2516
+ "values": [
2517
+ {
2518
+ "type": "number"
2519
+ }
2520
+ ],
2521
+ "optional": false,
2522
+ "required": false,
2523
+ "getter": false,
2524
+ "setter": false
2525
+ },
2526
+ {
2527
+ "name": "label",
2528
+ "type": "string",
2529
+ "complexType": {
2530
+ "original": "string",
2531
+ "resolved": "string",
2532
+ "references": {}
2533
+ },
2534
+ "mutable": false,
2535
+ "attr": "label",
2536
+ "reflectToAttr": false,
2537
+ "docs": "Accessible name for the selected-set action group.",
2538
+ "docsTags": [
2539
+ {
2540
+ "name": "default",
2541
+ "text": "'Selected item actions'"
2542
+ }
2543
+ ],
2544
+ "default": "'Selected item actions'",
2545
+ "values": [
2546
+ {
2547
+ "type": "string"
2548
+ }
2549
+ ],
2550
+ "optional": false,
2551
+ "required": false,
2552
+ "getter": false,
2553
+ "setter": false
2554
+ },
2555
+ {
2556
+ "name": "selectedLabel",
2557
+ "type": "string",
2558
+ "complexType": {
2559
+ "original": "string",
2560
+ "resolved": "string",
2561
+ "references": {}
2562
+ },
2563
+ "mutable": false,
2564
+ "attr": "selected-label",
2565
+ "reflectToAttr": false,
2566
+ "docs": "Localized noun shown after the count.",
2567
+ "docsTags": [
2568
+ {
2569
+ "name": "default",
2570
+ "text": "'selected'"
2571
+ }
2572
+ ],
2573
+ "default": "'selected'",
2574
+ "values": [
2575
+ {
2576
+ "type": "string"
2577
+ }
2578
+ ],
2579
+ "optional": false,
2580
+ "required": false,
2581
+ "getter": false,
2582
+ "setter": false
2583
+ }
2584
+ ],
2585
+ "methods": [],
2586
+ "events": [
2587
+ {
2588
+ "event": "dsClear",
2589
+ "detail": "MouseEvent",
2590
+ "bubbles": true,
2591
+ "complexType": {
2592
+ "original": "MouseEvent",
2593
+ "resolved": "MouseEvent",
2594
+ "references": {
2595
+ "MouseEvent": {
2596
+ "location": "global",
2597
+ "id": "global::MouseEvent"
2598
+ }
2599
+ }
2600
+ },
2601
+ "cancelable": true,
2602
+ "composed": true,
2603
+ "docs": "Emitted when Clear is activated. The application owns the selected identities.",
2604
+ "docsTags": []
2605
+ }
2606
+ ],
2607
+ "listeners": [],
2608
+ "styles": [],
2609
+ "slots": [],
2610
+ "parts": [],
2611
+ "states": [],
2612
+ "dependents": [],
2613
+ "dependencies": [
2614
+ "ds-text"
2615
+ ],
2616
+ "dependencyGraph": {
2617
+ "ds-bar-action": [
2618
+ "ds-text"
2619
+ ]
2620
+ }
2621
+ },
2460
2622
  {
2461
2623
  "filePath": "src/wc/components/BarNav/BarNav.tsx",
2462
2624
  "encapsulation": "scoped",
@@ -5029,7 +5191,7 @@
5029
5191
  "mutable": false,
5030
5192
  "attr": "expanded",
5031
5193
  "reflectToAttr": false,
5032
- "docs": "Controlled disclosure or popup state forwarded to `aria-expanded`.\nPopup triggers hold a pressed visual while open; ordinary disclosures\nretain the normal resting appearance.",
5194
+ "docs": "Controlled disclosure or popup state forwarded to `aria-expanded`.\nPopup triggers hold only the pressed wash while open; their resting\nforeground is unchanged. Ordinary disclosures remain visually neutral.",
5033
5195
  "docsTags": [],
5034
5196
  "values": [
5035
5197
  {
@@ -24381,7 +24543,7 @@
24381
24543
  },
24382
24544
  "mutable": false,
24383
24545
  "reflectToAttr": false,
24384
- "docs": "Controlled grouping column and group-order direction.",
24546
+ "docs": "Controlled grouping column. Applications supply groups in their final fixed order.",
24385
24547
  "docsTags": [
24386
24548
  {
24387
24549
  "name": "default",
@@ -25245,27 +25407,6 @@
25245
25407
  "docs": "",
25246
25408
  "docsTags": []
25247
25409
  },
25248
- {
25249
- "event": "dsGroupingChange",
25250
- "detail": "TableGroupingChangeDetail",
25251
- "bubbles": true,
25252
- "complexType": {
25253
- "original": "TableGroupingChangeDetail",
25254
- "resolved": "TableGroupingChangeDetail",
25255
- "references": {
25256
- "TableGroupingChangeDetail": {
25257
- "location": "import",
25258
- "path": "./table-types",
25259
- "id": "src/wc/components/Table/table-types.ts::TableGroupingChangeDetail",
25260
- "referenceLocation": "TableGroupingChangeDetail"
25261
- }
25262
- }
25263
- },
25264
- "cancelable": true,
25265
- "composed": true,
25266
- "docs": "",
25267
- "docsTags": []
25268
- },
25269
25410
  {
25270
25411
  "event": "dsLoadMore",
25271
25412
  "detail": "TableLoadMoreDetail",
@@ -26547,6 +26688,7 @@
26547
26688
  "ds-attachment-list",
26548
26689
  "ds-badge",
26549
26690
  "ds-banner",
26691
+ "ds-bar-action",
26550
26692
  "ds-bar-nav",
26551
26693
  "ds-bar-title",
26552
26694
  "ds-bar-workflow",
@@ -26611,6 +26753,9 @@
26611
26753
  "ds-banner": [
26612
26754
  "ds-text"
26613
26755
  ],
26756
+ "ds-bar-action": [
26757
+ "ds-text"
26758
+ ],
26614
26759
  "ds-bar-nav": [
26615
26760
  "ds-text"
26616
26761
  ],
@@ -28603,7 +28748,7 @@
28603
28748
  },
28604
28749
  "src/wc/components/Table/table-types.ts::TableGroupingState": {
28605
28750
  "declaration": "export interface TableGroupingState {\n columnId: string;\n direction: TableSortDirection;\n}",
28606
- "docstring": "One controlled grouping level plus the supplied group-order direction.",
28751
+ "docstring": "One controlled grouping level. Applications supply groups in their final fixed order.",
28607
28752
  "path": "src/wc/components/Table/table-types.ts"
28608
28753
  },
28609
28754
  "src/wc/components/Table/table-types.ts::TableSortState": {
@@ -28631,11 +28776,6 @@
28631
28776
  "docstring": "",
28632
28777
  "path": "src/wc/components/Table/table-types.ts"
28633
28778
  },
28634
- "src/wc/components/Table/table-types.ts::TableGroupingChangeDetail": {
28635
- "declaration": "export interface TableGroupingChangeDetail {\n grouping: TableGroupingState;\n}",
28636
- "docstring": "",
28637
- "path": "src/wc/components/Table/table-types.ts"
28638
- },
28639
28779
  "src/wc/components/Table/table-types.ts::TableGroupCollapseChangeDetail": {
28640
28780
  "declaration": "export interface TableGroupCollapseChangeDetail {\n scope: 'group' | 'all';\n /** Present when a single group was toggled. */\n groupId?: string;\n collapsed: boolean;\n collapsedGroupIds: string[];\n}",
28641
28781
  "docstring": "",
@@ -126,8 +126,8 @@
126
126
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: items.",
127
127
  "peerDependencies": {
128
128
  "required": [
129
- "@ds-mo/tokens ^6.2.1",
130
- "@ds-mo/icons ^6.6.0"
129
+ "@ds-mo/tokens ^6.2.2",
130
+ "@ds-mo/icons ^7.0.0"
131
131
  ],
132
132
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
133
133
  }
@@ -231,8 +231,8 @@
231
231
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: answers, labels, questions.",
232
232
  "peerDependencies": {
233
233
  "required": [
234
- "@ds-mo/tokens ^6.2.1",
235
- "@ds-mo/icons ^6.6.0"
234
+ "@ds-mo/tokens ^6.2.2",
235
+ "@ds-mo/icons ^7.0.0"
236
236
  ],
237
237
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
238
238
  }
@@ -223,8 +223,8 @@
223
223
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: parts.",
224
224
  "peerDependencies": {
225
225
  "required": [
226
- "@ds-mo/tokens ^6.2.1",
227
- "@ds-mo/icons ^6.6.0"
226
+ "@ds-mo/tokens ^6.2.2",
227
+ "@ds-mo/icons ^7.0.0"
228
228
  ],
229
229
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
230
230
  }
@@ -142,8 +142,8 @@
142
142
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: items.",
143
143
  "peerDependencies": {
144
144
  "required": [
145
- "@ds-mo/tokens ^6.2.1",
146
- "@ds-mo/icons ^6.6.0"
145
+ "@ds-mo/tokens ^6.2.2",
146
+ "@ds-mo/icons ^7.0.0"
147
147
  ],
148
148
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
149
149
  }
@@ -222,8 +222,8 @@
222
222
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: input, output.",
223
223
  "peerDependencies": {
224
224
  "required": [
225
- "@ds-mo/tokens ^6.2.1",
226
- "@ds-mo/icons ^6.6.0"
225
+ "@ds-mo/tokens ^6.2.2",
226
+ "@ds-mo/icons ^7.0.0"
227
227
  ],
228
228
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
229
229
  }
@@ -106,8 +106,8 @@
106
106
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: items.",
107
107
  "peerDependencies": {
108
108
  "required": [
109
- "@ds-mo/tokens ^6.2.1",
110
- "@ds-mo/icons ^6.6.0"
109
+ "@ds-mo/tokens ^6.2.2",
110
+ "@ds-mo/icons ^7.0.0"
111
111
  ],
112
112
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
113
113
  }
@@ -143,8 +143,8 @@
143
143
  },
144
144
  "peerDependencies": {
145
145
  "required": [
146
- "@ds-mo/tokens ^6.2.1",
147
- "@ds-mo/icons ^6.6.0"
146
+ "@ds-mo/tokens ^6.2.2",
147
+ "@ds-mo/icons ^7.0.0"
148
148
  ],
149
149
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
150
150
  }
@@ -260,8 +260,8 @@
260
260
  },
261
261
  "peerDependencies": {
262
262
  "required": [
263
- "@ds-mo/tokens ^6.2.1",
264
- "@ds-mo/icons ^6.6.0"
263
+ "@ds-mo/tokens ^6.2.2",
264
+ "@ds-mo/icons ^7.0.0"
265
265
  ],
266
266
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
267
267
  }
@@ -302,8 +302,8 @@
302
302
  },
303
303
  "peerDependencies": {
304
304
  "required": [
305
- "@ds-mo/tokens ^6.2.1",
306
- "@ds-mo/icons ^6.6.0"
305
+ "@ds-mo/tokens ^6.2.2",
306
+ "@ds-mo/icons ^7.0.0"
307
307
  ],
308
308
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
309
309
  }
@@ -0,0 +1,237 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
+ "name": "bar-action",
4
+ "title": "BarAction",
5
+ "description": "Compact bold-brand selection-action chrome that reports a selected count, offers Clear, and hosts application commands on a medium-elevation surface.",
6
+ "type": "registry:ui",
7
+ "meta": {
8
+ "library": "@ds-mo/ui",
9
+ "distribution": "npm",
10
+ "storybook": "https://zainadeel.github.io/compomo/?path=/story/bar-action",
11
+ "source": "src/wc/components/BarAction/BarAction.tsx",
12
+ "intentStatus": "complete",
13
+ "intent": {
14
+ "audience": "general",
15
+ "status": "stable",
16
+ "summary": "Compact bold-brand selection-action chrome that reports a selected count, offers Clear, and hosts application commands on a medium-elevation surface.",
17
+ "useWhen": [
18
+ "A multi-select table or similar collection needs a persistent bar of commands for the current selected set.",
19
+ "The application owns selected identities and must keep bulk actions visually consistent across surfaces."
20
+ ],
21
+ "avoidWhen": [
22
+ "The message is an application-wide announcement rather than a selected-set command surface; use Banner.",
23
+ "A single row or card needs local overflow commands; use ButtonUnfilled with Menu.",
24
+ "The chrome is a table result summary or footer; compose Table's footer instead."
25
+ ],
26
+ "alternatives": [
27
+ {
28
+ "when": "The message is a persistent application announcement.",
29
+ "component": "component:ds-banner",
30
+ "reason": "Banner owns shell-level messaging and does not represent a selected set."
31
+ },
32
+ {
33
+ "when": "A single row or card needs local overflow commands.",
34
+ "component": "component:ds-button-unfilled",
35
+ "reason": "ButtonUnfilled with Menu owns local item commands rather than selected-set bulk actions."
36
+ }
37
+ ],
38
+ "commonlyComposedWith": [
39
+ "component:ds-table",
40
+ "component:ds-button-unfilled",
41
+ "component:ds-button-filled",
42
+ "component:ds-menu",
43
+ "component:ds-text"
44
+ ],
45
+ "patterns": [],
46
+ "accessibility": [
47
+ "Provide a group accessible name that describes the selected-set commands.",
48
+ "Keep Clear as a real button. A persistent polite live region announces valid selected-count updates without stealing focus.",
49
+ "Name every slotted action. Icon-only commands still need an explicit accessible name.",
50
+ "The application updates the selected identities after dsClear, then moves focus to a stable collection control before the empty bar disappears; the bar never mutates selection or guesses a focus target."
51
+ ],
52
+ "states": [
53
+ "The bar is hidden while the selected count is below one and appears as the compact bold-brand elevated surface once at least one item is selected.",
54
+ "Clear reports intent only. The application replaces the controlled selected identities.",
55
+ "Slotted actions stay application-owned. Pass background matching the bold parent surface so those controls remain readable.",
56
+ "The component-owned visible surface owns medium control-elevation and removes the empty actions lane. Overlay inset, footer clearance, and stacking remain application layout."
57
+ ],
58
+ "responsiveBehavior": [
59
+ "The count truncates before Clear or trailing actions lose their complete hit targets.",
60
+ "The bar fills its owner's inline size. Overlay inset, footer clearance, and stacking against a table remain the consuming layout."
61
+ ],
62
+ "frameworkCaveats": {
63
+ "customElements": [
64
+ "Bind count from the current selected set, replace that set after dsClear, and return focus to a stable collection control.",
65
+ "Project command controls through slot=actions with background matching the bold parent surface."
66
+ ],
67
+ "react": [
68
+ "Pass count from selected row or item state, clear that state from onDsClear, and return focus to a stable collection control.",
69
+ "Place DsBarAction in the same positioned owner as the table when overlaying the table footer."
70
+ ],
71
+ "angular": [
72
+ "Bind count from the controlled selected identities, handle dsClear in the collection owner, and return focus to a stable collection control.",
73
+ "Project ds-button-unfilled or ds-button-filled into slot=actions with background matching the bold parent surface."
74
+ ]
75
+ },
76
+ "references": [
77
+ {
78
+ "label": "Storybook review matrix",
79
+ "path": "src/wc/components/BarAction/BarAction.stories.ts"
80
+ },
81
+ {
82
+ "label": "Rendered behavior coverage",
83
+ "path": "tests/e2e/bar-action.spec.ts"
84
+ }
85
+ ]
86
+ },
87
+ "api": {
88
+ "props": {
89
+ "clearLabel": {
90
+ "type": "string",
91
+ "resolvedType": "string",
92
+ "attribute": "clear-label",
93
+ "default": "'Clear'",
94
+ "required": false,
95
+ "mutable": false,
96
+ "description": "Visible Clear control label."
97
+ },
98
+ "count": {
99
+ "type": "number",
100
+ "resolvedType": "number",
101
+ "attribute": "count",
102
+ "default": "0",
103
+ "required": false,
104
+ "mutable": false,
105
+ "description": "Number of selected items. The bar is hidden while this is below one."
106
+ },
107
+ "label": {
108
+ "type": "string",
109
+ "resolvedType": "string",
110
+ "attribute": "label",
111
+ "default": "'Selected item actions'",
112
+ "required": false,
113
+ "mutable": false,
114
+ "description": "Accessible name for the selected-set action group."
115
+ },
116
+ "selectedLabel": {
117
+ "type": "string",
118
+ "resolvedType": "string",
119
+ "attribute": "selected-label",
120
+ "default": "'selected'",
121
+ "required": false,
122
+ "mutable": false,
123
+ "description": "Localized noun shown after the count."
124
+ }
125
+ },
126
+ "events": [
127
+ {
128
+ "name": "dsClear",
129
+ "detail": "MouseEvent",
130
+ "bubbles": true,
131
+ "cancelable": true,
132
+ "composed": true,
133
+ "description": "Emitted when Clear is activated. The application owns the selected identities."
134
+ }
135
+ ],
136
+ "methods": [],
137
+ "slots": []
138
+ },
139
+ "props": {
140
+ "clearLabel": {
141
+ "type": "string",
142
+ "resolvedType": "string",
143
+ "attribute": "clear-label",
144
+ "default": "'Clear'",
145
+ "required": false,
146
+ "mutable": false,
147
+ "description": "Visible Clear control label."
148
+ },
149
+ "count": {
150
+ "type": "number",
151
+ "resolvedType": "number",
152
+ "attribute": "count",
153
+ "default": "0",
154
+ "required": false,
155
+ "mutable": false,
156
+ "description": "Number of selected items. The bar is hidden while this is below one."
157
+ },
158
+ "label": {
159
+ "type": "string",
160
+ "resolvedType": "string",
161
+ "attribute": "label",
162
+ "default": "'Selected item actions'",
163
+ "required": false,
164
+ "mutable": false,
165
+ "description": "Accessible name for the selected-set action group."
166
+ },
167
+ "selectedLabel": {
168
+ "type": "string",
169
+ "resolvedType": "string",
170
+ "attribute": "selected-label",
171
+ "default": "'selected'",
172
+ "required": false,
173
+ "mutable": false,
174
+ "description": "Localized noun shown after the count."
175
+ }
176
+ },
177
+ "events": [
178
+ {
179
+ "name": "dsClear",
180
+ "detail": "MouseEvent",
181
+ "bubbles": true,
182
+ "cancelable": true,
183
+ "composed": true,
184
+ "description": "Emitted when Clear is activated. The application owns the selected identities."
185
+ }
186
+ ],
187
+ "methods": [],
188
+ "slots": [],
189
+ "exports": {
190
+ "customElement": "ds-bar-action",
191
+ "react": "DsBarAction",
192
+ "angular": "DsBarAction"
193
+ },
194
+ "consumption": {
195
+ "install": "npm install @ds-mo/ui @ds-mo/tokens @ds-mo/icons",
196
+ "cssSetup": "import '@ds-mo/tokens';\nimport '@ds-mo/tokens/reset';\nimport '@ds-mo/tokens/globals';",
197
+ "customElements": {
198
+ "import": "import '@ds-mo/ui/dist/components/ds-bar-action.js';",
199
+ "example": "<ds-bar-action></ds-bar-action>"
200
+ },
201
+ "react": {
202
+ "import": "import { DsBarAction } from '@ds-mo/ui/react';",
203
+ "example": "<DsBarAction />"
204
+ },
205
+ "angular": {
206
+ "import": "import { DsBarAction } from '@ds-mo/ui/angular/ds-bar-action';",
207
+ "example": "<ds-bar-action></ds-bar-action>"
208
+ },
209
+ "peerDependencies": {
210
+ "required": [
211
+ "@ds-mo/tokens ^6.2.2",
212
+ "@ds-mo/icons ^7.0.0"
213
+ ],
214
+ "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
215
+ }
216
+ }
217
+ },
218
+ "dependencies": [
219
+ "@ds-mo/ui",
220
+ "@ds-mo/tokens"
221
+ ],
222
+ "registryDependencies": [
223
+ "text"
224
+ ],
225
+ "files": [
226
+ {
227
+ "path": "src/wc/components/BarAction/BarAction.css",
228
+ "content": "@import '../../styles/control-elevation.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/forced-colors.css';\n@import '../../utils/text-decoration.css';\n@import '../../utils/visually-hidden.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.bar-action {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n height: var(--dimension-size-600);\n border-radius: var(--dimension-radius-125);\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold-background-secondary);\n --ds-focus-ring-color: var(--color-interaction-on-bold-background-focus);\n}\n\n.bar-action[hidden],\n.bar-action__actions--empty {\n display: none;\n}\n\n.bar-action__copy,\n.bar-action__actions {\n display: flex;\n align-items: center;\n min-width: 0;\n gap: var(--dimension-space-050);\n}\n\n.bar-action__copy {\n flex: 1 1 auto;\n padding-inline: var(--dimension-space-100);\n}\n\n.bar-action__count {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n.bar-action__separator,\n.bar-action__clear,\n.bar-action__actions {\n flex: 0 0 auto;\n}\n\n.bar-action__actions {\n margin-inline-start: auto;\n}\n\n.bar-action__actions slot {\n display: contents;\n}\n\n.bar-action__clear {\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-block-size: var(--dimension-size-400);\n margin: 0;\n padding: var(--dimension-space-025);\n border: 0;\n border-radius: var(--dimension-radius-050);\n background: transparent;\n cursor: pointer;\n}\n\n@media (forced-colors: active) {\n .bar-action {\n --ds-control-elevation-shadow: none;\n --ds-control-elevation-highlight: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n",
229
+ "type": "registry:ui"
230
+ },
231
+ {
232
+ "path": "src/wc/components/BarAction/BarAction.tsx",
233
+ "content": "import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\n@Component({\n tag: 'ds-bar-action',\n styleUrl: 'BarAction.css',\n scoped: true,\n})\nexport class BarAction {\n @Element() el!: HTMLElement;\n\n /** Number of selected items. The bar is hidden while this is below one. */\n @Prop() count: number = 0;\n\n /** Localized noun shown after the count. */\n @Prop() selectedLabel: string = 'selected';\n\n /** Visible Clear control label. */\n @Prop() clearLabel: string = 'Clear';\n\n /** Accessible name for the selected-set action group. */\n @Prop() label: string = 'Selected item actions';\n\n /** Emitted when Clear is activated. The application owns the selected identities. */\n @Event() dsClear!: EventEmitter<MouseEvent>;\n\n @State() private hasActions = false;\n\n private actionsObserver?: MutationObserver;\n\n componentWillLoad() {\n this.updateActionsPresence();\n }\n\n componentDidLoad() {\n this.updateActionsPresence();\n if (typeof MutationObserver === 'undefined') return;\n this.actionsObserver = new MutationObserver(this.updateActionsPresence);\n this.actionsObserver.observe(this.el, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['slot'],\n });\n }\n\n disconnectedCallback() {\n this.actionsObserver?.disconnect();\n }\n\n private get resolvedCount(): number {\n if (!Number.isFinite(this.count)) return 0;\n return Math.max(0, Math.trunc(this.count));\n }\n\n private get isVisible(): boolean {\n return this.resolvedCount >= 1;\n }\n\n private updateActionsPresence = () => {\n this.hasActions = Boolean(this.el.querySelector('[slot=\"actions\"]'));\n };\n\n private handleClear = (event: MouseEvent) => {\n this.dsClear.emit(event);\n };\n\n render() {\n const countLabel = `${this.resolvedCount} ${this.selectedLabel}`;\n return (\n <Host>\n <div\n class=\"bar-action ds-chrome-row ds-chrome-space--md ds-control-elevation ds-control-elevation--md\"\n hidden={!this.isVisible || undefined}\n role=\"group\"\n aria-label={this.label}\n >\n <div class=\"bar-action__copy\">\n <ds-text\n class=\"bar-action__count\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n fontFeature=\"tabular-nums\"\n lineTruncation={1}\n >\n {countLabel}\n </ds-text>\n <ds-text\n class=\"bar-action__separator\"\n as=\"span\"\n variant=\"text-body-medium\"\n color=\"inherit\"\n aria-hidden=\"true\"\n >\n ·\n </ds-text>\n <button\n class=\"bar-action__clear ds-text-action ds-text-action--on-bold ds-focus-ring\"\n type=\"button\"\n onClick={this.handleClear}\n >\n <ds-text as=\"span\" variant=\"text-body-medium\" color=\"inherit\">\n {this.clearLabel}\n </ds-text>\n </button>\n </div>\n <div\n class={{\n 'bar-action__actions': true,\n 'bar-action__actions--empty': !this.hasActions,\n }}\n >\n <slot name=\"actions\" />\n </div>\n </div>\n <span\n class=\"bar-action__status ds-visually-hidden\"\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n {this.isVisible ? countLabel : ''}\n </span>\n </Host>\n );\n }\n}\n",
234
+ "type": "registry:ui"
235
+ }
236
+ ]
237
+ }
@@ -276,8 +276,8 @@
276
276
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: tabs.",
277
277
  "peerDependencies": {
278
278
  "required": [
279
- "@ds-mo/tokens ^6.2.1",
280
- "@ds-mo/icons ^6.6.0"
279
+ "@ds-mo/tokens ^6.2.2",
280
+ "@ds-mo/icons ^7.0.0"
281
281
  ],
282
282
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
283
283
  }
@@ -485,8 +485,8 @@
485
485
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: actions, breadcrumbs, primaryAction, sections.",
486
486
  "peerDependencies": {
487
487
  "required": [
488
- "@ds-mo/tokens ^6.2.1",
489
- "@ds-mo/icons ^6.6.0"
488
+ "@ds-mo/tokens ^6.2.2",
489
+ "@ds-mo/icons ^7.0.0"
490
490
  ],
491
491
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
492
492
  }
@@ -351,8 +351,8 @@
351
351
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: steps, submitAction.",
352
352
  "peerDependencies": {
353
353
  "required": [
354
- "@ds-mo/tokens ^6.2.1",
355
- "@ds-mo/icons ^6.6.0"
354
+ "@ds-mo/tokens ^6.2.2",
355
+ "@ds-mo/icons ^7.0.0"
356
356
  ],
357
357
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
358
358
  }
@@ -171,8 +171,8 @@
171
171
  "complexPropertyNote": "Assign these non-primitive values as JavaScript properties: items.",
172
172
  "peerDependencies": {
173
173
  "required": [
174
- "@ds-mo/tokens ^6.2.1",
175
- "@ds-mo/icons ^6.6.0"
174
+ "@ds-mo/tokens ^6.2.2",
175
+ "@ds-mo/icons ^7.0.0"
176
176
  ],
177
177
  "frameworks": "Custom Elements; React 18/19 wrappers; Angular 19-22 standalone adapters."
178
178
  }