@ds-mo/ui 14.22.2 → 14.24.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 (215) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +14 -7
  3. package/dist/agent.json +112 -26
  4. package/dist/angular/ds-bar-title.d.ts +1 -1
  5. package/dist/angular/ds-bar-title.js +3 -3
  6. package/dist/angular/ds-button-filled.d.ts +3 -1
  7. package/dist/angular/ds-button-filled.js +7 -4
  8. package/dist/angular/ds-button-unfilled.d.ts +3 -1
  9. package/dist/angular/ds-button-unfilled.js +7 -4
  10. package/dist/angular/ds-panel-tools.d.ts +7 -1
  11. package/dist/angular/ds-panel-tools.js +7 -4
  12. package/dist/angular/ds-shell-app.d.ts +7 -1
  13. package/dist/angular/ds-shell-app.js +5 -2
  14. package/dist/angular/ds-shell-tools.d.ts +4 -1
  15. package/dist/angular/ds-shell-tools.js +7 -4
  16. package/dist/components/ds-agent-questionnaire.js +1 -1
  17. package/dist/components/ds-agent-response.js +1 -1
  18. package/dist/components/ds-banner.js +1 -1
  19. package/dist/components/ds-bar-nav.js +1 -1
  20. package/dist/components/ds-bar-title.js +1 -1
  21. package/dist/components/ds-bar-workflow.js +1 -1
  22. package/dist/components/ds-button-filled.js +1 -1
  23. package/dist/components/ds-button-unfilled.js +1 -1
  24. package/dist/components/ds-card-chart.js +1 -1
  25. package/dist/components/ds-card-setting.js +1 -1
  26. package/dist/components/ds-code-block.js +1 -1
  27. package/dist/components/ds-filter-menu.js +1 -1
  28. package/dist/components/ds-input.js +1 -1
  29. package/dist/components/ds-markdown.js +1 -1
  30. package/dist/components/ds-message-actions.js +1 -1
  31. package/dist/components/ds-message-composer.js +1 -1
  32. package/dist/components/ds-message-scroller.js +1 -1
  33. package/dist/components/ds-message-scroller.js.map +1 -1
  34. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  35. package/dist/components/ds-modal.js +1 -1
  36. package/dist/components/ds-pagination.js +1 -1
  37. package/dist/components/ds-panel-nav.js +1 -1
  38. package/dist/components/ds-panel-tool-header.js +1 -1
  39. package/dist/components/ds-panel-tool-search.js +1 -1
  40. package/dist/components/ds-panel-tools.js +1 -1
  41. package/dist/components/ds-select.js +1 -1
  42. package/dist/components/ds-shell-app.js +1 -1
  43. package/dist/components/ds-shell-app.js.map +1 -1
  44. package/dist/components/ds-shell-tools.js +1 -1
  45. package/dist/components/ds-table-filter.js +1 -1
  46. package/dist/components/ds-table-group.js +1 -1
  47. package/dist/components/ds-table-saved-views.js +1 -1
  48. package/dist/components/ds-table-search.js +1 -1
  49. package/dist/components/ds-table-sort.js +1 -1
  50. package/dist/components/ds-table.js +1 -1
  51. package/dist/components/ds-toast.js +1 -1
  52. package/dist/components/p-BR1ayqMU.js +2 -0
  53. package/dist/components/p-BR1ayqMU.js.map +1 -0
  54. package/dist/components/{p-DzVYGJJv.js → p-BSRIF4m8.js} +2 -2
  55. package/dist/components/{p-FitB53eM.js → p-BZlhBJZL.js} +2 -2
  56. package/dist/components/{p-BmqnrfTf.js → p-Bo6uW_8T.js} +2 -2
  57. package/dist/components/{p-BIaHDBfP.js → p-Bq8svcPs.js} +2 -2
  58. package/dist/components/{p-DAFR4U9P.js → p-BqbdABo3.js} +2 -2
  59. package/dist/components/{p-nVv71P3f.js → p-CEXchU5N.js} +2 -2
  60. package/dist/components/p-CEfxLsbX.js +2 -0
  61. package/dist/components/p-CEfxLsbX.js.map +1 -0
  62. package/dist/components/{p-DXbryJHz.js → p-CYMKmJ2s.js} +2 -2
  63. package/dist/components/p-CZHIkVgj.js +2 -0
  64. package/dist/components/p-CZHIkVgj.js.map +1 -0
  65. package/dist/components/{p-CL0tECXf.js → p-CZjjDhUl.js} +2 -2
  66. package/dist/components/p-C_FFU6W3.js +2 -0
  67. package/dist/components/p-C_FFU6W3.js.map +1 -0
  68. package/dist/components/{p-CilwchJH.js → p-CglHiyY2.js} +2 -2
  69. package/dist/components/{p-9M0ak2q_.js → p-DLaN9BPq.js} +2 -2
  70. package/dist/components/{p-CrYJnDev.js → p-DiS5BgLA.js} +2 -2
  71. package/dist/components/{p-DiyO47xX.js → p-PXdvBMXB.js} +2 -2
  72. package/dist/components/{p-7MWaWl8w.js → p-kslioYhf.js} +2 -2
  73. package/dist/components/p-kslioYhf.js.map +1 -0
  74. package/dist/docs/components.json +434 -32
  75. package/dist/lib/components/BarTitle/bar-title-types.d.ts +54 -1
  76. package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +12 -1
  77. package/dist/lib/components/PanelTools/panel-tools-types.d.ts +76 -1
  78. package/dist/lib/components/ShellApp/shell-app-types.d.ts +6 -2
  79. package/dist/lib/shell/index.d.ts +2 -1
  80. package/dist/lib/shell/index.js.map +2 -2
  81. package/dist/mcp-data/registry/agent-activity.json +1 -1
  82. package/dist/mcp-data/registry/agent-questionnaire.json +1 -1
  83. package/dist/mcp-data/registry/agent-response.json +1 -1
  84. package/dist/mcp-data/registry/agent-source-list.json +1 -1
  85. package/dist/mcp-data/registry/agent-tool-call.json +1 -1
  86. package/dist/mcp-data/registry/attachment-list.json +1 -1
  87. package/dist/mcp-data/registry/avatar.json +1 -1
  88. package/dist/mcp-data/registry/badge.json +1 -1
  89. package/dist/mcp-data/registry/banner.json +1 -1
  90. package/dist/mcp-data/registry/bar-action.json +1 -1
  91. package/dist/mcp-data/registry/bar-nav.json +1 -1
  92. package/dist/mcp-data/registry/bar-title.json +35 -13
  93. package/dist/mcp-data/registry/bar-workflow.json +1 -1
  94. package/dist/mcp-data/registry/breadcrumb.json +1 -1
  95. package/dist/mcp-data/registry/button-filled.json +61 -7
  96. package/dist/mcp-data/registry/button-unfilled.json +61 -7
  97. package/dist/mcp-data/registry/card-chart.json +1 -1
  98. package/dist/mcp-data/registry/card-overview.json +1 -1
  99. package/dist/mcp-data/registry/card-setting.json +1 -1
  100. package/dist/mcp-data/registry/chart-legend.json +1 -1
  101. package/dist/mcp-data/registry/chart.json +1 -1
  102. package/dist/mcp-data/registry/checkbox.json +1 -1
  103. package/dist/mcp-data/registry/chip.json +1 -1
  104. package/dist/mcp-data/registry/code-block.json +1 -1
  105. package/dist/mcp-data/registry/conversation-list-item.json +1 -1
  106. package/dist/mcp-data/registry/conversation-list-section.json +1 -1
  107. package/dist/mcp-data/registry/conversation-list.json +1 -1
  108. package/dist/mcp-data/registry/divider.json +1 -1
  109. package/dist/mcp-data/registry/empty-state.json +1 -1
  110. package/dist/mcp-data/registry/field.json +1 -1
  111. package/dist/mcp-data/registry/filter-menu.json +1 -1
  112. package/dist/mcp-data/registry/icon.json +1 -1
  113. package/dist/mcp-data/registry/input.json +1 -1
  114. package/dist/mcp-data/registry/loader.json +1 -1
  115. package/dist/mcp-data/registry/markdown.json +1 -1
  116. package/dist/mcp-data/registry/menu.json +1 -1
  117. package/dist/mcp-data/registry/message-actions.json +1 -1
  118. package/dist/mcp-data/registry/message-bubble.json +1 -1
  119. package/dist/mcp-data/registry/message-composer.json +1 -1
  120. package/dist/mcp-data/registry/message-scroller.json +9 -2
  121. package/dist/mcp-data/registry/message.json +1 -1
  122. package/dist/mcp-data/registry/mobile-bar-nav.json +1 -1
  123. package/dist/mcp-data/registry/mobile-header.json +1 -1
  124. package/dist/mcp-data/registry/mobile-section-switcher.json +1 -1
  125. package/dist/mcp-data/registry/mobile-sheet-nav.json +1 -1
  126. package/dist/mcp-data/registry/modal.json +1 -1
  127. package/dist/mcp-data/registry/pagination.json +1 -1
  128. package/dist/mcp-data/registry/panel-nav.json +1 -1
  129. package/dist/mcp-data/registry/panel-sub-nav.json +1 -1
  130. package/dist/mcp-data/registry/panel-tool-header.json +1 -1
  131. package/dist/mcp-data/registry/panel-tool-search.json +1 -1
  132. package/dist/mcp-data/registry/panel-tools.json +62 -15
  133. package/dist/mcp-data/registry/paper-texture.json +1 -1
  134. package/dist/mcp-data/registry/radio.json +1 -1
  135. package/dist/mcp-data/registry/registry.json +112 -26
  136. package/dist/mcp-data/registry/scroll-overlay.json +1 -1
  137. package/dist/mcp-data/registry/select.json +1 -1
  138. package/dist/mcp-data/registry/shell-app.json +26 -3
  139. package/dist/mcp-data/registry/shell-page.json +1 -1
  140. package/dist/mcp-data/registry/shell-tools.json +39 -6
  141. package/dist/mcp-data/registry/skeleton.json +1 -1
  142. package/dist/mcp-data/registry/slider.json +1 -1
  143. package/dist/mcp-data/registry/swatch-picker.json +1 -1
  144. package/dist/mcp-data/registry/switch.json +1 -1
  145. package/dist/mcp-data/registry/tab-group.json +1 -1
  146. package/dist/mcp-data/registry/table-filter.json +1 -1
  147. package/dist/mcp-data/registry/table-group.json +1 -1
  148. package/dist/mcp-data/registry/table-saved-views.json +1 -1
  149. package/dist/mcp-data/registry/table-search.json +1 -1
  150. package/dist/mcp-data/registry/table-sort.json +1 -1
  151. package/dist/mcp-data/registry/table-toolbar.json +1 -1
  152. package/dist/mcp-data/registry/table.json +1 -1
  153. package/dist/mcp-data/registry/tag.json +1 -1
  154. package/dist/mcp-data/registry/text.json +1 -1
  155. package/dist/mcp-data/registry/toast.json +1 -1
  156. package/dist/mcp-data/registry/tooltip-chart.json +1 -1
  157. package/dist/mcp-data/registry/tooltip.json +1 -1
  158. package/dist/mcp-data/registry/typing-indicator.json +1 -1
  159. package/dist/react/ds-button-filled.d.ts +1 -0
  160. package/dist/react/ds-button-filled.js +4 -1
  161. package/dist/react/ds-button-unfilled.d.ts +1 -0
  162. package/dist/react/ds-button-unfilled.js +1 -0
  163. package/dist/react/ds-panel-tools.d.ts +2 -1
  164. package/dist/react/ds-panel-tools.js +1 -0
  165. package/dist/react/ds-shell-app.d.ts +2 -1
  166. package/dist/react/ds-shell-app.js +1 -0
  167. package/dist/react/ds-shell-tools.d.ts +2 -1
  168. package/dist/react/ds-shell-tools.js +2 -1
  169. package/dist/types/components/BarTitle/BarTitle.d.ts +19 -6
  170. package/dist/types/components/BarTitle/bar-title-actions.d.ts +11 -0
  171. package/dist/types/components/BarTitle/bar-title-types.d.ts +54 -1
  172. package/dist/types/components/BarTitle/index.d.ts +1 -1
  173. package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +12 -1
  174. package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +12 -1
  175. package/dist/types/components/MessageScroller/MessageScroller.d.ts +14 -0
  176. package/dist/types/components/MessageScroller/message-scroller-transcript.d.ts +9 -0
  177. package/dist/types/components/PanelTools/PanelTools.d.ts +17 -1
  178. package/dist/types/components/PanelTools/index.d.ts +1 -1
  179. package/dist/types/components/PanelTools/panel-tools-types.d.ts +76 -1
  180. package/dist/types/components/PanelTools/panel-tools-utils.d.ts +17 -1
  181. package/dist/types/components/ShellApp/ShellApp.d.ts +16 -1
  182. package/dist/types/components/ShellApp/shell-app-types.d.ts +6 -2
  183. package/dist/types/components/ShellTools/ShellTools.d.ts +5 -1
  184. package/dist/types/components/ShellTools/index.d.ts +1 -1
  185. package/dist/types/components.d.ts +94 -6
  186. package/dist/types/shell/index.d.ts +2 -1
  187. package/dist/types/utils/button-story-foundation.d.ts +2 -0
  188. package/dist/vue/ds-bar-title.js +1 -0
  189. package/dist/vue/ds-button-filled.js +6 -2
  190. package/dist/vue/ds-button-unfilled.js +4 -0
  191. package/dist/vue/ds-panel-tools.js +3 -0
  192. package/dist/vue/ds-shell-app.js +2 -0
  193. package/dist/vue/ds-shell-tools.js +5 -2
  194. package/package.json +3 -3
  195. package/dist/components/p--68f7nIx.js +0 -2
  196. package/dist/components/p--68f7nIx.js.map +0 -1
  197. package/dist/components/p-7MWaWl8w.js.map +0 -1
  198. package/dist/components/p-BnTPuV3x.js +0 -2
  199. package/dist/components/p-BnTPuV3x.js.map +0 -1
  200. package/dist/components/p-COFw_fcj.js +0 -2
  201. package/dist/components/p-COFw_fcj.js.map +0 -1
  202. package/dist/components/p-CvHrCyuz.js +0 -2
  203. package/dist/components/p-CvHrCyuz.js.map +0 -1
  204. /package/dist/components/{p-DzVYGJJv.js.map → p-BSRIF4m8.js.map} +0 -0
  205. /package/dist/components/{p-FitB53eM.js.map → p-BZlhBJZL.js.map} +0 -0
  206. /package/dist/components/{p-BmqnrfTf.js.map → p-Bo6uW_8T.js.map} +0 -0
  207. /package/dist/components/{p-BIaHDBfP.js.map → p-Bq8svcPs.js.map} +0 -0
  208. /package/dist/components/{p-DAFR4U9P.js.map → p-BqbdABo3.js.map} +0 -0
  209. /package/dist/components/{p-nVv71P3f.js.map → p-CEXchU5N.js.map} +0 -0
  210. /package/dist/components/{p-DXbryJHz.js.map → p-CYMKmJ2s.js.map} +0 -0
  211. /package/dist/components/{p-CL0tECXf.js.map → p-CZjjDhUl.js.map} +0 -0
  212. /package/dist/components/{p-CilwchJH.js.map → p-CglHiyY2.js.map} +0 -0
  213. /package/dist/components/{p-9M0ak2q_.js.map → p-DLaN9BPq.js.map} +0 -0
  214. /package/dist/components/{p-CrYJnDev.js.map → p-DiS5BgLA.js.map} +0 -0
  215. /package/dist/components/{p-DiyO47xX.js.map → p-PXdvBMXB.js.map} +0 -0
