@ds-mo/ui 14.0.1 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +59 -12
  4. package/dist/angular/ds-mobile-sheet-nav.d.ts +1 -1
  5. package/dist/angular/ds-mobile-sheet-nav.js +3 -3
  6. package/dist/angular/ds-tab-group.d.ts +1 -1
  7. package/dist/angular/ds-tab-group.js +3 -3
  8. package/dist/angular/ds-table.d.ts +4 -1
  9. package/dist/angular/ds-table.js +7 -4
  10. package/dist/components/ds-agent-questionnaire.js +1 -1
  11. package/dist/components/ds-agent-response.js +1 -1
  12. package/dist/components/ds-banner.js +1 -1
  13. package/dist/components/ds-bar-nav.js +1 -1
  14. package/dist/components/ds-bar-title.js +1 -1
  15. package/dist/components/ds-bar-workflow.js +1 -1
  16. package/dist/components/ds-button-filled.js +1 -1
  17. package/dist/components/ds-button-unfilled.js +1 -1
  18. package/dist/components/ds-card-chart.js +1 -1
  19. package/dist/components/ds-card-overview.js +1 -1
  20. package/dist/components/ds-card-overview.js.map +1 -1
  21. package/dist/components/ds-card-setting.js +1 -1
  22. package/dist/components/ds-chart-legend.js +1 -1
  23. package/dist/components/ds-chart-legend.js.map +1 -1
  24. package/dist/components/ds-checkbox.js +1 -1
  25. package/dist/components/ds-chip.js +1 -1
  26. package/dist/components/ds-chip.js.map +1 -1
  27. package/dist/components/ds-code-block.js +1 -1
  28. package/dist/components/ds-conversation-list-item.js +1 -1
  29. package/dist/components/ds-conversation-list-item.js.map +1 -1
  30. package/dist/components/ds-filter-menu.js +1 -1
  31. package/dist/components/ds-filter-menu.js.map +1 -1
  32. package/dist/components/ds-input.js +1 -1
  33. package/dist/components/ds-input.js.map +1 -1
  34. package/dist/components/ds-markdown.js +1 -1
  35. package/dist/components/ds-menu.js +1 -1
  36. package/dist/components/ds-message-actions.js +1 -1
  37. package/dist/components/ds-message-composer.js +1 -1
  38. package/dist/components/ds-message-scroller.js +1 -1
  39. package/dist/components/ds-mobile-bar-nav.js +1 -1
  40. package/dist/components/ds-mobile-header.js +1 -1
  41. package/dist/components/ds-mobile-section-switcher.js +1 -1
  42. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  43. package/dist/components/ds-modal.js +1 -1
  44. package/dist/components/ds-panel-nav.js +1 -1
  45. package/dist/components/ds-panel-sub-nav.js +1 -1
  46. package/dist/components/ds-panel-sub-nav.js.map +1 -1
  47. package/dist/components/ds-panel-tool-header.js +1 -1
  48. package/dist/components/ds-panel-tool-search.js +1 -1
  49. package/dist/components/ds-panel-tools.js +1 -1
  50. package/dist/components/ds-radio.js +1 -1
  51. package/dist/components/ds-select.js +1 -1
  52. package/dist/components/ds-select.js.map +1 -1
  53. package/dist/components/ds-shell-app.js +1 -1
  54. package/dist/components/ds-shell-app.js.map +1 -1
  55. package/dist/components/ds-shell-page.js +1 -1
  56. package/dist/components/ds-shell-tools.js +1 -1
  57. package/dist/components/ds-tab-group.js +1 -1
  58. package/dist/components/ds-table.js +1 -1
  59. package/dist/components/ds-table.js.map +1 -1
  60. package/dist/components/ds-tag.js +1 -1
  61. package/dist/components/ds-toast.js +1 -1
  62. package/dist/components/p-1tOy4H51.js +2 -0
  63. package/dist/components/{p-DatlGTJp.js.map → p-1tOy4H51.js.map} +1 -1
  64. package/dist/components/{p-DXgSSxyB.js → p-BMJcBo8B.js} +2 -2
  65. package/dist/components/p-BMJcBo8B.js.map +1 -0
  66. package/dist/components/{p-nMkoXLC0.js → p-BiOfbCke.js} +2 -2
  67. package/dist/components/{p-1KtrhAC7.js → p-BnPcWBA8.js} +2 -2
  68. package/dist/components/p-C-GNvCk0.js +2 -0
  69. package/dist/components/p-C-GNvCk0.js.map +1 -0
  70. package/dist/components/{p-D0i_J2rj.js → p-CRjpqqAI.js} +2 -2
  71. package/dist/components/{p-D0i_J2rj.js.map → p-CRjpqqAI.js.map} +1 -1
  72. package/dist/components/p-CTTDiW33.js +2 -0
  73. package/dist/components/{p--z-DWRkg.js.map → p-CTTDiW33.js.map} +1 -1
  74. package/dist/components/{p-BKsWDUnX.js → p-CTVMXN9s.js} +2 -2
  75. package/dist/components/p-CbfmzgdW.js +2 -0
  76. package/dist/components/p-CbfmzgdW.js.map +1 -0
  77. package/dist/components/{p-CQS5aWiC.js → p-ChlRsQYY.js} +2 -2
  78. package/dist/components/{p-BaiGt_o6.js → p-DD5OCVXx.js} +2 -2
  79. package/dist/components/{p-BaiGt_o6.js.map → p-DD5OCVXx.js.map} +1 -1
  80. package/dist/components/p-DJ_FsLCc.js +2 -0
  81. package/dist/components/{p-DofS_hVZ.js.map → p-DJ_FsLCc.js.map} +1 -1
  82. package/dist/components/{p-DXHq_AfZ.js → p-DT4WdAup.js} +2 -2
  83. package/dist/components/{p-DYoCb_sj.js → p-DYzjeIAT.js} +2 -2
  84. package/dist/components/{p-DYoCb_sj.js.map → p-DYzjeIAT.js.map} +1 -1
  85. package/dist/components/p-DmZupC1-.js +2 -0
  86. package/dist/components/p-DmZupC1-.js.map +1 -0
  87. package/dist/components/p-DmwMiaWL.js +2 -0
  88. package/dist/components/{p-vT4pgp8o.js.map → p-DmwMiaWL.js.map} +1 -1
  89. package/dist/components/p-Dr4AgJbV.js +2 -0
  90. package/dist/components/{p-DAW6G8Sl.js.map → p-Dr4AgJbV.js.map} +1 -1
  91. package/dist/components/p-DuFm-ieS.js +2 -0
  92. package/dist/components/p-DuFm-ieS.js.map +1 -0
  93. package/dist/components/p-DvJkkdIO.js +2 -0
  94. package/dist/components/{p-DY_sA9Jz.js.map → p-DvJkkdIO.js.map} +1 -1
  95. package/dist/components/p-NTU5jrG_.js +2 -0
  96. package/dist/components/{p-ZtJM0cZm.js.map → p-NTU5jrG_.js.map} +1 -1
  97. package/dist/components/p-NdahPypA.js.map +1 -1
  98. package/dist/components/{p-S9IjLCGj.js → p-c9QiNOc7.js} +2 -2
  99. package/dist/components/{p-CIhETsHv.js → p-eKARJmWs.js} +2 -2
  100. package/dist/components/p-jMCRaxQW.js +2 -0
  101. package/dist/components/{p-CUeuemsF.js.map → p-jMCRaxQW.js.map} +1 -1
  102. package/dist/docs/components.json +312 -9
  103. package/dist/lib/components/ShellApp/shell-app-types.d.ts +2 -0
  104. package/dist/mcp-data/registry/card-overview.json +1 -1
  105. package/dist/mcp-data/registry/mobile-header.json +4 -3
  106. package/dist/mcp-data/registry/mobile-sheet-nav.json +43 -4
  107. package/dist/mcp-data/registry/registry.json +58 -11
  108. package/dist/mcp-data/registry/shell-app.json +5 -3
  109. package/dist/mcp-data/registry/shell-page.json +2 -2
  110. package/dist/mcp-data/registry/tab-group.json +23 -4
  111. package/dist/mcp-data/registry/table.json +135 -10
  112. package/dist/react/ds-table.d.ts +2 -1
  113. package/dist/react/ds-table.js +1 -0
  114. package/dist/styles/table.css +1 -5
  115. package/dist/types/components/MobileSheetNav/MobileSheetNav.d.ts +4 -0
  116. package/dist/types/components/ShellApp/ShellApp.d.ts +1 -0
  117. package/dist/types/components/ShellApp/shell-app-types.d.ts +2 -0
  118. package/dist/types/components/ShellPage/ShellPage.d.ts +3 -0
  119. package/dist/types/components/TabGroup/TabGroup.d.ts +4 -0
  120. package/dist/types/components/Table/Table.d.ts +17 -1
  121. package/dist/types/components/Table/index.d.ts +1 -1
  122. package/dist/types/components/Table/table-group-load-controller.d.ts +40 -0
  123. package/dist/types/components/Table/table-types.d.ts +11 -0
  124. package/dist/types/components.d.ts +105 -6
  125. package/package.json +2 -2
  126. package/dist/components/p--z-DWRkg.js +0 -2
  127. package/dist/components/p-CElfUmMp.js +0 -2
  128. package/dist/components/p-CElfUmMp.js.map +0 -1
  129. package/dist/components/p-CUeuemsF.js +0 -2
  130. package/dist/components/p-Cae9PFPE.js +0 -2
  131. package/dist/components/p-Cae9PFPE.js.map +0 -1
  132. package/dist/components/p-Cih1XCy3.js +0 -2
  133. package/dist/components/p-Cih1XCy3.js.map +0 -1
  134. package/dist/components/p-DAW6G8Sl.js +0 -2
  135. package/dist/components/p-DXgSSxyB.js.map +0 -1
  136. package/dist/components/p-DY_sA9Jz.js +0 -2
  137. package/dist/components/p-DatlGTJp.js +0 -2
  138. package/dist/components/p-DofS_hVZ.js +0 -2
  139. package/dist/components/p-ZtJM0cZm.js +0 -2
  140. package/dist/components/p-vT4pgp8o.js +0 -2
  141. /package/dist/components/{p-nMkoXLC0.js.map → p-BiOfbCke.js.map} +0 -0
  142. /package/dist/components/{p-1KtrhAC7.js.map → p-BnPcWBA8.js.map} +0 -0
  143. /package/dist/components/{p-BKsWDUnX.js.map → p-CTVMXN9s.js.map} +0 -0
  144. /package/dist/components/{p-CQS5aWiC.js.map → p-ChlRsQYY.js.map} +0 -0
  145. /package/dist/components/{p-DXHq_AfZ.js.map → p-DT4WdAup.js.map} +0 -0
  146. /package/dist/components/{p-S9IjLCGj.js.map → p-c9QiNOc7.js.map} +0 -0
  147. /package/dist/components/{p-CIhETsHv.js.map → p-eKARJmWs.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
6
+ import { type DsTableCustomEvent, type TableCellActionDetail, type TableGroupCollapseChangeDetail, type TableGroupLoadMoreDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
9
9
  export type DsTableEvents = {
@@ -11,6 +11,7 @@ export type DsTableEvents = {
11
11
  onDsGroupCollapseChange: EventName<DsTableCustomEvent<TableGroupCollapseChangeDetail>>;
12
12
  onDsSelectionChange: EventName<DsTableCustomEvent<TableSelectionChangeDetail>>;
13
13
  onDsLoadMore: EventName<DsTableCustomEvent<TableLoadMoreDetail>>;
14
+ onDsGroupLoadMore: EventName<DsTableCustomEvent<TableGroupLoadMoreDetail>>;
14
15
  onDsCellAction: EventName<DsTableCustomEvent<TableCellActionDetail>>;
15
16
  onDsRowActivate: EventName<DsTableCustomEvent<TableRowActivateDetail>>;
16
17
  };
@@ -12,6 +12,7 @@ export const DsTable = /*@__PURE__*/ createComponent({
12
12
  onDsGroupCollapseChange: 'dsGroupCollapseChange',
13
13
  onDsSelectionChange: 'dsSelectionChange',
14
14
  onDsLoadMore: 'dsLoadMore',
15
+ onDsGroupLoadMore: 'dsGroupLoadMore',
15
16
  onDsCellAction: 'dsCellAction',
16
17
  onDsRowActivate: 'dsRowActivate'
17
18
  },
@@ -1172,10 +1172,6 @@
1172
1172
  pointer-events: none;
1173
1173
  }
1174
1174
 
1175
- :where(.ds-table__group:last-child[data-collapsed='true'] .ds-table__group-content)::after {
1176
- display: none;
1177
- }
1178
-
1179
1175
  :where(.ds-table__table--selectable .ds-table__group-content),
1180
1176
  :where(.ds-table__sticky-group--selectable .ds-table__group-content) {
1181
1177
  /* Selection lane is the real 40px column — don't add start pad or flex gap. */
@@ -1290,7 +1286,7 @@
1290
1286
  }
1291
1287
 
1292
1288
  :where(.ds-table__skeleton-row:last-child .ds-table__cell),
1293
- :where(.ds-table__load-row:last-child .ds-table__load-cell),
1289
+ :where(.ds-table__load-body .ds-table__load-row:last-child .ds-table__load-cell),
1294
1290
  :where(.ds-table__state-row:last-child .ds-table__state-cell),
1295
1291
  :where(.ds-table__body:last-child .ds-table__row:last-child .ds-table__cell) {
1296
1292
  border-block-end: 0;
@@ -8,11 +8,15 @@ export declare class MobileSheetNav {
8
8
  dashboardGroups: PanelNavGroup[];
9
9
  settingsGroups: PanelNavGroup[];
10
10
  currentUrl: string;
11
+ /** Whether the router-derived current area owns the active mobile stage. */
12
+ routeSelectionActive: boolean;
11
13
  navigationLabel: string;
12
14
  dashboardLabel: string;
13
15
  settingsLabel: string;
14
16
  accountLabel: string;
15
17
  helpLabel: string;
18
+ /** Show the optional Account shortcut in the sheet header. */
19
+ showAccount: boolean;
16
20
  dsAreaSelect: EventEmitter<string>;
17
21
  dsBrowseContextChange: EventEmitter<NavChromeStyle>;
18
22
  dsClose: EventEmitter<void>;
@@ -150,6 +150,7 @@ export declare class ShellApp {
150
150
  private handleManagedHeaderBack;
151
151
  private handleManagedHeaderAction;
152
152
  private handleManagedSheetToggle;
153
+ private activateManagedMobileTool;
153
154
  private handleManagedMobileDestination;
154
155
  private handleManagedAreaSelect;
155
156
  private handleManagedBrowseContext;
@@ -34,6 +34,8 @@ export interface ShellNavigationConfig {
34
34
  dashboardLabel?: string;
35
35
  settingsLabel?: string;
36
36
  accountLabel?: string;
37
+ /** Hide the mobile-sheet Account shortcut when Settings already owns that destination. */
38
+ showMobileAccount?: boolean;
37
39
  navigationLabel?: string;
38
40
  dashboardNavigationLabel?: string;
39
41
  settingsNavigationLabel?: string;
@@ -30,6 +30,7 @@ export declare class ShellPage {
30
30
  private expandedHeaderHeight;
31
31
  private headerTravel;
32
32
  private expandedGeometryFrozen;
33
+ private pageHeaderResizeObserver;
33
34
  private headerResizeObserver;
34
35
  private headerMutationObserver;
35
36
  private headerRevealFrame;
@@ -62,6 +63,8 @@ export declare class ShellPage {
62
63
  private setSpacerHeight;
63
64
  private variantClass;
64
65
  private setStickyHeaderOffset;
66
+ private syncPageHeaderBlockSize;
67
+ private observePageHeaderGeometry;
65
68
  private syncRenderedHeaderGeometry;
66
69
  private cancelHeaderGeometrySync;
67
70
  private scheduleHeaderGeometrySync;
@@ -1,13 +1,17 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { type ControlWidth } from '../../utils';
2
3
  import { type TabGroupItem } from './tab-item-utils';
3
4
  export type TabBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'translucent' | 'inverted' | 'media' | 'always-dark';
4
5
  export type TabGroupSize = 'sm' | 'md' | 'lg';
6
+ export type TabGroupWidth = ControlWidth;
5
7
  export declare class TabGroup {
6
8
  el: HTMLElement;
7
9
  value: string;
8
10
  tabs: TabGroupItem[];
9
11
  /** Control density: 24px small, 32px medium, or 40px large track. */
10
12
  size: TabGroupSize;
13
+ /** Width fit — hug content (default) or fill the parent with equal-width segments. */
14
+ width: TabGroupWidth;
11
15
  background: TabBackground | undefined;
12
16
  ariaLabel: string | null;
13
17
  ariaLabelledby: string | undefined;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
2
+ import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
3
3
  export declare class Table {
4
4
  el: HTMLElement;
5
5
  /** Stable column definitions. Assign through JavaScript. */
@@ -68,10 +68,22 @@ export declare class Table {
68
68
  endOfResultsLabel: string;
69
69
  /** Supports {count} and {total} placeholders. */
70
70
  rowsLoadedLabel: string;
71
+ groupLoadMoreLabel: string;
72
+ /** Supports the {group} placeholder. */
73
+ groupLoadMoreAriaLabel: string;
74
+ /** Supports the {group} placeholder. */
75
+ groupRetryLabel: string;
76
+ /** Supports the {group} placeholder. */
77
+ groupLoadingMoreLabel: string;
78
+ /** Supports the {group} placeholder. */
79
+ groupEndOfResultsLabel: string;
80
+ /** Supports {group}, {count}, {loaded}, and {total} placeholders. */
81
+ groupRowsLoadedLabel: string;
71
82
  dsSortChange: EventEmitter<TableSortChangeDetail>;
72
83
  dsGroupCollapseChange: EventEmitter<TableGroupCollapseChangeDetail>;
73
84
  dsSelectionChange: EventEmitter<TableSelectionChangeDetail>;
74
85
  dsLoadMore: EventEmitter<TableLoadMoreDetail>;
86
+ dsGroupLoadMore: EventEmitter<TableGroupLoadMoreDetail>;
75
87
  dsCellAction: EventEmitter<TableCellActionDetail>;
76
88
  dsRowActivate: EventEmitter<TableRowActivateDetail>;
77
89
  private overflowStart;
@@ -89,6 +101,7 @@ export declare class Table {
89
101
  private stickyHeaderTableEl;
90
102
  private tableEl;
91
103
  private sentinelEl;
104
+ private readonly groupSentinelEls;
92
105
  private previousModelWarning;
93
106
  private hasLoaded;
94
107
  private renderedModel;
@@ -96,6 +109,7 @@ export declare class Table {
96
109
  private headerSlotObserver;
97
110
  private readonly layoutController;
98
111
  private readonly loadController;
112
+ private readonly groupLoadController;
99
113
  private readonly viewportFitController;
100
114
  componentWillLoad(): void;
101
115
  componentDidLoad(): void;
@@ -147,6 +161,8 @@ export declare class Table {
147
161
  private emitGroupCollapse;
148
162
  private emitAllGroupsCollapse;
149
163
  private renderGroupContent;
164
+ private formatGroupLoadLabel;
165
+ private renderGroupLoadRow;
150
166
  private renderStickyGroup;
151
167
  private renderDataBodies;
152
168
  private renderSkeletonBody;
@@ -1,2 +1,2 @@
1
- export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
1
+ export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,40 @@
1
+ import type { TableGroup, TableGroupLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason } from './table-types';
2
+ export interface TableGroupLoadControllerState {
3
+ enabled: boolean;
4
+ loadMoreMode: TableLoadMoreMode;
5
+ loadMoreThreshold: number;
6
+ containedScroll: boolean;
7
+ groups: TableGroup[];
8
+ viewport: HTMLElement | null;
9
+ sentinels: ReadonlyMap<string, HTMLElement>;
10
+ loadingMoreLabel: string;
11
+ endOfResultsLabel: string;
12
+ rowsLoadedLabel: string;
13
+ }
14
+ export interface TableGroupLoadControllerOptions {
15
+ state: () => TableGroupLoadControllerState;
16
+ announce: (message: string) => void;
17
+ request: (detail: TableGroupLoadMoreDetail) => void;
18
+ }
19
+ /** Owns request guards, announcements, and observation for independently loaded groups. */
20
+ export declare class TableGroupLoadController {
21
+ private readonly options;
22
+ readonly intersectionSupported: boolean;
23
+ private connected;
24
+ private intersectionObserver;
25
+ private snapshots;
26
+ private pending;
27
+ constructor(options: TableGroupLoadControllerOptions);
28
+ initialize(): void;
29
+ connect(): void;
30
+ disconnect(): void;
31
+ refresh(): void;
32
+ structureChanged(): void;
33
+ dataChanged(): void;
34
+ configurationChanged(): void;
35
+ request(groupId: string, reason: TableLoadMoreReason): void;
36
+ private createSnapshots;
37
+ private snapshot;
38
+ private disconnectObserver;
39
+ }
40
+ //# sourceMappingURL=table-group-load-controller.d.ts.map
@@ -173,6 +173,14 @@ export interface TableGroup {
173
173
  * intent background and bold intent title color.
174
174
  */
175
175
  intent?: TableGroupIntent;
176
+ /** Whether this group has more member rows available to load. */
177
+ hasMore?: boolean;
178
+ /** Controlled incremental loading state for this group's member rows. */
179
+ loadingMore?: boolean;
180
+ /** Controlled incremental loading failure for this group's member rows. */
181
+ loadMoreError?: string;
182
+ /** Reset key for this group's query, sort, or filter state. Defaults to the group ID. */
183
+ loadIdentity?: string | number;
176
184
  rows: TableRow[];
177
185
  }
178
186
  export interface TableSortChangeDetail {
@@ -191,6 +199,9 @@ export interface TableLoadMoreDetail {
191
199
  loadIdentity: string | number;
192
200
  loadedRowCount: number;
193
201
  }
202
+ export interface TableGroupLoadMoreDetail extends TableLoadMoreDetail {
203
+ groupId: string;
204
+ }
194
205
  export interface TableCellActionDetail {
195
206
  actionId: string;
196
207
  rowId: string;
@@ -62,8 +62,8 @@ import { LineTruncation, TextAlign, TextColor, TextDecoration, TextElement, Text
62
62
  import { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from "./components/Slider/Slider";
63
63
  import { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types";
64
64
  import { SwitchSize } from "./components/Switch/Switch";
65
- import { TabBackground, TabGroupSize as TabGroupSize1 } from "./components/TabGroup/TabGroup";
66
- import { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
65
+ import { TabBackground, TabGroupSize as TabGroupSize1, TabGroupWidth } from "./components/TabGroup/TabGroup";
66
+ import { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
67
67
  import { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag";
68
68
  import { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast";
69
69
  import { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip";
@@ -125,8 +125,8 @@ export { LineTruncation, TextAlign, TextColor, TextDecoration, TextElement, Text
125
125
  export { SliderOrientation, SliderSize, SliderThumbAlignment, SliderValue } from "./components/Slider/Slider";
126
126
  export { SwatchPickerOption, SwatchPickerSection } from "./components/SwatchPicker/swatch-picker-types";
127
127
  export { SwitchSize } from "./components/Switch/Switch";
128
- export { TabBackground, TabGroupSize as TabGroupSize1 } from "./components/TabGroup/TabGroup";
129
- export { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
128
+ export { TabBackground, TabGroupSize as TabGroupSize1, TabGroupWidth } from "./components/TabGroup/TabGroup";
129
+ export { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingState, TableGroupLoadMoreDetail, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from "./components/Table/table-types";
130
130
  export { TagContrast, TagIntent, TagSize } from "./components/Tag/Tag";
131
131
  export { ToastActionEventDetail, ToastCloseEventDetail, ToastEventDetail, ToastManager, ToastSwipeDirection } from "./toast";
132
132
  export { TooltipAlign, TooltipSide, TooltipSize } from "./components/Tooltip/Tooltip";
@@ -1762,6 +1762,11 @@ export namespace Components {
1762
1762
  * @default false
1763
1763
  */
1764
1764
  "open": boolean;
1765
+ /**
1766
+ * Whether the router-derived current area owns the active mobile stage.
1767
+ * @default true
1768
+ */
1769
+ "routeSelectionActive": boolean;
1765
1770
  /**
1766
1771
  * @default []
1767
1772
  */
@@ -1770,6 +1775,11 @@ export namespace Components {
1770
1775
  * @default 'Settings'
1771
1776
  */
1772
1777
  "settingsLabel": string;
1778
+ /**
1779
+ * Show the optional Account shortcut in the sheet header.
1780
+ * @default true
1781
+ */
1782
+ "showAccount": boolean;
1773
1783
  }
1774
1784
  interface DsModal {
1775
1785
  /**
@@ -2751,6 +2761,11 @@ export namespace Components {
2751
2761
  * @default ''
2752
2762
  */
2753
2763
  "value": string;
2764
+ /**
2765
+ * Width fit — hug content (default) or fill the parent with equal-width segments.
2766
+ * @default 'hug'
2767
+ */
2768
+ "width": TabGroupWidth;
2754
2769
  }
2755
2770
  interface DsTable {
2756
2771
  /**
@@ -2810,6 +2825,35 @@ export namespace Components {
2810
2825
  * @default false
2811
2826
  */
2812
2827
  "fitViewport": boolean;
2828
+ /**
2829
+ * Supports the {group} placeholder.
2830
+ * @default 'All {group} results loaded'
2831
+ */
2832
+ "groupEndOfResultsLabel": string;
2833
+ /**
2834
+ * Supports the {group} placeholder.
2835
+ * @default 'Load more {group} results'
2836
+ */
2837
+ "groupLoadMoreAriaLabel": string;
2838
+ /**
2839
+ * @default 'Load more'
2840
+ */
2841
+ "groupLoadMoreLabel": string;
2842
+ /**
2843
+ * Supports the {group} placeholder.
2844
+ * @default 'Loading more items'
2845
+ */
2846
+ "groupLoadingMoreLabel": string;
2847
+ /**
2848
+ * Supports the {group} placeholder.
2849
+ * @default 'Retry loading {group} results'
2850
+ */
2851
+ "groupRetryLabel": string;
2852
+ /**
2853
+ * Supports {group}, {count}, {loaded}, and {total} placeholders.
2854
+ * @default '{count} more rows loaded in {group}. {loaded} of {total} rows loaded.'
2855
+ */
2856
+ "groupRowsLoadedLabel": string;
2813
2857
  /**
2814
2858
  * Controlled grouping column. Applications supply groups in their final fixed order.
2815
2859
  * @default null
@@ -2862,7 +2906,7 @@ export namespace Components {
2862
2906
  */
2863
2907
  "loadingMore": boolean;
2864
2908
  /**
2865
- * @default 'Loading more results'
2909
+ * @default 'Loading more items'
2866
2910
  */
2867
2911
  "loadingMoreLabel": string;
2868
2912
  /**
@@ -4314,6 +4358,7 @@ declare global {
4314
4358
  "dsGroupCollapseChange": TableGroupCollapseChangeDetail;
4315
4359
  "dsSelectionChange": TableSelectionChangeDetail;
4316
4360
  "dsLoadMore": TableLoadMoreDetail;
4361
+ "dsGroupLoadMore": TableGroupLoadMoreDetail;
4317
4362
  "dsCellAction": TableCellActionDetail;
4318
4363
  "dsRowActivate": TableRowActivateDetail;
4319
4364
  }
@@ -6258,6 +6303,11 @@ declare namespace LocalJSX {
6258
6303
  * @default false
6259
6304
  */
6260
6305
  "open"?: boolean;
6306
+ /**
6307
+ * Whether the router-derived current area owns the active mobile stage.
6308
+ * @default true
6309
+ */
6310
+ "routeSelectionActive"?: boolean;
6261
6311
  /**
6262
6312
  * @default []
6263
6313
  */
@@ -6266,6 +6316,11 @@ declare namespace LocalJSX {
6266
6316
  * @default 'Settings'
6267
6317
  */
6268
6318
  "settingsLabel"?: string;
6319
+ /**
6320
+ * Show the optional Account shortcut in the sheet header.
6321
+ * @default true
6322
+ */
6323
+ "showAccount"?: boolean;
6269
6324
  }
6270
6325
  interface DsModal {
6271
6326
  /**
@@ -7366,6 +7421,11 @@ declare namespace LocalJSX {
7366
7421
  * @default ''
7367
7422
  */
7368
7423
  "value"?: string;
7424
+ /**
7425
+ * Width fit — hug content (default) or fill the parent with equal-width segments.
7426
+ * @default 'hug'
7427
+ */
7428
+ "width"?: TabGroupWidth;
7369
7429
  }
7370
7430
  interface DsTable {
7371
7431
  /**
@@ -7425,6 +7485,35 @@ declare namespace LocalJSX {
7425
7485
  * @default false
7426
7486
  */
7427
7487
  "fitViewport"?: boolean;
7488
+ /**
7489
+ * Supports the {group} placeholder.
7490
+ * @default 'All {group} results loaded'
7491
+ */
7492
+ "groupEndOfResultsLabel"?: string;
7493
+ /**
7494
+ * Supports the {group} placeholder.
7495
+ * @default 'Load more {group} results'
7496
+ */
7497
+ "groupLoadMoreAriaLabel"?: string;
7498
+ /**
7499
+ * @default 'Load more'
7500
+ */
7501
+ "groupLoadMoreLabel"?: string;
7502
+ /**
7503
+ * Supports the {group} placeholder.
7504
+ * @default 'Loading more items'
7505
+ */
7506
+ "groupLoadingMoreLabel"?: string;
7507
+ /**
7508
+ * Supports the {group} placeholder.
7509
+ * @default 'Retry loading {group} results'
7510
+ */
7511
+ "groupRetryLabel"?: string;
7512
+ /**
7513
+ * Supports {group}, {count}, {loaded}, and {total} placeholders.
7514
+ * @default '{count} more rows loaded in {group}. {loaded} of {total} rows loaded.'
7515
+ */
7516
+ "groupRowsLoadedLabel"?: string;
7428
7517
  /**
7429
7518
  * Controlled grouping column. Applications supply groups in their final fixed order.
7430
7519
  * @default null
@@ -7477,7 +7566,7 @@ declare namespace LocalJSX {
7477
7566
  */
7478
7567
  "loadingMore"?: boolean;
7479
7568
  /**
7480
- * @default 'Loading more results'
7569
+ * @default 'Loading more items'
7481
7570
  */
7482
7571
  "loadingMoreLabel"?: string;
7483
7572
  /**
@@ -7486,6 +7575,7 @@ declare namespace LocalJSX {
7486
7575
  "maxHeight"?: string | number | undefined;
7487
7576
  "onDsCellAction"?: (event: DsTableCustomEvent<TableCellActionDetail>) => void;
7488
7577
  "onDsGroupCollapseChange"?: (event: DsTableCustomEvent<TableGroupCollapseChangeDetail>) => void;
7578
+ "onDsGroupLoadMore"?: (event: DsTableCustomEvent<TableGroupLoadMoreDetail>) => void;
7489
7579
  "onDsLoadMore"?: (event: DsTableCustomEvent<TableLoadMoreDetail>) => void;
7490
7580
  "onDsRowActivate"?: (event: DsTableCustomEvent<TableRowActivateDetail>) => void;
7491
7581
  "onDsSelectionChange"?: (event: DsTableCustomEvent<TableSelectionChangeDetail>) => void;
@@ -8199,11 +8289,13 @@ declare namespace LocalJSX {
8199
8289
  "open": boolean;
8200
8290
  "browseContext": NavChromeStyle;
8201
8291
  "currentUrl": string;
8292
+ "routeSelectionActive": boolean;
8202
8293
  "navigationLabel": string;
8203
8294
  "dashboardLabel": string;
8204
8295
  "settingsLabel": string;
8205
8296
  "accountLabel": string;
8206
8297
  "helpLabel": string;
8298
+ "showAccount": boolean;
8207
8299
  }
8208
8300
  interface DsModalAttributes {
8209
8301
  "open": boolean;
@@ -8416,6 +8508,7 @@ declare namespace LocalJSX {
8416
8508
  interface DsTabGroupAttributes {
8417
8509
  "value": string;
8418
8510
  "size": TabGroupSize;
8511
+ "width": TabGroupWidth;
8419
8512
  "background": TabBackground | undefined;
8420
8513
  "ariaLabel": string | null;
8421
8514
  "ariaLabelledby": string | undefined;
@@ -8454,6 +8547,12 @@ declare namespace LocalJSX {
8454
8547
  "loadingMoreLabel": string;
8455
8548
  "endOfResultsLabel": string;
8456
8549
  "rowsLoadedLabel": string;
8550
+ "groupLoadMoreLabel": string;
8551
+ "groupLoadMoreAriaLabel": string;
8552
+ "groupRetryLabel": string;
8553
+ "groupLoadingMoreLabel": string;
8554
+ "groupEndOfResultsLabel": string;
8555
+ "groupRowsLoadedLabel": string;
8457
8556
  }
8458
8557
  interface DsTagAttributes {
8459
8558
  "label": string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ds-mo/ui",
3
- "version": "14.0.1",
3
+ "version": "14.2.0",
4
4
  "description": "CompoMo — composable web components styled with TokoMo design tokens",
5
5
  "keywords": [
6
6
  "web-components",
@@ -139,7 +139,7 @@
139
139
  "@angular/forms": "^22.0.7",
140
140
  "@axe-core/playwright": "^4.12.1",
141
141
  "@ds-mo/icons": "^7.0.0",
142
- "@ds-mo/tokens": "^6.2.2",
142
+ "@ds-mo/tokens": "^6.5.0",
143
143
  "@eslint/js": "^10.0.1",
144
144
  "@fontsource-variable/inter": "^5.3.0",
145
145
  "@fontsource/fira-code": "^5.3.0",
@@ -1,2 +0,0 @@
1
- import{p as n,H as t,c as o,h as i,a as e,t as s}from"./index.js";import{b as d,r,c as l}from"./p-DAW6G8Sl.js";import{d as c}from"./p-D8nnhQNJ.js";import{d as a}from"./p-BFfLvMZd.js";import{d as u}from"./p-Ca-I2UnB.js";import{d as f}from"./p-DZFilC--.js";const b=()=>`@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-button-unfilled-h{--ds-focus-ring-width:var(--dimension-stroke-width-025, 2px);--ds-focus-ring-offset:var(--dimension-space-025, 2px);--ds-focus-ring-color:var(--color-interaction-focus)}.ds-focus-ring.sc-ds-button-unfilled-h,.ds-focus-ring.sc-ds-button-unfilled,.ds-focus-ring-inset.sc-ds-button-unfilled-h,.ds-focus-ring-inset.sc-ds-button-unfilled{outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.ds-focus-ring.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring.sc-ds-button-unfilled:focus-visible{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring.ds-focus-ring--visible.sc-ds-button-unfilled{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:var(--ds-focus-ring-offset)}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible{outline:none}.ds-focus-ring-inset.sc-ds-button-unfilled-h:focus-visible::after,.ds-focus-ring-inset.sc-ds-button-unfilled:focus-visible::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled{outline:none}.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled-h::after,.ds-focus-ring-inset.ds-focus-ring--visible.sc-ds-button-unfilled::after{outline:var(--ds-focus-ring-width) solid var(--ds-focus-ring-color);outline-offset:calc(-1 * var(--ds-focus-ring-width))}@media (forced-colors: active){.sc-ds-button-unfilled-h{--ds-focus-ring-color:var(--ds-forced-color-selected)}}@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-interaction-fill.sc-ds-button-unfilled-h,.ds-interaction-fill.sc-ds-button-unfilled{position:var(--ds-interaction-position, relative);z-index:var(--ds-interaction-z-index, 0);cursor:default;--ds-interaction-hover:var(--color-interaction-hover);--ds-interaction-pressed:var(--color-interaction-pressed);--ds-interaction-active:var(--color-interaction-active-brand);--ds-interaction-border-width:0px;--ds-interaction-border-color:transparent;--ds-interaction-divider-width:0px;--ds-interaction-divider-color:transparent;--ds-interaction-divider-inline-start-width:0px;--ds-interaction-divider-inline-start-color:transparent;--ds-interaction-divider-inline-end-width:0px;--ds-interaction-divider-inline-end-color:transparent}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before,.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{content:'';position:absolute;inset:0;border-radius:inherit;background:transparent;pointer-events:none;cursor:inherit;transition:none}.ds-interaction-fill.sc-ds-button-unfilled-h::before,.ds-interaction-fill.sc-ds-button-unfilled::before{z-index:1}.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{z-index:3;box-shadow:inset 0 calc(-1 * var(--ds-interaction-divider-width)) 0 var(--ds-interaction-divider-color), inset var(--ds-interaction-divider-inline-start-width) 0 0 var(--ds-interaction-divider-inline-start-color), inset calc(-1 * var(--ds-interaction-divider-inline-end-width)) 0 0 var(--ds-interaction-divider-inline-end-color), inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-interaction-fill--bordered.sc-ds-button-unfilled-h,.ds-interaction-fill--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012);--ds-interaction-border-color:var(--color-border-secondary)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::before{background:var(--ds-interaction-active)}.ds-interaction-fill--selected.sc-ds-button-unfilled-h,.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-interaction-dot-ring:var(--ds-interaction-active)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-hover)}}.ds-interaction-fill.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-pressed)}.ds-interaction-fill--grouped.sc-ds-button-unfilled-h::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled-h:active:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled:active:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}@media (hover: hover) and (pointer: fine){.ds-interaction-fill--grouped.sc-ds-button-unfilled-h:hover:not(:disabled)::after,.ds-interaction-fill--grouped.sc-ds-button-unfilled:hover:not(:disabled)::after{background:var(--ds-interaction-group-fill, transparent)}}.ds-interaction-fill--grouped.sc-ds-button-unfilled-h,.ds-interaction-fill--grouped.sc-ds-button-unfilled{--ds-interaction-divider-width:var(--ds-interaction-group-divider-width, 0px);--ds-interaction-divider-color:var(--ds-interaction-group-divider-color, transparent);--ds-interaction-divider-inline-start-width:var( --ds-interaction-group-divider-inline-start-width, 0px );--ds-interaction-divider-inline-start-color:var( --ds-interaction-group-divider-inline-start-color, transparent );--ds-interaction-divider-inline-end-width:var( --ds-interaction-group-divider-inline-end-width, 0px );--ds-interaction-divider-inline-end-color:var( --ds-interaction-group-divider-inline-end-color, transparent )}.ds-interaction-fill.sc-ds-button-unfilled-h>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill.sc-ds-button-unfilled>.ds-interaction-fill__content.sc-ds-button-unfilled,.ds-interaction-fill__content.sc-ds-button-unfilled{position:relative;z-index:2;cursor:inherit}.ds-interaction-fill--on-faint.sc-ds-button-unfilled-h,.ds-interaction-fill--on-faint.sc-ds-button-unfilled{--ds-interaction-active:var(--color-interaction-active)}.ds-interaction-fill--on-medium.sc-ds-button-unfilled-h,.ds-interaction-fill--on-medium.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-medium-background-hover);--ds-interaction-pressed:var(--color-interaction-on-medium-background-pressed);--ds-interaction-active:var(--color-interaction-on-medium-background-active);--ds-focus-ring-color:var(--color-interaction-on-medium-background-focus)}.ds-interaction-fill--on-bold.sc-ds-button-unfilled-h,.ds-interaction-fill--on-bold.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-bold-background-hover);--ds-interaction-pressed:var(--color-interaction-on-bold-background-pressed);--ds-interaction-active:var(--color-interaction-on-bold-background-active);--ds-focus-ring-color:var(--color-interaction-on-bold-background-focus)}.ds-interaction-fill--on-strong.sc-ds-button-unfilled-h,.ds-interaction-fill--on-strong.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-interaction-on-strong-background-hover);--ds-interaction-pressed:var(--color-interaction-on-strong-background-pressed);--ds-interaction-active:var(--color-interaction-on-strong-background-active);--ds-focus-ring-color:var(--color-interaction-on-strong-background-focus)}.ds-interaction-fill--on-translucent.sc-ds-button-unfilled-h,.ds-interaction-fill--on-translucent.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-translucent-interaction-hover);--ds-interaction-pressed:var(--color-translucent-interaction-pressed);--ds-interaction-active:var(--color-translucent-interaction-active);--ds-focus-ring-color:var(--color-translucent-interaction-focus)}.ds-interaction-fill--on-inverted.sc-ds-button-unfilled-h,.ds-interaction-fill--on-inverted.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-inverted-interaction-hover);--ds-interaction-pressed:var(--color-inverted-interaction-pressed);--ds-interaction-active:var(--color-inverted-interaction-active);--ds-focus-ring-color:var(--color-inverted-interaction-focus)}.ds-interaction-fill--on-media.sc-ds-button-unfilled-h,.ds-interaction-fill--on-media.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-media-interaction-hover);--ds-interaction-pressed:var(--color-media-interaction-pressed);--ds-interaction-active:var(--color-media-interaction-active);--ds-focus-ring-color:var(--color-media-interaction-focus)}.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled-h,.ds-interaction-fill--on-always-dark.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-always-dark-interaction-hover);--ds-interaction-pressed:var(--color-always-dark-interaction-pressed);--ds-interaction-active:var(--color-always-dark-interaction-active);--ds-focus-ring-color:var(--color-always-dark-interaction-focus)}.ds-interaction-fill--on-navigation.sc-ds-button-unfilled-h,.ds-interaction-fill--on-navigation.sc-ds-button-unfilled{--ds-interaction-hover:var(--color-navigation-interaction-hover);--ds-interaction-pressed:var(--color-navigation-interaction-pressed);--ds-interaction-active:var(--color-navigation-interaction-active);--ds-focus-ring-color:var(--color-navigation-interaction-focus)}@media (forced-colors: active){.ds-interaction-fill.sc-ds-button-unfilled-h::after,.ds-interaction-fill.sc-ds-button-unfilled::after{box-shadow:none;outline:var(--ds-interaction-border-width) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--ds-interaction-border-width))}.ds-interaction-fill--selected.sc-ds-button-unfilled-h::before,.ds-interaction-fill--selected.sc-ds-button-unfilled::before{background:transparent;outline:var(--dimension-stroke-width-025) solid var(--ds-forced-color-selected);outline-offset:calc(-1 * var(--dimension-stroke-width-025))}}@media (forced-colors: active) and (hover: hover) and (pointer: fine){.ds-interaction-fill.sc-ds-button-unfilled-h:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after,.ds-interaction-fill.sc-ds-button-unfilled:hover:not(:disabled):not(:focus-visible):not(:focus-within):not(.ds-focus-ring--visible)::after{outline-color:var(--ds-forced-color-selected);outline-width:var(--dimension-stroke-width-012)}}.ds-control-press-scale.sc-ds-button-unfilled{transition:scale var(--effect-motion-short-2)}.ds-control-press-scale.sc-ds-button-unfilled:active:not(:disabled):not(.ds-control-inactive):not([aria-busy='true']){scale:var(--ds-control-press-active-scale, var(--dimension-scale-subtle))}@media (prefers-reduced-motion: reduce){.ds-control-press-scale.sc-ds-button-unfilled,.ds-control-press-scale.sc-ds-button-unfilled:active:not(:disabled):not(.ds-control-inactive):not([aria-busy='true']){scale:none;transition:none}}@media (forced-colors: active){.sc-ds-button-unfilled:root,.sc-ds-button-unfilled-h,.ds-forced-colors-scope.sc-ds-button-unfilled{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.ds-control-inactive.sc-ds-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{opacity:var(--effect-opacity-medium);pointer-events:none;cursor:not-allowed}@media (forced-colors: active){.ds-control-inactive.sc-ds-button-unfilled-h,.ds-control-inactive.sc-ds-button-unfilled{color:var(--ds-forced-color-disabled);opacity:1}}.ds-control--lg.sc-ds-button-unfilled,.ds-control--lg.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled,.ds-control--sm.sc-ds-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled,.ds-control--xs.sc-ds-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--ds-control-radius:var(--dimension-radius-025)}.ds-control--lg.sc-ds-button-unfilled-h,.ds-control--lg.sc-ds-button-unfilled{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-button-unfilled-h,.ds-control--md.sc-ds-button-unfilled{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-button-unfilled-h,.ds-control--sm.sc-ds-button-unfilled{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-button-unfilled-h,.ds-control--xs.sc-ds-button-unfilled{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-control--lg.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--lg.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-050));--ds-control-padding-inline:calc( var(--dimension-space-100) - var(--dimension-space-025) )}.ds-control--md.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--md.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-050));--ds-control-padding-inline:calc( var(--dimension-space-075) - var(--dimension-space-025) )}.ds-control--sm.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--sm.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-050));--ds-control-padding-inline:calc( var(--dimension-space-050) - var(--dimension-space-025) )}.ds-control--xs.ds-control--inset.sc-ds-button-unfilled-h,.ds-control--xs.ds-control--inset.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-200) - var(--dimension-space-050));--ds-control-padding-inline:calc( var(--dimension-space-025) - var(--dimension-space-025) )}.ds-control--lg.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--lg.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-500) - var(--dimension-space-100));--ds-control-padding-inline:calc( var(--dimension-space-100) - var(--dimension-space-050) )}.ds-control--md.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--md.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-400) - var(--dimension-space-100));--ds-control-padding-inline:calc( var(--dimension-space-075) - var(--dimension-space-050) )}.ds-control--sm.ds-control--inset-double.sc-ds-button-unfilled-h,.ds-control--sm.ds-control--inset-double.sc-ds-button-unfilled{--ds-control-height:calc(var(--dimension-size-300) - var(--dimension-space-100));--ds-control-padding-inline:calc( var(--dimension-space-050) - var(--dimension-space-050) )}.ds-control-frame.sc-ds-button-unfilled{display:inline-flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:var(--ds-control-padding-inline, var(--dimension-space-075));gap:var(--ds-control-gap, var(--dimension-space-050));border-radius:var(--ds-control-radius, var(--dimension-radius-025))}.ds-control-section-heading.sc-ds-button-unfilled{display:flex;align-items:center;box-sizing:border-box;height:var(--ds-control-height, var(--dimension-size-400));padding-inline:calc( var(--ds-control-padding-inline, var(--dimension-space-075)) + var(--ds-control-label-inset, var(--dimension-space-025)) )}.ds-control-icon-box.sc-ds-button-unfilled{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--ds-control-icon, var(--dimension-iconography-md));height:var(--ds-control-icon, var(--dimension-iconography-md))}.ds-control-label-box.sc-ds-button-unfilled{min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025))}.ds-control-label-dot.sc-ds-button-unfilled{position:relative;padding-inline-end:calc( var(--ds-control-label-inset, var(--dimension-space-025)) + var(--ds-control-gap, var(--dimension-space-050)) )}.ds-control-label-dot__badge.sc-ds-button-unfilled{position:absolute;inset-block-start:0;inset-inline-end:0;pointer-events:none}.ds-control-width--hug.sc-ds-button-unfilled-h,.ds-control-width--hug.sc-ds-button-unfilled{width:fit-content;max-width:100%;flex:0 0 auto;align-self:flex-start}.ds-control-width--fill.sc-ds-button-unfilled-h,.ds-control-width--fill.sc-ds-button-unfilled{width:100%;min-width:0;flex:1 1 auto;align-self:stretch}.sc-ds-button-unfilled-h{display:inline-flex;outline:none}.ds-button-host--icon.ds-control-width--hug.sc-ds-button-unfilled-h{width:var(--ds-control-height, var(--dimension-size-400));height:var(--ds-control-height, var(--dimension-size-400));min-width:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.ds-button-host--icon.ds-control-width--fill.sc-ds-button-unfilled-h{height:var(--ds-control-height, var(--dimension-size-400));min-height:var(--ds-control-height, var(--dimension-size-400))}.ds-control-width--fill.sc-ds-button-unfilled-h .ds-button.sc-ds-button-unfilled{width:100%}.ds-button.sc-ds-button-unfilled{justify-content:center;overflow:hidden;border:none;border-radius:var(--ds-control-radius, var(--dimension-radius-025));cursor:default;-webkit-user-select:none;user-select:none}.ds-button--icon.sc-ds-button-unfilled{width:100%;height:100%;padding:0}.ds-button--rounded.sc-ds-button-unfilled{--ds-control-radius:var(--dimension-radius-half)}.ds-button--expanded.sc-ds-button-unfilled{--ds-interaction-hover:var(--ds-interaction-pressed)}.ds-button--expanded.sc-ds-button-unfilled::after{background:var(--ds-interaction-pressed)}.ds-button--bordered.sc-ds-button-unfilled{--ds-interaction-border-width:var(--dimension-stroke-width-012)}.ds-button--bordered.sc-ds-button-unfilled:not(.ds-interaction-fill){box-shadow:inset 0 0 0 var(--ds-interaction-border-width) var(--ds-interaction-border-color)}.ds-button__icon-wrap.sc-ds-button-unfilled,.ds-button__label.sc-ds-button-unfilled,.ds-button__chevron.sc-ds-button-unfilled{position:relative;z-index:2}.ds-button__label.sc-ds-button-unfilled{flex-shrink:0;min-width:0;white-space:nowrap}.ds-button__label--loading.sc-ds-button-unfilled,.ds-button__chevron--loading.sc-ds-button-unfilled{visibility:hidden}.ds-button.sc-ds-button-unfilled>.ds-button__loader-overlay.sc-ds-button-unfilled{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.ds-button__dot.sc-ds-button-unfilled{position:absolute;top:0;right:0;z-index:2;pointer-events:none}@media (forced-colors: active){.ds-button.sc-ds-button-unfilled{outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-control-boundary);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}.sc-ds-button-unfilled-h{--ds-button-unfilled-fg:var(--color-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-background-secondary);--ds-button-unfilled-border:var(--color-border-secondary)}.button-unfilled.sc-ds-button-unfilled{background:transparent;color:var(--ds-button-unfilled-fg)}.button-unfilled--active.sc-ds-button-unfilled{color:var(--ds-button-unfilled-fg-active)}.button-unfilled--bordered.sc-ds-button-unfilled{--ds-interaction-border-color:var(--ds-button-unfilled-border)}.button-unfilled--background-medium.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-medium-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-medium-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-medium-neutral);--ds-button-unfilled-border:var(--color-border-on-medium-background-secondary)}.button-unfilled--background-bold.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-bold-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-bold-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-bold-neutral);--ds-button-unfilled-border:var(--color-border-on-bold-background-secondary)}.button-unfilled--background-strong.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-foreground-on-strong-background-secondary);--ds-button-unfilled-fg-active:var(--color-foreground-on-strong-background-primary);--ds-button-unfilled-dot-ring:var(--color-background-strong-neutral);--ds-button-unfilled-border:var(--color-border-on-strong-background-secondary)}.button-unfilled--background-translucent.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-translucent-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-translucent-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-translucent-translucent);--ds-button-unfilled-border:var(--color-translucent-border-secondary)}.button-unfilled--background-inverted.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-inverted-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-inverted-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-inverted-background);--ds-button-unfilled-border:var(--color-inverted-border-secondary)}.button-unfilled--background-media.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-media-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-media-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-media-background);--ds-button-unfilled-border:var(--color-media-border-secondary)}.button-unfilled--on-always-dark.sc-ds-button-unfilled{--ds-button-unfilled-fg:var(--color-always-dark-foreground-secondary);--ds-button-unfilled-fg-active:var(--color-always-dark-foreground-primary);--ds-button-unfilled-dot-ring:var(--color-always-dark-background);--ds-button-unfilled-border:var(--color-always-dark-border-secondary)}.button-unfilled.ds-interaction-fill--selected.sc-ds-button-unfilled{--ds-button-unfilled-dot-ring:var(--ds-interaction-active)}`;const v=n(class n extends t{constructor(n){super();if(n!==false){this.__registerHost()}this.dsClick=o(this,"dsClick");this.dsChange=o(this,"dsChange");this.variant="label";this.size="md";this.isInset=false;this.insetDepth="single";this.width="hug";this.label="";this.icon="";this.isActive=false;this.activeFill=true;this.hasBorder=true;this.rounded=false;this.pressScale=true;this.dot=false;this.isInactive=false;this.isLoading=false;this.type="button";this.ariaLabel=null;this.hasMenu=false;this.buttonEl=null;this.handleClick=n=>{if(this.isInactive||this.isLoading){n.preventDefault();n.stopPropagation();return}this.dsClick.emit(n);if(this.pressed!==undefined)this.dsChange.emit(!this.pressed)}}async setFocus(){this.buttonEl?.focus()}get showDot(){return this.variant==="icon"&&this.dot&&!this.isLoading}get resolvedHaspopup(){return this.haspopup??(this.hasMenu?"menu":undefined)}get doubleInset(){return this.isInset&&this.insetDepth==="double"&&this.size!=="xs"}get expandedPopup(){return this.expanded===true&&this.resolvedHaspopup!==undefined&&!this.isInactive}get visuallyActive(){return this.isActive||this.pressed===true}get dotRing(){if((this.isActive||this.pressed===true)&&this.activeFill){return"var(--ds-interaction-active)"}return"var(--ds-button-unfilled-dot-ring)"}get accessibleName(){if(this.ariaLabel)return this.ariaLabel;if(this.isLoading&&this.variant==="label"&&this.label)return this.label;return undefined}render(){const n=this.background;const t={"button-unfilled":true,"ds-button":true,"ds-focus-ring-inset":true,"ds-control-press-scale":this.pressScale,"ds-interaction-fill":true,"ds-interaction-fill--selected":(this.isActive||this.pressed===true)&&this.activeFill&&!this.isInactive,"ds-interaction-fill--on-faint":n==="faint","ds-interaction-fill--on-medium":n==="medium","ds-interaction-fill--on-bold":n==="bold","ds-interaction-fill--on-strong":n==="strong","ds-interaction-fill--on-translucent":n==="translucent","ds-interaction-fill--on-inverted":n==="inverted","ds-interaction-fill--on-media":n==="media","ds-interaction-fill--on-always-dark":n==="always-dark","button-unfilled--active":this.visuallyActive,"button-unfilled--expanded":this.expandedPopup,"ds-button--expanded":this.expandedPopup,"button-unfilled--bordered":this.hasBorder,"ds-button--bordered":this.hasBorder,"button-unfilled--rounded":this.rounded,"ds-button--rounded":this.rounded,"ds-control-inactive":this.isInactive,"ds-control--lg":this.size==="lg","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","ds-control--inset":this.isInset&&!this.doubleInset,"ds-control--inset-double":this.doubleInset,"ds-control-frame":true,"button-unfilled--icon":this.variant==="icon","ds-button--icon":this.variant==="icon","button-unfilled--label":this.variant==="label","button-unfilled--icon-label":this.variant==="icon-label","button-unfilled--background-faint":n==="faint","button-unfilled--background-medium":n==="medium","button-unfilled--background-bold":n==="bold","button-unfilled--background-strong":n==="strong","button-unfilled--background-translucent":n==="translucent","button-unfilled--background-inverted":n==="inverted","button-unfilled--background-media":n==="media","button-unfilled--on-always-dark":n==="always-dark"};return i(e,{key:"458609aa419cc3f083172cad07ca3a59cc44e7b2",class:{"button-unfilled-host":true,"button-unfilled-host--icon":this.variant==="icon","ds-button-host--icon":this.variant==="icon","ds-control--lg":this.size==="lg","ds-control--md":this.size==="md","ds-control--sm":this.size==="sm","ds-control--xs":this.size==="xs","ds-control--inset":this.isInset&&!this.doubleInset,"ds-control--inset-double":this.doubleInset,...l(this.width)},tabIndex:-1},i("button",{key:"a6be13f1bdec3cec6cec787267739b6d1c295d06",ref:n=>{this.buttonEl=n??null},type:this.type,class:t,disabled:this.isInactive,tabIndex:this.focusTabIndex??0,"aria-label":this.accessibleName,"aria-busy":this.isLoading?"true":undefined,"aria-disabled":this.isLoading?"true":undefined,"aria-controls":this.controls,"aria-expanded":this.expanded===undefined?undefined:String(this.expanded),"aria-haspopup":this.resolvedHaspopup,"aria-pressed":this.pressed===undefined?undefined:String(this.pressed),onPointerDown:n=>d(n,this.pressScale&&!this.isInactive&&!this.isLoading),onClick:this.handleClick},r({namespace:"button-unfilled",variant:this.variant,size:this.size,label:this.label,icon:this.icon,hasMenu:this.hasMenu,isLoading:this.isLoading,dot:{visible:this.showDot,background:this.dotRing}})))}get el(){return this}static get style(){return b()}},[2,"ds-button-unfilled",{variant:[1],size:[1],isInset:[4,"is-inset"],insetDepth:[1,"inset-depth"],width:[1],label:[1],icon:[1],isActive:[4,"is-active"],activeFill:[4,"active-fill"],hasBorder:[4,"has-border"],rounded:[4],pressScale:[4,"press-scale"],dot:[4],isInactive:[4,"is-inactive"],isLoading:[4,"is-loading"],type:[1],background:[1],ariaLabel:[1,"aria-label"],controls:[1],expanded:[4],haspopup:[1],pressed:[4],hasMenu:[4,"has-menu"],focusTabIndex:[2,"tab-index"],setFocus:[64]}]);function h(){if(typeof customElements==="undefined"){return}const n=["ds-button-unfilled","ds-badge","ds-icon","ds-loader","ds-text"];n.forEach((n=>{switch(n){case"ds-button-unfilled":if(!customElements.get(s(n))){customElements.define(s(n),v)}break;case"ds-badge":if(!customElements.get(s(n))){c()}break;case"ds-icon":if(!customElements.get(s(n))){a()}break;case"ds-loader":if(!customElements.get(s(n))){u()}break;case"ds-text":if(!customElements.get(s(n))){f()}break}}))}h();export{v as B,h as d};
2
- //# sourceMappingURL=p--z-DWRkg.js.map
@@ -1,2 +0,0 @@
1
- import{p as e,H as s,c as i,h as a,a as d,t as o}from"./index.js";import{g as r}from"./p-BQq26pt9.js";import{d as t}from"./p-D8nnhQNJ.js";import{d as n}from"./p-BFfLvMZd.js";import{d as c}from"./p-DofS_hVZ.js";import{d as h}from"./p-D0i_J2rj.js";import{d as m}from"./p-BDCrM8-1.js";import{d as l}from"./p-BOCrvs-v.js";import{d as b}from"./p-Cih1XCy3.js";import{d as p}from"./p-CUeuemsF.js";import{d as g}from"./p-DZFilC--.js";const u=()=>`.ds-chrome-space--sm.sc-ds-mobile-header-h,.ds-chrome-space--sm.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-050);--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-mobile-header-h,.ds-chrome-space--md.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-mobile-header-h,.ds-chrome-space--lg.sc-ds-mobile-header{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-mobile-header-h,.ds-chrome-row.sc-ds-mobile-header,.ds-chrome-column.sc-ds-mobile-header-h,.ds-chrome-column.sc-ds-mobile-header,.ds-chrome-grid.sc-ds-mobile-header-h,.ds-chrome-grid.sc-ds-mobile-header{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-mobile-header-h,.ds-chrome-row.sc-ds-mobile-header{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-mobile-header-h,.ds-chrome-column.sc-ds-mobile-header{flex-direction:column}.ds-chrome-grid.sc-ds-mobile-header-h,.ds-chrome-grid.sc-ds-mobile-header{display:grid;align-items:center}.sc-ds-mobile-header-h{display:block;min-width:0;box-sizing:border-box;background:var(--color-background-primary);color:var(--color-foreground-primary)}[tone='brand'].sc-ds-mobile-header-h{background:var(--color-background-bold-brand);color:var(--color-foreground-on-bold)}.mobile-header.sc-ds-mobile-header{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box;background:inherit;color:inherit}.mobile-header__primary.sc-ds-mobile-header{grid-template-columns:minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);width:100%;height:calc(var(--dimension-size-500) + var(--dimension-space-200));min-width:0;background:inherit;color:inherit}.sc-ds-mobile-header-h:not([tone='brand']) .mobile-header.sc-ds-mobile-header::after{content:'';position:absolute;inset-inline:0;inset-block-end:0;height:var(--dimension-stroke-width-012);background:var(--color-border-tertiary);pointer-events:none}.mobile-header__subsections.sc-ds-mobile-header{display:flex;align-items:center;justify-content:center;min-width:0;height:var(--dimension-size-600);padding:var(--dimension-space-100) var(--dimension-space-200);box-sizing:border-box}.mobile-header__subsections.sc-ds-mobile-header ds-mobile-section-switcher.sc-ds-mobile-header{min-width:0;max-width:100%}.mobile-header__lane.sc-ds-mobile-header{display:flex;align-items:center;gap:var(--dimension-space-050);min-width:0}.mobile-header__lane--leading.sc-ds-mobile-header{justify-content:flex-start}.mobile-header__lane--trailing.sc-ds-mobile-header{justify-content:flex-end}.mobile-header__center.sc-ds-mobile-header{position:relative;min-width:0;max-width:100%;justify-self:center}.mobile-header__heading.sc-ds-mobile-header{display:block;min-width:0;max-width:100%;text-align:center}.mobile-header__semantic-heading.sc-ds-mobile-header{position:absolute;width:var(--dimension-stroke-width-012);height:var(--dimension-stroke-width-012);padding:0;margin:calc(var(--dimension-stroke-width-012) * -1);overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sc-ds-mobile-header-s>[slot='leading'],.sc-ds-mobile-header-s>[slot='trailing']{flex:0 0 auto}`;const f=e(class e extends s{constructor(e){super();if(e!==false){this.__registerHost()}this.dsSectionChange=i(this,"dsSectionChange");this.dsSubsectionChange=i(this,"dsSubsectionChange");this.heading="";this.headingLevel="h1";this.sections=[];this.value="";this.sectionsAriaLabel="Change page section";this.sectionsPresentation="switcher";this.sectionsSize="md";this.subsections=[];this.subvalue="";this.subsectionsAriaLabel="Change page subsection";this.tone="default";this.handleSectionChange=e=>{e.stopPropagation();this.dsSectionChange.emit(e.detail)};this.handleSubsectionChange=e=>{e.stopPropagation();this.dsSubsectionChange.emit(e.detail)}}get resolvedSections(){return this.sections??[]}get resolvedSubsections(){return this.subsections??[]}get selectedLabel(){const e=r(this.resolvedSections);return e.find((e=>e.id===this.value))?.label??e[0]?.label??this.heading}render(){const e=this.headingLevel;const s=r(this.resolvedSections);const i=s.length>1;const o=r(this.resolvedSubsections).length>1;const t=this.tone==="brand"?"on-bold":"primary";return a(d,{key:"64197195ee4ede6cfe50d3cfab2bde433d8ebd07"},a("header",{key:"1d57c611b54749b36600ca598a48a4af55fea09b",class:"mobile-header"},a("div",{key:"5cae66ba2992f3970fdc5fce17d00473eb973657",class:"mobile-header__primary ds-chrome-grid ds-chrome-space--md"},a("div",{key:"c1e418f2fa2e8d7d9297e7f39883aec1b9de541b",class:"mobile-header__lane mobile-header__lane--leading"},a("slot",{key:"6215607b441bdb561047f6b4292a52d5d45434b6",name:"leading"})),a("div",{key:"2d19ac3da595f9d5e742ed76001e727786678b4c",class:"mobile-header__center"},i?[a("span",{class:"mobile-header__semantic-heading",role:"heading","aria-level":this.headingLevel==="h1"?"1":"2"},this.selectedLabel),this.sectionsPresentation==="segmented"?a("ds-tab-group",{tabs:this.resolvedSections,value:this.value,size:this.sectionsSize,ariaLabel:this.sectionsAriaLabel,onDsChange:this.handleSectionChange}):a("ds-mobile-section-switcher",{sections:this.resolvedSections,value:this.value,navigationLabel:this.sectionsAriaLabel,onDsChange:this.handleSectionChange})]:a("ds-text",{class:"mobile-header__heading",as:e,variant:"text-body-medium",emphasis:true,color:t,lineTruncation:1},this.selectedLabel)),a("div",{key:"84321ddf61830e8ffaa3a3a1e684b41c6414974c",class:"mobile-header__lane mobile-header__lane--trailing"},a("slot",{key:"b2f03f0df8e21a667f385760062401c48c5b4545",name:"trailing"}))),o?a("nav",{class:"mobile-header__subsections","aria-label":this.subsectionsAriaLabel},a("ds-mobile-section-switcher",{sections:this.resolvedSubsections,value:this.subvalue,navigationLabel:this.subsectionsAriaLabel,onDsChange:this.handleSubsectionChange})):null))}static get style(){return u()}},[262,"ds-mobile-header",{heading:[1],headingLevel:[1,"heading-level"],sections:[16],value:[1],sectionsAriaLabel:[1,"sections-aria-label"],sectionsPresentation:[1,"sections-presentation"],sectionsSize:[1,"sections-size"],subsections:[16],subvalue:[1],subsectionsAriaLabel:[1,"subsections-aria-label"],tone:[513]}]);function v(){if(typeof customElements==="undefined"){return}const e=["ds-mobile-header","ds-badge","ds-icon","ds-menu","ds-mobile-section-switcher","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text"];e.forEach((e=>{switch(e){case"ds-mobile-header":if(!customElements.get(o(e))){customElements.define(o(e),f)}break;case"ds-badge":if(!customElements.get(o(e))){t()}break;case"ds-icon":if(!customElements.get(o(e))){n()}break;case"ds-menu":if(!customElements.get(o(e))){c()}break;case"ds-mobile-section-switcher":if(!customElements.get(o(e))){h()}break;case"ds-swatch-picker":if(!customElements.get(o(e))){m()}break;case"ds-switch":if(!customElements.get(o(e))){l()}break;case"ds-tab-group":if(!customElements.get(o(e))){b()}break;case"ds-tag":if(!customElements.get(o(e))){p()}break;case"ds-text":if(!customElements.get(o(e))){g()}break}}))}v();export{f as M,v as d};
2
- //# sourceMappingURL=p-CElfUmMp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["mobileHeaderCss","MobileHeader","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","heading","headingLevel","sections","value","sectionsAriaLabel","sectionsPresentation","sectionsSize","subsections","subvalue","subsectionsAriaLabel","tone","handleSectionChange","event","stopPropagation","dsSectionChange","emit","detail","handleSubsectionChange","dsSubsectionChange","resolvedSections","resolvedSubsections","selectedLabel","selectable","getSelectableTabs","find","section","id","label","render","Heading","hasSwitcher","length","hasSubsections","foreground","h","Host","key","class","name","role","tabs","size","ariaLabel","onDsChange","navigationLabel","as","variant","emphasis","color","lineTruncation"],"sources":["src/wc/components/MobileHeader/MobileHeader.css?tag=ds-mobile-header&encapsulation=scoped","src/wc/components/MobileHeader/MobileHeader.tsx"],"sourcesContent":["@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-primary);\n color: var(--color-foreground-primary);\n}\n\n:host([tone='brand']) {\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold);\n}\n\n.mobile-header {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n background: inherit;\n color: inherit;\n}\n\n.mobile-header__primary {\n grid-template-columns: minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);\n width: 100%;\n height: calc(var(--dimension-size-500) + var(--dimension-space-200));\n min-width: 0;\n background: inherit;\n color: inherit;\n}\n\n:host(:not([tone='brand'])) .mobile-header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.mobile-header__subsections {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n height: var(--dimension-size-600);\n padding: var(--dimension-space-100) var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.mobile-header__subsections ds-mobile-section-switcher {\n min-width: 0;\n max-width: 100%;\n}\n\n.mobile-header__lane {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.mobile-header__lane--leading {\n justify-content: flex-start;\n}\n\n.mobile-header__lane--trailing {\n justify-content: flex-end;\n}\n\n.mobile-header__center {\n position: relative;\n min-width: 0;\n max-width: 100%;\n justify-self: center;\n}\n\n.mobile-header__heading {\n display: block;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n}\n\n.mobile-header__semantic-heading {\n position: absolute;\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-stroke-width-012);\n padding: 0;\n margin: calc(var(--dimension-stroke-width-012) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n::slotted([slot='leading']),\n::slotted([slot='trailing']) {\n flex: 0 0 auto;\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport {\n getSelectableTabs,\n type TabGroupItem,\n type TabItem,\n} from '../TabGroup/tab-item-utils';\nimport type { TabGroupSize } from '../TabGroup/TabGroup';\nimport type {\n MobileHeaderHeadingLevel,\n MobileHeaderSectionsPresentation,\n MobileHeaderTone,\n} from './mobile-header-types';\n\n@Component({\n tag: 'ds-mobile-header',\n styleUrl: 'MobileHeader.css',\n scoped: true,\n})\nexport class MobileHeader {\n /** Static title used when no peer sections are supplied. */\n @Prop() heading: string = '';\n /** Semantic heading level for the active mobile screen. */\n @Prop() headingLevel: MobileHeaderHeadingLevel = 'h1';\n /** Controlled peer sections. Their selected label replaces the static title. */\n @Prop() sections: TabGroupItem[] = [];\n /** Controlled selected section id. */\n @Prop() value: string = '';\n /** Accessible name for the section chooser. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n /** Popup switcher or an inline segmented TabGroup for peer sections. */\n @Prop() sectionsPresentation: MobileHeaderSectionsPresentation = 'switcher';\n /** Density for the segmented sections presentation. */\n @Prop() sectionsSize: TabGroupSize = 'md';\n /** Controlled child sections within the selected page or detail screen. */\n @Prop() subsections: TabItem[] = [];\n /** Controlled selected child-section id. */\n @Prop() subvalue: string = '';\n /** Accessible name for the child-section chooser. */\n @Prop() subsectionsAriaLabel: string = 'Change page subsection';\n /** Default page chrome or bold-brand workflow chrome. */\n @Prop({ reflect: true }) tone: MobileHeaderTone = 'default';\n\n /** Section selection intent. */\n @Event() dsSectionChange!: EventEmitter<string>;\n /** Child-section selection intent. */\n @Event() dsSubsectionChange!: EventEmitter<string>;\n\n private get resolvedSections(): TabGroupItem[] {\n return this.sections ?? [];\n }\n\n private get resolvedSubsections(): TabItem[] {\n return this.subsections ?? [];\n }\n\n private get selectedLabel(): string {\n const selectable = getSelectableTabs(this.resolvedSections);\n return selectable.find(section => section.id === this.value)?.label ??\n selectable[0]?.label ??\n this.heading;\n }\n\n private handleSectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSectionChange.emit(event.detail);\n };\n\n private handleSubsectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSubsectionChange.emit(event.detail);\n };\n\n render() {\n const Heading = this.headingLevel;\n const selectable = getSelectableTabs(this.resolvedSections);\n const hasSwitcher = selectable.length > 1;\n const hasSubsections = getSelectableTabs(this.resolvedSubsections).length > 1;\n const foreground = this.tone === 'brand' ? 'on-bold' : 'primary';\n\n return (\n <Host>\n <header class=\"mobile-header\">\n <div class=\"mobile-header__primary ds-chrome-grid ds-chrome-space--md\">\n <div class=\"mobile-header__lane mobile-header__lane--leading\">\n <slot name=\"leading\" />\n </div>\n <div class=\"mobile-header__center\">\n {hasSwitcher ? (\n [\n <span\n class=\"mobile-header__semantic-heading\"\n role=\"heading\"\n aria-level={this.headingLevel === 'h1' ? '1' : '2'}\n >\n {this.selectedLabel}\n </span>,\n this.sectionsPresentation === 'segmented' ? (\n <ds-tab-group\n tabs={this.resolvedSections}\n value={this.value}\n size={this.sectionsSize}\n ariaLabel={this.sectionsAriaLabel}\n onDsChange={this.handleSectionChange}\n />\n ) : (\n <ds-mobile-section-switcher\n sections={this.resolvedSections}\n value={this.value}\n navigationLabel={this.sectionsAriaLabel}\n onDsChange={this.handleSectionChange}\n />\n ),\n ]\n ) : (\n <ds-text\n class=\"mobile-header__heading\"\n as={Heading}\n variant=\"text-body-medium\"\n emphasis\n color={foreground}\n lineTruncation={1}\n >\n {this.selectedLabel}\n </ds-text>\n )}\n </div>\n <div class=\"mobile-header__lane mobile-header__lane--trailing\">\n <slot name=\"trailing\" />\n </div>\n </div>\n {hasSubsections ? (\n <nav class=\"mobile-header__subsections\" aria-label={this.subsectionsAriaLabel}>\n <ds-mobile-section-switcher\n sections={this.resolvedSubsections}\n value={this.subvalue}\n navigationLabel={this.subsectionsAriaLabel}\n onDsChange={this.handleSubsectionChange}\n />\n </nav>\n ) : null}\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"0aAAA,MAAMA,EAAkB,IAAM,k0G,MCkBjBC,EAAYC,EAAA,MAAAD,UAAAE,EALzB,WAAAC,CAAAC,G,gJAOUC,KAAAC,QAAkB,GAElBD,KAAAE,aAAyC,KAEzCF,KAAAG,SAA2B,GAE3BH,KAAAI,MAAgB,GAEhBJ,KAAAK,kBAA4B,sBAE5BL,KAAAM,qBAAyD,WAEzDN,KAAAO,aAA6B,KAE7BP,KAAAQ,YAAyB,GAEzBR,KAAAS,SAAmB,GAEnBT,KAAAU,qBAA+B,yBAEdV,KAAAW,KAAyB,UAsB1CX,KAAAY,oBAAuBC,IAC7BA,EAAMC,kBACNd,KAAKe,gBAAgBC,KAAKH,EAAMI,OAAO,EAGjCjB,KAAAkB,uBAA0BL,IAChCA,EAAMC,kBACNd,KAAKmB,mBAAmBH,KAAKH,EAAMI,OAAO,CA2E7C,CAjGC,oBAAYG,GACV,OAAOpB,KAAKG,UAAY,E,CAG1B,uBAAYkB,GACV,OAAOrB,KAAKQ,aAAe,E,CAG7B,iBAAYc,GACV,MAAMC,EAAaC,EAAkBxB,KAAKoB,kBAC1C,OAAOG,EAAWE,MAAKC,GAAWA,EAAQC,KAAO3B,KAAKI,SAAQwB,OAC5DL,EAAW,IAAIK,OACf5B,KAAKC,O,CAaT,MAAA4B,GACE,MAAMC,EAAU9B,KAAKE,aACrB,MAAMqB,EAAaC,EAAkBxB,KAAKoB,kBAC1C,MAAMW,EAAcR,EAAWS,OAAS,EACxC,MAAMC,EAAiBT,EAAkBxB,KAAKqB,qBAAqBW,OAAS,EAC5E,MAAME,EAAalC,KAAKW,OAAS,QAAU,UAAY,UAEvD,OACEwB,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,UAAAE,IAAA,2CAAQC,MAAM,iBACZH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,6DACTH,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oDACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,aAEbJ,EAAA,OAAAE,IAAA,2CAAKC,MAAM,yBACRP,EAAW,CAERI,EAAA,QACEG,MAAM,kCACNE,KAAK,UAAS,aACFxC,KAAKE,eAAiB,KAAO,IAAM,KAE9CF,KAAKsB,eAERtB,KAAKM,uBAAyB,YAC5B6B,EAAA,gBACEM,KAAMzC,KAAKoB,iBACXhB,MAAOJ,KAAKI,MACZsC,KAAM1C,KAAKO,aACXoC,UAAW3C,KAAKK,kBAChBuC,WAAY5C,KAAKY,sBAGnBuB,EAAA,8BACEhC,SAAUH,KAAKoB,iBACfhB,MAAOJ,KAAKI,MACZyC,gBAAiB7C,KAAKK,kBACtBuC,WAAY5C,KAAKY,uBAKvBuB,EAAA,WACEG,MAAM,yBACNQ,GAAIhB,EACJiB,QAAQ,mBACRC,SAAQ,KACRC,MAAOf,EACPgB,eAAgB,GAEflD,KAAKsB,gBAIZa,EAAA,OAAAE,IAAA,2CAAKC,MAAM,qDACTH,EAAA,QAAAE,IAAA,2CAAME,KAAK,eAGdN,EACCE,EAAA,OAAKG,MAAM,6BAA4B,aAAatC,KAAKU,sBACvDyB,EAAA,8BACEhC,SAAUH,KAAKqB,oBACfjB,MAAOJ,KAAKS,SACZoC,gBAAiB7C,KAAKU,qBACtBkC,WAAY5C,KAAKkB,0BAGnB,M","ignoreList":[]}