@ds-mo/ui 13.11.1 → 13.13.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.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +1 -1
- package/dist/agent.json +307 -10
- package/dist/angular/ds-button-filled.d.ts +1 -1
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-button-unfilled.d.ts +1 -1
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-mobile-header.d.ts +1 -1
- package/dist/angular/ds-mobile-header.js +3 -3
- package/dist/angular/ds-tab-group.d.ts +1 -1
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-table.d.ts +31 -0
- package/dist/angular/ds-table.js +57 -0
- package/dist/angular/ds-tag.d.ts +1 -1
- package/dist/angular/ds-tag.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -0
- package/dist/angular/proxies.d.ts +1 -0
- package/dist/angular/proxies.js +1 -0
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-bar-workflow.js.map +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart-legend.js.map +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-chip.js.map +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-item.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-input.js.map +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-mobile-bar-nav.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-radio.js.map +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.d.ts +11 -0
- package/dist/components/ds-table.js +2 -0
- package/dist/components/ds-table.js.map +1 -0
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-tag.js.map +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/index.d.ts +30 -0
- package/dist/components/p-B1JB0Zn-.js +2 -0
- package/dist/components/{p-DgglLVCj.js.map → p-B1JB0Zn-.js.map} +1 -1
- package/dist/components/p-B2t8alvH.js +2 -0
- package/dist/components/{p-DK4PGrHm.js.map → p-B2t8alvH.js.map} +1 -1
- package/dist/components/p-BAGTb6cZ.js +2 -0
- package/dist/components/p-BAGTb6cZ.js.map +1 -0
- package/dist/components/p-BEEYhbIb.js +2 -0
- package/dist/components/p-BEEYhbIb.js.map +1 -0
- package/dist/components/{p-BRajO-Za.js → p-BFMV9TJO.js} +2 -2
- package/dist/components/p-BNHPCCw8.js +2 -0
- package/dist/components/{p-DCN04sgt.js.map → p-BNHPCCw8.js.map} +1 -1
- package/dist/components/{p-DJGdoPMG.js → p-BUZLhvs1.js} +2 -2
- package/dist/components/p-BgaF83uh.js +2 -0
- package/dist/components/{p-C5gZHZHU.js.map → p-BgaF83uh.js.map} +1 -1
- package/dist/components/p-Br0fwWUG.js +2 -0
- package/dist/components/{p-BHb3Ws8e.js.map → p-Br0fwWUG.js.map} +1 -1
- package/dist/components/{p-DcmqsAMP.js → p-BydCwx7x.js} +2 -2
- package/dist/components/p-C3Z01Glr.js +2 -0
- package/dist/components/p-C3Z01Glr.js.map +1 -0
- package/dist/components/{p-Dg9qiMDa.js → p-C9StMCWg.js} +2 -2
- package/dist/components/{p-BX57q1Lo.js → p-CSlTJWFG.js} +2 -2
- package/dist/components/{p-BQ7Nzx9A.js → p-Ch5yT3UA.js} +2 -2
- package/dist/components/p-Cw1bbiCG.js +2 -0
- package/dist/components/p-Cw1bbiCG.js.map +1 -0
- package/dist/components/p-CzV4gIxd.js +2 -0
- package/dist/components/p-CzV4gIxd.js.map +1 -0
- package/dist/components/p-D-F8eyXy.js +2 -0
- package/dist/components/p-D-F8eyXy.js.map +1 -0
- package/dist/components/p-DGvzGGcu.js +2 -0
- package/dist/components/{p-CIlO_j3q.js.map → p-DGvzGGcu.js.map} +1 -1
- package/dist/components/{p-DkhE3BsH.js → p-bLCbOPYa.js} +2 -2
- package/dist/components/p-cPh32CFB.js +2 -0
- package/dist/components/{p-BnGJrBPG.js.map → p-cPh32CFB.js.map} +1 -1
- package/dist/docs/components.json +1590 -59
- package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/lib/components/MobileHeader/mobile-header-types.d.ts +3 -2
- package/dist/mcp-data/registry/button-filled.json +20 -1
- package/dist/mcp-data/registry/button-unfilled.json +20 -1
- package/dist/mcp-data/registry/mobile-header.json +48 -10
- package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
- package/dist/mcp-data/registry/registry.json +309 -9
- package/dist/mcp-data/registry/shell-app.json +4 -2
- package/dist/mcp-data/registry/shell-tools.json +4 -4
- package/dist/mcp-data/registry/tab-group.json +22 -2
- package/dist/mcp-data/registry/table.json +777 -0
- package/dist/mcp-data/registry/tag.json +22 -3
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-table.d.ts +17 -0
- package/dist/react/ds-table.js +19 -0
- package/dist/styles/table.css +874 -0
- package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -0
- package/dist/types/components/MobileHeader/MobileHeader.d.ts +8 -3
- package/dist/types/components/MobileHeader/index.d.ts +1 -1
- package/dist/types/components/MobileHeader/mobile-header-types.d.ts +3 -2
- package/dist/types/components/ShellApp/ShellApp.d.ts +8 -0
- package/dist/types/components/TabGroup/TabGroup.d.ts +3 -0
- package/dist/types/components/Table/Table.d.ts +126 -0
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Table/table-model.d.ts +29 -0
- package/dist/types/components/Table/table-types.d.ts +189 -0
- package/dist/types/components/Tag/Tag.d.ts +2 -0
- package/dist/types/components.d.ts +417 -6
- package/package.json +3 -2
- package/dist/components/p-BHb3Ws8e.js +0 -2
- package/dist/components/p-BnGJrBPG.js +0 -2
- package/dist/components/p-C5gZHZHU.js +0 -2
- package/dist/components/p-CIlO_j3q.js +0 -2
- package/dist/components/p-CVmtbj-6.js +0 -2
- package/dist/components/p-CVmtbj-6.js.map +0 -1
- package/dist/components/p-DAbaMtEX.js +0 -2
- package/dist/components/p-DAbaMtEX.js.map +0 -1
- package/dist/components/p-DCN04sgt.js +0 -2
- package/dist/components/p-DK4PGrHm.js +0 -2
- package/dist/components/p-DW9p068S.js +0 -2
- package/dist/components/p-DW9p068S.js.map +0 -1
- package/dist/components/p-DgglLVCj.js +0 -2
- package/dist/components/p-Xftomzsv.js +0 -2
- package/dist/components/p-Xftomzsv.js.map +0 -1
- package/dist/components/p-c1pY-Mqq.js +0 -2
- package/dist/components/p-c1pY-Mqq.js.map +0 -1
- /package/dist/components/{p-BRajO-Za.js.map → p-BFMV9TJO.js.map} +0 -0
- /package/dist/components/{p-DJGdoPMG.js.map → p-BUZLhvs1.js.map} +0 -0
- /package/dist/components/{p-DcmqsAMP.js.map → p-BydCwx7x.js.map} +0 -0
- /package/dist/components/{p-Dg9qiMDa.js.map → p-C9StMCWg.js.map} +0 -0
- /package/dist/components/{p-BX57q1Lo.js.map → p-CSlTJWFG.js.map} +0 -0
- /package/dist/components/{p-BQ7Nzx9A.js.map → p-Ch5yT3UA.js.map} +0 -0
- /package/dist/components/{p-DkhE3BsH.js.map → p-bLCbOPYa.js.map} +0 -0
|
@@ -17,6 +17,8 @@ export declare class ButtonFilled {
|
|
|
17
17
|
variant: ButtonFilledVariant;
|
|
18
18
|
/** Control density (height, padding, icon, type). */
|
|
19
19
|
size: ButtonFilledSize;
|
|
20
|
+
/** Use reduced outer geometry when nested inside a control of the same size. */
|
|
21
|
+
isInset: boolean;
|
|
20
22
|
/** Width fit — hug content (default) or fill the parent. */
|
|
21
23
|
width: ButtonFilledWidth;
|
|
22
24
|
/** Visible text for `label` / `icon-label` variants. */
|
|
@@ -14,6 +14,8 @@ export declare class ButtonUnfilled {
|
|
|
14
14
|
variant: ButtonUnfilledVariant;
|
|
15
15
|
/** Control density (height, padding, icon, type). */
|
|
16
16
|
size: ButtonUnfilledSize;
|
|
17
|
+
/** Use reduced outer geometry when nested inside a control of the same size. */
|
|
18
|
+
isInset: boolean;
|
|
17
19
|
/** Width fit — hug content (default) or fill the parent. */
|
|
18
20
|
width: ButtonUnfilledWidth;
|
|
19
21
|
/** Visible text for `label` / `icon-label` variants. */
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import { type TabItem } from '../TabGroup/tab-item-utils';
|
|
3
|
-
import type {
|
|
2
|
+
import { type TabGroupItem, type TabItem } from '../TabGroup/tab-item-utils';
|
|
3
|
+
import type { TabGroupSize } from '../TabGroup/TabGroup';
|
|
4
|
+
import type { MobileHeaderHeadingLevel, MobileHeaderSectionsPresentation, MobileHeaderTone } from './mobile-header-types';
|
|
4
5
|
export declare class MobileHeader {
|
|
5
6
|
/** Static title used when no peer sections are supplied. */
|
|
6
7
|
heading: string;
|
|
7
8
|
/** Semantic heading level for the active mobile screen. */
|
|
8
9
|
headingLevel: MobileHeaderHeadingLevel;
|
|
9
10
|
/** Controlled peer sections. Their selected label replaces the static title. */
|
|
10
|
-
sections:
|
|
11
|
+
sections: TabGroupItem[];
|
|
11
12
|
/** Controlled selected section id. */
|
|
12
13
|
value: string;
|
|
13
14
|
/** Accessible name for the section chooser. */
|
|
14
15
|
sectionsAriaLabel: string;
|
|
16
|
+
/** Popup switcher or an inline segmented TabGroup for peer sections. */
|
|
17
|
+
sectionsPresentation: MobileHeaderSectionsPresentation;
|
|
18
|
+
/** Density for the segmented sections presentation. */
|
|
19
|
+
sectionsSize: TabGroupSize;
|
|
15
20
|
/** Controlled child sections within the selected page or detail screen. */
|
|
16
21
|
subsections: TabItem[];
|
|
17
22
|
/** Controlled selected child-section id. */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { MobileHeaderHeadingLevel, MobileHeaderSectionItem, MobileHeaderTone, } from './mobile-header-types';
|
|
1
|
+
export type { MobileHeaderHeadingLevel, MobileHeaderSectionItem, MobileHeaderSectionsPresentation, MobileHeaderTone, } from './mobile-header-types';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TabGroupItem } from '../TabGroup/tab-item-utils';
|
|
2
2
|
export type MobileHeaderTone = 'default' | 'brand';
|
|
3
3
|
export type MobileHeaderHeadingLevel = 'h1' | 'h2';
|
|
4
|
-
export type
|
|
4
|
+
export type MobileHeaderSectionsPresentation = 'switcher' | 'segmented';
|
|
5
|
+
export type MobileHeaderSectionItem = TabGroupItem;
|
|
5
6
|
//# sourceMappingURL=mobile-header-types.d.ts.map
|
|
@@ -7,6 +7,7 @@ import { type MobileDestination, type ShellResponsiveMode } from '../../shell/sh
|
|
|
7
7
|
import type { PanelNavUserActionDetail } from '../PanelNav/panel-nav-types';
|
|
8
8
|
import type { ShellAppComposition, ShellNavigationConfig, ShellPageChromeConfig, ShellToolsConfig } from './shell-app-types';
|
|
9
9
|
export declare class ShellApp {
|
|
10
|
+
private static readonly FOREGROUND_REFRESH_MS;
|
|
10
11
|
/** Managed renders the complete responsive chrome; slotted exposes the advanced composition. */
|
|
11
12
|
composition: ShellAppComposition;
|
|
12
13
|
/** Router-owned navigation data used by managed composition. */
|
|
@@ -80,6 +81,7 @@ export declare class ShellApp {
|
|
|
80
81
|
private managedBrowseContext;
|
|
81
82
|
private resizeObserver;
|
|
82
83
|
private hasLoaded;
|
|
84
|
+
private foregroundRefreshTimer;
|
|
83
85
|
private readonly panelNavTransition;
|
|
84
86
|
private readonly chromeSyncCoalescer;
|
|
85
87
|
private panelWidthTokens;
|
|
@@ -113,6 +115,12 @@ export declare class ShellApp {
|
|
|
113
115
|
private connectMetricsObserver;
|
|
114
116
|
private connectViewportListeners;
|
|
115
117
|
private disconnectViewportListeners;
|
|
118
|
+
private connectPageLifecycleListeners;
|
|
119
|
+
private disconnectPageLifecycleListeners;
|
|
120
|
+
private onDocumentVisibilityChange;
|
|
121
|
+
private onPageShow;
|
|
122
|
+
private cancelForegroundRefresh;
|
|
123
|
+
private refreshAfterForegroundRestore;
|
|
116
124
|
private cachePanelWidthTokens;
|
|
117
125
|
private applyGradientVars;
|
|
118
126
|
private clearGradientPaintVars;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { type TabGroupItem } from './tab-item-utils';
|
|
3
3
|
export type TabBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'translucent' | 'inverted' | 'media' | 'always-dark';
|
|
4
|
+
export type TabGroupSize = 'sm' | 'md' | 'lg';
|
|
4
5
|
export declare class TabGroup {
|
|
5
6
|
el: HTMLElement;
|
|
6
7
|
value: string;
|
|
7
8
|
tabs: TabGroupItem[];
|
|
9
|
+
/** Control density: 24px small, 32px medium, or 40px large track. */
|
|
10
|
+
size: TabGroupSize;
|
|
8
11
|
background: TabBackground | undefined;
|
|
9
12
|
ariaLabel: string | null;
|
|
10
13
|
ariaLabelledby: string | undefined;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupingChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
|
|
3
|
+
export declare class Table {
|
|
4
|
+
/** Stable column definitions. Assign through JavaScript. */
|
|
5
|
+
columns: TableColumn[];
|
|
6
|
+
/** Ungrouped row data. Ignored while grouping is active. Assign through JavaScript. */
|
|
7
|
+
rows: TableRow[];
|
|
8
|
+
/** One level of application-owned grouped data. Assign through JavaScript. */
|
|
9
|
+
groups: TableGroup[];
|
|
10
|
+
/** Controlled grouping column and group-order direction. */
|
|
11
|
+
grouping: TableGroupingState | null;
|
|
12
|
+
/** Controlled member-row sort state. */
|
|
13
|
+
sort: TableSortState | null;
|
|
14
|
+
/** Required accessible table name, rendered as a native caption. */
|
|
15
|
+
caption: string;
|
|
16
|
+
captionVisibility: TableCaptionVisibility;
|
|
17
|
+
stickyHeader: boolean;
|
|
18
|
+
/** Maximum scroll-region height. Numbers resolve to CSS pixels. */
|
|
19
|
+
maxHeight: string | number | undefined;
|
|
20
|
+
/** Optional explicit label for the horizontal/vertical scroll region. */
|
|
21
|
+
scrollLabel: string | undefined;
|
|
22
|
+
selectionMode: TableSelectionMode;
|
|
23
|
+
/** Controlled selected row identities. IDs outside the loaded rows are preserved. */
|
|
24
|
+
selectedRowIds: string[];
|
|
25
|
+
/** Initial loading state. Existing rows stay visible; incremental loading uses loadingMore. */
|
|
26
|
+
loading: boolean;
|
|
27
|
+
skeletonRows: number;
|
|
28
|
+
emptyHeading: string;
|
|
29
|
+
emptyBody: string;
|
|
30
|
+
/** Initial error state. Existing rows stay visible; incremental failures use loadMoreError. */
|
|
31
|
+
error: boolean;
|
|
32
|
+
errorHeading: string;
|
|
33
|
+
errorBody: string;
|
|
34
|
+
emptyCellLabel: string;
|
|
35
|
+
/** Enable application-owned incremental loading without pagination. */
|
|
36
|
+
lazyLoading: boolean;
|
|
37
|
+
loadMoreMode: TableLoadMoreMode;
|
|
38
|
+
hasMore: boolean;
|
|
39
|
+
loadingMore: boolean;
|
|
40
|
+
loadMoreError: string | undefined;
|
|
41
|
+
/** Reset key for a new query/group/sort dataset. */
|
|
42
|
+
loadIdentity: string | number;
|
|
43
|
+
/** IntersectionObserver root margin in CSS pixels. */
|
|
44
|
+
loadMoreThreshold: number;
|
|
45
|
+
loadMoreLabel: string;
|
|
46
|
+
retryLabel: string;
|
|
47
|
+
loadingMoreLabel: string;
|
|
48
|
+
endOfResultsLabel: string;
|
|
49
|
+
/** Supports {count} and {total} placeholders. */
|
|
50
|
+
rowsLoadedLabel: string;
|
|
51
|
+
dsSortChange: EventEmitter<TableSortChangeDetail>;
|
|
52
|
+
dsGroupingChange: EventEmitter<TableGroupingChangeDetail>;
|
|
53
|
+
dsSelectionChange: EventEmitter<TableSelectionChangeDetail>;
|
|
54
|
+
dsLoadMore: EventEmitter<TableLoadMoreDetail>;
|
|
55
|
+
dsCellAction: EventEmitter<TableCellActionDetail>;
|
|
56
|
+
dsRowActivate: EventEmitter<TableRowActivateDetail>;
|
|
57
|
+
private overflowStart;
|
|
58
|
+
private overflowEnd;
|
|
59
|
+
private scrollable;
|
|
60
|
+
private intersectionSupported;
|
|
61
|
+
private announcement;
|
|
62
|
+
private viewportEl;
|
|
63
|
+
private stickyHeaderTableEl;
|
|
64
|
+
private tableEl;
|
|
65
|
+
private sentinelEl;
|
|
66
|
+
private resizeObserver;
|
|
67
|
+
private intersectionObserver;
|
|
68
|
+
private observedSentinel;
|
|
69
|
+
private requestPending;
|
|
70
|
+
private requestedRowCount;
|
|
71
|
+
private previousLoadedRowCount;
|
|
72
|
+
private previousModelWarning;
|
|
73
|
+
private hasLoaded;
|
|
74
|
+
private reconnectFrame;
|
|
75
|
+
componentWillLoad(): void;
|
|
76
|
+
componentDidLoad(): void;
|
|
77
|
+
componentDidRender(): void;
|
|
78
|
+
connectedCallback(): void;
|
|
79
|
+
disconnectedCallback(): void;
|
|
80
|
+
handleStructureChange(): void;
|
|
81
|
+
handleDataChange(): void;
|
|
82
|
+
handleLoadIdentityChange(): void;
|
|
83
|
+
handleLazyConfigurationChange(): void;
|
|
84
|
+
handleLoadingMoreChange(loading: boolean): void;
|
|
85
|
+
handleLoadMoreErrorChange(error: string | undefined): void;
|
|
86
|
+
handleHasMoreChange(hasMore: boolean, hadMore: boolean): void;
|
|
87
|
+
private get grouped();
|
|
88
|
+
private get selectable();
|
|
89
|
+
private get documentStickyHeader();
|
|
90
|
+
private get loadedRows();
|
|
91
|
+
private get hasData();
|
|
92
|
+
private get totalColumns();
|
|
93
|
+
private get selectedSet();
|
|
94
|
+
private get selectionState();
|
|
95
|
+
private get resolvedMaxHeight();
|
|
96
|
+
private get tableStyle();
|
|
97
|
+
private warnModelIssues;
|
|
98
|
+
private connectViewportObserver;
|
|
99
|
+
private syncOverflow;
|
|
100
|
+
private syncStickyHeaderPosition;
|
|
101
|
+
private resetLoadRequest;
|
|
102
|
+
private disconnectIntersectionObserver;
|
|
103
|
+
private connectIntersectionObserver;
|
|
104
|
+
private requestLoadMore;
|
|
105
|
+
private emitSort;
|
|
106
|
+
private sortButtonLabel;
|
|
107
|
+
private emitRowSelection;
|
|
108
|
+
private emitAllSelection;
|
|
109
|
+
private rowEventOwnsActivation;
|
|
110
|
+
private emitRowActivation;
|
|
111
|
+
private handleRowKeydown;
|
|
112
|
+
private renderSelectionControl;
|
|
113
|
+
private renderStickyEdge;
|
|
114
|
+
private renderColumnHeader;
|
|
115
|
+
private renderColgroup;
|
|
116
|
+
private renderHeader;
|
|
117
|
+
private renderCellValue;
|
|
118
|
+
private renderRow;
|
|
119
|
+
private renderDataBodies;
|
|
120
|
+
private renderSkeletonBody;
|
|
121
|
+
private renderStateBody;
|
|
122
|
+
private renderLazyBody;
|
|
123
|
+
private renderDocumentStickyHeader;
|
|
124
|
+
render(): any;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn, TableColumnSticky, TableColumnWidth, TableGroup, TableHeaderSegment, TableGroupingChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellValue, TableColumn, TableGroup, TableGroupingState, TableRow, TableSortState } from './table-types';
|
|
2
|
+
export interface TableSelectionState {
|
|
3
|
+
selectableRowIds: string[];
|
|
4
|
+
selectedLoadedCount: number;
|
|
5
|
+
allSelected: boolean;
|
|
6
|
+
indeterminate: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function isTableCellText(value: TableCellValue): value is TableCellText;
|
|
9
|
+
export declare function isTableCellPrimaryText(value: TableCellValue): value is TableCellPrimaryText;
|
|
10
|
+
export declare function isTableCellTag(value: TableCellValue): value is TableCellTag;
|
|
11
|
+
export declare function isTableCellIcon(value: TableCellValue): value is TableCellIcon;
|
|
12
|
+
export declare function isTableCellImage(value: TableCellValue): value is TableCellImage;
|
|
13
|
+
export declare function isTableCellAction(value: TableCellValue): value is TableCellAction;
|
|
14
|
+
export declare function isTableCellEmpty(value: TableCellValue): value is TableCellEmpty;
|
|
15
|
+
export declare function isTableCellBlank(value: TableCellValue): value is TableCellBlank;
|
|
16
|
+
export declare function tableCellPrimary(value: TableCellValue): string | number | null;
|
|
17
|
+
export declare function tableRowSelectionLabel(row: TableRow, columns: TableColumn[]): string;
|
|
18
|
+
export declare function nextTableSortState(current: TableSortState | null | undefined, columnId: string): TableSortState;
|
|
19
|
+
export declare function nextTableGroupOrder(grouping: TableGroupingState): TableGroupingState;
|
|
20
|
+
export declare function clampTableColumnSize(column: TableColumn): number | undefined;
|
|
21
|
+
export declare function tableColumnSize(column: TableColumn): string | undefined;
|
|
22
|
+
export declare function tableExplicitMinWidth(columns: TableColumn[]): string | undefined;
|
|
23
|
+
export declare function tableRows(rows: TableRow[], groups: TableGroup[], grouped: boolean): TableRow[];
|
|
24
|
+
export declare function deriveTableSelectionState(rows: TableRow[], selectedRowIds: readonly string[]): TableSelectionState;
|
|
25
|
+
export declare function toggleTableRowSelection(selectedRowIds: readonly string[], row: TableRow): string[];
|
|
26
|
+
export declare function toggleAllLoadedTableRows(selectedRowIds: readonly string[], loadedRows: TableRow[]): string[];
|
|
27
|
+
export declare function resolvedTableGroupCount(group: TableGroup): number;
|
|
28
|
+
export declare function tableModelIssues(columns: TableColumn[], rows: TableRow[], groups: TableGroup[], grouped: boolean): string[];
|
|
29
|
+
//# sourceMappingURL=table-model.d.ts.map
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import type { TagContrast, TagIntent } from '../Tag/Tag';
|
|
2
|
+
import type { IconColor } from '../Icon/Icon';
|
|
3
|
+
export type TableSortDirection = 'asc' | 'desc';
|
|
4
|
+
export type TableSelectionMode = 'none' | 'multiple';
|
|
5
|
+
export type TableCellAlign = 'start' | 'center' | 'end';
|
|
6
|
+
export type TableColumnSticky = 'start' | 'end';
|
|
7
|
+
export type TableCaptionVisibility = 'visible' | 'hidden';
|
|
8
|
+
export type TableLoadMoreMode = 'auto' | 'manual';
|
|
9
|
+
export type TableLoadMoreReason = 'auto' | 'manual' | 'retry';
|
|
10
|
+
export type TableColumnWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
11
|
+
/** Independently sortable label within a compound column header. */
|
|
12
|
+
export interface TableHeaderSegment {
|
|
13
|
+
label: string;
|
|
14
|
+
/** Stable key emitted through TableSortState.columnId. */
|
|
15
|
+
sortKey: string;
|
|
16
|
+
/** Visible separator rendered after this label when another segment follows. */
|
|
17
|
+
separator?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Controlled member-row sort state. Group order is controlled separately. */
|
|
20
|
+
export interface TableSortState {
|
|
21
|
+
columnId: string;
|
|
22
|
+
direction: TableSortDirection;
|
|
23
|
+
}
|
|
24
|
+
/** One controlled grouping level plus the supplied group-order direction. */
|
|
25
|
+
export interface TableGroupingState {
|
|
26
|
+
columnId: string;
|
|
27
|
+
direction: TableSortDirection;
|
|
28
|
+
}
|
|
29
|
+
/** Standard two-line cell content owned by the table renderer. */
|
|
30
|
+
export interface TableCellText {
|
|
31
|
+
primary: string | number;
|
|
32
|
+
secondary?: string;
|
|
33
|
+
/** Allow this cell to wrap even when its column truncates by default. */
|
|
34
|
+
wrap?: boolean;
|
|
35
|
+
fontFeature?: 'normal' | 'tabular-nums';
|
|
36
|
+
}
|
|
37
|
+
/** Two-line text content where both tracks use primary body text. */
|
|
38
|
+
export interface TableCellPrimaryText {
|
|
39
|
+
kind: 'primary-text';
|
|
40
|
+
primary: string | number;
|
|
41
|
+
secondary: string | number;
|
|
42
|
+
/** Allow this cell to wrap even when its column truncates by default. */
|
|
43
|
+
wrap?: boolean;
|
|
44
|
+
fontFeature?: 'normal' | 'tabular-nums';
|
|
45
|
+
}
|
|
46
|
+
/** Applicable data point whose value is currently unavailable. */
|
|
47
|
+
export interface TableCellEmpty {
|
|
48
|
+
kind: 'empty';
|
|
49
|
+
}
|
|
50
|
+
/** Data point that is intentionally not applicable to this row. */
|
|
51
|
+
export interface TableCellBlank {
|
|
52
|
+
kind: 'blank';
|
|
53
|
+
}
|
|
54
|
+
/** Declarative icon-only content rendered by the table's standard cell primitive. */
|
|
55
|
+
export interface TableCellIcon {
|
|
56
|
+
kind: 'icon';
|
|
57
|
+
/** Exact canonical IcoMo export name. */
|
|
58
|
+
icon: string;
|
|
59
|
+
color?: IconColor;
|
|
60
|
+
/** Accessible label for informative icons. Omit only when the icon is decorative. */
|
|
61
|
+
label?: string;
|
|
62
|
+
/** Application-owned value used when this icon column participates in sorting. */
|
|
63
|
+
sortValue?: string | number | boolean;
|
|
64
|
+
}
|
|
65
|
+
/** Declarative 16:9 image preview rendered by the table's standard cell primitive. */
|
|
66
|
+
export interface TableCellImage {
|
|
67
|
+
kind: 'image';
|
|
68
|
+
/** Optional image source. Omit it to render the standard bordered placeholder. */
|
|
69
|
+
src?: string;
|
|
70
|
+
/** Accessible description for either the image or its placeholder. */
|
|
71
|
+
alt: string;
|
|
72
|
+
}
|
|
73
|
+
interface TableCellActionBase {
|
|
74
|
+
kind: 'action';
|
|
75
|
+
/** Stable application-owned action identity emitted with dsCellAction. */
|
|
76
|
+
actionId: string;
|
|
77
|
+
/** Add the ButtonUnfilled resting border. Action cells are unbordered by default. */
|
|
78
|
+
hasBorder?: boolean;
|
|
79
|
+
isInactive?: boolean;
|
|
80
|
+
isLoading?: boolean;
|
|
81
|
+
}
|
|
82
|
+
/** Declarative ButtonUnfilled content rendered by the table's standard action cell. */
|
|
83
|
+
export type TableCellAction = TableCellActionBase & ({
|
|
84
|
+
variant?: 'label';
|
|
85
|
+
label: string;
|
|
86
|
+
icon?: never;
|
|
87
|
+
ariaLabel?: string;
|
|
88
|
+
} | {
|
|
89
|
+
variant: 'icon-label';
|
|
90
|
+
label: string;
|
|
91
|
+
icon: string;
|
|
92
|
+
ariaLabel?: string;
|
|
93
|
+
} | {
|
|
94
|
+
variant: 'icon';
|
|
95
|
+
label?: never;
|
|
96
|
+
icon: string;
|
|
97
|
+
ariaLabel: string;
|
|
98
|
+
});
|
|
99
|
+
/** Declarative Tag content rendered by the table's standard cell primitive. */
|
|
100
|
+
export type TableCellTagVariant = 'tag-only' | 'tag-with-text' | 'text-with-tag';
|
|
101
|
+
interface TableCellTagBase {
|
|
102
|
+
kind: 'tag';
|
|
103
|
+
label: string;
|
|
104
|
+
intent?: TagIntent;
|
|
105
|
+
contrast?: TagContrast;
|
|
106
|
+
icon?: string;
|
|
107
|
+
rounded?: boolean;
|
|
108
|
+
}
|
|
109
|
+
export type TableCellTag = TableCellTagBase & ({
|
|
110
|
+
variant?: 'tag-only';
|
|
111
|
+
text?: never;
|
|
112
|
+
} | {
|
|
113
|
+
variant: Exclude<TableCellTagVariant, 'tag-only'>;
|
|
114
|
+
text: string;
|
|
115
|
+
});
|
|
116
|
+
export type TableCellValue = string | number | null | undefined | TableCellText | TableCellPrimaryText | TableCellTag | TableCellIcon | TableCellImage | TableCellAction | TableCellEmpty | TableCellBlank;
|
|
117
|
+
export interface TableColumn {
|
|
118
|
+
/** Stable column identity. */
|
|
119
|
+
id: string;
|
|
120
|
+
/** Visible column label. May be empty when headerLabel supplies a non-visual name. */
|
|
121
|
+
header: string;
|
|
122
|
+
/** Screen-reader-only column name for an intentionally blank visual header. */
|
|
123
|
+
headerLabel?: string;
|
|
124
|
+
/** Optional labels for columns that present and sort multiple related data points. */
|
|
125
|
+
headerSegments?: TableHeaderSegment[];
|
|
126
|
+
align?: TableCellAlign;
|
|
127
|
+
sortable?: boolean;
|
|
128
|
+
/** Preferred TokoMo table-column width. Numbers remain available for exceptional custom pixel widths. */
|
|
129
|
+
size?: TableColumnWidth | number;
|
|
130
|
+
/** Minimum accepted preferred width in CSS pixels. */
|
|
131
|
+
minSize?: number;
|
|
132
|
+
/** Maximum accepted preferred width in CSS pixels. */
|
|
133
|
+
maxSize?: number;
|
|
134
|
+
/** Wrap cell text instead of truncating it to one line. */
|
|
135
|
+
wrap?: boolean;
|
|
136
|
+
/** Pin one application column to either inline edge during horizontal scrolling. */
|
|
137
|
+
sticky?: TableColumnSticky;
|
|
138
|
+
}
|
|
139
|
+
export interface TableRow {
|
|
140
|
+
/** Stable identity, unique across all groups. */
|
|
141
|
+
id: string;
|
|
142
|
+
cells: Record<string, TableCellValue>;
|
|
143
|
+
/** Accessible row name used by its selection control. Falls back to the first cell. */
|
|
144
|
+
selectionLabel?: string;
|
|
145
|
+
/** Exclude this row from selection without muting its content. */
|
|
146
|
+
selectable?: boolean;
|
|
147
|
+
/** Keep the row visible while disabling its selection control and styling it as inactive. */
|
|
148
|
+
disabled?: boolean;
|
|
149
|
+
/** Make the complete row a keyboard- and pointer-activatable application target. */
|
|
150
|
+
interactive?: boolean;
|
|
151
|
+
}
|
|
152
|
+
export interface TableGroup {
|
|
153
|
+
/** Stable group identity. */
|
|
154
|
+
id: string;
|
|
155
|
+
label: string;
|
|
156
|
+
value?: string | number;
|
|
157
|
+
/** Total server-side member count; may exceed the currently loaded row count. */
|
|
158
|
+
totalCount?: number;
|
|
159
|
+
/** Optional localized, display-ready count such as “18 vehicles”. */
|
|
160
|
+
countLabel?: string;
|
|
161
|
+
rows: TableRow[];
|
|
162
|
+
}
|
|
163
|
+
export interface TableSortChangeDetail {
|
|
164
|
+
sort: TableSortState | null;
|
|
165
|
+
}
|
|
166
|
+
export interface TableGroupingChangeDetail {
|
|
167
|
+
grouping: TableGroupingState;
|
|
168
|
+
}
|
|
169
|
+
export interface TableSelectionChangeDetail {
|
|
170
|
+
selectedRowIds: string[];
|
|
171
|
+
scope: 'row' | 'all-loaded';
|
|
172
|
+
changedRowId?: string;
|
|
173
|
+
selected?: boolean;
|
|
174
|
+
}
|
|
175
|
+
export interface TableLoadMoreDetail {
|
|
176
|
+
reason: TableLoadMoreReason;
|
|
177
|
+
loadIdentity: string | number;
|
|
178
|
+
loadedRowCount: number;
|
|
179
|
+
}
|
|
180
|
+
export interface TableCellActionDetail {
|
|
181
|
+
actionId: string;
|
|
182
|
+
rowId: string;
|
|
183
|
+
columnId: string;
|
|
184
|
+
}
|
|
185
|
+
export interface TableRowActivateDetail {
|
|
186
|
+
rowId: string;
|
|
187
|
+
}
|
|
188
|
+
export {};
|
|
189
|
+
//# sourceMappingURL=table-types.d.ts.map
|
|
@@ -9,6 +9,8 @@ export declare class Tag {
|
|
|
9
9
|
intent: TagIntent;
|
|
10
10
|
contrast: TagContrast;
|
|
11
11
|
size: TagSize;
|
|
12
|
+
/** Use the reduced outer geometry when nested inside a control of the same size. */
|
|
13
|
+
isInset: boolean;
|
|
12
14
|
rounded: boolean;
|
|
13
15
|
maxWidth: string | number | undefined;
|
|
14
16
|
/** Render a menu-trigger button with a fixed ChevronUpDown suffix. */
|