@ds-mo/ui 14.15.1 → 14.16.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 (243) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +3 -3
  3. package/dist/agent.json +159 -22
  4. package/dist/angular/ds-button-unfilled.d.ts +1 -1
  5. package/dist/angular/ds-button-unfilled.js +3 -3
  6. package/dist/angular/ds-filter-menu.d.ts +1 -1
  7. package/dist/angular/ds-filter-menu.js +3 -3
  8. package/dist/angular/ds-select.d.ts +1 -1
  9. package/dist/angular/ds-select.js +3 -3
  10. package/dist/angular/ds-table-sort.d.ts +16 -0
  11. package/dist/angular/ds-table-sort.js +43 -0
  12. package/dist/angular/index.d.ts +1 -1
  13. package/dist/angular/index.js +1 -0
  14. package/dist/angular/proxies.d.ts +1 -0
  15. package/dist/angular/proxies.js +1 -0
  16. package/dist/components/ds-agent-activity.js +1 -1
  17. package/dist/components/ds-agent-questionnaire.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-badge.js +1 -1
  23. package/dist/components/ds-banner.js +1 -1
  24. package/dist/components/ds-banner.js.map +1 -1
  25. package/dist/components/ds-bar-action.js +1 -1
  26. package/dist/components/ds-bar-action.js.map +1 -1
  27. package/dist/components/ds-bar-nav.js +1 -1
  28. package/dist/components/ds-bar-title.js +1 -1
  29. package/dist/components/ds-bar-workflow.js +1 -1
  30. package/dist/components/ds-bar-workflow.js.map +1 -1
  31. package/dist/components/ds-breadcrumb.js +1 -1
  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-chart.js +1 -1
  35. package/dist/components/ds-card-chart.js.map +1 -1
  36. package/dist/components/ds-card-overview.js +1 -1
  37. package/dist/components/ds-card-overview.js.map +1 -1
  38. package/dist/components/ds-card-setting.js +1 -1
  39. package/dist/components/ds-card-setting.js.map +1 -1
  40. package/dist/components/ds-chart-legend.js +1 -1
  41. package/dist/components/ds-chart-legend.js.map +1 -1
  42. package/dist/components/ds-chart.js +1 -1
  43. package/dist/components/ds-chart.js.map +1 -1
  44. package/dist/components/ds-checkbox.js +1 -1
  45. package/dist/components/ds-chip.js +1 -1
  46. package/dist/components/ds-chip.js.map +1 -1
  47. package/dist/components/ds-code-block.js +1 -1
  48. package/dist/components/ds-conversation-list-item.js +1 -1
  49. package/dist/components/ds-conversation-list-item.js.map +1 -1
  50. package/dist/components/ds-conversation-list-section.js +1 -1
  51. package/dist/components/ds-empty-state.js +1 -1
  52. package/dist/components/ds-field.js +1 -1
  53. package/dist/components/ds-filter-menu.js +1 -1
  54. package/dist/components/ds-filter-menu.js.map +1 -1
  55. package/dist/components/ds-input.js +1 -1
  56. package/dist/components/ds-loader.js +1 -1
  57. package/dist/components/ds-markdown.js +1 -1
  58. package/dist/components/ds-menu.js +1 -1
  59. package/dist/components/ds-message-actions.js +1 -1
  60. package/dist/components/ds-message-actions.js.map +1 -1
  61. package/dist/components/ds-message-composer.js +1 -1
  62. package/dist/components/ds-message-composer.js.map +1 -1
  63. package/dist/components/ds-message-scroller.js +1 -1
  64. package/dist/components/ds-message-scroller.js.map +1 -1
  65. package/dist/components/ds-message.js +1 -1
  66. package/dist/components/ds-mobile-bar-nav.js +1 -1
  67. package/dist/components/ds-mobile-header.js +1 -1
  68. package/dist/components/ds-mobile-section-switcher.js +1 -1
  69. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  70. package/dist/components/ds-modal.js +1 -1
  71. package/dist/components/ds-pagination.js +1 -1
  72. package/dist/components/ds-panel-nav.js +1 -1
  73. package/dist/components/ds-panel-sub-nav.js +1 -1
  74. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  75. package/dist/components/ds-panel-tool-header.js +1 -1
  76. package/dist/components/ds-panel-tool-search.js +1 -1
  77. package/dist/components/ds-panel-tool-search.js.map +1 -1
  78. package/dist/components/ds-panel-tools.js +1 -1
  79. package/dist/components/ds-paper-texture.js +1 -1
  80. package/dist/components/ds-radio.js +1 -1
  81. package/dist/components/ds-scroll-overlay.js +1 -1
  82. package/dist/components/ds-scroll-overlay.js.map +1 -1
  83. package/dist/components/ds-select.js +1 -1
  84. package/dist/components/ds-shell-app.js +1 -1
  85. package/dist/components/ds-shell-app.js.map +1 -1
  86. package/dist/components/ds-shell-page.js +1 -1
  87. package/dist/components/ds-shell-tools.js +1 -1
  88. package/dist/components/ds-skeleton.js +1 -1
  89. package/dist/components/ds-slider.js +1 -1
  90. package/dist/components/ds-slider.js.map +1 -1
  91. package/dist/components/ds-swatch-picker.js +1 -1
  92. package/dist/components/ds-switch.js +1 -1
  93. package/dist/components/ds-tab-group.js +1 -1
  94. package/dist/components/ds-table-saved-views.js +1 -1
  95. package/dist/components/ds-table-saved-views.js.map +1 -1
  96. package/dist/components/ds-table-sort.d.ts +11 -0
  97. package/dist/components/ds-table-sort.js +2 -0
  98. package/dist/components/ds-table-sort.js.map +1 -0
  99. package/dist/components/ds-table-toolbar.js +1 -1
  100. package/dist/components/ds-table-toolbar.js.map +1 -1
  101. package/dist/components/ds-table.js +1 -1
  102. package/dist/components/ds-table.js.map +1 -1
  103. package/dist/components/ds-tag.js +1 -1
  104. package/dist/components/ds-text.js +1 -1
  105. package/dist/components/ds-toast.js +1 -1
  106. package/dist/components/ds-toast.js.map +1 -1
  107. package/dist/components/ds-tooltip-chart.js +1 -1
  108. package/dist/components/ds-tooltip.js +1 -1
  109. package/dist/components/ds-typing-indicator.js +1 -1
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/index.js.map +1 -1
  112. package/dist/components/{p-CjgnFGd6.js → p-0IbKxhqM.js} +2 -2
  113. package/dist/components/{p-CjgnFGd6.js.map → p-0IbKxhqM.js.map} +1 -1
  114. package/dist/components/p-23u3lIr1.js +2 -0
  115. package/dist/components/{p-DLkNcCY0.js.map → p-23u3lIr1.js.map} +1 -1
  116. package/dist/components/{p-DfyfrfHL.js → p-3dYwA4i_.js} +2 -2
  117. package/dist/components/{p-DfyfrfHL.js.map → p-3dYwA4i_.js.map} +1 -1
  118. package/dist/components/{p-C1q-tq3U.js → p-7tZx4ukz.js} +2 -2
  119. package/dist/components/{p-C5TrNd31.js → p-B0PEg5RF.js} +2 -2
  120. package/dist/components/{p-C5TrNd31.js.map → p-B0PEg5RF.js.map} +1 -1
  121. package/dist/components/{p-DZFilC--.js → p-BGXqFq2C.js} +2 -2
  122. package/dist/components/{p-Rfpd5mWO.js → p-BHDkJmrC.js} +2 -2
  123. package/dist/components/{p-Rfpd5mWO.js.map → p-BHDkJmrC.js.map} +1 -1
  124. package/dist/components/{p-BXPQmp7q.js → p-BK-JjdoN.js} +2 -2
  125. package/dist/components/p-BUhShHfb.js +2 -0
  126. package/dist/components/{p-URdgCwEs.js.map → p-BUhShHfb.js.map} +1 -1
  127. package/dist/components/{p-CKY989vF.js → p-BUrbVZJU.js} +2 -2
  128. package/dist/components/{p-CKY989vF.js.map → p-BUrbVZJU.js.map} +1 -1
  129. package/dist/components/{p-V2ywPfsR.js → p-BVlfQ8xZ.js} +2 -2
  130. package/dist/components/{p-V2ywPfsR.js.map → p-BVlfQ8xZ.js.map} +1 -1
  131. package/dist/components/p-BdnQv7Zl.js +2 -0
  132. package/dist/components/p-BdnQv7Zl.js.map +1 -0
  133. package/dist/components/{p-Btxwp4lJ.js → p-BhYWdbEp.js} +2 -2
  134. package/dist/components/{p-Btxwp4lJ.js.map → p-BhYWdbEp.js.map} +1 -1
  135. package/dist/components/{p-B80NfEqc.js → p-C0X2zKbB.js} +2 -2
  136. package/dist/components/{p-Cyw9odJX.js → p-C4p2i59V.js} +2 -2
  137. package/dist/components/{p-Cyw9odJX.js.map → p-C4p2i59V.js.map} +1 -1
  138. package/dist/components/p-C91izpHV.js +2 -0
  139. package/dist/components/{p-CnWC0QvG.js.map → p-C91izpHV.js.map} +1 -1
  140. package/dist/components/p-COVcyUAA.js +2 -0
  141. package/dist/components/p-COVcyUAA.js.map +1 -0
  142. package/dist/components/{p-D1Nqlrrl.js → p-C_TOgX82.js} +2 -2
  143. package/dist/components/{p-D1Nqlrrl.js.map → p-C_TOgX82.js.map} +1 -1
  144. package/dist/components/{p-Ct-m0I6U.js → p-CaAZ-D08.js} +2 -2
  145. package/dist/components/p-Cr2VT5zv.js +2 -0
  146. package/dist/components/{p-M9DPfXbP.js.map → p-Cr2VT5zv.js.map} +1 -1
  147. package/dist/components/{p-Dsn1RCS5.js → p-Ct2GVdSI.js} +2 -2
  148. package/dist/components/{p-Dsn1RCS5.js.map → p-Ct2GVdSI.js.map} +1 -1
  149. package/dist/components/p-CwkcFMMe.js +2 -0
  150. package/dist/components/{p-CWDmHPJC.js.map → p-CwkcFMMe.js.map} +1 -1
  151. package/dist/components/p-CxBE3l74.js +2 -0
  152. package/dist/components/{p-CKJzHclc.js.map → p-CxBE3l74.js.map} +1 -1
  153. package/dist/components/{p-PzI11fs8.js → p-CzcWZiH-.js} +2 -2
  154. package/dist/components/{p-PzI11fs8.js.map → p-CzcWZiH-.js.map} +1 -1
  155. package/dist/components/{p-BagXfn1G.js → p-D1YhYulL.js} +2 -2
  156. package/dist/components/{p-BzObtSlo.js → p-D2z2DgtX.js} +2 -2
  157. package/dist/components/{p-BzObtSlo.js.map → p-D2z2DgtX.js.map} +1 -1
  158. package/dist/components/{p-DcPVSNDr.js → p-D8Qd6gkf.js} +2 -2
  159. package/dist/components/{p-DcPVSNDr.js.map → p-D8Qd6gkf.js.map} +1 -1
  160. package/dist/components/p-DAV32g35.js +2 -0
  161. package/dist/components/p-DAV32g35.js.map +1 -0
  162. package/dist/components/{p-BHjw0x3L.js → p-DAqSoyd4.js} +2 -2
  163. package/dist/components/{p-BHjw0x3L.js.map → p-DAqSoyd4.js.map} +1 -1
  164. package/dist/components/{p-Bf_D3crn.js → p-DNJTN_s0.js} +2 -2
  165. package/dist/components/{p-DL_5VENG.js → p-DQqOzDEq.js} +2 -2
  166. package/dist/components/{p-C5eosu67.js → p-DRBTr6TS.js} +2 -2
  167. package/dist/components/{p-C5eosu67.js.map → p-DRBTr6TS.js.map} +1 -1
  168. package/dist/components/{p-D-kWb8cF.js → p-DSIOINBK.js} +2 -2
  169. package/dist/components/{p-QdI17bl-.js → p-Dg9qiMDa.js} +2 -2
  170. package/dist/components/{p-DTMxwYQj.js → p-EWI6ccs-.js} +2 -2
  171. package/dist/components/p-JPTkZ3Ji.js +2 -0
  172. package/dist/components/p-JPTkZ3Ji.js.map +1 -0
  173. package/dist/components/p-MxptXwlW.js +2 -0
  174. package/dist/components/{p-C2n8A8NA.js.map → p-MxptXwlW.js.map} +1 -1
  175. package/dist/components/{p-B7Hf86NF.js → p-PD1Vfg0t.js} +2 -2
  176. package/dist/components/{p-B7Hf86NF.js.map → p-PD1Vfg0t.js.map} +1 -1
  177. package/dist/components/{p-BxqBiVbH.js → p-U8JIZzI2.js} +2 -2
  178. package/dist/components/{p-BxqBiVbH.js.map → p-U8JIZzI2.js.map} +1 -1
  179. package/dist/components/{p-Ck_VRQYi.js → p-WGZWqh-B.js} +2 -2
  180. package/dist/components/{p-Ck_VRQYi.js.map → p-WGZWqh-B.js.map} +1 -1
  181. package/dist/components/{p-vWK5faWZ.js → p-a6qP60zb.js} +2 -2
  182. package/dist/components/p-vzxD117T.js +2 -0
  183. package/dist/components/{p-BzLnSwG9.js.map → p-vzxD117T.js.map} +1 -1
  184. package/dist/components/{p-jMCRaxQW.js → p-y4jhIkRc.js} +2 -2
  185. package/dist/components/{p-jMCRaxQW.js.map → p-y4jhIkRc.js.map} +1 -1
  186. package/dist/docs/components.json +318 -10
  187. package/dist/mcp-data/registry/button-unfilled.json +26 -7
  188. package/dist/mcp-data/registry/filter-menu.json +25 -6
  189. package/dist/mcp-data/registry/loader.json +1 -1
  190. package/dist/mcp-data/registry/registry.json +161 -21
  191. package/dist/mcp-data/registry/select.json +22 -3
  192. package/dist/mcp-data/registry/table-saved-views.json +4 -4
  193. package/dist/mcp-data/registry/table-sort.json +229 -0
  194. package/dist/mcp-data/registry/table-toolbar.json +19 -12
  195. package/dist/mcp-data/registry/table.json +10 -8
  196. package/dist/react/components.d.ts +1 -0
  197. package/dist/react/components.js +1 -0
  198. package/dist/react/ds-table-sort.d.ts +12 -0
  199. package/dist/react/ds-table-sort.js +12 -0
  200. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +16 -1
  201. package/dist/types/components/FilterMenu/FilterMenu.d.ts +11 -0
  202. package/dist/types/components/Select/Select.d.ts +11 -0
  203. package/dist/types/components/Table/Table.d.ts +4 -0
  204. package/dist/types/components/Table/table-column-customizer.d.ts +2 -0
  205. package/dist/types/components/TableSort/TableSort.d.ts +24 -0
  206. package/dist/types/components/TableSort/table-sort-menu.d.ts +15 -0
  207. package/dist/types/components/TableToolbar/TableToolbar.d.ts +6 -0
  208. package/dist/types/components.d.ts +102 -6
  209. package/dist/types/utils/table-caption-compact.d.ts +6 -0
  210. package/dist/vue/components.d.ts +1 -0
  211. package/dist/vue/components.js +1 -0
  212. package/dist/vue/ds-button-unfilled.js +1 -0
  213. package/dist/vue/ds-filter-menu.js +1 -0
  214. package/dist/vue/ds-select.js +1 -0
  215. package/dist/vue/ds-table-sort.d.ts +3 -0
  216. package/dist/vue/ds-table-sort.js +13 -0
  217. package/package.json +1 -1
  218. package/dist/components/p-BzLnSwG9.js +0 -2
  219. package/dist/components/p-C2n8A8NA.js +0 -2
  220. package/dist/components/p-C7rzVotG.js +0 -2
  221. package/dist/components/p-C7rzVotG.js.map +0 -1
  222. package/dist/components/p-CKJzHclc.js +0 -2
  223. package/dist/components/p-CWDmHPJC.js +0 -2
  224. package/dist/components/p-Ca-I2UnB.js +0 -2
  225. package/dist/components/p-Ca-I2UnB.js.map +0 -1
  226. package/dist/components/p-CnWC0QvG.js +0 -2
  227. package/dist/components/p-CooNucm0.js +0 -2
  228. package/dist/components/p-CooNucm0.js.map +0 -1
  229. package/dist/components/p-DLkNcCY0.js +0 -2
  230. package/dist/components/p-M9DPfXbP.js +0 -2
  231. package/dist/components/p-URdgCwEs.js +0 -2
  232. /package/dist/components/{p-C1q-tq3U.js.map → p-7tZx4ukz.js.map} +0 -0
  233. /package/dist/components/{p-DZFilC--.js.map → p-BGXqFq2C.js.map} +0 -0
  234. /package/dist/components/{p-BXPQmp7q.js.map → p-BK-JjdoN.js.map} +0 -0
  235. /package/dist/components/{p-B80NfEqc.js.map → p-C0X2zKbB.js.map} +0 -0
  236. /package/dist/components/{p-Ct-m0I6U.js.map → p-CaAZ-D08.js.map} +0 -0
  237. /package/dist/components/{p-BagXfn1G.js.map → p-D1YhYulL.js.map} +0 -0
  238. /package/dist/components/{p-Bf_D3crn.js.map → p-DNJTN_s0.js.map} +0 -0
  239. /package/dist/components/{p-DL_5VENG.js.map → p-DQqOzDEq.js.map} +0 -0
  240. /package/dist/components/{p-D-kWb8cF.js.map → p-DSIOINBK.js.map} +0 -0
  241. /package/dist/components/{p-QdI17bl-.js.map → p-Dg9qiMDa.js.map} +0 -0
  242. /package/dist/components/{p-DTMxwYQj.js.map → p-EWI6ccs-.js.map} +0 -0
  243. /package/dist/components/{p-vWK5faWZ.js.map → p-a6qP60zb.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
3
3
  "name": "table-toolbar",
4
4
  "title": "TableToolbar",
5
- "description": "Data-agnostic companion layout for application-owned controls in a table header, with leading and trailing control groups and narrow-width horizontal overflow.",
5
+ "description": "Data-agnostic companion layout for application-owned table caption controls, with a start cluster, optional search, trailing Filter/Group/Sort, and narrow-width horizontal overflow.",
6
6
  "type": "registry:ui",
7
7
  "meta": {
8
8
  "library": "@ds-mo/ui",
@@ -13,9 +13,9 @@
13
13
  "intent": {
14
14
  "audience": "general",
15
15
  "status": "stable",
16
- "summary": "Data-agnostic companion layout for application-owned controls in a table header, with leading and trailing control groups and narrow-width horizontal overflow.",
16
+ "summary": "Data-agnostic companion layout for application-owned table caption controls, with a start cluster, optional search, trailing Filter/Group/Sort, and narrow-width horizontal overflow.",
17
17
  "useWhen": [
18
- "Several table pages repeat the same leading discovery controls and trailing result-shaping controls.",
18
+ "Several table pages repeat the same saved-view cluster, middle discovery and result-shaping controls, and table-owned caption actions.",
19
19
  "A ds-table header slot needs consistent control spacing, alignment, grouping, and narrow-width overflow without moving product behavior into the table."
20
20
  ],
21
21
  "avoidWhen": [
@@ -26,34 +26,39 @@
26
26
  "commonlyComposedWith": [
27
27
  "component:ds-table",
28
28
  "component:ds-table-saved-views",
29
+ "component:ds-divider",
29
30
  "component:ds-input",
30
31
  "component:ds-filter-menu",
32
+ "component:ds-select",
33
+ "component:ds-table-sort",
31
34
  "component:ds-button-unfilled"
32
35
  ],
33
36
  "patterns": [],
34
37
  "accessibility": [
35
38
  "The component exposes a named toolbar while each slotted control retains its own accessible name and native keyboard behavior.",
36
- "Use the leading slot for discovery and context controls such as saved views and search. Use the trailing slot for result-shaping controls such as filters and grouping.",
39
+ "Use the start slot for saved views. Use search for the optional discovery field, leading for any additional left-side middle controls, and trailing for Filter, Group, and Sort. Table-owned column customizer and data-mode actions remain in the table caption trailing cluster.",
37
40
  "Tab order follows authored DOM order. The toolbar does not add roving focus because it may contain heterogeneous form and popup controls."
38
41
  ],
39
42
  "states": [
40
43
  "The component owns layout only. Slotted controls, values, menus, loading, persistence, and consequences remain controlled by the application. Use ds-table-saved-views when saved-view interaction needs the shared CompoMo behavior while application storage remains external.",
41
- "Either region may be empty. The populated region continues to occupy the available width without adding placeholder chrome."
44
+ "The start cluster is followed by a decorative vertical divider, then the spanning middle region. The start cluster and divider hide when nothing is projected. Search is a dedicated slot that hides when nothing is projected. Empty leading or trailing clusters add no placeholder chrome. The middle region occupies remaining width so trailing controls stay at its inline end.",
45
+ "Column customizer and data-mode switching stay table-owned caption actions. Do not recreate those menus in the toolbar."
42
46
  ],
43
47
  "responsiveBehavior": [
44
- "The two control groups stay on one line and horizontally scroll when their complete controls no longer fit.",
48
+ "The start cluster, search, trailing Filter/Group/Sort, and table caption trailing actions stay on one line. Saved views, Filter, Group, and Sort triggers cap at the compact menu-width token and truncate their labels, keeping a saved-view dirty dot visible. Group and Sort popups keep that same compact menu-width floor. The toolbar horizontally scrolls when its complete controls no longer fit.",
49
+ "Inside a named ds-table container narrower than 900px, Filter, Group, and Sort omit their labels and chevrons and become icon-only. Active filtering or grouping promotes the prefix icon to primary. Sort keeps resting secondary chrome. Table-owned Customize also becomes the icon-only Table menu button at that width.",
45
50
  "The scrollbar is visually suppressed without removing touch, trackpad, mouse-wheel, or keyboard scrolling from the overflow container.",
46
51
  "Trailing controls remain grouped after leading controls; the toolbar does not collapse controls into an application-specific overflow menu."
47
52
  ],
48
53
  "frameworkCaveats": {
49
54
  "customElements": [
50
- "Project controls through slot=leading or slot=trailing and provide a label that names their table context when Table controls is insufficient."
55
+ "Project saved views through slot=start, search through slot=search, additional left-side middle controls through slot=leading, and Filter, Group, and Sort through slot=trailing. Provide a label that names their table context when Table controls is insufficient."
51
56
  ],
52
57
  "react": [
53
- "Set slot=leading or slot=trailing on each child control; keep values and event handlers in the application."
58
+ "Set slot=start, slot=search, slot=leading, or slot=trailing on each child control; keep values and event handlers in the application."
54
59
  ],
55
60
  "angular": [
56
- "Set slot=leading or slot=trailing on each child control and import the generated DsTableToolbar adapter alongside those controls."
61
+ "Set slot=start, slot=search, slot=leading, or slot=trailing on each child control and import the generated DsTableToolbar adapter alongside those controls."
57
62
  ]
58
63
  },
59
64
  "references": [
@@ -135,16 +140,18 @@
135
140
  "@ds-mo/ui",
136
141
  "@ds-mo/tokens"
137
142
  ],
138
- "registryDependencies": [],
143
+ "registryDependencies": [
144
+ "divider"
145
+ ],
139
146
  "files": [
140
147
  {
141
148
  "path": "src/wc/components/TableToolbar/TableToolbar.css",
142
- "content": ":host {\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n\n.table-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n.table-toolbar::-webkit-scrollbar {\n display: none;\n}\n\n.table-toolbar__leading,\n.table-toolbar__trailing {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n}\n\n.table-toolbar__leading {\n flex: 1 0 auto;\n}\n\n.table-toolbar__trailing {\n flex: 0 0 auto;\n margin-inline-start: auto;\n}\n\n.table-toolbar__leading slot,\n.table-toolbar__trailing slot {\n display: contents;\n}\n",
149
+ "content": ":host {\n display: block;\n min-inline-size: 0;\n max-inline-size: 100%;\n}\n\n.table-toolbar {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n inline-size: 100%;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: none;\n}\n\n.table-toolbar::-webkit-scrollbar {\n display: none;\n}\n\n.table-toolbar__start,\n.table-toolbar__search,\n.table-toolbar__main,\n.table-toolbar__leading,\n.table-toolbar__trailing {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--dimension-space-100);\n}\n\n.table-toolbar__start {\n flex: 0 1 var(--dimension-menu-width-xs);\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n overflow: hidden;\n}\n\n.table-toolbar__rule {\n flex: 0 0 auto;\n}\n\n.table-toolbar__main {\n flex: 1 1 auto;\n min-inline-size: min-content;\n}\n\n.table-toolbar__search {\n flex: 0 1 var(--dimension-panel-width-xs);\n max-inline-size: var(--dimension-panel-width-xs);\n}\n\n:host(:not(:has([slot='search']))) .table-toolbar__search {\n display: none;\n}\n\n:host(:not(:has([slot='start']))) .table-toolbar__start,\n:host(:not(:has([slot='start']))) .table-toolbar__rule {\n display: none;\n}\n\n.table-toolbar__leading {\n flex: 1 0 auto;\n}\n\n.table-toolbar__trailing {\n flex: 0 0 auto;\n margin-inline-start: auto;\n}\n\n.table-toolbar__trailing > *,\n.table-toolbar [slot='start'],\n.table-toolbar ds-filter-menu,\n.table-toolbar ds-select,\n.table-toolbar ds-table-sort {\n min-inline-size: 0;\n max-inline-size: var(--dimension-menu-width-xs);\n --ds-choice-popup-min-inline-size: var(--dimension-menu-width-xs);\n}\n\n.table-toolbar__start slot,\n.table-toolbar__search slot,\n.table-toolbar__leading slot,\n.table-toolbar__trailing slot {\n display: contents;\n}\n",
143
150
  "type": "registry:ui"
144
151
  },
145
152
  {
146
153
  "path": "src/wc/components/TableToolbar/TableToolbar.tsx",
147
- "content": "import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'ds-table-toolbar',\n styleUrl: 'TableToolbar.css',\n scoped: true,\n})\nexport class TableToolbar {\n /** Accessible name for the grouped table controls. */\n @Prop() label: string = 'Table controls';\n\n render() {\n return (\n <Host>\n <div class=\"table-toolbar\" role=\"toolbar\" aria-label={this.label}>\n <div class=\"table-toolbar__leading\">\n <slot name=\"leading\" />\n </div>\n <div class=\"table-toolbar__trailing\">\n <slot name=\"trailing\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n",
154
+ "content": "import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nconst CAPTION_CONTROL_SELECTOR = 'ds-filter-menu, ds-select';\n\n@Component({\n tag: 'ds-table-toolbar',\n styleUrl: 'TableToolbar.css',\n scoped: true,\n})\nexport class TableToolbar {\n @Element() private el!: HTMLElement;\n\n /** Accessible name for the grouped table controls. */\n @Prop() label: string = 'Table controls';\n\n private captionControlObserver: MutationObserver | undefined;\n\n componentDidLoad(): void {\n this.connectCaptionControlObserver();\n }\n\n disconnectedCallback(): void {\n this.captionControlObserver?.disconnect();\n }\n\n render() {\n return (\n <Host>\n <div class=\"table-toolbar\" role=\"toolbar\" aria-label={this.label}>\n <div class=\"table-toolbar__start\">\n <slot name=\"start\" />\n </div>\n <ds-divider class=\"table-toolbar__rule\" orientation=\"vertical\" length=\"32px\" />\n <div class=\"table-toolbar__main\">\n <div class=\"table-toolbar__search\">\n <slot name=\"search\" />\n </div>\n <div class=\"table-toolbar__leading\">\n <slot name=\"leading\" />\n </div>\n <div class=\"table-toolbar__trailing\">\n <slot name=\"trailing\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n private connectCaptionControlObserver(): void {\n if (this.captionControlObserver || typeof MutationObserver === 'undefined') return;\n this.captionControlObserver = new MutationObserver(this.syncCaptionControls);\n this.captionControlObserver.observe(this.el, { childList: true, subtree: true });\n this.syncCaptionControls();\n }\n\n private syncCaptionControls = () => {\n for (const control of this.el.querySelectorAll<\n HTMLElement & { collapseLabel?: boolean }\n >(CAPTION_CONTROL_SELECTOR)) {\n if (control.closest('ds-table-saved-views')) continue;\n if (control.collapseLabel) continue;\n control.collapseLabel = true;\n }\n };\n}\n",
148
155
  "type": "registry:ui"
149
156
  }
150
157
  ]