@@ -9,6 +9,7 @@ export declare const PANEL_TOOLS_PRIMARY_TOOL_ID: CanonicalPanelToolsToolId;
9
9
  export declare const PANEL_TOOLS_FOOTER_TOOL_ID: CanonicalPanelToolsToolId;
10
10
  export declare const PANEL_TOOLS_LABELS: Record<CanonicalPanelToolsToolId, string>;
11
11
  export declare const PANEL_TOOLS_SHORTCUTS: Partial<Record<CanonicalPanelToolsToolId, string>>;
12
+ export type PanelToolsRailPlacement = 'header' | 'body' | 'footer';
12
13
  export interface PanelToolsItem {
13
14
  id: PanelToolsToolId;
14
15
  /** Icon name for <ds-icon>. */
@@ -16,7 +17,7 @@ export interface PanelToolsItem {
16
17
  /** Visible and accessible fallback label for custom tool ids. */
17
18
  label?: string;
18
19
  /** Explicit rail region; canonical Agents/Help placement is the fallback. */
19
- railPlacement?: 'header' | 'body' | 'footer';
20
+ railPlacement?: PanelToolsRailPlacement;
20
21
  /** Stable ordering within the selected rail region. */
21
22
  order?: number;
22
23
  /** Optional shortcut label displayed by the tooltip. */
@@ -30,6 +31,79 @@ export interface PanelToolsItem {
30
31
  isInactive?: boolean;
31
32
  ariaLabel?: string;
32
33
  }
34
+ export type PanelToolsRailAccessoryVisual = {
35
+ type: 'icon';
36
+ icon: string;
37
+ } | {
38
+ type: 'initial';
39
+ initial: string;
40
+ } | {
41
+ type: 'image';
42
+ src: string;
43
+ };
44
+ export interface PanelToolsRailAccessoryAction {
45
+ /** Stable application-owned action id emitted with the accessory id. */
46
+ id: string;
47
+ /** Overrides the accessory label for the primary action. */
48
+ ariaLabel?: string;
49
+ isInactive?: boolean;
50
+ }
51
+ export interface PanelToolsRailAccessorySecondaryAction {
52
+ id: string;
53
+ icon: string;
54
+ ariaLabel: string;
55
+ isInactive?: boolean;
56
+ }
57
+ export type PanelToolsRailTransientTone = 'active' | 'positive';
58
+ interface PanelToolsRailAccessoryBase {
59
+ /** Stable application-owned identity. Duplicate or blank ids are omitted. */
60
+ id: string;
61
+ /** Explicit rail region; accessories never infer placement from their id. */
62
+ railPlacement: PanelToolsRailPlacement;
63
+ /** Stable ordering within the selected rail region. */
64
+ order: number;
65
+ }
66
+ /** Decorative boundary between application-owned rail accessory groups. */
67
+ export interface PanelToolsRailDividerAccessory extends PanelToolsRailAccessoryBase {
68
+ type: 'divider';
69
+ }
70
+ /**
71
+ * A compact one-action shortcut that matches standard tool-button geometry.
72
+ * PanelTools owns its initial orb, notification dot, and transient interaction paint.
73
+ */
74
+ export interface PanelToolsRailShortcutAccessory extends PanelToolsRailAccessoryBase {
75
+ type: 'shortcut';
76
+ /** Accessible shortcut name and action-label fallback. */
77
+ ariaLabel: string;
78
+ /** One or two displayed graphemes. Longer values are truncated visually. */
79
+ initials: string;
80
+ /** Supplemental notification dot. Include its meaning in the accessible label when needed. */
81
+ dot?: boolean;
82
+ action: PanelToolsRailAccessoryAction;
83
+ }
84
+ /**
85
+ * A direct application intent that never selects a tool or changes drawer state.
86
+ * PanelTools owns the two-control-height surface and its focus behavior.
87
+ */
88
+ export interface PanelToolsRailTransientAccessory extends PanelToolsRailAccessoryBase {
89
+ type: 'transient';
90
+ /** Accessible accessory name and primary-action fallback label. */
91
+ ariaLabel: string;
92
+ visual: PanelToolsRailAccessoryVisual;
93
+ /** State announced with the primary action and shown in its tooltip. */
94
+ statusText: string;
95
+ /** Bold surface treatment. Active uses brand; positive uses positive semantic color. */
96
+ statusTone: PanelToolsRailTransientTone;
97
+ primaryAction: PanelToolsRailAccessoryAction;
98
+ secondaryAction?: PanelToolsRailAccessorySecondaryAction;
99
+ }
100
+ export type PanelToolsRailAccessory = PanelToolsRailDividerAccessory | PanelToolsRailShortcutAccessory | PanelToolsRailTransientAccessory;
101
+ export interface PanelToolsRailAccessoryActionDetail {
102
+ accessoryId: string;
103
+ actionId: string;
104
+ /** Rendered action control, suitable for anchoring an application-owned overlay. */
105
+ anchor: HTMLElement;
106
+ }
33
107
  /** Canonical shell recipe used by Lab and by managed ShellApp examples. */
34
108
  export declare const PANEL_TOOLS_DEFAULT_ITEMS: PanelToolsItem[];
35
109
  export interface PanelToolsHeaderAction {
@@ -64,4 +138,5 @@ export interface PanelToolsHeaderConfig {
64
138
  }
65
139
  /** Per-tool header state. The application replaces the object when a tool changes depth or actions. */
66
140
  export type PanelToolsHeaders = Partial<Record<PanelToolsToolId, PanelToolsHeaderConfig>>;
141
+ export {};
67
142
  //# sourceMappingURL=panel-tools-types.d.ts.map
@@ -1,5 +1,21 @@
1
- import { type PanelToolsItem, type PanelToolsToolId } from './panel-tools-types';
1
+ import { type PanelToolsItem, type PanelToolsRailAccessory, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from './panel-tools-types';
2
2
  export declare function orderPanelToolsItems(items: PanelToolsItem[]): PanelToolsItem[];
3
+ export type PanelToolsRailEntry = {
4
+ type: 'tool';
5
+ id: string;
6
+ item: PanelToolsItem;
7
+ } | {
8
+ type: 'accessory';
9
+ id: string;
10
+ accessory: PanelToolsRailAccessory;
11
+ };
12
+ /** Merge tools and governed accessories into one visual and keyboard order. */
13
+ export declare function orderPanelToolsRailEntries(items: PanelToolsItem[], accessories: PanelToolsRailAccessory[]): PanelToolsRailEntry[];
14
+ /** Flatten interactive entries while leaving decorative boundaries out of focus order. */
15
+ export declare function panelToolsRailFocusKeys(entries: PanelToolsRailEntry[]): string[];
16
+ /** Preserve the current target across collection changes, or choose its nearest survivor. */
17
+ export declare function reconcilePanelToolsRovingIndex(previousKeys: string[], nextKeys: string[], currentIndex: number): number;
18
+ export declare function panelToolsRailAccessoryActionDetail(accessoryId: string, actionId: string, anchor: HTMLElement): PanelToolsRailAccessoryActionDetail;
3
19
  export declare function isPanelToolsToolId(value: string | null): value is PanelToolsToolId;
4
20
  export declare function panelToolsRailPlacement(item: PanelToolsItem): 'header' | 'body' | 'footer';
5
21
  export declare function reconcilePanelToolsAvailability(items: PanelToolsItem[], open: boolean, activeTool: PanelToolsToolId | ''): {
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { NavChromeStyle } from '../../shell/nav-chrome';
3
- import type { PanelToolsToolId } from '../PanelTools/panel-tools-types';
3
+ import type { PanelToolsRailAccessoryActionDetail, PanelToolsToolId } from '../PanelTools/panel-tools-types';
4
4
  import type { BreadcrumbSelectDetail } from '../Breadcrumb/breadcrumb-types';
5
5
  import { type ShellGradientPreset } from '../../shell/shell-gradient-presets';
6
6
  import { type MobileDestination, type ShellResponsiveMode } from '../../shell/shell-responsive';
@@ -67,6 +67,8 @@ export declare class ShellApp {
67
67
  tool: PanelToolsToolId;
68
68
  id: string;
69
69
  }>;
70
+ /** Managed desktop/tablet rail accessory intent. */
71
+ dsRailAccessoryAction: EventEmitter<PanelToolsRailAccessoryActionDetail>;
70
72
  /** Managed drawer/fullscreen presentation state. */
71
73
  dsPresentationChange: EventEmitter<{
72
74
  presentation: 'drawer' | 'fullscreen';
@@ -87,6 +89,12 @@ export declare class ShellApp {
87
89
  private managedMobileSheetNavOpen;
88
90
  private managedInboxTool;
89
91
  private managedBrowseContext;
92
+ private mobileActionMenuOpen;
93
+ private mobileActionMenuInitialFocusVisible;
94
+ private readonly instanceId;
95
+ private readonly mobileActionMenuTriggerId;
96
+ private readonly mobileActionMenuId;
97
+ private mobileActionTriggerEl;
90
98
  private resizeObserver;
91
99
  private hasLoaded;
92
100
  private foregroundRefreshTimer;
@@ -112,6 +120,7 @@ export declare class ShellApp {
112
120
  disconnectedCallback(): void;
113
121
  onShellPropsChange(): void;
114
122
  handleNavigationChange(): void;
123
+ handlePageChromeChange(): void;
115
124
  handleToolsChange(): void;
116
125
  onMobileStateChange(_next: unknown, previous: unknown): void;
117
126
  private updateResponsiveMode;
@@ -159,6 +168,7 @@ export declare class ShellApp {
159
168
  private handleManagedPresentationChange;
160
169
  private handleManagedHeaderBack;
161
170
  private handleManagedHeaderAction;
171
+ private handleManagedRailAccessoryAction;
162
172
  private handleManagedSheetToggle;
163
173
  private activateManagedMobileTool;
164
174
  private handleManagedMobileDestination;
@@ -181,6 +191,11 @@ export declare class ShellApp {
181
191
  private renderManagedMobileBarNav;
182
192
  private renderManagedMobileLeading;
183
193
  private renderManagedMobileActions;
194
+ private get resolvedHeaderActions();
195
+ private get mobileActionMenuSections();
196
+ private closeMobileActionMenu;
197
+ private handleMobileActionSelect;
198
+ private renderManagedMobileActionMenu;
184
199
  private get barTitleSections();
185
200
  private renderManagedBarTitle;
186
201
  private renderManagedPage;
@@ -1,9 +1,9 @@
1
1
  import type { BarNavTab } from '../BarNav/bar-nav-types';
2
- import type { BarTitleActionItem, BarTitlePrimaryAction } from '../BarTitle/bar-title-types';
2
+ import type { BarTitleActionConfigItem, BarTitleActionItem, BarTitlePrimaryAction } from '../BarTitle/bar-title-types';
3
3
  import type { BreadcrumbItem } from '../Breadcrumb/breadcrumb-types';
4
4
  import type { MobileHeaderTone } from '../MobileHeader/mobile-header-types';
5
5
  import type { PanelNavGroup, PanelNavItem, PanelNavRouterMode } from '../PanelNav/panel-nav-types';
6
- import type { PanelToolsHeaders, PanelToolsHeaderAction, PanelToolsItem } from '../PanelTools/panel-tools-types';
6
+ import type { PanelToolsHeaders, PanelToolsHeaderAction, PanelToolsItem, PanelToolsRailAccessory } from '../PanelTools/panel-tools-types';
7
7
  import type { NavChromeStyle } from '../../shell/nav-chrome';
8
8
  import type { ShellPageContentInset, ShellPageContentSurface } from '../ShellPage/shell-page-types';
9
9
  export type ShellAppComposition = 'managed' | 'slotted';
@@ -67,6 +67,8 @@ export interface ShellPageChromeConfig {
67
67
  breadcrumbAriaLabel?: string;
68
68
  primaryAction?: BarTitlePrimaryAction | null;
69
69
  actions?: BarTitleActionItem[];
70
+ /** Ordered desktop, tablet, and mobile page-action model. */
71
+ actionItems?: BarTitleActionConfigItem[];
70
72
  /** Icon actions rendered in the mobile header's trailing lane. */
71
73
  mobileActions?: PanelToolsHeaderAction[];
72
74
  actionsAriaLabel?: string;
@@ -93,6 +95,8 @@ export interface ShellPageChromeConfig {
93
95
  */
94
96
  export interface ShellToolsConfig {
95
97
  items?: PanelToolsItem[];
98
+ /** Desktop/tablet-only direct rail intents and decorative group boundaries. */
99
+ accessories?: PanelToolsRailAccessory[];
96
100
  headers?: PanelToolsHeaders;
97
101
  storageKey?: string;
98
102
  fullscreenHeaderMode?: 'shared' | 'split';
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { type PanelToolsHeaders, type PanelToolsItem, type PanelToolsToolId } from '../PanelTools/panel-tools-types';
2
+ import { type PanelToolsHeaders, type PanelToolsItem, type PanelToolsRailAccessory, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from '../PanelTools/panel-tools-types';
3
3
  import { type ShellResponsiveMode } from '../../shell/shell-responsive';
4
4
  export declare class ShellTools {
5
5
  el: HTMLElement;
@@ -10,6 +10,8 @@ export declare class ShellTools {
10
10
  presentation: 'drawer' | 'fullscreen';
11
11
  fullscreenHeaderMode: 'shared' | 'split';
12
12
  items: PanelToolsItem[];
13
+ /** Desktop/tablet rail accessories. Intentionally omitted from the mobile tool stage. */
14
+ accessories: PanelToolsRailAccessory[];
13
15
  headers: PanelToolsHeaders;
14
16
  storageKey: string;
15
17
  toolsLabel: string;
@@ -31,6 +33,7 @@ export declare class ShellTools {
31
33
  tool: PanelToolsToolId;
32
34
  id: string;
33
35
  }>;
36
+ dsRailAccessoryAction: EventEmitter<PanelToolsRailAccessoryActionDetail>;
34
37
  private panelToolsEl;
35
38
  private get resolvedItems();
36
39
  private get availableInboxTools();
@@ -46,6 +49,7 @@ export declare class ShellTools {
46
49
  private selectInboxTool;
47
50
  private handlePanelToolChange;
48
51
  private handlePanelPresentationChange;
52
+ private handlePanelRailAccessoryAction;
49
53
  private handleMobileHeaderAction;
50
54
  /** Match PanelTools' imperative activation contract in every responsive mode. */
51
55
  activateTool(id: PanelToolsToolId): Promise<void>;
@@ -1,3 +1,3 @@
1
1
  export { ShellTools } from './ShellTools';
2
- export type { PanelToolsHeaderAction, PanelToolsHeaderConfig, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId, } from '../PanelTools/panel-tools-types';
2
+ export type { PanelToolsHeaderAction, PanelToolsHeaderConfig, PanelToolsHeaders, PanelToolsItem, PanelToolsRailAccessory, PanelToolsRailAccessoryAction, PanelToolsRailAccessoryActionDetail, PanelToolsRailAccessorySecondaryAction, PanelToolsRailAccessoryVisual, PanelToolsRailDividerAccessory, PanelToolsRailPlacement, PanelToolsRailShortcutAccessory, PanelToolsRailTransientAccessory, PanelToolsRailTransientTone, PanelToolsToolId, } from '../PanelTools/panel-tools-types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -13,7 +13,7 @@ import { BannerAnnouncement, BannerContrast, BannerIntent, BannerOrientation } f
13
13
  import { NavChromeStyle } from "./shell/nav-chrome";
14
14
  import { BarNavTab } from "./components/BarNav/bar-nav-types";
15
15
  import { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/breadcrumb-types";
16
- import { BarTitleActionItem, BarTitlePlacement, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
16
+ import { BarTitleActionConfigItem, BarTitleActionItem, BarTitlePlacement, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
17
17
  import { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types";
18
18
  import { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive";
19
19
  import { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
@@ -51,7 +51,7 @@ import { PaginationChangeDetail, PaginationPageSizeMode } from "./components/Pag
51
51
  import { ChromeTransitionDetail } from "./shell/chrome-transition";
52
52
  import { PanelSubNavItem } from "./components/PanelSubNav/panel-sub-nav-types";
53
53
  import { PanelSubNavBackground } from "./components/PanelSubNav/PanelSubNav";
54
- import { PanelToolHeaderActionDetail, PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId } from "./components/PanelTools/panel-tools-types";
54
+ import { PanelToolHeaderActionDetail, PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolsHeaders, PanelToolsItem, PanelToolsRailAccessory, PanelToolsRailAccessoryActionDetail, PanelToolsToolId } from "./components/PanelTools/panel-tools-types";
55
55
  import { PaperTextureConfig } from "./components/PaperTexture/paper-texture-types";
56
56
  import { RadioOption, RadioSize } from "./components/Radio/Radio";
57
57
  import { ScrollOverlayScrollDetail } from "./components/ScrollOverlay/ScrollOverlay";
@@ -83,7 +83,7 @@ export { BannerAnnouncement, BannerContrast, BannerIntent, BannerOrientation } f
83
83
  export { NavChromeStyle } from "./shell/nav-chrome";
84
84
  export { BarNavTab } from "./components/BarNav/bar-nav-types";
85
85
  export { BreadcrumbItem, BreadcrumbSelectDetail } from "./components/Breadcrumb/breadcrumb-types";
86
- export { BarTitleActionItem, BarTitlePlacement, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
86
+ export { BarTitleActionConfigItem, BarTitleActionItem, BarTitlePlacement, BarTitlePrimaryAction, BarTitleSectionItem, BarTitleVariant } from "./components/BarTitle/bar-title-types";
87
87
  export { BarWorkflowStep, BarWorkflowSubmitAction } from "./components/BarWorkflow/bar-workflow-types";
88
88
  export { MobileDestination, ShellResponsiveMode } from "./shell/shell-responsive";
89
89
  export { ButtonFilledBackground, ButtonFilledContrast, ButtonFilledIntent, ButtonFilledPopup, ButtonFilledSize, ButtonFilledVariant, ButtonFilledWidth } from "./components/ButtonFilled/ButtonFilled";
@@ -121,7 +121,7 @@ export { PaginationChangeDetail, PaginationPageSizeMode } from "./components/Pag
121
121
  export { ChromeTransitionDetail } from "./shell/chrome-transition";
122
122
  export { PanelSubNavItem } from "./components/PanelSubNav/panel-sub-nav-types";
123
123
  export { PanelSubNavBackground } from "./components/PanelSubNav/PanelSubNav";
124
- export { PanelToolHeaderActionDetail, PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId } from "./components/PanelTools/panel-tools-types";
124
+ export { PanelToolHeaderActionDetail, PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolsHeaders, PanelToolsItem, PanelToolsRailAccessory, PanelToolsRailAccessoryActionDetail, PanelToolsToolId } from "./components/PanelTools/panel-tools-types";
125
125
  export { PaperTextureConfig } from "./components/PaperTexture/paper-texture-types";
126
126
  export { RadioOption, RadioSize } from "./components/Radio/Radio";
127
127
  export { ScrollOverlayScrollDetail } from "./components/ScrollOverlay/ScrollOverlay";
@@ -420,6 +420,10 @@ export namespace Components {
420
420
  "value": string;
421
421
  }
422
422
  interface DsBarTitle {
423
+ /**
424
+ * Ordered page-header actions. When supplied, this replaces the legacy primaryAction/actions presentation while preserving the same dsAction event.
425
+ */
426
+ "actionItems"?: BarTitleActionConfigItem[];
423
427
  /**
424
428
  * Secondary page actions shown in the overflow menu. Dividers create groups.
425
429
  * @default []
@@ -644,6 +648,11 @@ export namespace Components {
644
648
  * @default true
645
649
  */
646
650
  "labelEmphasis": boolean;
651
+ /**
652
+ * Accessible name for the appended menu segment in split mode.
653
+ * @default 'More options'
654
+ */
655
+ "menuAriaLabel": string;
647
656
  /**
648
657
  * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
649
658
  * @default true
@@ -654,12 +663,17 @@ export namespace Components {
654
663
  * @default false
655
664
  */
656
665
  "rounded": boolean;
657
- "setFocus": () => Promise<void>;
666
+ "setFocus": (segment?: "primary" | "menu") => Promise<void>;
658
667
  /**
659
668
  * Control density (height, padding, icon, type).
660
669
  * @default 'md'
661
670
  */
662
671
  "size": ButtonFilledSize;
672
+ /**
673
+ * Append a separate ChevronDown menu segment while preserving this button's variant, size, intent, contrast, loading, inactive, and width treatment.
674
+ * @default false
675
+ */
676
+ "split": boolean;
663
677
  /**
664
678
  * Native button type.
665
679
  * @default 'button'
@@ -761,6 +775,11 @@ export namespace Components {
761
775
  * @default true
762
776
  */
763
777
  "labelEmphasis": boolean;
778
+ /**
779
+ * Accessible name for the appended menu segment in split mode.
780
+ * @default 'More options'
781
+ */
782
+ "menuAriaLabel": string;
764
783
  /**
765
784
  * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
766
785
  * @default true
@@ -775,12 +794,17 @@ export namespace Components {
775
794
  * @default false
776
795
  */
777
796
  "rounded": boolean;
778
- "setFocus": () => Promise<void>;
797
+ "setFocus": (segment?: "primary" | "menu") => Promise<void>;
779
798
  /**
780
799
  * Control density (height, padding, icon, type).
781
800
  * @default 'md'
782
801
  */
783
802
  "size": ButtonUnfilledSize;
803
+ /**
804
+ * Append a separate ChevronDown menu segment while preserving this button's variant, size, surface, active, loading, border, and width treatment.
805
+ * @default false
806
+ */
807
+ "split": boolean;
784
808
  /**
785
809
  * Native button type.
786
810
  * @default 'button'
@@ -2249,6 +2273,11 @@ export namespace Components {
2249
2273
  "value": string;
2250
2274
  }
2251
2275
  interface DsPanelTools {
2276
+ /**
2277
+ * Desktop/tablet-only application-owned rail boundaries and direct intents. Set via JS property and replace the array reference to update.
2278
+ * @default []
2279
+ */
2280
+ "accessories": PanelToolsRailAccessory[];
2252
2281
  /**
2253
2282
  * Toggle any rail tool open/closed — shell shortcuts K/A/S/M/N call this.
2254
2283
  */
@@ -2699,6 +2728,11 @@ export namespace Components {
2699
2728
  "scrollCompaction": boolean;
2700
2729
  }
2701
2730
  interface DsShellTools {
2731
+ /**
2732
+ * Desktop/tablet rail accessories. Intentionally omitted from the mobile tool stage.
2733
+ * @default []
2734
+ */
2735
+ "accessories": PanelToolsRailAccessory[];
2702
2736
  /**
2703
2737
  * Match PanelTools' imperative activation contract in every responsive mode.
2704
2738
  */
@@ -4156,6 +4190,7 @@ declare global {
4156
4190
  };
4157
4191
  interface HTMLDsButtonFilledElementEventMap {
4158
4192
  "dsClick": MouseEvent;
4193
+ "dsMenuClick": MouseEvent;
4159
4194
  }
4160
4195
  interface HTMLDsButtonFilledElement extends Components.DsButtonFilled, HTMLStencilElement {
4161
4196
  addEventListener<K extends keyof HTMLDsButtonFilledElementEventMap>(type: K, listener: (this: HTMLDsButtonFilledElement, ev: DsButtonFilledCustomEvent<HTMLDsButtonFilledElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -4173,6 +4208,7 @@ declare global {
4173
4208
  };
4174
4209
  interface HTMLDsButtonUnfilledElementEventMap {
4175
4210
  "dsClick": MouseEvent;
4211
+ "dsMenuClick": MouseEvent;
4176
4212
  "dsChange": boolean;
4177
4213
  }
4178
4214
  interface HTMLDsButtonUnfilledElement extends Components.DsButtonUnfilled, HTMLStencilElement {
@@ -4721,6 +4757,7 @@ declare global {
4721
4757
  tool: PanelToolsToolId;
4722
4758
  };
4723
4759
  "dsHeaderAction": PanelToolsHeaderActionDetail;
4760
+ "dsRailAccessoryAction": PanelToolsRailAccessoryActionDetail;
4724
4761
  "dsChromeTransitionStart": ChromeTransitionDetail;
4725
4762
  "dsChromeTransitionEnd": ChromeTransitionDetail;
4726
4763
  }
@@ -4812,6 +4849,7 @@ declare global {
4812
4849
  "dsToolChange": { id: PanelToolsToolId; selected: boolean };
4813
4850
  "dsHeaderBack": { tool: PanelToolsToolId };
4814
4851
  "dsHeaderAction": { tool: PanelToolsToolId; id: string };
4852
+ "dsRailAccessoryAction": PanelToolsRailAccessoryActionDetail;
4815
4853
  "dsPresentationChange": { presentation: 'drawer' | 'fullscreen' };
4816
4854
  "dsBrowseContextChange": NavChromeStyle;
4817
4855
  "dsNavFooterAction": void;
@@ -4852,6 +4890,7 @@ declare global {
4852
4890
  tool: PanelToolsToolId;
4853
4891
  id: string;
4854
4892
  };
4893
+ "dsRailAccessoryAction": PanelToolsRailAccessoryActionDetail;
4855
4894
  }
4856
4895
  interface HTMLDsShellToolsElement extends Components.DsShellTools, HTMLStencilElement {
4857
4896
  addEventListener<K extends keyof HTMLDsShellToolsElementEventMap>(type: K, listener: (this: HTMLDsShellToolsElement, ev: DsShellToolsCustomEvent<HTMLDsShellToolsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -5530,6 +5569,10 @@ declare namespace LocalJSX {
5530
5569
  "value"?: string;
5531
5570
  }
5532
5571
  interface DsBarTitle {
5572
+ /**
5573
+ * Ordered page-header actions. When supplied, this replaces the legacy primaryAction/actions presentation while preserving the same dsAction event.
5574
+ */
5575
+ "actionItems"?: BarTitleActionConfigItem[];
5533
5576
  /**
5534
5577
  * Secondary page actions shown in the overflow menu. Dividers create groups.
5535
5578
  * @default []
@@ -5786,7 +5829,13 @@ declare namespace LocalJSX {
5786
5829
  * @default true
5787
5830
  */
5788
5831
  "labelEmphasis"?: boolean;
5832
+ /**
5833
+ * Accessible name for the appended menu segment in split mode.
5834
+ * @default 'More options'
5835
+ */
5836
+ "menuAriaLabel"?: string;
5789
5837
  "onDsClick"?: (event: DsButtonFilledCustomEvent<MouseEvent>) => void;
5838
+ "onDsMenuClick"?: (event: DsButtonFilledCustomEvent<MouseEvent>) => void;
5790
5839
  /**
5791
5840
  * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
5792
5841
  * @default true
@@ -5802,6 +5851,11 @@ declare namespace LocalJSX {
5802
5851
  * @default 'md'
5803
5852
  */
5804
5853
  "size"?: ButtonFilledSize;
5854
+ /**
5855
+ * Append a separate ChevronDown menu segment while preserving this button's variant, size, intent, contrast, loading, inactive, and width treatment.
5856
+ * @default false
5857
+ */
5858
+ "split"?: boolean;
5805
5859
  /**
5806
5860
  * Native button type.
5807
5861
  * @default 'button'
@@ -5903,8 +5957,14 @@ declare namespace LocalJSX {
5903
5957
  * @default true
5904
5958
  */
5905
5959
  "labelEmphasis"?: boolean;
5960
+ /**
5961
+ * Accessible name for the appended menu segment in split mode.
5962
+ * @default 'More options'
5963
+ */
5964
+ "menuAriaLabel"?: string;
5906
5965
  "onDsChange"?: (event: DsButtonUnfilledCustomEvent<boolean>) => void;
5907
5966
  "onDsClick"?: (event: DsButtonUnfilledCustomEvent<MouseEvent>) => void;
5967
+ "onDsMenuClick"?: (event: DsButtonUnfilledCustomEvent<MouseEvent>) => void;
5908
5968
  /**
5909
5969
  * Scale down during a physical pointer press. Disable when an owning composite requires fixed child or background geometry.
5910
5970
  * @default true
@@ -5924,6 +5984,11 @@ declare namespace LocalJSX {
5924
5984
  * @default 'md'
5925
5985
  */
5926
5986
  "size"?: ButtonUnfilledSize;
5987
+ /**
5988
+ * Append a separate ChevronDown menu segment while preserving this button's variant, size, surface, active, loading, border, and width treatment.
5989
+ * @default false
5990
+ */
5991
+ "split"?: boolean;
5927
5992
  /**
5928
5993
  * Native button type.
5929
5994
  * @default 'button'
@@ -7527,6 +7592,11 @@ declare namespace LocalJSX {
7527
7592
  "value"?: string;
7528
7593
  }
7529
7594
  interface DsPanelTools {
7595
+ /**
7596
+ * Desktop/tablet-only application-owned rail boundaries and direct intents. Set via JS property and replace the array reference to update.
7597
+ * @default []
7598
+ */
7599
+ "accessories"?: PanelToolsRailAccessory[];
7530
7600
  /**
7531
7601
  * Active tool view — `search`, `agents`, `messages`, `stacks`, `activity`, or `help`.
7532
7602
  * @default ''
@@ -7568,6 +7638,10 @@ declare namespace LocalJSX {
7568
7638
  "onDsPresentationChange"?: (event: DsPanelToolsCustomEvent<{
7569
7639
  presentation: 'drawer' | 'fullscreen';
7570
7640
  }>) => void;
7641
+ /**
7642
+ * Direct accessory intent. Emitting this event never changes the active tool or drawer.
7643
+ */
7644
+ "onDsRailAccessoryAction"?: (event: DsPanelToolsCustomEvent<PanelToolsRailAccessoryActionDetail>) => void;
7571
7645
  /**
7572
7646
  * Emitted when a rail button is toggled. Detail = { id, selected }.
7573
7647
  */
@@ -7969,6 +8043,10 @@ declare namespace LocalJSX {
7969
8043
  * Managed drawer/fullscreen presentation state.
7970
8044
  */
7971
8045
  "onDsPresentationChange"?: (event: DsShellAppCustomEvent<{ presentation: 'drawer' | 'fullscreen' }>) => void;
8046
+ /**
8047
+ * Managed desktop/tablet rail accessory intent.
8048
+ */
8049
+ "onDsRailAccessoryAction"?: (event: DsShellAppCustomEvent<PanelToolsRailAccessoryActionDetail>) => void;
7972
8050
  /**
7973
8051
  * Emitted after crossing the fixed 768px or 1200px shell boundaries.
7974
8052
  */
@@ -8060,6 +8138,11 @@ declare namespace LocalJSX {
8060
8138
  "scrollCompaction"?: boolean;
8061
8139
  }
8062
8140
  interface DsShellTools {
8141
+ /**
8142
+ * Desktop/tablet rail accessories. Intentionally omitted from the mobile tool stage.
8143
+ * @default []
8144
+ */
8145
+ "accessories"?: PanelToolsRailAccessory[];
8063
8146
  /**
8064
8147
  * @default ''
8065
8148
  */
@@ -8094,6 +8177,7 @@ declare namespace LocalJSX {
8094
8177
  "onDsPresentationChange"?: (event: DsShellToolsCustomEvent<{
8095
8178
  presentation: 'drawer' | 'fullscreen';
8096
8179
  }>) => void;
8180
+ "onDsRailAccessoryAction"?: (event: DsShellToolsCustomEvent<PanelToolsRailAccessoryActionDetail>) => void;
8097
8181
  "onDsToolChange"?: (event: DsShellToolsCustomEvent<{
8098
8182
  id: PanelToolsToolId;
8099
8183
  selected: boolean;
@@ -9323,6 +9407,8 @@ declare namespace LocalJSX {
9323
9407
  "controls": string | undefined;
9324
9408
  "expanded": boolean | undefined;
9325
9409
  "haspopup": ButtonFilledPopup | undefined;
9410
+ "split": boolean;
9411
+ "menuAriaLabel": string;
9326
9412
  "hasMenu": boolean;
9327
9413
  }
9328
9414
  interface DsButtonUnfilledAttributes {
@@ -9348,6 +9434,8 @@ declare namespace LocalJSX {
9348
9434
  "controls": string | undefined;
9349
9435
  "expanded": boolean | undefined;
9350
9436
  "haspopup": ButtonUnfilledPopup | undefined;
9437
+ "split": boolean;
9438
+ "menuAriaLabel": string;
9351
9439
  "pressed": boolean | undefined;
9352
9440
  "collapseLabel": boolean;
9353
9441
  "hasMenu": boolean;
@@ -1,9 +1,10 @@
1
1
  export type { NavChromeStyle } from './nav-chrome';
2
2
  export type { PanelNavChildItem, PanelNavChildSelectDetail, PanelNavGroup, PanelNavItem, PanelNavPresentation, } from '../components/PanelNav/panel-nav-types';
3
3
  export type { BarNavTab } from '../components/BarNav/bar-nav-types';
4
+ export type { BarTitleAction, BarTitleActionAppearance, BarTitleActionCollapse, BarTitleActionConfigItem, BarTitleActionItem, BarTitleActionMobile, BarTitleButtonAction, BarTitleDivider, BarTitleIconAction, BarTitleMenuAction, BarTitleMenuChoice, BarTitleMenuChoiceItem, BarTitleOverflowAction, BarTitlePrimaryAction, BarTitleSplitAction, } from '../components/BarTitle/bar-title-types';
4
5
  export type { ShellPageContentInset, ShellPageContentSurface, ShellPageDesktopHeaderPlacement, } from '../components/ShellPage/shell-page-types';
5
6
  export type { ShellAppComposition, ShellNavigationConfig, ShellNavigationSelectDetail, ShellPageChromeConfig, ShellSectionNavigation, ShellToolsConfig, } from '../components/ShellApp/shell-app-types';
6
- export type { PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolHeaderActionDetail, PanelToolsHeaderConfig, PanelToolsHeaders, PanelToolsItem, PanelToolsToolId, } from '../components/PanelTools/panel-tools-types';
7
+ export type { PanelToolsHeaderAction, PanelToolsHeaderActionDetail, PanelToolHeaderActionDetail, PanelToolsHeaderConfig, PanelToolsHeaders, PanelToolsItem, PanelToolsRailAccessory, PanelToolsRailAccessoryAction, PanelToolsRailAccessoryActionDetail, PanelToolsRailAccessorySecondaryAction, PanelToolsRailAccessoryVisual, PanelToolsRailDividerAccessory, PanelToolsRailPlacement, PanelToolsRailShortcutAccessory, PanelToolsRailTransientAccessory, PanelToolsRailTransientTone, PanelToolsToolId, } from '../components/PanelTools/panel-tools-types';
7
8
  export { PANEL_TOOLS_DEFAULT_ITEMS } from '../components/PanelTools/panel-tools-types';
8
9
  export { NAV_STYLE_HINT_ATTR, readNavStyleAttr, setNavStyleHint, clearNavStyleHint, } from './nav-chrome';
9
10
  export type { MenuPlacement } from '../components/Menu/menu-placement';
@@ -6,4 +6,6 @@ export declare const BUTTON_STORY_COLUMN = "display:flex;flex-direction:column;g
6
6
  export declare const BUTTON_STORY_SURFACE = "display:flex;gap:var(--dimension-space-100);align-items:center;padding:var(--dimension-space-150);border-radius:var(--dimension-radius-100);";
7
7
  /** Shared Storybook wiring for the two semantic menu-button components. */
8
8
  export declare function wireButtonStoryMenuTriggers(root: Element | undefined): void;
9
+ /** Shared Storybook wiring for native split mode on either button family. */
10
+ export declare function wireButtonStorySplitTriggers(root: Element | undefined): void;
9
11
  //# sourceMappingURL=button-story-foundation.d.ts.map
@@ -16,6 +16,7 @@ export const DsBarTitle = /*@__PURE__*/ defineContainer('ds-bar-title', defineDs
16
16
  'sectionsAriaLabel',
17
17
  'primaryAction',
18
18
  'actions',
19
+ 'actionItems',
19
20
  'actionsAriaLabel',
20
21
  'variant',
21
22
  'placement',
@@ -25,8 +25,12 @@ export const DsButtonFilled = /*@__PURE__*/ defineContainer('ds-button-filled',
25
25
  'controls',
26
26
  'expanded',
27
27
  'haspopup',
28
+ 'split',
29
+ 'menuAriaLabel',
28
30
  'hasMenu',
29
- 'dsClick'
31
+ 'dsClick',
32
+ 'dsMenuClick'
30
33
  ], [
31
- 'dsClick'
34
+ 'dsClick',
35
+ 'dsMenuClick'
32
36
  ]);
@@ -26,13 +26,17 @@ export const DsButtonUnfilled = /*@__PURE__*/ defineContainer('ds-button-unfille
26
26
  'controls',
27
27
  'expanded',
28
28
  'haspopup',
29
+ 'split',
30
+ 'menuAriaLabel',
29
31
  'pressed',
30
32
  'collapseLabel',
31
33
  'hasMenu',
32
34
  'focusTabIndex',
33
35
  'dsClick',
36
+ 'dsMenuClick',
34
37
  'dsChange'
35
38
  ], [
36
39
  'dsClick',
40
+ 'dsMenuClick',
37
41
  'dsChange'
38
42
  ]);
@@ -9,6 +9,7 @@ export const DsPanelTools = /*@__PURE__*/ defineContainer('ds-panel-tools', defi
9
9
  'fullscreenHeaderMode',
10
10
  'activeTool',
11
11
  'items',
12
+ 'accessories',
12
13
  'toolsLabel',
13
14
  'toolShortcutsLabel',
14
15
  'headers',
@@ -17,6 +18,7 @@ export const DsPanelTools = /*@__PURE__*/ defineContainer('ds-panel-tools', defi
17
18
  'dsPresentationChange',
18
19
  'dsHeaderBack',
19
20
  'dsHeaderAction',
21
+ 'dsRailAccessoryAction',
20
22
  'dsChromeTransitionStart',
21
23
  'dsChromeTransitionEnd'
22
24
  ], [
@@ -24,6 +26,7 @@ export const DsPanelTools = /*@__PURE__*/ defineContainer('ds-panel-tools', defi
24
26
  'dsPresentationChange',
25
27
  'dsHeaderBack',
26
28
  'dsHeaderAction',
29
+ 'dsRailAccessoryAction',
27
30
  'dsChromeTransitionStart',
28
31
  'dsChromeTransitionEnd'
29
32
  ]);
@@ -26,6 +26,7 @@ export const DsShellApp = /*@__PURE__*/ defineContainer('ds-shell-app', defineDs
26
26
  'dsToolChange',
27
27
  'dsHeaderBack',
28
28
  'dsHeaderAction',
29
+ 'dsRailAccessoryAction',
29
30
  'dsPresentationChange',
30
31
  'dsBrowseContextChange',
31
32
  'dsNavFooterAction',
@@ -42,6 +43,7 @@ export const DsShellApp = /*@__PURE__*/ defineContainer('ds-shell-app', defineDs
42
43
  'dsToolChange',
43
44
  'dsHeaderBack',
44
45
  'dsHeaderAction',
46
+ 'dsRailAccessoryAction',
45
47
  'dsPresentationChange',
46
48
  'dsBrowseContextChange',
47
49
  'dsNavFooterAction',